summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfig.tests/unix/arch.test14
-rwxr-xr-xconfig.tests/unix/compile.test5
-rwxr-xr-xconfigure17
-rw-r--r--mkspecs/common/mac.conf7
-rw-r--r--mkspecs/features/mac/sdk.prf28
5 files changed, 31 insertions, 40 deletions
diff --git a/config.tests/unix/arch.test b/config.tests/unix/arch.test
index f25076600c..7250d737ba 100755
--- a/config.tests/unix/arch.test
+++ b/config.tests/unix/arch.test
@@ -19,20 +19,6 @@ fi
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... ($*)"
diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
index 3f8c5c51a2..79e7619d5b 100755
--- a/config.tests/unix/compile.test
+++ b/config.tests/unix/compile.test
@@ -32,11 +32,6 @@ while [ "$#" -gt 0 ]; do
MAC_ARCH_LFLAGS="$MAC_ARCH_LFLAGS -arch $2"
shift
;;
- -sdk)
- LFLAGS="$LFLAGS -Wl,-syslibroot,$2"
- CXXFLAGS="$CXXFLAGS -isysroot $2"
- shift
- ;;
-F*|-m*|-x*)
LFLAGS="$LFLAGS $PARAM"
CXXFLAGS="$CXXFLAGS $PARAM"
diff --git a/configure b/configure
index 77536b0563..ccd2782e62 100755
--- a/configure
+++ b/configure
@@ -859,7 +859,6 @@ CFG_EVENTFD=auto
CFG_RPATH=yes
CFG_FRAMEWORK=auto
CFG_MAC_HARFBUZZ=no
-CFG_SDK=
DEFINES=
D_FLAGS=
I_FLAGS=
@@ -1303,7 +1302,6 @@ while [ "$#" -gt 0 ]; do
;;
sdk)
if [ "$BUILD_ON_MAC" = "yes" ]; then
- CFG_SDK="$VAL"
DeviceVar set QMAKE_MAC_SDK "$VAL"
else
UNKNOWN_OPT=yes
@@ -2616,13 +2614,6 @@ if [ "$CFG_FORCEDEBUGINFO" = "yes" ]; then
QT_CONFIG="$QT_CONFIG force_debug_info"
fi
-# pass on $CFG_SDK to the arch/configure tests.
-if [ -n "$CFG_SDK" ]; then
- MAC_SDK_FLAG="-sdk $CFG_SDK"
-else
- MAC_SDK_FLAG=
-fi
-
# disable GTK style support auto-detection on Mac
if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_QGTKSTYLE" = "auto" ]; then
CFG_QGTKSTYLE=no
@@ -3329,8 +3320,8 @@ Qt/Mac only:
link tools against those frameworks.
-no-framework ...... Do not build Qt as a series of frameworks.
- -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
- To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
+ -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. The argument should be
+ one of the available SDKs as listed by 'xcodebuild -showsdks'.
-harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
* -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
@@ -3821,7 +3812,7 @@ compileTest()
path=config.tests/$1
name=$2
shift 2
- "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "$path" "$name" $I_FLAGS $D_FLAGS $L_FLAGS $MAC_SDK_FLAG "$@"
+ "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "$path" "$name" $I_FLAGS $D_FLAGS $L_FLAGS "$@"
}
#-------------------------------------------------------------------------------
@@ -3830,7 +3821,7 @@ compileTest()
# 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" "target" $MAC_SDK_FLAG
+"$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "target"
if [ $? -eq 0 ]; then
eval `cat "$OUTFILE"`
else
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
index 6610430899..57719e003f 100644
--- a/mkspecs/common/mac.conf
+++ b/mkspecs/common/mac.conf
@@ -12,8 +12,11 @@ QMAKE_RESOURCE = /Developer/Tools/Rez
QMAKE_EXTENSION_SHLIB = dylib
QMAKE_LIBDIR =
-QMAKE_INCDIR_OPENGL = $$QMAKE_MAC_SDK/System/Library/Frameworks/OpenGL.framework/Headers \
- $$QMAKE_MAC_SDK/System/Library/Frameworks/AGL.framework/Headers/
+
+# sdk.prf will prefix the proper SDK sysroot
+QMAKE_INCDIR_OPENGL = \
+ /System/Library/Frameworks/OpenGL.framework/Headers \
+ /System/Library/Frameworks/AGL.framework/Headers/
QMAKE_FIX_RPATH = install_name_tool -id
diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
index 5eab94896b..955baa3ed2 100644
--- a/mkspecs/features/mac/sdk.prf
+++ b/mkspecs/features/mac/sdk.prf
@@ -1,8 +1,24 @@
-!isEmpty(QMAKE_MAC_SDK) {
- !macx-xcode:!macx-pbuilder {
- QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
- QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
- QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK
- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK
+!host_build:!isEmpty(QMAKE_MAC_SDK) {
+
+ contains(QMAKE_MAC_SDK, .*/.*): \
+ error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
+
+ QMAKE_MAC_SDK_INFO = $$system("xcodebuild -sdk $$QMAKE_MAC_SDK -version 2>/dev/null", lines)
+ isEmpty(QMAKE_MAC_SDK_INFO): error("Could not resolve SDK \'$$QMAKE_MAC_SDK\'")
+
+ defineReplace(qtMacSDKInfo): \
+ return($$replace($$list($$find(QMAKE_MAC_SDK_INFO, ^$$1:)), ^$$1:(.*), \\1))
+
+ QMAKE_MAC_SDK_PATH = $$qtMacSDKInfo(Path)
+
+ !equals(MAKEFILE_GENERATOR, XCODE) {
+ QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
+ QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
+ QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
+ QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH
}
+
+ sysrootified =
+ for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
+ QMAKE_INCDIR_OPENGL = $$sysrootified
}