Wiki
Clone wikiannex / Converting-and-packaging-binaries
-
Reattribute, don't rebuild
To not have to rebuild Annex on the various platforms and (moreover) test those builds, we just re-attribute existing MegaGlest builds to Annex. The following refers to MegaGlest 3.9.1 and Annex 4.0, but this should be similar in past and future releases.
Windows
For each supported Windows architecture (so 32-bit and/or 64-bit):
1. Convert
- rename
megaglest.exe
toannex.exe
- rename
megaglest_editor.exe
toannex_editor.exe
- ignore (drop) all other executables
- use Resource Hacker, pefile or similar to replace the MegaGlest icon embedded in all executables by the Annex icon at
/os_dependent/windows/shared/annex.ico
2. Package...
- format: 7z
- naming scheme:
annex_eV_windows_AA-bit.7z
whereV
should be the Engine version andAA
should be one of32
,64
. E.g.annex_e3.9.1_windows_32-bit.7z
- contents:
- in the top directory: the executables converted in the previous step
- in the top directory: any DLLs required by the MegaGlest engine
- in the
lua
subdirectory: the (architecture specific) Lua interpreter, as shipped with the corresponding MegaGlest release - in the
plugin
subdirectory: the (architecture specific) VLC video playback plugins, as shipped with the corresponding MegaGlest release
-
Linux
For each supported Linux architecture (so x86 and/or x86-64):
1. Convert
- rename the executable binary
megaglest
toannex.bin
- rename the executable binary
megaglest_editor
toannex_editor.bin
- ignore (drop) all other executables
2. Package...
- format: TAR.XZ (we need to retain executable bits)
- naming scheme:
annex_eV_linux_AA.tar.xz
whereV
should be the Engine version andAA
should be one ofx86
,x86-64
. E.g.annex_e3.9.1_linux_x86.tar.xz
-
contents:
- in the top directory: the executables converted in the previous step
- in the
lib
directory: any statically compiled libraries required by the MegaGlest engine
e.g.
tar cJf /tmp/bins/annex_e3.9.1_linux_x86.tar.xz --owner=annex --group=annex -C linux/x86/
-
MacOS
For each supported MacOS architecture (so x86 and/or x86-64):
1. Convert
- rename the executable binary
megaglest
toAnnex
- (if it exist) rename the executable binary
megaglest_editor
toAnnex_Editor
- ignore (drop) all other executables
2. Package...
- format: format: 7z
-
naming scheme:
annex_eV_macos_AA.7z
whereV
should be the Engine version andAA
should be one ofx86
,x86-64
. E.g.annex_e3.9.0_macos_x86.7z
.If architecture is unknown then naming scheme looks like:
annex_eV_macos.7z
, E.g.annex_e3.9.0_macos.7z
. -
contents:
- in the top directory: the executables converted in the previous step
- in the
p7zip
directory: any statically compiled libraries and 7z binaries required by the MegaGlest engine for macos
-
3. Upload
Upload these packages to https://bitbucket.org/annexctw/annex-binary/downloads
-
Updated