Skip to content

Commit

Permalink
fix(build): fix build for 3.3.3
Browse files Browse the repository at this point in the history
We still need to ship freetype tough
  • Loading branch information
Mathias-Boulay committed Jun 21, 2024
1 parent 15d5f40 commit c9e24b1
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 36 deletions.
33 changes: 18 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
LWJGL 3.3.1 modified for PojavLauncher Android and iOS.
LWJGL 3.3.3 modified for PojavLauncher Android and iOS.
This branch also integrates [lwjglx](https://github.com/grum/lwjglx), allowing Minecraft 1.12.2 and older to run on this LWJGL version.

![Build lwjgl3](https://github.com/PojavLauncherTeam/lwjgl3/workflows/Build%20lwjgl3/badge.svg)

### Building

Output: `bin/RELEASE` (Java); `bin/out` (natives)

#### Android

Dependencies:
- ant

- ant

Your default `java` version should be java 8.

Expand All @@ -24,6 +26,7 @@ bash ci_build_android.bash
```

#### iOS

Just run `bash ci_build_ios.bash` on macOS

---
Expand Down Expand Up @@ -54,7 +57,7 @@ LWJGL is open source software and freely available at no charge.
Useful links:

- [Wiki](https://github.com/LWJGL/lwjgl3-wiki/wiki)
- [Release Notes](https://github.com/LWJGL/lwjgl3/tree/master/doc/notes)
- [Release Notes](https://github.com/LWJGL/lwjgl3/tree/master/doc/notes)
- [JavaDoc](https://javadoc.lwjgl.org)
- [Blog](https://blog.lwjgl.org)

Expand Down Expand Up @@ -82,10 +85,10 @@ developing.
LWJGL can also be downloaded as a simple set of JAR files. Each module
consists of the following files:

* lwjgl-<module>.jar
* lwjgl-<module>-sources.jar
* lwjgl-<module>-javadoc.jar
* lwjgl-<module>-natives-<platform>.jar (for some bindings)
- lwjgl-<module>.jar
- lwjgl-<module>-sources.jar
- lwjgl-<module>-javadoc.jar
- lwjgl-<module>-natives-<platform>.jar (for some bindings)

To compile and run an LWJGL application, the base and natives JAR files of
the core module and each binding used should be added to the classpath. LWJGL
Expand Down Expand Up @@ -137,7 +140,7 @@ improve the chances of a quick and useful response.
#### Khronos APIs

| Library | Description |
|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [EGL](https://www.khronos.org/egl) | An interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. |
| [KTX (Khronos Texture)](https://www.khronos.org/ktx/) | A lightweight container for textures for OpenGL®, Vulkan® and other GPU APIs. |
| [OpenCL](https://www.khronos.org/opencl/) | An open, royalty-free standard for cross-platform, parallel programming of diverse processors found in personal computers, servers, mobile devices and embedded platforms. |
Expand All @@ -149,7 +152,7 @@ improve the chances of a quick and useful response.
#### Display and Input

| Library | Description |
|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [GLFW](https://www.glfw.org/) | Create multiple windows, handle user input (keyboard, mouse, gaming peripherals) and manage contexts. Also features multi-monitor support, clipboard access, file drag-n-drop, and [much more](http://www.glfw.org/docs/latest/news.html). |
| [JAWT](http://docs.oracle.com/javase/8/docs/technotes/guides/awt/AWT_Native_Interface.html) | The AWT native interface. |
| [Native File Dialog Extended](https://github.com/btzy/nativefiledialog-extended) | A small C library that portably invokes native file open, folder select and file save dialogs. |
Expand All @@ -158,7 +161,7 @@ improve the chances of a quick and useful response.
#### Audio

| Library | Description |
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------|
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| [FMOD](https://www.fmod.com) | An end-to-end solution for adding sound and music to any game. |
| [OpenAL](https://www.openal.org/) | A cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. |
| [OpenAL Soft](https://openal-soft.org/) | An LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API. |
Expand All @@ -167,7 +170,7 @@ improve the chances of a quick and useful response.
#### Graphics

| Library | Description |
|----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Assimp](https://www.assimp.org/) | A portable Open Source library to import various well-known 3D model formats in a uniform manner. |
| [bgfx](https://bkaradzic.github.io/bgfx/) | Cross-platform, graphics API agnostic, “Bring Your Own Engine/Framework” style rendering library, licensed under permissive BSD-2 clause open source license. |
| [FreeType](https://freetype.org/) | A freely available software library to render fonts. |
Expand All @@ -189,14 +192,14 @@ improve the chances of a quick and useful response.
#### AR/VR

| Library | Description |
|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [LibOVR](https://developer.oculus.com/documentation/) | The API of the Oculus SDK. |
| [OpenVR](https://github.com/ValveSoftware/openvr) | An API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting. |

#### [stb](https://github.com/nothings/stb) - single-file public domain libraries for C/C++

| Library | Description |
|------------------|---------------------------------------------------------------------------------|
| ---------------- | ------------------------------------------------------------------------------- |
| stb_easy_font | Quick-and-dirty easy-to-deploy bitmap font for printing frame rate, etc. |
| stb_image | Image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC |
| stb_image_resize | Resize images larger/smaller with good quality. |
Expand All @@ -209,7 +212,7 @@ improve the chances of a quick and useful response.
#### Other

| Library | Description |
|---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CUDA](https://developer.nvidia.com/cuda-zone/) | A parallel computing platform and programming model developed by NVIDIA for general computing on GPUs. |
| [hwloc](https://www.open-mpi.org/projects/hwloc/) | A portable abstraction of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. |
| [jemalloc](https://jemalloc.net/) | A general purpose malloc implementation that emphasizes fragmentation avoidance and scalable concurrency support. |
Expand All @@ -233,4 +236,4 @@ LWJGL exists thanks to [all the people](https://github.com/LWJGL/lwjgl3/blob/mas

<a href="https://opencollective.com/lwjgl/donate" target="_blank">
<img src="https://opencollective.com/lwjgl/donate/[email protected]?color=white" width=300 />
</a>
</a>
15 changes: 1 addition & 14 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,7 @@
<include name="org/lwjgl/demo/util/freetype/**" if:true="${binding.freetype}"/>
<include name="org/lwjgl/demo/util/harfbuzz/**" if:true="${binding.harfbuzz}"/>
<include name="org/lwjgl/demo/util/hwloc/**" if:true="${binding.hwloc}"/>
<include name="org/lwjgl/demo/util/ktx/**" if:true="${binding.ktx}"/>

<include name="org/lwjgl/demo/util/lmdb/**" if:true="${binding.lmdb}"/>
<include name="org/lwjgl/demo/util/lz4/**" if:true="${binding.lz4}"/>
<include name="org/lwjgl/demo/util/meow/**" if:true="${binding.meow}"/>
Expand Down Expand Up @@ -1645,19 +1645,6 @@
<!-- jemalloc -->
<release-module name="jemalloc" native-library="jemalloc" title="jemalloc" if:true="${binding.jemalloc}"/>

<!-- KTX -->
<release-module name="ktx" title="KTX" if:true="${binding.ktx}">
<natives>
<get-release platform="linux" arch="x64" file="libktx.so"/>
<get-release platform="linux" arch="arm64" file="libktx.so"/>
<get-release platform="linux" arch="arm32" file="libktx.so"/>
<get-release platform="macos" arch="x64" file="libktx.dylib"/>
<get-release platform="macos" arch="arm64" file="libktx.dylib"/>
<get-release platform="windows" arch="x64" file="ktx.dll"/>
<get-release platform="windows" arch="arm64" file="ktx.dll"/>
</natives>
</release-module>

<!-- libdivide -->
<release-module name="libdivide" native-library="lwjgl_libdivide" title="libdivide" if:true="${binding.libdivide}"/>

Expand Down
2 changes: 1 addition & 1 deletion ci_build_android.bash
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ yes | ant -Dplatform.linux=true \
-Dbinding.xxhash=false \
-Dbinding.yoga=false \
-Dbinding.zstd=false \
-Dbuild.type=release/3.3.1 \
-Dbuild.type=release/3.3.3 \
-Djavadoc.skip=true \
-Dnashorn.args="--no-deprecation-warning" \
compile compile-native release
Expand Down
3 changes: 2 additions & 1 deletion config/linux/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,10 @@
<parallel threadsPerProcessor="2">

<!-- CORE -->
<build module="core" flags="-Werror -Wfatal-errors -Wall -Wextra -pedantic">
<build module="core" flags="-Werror -Wfatal-errors -Wall -Wextra -pedantic -Wno-zero-length-array -Wno-gnu-statement-expression-from-macro-expansion">
<beforeCompile>
<compile>

<arg value="-I${src.main.rel}/${platform}/liburing"/>
<arg value="-I${src.main.rel}/${platform}/liburing/include"/>
<arg value="-DCONFIG_HAVE_MEMFD_CREATE"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ struct __kernel_timespec {
int64_t tv_sec;
long long tv_nsec;
};
#endif

struct open_how {
uint64_t flags;
uint64_t mode;
uint64_t resolve;
};
#endif

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
* define UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H
* if linux/time_types.h is not available
*/
#ifndef UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H
//#ifndef UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H
#include <linux/time_types.h>
#endif
//#endif

#ifdef __cplusplus
extern "C" {
Expand Down Expand Up @@ -527,7 +527,7 @@ enum {
IORING_REGISTER_LAST,

/* flag added to the opcode to use a registered ring fd */
IORING_REGISTER_USE_REGISTERED_RING = 1U << 31
IORING_REGISTER_USE_REGISTERED_RING = 2147483647U
};

/* io-wq worker categories */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
#define IO_URING_VERSION_MAJOR 2
#define IO_URING_VERSION_MINOR 4

#endif
#endif

0 comments on commit c9e24b1

Please sign in to comment.