Description: fcl-res and fpcres

This file as text.
(active) Revisions in this set:
3a8f25348b57a50f4e26ddca28c721046d8612a1,fa4e52857646bf1d45bef26d42e9efe75e84cdfe,4426d0da7abffba27f125112a1484e3c9449761a
60017c10345599516c295fb8b4ee2970db758ca4,8a3422478290827e9efb90b472ea33cc480adc9d,025282ccb90443098c381832c5482c4111140c53
55e55cf2475c30e1074b778e205aaff3678d7a55,73462ff8fe9fe321936b17850ef4fb6bd11cce99,868d5f29c9b72579a9060b80668e527007eedfdd
b28d49ced7660c2e8b2c1805702cacd211dcbe1a,866f3ffa2acbc006d1c7aea7191e3f8857680ac7,c771d772c4b897b43e2e65d22a51a9d65a874cf4
49c14164091e9376f8da8f98af46702c357b849e,63f6df2fbc25054afe7863ff17d2d1de6e4b5a60,8b356c7f604f2ef5e7c706daa2fd1427b6eae169
1073729336c5e9dca6bcbbfc5b0fc17ed6e916ef,f2717b8dc0dfe068383bf4086196277af3b7f9f5,f17e847e5b5d574166e4b1edd213ce335746ab8a
2e553ab0e8244e1e9e776315aefbbf213a101fb3,729840ca6f1f478ea2b63d9f5f3b32df5584a594,0e0c98f564ff46a6a3f7179463afb3185c89047a
f59688c8ca8ed2f6e9aefa8b73fc85db2532af0a

Clicking a revision will expand files
 


* set default abi to eabi5 on arm
Commit consists out of
  • M packages/fcl-res/src/elfconsts.pp
  • M packages/fcl-res/src/elfsubwriter.inc


fcl-res: Mach-O fat binary support

Only for TMachOResourceReader. We always compile/generate a single architecture
binary, and then the programmer can combine those with lipo. So the writer does
not need fat binary support for common usage.

Resolves gitlab 0039124
Commit consists out of
  • M packages/fcl-res/src/machoconsts.pp
  • M packages/fcl-res/src/machodefaulttarget.inc
  • M packages/fcl-res/src/machoreader.pp
  • M packages/fcl-res/src/machotypes.pp
  • M packages/fcl-res/src/machowriter.pp


Fixed variant discriminator types
Commit consists out of
  • M packages/fcl-res/src/machotypes.pp
  • M rtl/inc/sstrings.inc
  • M tests/tbs/tb0516.pp


+ started working on a WebAssembly resource writer for fcl-res and the fpcres tool
Commit consists out of
  • M packages/fcl-res/fpmake.pp
  • A packages/fcl-res/namespaced/System.Resources.WebAssembly.Writer.pp
  • A packages/fcl-res/src/wasmwriter.pp
  • M utils/fpcres/fpcres.pas
  • M utils/fpcres/target.pas


+ added the wasm object format and the wasm32 arch to the fpcres help screen
Commit consists out of
  • M utils/fpcres/fpcres.pas


+ write the WebAssembly header in the WASM resource writer
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ added units wasmconsts and wasmtypes
Commit consists out of
  • M packages/fcl-res/fpmake.pp
  • A packages/fcl-res/namespaced/System.Resources.WebAssembly.Consts.pp
  • A packages/fcl-res/namespaced/System.Resources.WebAssembly.Types.pp
  • M packages/fcl-res/namespaces.lst
  • A packages/fcl-res/src/wasmconsts.pp
  • A packages/fcl-res/src/wasmtypes.pp
  • M packages/fcl-res/src/wasmwriter.pp


+ WASM resource writer: write the Data and DataCount sections (with 0 data segments for now)
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ implement TWasmResourceWriter.PrescanResourceTree, based on the ELF
implementation. Call this on Write() to prepare resource stuff for writing.
Commit consists out of
  • M packages/fcl-res/fpmake.pp
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: start writing the data segments, also the import section
Commit consists out of
  • M packages/fcl-res/src/wasmtypes.pp
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: write the linking custom section
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: create the WASM_SEGMENT_INFO subsection of the linking custom section
Commit consists out of
  • M packages/fcl-res/src/wasmconsts.pp
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: create a symbol table (empty for now)
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: added FPC_RESSYMBOL to the symbol table
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: create a list of relocation entries (not written to
file, yet). Add relocations to the list in TWasmResourceWriter.WriteResHeader
Commit consists out of
  • M packages/fcl-res/src/wasmtypes.pp
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: actually write the data relocation table
+ add symbols for the data segments
+ use R_WASM_MEMORY_ADDR_I32 relocations instead of R_WASM_MEMORY_ADDR_I32 in
R_WASM_MEMORY_ADDR_I32
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: add the file data segment offset when writing relocations
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: implemented TWasmResourceWriter.WriteNodeInfos
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: implemented TWasmResourceWriter.WriteResStringTable
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: implemented WriteRawData
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


+ wasm resource writer: implemented AddEmptySections
Commit consists out of
  • M packages/fcl-res/src/wasmwriter.pp


* Add dialog support to resource parser. Fixes issue gitlab 0041094
Commit consists out of
  • A packages/fcl-res/examples/windlg/README.txt
  • A packages/fcl-res/examples/windlg/testdlg.rc
  • A packages/fcl-res/examples/windlg/windlgtest.lpr
  • M packages/fcl-res/fpmake.pp
  • A packages/fcl-res/src/dialogresource.pp
  • M packages/fcl-res/src/rclex.inc
  • M packages/fcl-res/src/rclex.l
  • M packages/fcl-res/src/rcparser.pas
  • M packages/fcl-res/src/rcparser.y
  • M packages/fcl-res/src/rcparserfn.inc

(inactive) Revisions in this set 3c6f64ac912fd5e87f90fb3e20bbce37257ce08d,4cfe27bd3cb3d88560c8a9eb56f8ff88c6e3f04e,5e5751649822802142d3728e4749b78fe66c7910,5130e82af06ae6ab03291e495eeead1649e07a57,54e7150ef6a975cc892f36b122d76addcf441548


* PChar -> PAnsiChar
Commit consists out of
  • M packages/fcl-res/src/cofftypes.pp
  • M packages/fcl-res/src/dfmreader.pp
  • M packages/fcl-res/src/elfreader.pp
  • M packages/fcl-res/src/elftypes.pp
  • M packages/fcl-res/src/externalreader.pp
  • M packages/fcl-res/src/externaltypes.pp
  • M packages/fcl-res/src/machoreader.pp
  • M packages/fcl-res/src/machotypes.pp
  • M packages/fcl-res/src/rclex.inc
  • M packages/fcl-res/src/rcparserfn.inc
  • M packages/fcl-res/src/strtable.pp
  • M packages/fcl-res/src/tlbreader.pp
  • M packages/fcl-res/src/xcoffwriter.pp
  • M packages/fcl-res/src/yyinclude.pp


fcl-res: fix missing field initialization in the coff writer, which in turn fixes fpcres randomly producing broken coff objects (rejected by GNU link)
Commit consists out of
  • M packages/fcl-res/src/coffwriter.pp


* fix 0041091: apply patch by @yoozaa80 to use the length of the WideString instead of the single-/multibyte encoded string
Commit consists out of
  • M packages/fcl-res/src/versionresource.pp


* use sametext instead of converting case
Commit consists out of
  • M utils/fpcres/fpcjres.pas
  • M utils/fpcres/fpcres.pas


* Fix for 0040152, skip trailing 0 if string ends in zero, apparently that is not allowed.

brcc32 seems to skip alignment in some cases (e.g. for fileversion) Weird.
Commit consists out of
  • M packages/fcl-res/src/versionresource.pp


Revisions in bigsets in this set e63ca07d641db8789890df2bf744d9fa36b0f5c9,a31f64dad5de6b7f4b8710d7d378f6b8131d35c8,ae34ea28ef05e9cb4b1cd4c1b3bf0248a7f862f2