Continuing to use version 1.19.0 for now. Missing changes: defines.xml library.xmld66ef73a92e5b5a55907
4.3 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
Shallow submodules
To save space, submodules use "shallow" mode, meaning you'll only download the single commit that you're using.
To download a submodule's entire commit history, use git fetch --unshallow, but be warned that the download may take a while. For instance, cURL has over 20,000 commits.
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" />