Skip to content

Commit fd71aec

Browse files
committed
* Updated Boost to 1.67
* Fixed tvOS build (Fixes #20)
1 parent 3f69934 commit fd71aec

File tree

2 files changed

+21
-13
lines changed

2 files changed

+21
-13
lines changed

boost.sh

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#
3030
#===============================================================================
3131

32-
BOOST_VERSION=1.64.0
32+
BOOST_VERSION=1.67.0
3333

3434
BOOST_LIBS="atomic chrono date_time exception filesystem program_options random signals system thread test"
3535
ALL_BOOST_LIBS=\
@@ -43,18 +43,19 @@ IOS_SDK_VERSION=`xcrun --sdk iphoneos --show-sdk-version`
4343

4444
MIN_TVOS_VERSION=10.0
4545
TVOS_SDK_VERSION=`xcrun --sdk appletvos --show-sdk-version`
46+
TVOS_SDK_PATH=`xcrun --sdk appletvos --show-sdk-path`
47+
TVOSSIM_SDK_PATH=`xcrun --sdk appletvsimulator --show-sdk-path`
4648

4749
MIN_MACOS_VERSION=10.10
4850
MACOS_SDK_VERSION=`xcrun --sdk macosx --show-sdk-version`
51+
MACOS_SDK_PATH=`xcrun --sdk macosx --show-sdk-path`
4952

5053
MACOS_ARCHS=("x86_64")
5154
IOS_ARCHS=("armv7 arm64")
5255

5356
# Applied to all platforms
5457
CXX_FLAGS="-std=c++14 -stdlib=libc++"
5558

56-
MACOS_SDK_PATH=`xcrun --sdk macosx --show-sdk-path`
57-
5859
XCODE_ROOT=`xcode-select -print-path`
5960
COMPILER="$XCODE_ROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++"
6061

@@ -526,12 +527,12 @@ EOF
526527
if [[ "$1" == "tvOS" ]]; then
527528
cat > "$BOOST_SRC/tools/build/src/user-config.jam" <<EOF
528529
using darwin : ${TVOS_SDK_VERSION}~appletv
529-
: $COMPILER -arch arm64 $EXTRA_TVOS_FLAGS -I${XCODE_ROOT}/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS${TVOS_SDK_VERSION}.sdk/usr/include
530+
: $COMPILER -arch arm64 $EXTRA_TVOS_FLAGS -isysroot $TVOS_SDK_PATH -I $TVOS_SDK_PATH
530531
: <striper> <root>$XCODE_ROOT/Platforms/AppleTVOS.platform/Developer
531532
: <architecture>arm <target-os>iphone
532533
;
533534
using darwin : ${TVOS_SDK_VERSION}~appletvsim
534-
: $COMPILER -arch x86_64 $EXTRA_TVOS_FLAGS -I${XCODE_ROOT}/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator${TVOS_SDK_VERSION}.sdk/usr/include
535+
: $COMPILER -arch x86_64 $EXTRA_TVOS_FLAGS -isysroot $TVOSSIM_SDK_PATH -I $TVOSSIM_SDK_PATH
535536
: <striper> <root>$XCODE_ROOT/Platforms/AppleTVSimulator.platform/Developer
536537
: <architecture>x86 <target-os>iphone
537538
;
@@ -542,7 +543,7 @@ EOF
542543
if [[ "$1" == "macOS" ]]; then
543544
cat > "$BOOST_SRC/tools/build/src/user-config.jam" <<EOF
544545
using darwin : ${MACOS_SDK_VERSION}
545-
: $COMPILER $MACOS_ARCH_FLAGS $EXTRA_MACOS_FLAGS
546+
: $COMPILER $MACOS_ARCH_FLAGS $EXTRA_MACOS_FLAGS -isysroot $MACOS_SDK_PATH
546547
: <striper> <root>$XCODE_ROOT/Platforms/MacOSX.platform/Developer
547548
: <architecture>x86 <target-os>darwin
548549
;
@@ -754,11 +755,11 @@ scrunchAllLibsTogetherInOneLibPerPlatform()
754755
fi
755756

756757
if [[ -n $BUILD_TVOS ]]; then
757-
$TVOS_ARM_DEV_CMD lipo "appletv-build/stage/lib/libboost_$NAME.a" \
758-
-thin arm64 -o "$TVOS_BUILD_DIR/arm64/libboost_$NAME.a"
758+
cp "appletv-build/stage/lib/libboost_$NAME.a" \
759+
"$TVOS_BUILD_DIR/arm64/libboost_$NAME.a"
759760

760-
$TVOS_SIM_DEV_CMD lipo "appletvsim-build/stage/lib/libboost_$NAME.a" \
761-
-thin x86_64 -o "$TVOS_BUILD_DIR/x86_64/libboost_$NAME.a"
761+
cp "appletvsim-build/stage/lib/libboost_$NAME.a" \
762+
"$TVOS_BUILD_DIR/x86_64/libboost_$NAME.a"
762763
fi
763764

764765
if [[ -n $BUILD_MACOS ]]; then
@@ -1009,9 +1010,9 @@ fi
10091010
# Should perhaps also consider/use instead: -BOOST_SP_USE_PTHREADS
10101011

10111012
# Must set these after parseArgs to fill in overriden values
1012-
EXTRA_FLAGS="-DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS -g -DNDEBUG \
1013-
-fvisibility=hidden -fvisibility-inlines-hidden \
1014-
-Wno-unused-local-typedef -fembed-bitcode"
1013+
EXTRA_FLAGS="-DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS -g -DNDEBUG" \
1014+
" -fvisibility=hidden -fvisibility-inlines-hidden" \
1015+
" -Wno-unused-local-typedef -fembed-bitcode -Wno-nullability-completeness"
10151016
EXTRA_IOS_FLAGS="$EXTRA_FLAGS -mios-version-min=$MIN_IOS_VERSION"
10161017
EXTRA_TVOS_FLAGS="$EXTRA_FLAGS -mtvos-version-min=$MIN_TVOS_VERSION"
10171018
EXTRA_MACOS_FLAGS="$EXTRA_FLAGS -mmacosx-version-min=$MIN_MACOS_VERSION"
@@ -1050,8 +1051,11 @@ printf "$format" "BOOST_VERSION:" "$BOOST_VERSION"
10501051
printf "$format" "IOS_SDK_VERSION:" "$IOS_SDK_VERSION"
10511052
printf "$format" "MIN_IOS_VERSION:" "$MIN_IOS_VERSION"
10521053
printf "$format" "TVOS_SDK_VERSION:" "$TVOS_SDK_VERSION"
1054+
printf "$format" "TVOS_SDK_PATH:" "$TVOS_SDK_PATH"
1055+
printf "$format" "TVOSSIM_SDK_PATH:" "$TVOSSIM_SDK_PATH"
10531056
printf "$format" "MIN_TVOS_VERSION:" "$MIN_TVOS_VERSION"
10541057
printf "$format" "MACOS_SDK_VERSION:" "$MACOS_SDK_VERSION"
1058+
printf "$format" "MACOS_SDK_PATH:" "$MACOS_SDK_PATH"
10551059
printf "$format" "MIN_MACOS_VERSION:" "$MIN_MACOS_VERSION"
10561060
printf "$format" "MACOS_ARCHS:" "${MACOS_ARCHS[*]}"
10571061
printf "$format" "IOS_ARCHS:" "${IOS_ARCHS[*]}"

changelog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
-- 2018-07-27 --
2+
* Updated Boost version to 1.67.0
3+
* Fixed tvOS build
4+
15
-- 2018-06-07 --
26
* Added a CLI flag to create universal FAT binaries for iOS and tvOS.
37

0 commit comments

Comments
 (0)