2013-11-10 14:49:24 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
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
|
|
|
|
2013-11-10 15:33:34 +01:00
|
|
|
# SDK version to use
|
2013-11-10 14:49:24 +01:00
|
|
|
SDK_VERSION=10.8
|
|
|
|
|
|
|
|
# Minimum targeted OS X version
|
|
|
|
# Must be <= SDK_VERSION
|
|
|
|
# You can comment this variable out,
|
2013-11-11 21:04:21 +01:00
|
|
|
# if you want to use the compilers default value
|
2013-11-10 14:49:24 +01:00
|
|
|
OSX_VERSION_MIN=10.5
|
|
|
|
|
|
|
|
# ld version
|
|
|
|
LINKER_VERSION=134.9
|
|
|
|
|
|
|
|
# Don't change this
|
2013-12-02 19:37:37 +01:00
|
|
|
OSXCROSS_VERSION=0.5
|
2013-11-10 14:49:24 +01:00
|
|
|
|
|
|
|
TARBALL_DIR=$BASE_DIR/tarballs
|
|
|
|
BUILD_DIR=$BASE_DIR/build
|
|
|
|
TARGET_DIR=$BASE_DIR/target
|
|
|
|
PATCH_DIR=$BASE_DIR/patches
|
|
|
|
SDK_DIR=$TARGET_DIR/SDK
|
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
if [ -z "$OSX_VERSION_MIN" ]; then
|
2013-11-10 14:49:24 +01:00
|
|
|
OSX_VERSION_MIN="default"
|
|
|
|
fi
|
|
|
|
|
|
|
|
case $SDK_VERSION in
|
|
|
|
10.4*) TARGET=darwin8 ;;
|
|
|
|
10.5*) TARGET=darwin9 ;;
|
|
|
|
10.6*) TARGET=darwin10 ;;
|
|
|
|
10.7*) TARGET=darwin11 ;;
|
|
|
|
10.8*) TARGET=darwin12 ;;
|
|
|
|
10.9*) TARGET=darwin13 ;;
|
2013-12-16 21:53:21 +01:00
|
|
|
*) echo "Invalid SDK Version" && exit 1 ;;
|
2013-11-10 14:49:24 +01:00
|
|
|
esac
|
|
|
|
|
|
|
|
echo ""
|
2013-11-11 21:04:21 +01:00
|
|
|
echo "Building OSXCross toolchain, Version: $OSXCROSS_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"
|
|
|
|
echo ""
|
|
|
|
read -p "Press enter to start building"
|
|
|
|
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-11-14 20:28:27 +01:00
|
|
|
set +e
|
2013-11-10 14:49:24 +01:00
|
|
|
require $CC
|
|
|
|
require $CXX
|
|
|
|
require clang
|
|
|
|
require make
|
|
|
|
require sed
|
|
|
|
require patch
|
|
|
|
require gunzip
|
|
|
|
require cpio
|
|
|
|
require autogen
|
|
|
|
require automake
|
|
|
|
require libtool
|
2013-11-14 20:28:27 +01:00
|
|
|
set -e
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
CLANG_TARGET_OPTION=`./oclang/check_target_option.sh`
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
pushd $BUILD_DIR &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
function remove_locks()
|
|
|
|
{
|
|
|
|
rm -rf $BUILD_DIR/have_cctools*
|
|
|
|
}
|
|
|
|
|
|
|
|
source $BASE_DIR/tools/trap_exit.sh
|
2013-12-15 19:06:50 +01:00
|
|
|
|
|
|
|
if [ "`ls $TARBALL_DIR/cctools*.tar.* | wc -l | tr -d ' '`" != "1" ]; then
|
|
|
|
echo ""
|
|
|
|
echo "There should only be one cctools*.tar.* archive in the tarballs directory"
|
|
|
|
echo ""
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
CCTOOLS_REVHASH=`ls $TARBALL_DIR/cctools*.tar.* | \
|
|
|
|
tr '_' ' ' | tr '.' ' ' | \
|
|
|
|
awk '{print $3}'`
|
|
|
|
|
|
|
|
if [ ! -f "have_cctools_${CCTOOLS_REVHASH}_$TARGET" ]; then
|
|
|
|
|
|
|
|
rm -rf cctools*
|
|
|
|
rm -rf xar*
|
2014-01-26 18:39:36 +01:00
|
|
|
rm -rf bc*
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
tar xJfv $TARBALL_DIR/cctools*.tar.xz
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
pushd cctools*/cctools &>/dev/null
|
2013-11-13 19:36:39 +01:00
|
|
|
patch -p0 < $PATCH_DIR/cctools-ld64-1.patch
|
|
|
|
patch -p0 < $PATCH_DIR/cctools-ld64-2.patch
|
|
|
|
patch -p0 < $PATCH_DIR/cctools-ld64-3.patch
|
2013-11-10 14:49:24 +01:00
|
|
|
./autogen.sh
|
2013-12-15 19:06:50 +01:00
|
|
|
echo ""
|
|
|
|
echo "if you see automake warnings, ignore them"
|
|
|
|
echo "automake 1.14+ is supposed to print a lot of warnings"
|
|
|
|
echo ""
|
2013-11-13 19:36:39 +01:00
|
|
|
./configure --prefix=$TARGET_DIR --target=x86_64-apple-$TARGET
|
|
|
|
make -j$JOBS
|
|
|
|
make install -j$JOBS
|
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
|
|
|
pushd $TARGET_DIR/bin &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
CCTOOLS=`find . -name "x86_64-apple-darwin*"`
|
|
|
|
CCTOOLS=($CCTOOLS)
|
|
|
|
for CCTOOL in ${CCTOOLS[@]}; do
|
|
|
|
CCTOOL_I386=`echo "$CCTOOL" | sed 's/x86_64/i386/g'`
|
2013-11-13 19:36:39 +01:00
|
|
|
ln -sf $CCTOOL $CCTOOL_I386
|
2013-11-10 14:49:24 +01:00
|
|
|
done
|
2013-12-16 21:53:21 +01:00
|
|
|
popd &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
fi # have cctools
|
|
|
|
|
2014-01-26 18:39:36 +01:00
|
|
|
|
|
|
|
set +e
|
|
|
|
which bc &>/dev/null
|
|
|
|
NEED_BC=$?
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
|
|
if [ $NEED_BC -ne 0 ]; then
|
|
|
|
|
|
|
|
tar xfv $TARBALL_DIR/bc*.tar.bz2
|
|
|
|
|
|
|
|
pushd bc* &>/dev/null
|
|
|
|
CFLAGS="-w" ./configure --prefix=$TARGET_DIR --without-flex
|
|
|
|
make -j$JOBS
|
|
|
|
make install -j$JOBS
|
|
|
|
popd &>/dev/null
|
|
|
|
|
|
|
|
fi # NEED BC
|
|
|
|
|
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
if [ ! -f "have_xar_$TARGET" ]; then
|
|
|
|
if [ -n "$FORCE_XAR_BUILD" ] || [ `echo "$SDK_VERSION<=10.5" | bc -l` -eq 1 ]; then
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2014-01-26 18:39:36 +01:00
|
|
|
tar xzfv $TARBALL_DIR/xar*.tar.gz
|
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
pushd xar* &>/dev/null
|
2013-12-15 19:06:50 +01:00
|
|
|
set +e
|
|
|
|
sed -i 's/-Wall/-w/g' configure
|
|
|
|
set -e
|
2013-11-13 19:36:39 +01:00
|
|
|
./configure --prefix=$TARGET_DIR
|
|
|
|
make -j$JOBS
|
|
|
|
make install -j$JOBS
|
2013-12-16 21:53:21 +01:00
|
|
|
popd &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
fi # SDK <= 10.5
|
|
|
|
fi # have xar
|
|
|
|
|
|
|
|
if [ ! -f "have_cctools_$TARGET" ]; then
|
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
function check_cctools
|
2013-11-10 14:49:24 +01:00
|
|
|
{
|
|
|
|
[ -f "/$TARGET_DIR/bin/$1-apple-$TARGET-lipo" ] || exit 1
|
|
|
|
[ -f "/$TARGET_DIR/bin/$1-apple-$TARGET-ld" ] || exit 1
|
|
|
|
[ -f "/$TARGET_DIR/bin/$1-apple-$TARGET-nm" ] || exit 1
|
|
|
|
[ -f "/$TARGET_DIR/bin/$1-apple-$TARGET-ar" ] || exit 1
|
|
|
|
[ -f "/$TARGET_DIR/bin/$1-apple-$TARGET-ranlib" ] || exit 1
|
|
|
|
[ -f "/$TARGET_DIR/bin/$1-apple-$TARGET-strip" ] || exit 1
|
|
|
|
}
|
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
check_cctools i386
|
|
|
|
check_cctools x86_64
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
touch "have_cctools_${CCTOOLS_REVHASH}_$TARGET"
|
2013-11-10 14:49:24 +01:00
|
|
|
|
|
|
|
fi # HAVE_CCTOOLS
|
|
|
|
|
2013-12-01 22:11:50 +01:00
|
|
|
set +e
|
2013-11-10 14:49:24 +01:00
|
|
|
ls $TARBALL_DIR/MacOSX$SDK_VERSION* &>/dev/null
|
|
|
|
while [ $? -ne 0 ]
|
|
|
|
do
|
|
|
|
echo ""
|
|
|
|
echo "Get the MacOSX$SDK_VERSION SDK and move it into $TARBALL_DIR"
|
|
|
|
echo "(see README for SDK download links)"
|
|
|
|
echo ""
|
|
|
|
echo "You can press ctrl-c to break the build process,"
|
|
|
|
echo "if you restart ./build.sh then we will continue from here"
|
|
|
|
echo ""
|
|
|
|
read -p "Press enter to continue"
|
|
|
|
ls $TARBALL_DIR/MacOSX$SDK_VERSION* &>/dev/null
|
|
|
|
done
|
2013-12-01 22:11:50 +01:00
|
|
|
set -e
|
2013-11-10 14:49:24 +01:00
|
|
|
|
|
|
|
SDK=`ls $TARBALL_DIR/MacOSX$SDK_VERSION*`
|
|
|
|
SDK_FILENAME=`basename $SDK`
|
|
|
|
|
|
|
|
echo "extracting $SDK_FILENAME ..."
|
|
|
|
|
|
|
|
case $SDK in
|
|
|
|
*.pkg)
|
2013-12-15 19:06:50 +01:00
|
|
|
which xar &>/dev/null || { echo "please build with: FORCE_XAR_BUILD=1 ./build.sh" && exit 1; }
|
2013-11-13 19:36:39 +01:00
|
|
|
xar -xf $SDK
|
|
|
|
cat Payload | gunzip -dc | cpio -i 2>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
;;
|
|
|
|
*.tar.xz)
|
|
|
|
tar xJf $SDK
|
|
|
|
;;
|
|
|
|
*.tar.gz)
|
|
|
|
tar xzf $SDK
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
rm -rf $SDK_DIR/MacOSX$SDK_VERSION* 2>/dev/null
|
2013-11-13 19:36:39 +01:00
|
|
|
mv -f SDKs/*$SDK_VERSION* $SDK_DIR
|
2013-11-10 14:49:24 +01:00
|
|
|
|
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
|
2013-11-10 14:49:24 +01:00
|
|
|
ln -s $SDK_DIR/MacOSX$SDK_VERSION.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/std*.h usr/include 2>/dev/null
|
2013-12-02 19:37:37 +01:00
|
|
|
$BASE_DIR/oclang/find_intrinsic_headers.sh $SDK_DIR/MacOSX$SDK_VERSION.sdk
|
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
|
|
|
|
2014-01-01 17:58:19 +01:00
|
|
|
cp -f oclang/dsymutil $TARGET_DIR/bin
|
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
WRAPPER=$TARGET_DIR/bin/x86_64-apple-$TARGET-oclang
|
|
|
|
cp -f oclang/oclang $WRAPPER
|
|
|
|
|
|
|
|
WRAPPER_SCRIPT=`basename $WRAPPER`
|
|
|
|
WRAPPER_DIR=`dirname $WRAPPER`
|
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
pushd $WRAPPER_DIR &>/dev/null
|
2013-12-15 19:06:50 +01:00
|
|
|
|
|
|
|
ln -sf $WRAPPER_SCRIPT o32-clang
|
|
|
|
ln -sf $WRAPPER_SCRIPT o32-clang++
|
|
|
|
ln -sf $WRAPPER_SCRIPT o32-clang++-libc++
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
ln -sf $WRAPPER_SCRIPT o64-clang
|
|
|
|
ln -sf $WRAPPER_SCRIPT o64-clang++
|
|
|
|
ln -sf $WRAPPER_SCRIPT o64-clang++-libc++
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
ln -sf $WRAPPER_SCRIPT i386-apple-$TARGET-clang
|
|
|
|
ln -sf $WRAPPER_SCRIPT i386-apple-$TARGET-clang++
|
|
|
|
ln -sf $WRAPPER_SCRIPT i386-apple-$TARGET-clang++-libc++
|
|
|
|
|
|
|
|
ln -sf $WRAPPER_SCRIPT x86_64-apple-$TARGET-clang
|
|
|
|
ln -sf $WRAPPER_SCRIPT x86_64-apple-$TARGET-clang++
|
|
|
|
ln -sf $WRAPPER_SCRIPT x86_64-apple-$TARGET-clang++-libc++
|
|
|
|
|
2013-12-16 21:53:21 +01:00
|
|
|
popd &>/dev/null
|
2013-11-10 14:49:24 +01:00
|
|
|
|
2013-11-11 21:04:21 +01:00
|
|
|
OSXCROSS_CONF="$TARGET_DIR/bin/osxcross-conf"
|
2013-12-15 19:06:50 +01:00
|
|
|
OSXCROSS_ENV="$TARGET_DIR/bin/osxcross-env"
|
|
|
|
|
|
|
|
rm -f $OSXCROSS_CONF $ENV_CONF
|
|
|
|
|
|
|
|
echo "#!/usr/bin/env bash" > $OSXCROSS_CONF
|
|
|
|
echo "" >> $OSXCROSS_CONF
|
|
|
|
echo "pushd \"\${0%/*}\" &>/dev/null" >> $OSXCROSS_CONF
|
|
|
|
echo "" >> $OSXCROSS_CONF
|
|
|
|
echo "DIR=\`pwd\`" >> $OSXCROSS_CONF
|
|
|
|
echo "OSXCROSS_ROOT=\$DIR/../.." >> $OSXCROSS_CONF
|
|
|
|
echo "" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_VERSION=$OSXCROSS_VERSION\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_OSX_VERSION_MIN=$OSX_VERSION_MIN\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_TARGET=$TARGET\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_SDK_VERSION=$SDK_VERSION\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_SDK=\$DIR/../`basename $SDK_DIR`/MacOSX$SDK_VERSION.sdk\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_TARBALL_DIR=\$OSXCROSS_ROOT/`basename $TARBALL_DIR`\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_PATCH_DIR=\$OSXCROSS_ROOT/`basename $PATCH_DIR`\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_TARGET_DIR=\$OSXCROSS_ROOT/`basename $TARGET_DIR`\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_BUILD_DIR=\$OSXCROSS_ROOT/`basename $BUILD_DIR`\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_CCTOOLS_PATH=\$DIR\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_TARGET_OPTION=$CLANG_TARGET_OPTION\"" >> $OSXCROSS_CONF
|
|
|
|
echo "echo \"export OSXCROSS_LINKER_VERSION=$LINKER_VERSION\"" >> $OSXCROSS_CONF
|
|
|
|
echo "" >> $OSXCROSS_CONF
|
|
|
|
echo "popd &>/dev/null" >> $OSXCROSS_CONF
|
|
|
|
echo "" >> $OSXCROSS_CONF
|
|
|
|
|
2013-12-15 19:48:36 +01:00
|
|
|
if [ -f $BUILD_DIR/cctools*/cctools/tmp/ldpath ]; then
|
|
|
|
LIB_PATH=:`cat $BUILD_DIR/cctools*/cctools/tmp/ldpath`
|
2013-12-15 19:06:50 +01:00
|
|
|
else
|
|
|
|
LIB_PATH=""
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "#!/bin/sh" > $OSXCROSS_ENV
|
|
|
|
echo "" >> $OSXCROSS_ENV
|
|
|
|
echo "BDIR=\`readlink -f \\\`dirname \$0\\\`\`" >> $OSXCROSS_ENV
|
|
|
|
echo "" >> $OSXCROSS_ENV
|
|
|
|
echo "echo \"export PATH=\$PATH:\$BDIR\"" >> $OSXCROSS_ENV
|
|
|
|
echo "echo \"export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$BDIR/../lib${LIB_PATH}"\" >> $OSXCROSS_ENV
|
|
|
|
|
|
|
|
chmod +x $OSXCROSS_CONF $OSXCROSS_ENV
|
2013-11-11 21:04:21 +01:00
|
|
|
|
2013-12-15 19:06:50 +01:00
|
|
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:`cat $BUILD_DIR/cctools*/cctools/tmp/ldpath`" # libLTO.so
|
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
|
|
|
|
2014-01-07 22:40:56 +01:00
|
|
|
if [ `echo "$SDK_VERSION>=10.9" | bc -l` -eq 1 ] && ( [ $OSX_VERSION_MIN == "default" ] ||
|
|
|
|
[ `echo "$OSX_VERSION_MIN>=10.9" | bc -l` -eq 1 ] );
|
|
|
|
then
|
|
|
|
export SCRIPT=`basename $0`
|
|
|
|
./build_libcxx.sh || exit 0
|
|
|
|
fi
|
|
|
|
|
2013-11-10 14:49:24 +01:00
|
|
|
test_compiler o32-clang $BASE_DIR/oclang/test.c
|
|
|
|
test_compiler o64-clang $BASE_DIR/oclang/test.c
|
|
|
|
|
|
|
|
test_compiler o32-clang++ $BASE_DIR/oclang/test.cpp
|
|
|
|
test_compiler o64-clang++ $BASE_DIR/oclang/test.cpp
|
|
|
|
|
|
|
|
echo ""
|
2013-12-16 21:53:21 +01:00
|
|
|
echo "Now add"
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
2013-12-16 21:53:21 +01:00
|
|
|
echo -e "\e[32m\`$OSXCROSS_ENV\`\e[0m"
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
2014-02-02 23:32:06 +01:00
|
|
|
echo "to your ~/.profile (including the '\`')"
|
|
|
|
echo "and run 'source ~/.profile' or restart your session"
|
2013-11-10 14:49:24 +01:00
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo "Done! Now you can use o32-clang(++) and o64-clang(++) like a normal compiler"
|
|
|
|
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 ""
|