osxcross/wrapper/build.sh
Thomas Pöchtrager e34da881ff misc wrapper changes:
- Machine -> Arch
- 'osxcross-conf': add missing OSXCROSS_VERSION
- error out on invald '-stdlib=' value
- add 'osxcross' util which can be used to check
  for an OSXCross installation
- fix 'libLTO.so: cannot open shared object file'
- listFiles(): windows implementation
- cleanup

get_dependencies.sh:
- debian: add --force-yes

add a patch to support some older linux dists
(such as debian squeeze)
2014-04-17 20:51:16 +02:00

140 lines
3.8 KiB
Bash
Executable File

#!/usr/bin/env bash
pushd "${0%/*}" &>/dev/null
pushd .. &>/dev/null
source ./tools/tools.sh
popd &>/dev/null
EXESUFFIX=""
function create_wrapper_link
{
verbose_cmd ln -sf "${TARGETTRIPLE}-wrapper${EXESUFFIX}" "${1}${EXESUFFIX}"
}
[ -z "$TARGET" ] && TARGET=darwin12
[ -z "$OSX_VERSION_MIN" ] && OSX_VERSION_MIN=10.5
[ -z "$LINKER_VERSION" ] && LINKER_VERSION=134.9
[ -z "$TARGETCOMPILER" ] && TARGETCOMPILER=clang
TARGETTRIPLE=x86_64-apple-$TARGET
FLAGS=""
if [ -n "$BWPLATFORM" ]; then
PLATFORM=$BWPLATFORM
if [ $PLATFORM = "Darwin" -a $(uname -s) != "Darwin" ]; then
CXX=o32-clang++
elif [ $PLATFORM = "FreeBSD" -a $(uname -s) != "FreeBSD" ]; then
CXX=amd64-pc-freebsd10.0-clang++
FLAGS+="-lrt "
elif [ $PLATFORM = "Windows" ]; then
CXX=w32-clang++
FLAGS+="-wc-static-runtime -g "
EXESUFFIX=".exe"
elif [ $PLATFORM = "MWindows" ]; then
CXX=i686-w64-mingw32-g++
FLAGS+="-static-libgcc -static-libstdc++ -g "
EXESUFFIX=".exe"
fi
else
PLATFORM=$(uname -s)
FLAGS="-march=native "
fi
if [ -n "$BWCXX" ]; then
[ "$CXX" != "$BWCXX" ] && echo "using $BWCXX" 1>&2
CXX=$BWCXX
fi
[ $PLATFORM = "Darwin" ] && FLAGS+="-framework CoreServices -Wno-deprecated "
[ $PLATFORM = "FreeBSD" ] && FLAGS+="-lutil "
if [[ $PLATFORM != *Windows ]] && [ $PLATFORM != "Darwin" ]; then
FLAGS+="-lrt "
fi
function compile_wrapper()
{
mkdir -p ../target ../target/bin
verbose_cmd $CXX compiler.cpp -std=c++0x -pedantic -Wall -Wextra \
"-DOSXCROSS_VERSION=\"\\\"$OSXCROSS_VERSION\\\"\"" \
"-DOSXCROSS_TARGET=\"\\\"$TARGET\\\"\"" \
"-DOSXCROSS_OSX_VERSION_MIN=\"\\\"$OSX_VERSION_MIN\\\"\"" \
"-DOSXCROSS_LINKER_VERSION=\"\\\"$LINKER_VERSION\\\"\"" \
"-DOSXCROSS_LIBLTO_PATH=\"\\\"$OSXCROSS_LIBLTO_PATH\\\"\"" \
-o "../target/bin/${TARGETTRIPLE}-wrapper${EXESUFFIX}" -O2 \
$FLAGS $*
}
compile_wrapper
pushd "../target/bin" &>/dev/null
if [ $TARGETCOMPILER = "clang" ]; then
create_wrapper_link o32-clang
create_wrapper_link o32-clang++
create_wrapper_link o32-clang++-libc++
create_wrapper_link o64-clang
create_wrapper_link o64-clang++
create_wrapper_link o64-clang++-libc++
create_wrapper_link i386-apple-$TARGET-clang
create_wrapper_link i386-apple-$TARGET-clang++
create_wrapper_link i386-apple-$TARGET-clang++-libc++
create_wrapper_link x86_64-apple-$TARGET-clang
create_wrapper_link x86_64-apple-$TARGET-clang++
create_wrapper_link x86_64-apple-$TARGET-clang++-libc++
elif [ $TARGETCOMPILER = "gcc" ]; then
create_wrapper_link o32-gcc
create_wrapper_link o32-g++
create_wrapper_link o32-g++-libc++
create_wrapper_link o64-gcc
create_wrapper_link o64-g++
create_wrapper_link o64-g++-libc++
create_wrapper_link i386-apple-$TARGET-gcc
create_wrapper_link i386-apple-$TARGET-g++
create_wrapper_link i386-apple-$TARGET-g++-libc++
create_wrapper_link x86_64-apple-$TARGET-gcc
create_wrapper_link x86_64-apple-$TARGET-g++
create_wrapper_link x86_64-apple-$TARGET-g++-libc++
fi
create_wrapper_link i386-apple-$TARGET-cc
create_wrapper_link i386-apple-$TARGET-c++
create_wrapper_link x86_64-apple-$TARGET-cc
create_wrapper_link x86_64-apple-$TARGET-c++
create_wrapper_link osxcross-conf
create_wrapper_link i386-apple-$TARGET-osxcross-conf
create_wrapper_link x86_64-apple-$TARGET-osxcross-conf
create_wrapper_link osxcross-env
create_wrapper_link i386-apple-$TARGET-osxcross-env
create_wrapper_link x86_64-apple-$TARGET-osxcross-env
create_wrapper_link osxcross
create_wrapper_link i386-apple-$TARGET-osxcross
create_wrapper_link x86_64-apple-$TARGET-osxcross
if [ "$PLATFORM" != "Darwin" ]; then
create_wrapper_link sw_vers
create_wrapper_link i386-apple-$TARGET-sw_vers
create_wrapper_link x86_64-apple-$TARGET-sw_vers
fi
create_wrapper_link dsymutil
create_wrapper_link i386-apple-$TARGET-dsymutil
create_wrapper_link x86_64-apple-$TARGET-dsymutil
popd &>/dev/null
popd &>/dev/null