This file is part of mingw-cross-env. See doc/index.html for further information. diff -Naur a/config.tests/unix/compile.test b/config.tests/unix/compile.test --- a/config.tests/unix/compile.test 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/unix/compile.test 2010-06-05 23:51:20.996424087 +0200 @@ -65,8 +65,10 @@ cd "$OUTDIR/$TEST" test -r Makefile && $MAKE distclean >/dev/null 2>&1 +# Make sure output from possible previous tests is gone +rm -f "$EXE" "${EXE}.exe" -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" if [ "$VERBOSE" = "yes" ]; then $MAKE @@ -74,7 +76,7 @@ $MAKE >/dev/null 2>&1 fi -[ -x "$EXE" ] && SUCCESS=yes +( [ -x "$EXE" ] || [ -x "${EXE}.exe" ] ) && SUCCESS=yes # done if [ "$SUCCESS" != "yes" ]; then diff -Naur a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp --- a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp 2010-06-05 23:51:20.996424087 +0200 @@ -42,9 +42,16 @@ /* Sample program for configure to test for getaddrinfo on the unix platform. we check for all structures and functions required. */ +#include +#include +#ifdef __MINGW32__ +#include +#include +#else #include #include #include +#endif int main() { diff -Naur a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro --- a/config.tests/unix/iconv/iconv.pro 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/unix/iconv/iconv.pro 2010-06-05 23:51:21.891709032 +0200 @@ -1,3 +1,3 @@ SOURCES = iconv.cpp CONFIG -= qt dylib app_bundle -mac:LIBS += -liconv +mac|win32-g++*:LIBS += -liconv diff -Naur a/config.tests/unix/ipv6/ipv6test.cpp b/config.tests/unix/ipv6/ipv6test.cpp --- a/config.tests/unix/ipv6/ipv6test.cpp 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/unix/ipv6/ipv6test.cpp 2010-06-05 23:51:22.210939093 +0200 @@ -46,9 +46,14 @@ #define _HPUX_SOURCE #endif +#ifdef __MINGW32__ +#include +#include +#else #include #include #include +#endif int main() { diff -Naur a/config.tests/unix/odbc/odbc.cpp b/config.tests/unix/odbc/odbc.cpp --- a/config.tests/unix/odbc/odbc.cpp 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/unix/odbc/odbc.cpp 2010-06-05 23:51:24.144204628 +0200 @@ -39,6 +39,9 @@ ** ****************************************************************************/ +#ifdef __MINGW32__ +#include +#endif #include #include diff -Naur a/config.tests/unix/odbc/odbc.pro b/config.tests/unix/odbc/odbc.pro --- a/config.tests/unix/odbc/odbc.pro 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/unix/odbc/odbc.pro 2010-06-05 23:51:24.992961319 +0200 @@ -1,4 +1,5 @@ SOURCES = odbc.cpp CONFIG -= qt dylib mac:CONFIG -= app_bundle -LIBS += -lodbc +win32-g++*:LIBS += -lodbc32 +else:LIBS += -lodbc diff -Naur a/config.tests/unix/psql/psql.pro b/config.tests/unix/psql/psql.pro --- a/config.tests/unix/psql/psql.pro 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/unix/psql/psql.pro 2010-06-05 23:51:26.096270883 +0200 @@ -1,4 +1,4 @@ SOURCES = psql.cpp CONFIG -= qt dylib mac:CONFIG -= app_bundle -LIBS += -lpq +LIBS *= -lpq diff -Naur a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro --- a/config.tests/x11/opengl/opengl.pro 2010-05-04 02:43:26.000000000 +0200 +++ b/config.tests/x11/opengl/opengl.pro 2010-06-05 23:51:26.112219397 +0200 @@ -7,4 +7,5 @@ } CONFIG -= qt -LIBS += -lGL -lGLU +win32-g++*:LIBS += -lopengl32 +else:LIBS += -lGL -lGLU diff -Naur a/configure b/configure --- a/configure 2010-05-04 02:43:19.000000000 +0200 +++ b/configure 2010-06-05 23:51:26.683734132 +0200 @@ -780,7 +780,8 @@ RPATH_FLAGS= l_FLAGS= QCONFIG_FLAGS= -XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" +XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" or "symbian/linux-gcce" +XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*) PLATFORM=$QMAKESPEC QT_CROSS_COMPILE=no OPT_CONFIRM_LICENSE=no @@ -1324,7 +1325,9 @@ fi ;; arch) - if [ "$PLATFORM_MAC" = "yes" ]; then + # if this is a Mac then "windows" probably means + # we are cross-compiling for MinGW + if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL" else CFG_ARCH=$VAL @@ -1442,6 +1445,7 @@ ;; xplatform) XPLATFORM="$VAL" + case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac ;; debug-and-release) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then @@ -2581,9 +2585,15 @@ " ;; SunOS:5*) - #PLATFORM=solaris-g++ - PLATFORM=solaris-cc - #PLATFORM=solaris-cc64 + # Remember: We are here setting the platform because none was specified. + # For XPLATFORM_MINGW make the sensible choice. + if [ "$XPLATFORM_MINGW" = "yes" ]; then + PLATFORM="solaris-g++" + else + #PLATFORM=solaris-g++ + PLATFORM=solaris-cc + #PLATFORM=solaris-cc64 + fi PLATFORM_NOTES=" - Also available for Solaris: solaris-g++ solaris-cc-64 " @@ -2653,6 +2663,9 @@ fi [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM" + +case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac + if [ -d "$PLATFORM" ]; then QMAKESPEC="$PLATFORM" else @@ -2914,6 +2927,8 @@ 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 @@ -4071,6 +4086,8 @@ Platform="Qt for Mac OS X" elif echo "$XPLATFORM" | grep "symbian" > /dev/null ; then Platform="Qt for Symbian" +elif [ "$XPLATFORM_MINGW" = "yes" ]; then + Platform="Qt for Windows" elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then PLATFORM_X11=yes Platform="Qt for Linux/X11" @@ -4653,7 +4670,7 @@ fi # detect neon support -if ([ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]) && [ "${CFG_NEON}" = "auto" ]; then +if ( [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ] ) && [ "${CFG_NEON}" = "auto" ]; then if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then CFG_NEON=yes else @@ -4683,6 +4700,8 @@ fi fi +[ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista" + if [ "$CFG_S60" = "auto" ]; then if echo "$XPLATFORM" | grep symbian > /dev/null; then CFG_S60=yes @@ -4838,12 +4857,15 @@ ;; psql) if [ "$CFG_SQL_psql" != "no" ]; then - if "$WHICH" pg_config >/dev/null 2>&1; then + # Be careful not to use native pg_config when cross building. + if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null` QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null` fi [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL" [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL" + # But, respect PSQL_LIBS if set + [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS" if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_psql" = "auto" ]; then CFG_SQL_psql=plugin @@ -4865,7 +4887,7 @@ ;; odbc) if [ "$CFG_SQL_odbc" != "no" ]; then - if [ "$PLATFORM_MAC" != "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 ( [ "$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 [ "$CFG_SQL_odbc" = "auto" ]; then CFG_SQL_odbc=plugin fi @@ -5131,8 +5153,8 @@ QT_NAMESPACE_MAC_CRC=`"$mactests/crc.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/crc $QT_NAMESPACE $L_FLAGS $I_FLAGS $l_FLAGS` fi +# X11/QWS if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; 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 @@ -5152,7 +5174,6 @@ exit 1 fi - # auto-detect Glib support if [ "$CFG_GLIB" != "no" ]; then if [ -n "$PKG_CONFIG" ]; then @@ -5201,6 +5222,7 @@ fi # Auto-detect GStreamer support (needed for both Phonon & QtMultimedia) + # But win32 uses ds9 phonon backend instead of gstreamer. if [ "$CFG_PHONON" != "no" -o "$CFG_MEDIASERVICES" != "no" ]; then if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then if [ -n "$PKG_CONFIG" ]; then @@ -5306,7 +5328,7 @@ fi fi # X11/QWS -# x11 +# X11 if [ "$PLATFORM_X11" = "yes" ]; then x11tests="$relpath/config.tests/x11" X11TESTS_FLAGS= @@ -5319,15 +5341,16 @@ X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive" fi - # Check we actually have X11 :-) - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS - if [ $? != "0" ]; then + if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then echo "Basic XLib functionality test failed!" echo " You might need to modify the include and library search paths by editing" echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}." exit 1 fi +fi # X11 +# X11/MINGW OpenGL +if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x) if [ "$CFG_GUI" = "no" ]; then if [ "$CFG_OPENGL" = "auto" ]; then @@ -5417,7 +5440,10 @@ echo "OpenGL Graphics System is disabled due to missing OpenGL support..." CFG_GRAPHICS_SYSTEM=default fi +fi # X11/MINGW OpenGL +# X11 +if [ "$PLATFORM_X11" = "yes" ]; then # auto-detect Xcursor support if [ "$CFG_XCURSOR" != "no" ]; then if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xcursor "Xcursor" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then @@ -5832,9 +5858,12 @@ fi # QWS +[ "$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 CFG_LIBFREETYPE=system @@ -5844,7 +5873,9 @@ fi if [ "$CFG_ENDIAN" = "auto" ]; then - if [ "$PLATFORM_MAC" = "yes" ]; then + if [ "$XPLATFORM_MINGW" = "yes" ]; then + CFG_ENDIAN="Q_LITTLE_ENDIAN" + elif [ "$PLATFORM_MAC" = "yes" ]; then true #leave as auto elif [ "$XPLATFORM" = "symbian-sbsv2" ]; then CFG_ENDIAN="Q_LITTLE_ENDIAN" @@ -6170,6 +6201,11 @@ fi fi +if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then + echo "Warning: largefile support cannot be disabled for win32." + CFG_LARGEFILE="yes" +fi + #------------------------------------------------------------------------------- # ask for all that hasn't been auto-detected or specified in the arguments #------------------------------------------------------------------------------- @@ -6272,6 +6308,9 @@ fi fi +# but disable Cocoa if cross-building for mingw +[ "$XPLATFORM_MINGW" = "yes" ] && CFG_MAC_COCOA="no" + # set the global Mac deployment target. This is overridden on an arch-by-arch basis # in some cases, see code further down case "$PLATFORM,$CFG_MAC_COCOA" in @@ -6410,7 +6449,7 @@ QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR" QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR" QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR" -if [ "$CFG_LARGEFILE" = "yes" ]; then +if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then QMAKE_CONFIG="$QMAKE_CONFIG largefile" fi if [ "$CFG_STL" = "no" ]; then @@ -6526,7 +6565,7 @@ fi -if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM" != "win32-g++" ]; then +if [ "x$PLATFORM_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" @@ -6665,6 +6704,12 @@ QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions" fi +if [ "$XPLATFORM_MINGW" = "yes" ]; then + # mkspecs/features/win32/default_pre.prf sets "no-rtti". + # Follow default behavior of configure.exe by overriding with "rtti". + QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti" +fi + if [ "$CFG_ALSA" = "yes" ]; then QT_CONFIG="$QT_CONFIG alsa" fi @@ -7263,7 +7308,7 @@ echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new" [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new" -if [ "$CFG_LARGEFILE" = "yes" ]; then +if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new" fi @@ -7600,7 +7645,7 @@ EOF # Ensure we can link to uninistalled libraries -if linkerSupportsFlag -rpath-link "$outpath/lib"; then +if [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then echo "QMAKE_LFLAGS += -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib" >> "$CACHEFILE.tmp" fi @@ -8137,7 +8182,9 @@ [ "$IN_ROOT" = "no" ] && continue case $a in - *winmain/winmain.pro) continue ;; + *winmain/winmain.pro) + [ "$XPLATFORM_MINGW" = "yes" ] || continue + SPEC=$XQMAKESPEC ;; *s60main/s60main.pro) continue ;; *examples/activeqt/*) continue ;; */qmake/qmake.pro) continue ;; diff -Naur a/doc/doc.pri b/doc/doc.pri --- a/doc/doc.pri 2010-05-04 02:43:14.000000000 +0200 +++ b/doc/doc.pri 2010-06-05 23:51:26.959706710 +0200 @@ -5,9 +5,9 @@ DOCS_GENERATION_DEFINES = GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator -win32:!win32-g++ { +win32:!win32-g++* { unixstyle = false -} else :win32-g++:isEmpty(QMAKE_SH) { +} else :win32-g++*:isEmpty(QMAKE_SH) { unixstyle = false } else { unixstyle = true @@ -36,7 +36,7 @@ $$GENERATOR doc-build/html-qt_zh_CN/qt.qhp -o doc/qch/qt_zh_CN.qch \ ) -win32-g++:isEmpty(QMAKE_SH) { +win32-g++*:isEmpty(QMAKE_SH) { QT_DOCUMENTATION = $$replace(QT_DOCUMENTATION, "/", "\\\\") QT_ZH_CN_DOCUMENTATION = $$replace(QT_ZH_CN_DOCUMENTATION, "/", "\\\\") } diff -Naur a/examples/activeqt/activeqt.pro b/examples/activeqt/activeqt.pro --- a/examples/activeqt/activeqt.pro 2010-05-04 02:43:18.000000000 +0200 +++ b/examples/activeqt/activeqt.pro 2010-06-05 23:51:27.939744609 +0200 @@ -11,7 +11,7 @@ # For now only the contain examples with mingw, for the others you need # an IDL compiler -win32-g++|wince*:SUBDIRS = webbrowser +win32-g++*|wince*:SUBDIRS = webbrowser # install target.path = $$[QT_INSTALL_EXAMPLES]/activeqt diff -Naur a/mkspecs/features/win32/embed_manifest_dll.prf b/mkspecs/features/win32/embed_manifest_dll.prf --- a/mkspecs/features/win32/embed_manifest_dll.prf 2010-05-04 02:43:16.000000000 +0200 +++ b/mkspecs/features/win32/embed_manifest_dll.prf 2010-06-05 23:51:28.108337656 +0200 @@ -1,6 +1,6 @@ MANIFEST_DIR = $$OBJECTS_DIR isEmpty(MANIFEST_DIR):MANIFEST_DIR = . -!if(plugin:no_plugin_manifest):if(win32-msvc2005|win32-msvc2008):!static:!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "lib") { +!if(plugin:no_plugin_manifest):if(win32-msvc2005|win32-msvc2008|win32-msvc2010):!static:!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "lib") { NOPATH_TARGET = $$TARGET NOPATH_TARGET ~= s,\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted) NOPATH_TARGET ~= s,\\,/,g # Change to single type separators diff -Naur a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf --- a/mkspecs/features/win32/embed_manifest_exe.prf 2010-05-04 02:43:16.000000000 +0200 +++ b/mkspecs/features/win32/embed_manifest_exe.prf 2010-06-05 23:51:28.108337656 +0200 @@ -1,6 +1,6 @@ MANIFEST_DIR = $$OBJECTS_DIR isEmpty(MANIFEST_DIR):MANIFEST_DIR = . -if(win32-msvc2005|win32-msvc2008):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "app") { +if(win32-msvc2005|win32-msvc2008|win32-msvc2010):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "app") { NOPATH_TARGET = $$TARGET NOPATH_TARGET ~= s,\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted) NOPATH_TARGET ~= s,\\,/,g # Change to single type separators diff -Naur a/mkspecs/unsupported/win32-g++-cross/qmake.conf b/mkspecs/unsupported/win32-g++-cross/qmake.conf --- a/mkspecs/unsupported/win32-g++-cross/qmake.conf 1970-01-01 01:00:00.000000000 +0100 +++ b/mkspecs/unsupported/win32-g++-cross/qmake.conf 2010-06-05 23:51:28.108337656 +0200 @@ -0,0 +1,101 @@ +# +# qmake configuration for win32-g++-cross +# +# Written for MinGW cross building on Unix +# + +MAKEFILE_GENERATOR = MINGW +TEMPLATE = app +CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header +QT += core gui +DEFINES += UNICODE QT_LARGEFILE_SUPPORT +QMAKE_COMPILER_DEFINES += __GNUC__ WIN32 + +QMAKE_EXT_OBJ = .o +QMAKE_EXT_RES = _res.o + +QMAKE_CC = i686-pc-mingw32-gcc +QMAKE_LEX = flex +QMAKE_LEXFLAGS = +QMAKE_YACC = byacc +QMAKE_YACCFLAGS = -d +QMAKE_CFLAGS = -pipe +QMAKE_CFLAGS_DEPS = -M +QMAKE_CFLAGS_WARN_ON = -Wall +QMAKE_CFLAGS_WARN_OFF = -w +QMAKE_CFLAGS_RELEASE = -O2 +QMAKE_CFLAGS_DEBUG = -g +QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses + +QMAKE_CXX = i686-pc-mingw32-g++ +QMAKE_CXXFLAGS = $$QMAKE_CFLAGS +QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD +QMAKE_CXXFLAGS_RTTI_ON = -frtti +QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti +QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads +QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions + +QMAKE_INCDIR = +QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] +QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] + +QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src +QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< +QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src +QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +QMAKE_LINK = i686-pc-mingw32-g++ +QMAKE_LINK_C = i686-pc-mingw32-gcc +QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc +QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl +QMAKE_LFLAGS_EXCEPTIONS_OFF = +QMAKE_LFLAGS_RELEASE = -Wl,-s +QMAKE_LFLAGS_DEBUG = +QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console +QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows +QMAKE_LFLAGS_DLL = -shared +QMAKE_LINK_OBJECT_MAX = 10 +QMAKE_LINK_OBJECT_SCRIPT= object_script + + +QMAKE_LIBS = +QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 +QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 +QMAKE_LIBS_NETWORK = -lws2_32 +QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32 +QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 +QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain + +QMAKE_SH = bash + +MINGW_IN_SHELL = 1 +QMAKE_DIR_SEP = / +QMAKE_COPY = cp +QMAKE_COPY_DIR = cp -r +QMAKE_MOVE = mv +QMAKE_DEL_FILE = rm -f +QMAKE_MKDIR = mkdir -p +QMAKE_DEL_DIR = rmdir +QMAKE_SYMBOLIC_LINK = ln -s +QMAKE_CHK_DIR_EXISTS = test -d + +#QMAKE_IDC = i686-pc-mingw32-idc +QMAKE_MOC = i686-pc-mingw32-moc +QMAKE_RCC = i686-pc-mingw32-rcc +QMAKE_UIC = i686-pc-mingw32-uic + +#QMAKE_IDL = midl +QMAKE_LIB = i686-pc-mingw32-ar -ru +QMAKE_RC = i686-pc-mingw32-windres +QMAKE_ZIP = zip -r -9 + +QMAKE_STRIP = i686-pc-mingw32-strip +QMAKE_STRIPFLAGS_LIB += --strip-unneeded +PKG_CONFIG = i686-pc-mingw32-pkg-config +load(qt_config) diff -Naur a/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h b/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h --- a/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h 1970-01-01 01:00:00.000000000 +0100 +++ b/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h 2010-06-05 23:51:28.108337656 +0200 @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../win32-g++/qplatformdefs.h" diff -Naur a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp --- a/qmake/generators/metamakefile.cpp 2010-05-04 02:43:18.000000000 +0200 +++ b/qmake/generators/metamakefile.cpp 2010-06-05 23:51:28.108337656 +0200 @@ -501,9 +501,18 @@ *host_mode = Option::HOST_UNIX_MODE; *target_mode = Option::TARG_UNIX_MODE; #endif - } else if (gen == "MSVC.NET" || gen == "MINGW" || gen == "BMAKE") { + } else if (gen == "MSVC.NET" || gen == "BMAKE" || gen == "MSBUILD") { *host_mode = Option::HOST_WIN_MODE; *target_mode = Option::TARG_WIN_MODE; + } else if (gen == "MINGW") { +#if defined(Q_OS_MAC) + *host_mode = Option::HOST_MACX_MODE; +#elif defined(Q_OS_UNIX) + *host_mode = Option::HOST_UNIX_MODE; +#else + *host_mode = Option::HOST_WIN_MODE; +#endif + *target_mode = Option::TARG_WIN_MODE; } else if (gen == "PROJECTBUILDER" || gen == "XCODE") { *host_mode = Option::HOST_MACX_MODE; *target_mode = Option::TARG_MACX_MODE; diff -Naur a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp --- a/qmake/generators/win32/mingw_make.cpp 2010-05-04 02:43:18.000000000 +0200 +++ b/qmake/generators/win32/mingw_make.cpp 2010-06-05 23:51:28.108337656 +0200 @@ -371,7 +371,12 @@ ar_script_file += "." + var("BUILD_NAME"); } createArObjectScriptFile(ar_script_file, var("DEST_TARGET"), project->values("OBJECTS")); - objectsLinkLine = "ar -M < " + ar_script_file; + // QMAKE_LIB is used for win32, including mingw, whereas QMAKE_AR is used on Unix. + // Strip off any options since the ar commands will be read from file. + QString ar_cmd = var("QMAKE_LIB").section(" ", 0, 0);; + if (ar_cmd.isEmpty()) + ar_cmd = "ar"; + objectsLinkLine = ar_cmd + " -M < " + ar_script_file; } else { QString ld_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET"); if (!var("BUILD_NAME").isEmpty()) { diff -Naur a/src/3rdparty/javascriptcore/WebKit.pri b/src/3rdparty/javascriptcore/WebKit.pri --- a/src/3rdparty/javascriptcore/WebKit.pri 2010-05-04 02:43:22.000000000 +0200 +++ b/src/3rdparty/javascriptcore/WebKit.pri 2010-06-05 23:51:28.108337656 +0200 @@ -36,7 +36,7 @@ win32-*|wince* { CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION} - win32-g++: LIBS += -l$$QTWEBKITLIBNAME + win32-g++*: LIBS += -l$$QTWEBKITLIBNAME else: LIBS += $${QTWEBKITLIBNAME}.lib } else { LIBS += -lQtWebKit diff -Naur a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro 2010-05-04 02:43:19.000000000 +0200 +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro 2010-06-05 23:51:28.111706406 +0200 @@ -12,6 +12,8 @@ QT += core CONFIG += depend_includepath +target.path=$$[QT_INSTALL_LIBS] +INSTALLS += target contains(QT_CONFIG, embedded):CONFIG += embedded @@ -38,7 +40,7 @@ } # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC -win32-g++ { +win32-g++* { TMPPATH = $$quote($$(INCLUDE)) QMAKE_INCDIR_POST += $$split(TMPPATH,";") TMPPATH = $$quote($$(LIB)) diff -Naur a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro --- a/src/3rdparty/webkit/WebCore/WebCore.pro 2010-05-04 02:43:21.000000000 +0200 +++ b/src/3rdparty/webkit/WebCore/WebCore.pro 2010-06-05 23:51:28.111706406 +0200 @@ -100,7 +100,7 @@ } # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC -win32-g++ { +win32-g++* { TMPPATH = $$quote($$(INCLUDE)) QMAKE_INCDIR_POST += $$split(TMPPATH,";") TMPPATH = $$quote($$(LIB)) @@ -2904,7 +2904,7 @@ CONFIG += no_debug_info } -!win32-g++:win32:contains(QMAKE_HOST.arch, x86_64):{ +!win32-g++*:win32:contains(QMAKE_HOST.arch, x86_64):{ asm_compiler.commands = ml64 /c asm_compiler.commands += /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} diff -Naur a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro --- a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro 2010-05-04 02:43:22.000000000 +0200 +++ b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro 2010-06-05 23:51:28.111706406 +0200 @@ -12,7 +12,7 @@ ESCAPE = "" win32-msvc*|symbian { ESCAPE = "^" -} else:win32-g++:isEmpty(QMAKE_SH) { +} else:win32-g++*:isEmpty(QMAKE_SH) { # MinGW's make will run makefile commands using sh, even if make # was run from the Windows shell, if it finds sh in the path. ESCAPE = "^" diff -Naur a/src/3rdparty/webkit/WebKit.pri b/src/3rdparty/webkit/WebKit.pri --- a/src/3rdparty/webkit/WebKit.pri 2010-05-04 02:43:22.000000000 +0200 +++ b/src/3rdparty/webkit/WebKit.pri 2010-06-05 23:51:28.111706406 +0200 @@ -24,7 +24,7 @@ win32-*|wince* { CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION} - win32-g++: LIBS += -l$$QTWEBKITLIBNAME + win32-g++*: LIBS += -l$$QTWEBKITLIBNAME else: LIBS += $${QTWEBKITLIBNAME}.lib } else { LIBS += -lQtWebKit diff -Naur a/src/activeqt/container/container.pro b/src/activeqt/container/container.pro --- a/src/activeqt/container/container.pro 2010-05-04 02:43:26.000000000 +0200 +++ b/src/activeqt/container/container.pro 2010-06-05 23:51:28.111706406 +0200 @@ -19,7 +19,7 @@ LIBS += -lole32 -loleaut32 !wince*:LIBS += -luser32 -lgdi32 -ladvapi32 -win32-g++:LIBS += -luuid +win32-g++*:LIBS += -luuid HEADERS = ../control/qaxaggregated.h \ qaxbase.h \ diff -Naur a/src/activeqt/control/control.pro b/src/activeqt/control/control.pro --- a/src/activeqt/control/control.pro 2010-05-04 02:43:26.000000000 +0200 +++ b/src/activeqt/control/control.pro 2010-06-05 23:51:28.111706406 +0200 @@ -18,11 +18,11 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE\lib DEFINES += QAX_SERVER -win32-g++:DEFINES += QT_NEEDS_QMAIN +win32-g++*:DEFINES += QT_NEEDS_QMAIN win32-borland:DEFINES += QT_NEEDS_QMAIN LIBS += -luser32 -lole32 -loleaut32 -lgdi32 -win32-g++:LIBS += -luuid +win32-g++*:LIBS += -luuid HEADERS = qaxaggregated.h \ qaxbindable.h \ diff -Naur a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri --- a/src/corelib/tools/tools.pri 2010-05-04 02:43:25.000000000 +0200 +++ b/src/corelib/tools/tools.pri 2010-06-05 23:51:28.111706406 +0200 @@ -106,8 +106,8 @@ ../3rdparty/zlib/uncompr.c \ ../3rdparty/zlib/zutil.c } else:!contains(QT_CONFIG, no-zlib) { - unix:LIBS_PRIVATE += -lz -# win32:LIBS += libz.lib + unix|win32-g++*:LIBS_PRIVATE += -lz + win32:!win32-g++*:LIBS += zdll.lib } DEFINES += HB_EXPORT=Q_CORE_EXPORT diff -Naur a/src/gui/image/image.pri b/src/gui/image/image.pri --- a/src/gui/image/image.pri 2010-05-04 02:43:24.000000000 +0200 +++ b/src/gui/image/image.pri 2010-06-05 23:51:28.111706406 +0200 @@ -93,12 +93,12 @@ SOURCES += image/qpnghandler.cpp contains(QT_CONFIG, system-png) { - unix:LIBS_PRIVATE += -lpng - win32:LIBS += libpng.lib + unix|win32-g++*:LIBS_PRIVATE += -lpng + win32:!win32-g++*:LIBS += libpng.lib } else { DEFINES *= QT_USE_BUNDLED_LIBPNG !isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE - INCLUDEPATH += ../3rdparty/libpng ../3rdparty/zlib + INCLUDEPATH += ../3rdparty/libpng SOURCES += ../3rdparty/libpng/png.c \ ../3rdparty/libpng/pngerror.c \ ../3rdparty/libpng/pngget.c \ @@ -115,6 +115,10 @@ ../3rdparty/libpng/pngwtran.c \ ../3rdparty/libpng/pngwutil.c } + contains(QT_CONFIG, system-zlib) { + unix|win32-g++*:LIBS_PRIVATE += -lz + win32:!win32-g++*:LIBS += zdll.lib + } } else { DEFINES *= QT_NO_IMAGEFORMAT_PNG } diff -Naur a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri --- a/src/gui/painting/painting.pri 2010-05-04 02:43:25.000000000 +0200 +++ b/src/gui/painting/painting.pri 2010-06-05 23:51:28.115709598 +0200 @@ -232,7 +232,7 @@ IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp } - win32-g++|!win32:!*-icc* { + win32-g++*|!win32:!*-icc* { mmx { mmx_compiler.commands = $$QMAKE_CXX -c -Winline @@ -403,7 +403,7 @@ contains(QT_CONFIG, zlib) { INCLUDEPATH += ../3rdparty/zlib } else:!contains(QT_CONFIG, no-zlib) { - unix:LIBS_PRIVATE += -lz -# win32:LIBS += libz.lib + unix|win32-g++*:LIBS_PRIVATE += -lz + win32:!win32-g++*:LIBS += zdll.lib } diff -Naur a/src/network/access/access.pri b/src/network/access/access.pri --- a/src/network/access/access.pri 2010-05-04 02:43:25.000000000 +0200 +++ b/src/network/access/access.pri 2010-06-05 23:51:28.115709598 +0200 @@ -61,6 +61,6 @@ contains(QT_CONFIG, zlib) { INCLUDEPATH += ../3rdparty/zlib } else:!contains(QT_CONFIG, no-zlib) { - unix:LIBS_PRIVATE += -lz -# win32:LIBS += libz.lib + unix|win32-g++*:LIBS_PRIVATE += -lz + win32:!win32-g++*:LIBS += zdll.lib } diff -Naur a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri --- a/src/network/ssl/ssl.pri 2010-05-04 02:43:25.000000000 +0200 +++ b/src/network/ssl/ssl.pri 2010-06-05 23:51:28.115709598 +0200 @@ -34,6 +34,7 @@ # Include Qt's default CA bundle RESOURCES += network.qrc - # Add optional SSL libs + # Add optional SSL libs, but not accidently system zlib + !contains(QT_CONFIG, system-zlib):OPENSSL_LIBS -= -lz LIBS_PRIVATE += $$OPENSSL_LIBS } diff -Naur a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro --- a/src/plugins/imageformats/jpeg/jpeg.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/plugins/imageformats/jpeg/jpeg.pro 2010-06-05 23:51:28.115709598 +0200 @@ -22,8 +22,8 @@ } contains(QT_CONFIG, system-jpeg) { - unix:LIBS += -ljpeg - win32:LIBS += libjpeg.lib + unix|win32-g++*:LIBS += -ljpeg + win32:!win32-g++*:LIBS += libjpeg.lib } !contains(QT_CONFIG, system-jpeg) { INCLUDEPATH += ../../../3rdparty/libjpeg diff -Naur a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro --- a/src/plugins/imageformats/mng/mng.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/plugins/imageformats/mng/mng.pro 2010-06-05 23:51:28.115709598 +0200 @@ -14,8 +14,8 @@ } contains(QT_CONFIG, system-mng) { - unix:LIBS += -lmng - win32:LIBS += libmng.lib + unix|win32-g++*:LIBS += -lmng + win32:!win32-g++*:LIBS += libmng.lib } !contains(QT_CONFIG, system-mng) { DEFINES += MNG_BUILD_SO @@ -44,7 +44,8 @@ } contains(QT_CONFIG, system-zlib) { - LIBS += -lz + unix|win32-g++*:LIBS += -lz + win32:!win32-g++*:LIBS += zdll.lib } !contains(QT_CONFIG, system-zlib) { INCLUDEPATH += ../../../3rdparty/zlib diff -Naur a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro --- a/src/plugins/imageformats/tiff/tiff.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/plugins/imageformats/tiff/tiff.pro 2010-06-05 23:51:28.115709598 +0200 @@ -8,8 +8,13 @@ qtiffhandler.cpp contains(QT_CONFIG, system-tiff) { - unix:LIBS += -ltiff - win32:LIBS += libtiff.lib + unix|win32-g++*:LIBS += -ltiff + win32:!win32-g++*:LIBS += libtiff.lib + + contains(QT_CONFIG, system-jpeg) { + unix|win32-g++*:LIBS += -ljpeg + win32:!win32-g++*:LIBS += libjpeg.lib + } } !contains(QT_CONFIG, system-tiff) { INCLUDEPATH += ../../../3rdparty/libtiff/libtiff @@ -64,7 +69,8 @@ } contains(QT_CONFIG, system-zlib) { - LIBS += -lz + unix|win32-g++*:LIBS += -lz + win32:!win32-g++*:LIBS += zdll.lib } !contains(QT_CONFIG, system-zlib) { INCLUDEPATH += ../../../3rdparty/zlib diff -Naur a/src/plugins/sqldrivers/psql/psql.pro b/src/plugins/sqldrivers/psql/psql.pro --- a/src/plugins/sqldrivers/psql/psql.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/plugins/sqldrivers/psql/psql.pro 2010-06-05 23:51:28.115709598 +0200 @@ -4,7 +4,7 @@ SOURCES = main.cpp \ ../../../sql/drivers/psql/qsql_psql.cpp -unix|win32-g++: { +unix|win32-g++*: { !isEmpty(QT_LFLAGS_PSQL) { !contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz !static:LIBS *= $$QT_LFLAGS_PSQL @@ -13,6 +13,6 @@ !contains(LIBS, .*pq.*):LIBS *= -lpq } -win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32 +win32:!win32-g++*:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32 include(../qsqldriverbase.pri) diff -Naur a/src/plugins/sqldrivers/tds/main.cpp b/src/plugins/sqldrivers/tds/main.cpp --- a/src/plugins/sqldrivers/tds/main.cpp 2010-05-04 02:43:25.000000000 +0200 +++ b/src/plugins/sqldrivers/tds/main.cpp 2010-06-05 23:51:28.115709598 +0200 @@ -47,6 +47,7 @@ #define _WINSCARD_H_ #include #endif +#define Q_USE_SYBASE #include "../../../sql/drivers/tds/qsql_tds.h" QT_BEGIN_NAMESPACE diff -Naur a/src/plugins/sqldrivers/tds/tds.pro b/src/plugins/sqldrivers/tds/tds.pro --- a/src/plugins/sqldrivers/tds/tds.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/plugins/sqldrivers/tds/tds.pro 2010-06-05 23:51:28.115709598 +0200 @@ -6,8 +6,9 @@ ../../../sql/drivers/tds/qsql_tds.cpp unix:!contains( LIBS, .*sybdb.* ):LIBS *= -lsybdb +win32-g++*:LIBS *= -lsybdb -liconv -lws2_32 -win32 { +win32:!win32-g++* { !win32-borland:LIBS *= -lNTWDBLIB win32-borland:LIBS *= $(BCB)/lib/PSDK/NTWDBLIB.LIB } diff -Naur a/src/qbase.pri b/src/qbase.pri --- a/src/qbase.pri 2010-05-04 02:43:26.000000000 +0200 +++ b/src/qbase.pri 2010-06-05 23:51:28.115709598 +0200 @@ -85,7 +85,6 @@ } win32 { - CONFIG += zlib INCLUDEPATH += tmp !static: DEFINES+=QT_MAKEDLL } diff -Naur a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri --- a/src/sql/drivers/drivers.pri 2010-05-04 02:43:24.000000000 +0200 +++ b/src/sql/drivers/drivers.pri 2010-06-05 23:51:28.119704269 +0200 @@ -6,16 +6,14 @@ HEADERS += drivers/psql/qsql_psql.h SOURCES += drivers/psql/qsql_psql.cpp - unix|win32-g++ { + unix|win32-g++* { !static:!isEmpty(QT_LFLAGS_PSQL) { !contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz !static:LIBS *= $$QT_LFLAGS_PSQL QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL } !contains(LIBS, .*pq.*):LIBS *= -lpq - } - - win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32 + } else:win32:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32 } contains(sql-drivers, mysql) { @@ -35,8 +33,8 @@ } win32:!contains(LIBS, .*mysql.*):!contains(LIBS, .*mysqld.*) { - !win32-g++:LIBS *= -llibmysql - win32-g++:LIBS *= -lmysql + !win32-g++*:LIBS *= -llibmysql + win32-g++*:LIBS *= -lmysql } } diff -Naur a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp --- a/src/sql/drivers/tds/qsql_tds.cpp 2010-05-04 02:43:24.000000000 +0200 +++ b/src/sql/drivers/tds/qsql_tds.cpp 2010-06-05 23:51:28.119704269 +0200 @@ -47,7 +47,8 @@ #else #define Q_USE_SYBASE #endif - +//Force SYBASE because we use FreeTDS +#define Q_USE_SYBASE #include "qsql_tds.h" #include diff -Naur a/src/sql/drivers/tds/qsql_tds.h b/src/sql/drivers/tds/qsql_tds.h --- a/src/sql/drivers/tds/qsql_tds.h 2010-05-04 02:43:24.000000000 +0200 +++ b/src/sql/drivers/tds/qsql_tds.h 2010-06-05 23:51:28.119704269 +0200 @@ -48,7 +48,8 @@ #ifdef Q_OS_WIN32 #define WIN32_LEAN_AND_MEAN -#define DBNTWIN32 // indicates 32bit windows dblib +//#define DBNTWIN32 // indicates 32bit windows dblib +#include #include #include #include diff -Naur a/src/svg/svg.pro b/src/svg/svg.pro --- a/src/svg/svg.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/svg/svg.pro 2010-06-05 23:51:28.119704269 +0200 @@ -46,5 +46,6 @@ contains(QT_CONFIG, zlib) { INCLUDEPATH += ../3rdparty/zlib } else:!contains(QT_CONFIG, no-zlib) { - unix:LIBS_PRIVATE += -lz + unix|win32-g++*:LIBS_PRIVATE += -lz + win32:!win32-g++*:LIBS += zdll.lib } diff -Naur a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro --- a/src/tools/bootstrap/bootstrap.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/tools/bootstrap/bootstrap.pro 2010-06-05 23:51:28.119704269 +0200 @@ -109,6 +109,9 @@ ../3rdparty/zlib/trees.c \ ../3rdparty/zlib/uncompr.c \ ../3rdparty/zlib/zutil.c +} else:!contains(QT_CONFIG, no-zlib) { + unix|win32-g++*:LIBS_PRIVATE += -lz + win32:!win32-g++*:LIBS += zdll.lib } lib.CONFIG = dummy_install diff -Naur a/src/winmain/winmain.pro b/src/winmain/winmain.pro --- a/src/winmain/winmain.pro 2010-05-04 02:43:25.000000000 +0200 +++ b/src/winmain/winmain.pro 2010-06-05 23:51:28.119704269 +0200 @@ -8,10 +8,10 @@ CONFIG -= qt shared win32 { - win32-g++:DEFINES += QT_NEEDS_QMAIN + win32-g++*:DEFINES += QT_NEEDS_QMAIN win32-borland:DEFINES += QT_NEEDS_QMAIN SOURCES = qtmain_win.cpp - CONFIG += png zlib + CONFIG += png CONFIG -= jpeg INCLUDEPATH += tmp $$QMAKE_INCDIR_QT/QtCore } diff -Naur a/tools/activeqt/testcon/testcon.pro b/tools/activeqt/testcon/testcon.pro --- a/tools/activeqt/testcon/testcon.pro 2010-05-04 02:43:18.000000000 +0200 +++ b/tools/activeqt/testcon/testcon.pro 2010-06-05 23:51:28.123713258 +0200 @@ -16,6 +16,6 @@ win32-borland { QMAKE_POST_LINK = -midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl } else { - !win32-g++:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR) + !win32-g++*:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR) } diff -Naur a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro --- a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro 2010-05-04 02:43:17.000000000 +0200 +++ b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro 2010-06-05 23:51:28.123713258 +0200 @@ -29,7 +29,7 @@ CONFIG(exceptions_off) { CONFIG -= exceptions_off CONFIG += exceptions - !win32|win32-g++ { + !win32|win32-g++* { QMAKE_CFLAGS -= -fno-exceptions QMAKE_CXXFLAGS -= -fno-exceptions QMAKE_LFLAGS -= -fno-exceptions diff -Naur a/tools/configure/configure.pro b/tools/configure/configure.pro --- a/tools/configure/configure.pro 2010-05-04 02:43:18.000000000 +0200 +++ b/tools/configure/configure.pro 2010-06-05 23:51:28.123713258 +0200 @@ -8,7 +8,7 @@ win32 : LIBS += -lole32 -ladvapi32 win32-msvc.net | win32-msvc2* : QMAKE_CXXFLAGS += /EHsc -win32-g++ : LIBS += -luuid +win32-g++* : LIBS += -luuid win32-msvc* { QMAKE_CFLAGS_RELEASE -= -MD diff -Naur a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro --- a/tools/qvfb/qvfb.pro 2010-05-04 02:43:18.000000000 +0200 +++ b/tools/qvfb/qvfb.pro 2010-06-05 23:51:28.123713258 +0200 @@ -42,12 +42,14 @@ } contains(QT_CONFIG, system-png) { - LIBS += -lpng + unix|win32-g++*:LIBS_PRIVATE += -lpng + win32:!win32-g++*:LIBS += libpng.lib } else { INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/libpng } contains(QT_CONFIG, system-zlib) { - LIBS += -lz + unix|win32-g++*:LIBS_PRIVATE += -lz + win32:!win32-g++*:LIBS += zdll.lib } else { INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/zlib } diff -Naur a/translations/translations.pro b/translations/translations.pro --- a/translations/translations.pro 2010-05-04 02:43:16.000000000 +0200 +++ b/translations/translations.pro 2010-06-05 23:51:28.139709194 +0200 @@ -3,7 +3,8 @@ LRELEASE = $$QT_BUILD_TREE/bin/lrelease win32 { LRELEASE ~= s,/,$$QMAKE_DIR_SEP, - LRELEASE = $${LRELEASE}.exe + win32-g++-cross:LRELEASE = $${LRELEASE} + else:LRELEASE = $${LRELEASE}.exe } contains(TEMPLATE_PREFIX, vc):vcproj = 1