17 Commits

Author SHA1 Message Date
Fabio Alessandrelli
40e5c0c733 mbedTLS: Fix install dir on Linux
Force cmake INSTALL_LIBDIR to avoid distro discrepancies

Disable werror which can cause issues with newer GCC
2025-05-28 18:35:26 +02:00
Fabio Alessandrelli
b1ee39e6c4 [TLS] Move from OpenSSL to mbedTLS
Update libdatachannel to 0.22.6
2025-05-15 11:24:51 +02:00
Fabio Alessandrelli
68338ed576 [godot-cpp] Update versions and patches
Update godot-cpp to 4.1.3

Update build profile patches to latest iteration
2025-01-08 10:51:59 +01:00
Fabio Alessandrelli
ea8b37fe29 [CI] Update macos runners to macos-latest 2024-10-25 17:03:29 +02:00
Fabio Alessandrelli
26bc56f934 [SCons] Improve CMake and OpenSSL macOS/iOS targets
Update CI to macos-12 (since macos-11 is not longer available.
2024-06-17 18:01:57 +02:00
Fabio Alessandrelli
34ef1043ee [Linux] Add arm32/arm64 linux builds support
Fix arch detection in GDNative builds (3.x) and add a small patch to
avoid warnings spam on ARM.

Make CMake march flags explicit for Linux arm32/arm64.

Add new platforms to CI.
2024-02-15 22:57:03 +01:00
Fabio Alessandrelli
b0efc17d3b [Linux] Only export extension init symbol
Since we link with static libstdc++ we need to tell gcc to only export
the necessary symbols.
Using "-fvisibility=hidden" will not work, since libstdc++ explicitly
exports its symbols.
2023-12-22 01:30:01 +01:00
Fabio Alessandrelli
0771084b54 [SCons] Simplify building cmake libraries.
Add an extra "CMakeBuild" method to reduce configuration needed by each
library.
2023-06-29 13:37:09 +02:00
Fabio Alessandrelli
0be6b671e5 [OpenSSL] Allow using external (static) libraries.
In case one wants to handle openssl builds manually (or use static
libraries provided by third parties like those in Linux distros).

Note that they still must be *static* libraries, adding support for
linking against *shared* libraries needs more work (and testing).
2023-06-23 16:08:04 +02:00
Fabio Alessandrelli
85efdfd6ce Linux ARM32/ARM64, better toolchains support.
Needs updated godot-cpp to build library with custom toolchains.

Make the OpenSSL and CMake tools more customizable letting the user
override the default platform flags via build options.

Improve dependency handling.
2023-06-21 03:54:39 +02:00
Fabio Alessandrelli
54c8586235 [SCons] Fix regression causing unnecessary rebuilds.
The num_jobs (-j flag) was being tracked as part of the cmake and
openssl build actions, thus causing a rebuild when compiling with
different concurrently.

This commit strip the -j flag from the signature of the actions so
scons won't rebuild openssl/libdatachannel when changing the parallelism
option.
2023-06-20 17:45:23 +02:00
Fabio Alessandrelli
86c27ec7ef [SCons] Refactor CMake and OpenSSL tools to use actions.
Improve build reliability, allow for more customization.
2023-06-20 13:22:07 +02:00
Fabio Alessandrelli
61299ca4b7 [SCons] Refactor build system.
Update ssl tool (now renamed openssl).

Move universal library "lipo" action to openssl tool, and add universal
builds support to cmake tool.

Add support for MSVC builds (requires nasm and perl in PATH, tested with
Strawberry Perl, VS 2019 and VS 2022).

Add support for building "macos" via OSXCross.
2023-06-17 19:46:54 +02:00
Fabio Alessandrelli
45549e020f [SCons] Move platform configuration to cmake tool. 2023-05-25 06:07:03 +02:00
Fabio Alessandrelli
e8de07dbb1 [CI] Fix python black formatting. 2023-05-25 02:42:26 +02:00
Fabio Alessandrelli
826a736176 [libdatachannel] Bump to version 0.18.4 2023-05-24 19:12:25 +02:00
Fabio Alessandrelli
bdd9d50745 [SCons] Refactor build tools.
Split dependency builders into separate tools, optimize OpenSSL builds.
2022-12-30 14:34:15 +01:00