Skip to content

Commit e5c4351

Browse files
committed
Unify bits, android_arch, macos_arch ios_arch into arch, support non-x86
Unify arguments and add support for ARM64 and RV64 Linux
1 parent eaaf941 commit e5c4351

9 files changed

+142
-85
lines changed

.github/workflows/ci.yml

+8-7
Original file line numberDiff line numberDiff line change
@@ -13,47 +13,48 @@ jobs:
1313
os: ubuntu-18.04
1414
platform: linux
1515
artifact-name: godot-cpp-linux-glibc2.27-x86_64-release
16-
artifact-path: bin/libgodot-cpp.linux.release.64.a
16+
artifact-path: bin/libgodot-cpp.linux.release.x86_64.a
1717

1818
- name: 🐧 Linux (GCC, Double Precision)
1919
os: ubuntu-18.04
2020
platform: linux
2121
artifact-name: godot-cpp-linux-glibc2.27-x86_64-double-release
22-
artifact-path: bin/libgodot-cpp.linux.release.64.a
22+
artifact-path: bin/libgodot-cpp.linux.release.x86_64.a
2323
flags: float=64
2424

2525
- name: 🏁 Windows (x86_64, MSVC)
2626
os: windows-2019
2727
platform: windows
2828
artifact-name: godot-cpp-windows-msvc2019-x86_64-release
29-
artifact-path: bin/libgodot-cpp.windows.release.64.lib
29+
artifact-path: bin/libgodot-cpp.windows.release.x86_64.lib
3030

3131
- name: 🏁 Windows (x86_64, MinGW)
3232
os: windows-2019
3333
platform: windows
3434
artifact-name: godot-cpp-linux-mingw-x86_64-release
35-
artifact-path: bin/libgodot-cpp.windows.release.64.a
35+
artifact-path: bin/libgodot-cpp.windows.release.x86_64.a
3636
flags: use_mingw=yes
3737

3838
- name: 🍎 macOS (universal)
3939
os: macos-11
4040
platform: osx
4141
artifact-name: godot-cpp-macos-universal-release
4242
artifact-path: bin/libgodot-cpp.osx.release.universal.a
43-
flags: macos_arch=universal
43+
flags: arch=universal
4444

4545
- name: 🤖 Android (arm64)
4646
os: ubuntu-18.04
4747
platform: android
4848
artifact-name: godot-cpp-android-arm64-release
49-
artifact-path: bin/libgodot-cpp.android.release.arm64v8.a
50-
flags: android_arch=arm64v8
49+
artifact-path: bin/libgodot-cpp.android.release.arm64.a
50+
flags: arch=arm64
5151

5252
- name: 🍏 iOS (arm64)
5353
os: macos-11
5454
platform: ios
5555
artifact-name: godot-cpp-ios-arm64-release
5656
artifact-path: bin/libgodot-cpp.ios.release.arm64.a
57+
flags: arch=arm64
5758

5859
steps:
5960
- name: Checkout

README.md

+14-9
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,15 @@ so formatting is done before your changes are submitted.
4242

4343
## Getting Started
4444

45-
It's a bit similar to what it was for 3.x but also a bit different. This new approach is much more akin to how core Godot modules are structured.
45+
It's a bit similar to what it was for 3.x but also a bit different.
46+
This new approach is much more akin to how core Godot modules are structured.
4647

4748
Compiling this repository generates a static library to be linked with your shared lib,
4849
just like before.
4950

50-
To use the shared lib in your Godot project you'll need a `.gdextension` file, which replaces what was the `.gdnlib` before. Follow the example:
51+
To use the shared lib in your Godot project you'll need a `.gdextension`
52+
file, which replaces what was the `.gdnlib` before.
53+
Follow [the example](test/demo/example.gdextension):
5154

5255
```ini
5356
[configuration]
@@ -56,15 +59,17 @@ entry_symbol = "example_library_init"
5659

5760
[libraries]
5861

59-
linux.64.debug = "bin/libgdexample.linux.debug.64.so"
60-
linux.64.release = "bin/libgdexample.linux.release.64.so"
61-
windows.64.debug = "bin/libgdexample.windows.debug.64.dll"
62-
windows.64.release = "bin/libgdexample.windows.release.64.dll"
63-
macos.debug = "bin/libgdexample.debug.framework"
64-
macos.release = "bin/libgdexample.release.framework"
62+
macos.debug = "bin/libgdexample.osx.debug.framework"
63+
macos.release = "bin/libgdexample.osx.release.framework"
64+
windows.debug.x86_64 = "bin/libgdexample.windows.debug.x86_64.dll"
65+
windows.release.x86_64 = "bin/libgdexample.windows.release.x86_64.dll"
66+
linux.debug.x86_64 = "bin/libgdexample.linux.debug.x86_64.so"
67+
linux.release.x86_64 = "bin/libgdexample.linux.release.x86_64.so"
68+
# Repeat for other architectures to support arm64, rv64, etc.
6569
```
6670

67-
The `entry_symbol` is the name of the function that initializes your library. It should be similar to following layout:
71+
The `entry_symbol` is the name of the function that initializes
72+
your library. It should be similar to following layout:
6873

6974
```cpp
7075
extern "C" {

0 commit comments

Comments
 (0)