diff options
-rwxr-xr-x | BUILD/compile-darwin-mwcc | 54 | ||||
-rwxr-xr-x | support-files/MacOSX/mwar-wrapper | 16 | ||||
-rwxr-xr-x | support-files/MacOSX/mwcc-wrapper | 48 |
3 files changed, 118 insertions, 0 deletions
diff --git a/BUILD/compile-darwin-mwcc b/BUILD/compile-darwin-mwcc new file mode 100755 index 00000000000..6fd0eab7e26 --- /dev/null +++ b/BUILD/compile-darwin-mwcc @@ -0,0 +1,54 @@ +#! /bin/sh + +path=`dirname $0` +. "$path/SETUP.sh" + +c_warnings="" +cxx_warnings="" +fast_cflags="-O3" +base_cxxflags="-fno-handle-exceptions" + +# FIXME do we need to link static, not to depend on CodeWarrior libs? + +if [ x$MODE = x ] ; then + echo "You need to give an argument, 'standard', 'max', 'debug' or 'debug-max'" + echo "Like: MODE=standard BUILD/compile-darwin-codewarrior" + exit 1 +else + case $MODE in + standard|pro-gpl) + # FIXME pro/pro-gpl different libedit/readline + extra_flags="$ppc_cflags $fast_cflags" + ;; + pro) + # FIXME pro/pro-gpl different libedit/readline + extra_flags="$ppc_cflags $fast_cflags" + extra_configs="--with-libedit" + ;; + max) + extra_flags="$ppc_cflags $fast_cflags" + extra_configs="$max_configs" + ;; + debug) + extra_flags="$ppc_cflags $debug_cflags" + c_warnings="$c_warnings $debug_extra_warnings" + cxx_warnings="$cxx_warnings $debug_extra_warnings" + extra_configs="$debug_configs" + ;; + debug-max) + extra_flags="$ppc_cflags $debug_cflags $max_cflags" + c_warnings="$c_warnings $debug_extra_warnings" + cxx_warnings="$cxx_warnings $debug_extra_warnings" + extra_configs="$debug_configs $max_configs" + ;; + *) + echo "You need to give an argument, 'standard', 'max', 'debug' or 'debug-max'" + echo "Like: MODE=standard BUILD/compile-darwin-codewarrior" + exit 1 + ;; + esac +fi + +extra_configs="$extra_configs --with-darwin-mwcc" + +. "$path/FINISH.sh" diff --git a/support-files/MacOSX/mwar-wrapper b/support-files/MacOSX/mwar-wrapper new file mode 100755 index 00000000000..4bc5153e7ef --- /dev/null +++ b/support-files/MacOSX/mwar-wrapper @@ -0,0 +1,16 @@ +#!/bin/sh + +# This script can only create a library, not take it apart +# again to AR files + +case $1 in + -d*|-m*|-t*|-p*|-r*|-x*|x) + echo "$0: can't handle arguments $*" + exit 1; + ;; + -c|c|cr|cru|cu) + shift; + ;; +esac + +exec mwld -lib -o $* diff --git a/support-files/MacOSX/mwcc-wrapper b/support-files/MacOSX/mwcc-wrapper new file mode 100755 index 00000000000..914578aca1d --- /dev/null +++ b/support-files/MacOSX/mwcc-wrapper @@ -0,0 +1,48 @@ +#!/bin/sh + +if [ -z "$CWINSTALL" ] ; then + echo "ERROR: You need to source 'mwvars' to set CWINSTALL and other variables" + exit 1 +fi + +if [ `expr "$MWMacOSXPPCLibraryFiles" : ".*BSD.*"` = 0 ] ; then + echo "ERROR: You need to source 'mwvars' with the 'bsd' argument" + exit 1 +fi + +# ============================================================================== + +# Extra options that don't change + +PREOPTS="-D__SCHAR_MAX__=127 -D__CHAR_BIT__=8 -ext o -gccinc" +PREOPTS="$PREOPTS -wchar_t on -bool on -relax_pointers -align power_gcc" +PREOPTS="$PREOPTS -stabs all -fno-handle-exceptions -Cpp_exceptions off" + +# ============================================================================== + +# We want the "PPC Specific" directory to be last, before the source +# file. It is to work around a CodeWarrior/Apple bug, that we need a +# Metrowersk header even though we have configured CodeWarrior to use +# the BSD headers. But not to conflict, the directory has to be last. + +# FIXME this will probably break if one path contains space characters + +PREARGS="" +for i in $* ; do + case "$i" in + -bind_at_load) + # This is a flag some version of libtool adds, when the host + # is "*darwin*". It doesn't check that it is gcc. + # FIXME add some flag?! + ;; + *.c|*.cc|*.cpp) + break + ;; + *) + PREARGS="$PREARGS $1" + ;; + esac + shift +done +#echo "mwcc $PREOPTS $PREARGS -I\"$CWINSTALL/MacOS X Support/Headers/PPC Specific\" $*" +exec mwcc $PREOPTS $PREARGS -I"$CWINSTALL/MacOS X Support/Headers/PPC Specific" $* |