Also, how do I provide the DLLs for the bindings when I submit the PR?
LWJGL binary dependencies are built from source and uploaded to build.lwjgl.org. The build script then downloads the dependencies it needs. They are never committed to the repository, keeping it small in size. The binaries can also be validated and trusted by users: the source is available under the
LWJGL-CI account and we use
Travis CI and
AppVeyor to build it.
Setting this up is not exactly simple, so I don't expect contributors to do it. But if you'd like to help, or are simply curious, the process would go like this:
- Fork libusb to your account.
- Go to Travis CI and enable CI for libusb.
- Go to AppVeyor and enable CI for libusb.
- Push a commit with .travis.yml and appveyor.yml (copy these from another LWJGL-CI project to get started - ignore the AWS stuff).
- Go to the previous step until the builds work.
I would then use your YAML scripts to do the same under LWJGL-CI + upload the binaries the build.lwjgl.org.
Alternatively, for simple projects that can be built trivially and are updated infrequently, you could embed the source code in LWJGL (see nanovg, stb, lmdb, etc). This has the drawback that upstream updates have to be committed manually to lwjgl3, but avoids the CI pain.
Can not manage to get the darn thing to build, says that it can not open standard include files. Primarily stdio.h.
I can not seem to figure out what I might have done to break that.
Need more information to be helpful. Push your work to an lwjgl3 fork and I can have a look.