Files
lime/project/lib/README.md
2022-05-09 16:45:33 -04:00

4.0 KiB

Submodule projects

Lime's native target uses code from several C/C++ projects, each of which is treated as a submodule.

Where possible, Lime prefers to use GitHub repositories as submodules, as this makes browsing easier. (GitHub refuses to link to non-GitHub repos.) However, several of these repositories are mirrored from elsewhere, and will ignore issues and pull requests submitted on GitHub.

Always submit issues and pull requests to the primary repo, not to a GitHub mirror.

Cairo: homepage | primary repo | GitHub mirror

cURL: homepage | primary repo

efsw: primary repo

FreeType: homepage | primary repo | GitHub mirror

HarfBuzz: homepage | primary repo

libjpeg: homepage | download | unofficial GitHub mirror

LZMA: homepage + download | unofficial GitHub mirror

mbed TLS: homepage | primary repo

MojoAL: homepage | primary repo

Neko: homepage | primary repo

Ogg: homepage | primary repo

OpenAL soft: homepage | primary repo

Pixman: homepage | primary repo | GitHub mirror

libpng: homepage | primary repo

SDL: homepage | primary repo

tiny file dialogs: homepage | primary repo

Vorbis: homepage | primary repo

libvpx: homepage | primary repo | GitHub mirror

libwebm: homepage | primary repo | GitHub mirror

zlib: homepage | primary repo

Overrides

The overrides folder contains a number of customized headers and source files, to be used instead of the equivalent file(s) in the submodule. (Or in addition to: some submodules intentionally omit files, expecting the user to generate them.)

All cases require updating the corresponding files.xml file. Since some projects refer to others, you may need to update multiple different files.xml files, and/or Lime's primary Build.xml file.

  • To add or override a header, include the overrides folder first (if not already included).

    +<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/overrides/sdl/include/" />
    <compilerflag value="-I${NATIVE_TOOLKIT_PATH}/sdl/include/" />
    
  • To add a source file, insert a <file /> tag.

    +<file name="${NATIVE_TOOLKIT_PATH}/overrides/sdl/src/SDL_extra.c" />
    
  • To override a source file, replace the <file /> tag.

    -<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/SDL_log.c" />
    +<file name="${NATIVE_TOOLKIT_PATH}/overrides/sdl/src/SDL_log.c" />