|
|
|
@ -19,27 +19,44 @@ set -ex |
|
|
|
|
|
|
|
|
|
cd "$(dirname "$0")/../../.." |
|
|
|
|
|
|
|
|
|
# <iphoneos|iphonesimulator> |
|
|
|
|
SDK="iphoneos" |
|
|
|
|
# <arm64|x86_64|...> |
|
|
|
|
ARCH="arm64" |
|
|
|
|
|
|
|
|
|
PATH_AR="$(xcrun --sdk $SDK --find ar)" |
|
|
|
|
PATH_CC="$(xcrun --sdk $SDK --find clang)" |
|
|
|
|
PATH_CXX="$(xcrun --sdk $SDK --find clang++)" |
|
|
|
|
|
|
|
|
|
# TODO(jtattermusch): add -mios-version-min=6.0 and -Wl,ios_version_min=6.0 |
|
|
|
|
CPPFLAGS="-O2 -Wframe-larger-than=16384 -arch $ARCH -isysroot $(xcrun --sdk $SDK --show-sdk-path) -DPB_NO_PACKED_STRUCTS=1" |
|
|
|
|
LDFLAGS="-arch $ARCH -isysroot $(xcrun --sdk $SDK --show-sdk-path)" |
|
|
|
|
|
|
|
|
|
# TODO(jtattermusch): revisit the build arguments |
|
|
|
|
make -j4 static_csharp \ |
|
|
|
|
VALID_CONFIG_ios_$ARCH="1" \ |
|
|
|
|
CC_ios_$ARCH="$PATH_CC" \ |
|
|
|
|
CXX_ios_$ARCH="$PATH_CXX" \ |
|
|
|
|
LD_ios_$ARCH="$PATH_CC" \ |
|
|
|
|
LDXX_ios_$ARCH="$PATH_CXX" \ |
|
|
|
|
CPPFLAGS_ios_$ARCH="$CPPFLAGS" \ |
|
|
|
|
LDFLAGS_ios_$ARCH="$LDFLAGS" \ |
|
|
|
|
DEFINES_ios_$ARCH="NDEBUG" \ |
|
|
|
|
CONFIG="ios_$ARCH" |
|
|
|
|
# Usage: build <iphoneos|iphonesimulator> <arm64|x86_64|...> |
|
|
|
|
function build { |
|
|
|
|
SDK="$1" |
|
|
|
|
ARCH="$2" |
|
|
|
|
|
|
|
|
|
PATH_AR="$(xcrun --sdk $SDK --find ar)" |
|
|
|
|
PATH_CC="$(xcrun --sdk $SDK --find clang)" |
|
|
|
|
PATH_CXX="$(xcrun --sdk $SDK --find clang++)" |
|
|
|
|
|
|
|
|
|
# TODO(jtattermusch): add -mios-version-min=6.0 and -Wl,ios_version_min=6.0 |
|
|
|
|
CPPFLAGS="-O2 -Wframe-larger-than=16384 -arch $ARCH -isysroot $(xcrun --sdk $SDK --show-sdk-path) -DPB_NO_PACKED_STRUCTS=1" |
|
|
|
|
LDFLAGS="-arch $ARCH -isysroot $(xcrun --sdk $SDK --show-sdk-path)" |
|
|
|
|
|
|
|
|
|
# TODO(jtattermusch): revisit the build arguments |
|
|
|
|
make -j4 static_csharp \ |
|
|
|
|
VALID_CONFIG_ios_$ARCH="1" \ |
|
|
|
|
CC_ios_$ARCH="$PATH_CC" \ |
|
|
|
|
CXX_ios_$ARCH="$PATH_CXX" \ |
|
|
|
|
LD_ios_$ARCH="$PATH_CC" \ |
|
|
|
|
LDXX_ios_$ARCH="$PATH_CXX" \ |
|
|
|
|
CPPFLAGS_ios_$ARCH="$CPPFLAGS" \ |
|
|
|
|
LDFLAGS_ios_$ARCH="$LDFLAGS" \ |
|
|
|
|
DEFINES_ios_$ARCH="NDEBUG" \ |
|
|
|
|
CONFIG="ios_$ARCH" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Usage: fatten <grpc_csharp_ext|...> |
|
|
|
|
function fatten { |
|
|
|
|
LIB_NAME="$1" |
|
|
|
|
|
|
|
|
|
mkdir -p libs/ios |
|
|
|
|
lipo -create -output libs/ios/lib$LIB_NAME.a \ |
|
|
|
|
libs/ios_arm64/lib$LIB_NAME.a \ |
|
|
|
|
libs/ios_x86_64/lib$LIB_NAME.a |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
build iphoneos arm64 |
|
|
|
|
build iphonesimulator x86_64 |
|
|
|
|
|
|
|
|
|
fatten grpc |
|
|
|
|
fatten grpc_csharp_ext |
|
|
|
|