Skip to content

Commit a463a8d

Browse files
committedAug 11, 2022
Fixed android x86_64, added ios_x86_64 build target
1 parent 8204d7d commit a463a8d

File tree

2 files changed

+56
-7
lines changed

2 files changed

+56
-7
lines changed
 

‎build_gmp.sh

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,43 @@ build_ios()
209209
cd ..
210210
}
211211

212+
build_ios_x86_64()
213+
{
214+
PACKAGE_DIR="$GMP_DIR/package_ios_x86_64"
215+
BUILD_DIR=build_ios_x86_64
216+
217+
if [ -d "$PACKAGE_DIR" ]; then
218+
echo "iOS package is built already. See $PACKAGE_DIR"
219+
return 1
220+
fi
221+
222+
export SDK="iphonesimulator"
223+
export TARGET=x86_64-apple-darwin
224+
export MIN_IOS_VERSION=8.0
225+
226+
export ARCH_FLAGS="-arch x86_64"
227+
export OPT_FLAGS="-O3 -g3 -fembed-bitcode"
228+
export HOST_FLAGS="${ARCH_FLAGS} -miphoneos-version-min=${MIN_IOS_VERSION} -isysroot $(xcrun --sdk ${SDK} --show-sdk-path)"
229+
230+
export CC=$(xcrun --find --sdk "${SDK}" clang)
231+
export CXX=$(xcrun --find --sdk "${SDK}" clang++)
232+
export CPP=$(xcrun --find --sdk "${SDK}" cpp)
233+
export CFLAGS="${HOST_FLAGS} ${OPT_FLAGS}"
234+
export CXXFLAGS="${HOST_FLAGS} ${OPT_FLAGS}"
235+
export LDFLAGS="${HOST_FLAGS}"
236+
237+
echo $TARGET
238+
239+
rm -rf "$BUILD_DIR"
240+
mkdir "$BUILD_DIR"
241+
cd "$BUILD_DIR"
242+
243+
../configure --host $TARGET --prefix="$PACKAGE_DIR" --with-pic --disable-fft --disable-assembly &&
244+
make -j${NPROC} &&
245+
make install
246+
247+
cd ..
248+
}
212249

213250
if [ $# -ne 1 ]; then
214251
usage

‎cmake/platform.cmake

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,32 @@ if(TARGET_PLATFORM MATCHES "android")
1919

2020
set(CMAKE_SYSTEM_NAME Android)
2121
set(CMAKE_SYSTEM_VERSION 23) # API level
22-
set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
2322

24-
message("CMAKE_ANDROID_ARCH_ABI=" ${CMAKE_ANDROID_ARCH_ABI})
23+
if(TARGET_PLATFORM MATCHES "android_x86_64")
24+
set(CMAKE_ANDROID_ARCH_ABI x86_64)
25+
set(GMP_PREFIX ${GMP_ROOT}/package_android_x86_64)
26+
set(ARCH x86_64)
27+
else()
28+
set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
29+
set(GMP_PREFIX ${GMP_ROOT}/package_android_arm64)
30+
set(ARCH arm64)
31+
endif()
2532

26-
set(GMP_PREFIX ${GMP_ROOT}/package_android_arm64)
27-
set(ARCH arm64)
33+
message("CMAKE_ANDROID_ARCH_ABI=" ${CMAKE_ANDROID_ARCH_ABI})
2834

2935
elseif(TARGET_PLATFORM MATCHES "ios")
3036

3137
set(CMAKE_SYSTEM_NAME iOS)
32-
set(CMAKE_OSX_ARCHITECTURES arm64)
3338

34-
set(GMP_PREFIX ${GMP_ROOT}/package_ios_arm64)
35-
set(ARCH arm64)
39+
if(TARGET_PLATFORM MATCHES "ios_x86_64")
40+
set(CMAKE_OSX_ARCHITECTURES x86_64)
41+
set(GMP_PREFIX ${GMP_ROOT}/package_ios_x86_64)
42+
set(ARCH x86_64)
43+
else()
44+
set(CMAKE_OSX_ARCHITECTURES arm64)
45+
set(GMP_PREFIX ${GMP_ROOT}/package_ios_arm64)
46+
set(ARCH arm64)
47+
endif()
3648

3749
elseif(TARGET_PLATFORM MATCHES "aarch64")
3850

0 commit comments

Comments
 (0)