Fix Mac OS X architecture detection for non-default Xcode setup.
The arch.test script is now using SDK settings passed to it. If you install Xcode without the "UNIX Development" option, this is essential to let the compiler find standard headers and let the test program compile successfully. In addition, let configure pass the SDK settings given on the command line to the arch.test script. Change-Id: I49601d3068d83a71e21fdbac287857f2b7abedd1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
55640cd3ee
commit
13b1395924
@ -6,6 +6,24 @@ SRCDIR=$3
|
||||
OUTDIR=$4
|
||||
RESULTFILE=$5
|
||||
VARPREFIX=$6
|
||||
shift 6
|
||||
|
||||
LFLAGS="$SYSROOT_FLAG"
|
||||
CXXFLAGS="$SYSROOT_FLAG"
|
||||
|
||||
while [ "$#" -gt 0 ]; do
|
||||
PARAM=$1
|
||||
case $PARAM in
|
||||
-sdk)
|
||||
LFLAGS="$LFLAGS -Wl,-syslibroot,$2"
|
||||
CXXFLAGS="$CXXFLAGS -isysroot $2"
|
||||
shift
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
|
||||
# debuggery
|
||||
[ "$VERBOSE" = "yes" ] && echo "Determining architecture... ($*)"
|
||||
@ -13,7 +31,7 @@ VARPREFIX=$6
|
||||
# build a test program but don't run it
|
||||
test -d "$OUTDIR/config.tests/arch" || mkdir -p "$OUTDIR/config.tests/arch"
|
||||
[ -f Makefile ] && $MAKE distclean >/dev/null 2>&1
|
||||
OUTDIR=$OUTDIR "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "LIBS+=$SYSROOT_FLAG" "QMAKE_CXXFLAGS+=$SYSROOT_FLAG" "$SRCDIR/config.tests/arch/arch.pro" -o "$OUTDIR/config.tests/arch/Makefile" >/dev/null 2>&1 || echo "qmake is broken" >&2
|
||||
OUTDIR=$OUTDIR "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "LIBS+=$LFLAGS" "QMAKE_CXXFLAGS+=$CXXFLAGS" "$SRCDIR/config.tests/arch/arch.pro" -o "$OUTDIR/config.tests/arch/Makefile" >/dev/null 2>&1 || echo "qmake is broken" >&2
|
||||
cd "$OUTDIR/config.tests/arch"
|
||||
|
||||
|
||||
|
8
configure
vendored
8
configure
vendored
@ -2541,7 +2541,7 @@ if [ -n "$CFG_SYSROOT" ]; then
|
||||
else
|
||||
SYSROOT_FLAG=
|
||||
fi
|
||||
export SYSROOT_FLAG # used by config.tests/unix/compile.test
|
||||
export SYSROOT_FLAG # used by config.tests/unix/{compile.test,arch.test}
|
||||
|
||||
# auto-detect precompiled header support
|
||||
if [ "$CFG_PRECOMPILE" = "auto" ]; then
|
||||
@ -3752,9 +3752,9 @@ fi
|
||||
# determine the target and host architectures
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
|
||||
# Use config.tests/arch/arch.pro to have the compiler tell us what the target architecture is
|
||||
OUTFILE=$outpath/arch.result
|
||||
"$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG"
|
||||
"$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG" $MAC_CONFIG_TEST_COMMANDLINE
|
||||
if [ $? -eq 0 ]; then
|
||||
eval `cat "$OUTFILE"`
|
||||
else
|
||||
@ -3767,7 +3767,7 @@ rm -f "$OUTFILE" 2>/dev/null
|
||||
|
||||
if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
|
||||
# Do the same test again, using the host compiler
|
||||
SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG_HOST"
|
||||
SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG_HOST" $MAC_CONFIG_TEST_COMMANDLINE
|
||||
if [ $? -eq 0 ]; then
|
||||
eval `cat "$OUTFILE"`
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user