2013-11-10 14:49:24 +01:00
|
|
|
#!/usr/bin/env bash
|
2017-01-18 10:47:13 +01:00
|
|
|
#
|
|
|
|
# Build and install the cctools the SDK and macports.
|
|
|
|
#
|
|
|
|
# This script requires the OS X SDK and the Clang/LLVM compiler.
|
|
|
|
#
|
|
|
|
|
2020-08-15 20:07:54 +02:00
|
|
|
VERSION=1.3
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-02 19:37:37 +01:00
|
|
|
pushd "${0%/*}" &>/dev/null
|
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
source tools/tools.sh
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2014-03-22 18:02:28 +01:00
|
|
|
if [ $SDK_VERSION ]; then
|
2014-04-06 15:58:15 +02:00
|
|
|
echo 'SDK VERSION set in environment variable:' $SDK_VERSION
|
2014-03-22 18:02:28 +01:00
|
|
|
else
|
2014-04-06 15:58:15 +02:00
|
|
|
guess_sdk_version
|
|
|
|
SDK_VERSION=$guess_sdk_version_result
|
2014-03-22 18:02:28 +01:00
|
|
|
fi
|
|
|
|
verify_sdk_version $SDK_VERSION
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
case $SDK_VERSION in
|
2020-03-22 13:04:53 +01:00
|
|
|
10.4*|10.5*)
|
|
|
|
echo ""
|
|
|
|
echo "SDK <= 10.5 no longer supported. Use 'osxcross-1.1' branch instead."
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
case $SDK_VERSION in
|
2020-08-15 20:07:54 +02:00
|
|
|
10.6*) TARGET=darwin10; X86_64H_SUPPORTED=0; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=0; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.7*) TARGET=darwin11; X86_64H_SUPPORTED=0; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=0; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.8*) TARGET=darwin12; X86_64H_SUPPORTED=1; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=0; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.9*) TARGET=darwin13; X86_64H_SUPPORTED=1; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=0; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.10*) TARGET=darwin14; X86_64H_SUPPORTED=1; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=0; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.11*) TARGET=darwin15; X86_64H_SUPPORTED=1; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=1; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.12*) TARGET=darwin16; X86_64H_SUPPORTED=1; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=1; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.13*) TARGET=darwin17; X86_64H_SUPPORTED=1; I386_SUPPORTED=1; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=1; OSX_VERSION_MIN_INT=10.6; ;;
|
|
|
|
10.14*) TARGET=darwin18; X86_64H_SUPPORTED=1; I386_SUPPORTED=0; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=1; OSX_VERSION_MIN_INT=10.9; ;;
|
|
|
|
10.15*) TARGET=darwin19; X86_64H_SUPPORTED=1; I386_SUPPORTED=0; ARM_SUPPORTED=0; NEED_TAPI_SUPPORT=1; OSX_VERSION_MIN_INT=10.9; ;;
|
|
|
|
10.16*) TARGET=darwin20; X86_64H_SUPPORTED=1; I386_SUPPORTED=0; ARM_SUPPORTED=1; NEED_TAPI_SUPPORT=1; OSX_VERSION_MIN_INT=10.9; ;;
|
|
|
|
11.0*) TARGET=darwin20; X86_64H_SUPPORTED=1; I386_SUPPORTED=0; ARM_SUPPORTED=1; NEED_TAPI_SUPPORT=1; OSX_VERSION_MIN_INT=10.9; ;;
|
|
|
|
*) echo "Unsupported SDK"; exit 1 ;;
|
2019-06-01 19:57:44 +02:00
|
|
|
esac
|
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
# Minimum targeted OS X version
|
|
|
|
# Must be <= SDK_VERSION
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ -n "$OSX_VERSION_MIN_INT" -a -z "$OSX_VERSION_MIN" ]; then
|
|
|
|
OSX_VERSION_MIN=$OSX_VERSION_MIN_INT
|
2014-03-24 23:11:25 +01:00
|
|
|
fi
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2014-04-06 22:27:59 +02:00
|
|
|
export TARGET
|
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
2019-11-02 13:26:21 +01:00
|
|
|
echo "Building OSXCross toolchain, Version: $VERSION"
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
|
|
|
echo "OS X SDK Version: $SDK_VERSION, Target: $TARGET"
|
|
|
|
echo "Minimum targeted OS X Version: $OSX_VERSION_MIN"
|
|
|
|
echo "Tarball Directory: $TARBALL_DIR"
|
|
|
|
echo "Build Directory: $BUILD_DIR"
|
|
|
|
echo "Install Directory: $TARGET_DIR"
|
|
|
|
echo "SDK Install Directory: $SDK_DIR"
|
2015-06-21 19:35:09 +02:00
|
|
|
if [ -z "$UNATTENDED" ]; then
|
|
|
|
echo ""
|
|
|
|
read -p "Press enter to start building"
|
|
|
|
fi
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
|
|
|
|
|
|
|
export PATH=$TARGET_DIR/bin:$PATH
|
|
|
|
|
2013-11-13 19:36:39 +01:00
|
|
|
mkdir -p $BUILD_DIR
|
|
|
|
mkdir -p $TARGET_DIR
|
|
|
|
mkdir -p $SDK_DIR
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
source $BASE_DIR/tools/trap_exit.sh
|
2013-12-15 19:06:50 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
pushd $BUILD_DIR &>/dev/null
|
2013-12-15 19:06:50 +01:00
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
|
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
OLD_SDK_VERSION=$(cat .oc_sdk_version 2>/dev/null || echo "")
|
|
|
|
echo -n "$SDK_VERSION" > .oc_sdk_version
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ "$SDK_VERSION" != "$OLD_SDK_VERSION" ]; then
|
|
|
|
# SDK Version has changed. -> Rebuild everything.
|
|
|
|
rm -f .*_build_complete
|
2015-06-27 20:40:13 +02:00
|
|
|
fi
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
# XAR
|
2016-10-29 19:48:48 +02:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
build_xar
|
2014-01-26 18:39:36 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
# XAR END
|
2014-12-24 10:52:24 +01:00
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## Apple TAPI Library ##
|
2014-01-26 18:39:36 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ $NEED_TAPI_SUPPORT -eq 1 ]; then
|
2020-08-15 16:34:47 +02:00
|
|
|
get_sources https://github.com/tpoechtrager/apple-libtapi.git 1100.0.11
|
2014-03-24 23:11:25 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ $f_res -eq 1 ]; then
|
|
|
|
pushd $CURRENT_BUILD_PROJECT_NAME &>/dev/null
|
|
|
|
INSTALLPREFIX=$TARGET_DIR ./build.sh
|
|
|
|
./install.sh
|
|
|
|
popd &>/dev/null
|
|
|
|
build_success
|
|
|
|
fi
|
|
|
|
fi
|
2014-03-24 23:11:25 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## cctools and ld64 ##
|
2014-03-24 23:11:25 +01:00
|
|
|
|
2020-03-20 16:29:20 +01:00
|
|
|
CCTOOLS_VERSION=949.0.1
|
2020-06-01 12:14:27 +02:00
|
|
|
LINKER_VERSION=530
|
2013-12-15 19:06:50 +01:00
|
|
|
|
2019-11-02 13:26:21 +01:00
|
|
|
get_sources \
|
|
|
|
https://github.com/tpoechtrager/cctools-port.git \
|
|
|
|
$CCTOOLS_VERSION-ld64-$LINKER_VERSION
|
2013-12-15 19:06:50 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ $f_res -eq 1 ]; then
|
|
|
|
pushd $CURRENT_BUILD_PROJECT_NAME/cctools &>/dev/null
|
|
|
|
echo ""
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
CONFFLAGS="--prefix=$TARGET_DIR --target=x86_64-apple-$TARGET "
|
|
|
|
if [ $NEED_TAPI_SUPPORT -eq 1 ]; then
|
|
|
|
CONFFLAGS+="--with-libtapi=$TARGET_DIR "
|
|
|
|
fi
|
2019-06-04 18:23:36 +02:00
|
|
|
CONFFLAGS+="--with-libxar=$TARGET_DIR "
|
2019-08-19 20:48:23 +02:00
|
|
|
[ -n "$DISABLE_CLANG_AS" ] && CONFFLAGS+="--disable-clang-as "
|
2019-06-01 19:57:44 +02:00
|
|
|
[ -n "$DISABLE_LTO_SUPPORT" ] && CONFFLAGS+="--disable-lto-support "
|
2020-03-22 13:04:53 +01:00
|
|
|
./configure $CONFFLAGS
|
2019-06-01 19:57:44 +02:00
|
|
|
$MAKE -j$JOBS
|
|
|
|
$MAKE install -j$JOBS
|
|
|
|
popd &>/dev/null
|
|
|
|
|
|
|
|
pushd $TARGET_DIR/bin &>/dev/null
|
|
|
|
CCTOOLS=$(find . -name "x86_64-apple-darwin*")
|
|
|
|
CCTOOLS=($CCTOOLS)
|
|
|
|
if [ $X86_64H_SUPPORTED -eq 1 ]; then
|
|
|
|
for CCTOOL in ${CCTOOLS[@]}; do
|
|
|
|
CCTOOL_X86_64H=$(echo "$CCTOOL" | $SED 's/x86_64/x86_64h/g')
|
|
|
|
create_symlink $CCTOOL $CCTOOL_X86_64H
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
if [ $I386_SUPPORTED -eq 1 ]; then
|
|
|
|
for CCTOOL in ${CCTOOLS[@]}; do
|
|
|
|
CCTOOL_I386=$(echo "$CCTOOL" | $SED 's/x86_64/i386/g')
|
|
|
|
create_symlink $CCTOOL $CCTOOL_I386
|
|
|
|
done
|
|
|
|
fi
|
2020-08-15 20:07:54 +02:00
|
|
|
if [ $ARM_SUPPORTED -eq 1 ]; then
|
|
|
|
for CCTOOL in ${CCTOOLS[@]}; do
|
|
|
|
CCTOOL_ARM64=$(echo "$CCTOOL" | $SED 's/x86_64/arm64/g')
|
|
|
|
create_symlink $CCTOOL $CCTOOL_ARM64
|
|
|
|
done
|
|
|
|
for CCTOOL in ${CCTOOLS[@]}; do
|
|
|
|
CCTOOL_ARM64E=$(echo "$CCTOOL" | $SED 's/x86_64/arm64e/g')
|
|
|
|
create_symlink $CCTOOL $CCTOOL_ARM64E
|
|
|
|
done
|
|
|
|
fi
|
2019-11-02 13:26:21 +01:00
|
|
|
# For unpatched dsymutil. There is currently no way around it.
|
|
|
|
create_symlink x86_64-apple-$TARGET-lipo lipo
|
2019-06-01 19:57:44 +02:00
|
|
|
popd &>/dev/null
|
|
|
|
fi
|
2013-11-10 14:49:24 +01:00
|
|
|
|
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## MacPorts ##
|
2014-03-24 23:11:25 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
pushd $TARGET_DIR/bin &>/dev/null
|
2019-06-18 20:36:22 +02:00
|
|
|
rm -f osxcross-macports
|
|
|
|
cp $BASE_DIR/tools/osxcross-macports osxcross-macports
|
|
|
|
create_symlink osxcross-macports osxcross-mp
|
|
|
|
create_symlink osxcross-macports omp
|
2019-06-01 19:57:44 +02:00
|
|
|
popd &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## Extract SDK and move it to $SDK_DIR ##
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
SDK=$(ls $TARBALL_DIR/MacOSX$SDK_VERSION*)
|
2019-06-04 18:34:11 +02:00
|
|
|
echo ""
|
|
|
|
extract $SDK
|
2013-11-10 14:49:24 +01:00
|
|
|
|
|
|
|
rm -rf $SDK_DIR/MacOSX$SDK_VERSION* 2>/dev/null
|
2015-07-19 22:28:10 +02:00
|
|
|
if [ "$(ls -l SDKs/*$SDK_VERSION* 2>/dev/null | wc -l | tr -d ' ')" != "0" ]; then
|
2014-04-06 15:58:15 +02:00
|
|
|
mv -f SDKs/*$SDK_VERSION* $SDK_DIR
|
2014-03-28 21:04:32 +01:00
|
|
|
else
|
2014-04-06 15:58:15 +02:00
|
|
|
mv -f *OSX*$SDK_VERSION*sdk* $SDK_DIR
|
2014-03-28 21:04:32 +01:00
|
|
|
fi
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-11-06 20:42:24 +01:00
|
|
|
## Android/Termux is broken
|
|
|
|
|
|
|
|
if [ $OPERATING_SYSTEM == "Android" ]; then
|
|
|
|
pushd $SDK_DIR/MacOSX$SDK_VERSION.sdk &>/dev/null
|
|
|
|
mkdir -p data/data/com.termux/files/usr
|
|
|
|
create_symlink $PWD/usr/include data/data/com.termux/files/usr
|
|
|
|
popd &>/dev/null
|
|
|
|
fi
|
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## Fix broken SDKs ##
|
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
pushd $SDK_DIR/MacOSX$SDK_VERSION.sdk &>/dev/null
|
2013-11-13 19:36:39 +01:00
|
|
|
set +e
|
2020-02-19 17:12:36 +01:00
|
|
|
files=$(echo $BASE_DIR/oclang/quirks/*.h)
|
|
|
|
for file in $files; do
|
|
|
|
filename=$(basename $file)
|
|
|
|
if [ ! -f "usr/include/$filename" ]; then
|
|
|
|
rm -f usr/include/$filename # Broken symlink
|
2020-02-19 14:34:41 +01:00
|
|
|
cp $file usr/include
|
2020-02-19 17:12:36 +01:00
|
|
|
fi
|
|
|
|
done
|
2013-11-13 19:36:39 +01:00
|
|
|
set -e
|
2013-12-16 21:53:21 +01:00
|
|
|
popd &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
popd &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## Wrapper ##
|
2013-12-15 19:06:50 +01:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
build_msg "wrapper"
|
2014-04-17 20:51:16 +02:00
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
OSXCROSS_CONF="$TARGET_DIR/bin/osxcross-conf"
|
|
|
|
OSXCROSS_ENV="$TARGET_DIR/bin/osxcross-env"
|
|
|
|
rm -f $OSXCROSS_CONF $OSXCROSS_ENV
|
|
|
|
|
2014-04-14 21:59:03 +02:00
|
|
|
if [ "$PLATFORM" != "Darwin" ]; then
|
|
|
|
# libLTO.so
|
2014-11-21 23:06:01 +01:00
|
|
|
set +e
|
2015-07-19 22:28:10 +02:00
|
|
|
eval $(cat $BUILD_DIR/cctools*/cctools/config.log | grep LLVM_LIB_DIR | head -n1)
|
2014-11-21 23:06:01 +01:00
|
|
|
set -e
|
2019-11-02 13:26:21 +01:00
|
|
|
export LIBLTO_PATH=$LLVM_LIB_DIR
|
2014-04-14 21:59:03 +02:00
|
|
|
fi
|
2013-12-15 19:06:50 +01:00
|
|
|
|
2019-11-02 13:26:21 +01:00
|
|
|
export VERSION
|
|
|
|
export TARGET
|
|
|
|
export BUILD_DIR
|
|
|
|
export OSX_VERSION_MIN
|
|
|
|
export LIBLTO_PATH
|
|
|
|
export LINKER_VERSION
|
|
|
|
export X86_64H_SUPPORTED
|
|
|
|
export I386_SUPPORTED
|
2020-08-15 20:07:54 +02:00
|
|
|
export ARM_SUPPORTED
|
2019-11-02 13:26:21 +01:00
|
|
|
export TOP_BUILD_SCRIPT=1
|
2014-04-17 20:51:16 +02:00
|
|
|
|
2019-11-02 13:26:21 +01:00
|
|
|
$BASE_DIR/wrapper/build_wrapper.sh
|
2019-06-01 19:57:44 +02:00
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
|
|
|
|
2020-03-22 13:04:53 +01:00
|
|
|
if [ $(osxcross-cmp $SDK_VERSION "<" $OSX_VERSION_MIN) -eq 1 ]; then
|
2015-06-27 19:01:56 +02:00
|
|
|
echo "OSX_VERSION_MIN must be <= SDK_VERSION"
|
|
|
|
trap "" EXIT
|
|
|
|
exit 1
|
2020-03-22 13:04:53 +01:00
|
|
|
elif [ $(osxcross-cmp $OSX_VERSION_MIN "<" 10.6) -eq 1 ]; then
|
|
|
|
echo "OSX_VERSION_MIN must be >= 10.6"
|
2015-06-27 19:01:56 +02:00
|
|
|
trap "" EXIT
|
|
|
|
exit 1
|
2014-01-07 22:40:56 +01:00
|
|
|
fi
|
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## CMake ##
|
2018-03-10 18:29:47 +01:00
|
|
|
|
|
|
|
cp -f "$BASE_DIR/tools/toolchain.cmake" "$TARGET_DIR/"
|
|
|
|
cp -f "$BASE_DIR/tools/osxcross-cmake" "$TARGET_DIR/bin/"
|
|
|
|
chmod 755 "$TARGET_DIR/bin/osxcross-cmake"
|
|
|
|
create_symlink osxcross-cmake "$TARGET_DIR/bin/i386-apple-$TARGET-cmake"
|
|
|
|
create_symlink osxcross-cmake "$TARGET_DIR/bin/x86_64-apple-$TARGET-cmake"
|
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
## Compiler test ##
|
2018-03-10 18:29:47 +01:00
|
|
|
|
2015-06-27 19:01:56 +02:00
|
|
|
unset MACOSX_DEPLOYMENT_TARGET
|
|
|
|
|
2020-03-22 13:04:53 +01:00
|
|
|
if [ $(osxcross-cmp $SDK_VERSION ">=" 10.7) -eq 1 ]; then
|
2019-06-01 19:57:44 +02:00
|
|
|
pushd $SDK_DIR/MacOSX$SDK_VERSION.sdk &>/dev/null
|
|
|
|
if [ ! -f "usr/include/c++/v1/vector" ]; then
|
2014-03-28 21:04:32 +01:00
|
|
|
echo ""
|
2014-04-06 15:58:15 +02:00
|
|
|
echo -n "Given SDK does not contain libc++ headers "
|
|
|
|
echo "(-stdlib=libc++ test may fail)"
|
|
|
|
echo -n "You may want to re-package your SDK using "
|
|
|
|
echo "'tools/gen_sdk_package.sh' on OS X"
|
|
|
|
fi
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ -f "usr/include/c++/v1/__hash_table" ]; then
|
|
|
|
if [ $(osxcross-cmp $SDK_VERSION ">=" 10.7) -eq 1 ]; then
|
|
|
|
if [ $(osxcross-cmp $SDK_VERSION "<=" 10.12) -eq 1 ]; then
|
|
|
|
# https://github.com/tpoechtrager/osxcross/issues/171
|
|
|
|
set +e
|
|
|
|
patch -N -p1 -r /dev/null < $PATCH_DIR/libcxx__hash_table.patch
|
|
|
|
set -e
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
2019-09-14 11:37:05 +02:00
|
|
|
if [ -f "usr/include/Availability.h" ]; then
|
|
|
|
if [ $(osxcross-cmp $SDK_VERSION "==" 10.15) -eq 1 ]; then
|
|
|
|
# 10.15 comes with a broken Availability.h header file
|
|
|
|
# which breaks building GCC
|
|
|
|
set +e
|
|
|
|
cat $PATCH_DIR/gcc_availability.h >> usr/include/Availability.h
|
|
|
|
set -e
|
|
|
|
fi
|
|
|
|
fi
|
2019-06-01 19:57:44 +02:00
|
|
|
popd &>/dev/null
|
2014-04-06 15:58:15 +02:00
|
|
|
echo ""
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ $I386_SUPPORTED -eq 1 ]; then
|
2020-08-15 20:07:54 +02:00
|
|
|
test_compiler_cxx11 i386-apple-$TARGET-clang++ $BASE_DIR/oclang/test_libcxx.cpp
|
2019-06-01 19:57:44 +02:00
|
|
|
fi
|
2020-08-15 20:07:54 +02:00
|
|
|
test_compiler_cxx11 x86_64-apple-$TARGET-clang++ $BASE_DIR/oclang/test_libcxx.cpp
|
2019-06-01 19:57:44 +02:00
|
|
|
echo ""
|
2014-03-28 21:04:32 +01:00
|
|
|
fi
|
|
|
|
|
2019-06-01 19:57:44 +02:00
|
|
|
if [ $I386_SUPPORTED -eq 1 ]; then
|
2020-08-15 20:07:54 +02:00
|
|
|
test_compiler i386-apple-$TARGET-clang $BASE_DIR/oclang/test.c "required"
|
|
|
|
test_compiler i386-apple-$TARGET-clang++ $BASE_DIR/oclang/test.cpp "required"
|
|
|
|
echo ""
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $X86_64H_SUPPORTED -eq 1 ]; then
|
|
|
|
test_compiler x86_64h-apple-$TARGET-clang $BASE_DIR/oclang/test.c
|
|
|
|
test_compiler x86_64h-apple-$TARGET-clang++ $BASE_DIR/oclang/test.cpp
|
|
|
|
echo ""
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $ARM_SUPPORTED -eq 1 ]; then
|
|
|
|
test_compiler arm64-apple-$TARGET-clang $BASE_DIR/oclang/test.c
|
|
|
|
test_compiler arm64-apple-$TARGET-clang++ $BASE_DIR/oclang/test.cpp
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
test_compiler arm64e-apple-$TARGET-clang $BASE_DIR/oclang/test.c
|
|
|
|
test_compiler arm64e-apple-$TARGET-clang++ $BASE_DIR/oclang/test.cpp
|
2019-06-01 19:57:44 +02:00
|
|
|
echo ""
|
|
|
|
fi
|
|
|
|
|
2020-08-15 20:07:54 +02:00
|
|
|
test_compiler x86_64-apple-$TARGET-clang $BASE_DIR/oclang/test.c "required"
|
|
|
|
test_compiler x86_64-apple-$TARGET-clang++ $BASE_DIR/oclang/test.cpp "required"
|
2019-06-01 19:57:44 +02:00
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
2015-02-24 21:19:27 +01:00
|
|
|
echo "Do not forget to add"
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
2015-02-24 21:19:27 +01:00
|
|
|
echo -e "\x1B[32m${TARGET_DIR}/bin\x1B[0m"
|
2014-04-06 22:27:59 +02:00
|
|
|
echo ""
|
2015-02-24 21:19:27 +01:00
|
|
|
echo "to your PATH variable."
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
|
|
|
|
2015-02-24 21:19:27 +01:00
|
|
|
echo "All done! Now you can use o32-clang(++) and o64-clang(++) like a normal compiler."
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
|
|
|
echo "Example usage:"
|
|
|
|
echo ""
|
|
|
|
echo "Example 1: CC=o32-clang ./configure --host=i386-apple-$TARGET"
|
|
|
|
echo "Example 2: CC=i386-apple-$TARGET-clang ./configure --host=i386-apple-$TARGET"
|
|
|
|
echo "Example 3: o64-clang -Wall test.c -o test"
|
|
|
|
echo "Example 4: x86_64-apple-$TARGET-strip -x test"
|
|
|
|
echo ""
|
2019-06-01 19:57:44 +02:00
|
|
|
|
|
|
|
if [ $I386_SUPPORTED -eq 0 ]; then
|
|
|
|
echo "Your SDK does not support i386 anymore."
|
|
|
|
echo "Use <= 10.13 SDK if you rely on i386 support."
|
|
|
|
echo ""
|
|
|
|
fi
|
|
|
|
|
2020-03-22 13:04:53 +01:00
|
|
|
if [ $(osxcross-cmp $SDK_VERSION ">=" 10.14) -eq 1 ]; then
|
2019-06-01 19:57:44 +02:00
|
|
|
echo "Your SDK does not support libstdc++ anymore."
|
|
|
|
echo "Use <= 10.13 SDK if you rely on libstdc++ support."
|
|
|
|
echo ""
|
|
|
|
fi
|