iOS: add MoonJIT support and update libCurl build script
This commit is contained in:
parent
181242a944
commit
5e7a24e6af
@ -1,7 +1,7 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
CURL_VERSION=7.65.3
|
||||
CURL_VERSION=7.67.0
|
||||
|
||||
if [ ! -d libcurl-src ]; then
|
||||
wget https://curl.haxx.se/download/curl-$CURL_VERSION.tar.gz
|
||||
@ -13,9 +13,13 @@ fi
|
||||
cd libcurl-src
|
||||
|
||||
# build once for armv7, once for arm64
|
||||
for x in arm64 armv7; do
|
||||
make distclean >/dev/null || true
|
||||
CC=$IOS_CC CFLAGS=${IOS_FLAGS_LUA/-arch $x/} \
|
||||
for x in armv7 arm64; do
|
||||
if [ $x = armv7 ]; then
|
||||
CURL_CFLAGS="-arch armv7 $IOS_FLAGS_LUA"
|
||||
else
|
||||
CURL_CFLAGS="-arch arm64 -arch arm64e $IOS_FLAGS_LUA"
|
||||
fi
|
||||
CC=$IOS_CC CFLAGS=$CURL_CFLAGS \
|
||||
./configure --host=arm-apple-darwin --prefix=/ --disable-shared --enable-static \
|
||||
--disable-debug --disable-verbose --disable-versioned-symbols \
|
||||
--enable-hidden-symbols --disable-dependency-tracking \
|
||||
@ -23,15 +27,19 @@ for x in arm64 armv7; do
|
||||
--disable-proxy --disable-unix-sockets --without-libidn --without-librtmp \
|
||||
--without-ssl --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp \
|
||||
--disable-dict --disable-telnet --disable-tftp --disable-pop3 \
|
||||
--disable-imap --disable-smtp --disable-gopher --disable-sspi
|
||||
make -j$(sysctl -n hw.ncpu)
|
||||
--disable-imap --disable-smtp --disable-gopher --disable-sspi \
|
||||
--disable-libcurl-option
|
||||
make -j
|
||||
cp -f lib/.libs/libcurl.a templib_$x.a
|
||||
make clean >/dev/null || true
|
||||
done
|
||||
|
||||
mkdir -p ../libcurl
|
||||
make DESTDIR=$PWD/../libcurl install
|
||||
cp -rf include ../libcurl/include
|
||||
|
||||
# merge libraries
|
||||
rm ../libcurl/lib/libcurl.a
|
||||
lipo templib_*.a -create -output ../libcurl/lib/libcurl.a
|
||||
mkdir -p ../libcurl/lib
|
||||
lipo -create templib_*.a -output ../libcurl/lib/libcurl.a
|
||||
rm templib_*.a
|
||||
|
||||
echo "libcurl build successful"
|
||||
|
@ -1,34 +1,40 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
LUAJIT_VERSION=2.1
|
||||
# MoonJIT
|
||||
LUAJIT_VERSION=2.1.2
|
||||
|
||||
if [ ! -d luajit-src ]; then
|
||||
wget https://github.com/LuaJIT/LuaJIT/archive/v$LUAJIT_VERSION.zip
|
||||
unzip v$LUAJIT_VERSION.zip
|
||||
mv LuaJIT-$LUAJIT_VERSION luajit-src
|
||||
rm v$LUAJIT_VERSION.zip
|
||||
if [ ! -d moonjit-src ]; then
|
||||
wget https://github.com/moonjit/moonjit/archive/$LUAJIT_VERSION.zip
|
||||
unzip $LUAJIT_VERSION.zip
|
||||
mv moonjit-$LUAJIT_VERSION moonjit-src
|
||||
rm $LUAJIT_VERSION.zip
|
||||
fi
|
||||
|
||||
cd luajit-src
|
||||
cd moonjit-src
|
||||
|
||||
# 32-bit
|
||||
make -j$(sysctl -n hw.ncpu) \
|
||||
make amalg -j \
|
||||
DEFAULT_CC=clang HOST_CC="clang -m32 -arch i386" CROSS="$(dirname $IOS_CC)/" \
|
||||
TARGET_FLAGS="${IOS_FLAGS_LUA/-arch arm64/}" TARGET_SYS=iOS \
|
||||
-j$(sysctl -n hw.ncpu)
|
||||
mv src/libluajit.a tmp32.a
|
||||
TARGET_FLAGS="-DLUAJIT_DISABLE_FFI -arch armv7 ${IOS_FLAGS_LUA}" TARGET_SYS=iOS
|
||||
mv src/libluajit.a templib_32.a
|
||||
make clean
|
||||
# 64-bit
|
||||
make -j$(sysctl -n hw.ncpu) \
|
||||
make amalg -j \
|
||||
DEFAULT_CC=clang HOST_CC=clang CROSS="$(dirname $IOS_CC)/" \
|
||||
TARGET_FLAGS="${IOS_FLAGS_LUA/-arch armv7/}" TARGET_SYS=iOS \
|
||||
-j$(sysctl -n hw.ncpu)
|
||||
mv src/libluajit.a tmp64.a
|
||||
TARGET_FLAGS="-DLUAJIT_DISABLE_FFI -arch arm64 ${IOS_FLAGS_LUA}" TARGET_SYS=iOS
|
||||
mv src/libluajit.a templib_64.a
|
||||
make clean
|
||||
# 64-bit [arm64e]
|
||||
make amalg -j \
|
||||
DEFAULT_CC=clang HOST_CC=clang CROSS="$(dirname $IOS_CC)/" \
|
||||
TARGET_FLAGS="-DLUAJIT_DISABLE_FFI -arch arm64e ${IOS_FLAGS_LUA}" TARGET_SYS=iOS
|
||||
mv src/libluajit.a templib_64e.a
|
||||
make clean
|
||||
|
||||
# repack into one .a
|
||||
lipo tmp32.a tmp64.a -create -output libluajit.a
|
||||
rm tmp32.a tmp64.a
|
||||
lipo -create templib_*.a -output libluajit.a
|
||||
rm templib_*.a
|
||||
|
||||
mkdir -p ../luajit/{lib,include}
|
||||
cp -v src/*.h ../luajit/include
|
||||
|
@ -8,4 +8,4 @@ export IOS_COMPILER=$(xcrun --sdk $sdk --find clang)
|
||||
export IOS_CC=$IOS_COMPILER
|
||||
export IOS_CXX=$IOS_COMPILER
|
||||
export IOS_FLAGS="-isysroot $(xcrun --sdk $sdk --show-sdk-path) -arch armv7 -arch armv7s -arch arm64 -arch arm64e -miphoneos-version-min=$osver -fvisibility=hidden -fdata-sections -ffunction-sections -fno-unwind-tables -fno-asynchronous-unwind-tables -Ofast"
|
||||
export IOS_FLAGS_LUA="-isysroot $(xcrun --sdk $sdk --show-sdk-path) -arch armv7 -arch arm64 -miphoneos-version-min=$osver -fvisibility=hidden -fdata-sections -ffunction-sections -Ofast"
|
||||
export IOS_FLAGS_LUA="-isysroot $(xcrun --sdk $sdk --show-sdk-path) -miphoneos-version-min=$osver -fvisibility=hidden -fdata-sections -ffunction-sections -Ofast"
|
||||
|
Loading…
x
Reference in New Issue
Block a user