Commit graph

12 commits

Author SHA1 Message Date
Robert Müller d536bceed6 Fix minimum Android API version and linking errors
The minimum supported API version must be specified when building the native libraries, otherwise this may cause linking errors when launching the app.

The minimum API level is increased to 24 (Android 7.0, covering 97.2% of usages) because:

- Vulkan is only available from API 24+ on ARM64 and x64.
- curl only compiles with API 23+.
- The NDK version we use supports only API 21+.

Ensure that the C++/Linker flags are set when building Android libraries, which was causing errors due to `-fPIC` not being set for all libraries.
2024-09-08 17:59:41 +02:00
Robert Müller 9b90588ccc Pin curl version to 8.8.0 for Android to fix library building 2024-08-24 13:44:40 +02:00
Robert Müller 45f619722b Avoid duplicate creation of ddnet-libs directory
Avoid error messages due to `ddnet-libs` directory already existing and being created multiple times.
2024-05-23 20:43:53 +02:00
Robert Müller 60733bc033 Remove redundant check for existing directory with mkdir -p
The `mkdir -p` command is already idempotent so separately checking whether the directory exists is not necessary.
2024-05-23 20:43:30 +02:00
Robert Müller e9581b87ba Ensure specified target system for buiding libraries is valid
Abort building libraries if the specified target system is not one of the supported values.
2024-05-23 20:42:25 +02:00
Robert Müller 2844ad7239 Remove redundant OS_NAME_PATH variable
This variable was simply assigned the same value as the `OS_NAME` variable.
2024-05-23 18:06:59 +02:00
Robert Müller 0da30b7857 Remove obsolete autogen.sh usage for OpenSSL build
The OpenSSL project does not contain an `autogen.sh` file anymore, which was causing an error message when building the libraries.
2024-05-23 18:06:59 +02:00
ChillerDragon c75584406a Use shfmt as formatter for shell scripts 2024-05-23 08:05:00 +08:00
Robert Müller cdbe1f775a Various fixes/improvements to Android building scripts
Use [cargo-ndk](https://github.com/bbqsrc/cargo-ndk) to configure cargo for building with the Android NDK. The output of `cargo ndk` is written to a subfolder for the target triplet, which cannot be changed by parameter. Therefore, the `CARGO_BUILD_DIR` is changed to this subfolder for the Android build, so the build process can find the output.

Use `$HOME` instead of `~` because cargo-ndk cannot correctly access the folder otherwise (will fail with error message indicating it could not determine the NDK version).

Add `DDNET_TEST_NO_LINK=ON` CMake argument, to fix Rust linking errors with tests.

Add additional CMake arguments to specify system name, API version and NDK location. Upgrade to Android API 34.

Use `nproc` instead of `32` threads for building.
2024-05-21 17:36:47 +02:00
Robert Müller 9afe7444c1 Fix SDL3 being used in gen_libs.sh
The SDL default branch is now SDL3, so we need to check out specifically the SDL2 branch.
2024-05-21 17:36:46 +02:00
Jupeyy bb1ed45c3d Emscripten support 2022-03-25 12:42:18 +01:00
Jupeyy e02ebca2c9 Rename lib generation scripts 2022-03-25 11:46:32 +01:00
Renamed from scripts/android/gen_android_libs.sh (Browse further)