Skip to content

Commit e263b7f

Browse files
authored
fix: Add linker flags to Android library builds (#1463)
Add linker flags for Android builds to support 16KB page size requirement.
1 parent b766bed commit e263b7f

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

c2pa_c_ffi/Makefile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ IPHONEOS_DEPLOYMENT_TARGET ?= 15.0
2626
# This clears RUSTFLAGS to prevent -D warnings from failing the cross installation
2727
CROSS_INSTALL_RUSTFLAGS = RUSTFLAGS=""
2828

29+
# Android 16KB page size alignment requirement
30+
ANDROID_LINKER_FLAGS = -C link-arg=-Wl,-z,max-page-size=16384
31+
2932
# Helper function to create a zip file
3033
define make_zip
3134
set -e; \
@@ -142,25 +145,25 @@ release-ios-arm64-sim:
142145
# 64-bit Android devices
143146
release-android-arm64:
144147
$(CROSS_INSTALL_RUSTFLAGS) cargo install cross --git https://github.com/cross-rs/cross
145-
cross build --target=aarch64-linux-android $(CARGO_BUILD_FLAGS)
148+
RUSTFLAGS="$${RUSTFLAGS} $(ANDROID_LINKER_FLAGS)" cross build --target=aarch64-linux-android $(CARGO_BUILD_FLAGS)
146149
@$(call make_zip,$(TARGET_DIR)/aarch64-linux-android/release,aarch64-linux-android)
147150

148151
# 32-bit Android devices
149152
release-android-armv7:
150153
$(CROSS_INSTALL_RUSTFLAGS) cargo install cross --git https://github.com/cross-rs/cross
151-
cross build --target=armv7-linux-androideabi $(CARGO_BUILD_FLAGS)
154+
RUSTFLAGS="$${RUSTFLAGS} $(ANDROID_LINKER_FLAGS)" cross build --target=armv7-linux-androideabi $(CARGO_BUILD_FLAGS)
152155
@$(call make_zip,$(TARGET_DIR)/armv7-linux-androideabi/release,armv7-linux-androideabi)
153156

154157
# 32-bit x86 Android emulators
155158
release-android-x86:
156159
$(CROSS_INSTALL_RUSTFLAGS) cargo install cross --git https://github.com/cross-rs/cross
157-
cross build --target=i686-linux-android $(CARGO_BUILD_FLAGS)
160+
RUSTFLAGS="$${RUSTFLAGS} $(ANDROID_LINKER_FLAGS)" cross build --target=i686-linux-android $(CARGO_BUILD_FLAGS)
158161
@$(call make_zip,$(TARGET_DIR)/i686-linux-android/release,i686-linux-android)
159162

160163
# 64-bit x86 Android emulators
161164
release-android-x86_64:
162165
$(CROSS_INSTALL_RUSTFLAGS) cargo install cross --git https://github.com/cross-rs/cross
163-
cross build --target=x86_64-linux-android $(CARGO_BUILD_FLAGS)
166+
RUSTFLAGS="$${RUSTFLAGS} $(ANDROID_LINKER_FLAGS)" cross build --target=x86_64-linux-android $(CARGO_BUILD_FLAGS)
164167
@$(call make_zip,$(TARGET_DIR)/x86_64-linux-android/release,x86_64-linux-android)
165168

166169

0 commit comments

Comments
 (0)