@@ -70,6 +70,8 @@ TVOS_ARM_DEV_CMD="xcrun --sdk appletvos"
7070TVOS_SIM_DEV_CMD=" xcrun --sdk appletvsimulator"
7171MACOS_DEV_CMD=" xcrun --sdk macosx"
7272
73+ BUILD_VARIANT=release
74+
7375# ===============================================================================
7476# Functions
7577# ===============================================================================
@@ -208,6 +210,9 @@ OPTIONS:
208210 directly in the 'Headers' directory.
209211 Added for compatibility with projects that expect this structure.
210212
213+ --debug
214+ Build a debug variant.
215+
211216 --clean
212217 Just clean up build artifacts, but don't actually build anything.
213218 (all other parameters are ignored)
@@ -369,6 +374,10 @@ parseArgs()
369374 UNIVERSAL=1
370375 ;;
371376
377+ --debug)
378+ BUILD_VARIANT=debug
379+ ;;
380+
372381 --clean)
373382 CLEAN=1
374383 ;;
@@ -613,22 +622,22 @@ buildBoost_iOS()
613622 --prefix=" $IOS_OUTPUT_DIR /prefix" toolset=darwin \
614623 cxxflags=" ${CXX_FLAGS} ${IOS_ARCH_FLAGS} " architecture=arm target-os=iphone \
615624 macosx-version=iphone-${IOS_SDK_VERSION} define=_LITTLE_ENDIAN \
616- link=static stage >> " ${IOS_OUTPUT_DIR} /ios-build.log" 2>&1
625+ link=static variant= ${BUILD_VARIANT} stage >> " ${IOS_OUTPUT_DIR} /ios-build.log" 2>&1
617626 if [ $? != 0 ]; then echo " Error staging iPhone. Check log." ; exit 1; fi
618627
619628 ./b2 $THREADS --build-dir=iphone-build --stagedir=iphone-build/stage \
620629 --prefix=" $IOS_OUTPUT_DIR /prefix" toolset=darwin \
621630 cxxflags=" ${CXX_FLAGS} ${IOS_ARCH_FLAGS} " architecture=arm \
622631 target-os=iphone macosx-version=iphone-${IOS_SDK_VERSION} \
623- define=_LITTLE_ENDIAN link=static install >> " ${IOS_OUTPUT_DIR} /ios-build.log" 2>&1
632+ define=_LITTLE_ENDIAN link=static variant= ${BUILD_VARIANT} install >> " ${IOS_OUTPUT_DIR} /ios-build.log" 2>&1
624633 if [ $? != 0 ]; then echo " Error installing iPhone. Check log." ; exit 1; fi
625634 doneSection
626635
627636 echo Building Boost for iPhoneSimulator
628637 ./b2 $THREADS --build-dir=iphonesim-build --stagedir=iphonesim-build/stage \
629638 toolset=darwin-${IOS_SDK_VERSION} ~iphonesim cxxflags=" ${CXX_FLAGS} " architecture=x86 \
630639 target-os=iphone macosx-version=iphonesim-${IOS_SDK_VERSION} \
631- link=static stage >> " ${IOS_OUTPUT_DIR} /ios-build.log" 2>&1
640+ link=static variant= ${BUILD_VARIANT} stage >> " ${IOS_OUTPUT_DIR} /ios-build.log" 2>&1
632641 if [ $? != 0 ]; then echo " Error staging iPhoneSimulator. Check log." ; exit 1; fi
633642 doneSection
634643}
@@ -642,20 +651,21 @@ buildBoost_tvOS()
642651 ./b2 $THREADS --build-dir=appletv-build --stagedir=appletv-build/stage \
643652 --prefix=" $TVOS_OUTPUT_DIR /prefix" toolset=darwin-${TVOS_SDK_VERSION} ~appletv \
644653 cxxflags=" ${CXX_FLAGS} " architecture=arm target-os=iphone define=_LITTLE_ENDIAN \
645- link=static stage >> " ${TVOS_OUTPUT_DIR} /tvos-build.log" 2>&1
654+ link=static variant= ${BUILD_VARIANT} stage >> " ${TVOS_OUTPUT_DIR} /tvos-build.log" 2>&1
646655 if [ $? != 0 ]; then echo " Error staging AppleTV. Check log." ; exit 1; fi
647656
648657 ./b2 $THREADS --build-dir=appletv-build --stagedir=appletv-build/stage \
649658 --prefix=" $TVOS_OUTPUT_DIR /prefix" toolset=darwin-${TVOS_SDK_VERSION} ~appletv \
650659 cxxflags=" ${CXX_FLAGS} " architecture=arm target-os=iphone define=_LITTLE_ENDIAN \
651- link=static install >> " ${TVOS_OUTPUT_DIR} /tvos-build.log" 2>&1
660+ link=static variant= ${BUILD_VARIANT} install >> " ${TVOS_OUTPUT_DIR} /tvos-build.log" 2>&1
652661 if [ $? != 0 ]; then echo " Error installing AppleTV. Check log." ; exit 1; fi
653662 doneSection
654663
655664 echo Building Boost for AppleTVSimulator
656665 ./b2 $THREADS --build-dir=appletv-build --stagedir=appletvsim-build/stage \
657666 toolset=darwin-${TVOS_SDK_VERSION} ~appletvsim architecture=x86 \
658- cxxflags=" ${CXX_FLAGS} " target-os=iphone link=static stage >> " ${TVOS_OUTPUT_DIR} /tvos-build.log" 2>&1
667+ cxxflags=" ${CXX_FLAGS} " target-os=iphone link=static variant=${BUILD_VARIANT} \
668+ stage >> " ${TVOS_OUTPUT_DIR} /tvos-build.log" 2>&1
659669 if [ $? != 0 ]; then echo " Error staging AppleTVSimulator. Check log." ; exit 1; fi
660670 doneSection
661671}
@@ -669,14 +679,14 @@ buildBoost_macOS()
669679 ./b2 $THREADS --build-dir=macos-build --stagedir=macos-build/stage --prefix=" $MACOS_OUTPUT_DIR /prefix" \
670680 toolset=darwin-${MACOS_SDK_VERSION} architecture=x86 \
671681 cxxflags=" ${CXX_FLAGS} ${MACOS_ARCH_FLAGS} ${EXTRA_MACOS_SDK_FLAGS} " \
672- linkflags=" -stdlib=libc++ ${EXTRA_MACOS_SDK_FLAGS} " link=static threading=multi \
682+ linkflags=" -stdlib=libc++ ${EXTRA_MACOS_SDK_FLAGS} " link=static variant= ${BUILD_VARIANT} threading=multi \
673683 macosx-version=${MACOS_SDK_VERSION} stage >> " ${MACOS_OUTPUT_DIR} /macos-build.log" 2>&1
674684 if [ $? != 0 ]; then echo " Error staging macOS. Check log." ; exit 1; fi
675685
676686 ./b2 $THREADS --build-dir=macos-build --stagedir=macos-build/stage --prefix=" $MACOS_OUTPUT_DIR /prefix" \
677687 toolset=darwin-${MACOS_SDK_VERSION} architecture=x86 \
678688 cxxflags=" ${CXX_FLAGS} ${MACOS_ARCH_FLAGS} ${EXTRA_MACOS_SDK_FLAGS} " \
679- linkflags=" -stdlib=libc++ ${EXTRA_MACOS_SDK_FLAGS} " link=static threading=multi \
689+ linkflags=" -stdlib=libc++ ${EXTRA_MACOS_SDK_FLAGS} " link=static variant= ${BUILD_VARIANT} threading=multi \
680690 macosx-version=${MACOS_SDK_VERSION} install >> " ${MACOS_OUTPUT_DIR} /macos-build.log" 2>&1
681691 if [ $? != 0 ]; then echo " Error installing macOS. Check log." ; exit 1; fi
682692
@@ -1056,9 +1066,9 @@ BOOST_VERSION2="${BOOST_VERSION//./_}"
10561066BOOST_TARBALL=" $CURRENT_DIR /boost_$BOOST_VERSION2 .tar.bz2"
10571067BOOST_SRC=" $SRCDIR /boost_${BOOST_VERSION2} "
10581068OUTPUT_DIR=" $CURRENT_DIR /build/boost/$BOOST_VERSION "
1059- IOS_OUTPUT_DIR=" $OUTPUT_DIR /ios"
1060- TVOS_OUTPUT_DIR=" $OUTPUT_DIR /tvos"
1061- MACOS_OUTPUT_DIR=" $OUTPUT_DIR /macos"
1069+ IOS_OUTPUT_DIR=" $OUTPUT_DIR /ios/ $BUILD_VARIANT "
1070+ TVOS_OUTPUT_DIR=" $OUTPUT_DIR /tvos/ $BUILD_VARIANT "
1071+ MACOS_OUTPUT_DIR=" $OUTPUT_DIR /macos/ $BUILD_VARIANT "
10621072IOS_BUILD_DIR=" $IOS_OUTPUT_DIR /build"
10631073TVOS_BUILD_DIR=" $TVOS_OUTPUT_DIR /build"
10641074MACOS_BUILD_DIR=" $MACOS_OUTPUT_DIR /build"
@@ -1101,6 +1111,7 @@ printf "$format" "IOS_FRAMEWORK_DIR:" "$IOS_FRAMEWORK_DIR"
11011111printf " $format " " MACOS_FRAMEWORK_DIR:" " $MACOS_FRAMEWORK_DIR "
11021112printf " $format " " XCODE_ROOT:" " $XCODE_ROOT "
11031113printf " $format " " THREADS:" " $THREADS "
1114+ printf " $format " " VARIANT:" " $BUILD_VARIANT "
11041115echo
11051116
11061117if [[ -n " $PURGE " ]]; then
0 commit comments