Commit Graph

190 Commits

Author SHA1 Message Date
Fabio Alessandrelli
cdb4673f48 Merge pull request #135 from Faless/bump/deps
Update to libdatachannel 0.20.1, OpenSSL 3.0.13
2024-02-01 17:01:31 +01:00
Fabio Alessandrelli
5b4221462b Update to libdatachannel 0.20.1, OpenSSL 3.0.13
Replace deprecated options with the (new) standard ones.
2024-01-30 16:33:25 +01:00
Fabio Alessandrelli
86d080b328 Merge pull request #134 from Faless/fix/mingw_only_export_init_symbol
[Windows/MinGW] Only export extension init symbol
1.0.5-stable
2023-12-22 12:47:24 +01:00
Fabio Alessandrelli
1831677f63 [Windows/MinGW] Only export extension init symbol
When building for Windows using MinGW GCC we need to apply the same
workaround we use on Linux to only export the necessary symbols so we
can safely statically link libstdc++
2023-12-22 12:12:01 +01:00
Fabio Alessandrelli
fa28efa51d Merge pull request #133 from Faless/bump/openssl_3.0.12_libdatachannel_0.19.4
Update to OpenSSL 3.0.12, libdatachannel 0.19.4
1.0.4-stable
2023-12-22 02:43:24 +01:00
Fabio Alessandrelli
6e33e43f36 Update to OpenSSL 3.0.12, libdatachannel 0.19.4 2023-12-22 02:13:41 +01:00
Fabio Alessandrelli
81239d820d Merge pull request #131 from Faless/fix/linux_only_export_init_symbol
[Linux] Only export extension init symbol
2023-12-22 02:10:20 +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
ec0ededcde Merge pull request #132 from Faless/fix/force_cleanup_on_unload
Call rtc::Cleanup when unloading the library
2023-12-22 01:14:07 +01:00
Fabio Alessandrelli
308db19120 Call rtc::Cleanup when unloading the library
Avoid potential crash at exit.
2023-12-21 21:39:53 +01:00
Fabio Alessandrelli
724910c734 Merge pull request #130 from Faless/spike/macos_framework
[MacOS] Use framekwork to package GDExtension
2023-12-21 18:48:23 +01:00
Fabio Alessandrelli
7a4e27e5f0 [MacOS] Use framekwork to package GDExtension
This allows it to be code-signed as a bundle so gatekeeper won't
complain when loaded by the editor.
2023-12-20 12:55:43 +01:00
Fabio Alessandrelli
d768508435 Merge pull request #129 from Faless/spike/to_string
Add _to_string method to extension classes.
2023-12-19 19:43:42 +01:00
Fabio Alessandrelli
fb2c9c3687 Add _to_string method to extension classes.
So printing them in Godot shows the proper class name instead of
"Wrapped".
2023-12-19 12:01:54 +01:00
Fabio Alessandrelli
cf23e5e740 Merge pull request #123 from Faless/bump/libdatachannel_0.19.3
Update libdatachannel to version 0.19.3
1.0.3-stable
2023-10-22 11:51:14 +02:00
Fabio Alessandrelli
668d0250a7 Bump libdatachannel to version 0.19.3 2023-10-22 11:02:04 +02:00
Fabio Alessandrelli
121ed5664d Merge pull request #122 from Faless/bump/openssl_3.0.11
Update to  OpenSSL 3.0.11
2023-10-22 10:46:21 +02:00
Fabio Alessandrelli
67a378a667 Bump OpenSSL to version 3.0.11 2023-10-22 10:21:31 +02:00
Fabio Alessandrelli
023c42d3b3 Merge pull request #121 from Faless/fix/use_relative_paths
Use relative paths in webrtc.gdextension
2023-10-21 20:25:17 +02:00
Fabio Alessandrelli
6d96092f88 Use relative paths in webrtc.gdextension
Allows renaming the extension folder.
2023-10-21 18:14:09 +02:00
Fabio Alessandrelli
77969f68d9 Merge pull request #115 from Faless/bump/openssl_3.0.10_libdatachannel_0.18.6
Bump dependencies
1.0.2-stable
2023-09-10 16:22:15 +02:00
Fabio Alessandrelli
a9d8ea2a1c Bump dependencies
OpenSSL 3.0.10
libdatachannel 0.18.6
godot-cpp 4.1-stable (used to be 4.1-rc2, this normalizes it)

Includes a small Linux CI fix to run apt update before apt install.
2023-09-04 19:58:33 +02:00
Fabio Alessandrelli
6e2262b6c3 Merge pull request #113 from Faless/spike/4.1
Support building for Godot 4.1 (new default).
1.0.1-stable
2023-07-01 19:43:42 +02:00
Fabio Alessandrelli
cb2be8723a Support building for Godot 4.1 (new default). 2023-06-30 16:52:36 +02:00
Fabio Alessandrelli
d278661d76 Merge pull request #112 from Faless/spike/buildroot
Build Linux binaries using the Godot toolchian.
2023-06-30 16:46:58 +02:00
Fabio Alessandrelli
552d696e0a Build Linux binaries using the Godot toolchian.
So we link to very old glibc and support ancient distros.
2023-06-30 10:06:06 +02:00
Fabio Alessandrelli
6f4d8f5238 Merge pull request #111 from Faless/bump/openssl_3.0.9
[OpenSSL] Update to version 3.0.9
2023-06-30 09:00:55 +02:00
Fabio Alessandrelli
8040565b0e [OpenSSL] Update to version 3.0.9 2023-06-30 08:25:32 +02:00
Fabio Alessandrelli
38c83f667d Merge pull request #109 from Faless/fix/linux_static_gcc_cpp
Statically link libgcc and libstdc++ on linux
2023-06-30 07:56:59 +02:00
Fabio Alessandrelli
1de32aa9ea Statically link libgcc and libstdc++ on Linux.
More compatibility at the cost of bigger binaries.
2023-06-29 14:57:55 +02:00
Fabio Alessandrelli
ed3771ced0 Merge pull request #108 from Faless/fix/normalize_ios_min_version
Better normalize the GDNative build environment.
2023-06-29 14:51:47 +02:00
Fabio Alessandrelli
ac3bdb3613 Better normalize the GDNative build environment.
The "ios_min_version" is missing from godot-cpp-3.x, and the macos CC
variable is not explicitely set to "clang".

Since the values are passed to cmake, they used to cause unnecessary
rebuilds of libdatchannel when compiling both version 3 and 4.
2023-06-29 14:15:48 +02:00
Fabio Alessandrelli
931a7551f5 Merge pull request #107 from Faless/build/cmake_helper
[SCons] Simplify building cmake libraries.
2023-06-29 14:04:53 +02: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
ae0dd0626a Merge pull request #106 from Faless/build/openssl_external
[OpenSSL] Allow using external (static) libraries.
2023-06-23 17:12:25 +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
d96b43b7ee Merge pull request #104 from Faless/bump/libdatachannel_0.18.5
[libdatachannel] Update to v0.18.5
2023-06-21 06:08:27 +02:00
Fabio Alessandrelli
ec8cd5c0e4 [libdatachannel] Update to v0.18.5 2023-06-21 04:36:40 +02:00
Fabio Alessandrelli
b03099f7b4 Merge pull request #105 from Faless/build/tool_options
Linux ARM32/ARM64, better toolchains support.
2023-06-21 04:34:38 +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
32ae1d1195 Merge pull request #103 from Faless/build/less_rebuilds
[SCons] Fix regression causing unnecessary rebuilds.
2023-06-20 18:53:08 +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
f19011f2fb Merge pull request #102 from Faless/build/builders
[SCons] Refactor CMake and OpenSSL tools to use actions.
2023-06-20 16:24:45 +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
f2ee596bd9 Merge pull request #100 from Faless/build/openssl_universal
[SCons] Refactor build system.
2023-06-17 20:19:10 +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
df643250f5 Merge pull request #98 from Faless/build/cmake_platform
[SCons] Move platform configuration to cmake tool.
2023-05-25 07:29:57 +02:00
Fabio Alessandrelli
45549e020f [SCons] Move platform configuration to cmake tool. 2023-05-25 06:07:03 +02:00
Fabio Alessandrelli
ee40730c20 Merge pull request #97 from Faless/fix/ci_scripts
[CI] Update static checks, copyright headers.
2023-05-25 05:31:07 +02:00
Fabio Alessandrelli
8f7cb77f34 [CI] Update static checks, copyright headers. 2023-05-25 04:34:31 +02:00