Update QLocale data from CLDR v1.8.1 to CLDR v1.9.1
[profile/ivi/qtbase.git] / configure
index 12a8bab..e4ee9ec 100755 (executable)
--- a/configure
+++ b/configure
@@ -127,16 +127,76 @@ getQMakeConf1()
     esac; done < "$1"
 }
 
+getQMakeConf2()
+{
+    $AWK '
+BEGIN {
+    values["LITERAL_WHITESPACE"] = " "
+    values["LITERAL_DOLLAR"] = "$"
+}
+/^[_A-Z0-9.]+[ \t]*\+?=/ {
+    valStart = index($0, "=") + 1
+
+    append = 0
+    if (substr($0, valStart - 2, 1) == "+") {
+        append = 1
+    }
+
+    variable = substr($0, 0, valStart - 2 - append)
+    value = substr($0, valStart)
+    gsub("[ \t]+", "", variable)
+    gsub("^[ \t]+", "", value)
+    gsub("[ \t]+$", "", value)
+
+    ovalue = ""
+    while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
+        ovalue = ovalue substr(value, 1, RSTART - 1)
+        var = substr(value, RSTART + 2, RLENGTH - 2)
+        value = substr(value, RSTART + RLENGTH)
+        if (var ~ /^{/) {
+            var = substr(var, 2, length(var) - 2)
+        }
+        ovalue = ovalue values[var]
+    }
+    ovalue = ovalue value
+
+    combinedValue = values[variable]
+    if (append == 1 && length(combinedValue) > 0) {
+        combinedValue = combinedValue " " ovalue
+    } else {
+        combinedValue = ovalue
+    }
+    values[variable] = combinedValue
+}
+END {
+    for (var in values) {
+        print var "=" values[var]
+    }
+}
+'
+}
+
+getQMakeConf3()
+{
+    echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
+}
 
 # relies on $QMAKESPEC being set correctly. parses include statements in
 # qmake.conf and prints out the expanded file
 getQMakeConf()
 {
-    tmpSPEC="$QMAKESPEC"
-    if [ -n "$1" ]; then
-        tmpSPEC="$1"
+    if [ -z "$specvals" ]; then
+        specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
+    fi
+    getQMakeConf3 "$1" "$specvals"
+}
+
+getXQMakeConf()
+{
+    if [ -z "$xspecvals" ]; then
+        xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
     fi
-    getQMakeConf1 "$tmpSPEC/qmake.conf"
+    getQMakeConf3 "$1" "$xspecvals"
 }
 
 # relies on $TEST_COMPILER being set correctly
@@ -185,7 +245,6 @@ fi
 #-------------------------------------------------------------------------------
 
 PLATFORM_X11=no
-PLATFORM_QWS=no
 PLATFORM_QPA=yes
 BUILD_ON_MAC=no
 PLATFORM_MAC=no
@@ -230,7 +289,6 @@ fi
 #-------------------------------------------------------------------------------
 COMMERCIAL_USER=ask
 CFG_DEV=no
-CFG_EMBEDDED=no
 CFG_RTOS_ENABLED=yes
 EditionString=Commercial
 
@@ -258,16 +316,6 @@ earlyArgParse()
             VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
             VAL=no
             ;;
-        -embedded)
-            VAR=embedded
-            # this option may or may not be followed by an argument
-            if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
-                VAL=auto
-            else
-                shift;
-                VAL=$1
-            fi
-            ;;
         -embedded-lite|-qpa)
             VAR=qpa
             # this option may or may not be followed by an argument
@@ -278,12 +326,6 @@ earlyArgParse()
                 VAL=$1
             fi
             ;;
-        -nacl)
-            shift;
-            VAR=nacl
-            VAL=$1
-            ;;
-
         -h|help|--help|-help)
             if [ "$VAL" = "yes" ]; then
                 OPT_HELP="$VAL"
@@ -313,36 +355,16 @@ earlyArgParse()
 
         UNKNOWN_OPT=no
         case "$VAR" in
-        embedded)
-            CFG_EMBEDDED="$VAL"
-            PLATFORM_X11=no
-            PLATFORM_MAC=no
-            PLATFORM_QWS=yes
-            PLATFORM_QPA=no
-            ;;
         qpa)
-            CFG_EMBEDDED="no"
             if [ "$PLATFORM_QPA" != "no" ]; then
                 if [ "$PLATFORM_QPA" = "maybe" ]; then
                     PLATFORM_X11=no
-                    PLATFORM_MAC=no
-                    PLATFORM_QWS=no
                     PLATFORM_QPA=yes
                 fi
             else
                 echo "No license exists to enable Qt QPA. Disabling."
-                CFG_EMBEDDED=no
             fi
             ;;
-        nacl)
-            echo "Using NaCl at $VAL."
-            PLATFORM_X11=no
-            PLATFORM_MAC=no
-            PLATFORM_QWS=no
-            CFG_NACL_PATH=$VAL
-            CFG_EMBEDDED=nacl
-            ;;
-
         developer-build)
             CFG_DEV="yes"
             ;;
@@ -391,7 +413,6 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
     # one of commercial editions
     [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
     [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
-    [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=no
 
     # read in the license file
     if [ -f "$LICENSE_FILE" ]; then
@@ -504,7 +525,6 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
         *)
             Platform=Linux/X11
             [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
-            [ "$PLATFORM_QWS" = "yes" ] && Platform='Embedded Linux'
             echo
             echo "You are not licensed for the $Platform platform."
             echo
@@ -619,17 +639,6 @@ rm -f "$outpath/config.tests/.qmake.cache"
 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
 
 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
-QMakeVar add decorations "default windows styled"
-QMakeVar add mouse-drivers "pc"
-if [ "$UNAME_SYSTEM" = "Linux" ] ; then
-    QMakeVar add gfx-drivers "linuxfb"
-    QMakeVar add mouse-drivers "linuxtp"
-fi
-QMakeVar add kbd-drivers "tty"
-
-if [ "$CFG_DEV" = "yes" ]; then
-    QMakeVar add kbd-drivers "um"
-fi
 
 # QTDIR may be set and point to an old or system-wide Qt installation
 unset QTDIR
@@ -642,7 +651,7 @@ CFG_CONFIGURE_EXIT_ON_ERROR=yes
 CFG_PROFILE=no
 CFG_EXCEPTIONS=unspecified
 CFG_GUI=auto # (yes|no|auto)
-CFG_INCREMENTAL=auto
+CFG_WIDGETS=yes
 CFG_QCONFIG=full
 CFG_DEBUG=auto
 CFG_MYSQL_CONFIG=
@@ -657,8 +666,6 @@ CFG_XFIXES=runtime
 CFG_ZLIB=auto
 CFG_SQLITE=qt
 CFG_GIF=auto
-CFG_TIFF=auto
-CFG_LIBTIFF=auto
 CFG_PNG=yes
 CFG_LIBPNG=auto
 CFG_JPEG=auto
@@ -672,11 +679,9 @@ CFG_OPENVG=auto
 CFG_OPENVG_LC_INCLUDES=no
 CFG_OPENVG_SHIVA=auto
 CFG_OPENVG_ON_OPENGL=auto
-CFG_EGL=no
-CFG_EGL_GLES_INCLUDES=no
+CFG_EGL=auto
 CFG_SSE=auto
 CFG_FONTCONFIG=auto
-CFG_QWS_FREETYPE=auto
 CFG_LIBFREETYPE=auto
 CFG_SQL_AVAILABLE=
 QT_DEFAULT_BUILD_PARTS="libs examples tests"
@@ -688,47 +693,24 @@ CFG_V8SNAPSHOT=auto
 CFG_DECLARATIVE_DEBUG=yes
 CFG_JAVASCRIPTCORE_JIT=auto
 
-CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
-CFG_GFX_ON="linuxfb multiscreen"
-CFG_GFX_PLUGIN_AVAILABLE=
-CFG_GFX_PLUGIN=
-CFG_GFX_OFF=
-CFG_KBD_AVAILABLE="tty linuxinput qvfb"
-CFG_KBD_ON="tty"    #default, see QMakeVar above
-CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
-CFG_MOUSE_ON="pc linuxtp"   #default, see QMakeVar above
-
-if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
-    CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
-    CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
-    CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
-fi
-if [ -f "$relpath/src/gui/embedded/qscreenintegrityfb_qws.cpp" ]; then
-    CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} integrity"
-    CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} integrity"
-    CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} integrityfb"
-fi
-
+# Target architecture
 CFG_ARCH=
+# Host architecture, same as CFG_ARCH when not cross-compiling
 CFG_HOST_ARCH=
-CFG_KBD_PLUGIN_AVAILABLE=
-CFG_KBD_PLUGIN=
-CFG_KBD_OFF=
-CFG_MOUSE_PLUGIN_AVAILABLE=
-CFG_MOUSE_PLUGIN=
-CFG_MOUSE_OFF=
+# Set when the -arch or -host-arch arguments are used
+OPT_OBSOLETE_HOST_ARG=no
+
 CFG_USE_GNUMAKE=no
 CFG_IM=yes
-CFG_DECORATION_AVAILABLE="styled windows default"
-CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
-CFG_DECORATION_PLUGIN_AVAILABLE=
-CFG_DECORATION_PLUGIN=
 CFG_XINPUT2=auto
 CFG_XINPUT=runtime
 CFG_XKB=auto
 CFG_XCB=auto
 CFG_XCB_LIMITED=yes
-CFG_WAYLAND=auto
+CFG_EGLFS=auto
+CFG_LIBUDEV=auto
+CFG_OBSOLETE_WAYLAND=no
+CFG_EVDEV=auto
 CFG_NIS=auto
 CFG_CUPS=auto
 CFG_ICONV=auto
@@ -743,25 +725,20 @@ CFG_PRECOMPILE=auto
 CFG_SEPARATE_DEBUG_INFO=no
 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
 CFG_REDUCE_EXPORTS=auto
-CFG_MMX=auto
-CFG_3DNOW=auto
-CFG_SSE=auto
 CFG_SSE2=auto
 CFG_SSE3=auto
 CFG_SSSE3=auto
 CFG_SSE4_1=auto
 CFG_SSE4_2=auto
 CFG_AVX=auto
+CFG_AVX2=auto
 CFG_REDUCE_RELOCATIONS=auto
 CFG_NAS=no
-CFG_QWS_DEPTHS=all
 CFG_ACCESSIBILITY=auto
-CFG_ENDIAN=auto
-CFG_HOST_ENDIAN=auto
-CFG_DOUBLEFORMAT=auto
-CFG_ARMFPA=auto
 CFG_IWMMXT=no
 CFG_NEON=auto
+CFG_MIPS_DSP=yes
+CFG_MIPS_DSPR2=yes
 CFG_CLOCK_GETTIME=auto
 CFG_CLOCK_MONOTONIC=auto
 CFG_MREMAP=auto
@@ -771,10 +748,8 @@ CFG_GETIFADDRS=auto
 CFG_INOTIFY=auto
 CFG_RPATH=yes
 CFG_FRAMEWORK=auto
-CFG_MAC_ARCHS=
 MAC_CONFIG_TEST_COMMANDLINE=  # used to make the configure tests run with the correct arch's and SDK settings
 CFG_MAC_DWARF2=auto
-CFG_MAC_XARCH=auto
 CFG_MAC_HARFBUZZ=no
 CFG_SXE=no
 CFG_PREFIX_INSTALL=yes
@@ -804,6 +779,7 @@ CFG_NOPROCESS=no
 CFG_ICU=auto
 CFG_FORCE_ASSERTS=no
 CFG_PCRE=auto
+QPA_PLATFORM_GUARD=yes
 
 # initalize variables used for installation
 QT_INSTALL_PREFIX=
@@ -818,7 +794,10 @@ QT_INSTALL_TRANSLATIONS=
 QT_INSTALL_SETTINGS=
 QT_INSTALL_EXAMPLES=
 QT_INSTALL_TESTS=
+CFG_SYSROOT=
 QT_HOST_PREFIX=
+QT_HOST_BINS=
+QT_HOST_DATA=
 
 #flags for SQL drivers
 QT_CFLAGS_PSQL=
@@ -844,7 +823,7 @@ QT_CFLAGS_GSTREAMER=
 QT_LIBS_GSTREAMER=
 
 #-------------------------------------------------------------------------------
-# check SQL drivers, mouse drivers and decorations available in this package
+# check SQL drivers available in this package
 #-------------------------------------------------------------------------------
 
 # opensource version removes some drivers, so force them to be off
@@ -863,47 +842,6 @@ if [ -d "$relpath/src/plugins/sqldrivers" ]; then
   done
 fi
 
-CFG_DECORATION_PLUGIN_AVAILABLE=
-if [ -d "$relpath/src/plugins/decorations" ]; then
-  for a in "$relpath/src/plugins/decorations/"*; do
-     if [ -d "$a" ]; then
-        base_a=`basename "$a"`
-        CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
-     fi
-  done
-fi
-
-CFG_KBD_PLUGIN_AVAILABLE=
-if [ -d "$relpath/src/plugins/kbddrivers" ]; then
-  for a in "$relpath/src/plugins/kbddrivers/"*; do
-     if [ -d "$a" ]; then
-        base_a=`basename "$a"`
-        CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
-     fi
-  done
-fi
-
-CFG_MOUSE_PLUGIN_AVAILABLE=
-if [ -d "$relpath/src/plugins/mousedrivers" ]; then
-  for a in "$relpath/src/plugins/mousedrivers/"*; do
-     if [ -d "$a" ]; then
-        base_a=`basename "$a"`
-        CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
-     fi
-  done
-fi
-
-CFG_GFX_PLUGIN_AVAILABLE=
-if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
-  for a in "$relpath/src/plugins/gfxdrivers/"*; do
-     if [ -d "$a" ]; then
-        base_a=`basename "$a"`
-        CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
-     fi
-  done
-  CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
-fi
-
 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
 if [ -d "$relpath/src/plugins/imageformats" ]; then
     for a in "$relpath/src/plugins/imageformats/"*; do
@@ -915,37 +853,6 @@ if [ -d "$relpath/src/plugins/imageformats" ]; then
 fi
 
 #-------------------------------------------------------------------------------
-# Set Default NaCl options
-#-------------------------------------------------------------------------------
-if [ "$CFG_EMBEDDED" = "nacl" ]; then
-    echo "Setting NaCl options:"
-    echo "-static"
-    CFG_SHARED=no
-    echo "-qpa nacl"
-    PLATFORM_QPA=yes
-    echo "-fast"
-    OPT_FAST=yes
-    echo "-qconfig nacl"
-    CFG_QCONFIG=nacl
-
-    if [ `uname` = "Linux" ]; then
-        I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/include"
-        L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/lib"
-    else
-        I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/include"
-        L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/lib"
-    fi
-
-    echo "-no-mediaservices -no-sql-sqlite -nomake tests"
-    CFG_MEDIASERVICES=no
-    CFG_SQLITE=no
-    CFG_SQL_sqlite=no
-    CFG_LIBTIFF=no
-    CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS tests"
-    QT_CONFIG="$QT_CONFIG nacl"
-fi
-
-#-------------------------------------------------------------------------------
 # parse command line arguments
 #-------------------------------------------------------------------------------
 
@@ -986,13 +893,13 @@ while [ "$#" -gt 0 ]; do
         VAL=no
         ;;
     #Qt style yes options
-    -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-wayland|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
+    -profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-eglfs|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
         VAL=yes
         ;;
     #Qt style options that pass an argument
     -qconfig)
-        if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
+        if [ "$PLATFORM_QPA" != "yes" ]; then
             echo
             echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
             echo
@@ -1002,7 +909,7 @@ while [ "$#" -gt 0 ]; do
         shift
         VAL=$1
         ;;
-    -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot)
+    -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir)
         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
         shift
         VAL="$1"
@@ -1022,16 +929,6 @@ while [ "$#" -gt 0 ]; do
         VAR=fatal_error
         VAL=no
         ;;
-    -embedded)
-        VAR=embedded
-        # this option may or may not be followed by an argument
-        if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
-            VAL=auto
-        else
-            shift;
-            VAL=$1
-        fi
-       ;;
     -embedded-lite|-qpa)
         VAR=qpa
         # this option may or may not be followed by an argument
@@ -1042,10 +939,6 @@ while [ "$#" -gt 0 ]; do
             VAL=$1
         fi
        ;;
-    -nacl)
-        VAR=nacl
-        shift;
-    ;;
     -opengl)
         VAR=opengl
         # this option may or may not be followed by an argument
@@ -1076,14 +969,6 @@ while [ "$#" -gt 0 ]; do
             VAL=$1
         fi
         ;;
-    -host-*-endian)
-        VAR=host_endian
-        VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
-        ;;
-    -*-endian)
-        VAR=endian
-        VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
-        ;;
     -qtnamespace)
         VAR="qtnamespace"
         shift
@@ -1207,6 +1092,12 @@ while [ "$#" -gt 0 ]; do
     hostprefix)
        QT_HOST_PREFIX="$VAL"
        ;;
+    hostdatadir)
+        QT_HOST_DATA="$VAL"
+        ;;
+    hostbindir)
+        QT_HOST_BINS="$VAL"
+        ;;
     force-pkg-config)
         QT_FORCE_PKGCONFIG=yes
         ;;
@@ -1258,22 +1149,10 @@ while [ "$#" -gt 0 ]; do
     sxe)
        CFG_SXE="$VAL"
         ;;
-    embedded)
-        CFG_EMBEDDED="$VAL"
-        PLATFORM_X11=no
-        PLATFORM_MAC=no
-        PLATFORM_QWS=yes
-        PLATFORM_QPA=no
-        ;;
     embedded-lite|qpa)
-        CFG_EMBEDDED="no"
         PLATFORM_X11=no
-        PLATFORM_MAC=no
-        PLATFORM_QWS=no
         PLATFORM_QPA=yes
         ;;
-    nacl)
-        ;;
     sse)
         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
             CFG_SSE="$VAL"
@@ -1281,42 +1160,11 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
        ;;
-    endian)
-        if [ "$VAL" = "little" ]; then
-            CFG_ENDIAN="Q_LITTLE_ENDIAN"
-        elif [ "$VAL" = "big" ]; then
-            CFG_ENDIAN="Q_BIG_ENDIAN"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
-    host_endian)
-        if [ "$VAL" = "little" ]; then
-            CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
-        elif [ "$VAL" = "big" ]; then
-            CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
-    armfpa)
-        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
-            CFG_ARMFPA="$VAL"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
-    depths)
-        CFG_QWS_DEPTHS="$VAL"
-        ;;
     opengl)
         if  [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
             [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
             [ "$VAL" = "es2" ]; then
             CFG_OPENGL="$VAL"
-            if  [ "$VAL" = "es2" ]; then
-                CFG_EGL="yes"
-            fi
         else
             UNKNOWN_OPT=yes
         fi
@@ -1324,23 +1172,6 @@ while [ "$#" -gt 0 ]; do
     openvg)
         if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
             CFG_OPENVG="$VAL"
-            if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
-                CFG_EGL=auto
-            fi
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
-    qvfb) # left for commandline compatibility, not documented
-        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
-            if [ "$VAL" = "yes" ]; then
-               QMakeVar add gfx-drivers qvfb
-               QMakeVar add kbd-drivers qvfb
-               QMakeVar add mouse-drivers qvfb
-                CFG_GFX_ON="$CFG_GFX_ON qvfb"
-                CFG_KBD_ON="$CFG_KBD_ON qvfb"
-                CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
-            fi
         else
             UNKNOWN_OPT=yes
         fi
@@ -1354,11 +1185,10 @@ while [ "$#" -gt 0 ]; do
     x11)
         PLATFORM_QPA=no
         PLATFORM_MAC=no
-        PLATFORM_QWS=no
         PLATFORM_X11=yes
         ;;
     sdk)
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             CFG_SDK="$VAL"
         else
             UNKNOWN_OPT=yes
@@ -1371,20 +1201,11 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
        ;;
-    arch)
-        # if this is a Mac then "windows" probably means
-        # we are cross-compiling for MinGW
-        if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
-            CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
-        else
-            CFG_ARCH=$VAL
-        fi
-        ;;
-    host-arch)
-        CFG_HOST_ARCH=$VAL
+    arch|host-arch)
+        OPT_OBSOLETE_HOST_ARG=yes
         ;;
     harfbuzz)
-        if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
             CFG_MAC_HARFBUZZ="$VAL"
         else
             UNKNOWN_OPT=yes
@@ -1392,7 +1213,7 @@ while [ "$#" -gt 0 ]; do
         ;;
 
     framework)
-        if [ "$PLATFORM_MAC" = "yes" ] || [ "$PLATFORM_QPA" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             CFG_FRAMEWORK="$VAL"
         else
             UNKNOWN_OPT=yes
@@ -1529,13 +1350,6 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
         ;;
-    incremental)
-        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
-            CFG_INCREMENTAL="$VAL"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
     fatal_error)
         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
             CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
@@ -1655,27 +1469,6 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
         ;;
-    mmx)
-        if [ "$VAL" = "no" ]; then
-            CFG_MMX="$VAL"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
-    3dnow)
-        if [ "$VAL" = "no" ]; then
-            CFG_3DNOW="$VAL"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
-    sse)
-        if [ "$VAL" = "no" ]; then
-            CFG_SSE="$VAL"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
     sse2)
         if [ "$VAL" = "no" ]; then
             CFG_SSE2="$VAL"
@@ -1718,6 +1511,13 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
         ;;
+    avx2)
+        if [ "$VAL" = "no" ]; then
+            CFG_AVX2="$VAL"
+        else
+            UNKNOWN_OPT=yes
+        fi
+        ;;
     iwmmxt)
        CFG_IWMMXT="yes"
        ;;
@@ -1728,17 +1528,23 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
         ;;
-    reduce-relocations)
-        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
-            CFG_REDUCE_RELOCATIONS="$VAL"
+    mips_dsp)
+        if [ "$VAL" = "no" ]; then
+            CFG_MIPS_DSP="$VAL"
         else
             UNKNOWN_OPT=yes
         fi
         ;;
-    freetype)
-        [ "$VAL" = "qt" ] && VAL=yes
-        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
-            CFG_QWS_FREETYPE="$VAL"
+    mips_dspr2)
+        if [ "$VAL" = "no" ]; then
+            CFG_MIPS_DSPR2="$VAL"
+        else
+            UNKNOWN_OPT=yes
+        fi
+        ;;
+    reduce-relocations)
+        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+            CFG_REDUCE_RELOCATIONS="$VAL"
         else
             UNKNOWN_OPT=yes
         fi
@@ -1776,14 +1582,6 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
         ;;
-    libtiff)
-        [ "$VAL" = "yes" ] && VAL=qt
-        if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
-            CFG_LIBTIFF="$VAL"
-        else
-            UNKNOWN_OPT=yes
-        fi
-        ;;
     nas-sound)
         if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
             CFG_NAS="$VAL"
@@ -1848,8 +1646,25 @@ while [ "$#" -gt 0 ]; do
         fi
         ;;
     wayland)
+        CFG_OBSOLETE_WAYLAND=yes
+        ;;
+    eglfs)
+        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+            CFG_EGLFS="$VAL"
+        else
+            UNKNOWN_OPT=yes
+        fi
+        ;;
+    libudev)
+        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+            CFG_LIBUDEV="$VAL"
+        else
+            UNKNOWN_OPT=yes
+        fi
+        ;;
+    evdev)
         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
-            CFG_WAYLAND="$VAL"
+            CFG_EVDEV="$VAL"
         else
             UNKNOWN_OPT=yes
         fi
@@ -1900,6 +1715,22 @@ while [ "$#" -gt 0 ]; do
             fi
         fi
         ;;
+    widgets)
+        if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
+            CFG_WIDGETS="yes"
+        elif [ "$VAL" = "no" ]; then
+            CFG_WIDGETS="no"
+        else
+            UNKNOWN_OPT=yes
+        fi
+        ;;
+    qpa-platform-guard)
+        if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+            QPA_PLATFORM_GUARD="$VAL"
+        else
+            UNKNOWN_OPT=yes
+        fi
+        ;;
     dbus)
         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
             CFG_DBUS="$VAL"
@@ -1976,7 +1807,7 @@ while [ "$#" -gt 0 ]; do
             UNKNOWN_OPT=yes
         fi
         ;;
-    sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
+    sql-*|imageformat-*)
         # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
         # if autoconf style options were used, $VAL can be "yes" or "no"
         [ "$VAL" = "yes" ] && VAL=qt
@@ -1994,30 +1825,6 @@ while [ "$#" -gt 0 ]; do
         sql)
             avail="$CFG_SQL_AVAILABLE"
             ;;
-        gfx)
-            avail="$CFG_GFX_AVAILABLE"
-           if [ "$OPT" = "plugin" ]; then
-               avail="$CFG_GFX_PLUGIN_AVAILABLE"
-           fi
-            ;;
-        decoration)
-            avail="$CFG_DECORATION_AVAILABLE"
-           if [ "$OPT" = "plugin" ]; then
-               avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
-           fi
-            ;;
-        kbd)
-            avail="$CFG_KBD_AVAILABLE"
-           if [ "$OPT" = "plugin" ]; then
-               avail="$CFG_KBD_PLUGIN_AVAILABLE"
-           fi
-            ;;
-        mouse)
-            avail="$CFG_MOUSE_AVAILABLE"
-           if [ "$OPT" = "plugin" ]; then
-               avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
-           fi
-            ;;
         imageformat)
             avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
             if [ "$OPT" != "plugin" ]; then
@@ -2054,36 +1861,12 @@ while [ "$#" -gt 0 ]; do
 
         if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
             if [ "$OPT" = "plugin" ]; then
-                [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
-                [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
-                [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
-                [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
-                [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
-                [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
-                [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
-                [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
                 VAR="${VAR}-${OPT}"
-            else
-                if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
-                    [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
-                    [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
-                   [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
-                    [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
-                    VAR="${VAR}-driver"
-                fi
             fi
            QMakeVar add "${VAR}s" "${VAL}"
         elif [ "$OPT" = "no" ]; then
             PLUG_VAR="${VAR}-plugin"
-            if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
-                IN_VAR="${VAR}-driver"
-            else
-                IN_VAR="${VAR}"
-            fi
-            [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
-            [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
-            [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
-            [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
+            IN_VAR="${VAR}"
            QMakeVar del "${IN_VAR}s" "$VAL"
            QMakeVar del "${PLUG_VAR}s" "$VAL"
         fi
@@ -2139,7 +1922,7 @@ while [ "$#" -gt 0 ]; do
         l_FLAGS="$l_FLAGS -l\"${VAL}\""
         ;;
     add_fpath)
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             L_FLAGS="$L_FLAGS -F\"${VAL}\""
             I_FLAGS="$I_FLAGS -F\"${VAL}\""
         else
@@ -2147,7 +1930,7 @@ while [ "$#" -gt 0 ]; do
         fi
         ;;
     add_framework)
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             l_FLAGS="$l_FLAGS -framework \"${VAL}\""
         else
             UNKNOWN_OPT=yes
@@ -2280,7 +2063,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then
     [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
 fi
 
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
     echo
     echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
     echo "Qt can be built in release mode with separate debug information, so"
@@ -2306,35 +2089,12 @@ if [ "$OPT_SHADOW" = "yes" ]; then
 
     [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
 
-    # symlink the qmake directory
-    find "$relpath/qmake" | while read a; do
-        my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
-        if [ '!' -f "$my_a" ]; then
-            if [ -d "$a" ]; then
-                # directories are created...
-                mkdir -p "$my_a"
-            else
-                a_dir=`dirname "$my_a"`
-                [ -d "$a_dir" ] || mkdir -p "$a_dir"
-                # ... and files are symlinked
-                case `basename "$a"` in
-                *.o|*.d|GNUmakefile*|qmake)
-                    ;;
-                *)
-                    rm -f "$my_a"
-                    ln -s "$a" "$my_a"
-                    ;;
-                esac
-            fi
-        fi
-    done
-
     # make a syncqt script that can be used in the shadow
     rm -f "$outpath/bin/syncqt"
     if [ -x "$relpath/bin/syncqt" ]; then
         mkdir -p "$outpath/bin"
         echo "#!/bin/sh" >"$outpath/bin/syncqt"
-        echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" \"$relpath\" \"\$@\"" >>"$outpath/bin/syncqt"
+        echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
         chmod 755 "$outpath/bin/syncqt"
     fi
 
@@ -2376,7 +2136,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then
 fi
 
 # symlink fonts to be able to run application from build directory
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
+if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
     if [ "$PLATFORM" = "$XPLATFORM" ]; then
         mkdir -p "${outpath}/lib"
         ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
@@ -2415,92 +2175,26 @@ fi ### help
 # auto-detect all that hasn't been specified in the arguments
 #-------------------------------------------------------------------------------
 
-[ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
-if [ "$CFG_EMBEDDED" != "no" ]; then
-    case "$UNAME_SYSTEM:$UNAME_RELEASE" in
-    Darwin:*)
-        [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++
-        if [ -z "$XPLATFORM" ]; then
-            [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
-            XPLATFORM="qws/macx-$CFG_EMBEDDED-g++"
-        fi
-        ;;
-    FreeBSD:*)
-        [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++
-        if [ -z "$XPLATFORM" ]; then
-            [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
-            XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++"
-        fi
-        ;;
-    SunOS:5*)
-        [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++
-        if [ -z "$XPLATFORM" ]; then
-            [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
-            XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++"
-        fi
-        ;;
-    Linux:*)
-        if [ -z "$PLATFORM" ]; then
-            case "$UNAME_MACHINE" in
-            *86)
-                PLATFORM=qws/linux-x86-g++
-                ;;
-            *86_64)
-                PLATFORM=qws/linux-x86_64-g++
-                ;;
-            *)
-                PLATFORM=qws/linux-generic-g++
-                ;;
-            esac
-        fi
-        if [ -z "$XPLATFORM" ]; then
-            if [ "$CFG_EMBEDDED" = "auto" ]; then
-                if [ -n "$CFG_ARCH" ]; then
-                    CFG_EMBEDDED=$CFG_ARCH
-                else
-                    case "$UNAME_MACHINE" in
-                    *86)
-                        CFG_EMBEDDED=x86
-                        ;;
-                    *86_64)
-                        CFG_EMBEDDED=x86_64
-                        ;;
-                    *)
-                        CFG_EMBEDDED=generic
-                        ;;
-                    esac
-                fi
-            fi
-            XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
-        fi
-        ;;
-    QNX:*)
-        [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
-        if [ -z "$XPLATFORM" ]; then
-            [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
-            XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
-        fi
-        ;;
-    CYGWIN*:*)
-       if [ -z "$XPLATFORM" ]; then
-               CFG_EMBEDDED=x86
-       fi
-       ;;
-    *)
-        echo "Qt for Embedded Linux is not supported on this platform. Disabling."
-        CFG_EMBEDDED=no
-        PLATFORM_QWS=no
-        PLATFORM_QPA=no
-        ;;
-    esac
-fi
 if [ -z "$PLATFORM" ]; then
     PLATFORM_NOTES=
     case "$UNAME_SYSTEM:$UNAME_RELEASE" in
      Darwin:*)
-        if [ "$PLATFORM_MAC" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
-          PLATFORM=macx-g++
-        # PLATFORM=macx-xcode
+        if [ "$PLATFORM_QPA" = "yes" ]; then
+          OSX_VERSION=`uname -r | cut -d. -f1`
+          if [ "$OSX_VERSION" -ge 11 ]; then
+              # We're on Lion or above. Check if we have a supported Clang version
+              case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
+                  3.*)
+                      PLATFORM=macx-clang
+                      PLATFORM_NOTES="\n    - Also available for Mac OS X: macx-g++\n"
+                      ;;
+                  *)
+                      PLATFORM=macx-g++
+                      ;;
+              esac
+          else
+              PLATFORM=macx-g++
+          fi
         else
           PLATFORM=darwin-g++
         fi
@@ -2659,12 +2353,7 @@ if [ -z "$PLATFORM" ]; then
     esac
 fi
 
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    CFG_SM=no
-    PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
-else
-    PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
-fi
+PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
 
 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
 
@@ -2684,9 +2373,10 @@ fi
 if [ "$PLATFORM" != "$XPLATFORM" ]; then
     QT_CROSS_COMPILE=yes
     QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
+    QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
 fi
 
-if [ "$PLATFORM_MAC" = "yes" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ]; then
    if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
       echo >&2
       echo "   Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
@@ -2731,8 +2421,8 @@ if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
 fi
 
 # now look at the configs and figure out what platform we are config'd for
-[ "$CFG_EMBEDDED" = "no" ] && [ "$PLATFORM_QPA" != "yes" ] \
-  && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
+[ "$PLATFORM_QPA" != "yes" ] \
+  && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
   && PLATFORM_X11=yes
 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
 
@@ -2744,24 +2434,6 @@ if [ "$UNAME_SYSTEM" = "SunOS" ]; then
     fi
 fi
 
-#-------------------------------------------------------------------------------
-# determine the system architecture
-#-------------------------------------------------------------------------------
-if [ "$OPT_VERBOSE" = "yes" ]; then
-    echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
-fi
-
-if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
-    if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
-        echo ""
-        echo "You have specified a target architecture with -embedded and -arch."
-        echo "The two architectures you have specified are different, so we can"
-        echo "not proceed. Either set both to be the same, or only use -embedded."
-        echo ""
-        exit 1
-    fi
-fi
-
 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
     case `basename "$XPLATFORM"` in
        qnx-* | vxworks-*)
@@ -2776,207 +2448,6 @@ if [ "$CFG_RTOS_ENABLED" = "no" ]; then
     esac
 fi
 
-if [ -z "${CFG_HOST_ARCH}" ]; then
-    case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
-    GNU:*:*)
-        CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
-        case "$CFG_HOST_ARCH" in
-            i?86)
-                CFG_HOST_ARCH=i386
-                ;;
-        esac
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    GNU/Hurd ($CFG_HOST_ARCH)"
-        fi
-        ;;
-    IRIX*:*:*)
-        CFG_HOST_ARCH=`uname -p`
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    SGI ($CFG_HOST_ARCH)"
-        fi
-        ;;
-    SunOS:5*:*)
-        case "$UNAME_MACHINE" in
-       sun4u*|sun4v*)
-            if [ "$OPT_VERBOSE" = "yes" ]; then
-                echo "    Sun SPARC (sparc)"
-            fi
-            CFG_HOST_ARCH=sparc
-            ;;
-        i86pc)
-           case "$PLATFORM" in
-           *-64*)
-                if [ "$OPT_VERBOSE" = "yes" ]; then
-                   echo "    64-bit AMD 80x86 (x86_64)"
-                fi
-                CFG_HOST_ARCH=x86_64
-                ;;
-           *)
-                if [ "$OPT_VERBOSE" = "yes" ]; then
-                   echo "    32-bit Intel 80x86 (i386)"
-                fi
-                CFG_HOST_ARCH=i386
-                ;;
-            esac
-        esac
-        ;;
-    AIX:*:00????????00)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-        echo "    64-bit IBM PowerPC (powerpc)"
-        fi
-        CFG_HOST_ARCH=powerpc
-        ;;
-    HP-UX:*:9000*)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    HP PA-RISC (parisc)"
-        fi
-        CFG_HOST_ARCH=parisc
-        ;;
-    *:*:i?86)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    32-bit Intel 80x86 (i386)"
-        fi
-        CFG_HOST_ARCH=i386
-        ;;
-    *:*:x86_64|*:*:amd64)
-        if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
-            if [ "$OPT_VERBOSE" = "yes" ]; then
-                echo "    32 bit on 64-bit AMD 80x86 (i386)"
-            fi
-            CFG_HOST_ARCH=i386
-        else
-            if [ "$OPT_VERBOSE" = "yes" ]; then
-                echo "    64-bit AMD 80x86 (x86_64)"
-            fi
-            CFG_HOST_ARCH=x86_64
-        fi
-        ;;
-    *:*:ppc)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    32-bit PowerPC (powerpc)"
-        fi
-        CFG_HOST_ARCH=powerpc
-        ;;
-    *:*:ppc64)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    64-bit PowerPC (powerpc)"
-        fi
-        CFG_HOST_ARCH=powerpc
-        ;;
-    *:*:s390*)
-       if [ "$OPT_VERBOSE" = "yes" ]; then
-           echo "    IBM S/390 (s390)"
-       fi
-       CFG_HOST_ARCH=s390
-       ;;
-    *:*:arm*)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    ARM (arm)"
-        fi
-        CFG_HOST_ARCH=arm
-        ;;
-    Linux:*:sparc*)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    Linux on SPARC"
-        fi
-        CFG_HOST_ARCH=sparc
-        ;;
-    QNX:*:*)
-        case "$UNAME_MACHINE" in
-        x86pc)
-            if [ "$OPT_VERBOSE" = "yes" ]; then
-                echo "    QNX on Intel 80x86 (i386)"
-            fi
-            CFG_HOST_ARCH=i386
-            ;;
-        esac
-        ;;
-    *:*:*)
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    Trying '$UNAME_MACHINE'..."
-        fi
-        CFG_HOST_ARCH="$UNAME_MACHINE"
-        ;;
-    esac
-fi
-
-if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
-    if [ -n "$CFG_ARCH" ]; then
-        CFG_EMBEDDED=$CFG_ARCH
-    fi
-
-    case "$CFG_EMBEDDED" in
-    x86)
-        CFG_ARCH=i386
-        ;;
-    x86_64)
-        CFG_ARCH=x86_64
-        ;;
-    ipaq|sharp)
-        CFG_ARCH=arm
-        ;;
-    dm7000)
-        CFG_ARCH=powerpc
-        ;;
-    dm800)
-        CFG_ARCH=mips
-        ;;
-    sh4al)
-        CFG_ARCH=sh4a
-        ;;
-    arm*)
-        CFG_ARCH=arm
-        ;;
-    *)
-        CFG_ARCH="$CFG_EMBEDDED"
-        ;;
-    esac
-elif [ "$XPLATFORM_MINGW" = "yes" ]; then
-    [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
-elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
-    CFG_ARCH=$CFG_HOST_ARCH
-fi
-
-# for compatibility
-COMPAT_ARCH=
-case "$CFG_ARCH" in
-arm*)
-    # previously, armv6 was a different arch
-    CFG_ARCH=arm
-    COMPAT_ARCH=armv6
-    ;;
-esac
-
-if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
-    if [ "$OPT_VERBOSE" = "yes" ]; then
-        echo "    '$CFG_ARCH' is supported"
-    fi
-else
-    if [ "$OPT_VERBOSE" = "yes" ]; then
-        echo "    '$CFG_ARCH' is unsupported, using 'generic'"
-    fi
-    CFG_ARCH=generic
-fi
-if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
-    if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    '$CFG_HOST_ARCH' is supported"
-        fi
-    else
-        if [ "$OPT_VERBOSE" = "yes" ]; then
-            echo "    '$CFG_HOST_ARCH' is unsupported, using 'generic'"
-        fi
-        CFG_HOST_ARCH=generic
-    fi
-fi
-
-if [ "$OPT_VERBOSE" = "yes" ]; then
-    echo "System architecture: '$CFG_ARCH'"
-    if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
-       echo "Host architecture: '$CFG_HOST_ARCH'"
-    fi
-fi
-
 #-------------------------------------------------------------------------------
 # tests that don't need qmake (must be run before displaying help)
 #-------------------------------------------------------------------------------
@@ -3000,7 +2471,7 @@ fi
 
 if [ -z "$PKG_CONFIG" ]; then
     # See if PKG_CONFIG is set in the mkspec:
-    PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
+    PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
 fi
 if [ -z "$PKG_CONFIG" ]; then
     PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
@@ -3014,11 +2485,11 @@ if [ "$QT_CROSS_COMPILE" = "yes" ]; then
         echo >&2 "Please make sure you have a correctly set-up pkg-config"
         echo >&2 "environment!"
         echo >&2 ""
-        if [ -z "$PKG_CONFIG_PATH" ]; then
+        if [ -z "$PKG_CONFIG_LIBDIR" ]; then
             echo >&2 ""
-            echo >&2 "Warning: PKG_CONFIG_PATH has not been set.  This could mean"
-            echo >&2 "the host compiler's .pc files will be used. This is probably"
-            echo >&2 "not what you want."
+            echo >&2 "Warning: PKG_CONFIG_LIBDIR has not been set.  This could mean"
+            echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
+            echo >&2 "This is probably not what you want."
             echo >&2 ""
         elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
             echo >&2 ""
@@ -3048,7 +2519,7 @@ if [ '!' -z "$CFG_SDK" ]; then
 fi
 
 # find the default framework value
-if [ "$PLATFORM_MAC" = "yes" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ]; then
     if [ "$CFG_FRAMEWORK" = "auto" ]; then
         CFG_FRAMEWORK="$CFG_SHARED"
     elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
@@ -3061,10 +2532,9 @@ else
     CFG_FRAMEWORK=no
 fi
 
-QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
-TEST_COMPILER="$CXX"
+QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
 
-[ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
+TEST_COMPILER=$QMAKE_CONF_COMPILER
 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
     if [ -z "$TEST_COMPILER" ]; then
         echo "ERROR: Cannot set the compiler for the configuration tests"
@@ -3072,10 +2542,6 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
     fi
 fi
 
-if [ "$CFG_EMBEDDED" = "nacl" ]; then
-    TEST_COMPILER="nacl-gcc"
-fi
-
 SYSROOT_FLAG=
 if [ -n "$CFG_SYSROOT" ]; then
     if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
@@ -3098,7 +2564,7 @@ if [ "$CFG_PRECOMPILE" = "auto" ]; then
 fi
 
 #auto-detect DWARF2 on the mac
-if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
     if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
         CFG_MAC_DWARF2=no
     else
@@ -3114,9 +2580,9 @@ fi
 
 # auto-detect support for separate debug info in objcopy
 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
-    TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
-    TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
-    TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
+    TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
+    TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
+    TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
     COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
     COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
     if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
@@ -3135,8 +2601,13 @@ if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
 fi
 
 # auto-detect -fvisibility support
-if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
+if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
     if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
+       if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
+           echo "-reduce-exports was requested but this compiler does not support it"
+           echo "Re-run configure with -v for more information"
+           exit 1
+       fi
        CFG_REDUCE_EXPORTS=no
     else
        CFG_REDUCE_EXPORTS=yes
@@ -3146,6 +2617,11 @@ fi
 # detect the availability of the -Bsymbolic-functions linker optimization
 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
     if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
+       if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
+           echo "-reduce-relocations was requested but this compiler does not support it"
+           echo "Re-run configure with -v for more information"
+           exit 1
+       fi
         CFG_REDUCE_RELOCATIONS=no
     else
         CFG_REDUCE_RELOCATIONS=yes
@@ -3157,20 +2633,8 @@ if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>
    CFG_USE_GNUMAKE=yes
 fi
 
-# If -opengl wasn't specified, don't try to auto-detect
-if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
-        CFG_OPENGL=no
-fi
-
-# mac
-if [ "$PLATFORM_MAC" = "yes" ]; then
-    if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
-        CFG_OPENGL=desktop
-    fi
-fi
-
 # find the default framework value
-if [ "$PLATFORM_MAC" = "yes" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ]; then
     if [ "$CFG_FRAMEWORK" = "auto" ]; then
         CFG_FRAMEWORK="$CFG_SHARED"
     elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
@@ -3183,18 +2647,6 @@ else
     CFG_FRAMEWORK=no
 fi
 
-# Print a warning if configure was called with the 10.4u SDK option on Snow Leopard
-# with the default mkspec. The 10.4u SDK does not support gcc 4.2.
-if [ "$PLATFORM_MAC" = "yes" ] && [ '!' -z "$CFG_SDK" ]; then
-    # get the darwin version. 10.0.0 and up means snow leopard.
-    VERSION=`uname -r | tr '.' ' ' | awk '{print $1}'`
-    if [ "$VERSION" -gt 9 ] && [ "$CFG_SDK" == "/Developer/SDKs/MacOSX10.4u.sdk/" ] && [ "$PLATFORM" == "macx-g++" ]; then
-        echo
-        echo "WARNING: The 10.4u SDK does not support gcc 4.2. Configure with -platform macx-g++40. "
-        echo
-    fi
-fi
-
 # x11 tests are done after qmake is built
 
 
@@ -3232,7 +2684,7 @@ QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
 
 if [ -z "$QT_INSTALL_DOCS" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             QT_INSTALL_DOCS="/Developer/Documentation/Qt"
         fi
     fi
@@ -3243,7 +2695,7 @@ QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
 
 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             if [ "$CFG_FRAMEWORK" = "yes" ]; then
                 QT_INSTALL_HEADERS=
             fi
@@ -3256,7 +2708,7 @@ QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
 
 if [ -z "$QT_INSTALL_LIBS" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             if [ "$CFG_FRAMEWORK" = "yes" ]; then
                 QT_INSTALL_LIBS="/Libraries/Frameworks"
             fi
@@ -3268,7 +2720,7 @@ QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
 
 if [ -z "$QT_INSTALL_BINS" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             QT_INSTALL_BINS="/Developer/Applications/Qt"
         fi
     fi
@@ -3278,7 +2730,7 @@ QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
 
 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
         fi
     fi
@@ -3288,7 +2740,7 @@ QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
 
 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
         fi
     fi
@@ -3307,7 +2759,7 @@ fi
 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
 
 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
-    if [ "$PLATFORM_MAC" = "yes" ]; then
+    if [ "$BUILD_ON_MAC" = "yes" ]; then
         QT_INSTALL_SETTINGS=/Library/Preferences/Qt
     else
         QT_INSTALL_SETTINGS=/etc/xdg
@@ -3317,7 +2769,7 @@ QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"
 
 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
         fi
     fi
@@ -3328,7 +2780,7 @@ QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"
 #tests
 if [ -z "$QT_INSTALL_TESTS" ]; then #default
     if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-        if [ "$PLATFORM_MAC" = "yes" ]; then
+        if [ "$BUILD_ON_MAC" = "yes" ]; then
             QT_INSTALL_TESTS="/Developer/Tests/Qt"
         fi
     fi
@@ -3336,6 +2788,40 @@ if [ -z "$QT_INSTALL_TESTS" ]; then #default
 fi
 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
 
+#------- host paths --------
+
+if [ -z "$QT_HOST_PREFIX" ]; then
+    QT_HOST_PREFIX=$QT_INSTALL_PREFIX
+    haveHpx=false
+else
+    QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
+    haveHpx=true
+fi
+
+if [ -z "$QT_HOST_BINS" ]; then #default
+    if $haveHpx; then
+        if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
+            if [ "$BUILD_ON_MAC" = "yes" ]; then
+                QT_HOST_BINS="/Developer/Applications/Qt"
+            fi
+        fi
+        [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
+    else
+        QT_HOST_BINS="$QT_INSTALL_BINS"
+    fi
+fi
+QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
+
+if [ -z "$QT_HOST_DATA" ]; then #default
+    if $haveHpx; then
+        QT_HOST_DATA="$QT_HOST_PREFIX"
+    else
+        QT_HOST_DATA="$QT_INSTALL_DATA"
+    fi
+else
+    QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
+fi
+
 #-------------------------------------------------------------------------------
 # help - interactive parts of the script _after_ this section please
 #-------------------------------------------------------------------------------
@@ -3394,13 +2880,14 @@ if [ "$OPT_HELP" = "yes" ]; then
         XCBN=" "
     fi
 
-    if [ "$CFG_WAYLAND" = "no" ]; then
-        XWY=" "
-        XWN="*"
+    if [ "$CFG_EGLFS" = "no" ]; then
+        EGLFSY=" "
+        EGLFSN="*"
     else
-        XWY="*"
-        XWN=" "
+        EGLFSY="*"
+        EGLFSN=" "
     fi
+
     if [ "$CFG_XINPUT2" = "no" ]; then
         X2Y=" "
         X2N="*"
@@ -3419,15 +2906,14 @@ Usage:  $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
         [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
         [-plugin-sql-<driver>] [-system-sqlite]
         [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
-        [-qt-zlib] [-system-zlib] [-no-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
-        [-no-libpng] [-qt-libpng] [-system-libpng]
+        [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
         [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
         [-nomake <part>] [-R <string>]  [-l <string>] [-no-rpath]  [-rpath] [-continue]
         [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
         [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
-        [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
+        [-no-separate-debug-info] [-no-sse2]
         [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
-        [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
+        [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
         [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
         [-no-audio-backend] [-audio-backend]
         [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
@@ -3448,12 +2934,13 @@ Installation options:
     -prefix <dir> ...... This will install everything relative to <dir>
                          (default $QT_INSTALL_PREFIX)
 EOF
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+if [ "$PLATFORM_QPA" = "yes" ]; then
 cat <<EOF
 
     -hostprefix [dir] .. Tools and libraries needed when developing
                          applications are installed in [dir]. If [dir] is
                          not given, the current build directory will be used.
+                         (default PREFIX)
 EOF
 fi
 cat <<EOF
@@ -3490,6 +2977,17 @@ cat <<EOF
                             (default PREFIX/examples)
     -testsdir <dir> ....... Tests will be installed to <dir>
                             (default PREFIX/tests)
+EOF
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+cat <<EOF
+
+    -hostbindir <dir> .. Host executables will be installed to <dir>
+                         (default HOSTPREFIX/bin)
+    -hostdatadir <dir> . Data used by qmake will be installed to <dir>
+                         (default HOSTPREFIX)
+EOF
+fi
+cat <<EOF
 
 Configure options:
 
@@ -3521,7 +3019,7 @@ Configure options:
  +  -largefile ......... Enables Qt to access files larger than 4 GB.
 
 EOF
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+if [ "$PLATFORM_QPA" = "yes" ]; then
     EXCN="*"
     EXCY=" "
 else
@@ -3573,7 +3071,7 @@ fi
                          operating systems and compilers.
 EOF
 
-if [ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ]; then
+if [ "${PLATFORM_QPA}" != "yes" ]; then
 cat << EOF
     -graphicssystem <sys> Sets an alternate graphics system. Available options are:
                            raster - Software rasterizer
@@ -3585,16 +3083,16 @@ fi
 
 cat << EOF
 
-    -no-mmx ............ Do not compile with use of MMX instructions.
-    -no-3dnow .......... Do not compile with use of 3DNOW instructions.
-    -no-sse ............ Do not compile with use of SSE instructions.
     -no-sse2 ........... Do not compile with use of SSE2 instructions.
     -no-sse3 ........... Do not compile with use of SSE3 instructions.
     -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
     -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
     -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
     -no-avx ............ Do not compile with use of AVX instructions.
+    -no-avx2 ........... Do not compile with use of AVX2 instructions.
     -no-neon ........... Do not compile with use of NEON instructions.
+    -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
+    -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
 
     -qtnamespace <name>  Wraps all Qt library code in 'namespace <name> {...}'.
     -qtlibinfix <infix>  Renames all libQt*.so to libQt*<infix>.so.
@@ -3615,11 +3113,6 @@ Third Party Libraries:
 
     -no-gif ............ Do not compile GIF reading support.
 
-    -no-libtiff ........ Do not compile TIFF support.
-    -qt-libtiff ........ Use the libtiff bundled with Qt.
- +  -system-libtiff .... Use libtiff from the operating system.
-                         See http://www.libtiff.org
-
     -no-libpng ......... Do not compile PNG support.
     -qt-libpng ......... Use the libpng bundled with Qt.
  +  -system-libpng ..... Use libpng from the operating system.
@@ -3707,7 +3200,7 @@ else
     SBN="*"
 fi
 
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
 
     cat << EOF
 
@@ -3717,12 +3210,12 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "ye
  $XCBN  -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
  $XCBY  -xcb ............... Compile Xcb support.
 
- $XWN  -no-wayland......... Do not compile Wayland support.
- $XWY  -wayland  .......... Compile Wayland support.
+ $EGLFSN  -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
+ $EGLFSY  -eglfs ............. Compile EGLFS support.
 
 EOF
 
-fi # X11/QWS
+fi # X11
 
 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
 
@@ -3838,12 +3331,6 @@ Qt/X11 only:
     -system-nas-sound .. Use NAS libaudio from the operating system.
                          See http://radscan.com/nas.html
 
-    -egl ............... Use EGL instead of GLX to manage contexts.
-                         When building for desktop OpenGL, this option will
-                         make Qt use EGL to manage contexts rather than the
-                         GLX, which is the default. Note: For OpenGL ES, EGL
-                         is always used.
-
     -no-opengl ......... Do not support OpenGL.
  +  -opengl <api> ...... Enable OpenGL support.
                          With no parameter, this will auto-detect the "best"
@@ -3936,9 +3423,6 @@ Qt/Mac only:
  *  -dwarf2 ............ Enable dwarf2 debugging symbols.
     -no-dwarf2 ......... Disable dwarf2 debugging symbols.
 
-    -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
-                         Only one arch value can be specified.
-
     -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.
 
@@ -3949,23 +3433,13 @@ Qt/Mac only:
 EOF
 fi
 
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    cat << EOF
-Qt for Embedded Linux:
-
-    -embedded <arch> .... This will enable the embedded build, you must have a
-                          proper license for this switch to work.
-                          Example values for <arch>: arm mips x86 generic
-EOF
-fi
-
 if [ "$PLATFORM_QPA" = "yes" ]; then
     cat << EOF
 Qt for QPA only:
 EOF
 fi
 
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+if [ "$PLATFORM_QPA" = "yes" ]; then
     cat << EOF
 
     -xplatform target ... The target platform when cross-compiling.
@@ -3974,22 +3448,6 @@ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
     -feature-<feature> .. Compile in <feature>. The available features
                           are described in src/corelib/global/qfeatures.txt
 
-    -armfpa ............. Target platform uses the ARM-FPA floating point format.
-    -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
-
-                          The floating point format is usually autodetected by configure. Use this
-                          to override the detected value.
-
-    -little-endian ...... Target platform is little endian (LSB first).
-    -big-endian ......... Target platform is big endian (MSB first).
-
-    -host-little-endian . Host platform is little endian (LSB first).
-    -host-big-endian .... Host platform is big endian (MSB first).
-
-                          You only need to specify the endianness when
-                          cross-compiling, otherwise the host
-                          endianness will be used.
-
     -no-freetype ........ Do not compile in Freetype2 support.
     -qt-freetype ........ Use the libfreetype bundled with Qt.
  *  -system-freetype .... Use libfreetype from the operating system.
@@ -4006,53 +3464,7 @@ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
 EOF
 fi
 
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    cat << EOF
-
-    -depths <list> ...... Comma-separated list of supported bit-per-pixel
-                          depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
-
-    -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
-                               by default all available decorations are on.
-                              Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
-    -plugin-decoration-<style> Enable decoration <style> as a plugin to be
-                               linked to at run time.
-                              Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
-    -no-decoration-<style> ....Disable decoration <style> entirely.
-                               Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
-
-    -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
-                         Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
-    -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
-                         linked to at run time.
-                         Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
-    -no-gfx-<driver> ... Disable graphics <driver> entirely.
-                         Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
-
-    -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
-                         Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
-
-    -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
-                         at runtime.
-                         Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
-
-    -no-kbd-<driver> ... Disable keyboard <driver> entirely.
-                         Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
-
-    -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
-                           Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
-    -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
-                           at runtime.
-                           Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
-    -no-mouse-<driver> ... Disable mouse <driver> entirely.
-                           Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
-
-    -iwmmxt ............ Compile using the iWMMXt instruction set
-                         (available on some XScale CPUs).
-EOF
-fi
-
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
+if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
     if [ "$CFG_GLIB" = "no" ]; then
         GBY=" "
         GBN="+"
@@ -4076,15 +3488,11 @@ fi # Help
 # LICENSING, INTERACTIVE PART
 # -----------------------------------------------------------------------------
 
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    Platform="Qt for Embedded Linux"
-elif [ "$PLATFORM_QPA" = "yes" ]; then
+if [ "$PLATFORM_QPA" = "yes" ]; then
     Platform="Qt Lighthouse"
-elif [ "$PLATFORM_MAC" = "yes" ]; then
-    Platform="Qt for Mac OS X"
 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
     Platform="Qt for Windows"
-elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
+elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
     PLATFORM_X11=yes
     Platform="Qt for Linux/X11"
 fi
@@ -4266,105 +3674,44 @@ esac
 #-------------------------------------------------------------------------------
 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
 
-LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
-LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
-PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
-DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
-HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
-LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
-BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
-PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
-IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
-DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
-TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
-SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
-EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
-TESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
-
-TODAY=`date +%Y-%m-%d`
 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
 /* License Info */
-static const char qt_configure_licensee_str          [256 + 12] = "$LICENSE_USER_STR";
-static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
+static const char qt_configure_licensee_str          [256 + 12] = "qt_lcnsuser=$Licensee";
+static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
 
 /* Installation date */
-static const char qt_configure_installation          [12+11]    = "qt_instdate=$TODAY";
-EOF
-
-
-if [ ! -z "$QT_HOST_PREFIX" ]; then
-    HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
-    HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
-    HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
-    HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
-    HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
-    HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
-    HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
-    HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
-    HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
-    HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
-    HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
-    HOSTTESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
+static const char qt_configure_installation          [12+11]    = "qt_instdate=`date +%Y-%m-%d`";
 
-    cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
-
-#if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
 /* Installation Info */
-static const char qt_configure_prefix_path_str       [256 + 12] = "$HOSTPREFIX_PATH_STR";
-static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
-static const char qt_configure_headers_path_str      [256 + 12] = "$HOSTHEADERS_PATH_STR";
-static const char qt_configure_libraries_path_str    [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
-static const char qt_configure_binaries_path_str     [256 + 12] = "$HOSTBINARIES_PATH_STR";
-static const char qt_configure_plugins_path_str      [256 + 12] = "$HOSTPLUGINS_PATH_STR";
-static const char qt_configure_imports_path_str      [256 + 12] = "$HOSTIMPORTS_PATH_STR";
-static const char qt_configure_data_path_str         [256 + 12] = "$HOSTDATA_PATH_STR";
-static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
-static const char qt_configure_settings_path_str     [256 + 12] = "$HOSTSETTINGS_PATH_STR";
-static const char qt_configure_examples_path_str     [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
-static const char qt_configure_tests_path_str        [256 + 12] = "$HOSTTESTS_PATH_STR";
-#else // QT_BOOTSTRAPPED
+static const char qt_configure_prefix_path_strs[][256 + 12] = {
+    "qt_prfxpath=$QT_INSTALL_PREFIX",
+    "qt_docspath=$QT_INSTALL_DOCS",
+    "qt_hdrspath=$QT_INSTALL_HEADERS",
+    "qt_libspath=$QT_INSTALL_LIBS",
+    "qt_binspath=$QT_INSTALL_BINS",
+    "qt_plugpath=$QT_INSTALL_PLUGINS",
+    "qt_impspath=$QT_INSTALL_IMPORTS",
+    "qt_datapath=$QT_INSTALL_DATA",
+    "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
+    "qt_xmplpath=$QT_INSTALL_EXAMPLES",
+    "qt_tstspath=$QT_INSTALL_TESTS",
+#ifdef QT_BUILD_QMAKE
+    "qt_ssrtpath=$CFG_SYSROOT",
+    "qt_hpfxpath=$QT_HOST_PREFIX",
+    "qt_hbinpath=$QT_HOST_BINS",
+    "qt_hdatpath=$QT_HOST_DATA",
+#endif
+};
+static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
 EOF
-fi
 
 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
-/* Installation Info */
-static const char qt_configure_prefix_path_str       [256 + 12] = "$PREFIX_PATH_STR";
-static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
-static const char qt_configure_headers_path_str      [256 + 12] = "$HEADERS_PATH_STR";
-static const char qt_configure_libraries_path_str    [256 + 12] = "$LIBRARIES_PATH_STR";
-static const char qt_configure_binaries_path_str     [256 + 12] = "$BINARIES_PATH_STR";
-static const char qt_configure_plugins_path_str      [256 + 12] = "$PLUGINS_PATH_STR";
-static const char qt_configure_imports_path_str      [256 + 12] = "$IMPORTS_PATH_STR";
-static const char qt_configure_data_path_str         [256 + 12] = "$DATA_PATH_STR";
-static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
-static const char qt_configure_settings_path_str     [256 + 12] = "$SETTINGS_PATH_STR";
-static const char qt_configure_examples_path_str     [256 + 12] = "$EXAMPLES_PATH_STR";
-static const char qt_configure_tests_path_str        [256 + 12] = "$TESTS_PATH_STR";
-EOF
-
-if [ ! -z "$QT_HOST_PREFIX" ]; then
-    cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
-#endif // QT_BOOTSTRAPPED
 
-EOF
-fi
-
-cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
 /* strlen( "qt_lcnsxxxx" ) == 12 */
 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
-#define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
-#define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
-#define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
-#define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
-#define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
-#define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
-#define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
-#define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
-#define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
+
 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
-#define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
-#define QT_CONFIGURE_TESTS_PATH qt_configure_tests_path_str + 12;
 EOF
 
 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
@@ -4378,9 +3725,9 @@ fi
 
 # -----------------------------------------------------------------------------
 if [ "$LicenseType" = "Evaluation" ]; then
-    EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
+    EVALKEY=qt_qevalkey=$LicenseKeyExt
 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
-    EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
+    EVALKEY=qt_qevalkey=
 fi
 
 if [ -n "$EVALKEY" ]; then
@@ -4402,49 +3749,20 @@ if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
     SYNCQT_OPTS=
     [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
     if [ "$OPT_SHADOW" = "yes" ]; then
-        "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
+        "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
     elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
         QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
     fi
 fi
 
-# $1: variable name
-# $2: optional transformation
+# $1: input variable name (awk regexp)
+# $2: optional output variable name
+# $3: optional value transformation (sed command)
 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
 # is where the resulting variable is written to
-# Assumes that the optional transformation produces the same variable name for each hit
 setBootstrapVariable()
 {
-    getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
-BEGIN {
-    variable = ""
-    combinedValue = ""
-}
-{
-    valStart = index($0, "=") + 1
-
-    append = 0
-    if (substr($0, valStart - 2, 1) == "+") {
-        append = 1
-    }
-
-    variable = substr($0, 0, valStart - 2 - append)
-    value = substr($0, valStart)
-    gsub("[ \t]+", "", variable)
-    gsub("^[ \t]+", "", value)
-    gsub("[ \t]+$", "", value)
-
-    if (append == 1 && length(combinedValue) > 0) {
-        combinedValue = combinedValue " " value
-    } else {
-        combinedValue = value
-    }
-}
-END {
-    if (length(combinedValue) > 0) {
-        printf "%s = %s\n", variable, combinedValue
-    }
-}' >> "$mkfile"
+    getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
 }
 
 # build qmake
@@ -4473,6 +3791,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
     #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
     rm -rf mkspecs/default
     ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
+    mkdir -p "$outpath/qmake" || exit
     # fix makefiles
     for mkfile in GNUmakefile Makefile; do
         EXTRA_LFLAGS=
@@ -4505,17 +3824,11 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
            EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
         fi
 
-       [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile"
-       [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile"
-        if [ "$CFG_SILENT" = "yes" ]; then
-            [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC.*=,CC=\@,'
-            [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX.*=,CXX=\@,'
-        else
-            [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC,CC,'
-            [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX,CXX,'
-        fi
+        [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
+        setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
+        setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
         setBootstrapVariable QMAKE_CFLAGS
-        setBootstrapVariable QMAKE_CXXFLAGS 's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
+        setBootstrapVariable QMAKE_CXXFLAGS
         setBootstrapVariable QMAKE_LFLAGS
 
         if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
@@ -4524,18 +3837,18 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
         fi
         if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
             setBootstrapVariable QMAKE_CFLAGS_RELEASE
-            setBootstrapVariable QMAKE_CXXFLAGS_RELEASE 's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
+            setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
             EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
             EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
         elif [ "$CFG_DEBUG" = "yes" ]; then
             setBootstrapVariable QMAKE_CFLAGS_DEBUG
-            setBootstrapVariable QMAKE_CXXFLAGS_DEBUG 's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
+            setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
             EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
             EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
         fi
 
-        if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
-            setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" 's,\$\$LITERAL_WHITESPACE, ,;s,QMAKE_RPATH,QMAKE_LFLAGS_RPATH,'
+        if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
+            setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
             for rpath in $RPATH_FLAGS; do
                 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
             done
@@ -4557,7 +3870,6 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
                EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
             fi
         fi
-        [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS="$EXTRA_CFLAGS -DQWS"
         if [ '!' -z "$D_FLAGS" ]; then
             for DEF in $D_FLAGS; do
                 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
@@ -4598,38 +3910,39 @@ fi # Build qmake
 # tests that need qmake
 #-------------------------------------------------------------------------------
 
-# detect availability of float math.h functions
-if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
-    CFG_USE_FLOATMATH=yes
+#-------------------------------------------------------------------------------
+# determine the target and host architectures
+#-------------------------------------------------------------------------------
+
+# Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
+CFG_ARCH=`"$outpath/bin/qmake" -spec "$XQMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'`
+
+[ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
+if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
+    # Do the same test again, using the host compiler
+    CFG_HOST_ARCH=`"$outpath/bin/qmake" -spec "$QMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9]*\).*,\1,p'`
+    [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
 else
-    CFG_USE_FLOATMATH=no
+    # not cross compiling, host == target
+    CFG_HOST_ARCH="$CFG_ARCH"
 fi
 
-# detect mmx support
-if [ "${CFG_MMX}" = "auto" ]; then
-    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
-       CFG_MMX=yes
-    else
-       CFG_MMX=no
+if [ "$OPT_VERBOSE" = "yes" ]; then
+    echo "System architecture: '$CFG_ARCH'"
+    if [ "$PLATFORM_QPA" = "yes" ]; then
+        echo "Host architecture: '$CFG_HOST_ARCH'"
     fi
 fi
 
-# detect 3dnow support
-if [ "${CFG_3DNOW}" = "auto" ]; then
-    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
-       CFG_3DNOW=yes
-    else
-       CFG_3DNOW=no
-    fi
-fi
+#-------------------------------------------------------------------------------
+# functionality tests
+#-------------------------------------------------------------------------------
 
-# detect sse support
-if [ "${CFG_SSE}" = "auto" ]; then
-    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
-       CFG_SSE=yes
-    else
-       CFG_SSE=no
-    fi
+# detect availability of float math.h functions
+if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
+    CFG_USE_FLOATMATH=yes
+else
+    CFG_USE_FLOATMATH=no
 fi
 
 # detect sse2 support
@@ -4686,6 +3999,15 @@ if [ "${CFG_AVX}" = "auto" ]; then
     fi
 fi
 
+# detect avx2 support
+if [ "${CFG_AVX2}" = "auto" ]; then
+    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx2 "avx2" $L_FLAGS $I_FLAGS $l_FLAGS "-march=core-avx2"; then
+       CFG_AVX2=yes
+    else
+       CFG_AVX2=no
+    fi
+fi
+
 # check iWMMXt support
 if [ "$CFG_IWMMXT" = "yes" ]; then
     "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
@@ -4703,6 +4025,22 @@ if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
     else
        CFG_NEON=no
     fi
+elif [ "$CFG_ARCH" != "arm" ]; then
+    CFG_NEON=no
+fi
+
+# detect mips_dsp support
+if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
+  CFG_MIPS_DSP=yes
+    else
+  CFG_MIPS_DSP=no
+fi
+
+# detect mips_dspr2 support
+if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
+  CFG_MIPS_DSPR2=yes
+    else
+  CFG_MIPS_DSPR2=no
 fi
 
 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
@@ -4734,6 +4072,10 @@ if [ "$CFG_LARGEFILE" = "auto" ]; then
     CFG_LARGEFILE=yes
 fi
 
+if [ "$CFG_GUI" = "no" ]; then
+    QPA_PLATFORM_GUARD=no
+fi
+
 # detect how jpeg should be built
 if [ "$CFG_JPEG" = "auto" ]; then
     if [ "$CFG_SHARED" = "yes" ]; then
@@ -4760,24 +4102,6 @@ if [ "$CFG_GIF" = "auto" ]; then
     fi
 fi
 
-# detect how tiff should be built
-if [ "$CFG_TIFF" = "auto" ]; then
-    if [ "$CFG_SHARED" = "yes" ]; then
-        CFG_TIFF=plugin
-    else
-        CFG_TIFF=yes
-    fi
-fi
-
-# detect tiff
-if [ "$CFG_LIBTIFF" = "auto" ]; then
-    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libtiff "libtiff" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
-        CFG_LIBTIFF=system
-    else
-        CFG_LIBTIFF=qt
-    fi
-fi
-
 # detect png
 if [ "$CFG_LIBPNG" = "auto" ]; then
     if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
@@ -4792,6 +4116,14 @@ if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
     CFG_ACCESSIBILITY=yes
 fi
 
+if [ "$CFG_EGLFS" = "yes" ]; then
+    if [ "$CFG_EGL" = "no" ]; then
+        echo "The EGLFS plugin requires EGL support and cannot be built"
+        exit 101
+    fi
+    CFG_EGL=yes
+fi
+
 # auto-detect SQL-modules support
 for _SQLDR in $CFG_SQL_AVAILABLE; do
         case $_SQLDR in
@@ -4878,7 +4210,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
         ;;
         odbc)
             if [ "$CFG_SQL_odbc" != "no" ]; then
-                if ( [ "$PLATFORM_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+                if ( [ "$BUILD_ON_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
                     if [ "$CFG_SQL_odbc" = "auto" ]; then
                         CFG_SQL_odbc=plugin
                     fi
@@ -5078,8 +4410,8 @@ fi
 
 # auto-detect iconv(3) support
 if [ "$CFG_ICONV" != "no" ]; then
-    if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
-       CFG_ICONV=no
+    if [ "$XPLATFORM_MINGW" = "yes" ]; then
+        CFG_ICONV=no
     elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
         CFG_ICONV=yes
     elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
@@ -5124,8 +4456,8 @@ if [ "$CFG_DBUS" != "no" ]; then
     fi
 fi
 
-# X11/QWS/Lighthouse
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+# X11/Lighthouse
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
 
     # auto-detect Glib support
     if [ "$CFG_GLIB" != "no" ]; then
@@ -5216,7 +4548,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "ye
             fi
         fi
     fi
-fi # X11/QWS/Lighthouse
+fi # X11/Lighthouse
 
 # X11
 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
@@ -5259,9 +4591,6 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
             CFG_OPENGL=desktop
         elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
             CFG_OPENGL=es2
-            if [ "$CFG_EGL" = "no" ]; then
-                CFG_EGL=auto
-            fi
         else
             if [ "$CFG_OPENGL" = "yes" ]; then
                 echo "All the OpenGL functionality tests failed!"
@@ -5412,33 +4741,6 @@ if [ "$PLATFORM_X11" = "yes" ]; then
        fi
     fi
 
-    # auto-detect FontConfig support
-    if [ "$CFG_FONTCONFIG" != "no" ]; then
-    if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
-        QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
-        QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
-    else
-        QT_CFLAGS_FONTCONFIG=
-        QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
-    fi
-    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
-           CFG_FONTCONFIG=yes
-        QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
-        QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
-           CFG_LIBFREETYPE=system
-       else
-           if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
-               echo "FontConfig support cannot be enabled due to functionality tests!"
-               echo " Turn on verbose messaging (-v) to $0 to see the final report."
-               echo " If you believe this message is in error you may use the continue"
-               echo " switch (-continue) to $0 to continue."
-               exit 101
-           else
-               CFG_FONTCONFIG=no
-           fi
-       fi
-    fi
-
     # auto-detect Session Management support
     if [ "$CFG_SM" = "auto" ]; then
        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/sm "Session Management" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
@@ -5582,13 +4884,40 @@ if [ "$PLATFORM_X11" = "yes" ]; then
                 CFG_QGTKSTYLE=no
             fi
         fi
-    elif [ "$CFG_GLIB" = "no" ]; then
-        CFG_QGTKSTYLE=no
+    elif [ "$CFG_GLIB" = "no" ]; then
+        CFG_QGTKSTYLE=no
+    fi
+fi # X11
+
+# auto-detect FontConfig support
+if [ "$CFG_FONTCONFIG" != "no" ]; then
+    if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
+        QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
+        QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
+    else
+        QT_CFLAGS_FONTCONFIG=
+        QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
+    fi
+    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
+        CFG_FONTCONFIG=yes
+        QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
+        QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
+        CFG_LIBFREETYPE=system
+    else
+        if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
+            echo "FontConfig support cannot be enabled due to functionality tests!"
+            echo " Turn on verbose messaging (-v) to $0 to see the final report."
+            echo " If you believe this message is in error you may use the continue"
+            echo " switch (-continue) to $0 to continue."
+            exit 101
+        else
+            CFG_FONTCONFIG=no
+        fi
     fi
-fi # X11
+fi
 
 
-if [ "$PLATFORM_MAC" = "yes" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ]; then
     if [ "$CFG_PHONON" != "no" ]; then
         # Always enable Phonon (unless it was explicitly disabled)
         CFG_PHONON=yes
@@ -5603,12 +4932,9 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
     fi
 fi
 
-
 if [ "$PLATFORM_QPA" = "yes" ]; then
     # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
-    if [ "$PLATFORM_MAC" = "yes" ]; then
-        CFG_OPENGL=desktop
-    elif [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
+    if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
         if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
             CFG_OPENGL=desktop
         elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
@@ -5626,8 +4952,8 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
     elif [ "$CFG_OPENGL" = "es2" ]; then
         #OpenGL ES 2.x
         if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
-            QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --variable=includedir glesv2 2>/dev/null`
-            QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --variable=libdir glesv2 2>/dev/null`
+            QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+            QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
             QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
             QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
             QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
@@ -5674,25 +5000,38 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
     fi
 
     # Save these for a check later
-    ORIG_CFG_WAYLAND="$CFG_WAYLAND"
     ORIG_CFG_XCB="$CFG_XCB"
+    ORIG_CFG_EGLFS="$CFG_EGLFS"
+
+    if [ "$CFG_LIBUDEV" != "no" ]; then
+       if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
+           QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+           QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
+           QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
+           QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
+       fi
+       if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_INCDIR_LIBUDEV $QMAKE_LIBS_LIBUDEV; then
+            CFG_LIBUDEV=yes
+            QT_CONFIG="$QT_CONFIG libudev"
+        elif [ "$CFG_LIBUDEV" = "yes" ]; then
+            echo "The libudev functionality test failed!"
+            exit 1
+        else
+            CFG_LIBUDEV=no
+            QMakeVar add DEFINES QT_NO_LIBUDEV
+        fi
+    fi
 
-    if [ "$CFG_WAYLAND" != "no" ]; then
-        if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
-            QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
-            QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
-            QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --variable=includedir wayland-client 2>/dev/null`
-            QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --variable=libdir wayland-client 2>/dev/null`
-        fi
-        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/wayland "Wayland" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_WAYLAND $QMAKE_LIBS_WAYLAND; then
-            CFG_WAYLAND=yes
-            QT_CONFIG="$QT_CONFIG wayland"
-        elif [ "$CFG_WAYLAND" = "yes" ]; then
-            echo "The Wayland functionality test failed!"
+    if [ "$CFG_EVDEV" != "no" ]; then
+        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
+            CFG_EVDEV=yes
+            QT_CONFIG="$QT_CONFIG evdev"
+        elif [ "$CFG_EVDEV" = "yes" ]; then
+            echo "The evdev functionality test failed!"
             exit 1
         else
-            CFG_WAYLAND=no
-            QMakeVar add DEFINES QT_NO_WAYLAND
+            CFG_EVDEV=no
+            QMakeVar add DEFINES QT_NO_EVDEV
         fi
     fi
 
@@ -5720,18 +5059,22 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
     fi
 
     if [ "$CFG_XCB" != "no" ]; then
-        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS; then
+        if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
+            QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
+            QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
+        fi
+        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
             CFG_XCB=yes
-            if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS; then
+            if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
                 QT_CONFIG="$QT_CONFIG xcb-render"
             fi
 
-            if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $l_FLAGS; then
+            if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
                 CFG_XCB_LIMITED=no
                 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
             fi
 
-            if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS; then
+            if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
                 QT_CONFIG="$QT_CONFIG xcb-xlib"
             fi
 
@@ -5770,26 +5113,35 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
     if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
         QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
         QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
-        if [ "$CFG_WAYLAND" = "yes" ]; then
-            QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
-            QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
-        fi
         QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
         QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
     else
-        if [ "$CFG_WAYLAND" = "yes" ]; then
-            QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
-        fi
         QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
     fi
 
-    # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
-    if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
-        QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
-        QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
-        QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
-        QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
-        QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
+    # EGL Support
+    if [ "$CFG_EGL" != "no" ]; then
+        if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
+            QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+            QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
+            QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
+            QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
+            QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
+        fi       # detect EGL support
+        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/egl" "EGL" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
+            CFG_EGL=yes
+        elif [ "$CFG_EGL" = "yes" ]; then
+            echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
+            echo " You might need to modify the include and library search paths by editing"
+            echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
+            exit 1
+        else
+            CFG_EGL=no
+        fi
+    fi
+
+    if [ "$CFG_EGLFS" != "no" ]; then
+        CFG_EGLFS="$CFG_EGL"
     fi
 
     if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
@@ -5798,19 +5150,24 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
         QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
     fi
 
-    if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
-        QT_CONFIG="$QT_CONFIG coreservices"
-    else
-        QMakeVar add DEFINES QT_NO_CORESERVICES
+    if [ "$BUILD_ON_MAC" = "yes" ]; then
+        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+            QT_CONFIG="$QT_CONFIG coreservices"
+        else
+            QMakeVar add DEFINES QT_NO_CORESERVICES
+        fi
     fi
 
     if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
-        if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
-            if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
+        if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ]; then
+            if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
+                 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] ); then
                 echo "No QPA platform plugin enabled!"
                 echo " If you really want to build without a QPA platform plugin you must pass"
-                echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
-                echo " cannot run GUI applications."
+                echo " -no-xcb and -no-eglfs to configure. Doing this will"
+                echo " produce a Qt that cannot run GUI applications."
+                echo " The dependencies needed for xcb to build are listed in"
+                echo " src/plugins/platforms/xcb/README"
                 exit 1
             fi
         fi
@@ -5818,155 +5175,9 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
 
 fi
 
-
-# QWS
-if [ "$PLATFORM_QWS" = "yes" ]; then
-
-    # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
-    if [ "$CFG_GUI" = "no" ]; then
-        if [ "$CFG_OPENGL" = "auto" ]; then
-            CFG_OPENGL=no
-        fi
-        if [ "$CFG_OPENGL" != "no" ]; then
-            echo "OpenGL enabled, but GUI disabled."
-            echo " You might need to either enable the GUI or disable OpenGL"
-            exit 1
-        fi
-    fi
-    if [ "$CFG_OPENGL" = "yes" ]; then
-        CFG_EGL=auto
-        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
-            CFG_OPENGL=es2
-        fi
-    elif [ "$CFG_OPENGL" = "es2" ]; then
-        #OpenGL ES 2.x
-        "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
-        if [ $? != "0" ]; then
-            echo "The OpenGL ES 2.0 functionality test failed!"
-            echo " You might need to modify the include and library search paths by editing"
-            echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
-            echo " ${XQMAKESPEC}."
-            exit 1
-        fi
-        CFG_EGL=yes
-    elif [ "$CFG_OPENGL" = "desktop" ]; then
-        # Desktop OpenGL support
-        echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
-        exit 1
-    fi
-fi
-
-if [ "$PLATFORM_QWS" = "yes" ]; then
-
-    # screen drivers
-    for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
-       if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
-           "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/ahi "Ahi" $L_FLAGS $I_FLAGS $l_FLAGS
-           if [ $? != "0" ]; then
-               echo "The Ahi screen driver functionality test failed!"
-               echo " You might need to modify the include and library search paths by editing"
-               echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
-               echo " ${XQMAKESPEC}."
-               exit 1
-           fi
-       fi
-
-       if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
-           "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/svgalib "SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS
-           if [ $? != "0" ]; then
-               echo "The SVGAlib screen driver functionality test failed!"
-               echo " You might need to modify the include and library search paths by editing"
-               echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
-               echo " ${XQMAKESPEC}."
-               exit 1
-           fi
-       fi
-
-       if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
-           if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
-               QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
-               QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
-           elif directfb-config --version >/dev/null 2>&1; then
-               QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
-               QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
-           fi
-
-           # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
-           if [ -n "$QT_CFLAGS_DIRECTFB" ] || [ -n "$QT_LIBS_DIRECTFB" ]; then
-               QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
-               QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
-           fi
-
-           "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/directfb "DirectFB" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DIRECTFB $QT_LIBS_DIRECTFB
-           if [ $? != "0" ]; then
-               echo "The DirectFB screen driver functionality test failed!"
-               echo " You might need to modify the include and library search paths by editing"
-               echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
-               echo " ${XQMAKESPEC}."
-               exit 1
-           fi
-       fi
-
-    done
-
-    # mouse drivers
-    for mouse in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
-       if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
-           "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tslib "tslib" $L_FLAGS $I_FLAGS $l_FLAGS
-            if [ $? != "0" ]; then
-               echo "The tslib functionality test failed!"
-               echo " You might need to modify the include and library search paths by editing"
-               echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
-               echo " ${XQMAKESPEC}."
-               exit 1
-           fi
-       fi
-    done
-
-    CFG_QGTKSTYLE=no
-
-    # sound
-    "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/sound "sound" $L_FLAGS $I_FLAGS $l_FLAGS
-    if [ $? != "0" ]; then
-        QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SOUND"
-    fi
-
-fi # QWS
-
-EGL_VARIANT=none
-# EGL Support
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
-    if [ "$CFG_EGL" != "no" ]; then
-        # detect EGL support
-        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl" "EGL (EGL/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
-            # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
-            EGL_VARIANT=regular
-            CFG_EGL=yes
-        fi
-
-        if [ "$EGL_VARIANT" = "none" ]; then
-            if [ "$CFG_EGL" = "yes" ]; then
-                echo "The EGL functionality test failed!"
-                echo " EGL is required for OpenGL ES to manage contexts & surfaces."
-                echo " You might need to modify the include and library search paths by editing"
-                echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
-                echo " ${XQMAKESPEC}."
-                exit 1
-            fi
-            CFG_EGL=no
-            # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
-            if [ "$CFG_OPENGL" = "es2" ]; then
-                CFG_OPENGL=no
-            fi
-        fi
-    fi
-fi
-
 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
 
 # freetype support
-[ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
-[ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
     if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
@@ -5976,95 +5187,6 @@ if [ "$CFG_LIBFREETYPE" = "auto" ]; then
     fi
 fi
 
-if [ "$CFG_ENDIAN" = "auto" ]; then
-    if [ "$XPLATFORM_MINGW" = "yes" ]; then
-        CFG_ENDIAN="Q_LITTLE_ENDIAN"
-    elif [ "$PLATFORM_MAC" = "yes" ]; then
-        true #leave as auto
-    else
-        "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
-       F="$?"
-        if [ "$F" -eq 0 ]; then
-            CFG_ENDIAN="Q_LITTLE_ENDIAN"
-        elif [ "$F" -eq 1 ]; then
-            CFG_ENDIAN="Q_BIG_ENDIAN"
-        else
-            echo
-           echo "The target system byte order could not be detected!"
-           echo "Turn on verbose messaging (-v) to see the final report."
-           echo "You can use the -little-endian or -big-endian switch to"
-           echo "$0 to continue."
-            exit 101
-        fi
-    fi
-fi
-
-if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
-    if [ "$PLATFORM_MAC" = "yes" ]; then
-       true #leave as auto
-    else
-        "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
-       F="$?"
-        if [ "$F" -eq 0 ]; then
-            CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
-        elif [ "$F" -eq 1 ]; then
-            CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
-        else
-            echo
-           echo "The host system byte order could not be detected!"
-           echo "Turn on verbose messaging (-v) to see the final report."
-           echo "You can use the -host-little-endian or -host-big-endian switch to"
-           echo "$0 to continue."
-            exit 101
-        fi
-    fi
-fi
-
-if [ "$CFG_ARMFPA" != "auto" ]; then
-    if [ "$CFG_ARMFPA" = "yes" ]; then
-        if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
-            CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
-        else
-            CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
-        fi
-    else
-        CFG_DOUBLEFORMAT="normal"
-    fi
-fi
-
-
-if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
-    if [ "$PLATFORM_QWS" != "yes" -o "$PLATFORM_QPA" = "yes" ]; then
-        CFG_DOUBLEFORMAT=normal
-    else
-        "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
-       F="$?"
-        if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
-            CFG_DOUBLEFORMAT=normal
-        elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
-            CFG_DOUBLEFORMAT=normal
-        elif [ "$F" -eq 10 ]; then
-            CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
-        elif [ "$F" -eq 11 ]; then
-            CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
-        elif [ "$F" -eq 12 ]; then
-            CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
-            CFG_ARMFPA="yes"
-        elif [ "$F" -eq 13 ]; then
-            CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
-            CFG_ARMFPA="yes"
-        else
-            echo
-           echo "The system floating point format could not be detected."
-           echo "This may cause data to be generated in a wrong format"
-           echo "Turn on verbose messaging (-v) to see the final report."
-           # we do not fail on this since this is a new test, and if it fails,
-           # the old behavior should be correct in most cases
-            CFG_DOUBLEFORMAT=normal
-        fi
-    fi
-fi
-
 HAVE_STL=no
 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
     HAVE_STL=yes
@@ -6299,55 +5421,33 @@ fi
 # ask for all that hasn't been auto-detected or specified in the arguments
 #-------------------------------------------------------------------------------
 
-### fix this: user input should be validated in a loop
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    PROMPT_FOR_DEPTHS="yes"
-else
-    PROMPT_FOR_DEPTHS="no"
-fi
-if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
-    echo
-    echo "Choose pixel-depths to support:"
-    echo
-    echo "   1. 1bpp, black/white"
-    echo "   4. 4bpp, grayscale"
-    echo "   8. 8bpp, paletted"
-    echo "  12. 12bpp, rgb 4-4-4"
-    echo "  15. 15bpp, rgb 5-5-5"
-    echo "  16. 16bpp, rgb 5-6-5"
-    echo "  18. 18bpp, rgb 6-6-6"
-    echo "  24. 24bpp, rgb 8-8-8"
-    echo "  32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
-    echo " all. All supported depths"
-    echo
-    echo "Your choices (default 8,16,32):"
-    read CFG_QWS_DEPTHS
-    if [ -z "$CFG_QWS_DEPTHS" ] || [ "$CFG_QWS_DEPTHS" = "yes" ]; then
-        CFG_QWS_DEPTHS=8,16,32
-    fi
-fi
-if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
-    if [ "$CFG_QWS_DEPTHS" = "all" ]; then
-        CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
-    fi
-    for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
-       case $D in
-           1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
-           generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
-       esac
-    done
-fi
-
 # enable dwarf2 support on Mac
 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
     QT_CONFIG="$QT_CONFIG dwarf2"
 fi
 
-# Set the default arch if there are no "-arch" arguments on the configure line
-if [ "$PLATFORM_MAC" = "yes" ]  && [ "$CFG_MAC_ARCHS" = "" ]; then
-    source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
-    CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
-    [ "$OPT_VERBOSE" = "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
+# Detect the default arch (x86 or x86_64) on Mac OS X
+if [ "$BUILD_ON_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
+    DEFAULT_ARCH=
+    case `file "${outpath}/bin/qmake"` in
+    *i?86)
+        DEFAULT_ARCH=x86
+        ;;
+    *x86_64)
+        DEFAULT_ARCH=x86_64
+        ;;
+    *ppc|*ppc64|*)
+        # unsupported/unknown
+        ;;
+    esac
+
+    if [ -n "$DEFAULT_ARCH" ]; then
+        [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
+        QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
+        QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
+        # Make the application arch follow the Qt arch
+        QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
+    fi
 fi
 
 # ### Vestige
@@ -6362,19 +5462,18 @@ else
     QT_CONFIG="$QT_CONFIG accessibility"
 fi
 
-# egl stuff does not belong in lighthouse, but rather in plugins
-if [ "$PLATFORM_QPA" = "yes" ]; then
-    CFG_EGL="no"
-fi
-
 # enable egl
-if [ "$CFG_EGL" = "no" ]; then
+if [ "$CFG_EGL" = "yes" ]; then
+    QT_CONFIG="$QT_CONFIG egl"
+else
     QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
+fi
+
+# enable eglfs
+if [ "$CFG_EGLFS" = "yes" ]; then
+    QT_CONFIG="$QT_CONFIG eglfs"
 else
-    QT_CONFIG="$QT_CONFIG egl"
-    if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
-        QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
-    fi
+    QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
 fi
 
 # enable openvg
@@ -6430,12 +5529,6 @@ elif [ "$CFG_SHARED" = "no" ]; then
     QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
     QMAKE_CONFIG="$QMAKE_CONFIG static"
 fi
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
-    QMAKE_CONFIG="$QMAKE_CONFIG embedded"
-    QT_CONFIG="$QT_CONFIG embedded"
-    rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
-fi
 if [ "$PLATFORM_QPA" = "yes" ]; then
     QMAKE_CONFIG="$QMAKE_CONFIG qpa"
     QT_CONFIG="$QT_CONFIG qpa"
@@ -6443,12 +5536,6 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
     rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
 fi
 
-if [ "$CFG_EMBEDDED" = "nacl" ]; then
-    QMAKE_CONFIG="$QMAKE_CONFIG nacl pepper"
-    QT_CONFIG="$QT_CONFIG nacl pepper"
-    rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
-fi
-
 if [ "$XPLATFORM_MINGW" != "yes" ]; then
     # Do not set this here for Windows. Let qmake do it so
     # debug and release precompiled headers are kept separate.
@@ -6480,18 +5567,19 @@ fi
 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
     QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
 fi
-[ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
-[ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
-[ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
+[ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2"
 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
-[ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
+if [ "$CFG_ARCH" = "mips" ]; then
+    [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
+    [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
+fi
 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
     QT_CONFIG="$QT_CONFIG clock-gettime"
 fi
@@ -6539,16 +5627,6 @@ if [ "$CFG_GIF" = "no" ]; then
 elif [ "$CFG_GIF" = "yes" ]; then
     QT_CONFIG="$QT_CONFIG gif"
 fi
-if [ "$CFG_LIBTIFF" = "no" ]; then
-    CFG_TIFF="no"
-elif [ "$CFG_LIBTIFF" = "system" ]; then
-    QT_CONFIG="$QT_CONFIG system-tiff"
-fi
-if [ "$CFG_TIFF" = "no" ]; then
-    QT_CONFIG="$QT_CONFIG no-tiff"
-elif [ "$CFG_TIFF" = "yes" ]; then
-    QT_CONFIG="$QT_CONFIG tiff"
-fi
 if [ "$CFG_LIBFREETYPE" = "no" ]; then
     QT_CONFIG="$QT_CONFIG no-freetype"
     QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
@@ -6562,12 +5640,14 @@ if [ "$CFG_GUI" = "auto" ]; then
 fi
 if [ "$CFG_GUI" = "no" ]; then
     QT_CONFIG="$QT_CONFIG no-gui"
-else
-    QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
+    CFG_WIDGETS="no"
+fi
+if [ "$CFG_WIDGETS" = "no" ]; then
+    QT_CONFIG="$QT_CONFIG no-widgets"
+    QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
 fi
 
-
-if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
+if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
     #On Mac we implicitly link against libz, so we
     #never use the 3rdparty stuff.
     [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
@@ -6654,11 +5734,13 @@ fi
 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
 
-if [ "$PLATFORM_MAC" = "yes" ]; then
+if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
     if [ "$CFG_RPATH" = "yes" ]; then
        QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
+       # set the default rpath to the library installation directory
+       RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
     fi
-elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
+elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
     if [ -n "$RPATH_FLAGS" ]; then
         echo
         echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
@@ -6694,16 +5776,11 @@ if [ '!' -z "$W_FLAGS" ]; then
 fi
 
 # turn off exceptions for the compilers that support it
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
-elif [ "$XPLATFORM" != "$PLATFORM" ]; then
+if [ "$XPLATFORM" != "$PLATFORM" ]; then
     COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
 else
     COMPILER=`echo $PLATFORM | cut -f 2- -d-`
 fi
-if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
-    CFG_EXCEPTIONS=no
-fi
 
 if [ "$CFG_EXCEPTIONS" != "no" ]; then
     QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
@@ -6986,73 +6063,6 @@ cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
 #ifndef QT_EDITION
 #  define QT_EDITION $QT_EDITION
 #endif
-
-/* Machine byte-order */
-#define Q_BIG_ENDIAN 4321
-#define Q_LITTLE_ENDIAN 1234
-EOF
-
-echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
-if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
-    cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
-#if defined(__BIG_ENDIAN__)
-# define Q_BYTE_ORDER Q_BIG_ENDIAN
-#elif defined(__LITTLE_ENDIAN__)
-# define Q_BYTE_ORDER Q_LITTLE_ENDIAN
-#else
-# error "Unable to determine byte order!"
-#endif
-EOF
-else
-    echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
-fi
-echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
-if [ "$CFG_ENDIAN" = "auto" ]; then
-    cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
-#if defined(__BIG_ENDIAN__)
-# define Q_BYTE_ORDER Q_BIG_ENDIAN
-#elif defined(__LITTLE_ENDIAN__)
-# define Q_BYTE_ORDER Q_LITTLE_ENDIAN
-#else
-# error "Unable to determine byte order!"
-#endif
-EOF
-else
-    echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
-fi
-echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
-
-if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
-    cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
-/* Non-IEEE double format */
-#define Q_DOUBLE_LITTLE "01234567"
-#define Q_DOUBLE_BIG "76543210"
-#define Q_DOUBLE_LITTLE_SWAPPED "45670123"
-#define Q_DOUBLE_BIG_SWAPPED "32107654"
-#define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
-EOF
-fi
-if [ "$CFG_ARMFPA" = "yes" ]; then
-    if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
-       cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
-#ifndef QT_BOOTSTRAPPED
-# define QT_ARMFPA
-#endif
-EOF
-    else
-       echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
-    fi
-fi
-
-CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
-/* Machine Architecture */
-#ifndef QT_BOOTSTRAPPED
-# define QT_ARCH_${CFG_ARCH_STR}
-#else
-# define QT_ARCH_${CFG_HOST_ARCH_STR}
-#endif
 EOF
 
 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
@@ -7066,7 +6076,7 @@ if [ "$CFG_FRAMEWORK" = "yes" ]; then
     echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
 fi
 
-if [ "$PLATFORM_MAC" = "yes" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ]; then
     cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
 #if defined(__LP64__)
 # define QT_POINTER_SIZE 8
@@ -7079,6 +6089,11 @@ else
     echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
 fi
 
+#REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
+if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
+    echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
+fi
+
 
 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
 
@@ -7086,54 +6101,6 @@ if [ "$CFG_DEV" = "yes" ]; then
     echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
 fi
 
-# Embedded compile time options
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    # Add QWS to config.h
-    QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QWS"
-
-    # Add excluded decorations to $QCONFIG_FLAGS
-    decors=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
-    for decor in $decors; do
-        NODECORATION=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-        QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
-    done
-
-    # Figure which embedded drivers which are turned off
-    CFG_GFX_OFF="$CFG_GFX_AVAILABLE"
-    for ADRIVER in $CFG_GFX_ON; do
-        CFG_GFX_OFF=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
-    done
-
-    CFG_KBD_OFF="$CFG_KBD_AVAILABLE"
-    # the um driver is currently not in the available list for external builds
-    if [ "$CFG_DEV" = "no" ]; then
-       CFG_KBD_OFF="$CFG_KBD_OFF um"
-    fi
-    for ADRIVER in $CFG_KBD_ON; do
-        CFG_KBD_OFF=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
-    done
-
-    CFG_MOUSE_OFF="$CFG_MOUSE_AVAILABLE"
-    for ADRIVER in $CFG_MOUSE_ON; do
-        CFG_MOUSE_OFF=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
-    done
-
-    for DRIVER in $CFG_GFX_OFF; do
-        NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-        QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
-    done
-
-    for DRIVER in $CFG_KBD_OFF; do
-        NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-        QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
-    done
-
-    for DRIVER in $CFG_MOUSE_OFF; do
-        NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-        QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
-    done
-fi # QWS
-
 if [ "$PLATFORM_QPA" = "yes" ]; then
     # Add QPA to config.h
     QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
@@ -7164,7 +6131,6 @@ QMakeVar set sql-plugins "$SQL_PLUGINS"
 
 # Add other configuration options to the qconfig.h file
 [ "$CFG_GIF" = "yes" ]       && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
-[ "$CFG_TIFF" != "yes" ]     && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_TIFF"
 [ "$CFG_PNG" != "yes" ]      && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
 [ "$CFG_JPEG" != "yes" ]     && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
 [ "$CFG_ZLIB" != "yes" ]     && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
@@ -7172,9 +6138,6 @@ QMakeVar set sql-plugins "$SQL_PLUGINS"
 [ "$CFG_SXE" = "no" ]        && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
 [ "$CFG_DBUS" = "no" ]      && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
 
-# ATM we need this define to compile Qt. Remove later!
-QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_S60"
-
 # X11/Unix/Mac only configs
 [ "$CFG_CUPS" = "no" ]       && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
 [ "$CFG_ICONV" = "no" ]      && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
@@ -7283,9 +6246,9 @@ else
     [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
     mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
     chmod -w "$outpath/src/corelib/global/qconfig.h"
-    for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
-        ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
-    done
+    if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
+        ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
+    fi
 fi
 
 #-------------------------------------------------------------------------------
@@ -7316,23 +6279,15 @@ else
     QT_CONFIG="$QT_CONFIG qt_framework"
     QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
 fi
-if [ "$BUILD_ON_MAC" = "yes" ]; then
-    QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
-fi
 if [ "$CFG_DEV" = "yes" ]; then
     QT_CONFIG="$QT_CONFIG private_tests"
 fi
 
-# Make the application arch follow the Qt arch for single arch builds.
-# (for multiple-arch builds, set CONFIG manually in the application .pro file)
-if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
-    QTCONFIG_CONFIG="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
-fi
-
 cat >>"$QTCONFIG.tmp" <<EOF
 #configuration
 CONFIG += $QTCONFIG_CONFIG
 QT_ARCH = $CFG_ARCH
+QT_HOST_ARCH = $CFG_HOST_ARCH
 QT_EDITION = $Edition
 QT_CONFIG += $QT_CONFIG
 
@@ -7345,21 +6300,19 @@ QT_PATCH_VERSION = $QT_PATCH_VERSION
 #namespaces
 QT_LIBINFIX = $QT_LIBINFIX
 QT_NAMESPACE = $QT_NAMESPACE
-QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
 
 EOF
 if [ -n "$CFG_SYSROOT" ]; then
     echo "# sysroot" >>"$QTCONFIG.tmp"
     echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
-    echo "  QT_SYSROOT      += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
-    echo "  QMAKE_CFLAGS    += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
-    echo "  QMAKE_CXXFLAGS  += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
-    echo "  QMAKE_LFLAGS    += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
+    echo "    QMAKE_CFLAGS    += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
+    echo "    QMAKE_CXXFLAGS  += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
+    echo "    QMAKE_LFLAGS    += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
     echo "}" >> "$QTCONFIG.tmp"
     echo >> "$QTCONFIG.tmp"
 fi
-if [ "$CFG_RPATH" = "yes" ]; then
-    echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
+if [ -n "$RPATH_FLAGS" ]; then
+    echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
 fi
 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
     echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
@@ -7387,7 +6340,7 @@ QTMODULE="$outpath/mkspecs/qmodule.pri"
 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
 
 # Ensure we can link to uninistalled libraries
-if [ "$XPLATFORM_MINGW" != "yes" ] && [ "$CFG_EMBEDDED" != "nacl" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
+if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
     echo "QMAKE_LFLAGS    = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
 fi
 if [ -n "$QT_CFLAGS_PSQL" ]; then
@@ -7431,11 +6384,6 @@ if [ '!' -z "$CFG_SDK" ]; then
    echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
 fi
 
-# mac gcc -Xarch support
-if [ "$CFG_MAC_XARCH" = "no" ]; then
-   echo "QMAKE_MAC_XARCH = no" >> "$QTMODULE.tmp"
-fi
-
 # cmdline args
 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
@@ -7460,16 +6408,11 @@ QT_BUILD_TREE = \$\$quote($outpath)
 QT_BUILD_PARTS = $CFG_BUILD_PARTS
 
 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
-QMAKE_MOC        = \$\$QT_BUILD_TREE/bin/moc
-QMAKE_UIC        = \$\$QT_BUILD_TREE/bin/uic
-QMAKE_RCC        = \$\$QT_BUILD_TREE/bin/rcc
 QMAKE_INCDIR_QT  = \$\$QT_BUILD_TREE/include
 QMAKE_LIBDIR_QT  = \$\$QT_BUILD_TREE/lib
 
 include(\$\$PWD/mkspecs/qmodule.pri)
 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
-QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
-QMAKE_MOC_SRC    = \$\$QT_BUILD_TREE/src/moc
 
 EOF
 
@@ -7480,21 +6423,6 @@ else
    echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
 fi
 
-# incrementals
-INCREMENTAL=""
-[ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
-if [ "$CFG_INCREMENTAL" = "yes" ]; then
-    find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
-        # don't need to worry about generated files
-        [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
-        basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
-        # done
-        INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
-    done
-    [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
-    [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
-fi
-
 # replace .qmake.cache if it differs from the newly created temp file
 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
     rm -f "$CACHEFILE.tmp"
@@ -7554,13 +6482,8 @@ else
     echo "Building for:  $XPLATFORM"
 fi
 
-if [ ! -z "$CFG_MAC_ARCHS" ]; then
-    echo "Architecture:  $CFG_ARCH ($CFG_MAC_ARCHS )"
-else
-    echo "Architecture:  $CFG_ARCH"
-fi
-
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+echo "Architecture:  $CFG_ARCH"
+if [ "$PLATFORM_QPA" = "yes" ]; then
     echo "Host architecture: $CFG_HOST_ARCH"
 fi
 
@@ -7577,7 +6500,6 @@ if [ "$OPT_VERBOSE" = "yes" ]; then
     echo "qmake switches ......... $QMAKE_SWITCHES"
 fi
 
-[ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
 echo "Build .................. $CFG_BUILD_PARTS"
 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
@@ -7595,6 +6517,7 @@ fi
 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
 echo "QtConcurrent code ...... $CFG_CONCURRENT"
 echo "QtGui module ........... $CFG_GUI"
+echo "QtWidgets module ....... $CFG_WIDGETS"
 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
     echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
 else
@@ -7603,13 +6526,17 @@ fi
 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
 echo "STL support ............ $CFG_STL"
 echo "PCH support ............ $CFG_PRECOMPILE"
-echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
-echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
-echo "AVX..................... ${CFG_AVX}"
-if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
+if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
+    echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}"
+    echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
+    echo "AVX/AVX2................ ${CFG_AVX}/${CFG_AVX2}"
+elif [ "$CFG_ARCH" = "arm" ]; then
     echo "iWMMXt support ......... ${CFG_IWMMXT}"
     echo "NEON support ........... ${CFG_NEON}"
 fi
+if [ "$CFG_ARCH" = "mips" ]; then
+    echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
+fi
 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
 echo "getaddrinfo support .... $CFG_GETADDRINFO"
 echo "getifaddrs support ..... $CFG_GETIFADDRS"
@@ -7622,11 +6549,6 @@ echo "GStreamer support ...... $CFG_GSTREAMER"
 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
 echo "Large File support ..... $CFG_LARGEFILE"
 echo "GIF support ............ $CFG_GIF"
-if [ "$CFG_TIFF" = "no" ]; then
-    echo "TIFF support ........... $CFG_TIFF"
-else
-    echo "TIFF support ........... $CFG_TIFF ($CFG_LIBTIFF)"
-fi
 if [ "$CFG_JPEG" = "no" ]; then
     echo "JPEG support ........... $CFG_JPEG"
 else
@@ -7639,31 +6561,8 @@ else
 fi
 echo "zlib support ........... $CFG_ZLIB"
 echo "Session management ..... $CFG_SM"
-if [ "$PLATFORM_QWS" = "yes" ]; then
-    echo "Embedded support ....... $CFG_EMBEDDED"
-    if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
-       echo "Freetype2 support ...... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
-    else
-       echo "Freetype2 support ...... $CFG_QWS_FREETYPE"
-    fi
-    # Normalize the decoration output first
-    CFG_GFX_ON=`echo ${CFG_GFX_ON}`
-    CFG_GFX_PLUGIN=`echo ${CFG_GFX_PLUGIN}`
-    echo "Graphics (qt) .......... ${CFG_GFX_ON}"
-    echo "Graphics (plugin) ...... ${CFG_GFX_PLUGIN}"
-    CFG_DECORATION_ON=`echo ${CFG_DECORATION_ON}`
-    CFG_DECORATION_PLUGIN=`echo ${CFG_DECORATION_PLUGIN}`
-    echo "Decorations (qt) ....... $CFG_DECORATION_ON"
-    echo "Decorations (plugin) ... $CFG_DECORATION_PLUGIN"
-    CFG_KBD_ON=`echo ${CFG_KBD_ON}`
-    CFG_KBD_PLUGIN=`echo ${CFG_KBD_PLUGIN}`
-    echo "Keyboard driver (qt) ... ${CFG_KBD_ON}"
-    echo "Keyboard driver (plugin) .. ${CFG_KBD_PLUGIN}"
-    CFG_MOUSE_ON=`echo ${CFG_MOUSE_ON}`
-    CFG_MOUSE_PLUGIN=`echo ${CFG_MOUSE_PLUGIN}`
-    echo "Mouse driver (qt) ...... $CFG_MOUSE_ON"
-    echo "Mouse driver (plugin) .. $CFG_MOUSE_PLUGIN"
-fi
+echo "libudev support ........ $CFG_LIBUDEV"
+
 if [ "$CFG_OPENGL" = "desktop" ]; then
     echo "OpenGL support ......... yes (Desktop OpenGL)"
 elif [ "$CFG_OPENGL" = "es2" ]; then
@@ -7671,13 +6570,7 @@ elif [ "$CFG_OPENGL" = "es2" ]; then
 else
     echo "OpenGL support ......... no"
 fi
-if [ "$CFG_EGL" != "no" ]; then
-    if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
-        echo "EGL support ............ yes <GLES/egl.h>"
-    else
-        echo "EGL support ............ yes <EGL/egl.h>"
-    fi
-fi
+
 if [ "$CFG_OPENVG" ]; then
     if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
         echo "OpenVG support ......... ShivaVG"
@@ -7719,7 +6612,7 @@ elif [ "$CFG_OPENSSL" = "linked" ]; then
 fi
 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
 echo "Alsa support ........... $CFG_ALSA"
-if [ "$PLATFORM_MAC" = "yes" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ]; then
     echo "CoreWlan support ....... $CFG_COREWLAN"
 fi
 echo "libICU support ......... $CFG_ICU"
@@ -7733,6 +6626,7 @@ echo "Xrender support ........ $CFG_XRENDER"
 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
     echo "XInput2 support ........ $CFG_XINPUT2"
 fi
+echo "EGLFS support .......... $CFG_EGLFS"
 echo
 
 # complain about not being able to use dynamic plugins if we are using a static build
@@ -7751,7 +6645,7 @@ if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
     echo "    OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
     echo
 fi
-if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
+if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
     echo
     echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
     echo "if you want a pure debug build."
@@ -7935,7 +6829,7 @@ for file in .projects .projects.3; do
             fi
             SPEC=$XQMAKESPEC ;;
         */qmake/qmake.pro) continue ;;
-        *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
+        *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*|*tools/qdbusxml2cpp*|*tools/qdbuscpp2xml*) SPEC=$QMAKESPEC ;;
         *) if [ "$CFG_NOPROCESS" = "yes" ]; then
               continue
            else
@@ -7997,14 +6891,21 @@ rm -f .projects .projects.3
 #-------------------------------------------------------------------------------
 # check for platforms that we don't yet know about
 #-------------------------------------------------------------------------------
-if [ "$CFG_ARCH" = "generic" ]; then
+if [ "$CFG_ARCH" = "unknown" ]; then
 cat <<EOF
 
-        NOTICE: Atomic operations are not yet supported for this
-        architecture.
+        NOTICE: configure was unable to determine the architecture
+        for the $XQMAKESPEC target.
+
+        Qt will not use a specialized implementation for any atomic
+        operations. Instead a generic implemention based on either GCC
+        intrinsics or C++11 std::atomic<T> will be used (when
+        available). The generic implementations are generally as fast
+        as and always as safe as a specialized implementation.
 
-        Qt will use the 'generic' architecture instead, which uses a
-        single pthread_mutex_t to protect all atomic operations. This
+        If no generic implementation is available, Qt will use a
+        fallback UNIX implementation which uses a single
+        pthread_mutex_t to protect all atomic operations. This
         implementation is the slow (but safe) fallback implementation
         for architectures Qt does not yet support.
 EOF
@@ -8031,6 +6932,33 @@ EOF
 fi
 
 #-------------------------------------------------------------------------------
+# check if the user passed the obsoleted -wayland or -no-wayland flag
+#-------------------------------------------------------------------------------
+if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
+cat <<EOF
+
+        NOTICE: The -wayland and -no-wayland flags are now obsolete
+
+        All configuring of QtWayland plugin and QtCompositor happens in the module
+EOF
+fi
+
+#-------------------------------------------------------------------------------
+# check if the user passed the obsoleted -arch or -host-arch options
+#-------------------------------------------------------------------------------
+if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
+cat <<EOF
+
+        NOTICE: The -arch and -host-arch options are obsolete.
+
+        Qt now detects the target and host architectures based on compiler
+        output. Qt will be built using $CFG_ARCH for the target architecture
+        and $CFG_HOST_ARCH for the host architecture (note that these two
+        will be the same unless you are cross-compiling).
+EOF
+fi
+
+#-------------------------------------------------------------------------------
 # finally save the executed command to another script
 #-------------------------------------------------------------------------------
 if [ `basename $0` != "config.status" ]; then
@@ -8049,6 +6977,10 @@ fi'`
 
     [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
     echo "#!/bin/sh" > "$outpath/config.status"
+    [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
+        echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
+    [ -n "$PKG_CONFIG_LIBDIR" ] && \
+        echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
     echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
     echo "  $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
     echo "else" >> "$outpath/config.status"