LWJGL Forum

Programming => LWJGL Documentation => Topic started by: pdid on January 01, 2017, 18:00:54

Title: Native Files
Post by: pdid on January 01, 2017, 18:00:54
I've been browsing the lwjgl 3 github page and I can't find where the actual native files for the modules are found. Does lwjgl store it on github somewhere or does it download them from a the module's website when it makes a new build?
Title: Re: Native Files
Post by: Kai on January 01, 2017, 18:18:52
You can obtain a working distribution of LWJGL3 from either the GitHub Releases site: https://github.com/LWJGL/lwjgl3/releases
or from the lwjgl.org download site: https://www.lwjgl.org/download

The sources repository of LWJGL3 contains neither the natives nor all java classes necessary to use LWJGL3, because most of it is generated during the build process.
Title: Re: Native Files
Post by: pdid on January 01, 2017, 18:43:15
Thanks for your help. Is there a resource I can view to see how the natives are built?
Title: Re: Native Files
Post by: spasi on January 01, 2017, 23:03:58
The natives for most modules are built together with the rest of LWJGL. You can find the Ant scripts here (https://github.com/LWJGL/lwjgl3/tree/master/config), see the <platform>/build.xml files.

Modules that are too big to include in the LWJGL repository or have complicated build procedures, are built on our continuous integration solutions (Travis-CI (https://travis-ci.org/) for Linux and macOS and a private Amazon EC2 server for Windows). The source for those builds can be found in the LWJGL-CI (https://github.com/LWJGL-CI?tab=repositories) account. Each repository has two branches, one for Linux and one for macOS. In each branch there's a .travis.yml script that describes the corresponding build. The Linux branch is also used by our TeamCity server (http://teamcity.lwjgl.org/) to do the Windows builds (the build steps are very similar). Any LWJGL-specific changes to these repositories are continuously rebased on top of the upstream branches, when synchronized. Some are synchronized automatically on each upstream change (Assimp & GLFW), others are synchronized manually (bgfx, jemalloc, OpenAL-Soft).