Skip to content

Commit ad47e83

Browse files
Tim Girouxmarkharding
authored andcommitted
rs-core FFI size
1 parent 0634719 commit ad47e83

6 files changed

Lines changed: 23 additions & 28 deletions

File tree

.cirrus.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ build_ios_device_task:
88
- cd packages/rs-core
99
- brew install just protobuf llvm
1010
- just build-ffi-ios
11-
- cp ../../target/aarch64-apple-ios/release/libpolycentric_core.a ../../libpolycentric_core-ios-device.a
11+
- cp ../../target/aarch64-apple-ios/release-rs-core/libpolycentric_core.a ../../libpolycentric_core-ios-device.a
1212
binary_artifacts:
1313
path: 'libpolycentric_core-ios-device.a'
1414

@@ -22,7 +22,7 @@ build_ios_sim_arm64_task:
2222
- cd packages/rs-core
2323
- brew install just protobuf llvm
2424
- just build-ffi-ios-sim
25-
- cp ../../target/aarch64-apple-ios-sim/release/libpolycentric_core.a ../../libpolycentric_core-ios-sim-arm64.a
25+
- cp ../../target/aarch64-apple-ios-sim/release-rs-core/libpolycentric_core.a ../../libpolycentric_core-ios-sim-arm64.a
2626
binary_artifacts:
2727
path: 'libpolycentric_core-ios-sim-arm64.a'
2828

@@ -36,6 +36,6 @@ build_ios_sim_x86_task:
3636
- cd packages/rs-core
3737
- brew install just protobuf llvm
3838
- just build-ffi-ios-sim-x86
39-
- cp ../../target/x86_64-apple-ios/release/libpolycentric_core.a ../../libpolycentric_core-ios-sim-x86_64.a
39+
- cp ../../target/x86_64-apple-ios/release-rs-core/libpolycentric_core.a ../../libpolycentric_core-ios-sim-x86_64.a
4040
binary_artifacts:
4141
path: 'libpolycentric_core-ios-sim-x86_64.a'

.gitlab/ci/build_rs_core.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ rs-sdk-build-android-arm64:
168168
- just build-ffi-android-arm64
169169
artifacts:
170170
paths:
171-
- target/aarch64-linux-android/release
171+
- target/aarch64-linux-android/release-rs-core
172172
expire_in: 1 week
173173

174174
rs-sdk-build-android-armv7:
@@ -177,7 +177,7 @@ rs-sdk-build-android-armv7:
177177
- just build-ffi-android-armv7
178178
artifacts:
179179
paths:
180-
- target/armv7-linux-androideabi/release
180+
- target/armv7-linux-androideabi/release-rs-core
181181
expire_in: 1 week
182182

183183
rs-sdk-build-android-x86:
@@ -186,7 +186,7 @@ rs-sdk-build-android-x86:
186186
- just build-ffi-android-x86
187187
artifacts:
188188
paths:
189-
- target/i686-linux-android/release
189+
- target/i686-linux-android/release-rs-core
190190
expire_in: 1 week
191191

192192
rs-sdk-build-android-x86_64:
@@ -195,7 +195,7 @@ rs-sdk-build-android-x86_64:
195195
- just build-ffi-android-x86_64
196196
artifacts:
197197
paths:
198-
- target/x86_64-linux-android/release
198+
- target/x86_64-linux-android/release-rs-core
199199
expire_in: 1 week
200200

201201
rs-sdk-publish:
@@ -223,10 +223,10 @@ rs-sdk-publish:
223223
REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/rs-core/${VERSION}"
224224
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../buildRsCoreIOSDevice/binary/libpolycentric_core-ios-device.a "${REGISTRY_URL}/libpolycentric_core-ios-device.a"
225225
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../buildRsCoreIOSSimArm64/binary/libpolycentric_core-ios-sim-arm64.a "${REGISTRY_URL}/libpolycentric_core-ios-sim-arm64.a"
226-
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/aarch64-linux-android/release/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-arm64.a"
227-
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/armv7-linux-androideabi/release/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-armv7.a"
228-
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/i686-linux-android/release/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-x86.a"
229-
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/x86_64-linux-android/release/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-x86_64.a"
226+
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/aarch64-linux-android/release-rs-core/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-arm64.a"
227+
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/armv7-linux-androideabi/release-rs-core/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-armv7.a"
228+
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/i686-linux-android/release-rs-core/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-x86.a"
229+
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ../../target/x86_64-linux-android/release-rs-core/libpolycentric_core.a "${REGISTRY_URL}/libpolycentric_core-android-x86_64.a"
230230
231231
.rs-sdk-publish-npm:
232232
rules:

Cargo.toml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,13 @@ members = [
88
"services/server/tests",
99
]
1010
exclude = ["legacy/"]
11-
resolver = "2"
11+
resolver = "2"
12+
13+
# Size-optimized profile for rs-core FFI artifacts (Android, iOS).
14+
[profile.release-rs-core]
15+
inherits = "release"
16+
opt-level = "s"
17+
lto = "fat"
18+
codegen-units = 1
19+
panic = "abort"
20+
strip = "debuginfo"

packages/rs-common/Cargo.toml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,3 @@ hmac-sha256 = "1.1.12"
2121
[build-dependencies]
2222
prost-build = "0.14"
2323
tonic-prost-build = "*"
24-
25-
[profile.release]
26-
opt-level = "s"
27-
lto = "fat"
28-
codegen-units = 1
29-
panic = "abort"
30-
strip = "debuginfo"

packages/rs-core/Cargo.toml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,3 @@ omit-default-module-path = true
6363

6464
[package.metadata.wasm-pack.profile.release.wasm-bindgen]
6565
omit-default-module-path = true
66-
67-
[profile.release]
68-
opt-level = "s"
69-
lto = "fat"
70-
codegen-units = 1
71-
panic = "abort"
72-
strip = "debuginfo"

packages/rs-core/justfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ _build-ffi target dest: _ensure-ffi
7272
echo "Skipping {{target}} (not installed — run 'rustup target add {{target}}' to enable)"
7373
exit 0
7474
fi
75-
if ! cargo rustc --release --target {{target}} --features ffi --no-default-features --crate-type staticlib 2>&1; then
75+
if ! cargo rustc --profile release-rs-core --target {{target}} --features ffi --no-default-features --crate-type staticlib 2>&1; then
7676
echo "FAILED: {{target}}"
7777
exit 1
7878
fi
79-
lib="../../target/{{target}}/release/libpolycentric_core.a"
79+
lib="../../target/{{target}}/release-rs-core/libpolycentric_core.a"
8080
if command -v llvm-strip > /dev/null; then llvm-strip --strip-debug "$lib"; fi
8181
mkdir -p "{{dest}}"
8282
cp "$lib" "{{dest}}/libpolycentric_core.a"

0 commit comments

Comments
 (0)