Wiki

Clone wiki

annex / 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 to annex.exe
  • rename megaglest_editor.exe to annex_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 where V should be the Engine version and AA should be one of 32, 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 to annex.bin
  • rename the executable binary megaglest_editor to annex_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 where V should be the Engine version and AA should be one of x86, 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 to Annex
  • (if it exist) rename the executable binary megaglest_editor to Annex_Editor
  • ignore (drop) all other executables

2. Package...

  • format: format: 7z
  • naming scheme: annex_eV_macos_AA.7z where V should be the Engine version and AA should be one of x86, 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