From c9e24b19a3859b06f956f0418cfee7c1c9f6a0e5 Mon Sep 17 00:00:00 2001 From: Mathias-Boulay Date: Fri, 21 Jun 2024 19:52:45 +0200 Subject: [PATCH] fix(build): fix build for 3.3.3 We still need to ship freetype tough --- README.md | 33 ++++++++++--------- build.xml | 15 +-------- ci_build_android.bash | 2 +- config/linux/build.xml | 3 +- .../linux/liburing/include/liburing/compat.h | 2 +- .../liburing/include/liburing/io_uring.h | 6 ++-- .../include/liburing/io_uring_version.h | 2 +- 7 files changed, 27 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 1123884884..adcfa06b6e 100644 --- a/README.md +++ b/README.md @@ -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. @@ -24,6 +26,7 @@ bash ci_build_android.bash ``` #### iOS + Just run `bash ci_build_ios.bash` on macOS --- @@ -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) @@ -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 @@ -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. | @@ -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. | @@ -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. | @@ -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. | @@ -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. | @@ -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. | @@ -233,4 +236,4 @@ LWJGL exists thanks to [all the people](https://github.com/LWJGL/lwjgl3/blob/mas - \ No newline at end of file + diff --git a/build.xml b/build.xml index ac4322fa0e..bfe52d0513 100644 --- a/build.xml +++ b/build.xml @@ -857,7 +857,7 @@ - + @@ -1645,19 +1645,6 @@ - - - - - - - - - - - - - diff --git a/ci_build_android.bash b/ci_build_android.bash index 48a0232dfa..0994da159b 100644 --- a/ci_build_android.bash +++ b/ci_build_android.bash @@ -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 diff --git a/config/linux/build.xml b/config/linux/build.xml index 0994bbc8ec..48392a01fa 100644 --- a/config/linux/build.xml +++ b/config/linux/build.xml @@ -192,9 +192,10 @@ - + + diff --git a/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/compat.h b/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/compat.h index 2239da340d..eb276f8270 100644 --- a/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/compat.h +++ b/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/compat.h @@ -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 diff --git a/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring.h b/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring.h index 84c33b5e84..f9aeb2bd31 100644 --- a/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring.h +++ b/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring.h @@ -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 -#endif +//#endif #ifdef __cplusplus extern "C" { @@ -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 */ diff --git a/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring_version.h b/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring_version.h index ac14cff87b..8029e041f9 100644 --- a/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring_version.h +++ b/modules/lwjgl/core/src/main/c/linux/liburing/include/liburing/io_uring_version.h @@ -5,4 +5,4 @@ #define IO_URING_VERSION_MAJOR 2 #define IO_URING_VERSION_MINOR 4 -#endif \ No newline at end of file +#endif