This file is part of mingw-cross-env. See doc/index.html or doc/README for further information. diff --git a/configure b/configure index 033f415..becf8ea 100755 --- a/configure +++ b/configure @@ -605,7 +605,7 @@ mkdir -p "$outpath/config.tests" 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 styles "cde mac motif plastique cleanlooks windows windowsxp windowsvista" QMakeVar add decorations "default windows styled" QMakeVar add mouse-drivers "pc" if [ "$UNAME_SYSTEM" = "Linux" ] ; then @@ -733,6 +733,7 @@ CFG_MMX=auto CFG_3DNOW=auto CFG_SSE=auto CFG_SSE2=auto +CFG_RTTI=auto CFG_REDUCE_RELOCATIONS=no CFG_IPV6=auto CFG_NAS=no @@ -4466,7 +4467,10 @@ fi # Build 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 +if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using FLOATMATH for win32-g++ target" + CFG_USE_FLOATMATH=yes +elif "$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 @@ -4474,7 +4478,10 @@ 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 + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using MMX for win32-g++ target" + CFG_MMX=yes + elif "$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 @@ -4483,7 +4490,10 @@ 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 + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using SSE for win32-g++ target" + CFG_3DNOW=yes + elif "$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 @@ -4492,7 +4502,10 @@ fi # 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 + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using SSE for win32-g++ target" + CFG_SSE=yes + elif "$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 @@ -4501,13 +4514,26 @@ fi # detect sse2 support if [ "${CFG_SSE2}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using SSE2 for win32-g++ target" + CFG_SSE2=yes + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then CFG_SSE2=yes else CFG_SSE2=no fi fi +# detect rtti support +if [ "${CFG_RTTI}" = "auto" ]; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using RTTI for win32-g++ target" + CFG_RTTI=yes + else + CFG_RTTI=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" @@ -4542,7 +4568,10 @@ if [ "$CFG_ZLIB" = "no" ]; then ZLIB_FORCED=yes fi if [ "$CFG_ZLIB" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for system ZLIB since we are cross building for win32-g++, so we assume it is there." + CFG_ZLIB=system + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_ZLIB=system else CFG_ZLIB=yes @@ -4559,7 +4588,10 @@ if [ "$CFG_JPEG" = "auto" ]; then fi # detect jpeg if [ "$CFG_LIBJPEG" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for system LIBJPEG since we are cross building for win32-g++, so we assume it is there." + CFG_LIBJPEG=system + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_LIBJPEG=system else CFG_LIBJPEG=qt @@ -4586,7 +4618,10 @@ 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 + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for system LIBTIFF since we are cross building for win32-g++, so we assume it is there." + CFG_LIBTIFF=system + elif "$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 @@ -4603,7 +4638,10 @@ if [ "$CFG_MNG" = "auto" ]; then fi # detect mng if [ "$CFG_LIBMNG" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libmng "libmng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for system LIBMNG since we are cross building for win32-g++, so we assume it is there." + CFG_LIBMNG=system + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libmng "libmng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_LIBMNG=system else CFG_LIBMNG=qt @@ -4612,7 +4650,10 @@ 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 + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for system LIBPNG since we are cross building for win32-g++, so we assume it is there." + CFG_LIBPNG=system + elif "$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 CFG_LIBPNG=system else CFG_LIBPNG=qt @@ -4679,7 +4720,11 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do fi ;; psql) - if [ "$CFG_SQL_psql" != "no" ]; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for PostgreSQL support since we are cross building for win32-g++, so we assume it is there." + CFG_SQL_psql=plugin + QT_LFLAGS_PSQL="-lpq -lsecur32 `$PKG_CONFIG --libs openssl`" + elif [ "$CFG_SQL_psql" != "no" ]; then if "$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` @@ -4707,7 +4752,10 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; 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 [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for ODBC support since we are cross building for win32-g++, so we assume it is there." + CFG_SQL_odbc=plugin + elif [ "$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 [ "$CFG_SQL_odbc" = "auto" ]; then CFG_SQL_odbc=plugin fi @@ -4752,7 +4800,12 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; tds) if [ "$CFG_SQL_tds" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for TDS since we are cross building for win32-g++, so we assume it is there." + if [ "CFG_SQL_tds" = "auto" ]; then + CFG_SQL_tds=plugin + fi + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_tds" = "auto" ]; then CFG_SQL_tds=plugin fi @@ -4834,7 +4887,13 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null` QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null` fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for system sqlite since we are cross building for win32-g++, so we assume it is there." + if [ "$CFG_SQL_sqlite" = "auto" ]; then + CFG_SQL_sqlite=plugin + fi + QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite" + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_sqlite" = "auto" ]; then CFG_SQL_sqlite=plugin fi @@ -4905,7 +4964,9 @@ fi # auto-detect iconv(3) support if [ "$CFG_ICONV" != "no" ]; then - if [ "$PLATFORM_QWS" = "yes" ]; then + if [ "$XPLATFORM" = "win32-g++" ]; then + CFG_ICONV=no + elif [ "$PLATFORM_QWS" = "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 @@ -5065,7 +5126,9 @@ if [ "$PLATFORM_X11" = "yes" ]; 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 +echo NOTICE: This is a specially modifed configure script! +echo For our purposes we do not want X11. +# exit 1 fi # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x) @@ -5139,7 +5202,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then 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 +echo NOTICE: This is a specially modifed configure script! +echo For our purposes we do not want the OpenGL functionality test. +# exit 1 fi case "$PLATFORM" in hpux*) @@ -5640,7 +5705,10 @@ if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then 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 +if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using STL for win32-g++ target" + HAVE_STL=yes +elif "$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 fi @@ -5662,7 +5730,10 @@ fi # find if the platform supports IPv6 if [ "$CFG_IPV6" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6 "IPv6" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using IPV6 for win32-g++ target" + CFG_IPV6=yes + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6 "IPv6" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_IPV6=yes else if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -5776,7 +5847,10 @@ fi # find if the platform supports X/Open Large File compilation environment if [ "$CFG_LARGEFILE" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/largefile "X/Open Large File" $L_FLAGS $I_FLAGS $l_FLAGS; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Using LARGEFILE for win32-g++ target" + CFG_LARGEFILE=yes + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/largefile "X/Open Large File" $L_FLAGS $I_FLAGS $l_FLAGS; then CFG_LARGEFILE=yes else if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -5793,7 +5867,9 @@ fi # detect OpenSSL if [ "$CFG_OPENSSL" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "We cannot test for system CFG_OPENSSL since we are cross building for win32-g++, so we assume it is there." + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_OPENSSL" = "auto" ]; then CFG_OPENSSL=yes fi @@ -6141,6 +6217,7 @@ fi [ "$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_RTTI" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG rtti" [ "$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" @@ -6222,11 +6299,12 @@ else QT_CONFIG="$QT_CONFIG freetype" fi -if [ "x$PLATFORM_MAC" = "xyes" ]; then - #On Mac we implicitly link against libz, so we - #never use the 3rdparty stuff. - [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system" -fi +# We're cross compiling, so we respect the user setting. +#if [ "x$PLATFORM_MAC" = "xyes" ]; then +# #On Mac we implicitly link against libz, so we +# #never use the 3rdparty stuff. +# [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system" +#fi if [ "$CFG_ZLIB" = "yes" ]; then QT_CONFIG="$QT_CONFIG zlib" elif [ "$CFG_ZLIB" = "system" ]; then @@ -7161,7 +7239,7 @@ fi cat >>"$QTCONFIG.tmp" <> "$CACHEFILE.tmp" elif [ "$CFG_OPENSSL" = "linked" ]; then - echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$CACHEFILE.tmp" + echo "OPENSSL_LIBS = `$PKG_CONFIG --libs openssl`" >> "$CACHEFILE.tmp" fi #dump in the SDK info @@ -7434,7 +7512,7 @@ fi echo "Declarative module .. $CFG_DECLARATIVE" echo "STL support ......... $CFG_STL" echo "PCH support ......... $CFG_PRECOMPILE" -echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}" +echo "MMX/3DNOW/SSE/SSE2/RTTI.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_RTTI}" if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then echo "iWMMXt support ...... ${CFG_IWMMXT}" echo "NEON support ........ ${CFG_NEON}" @@ -7752,7 +7830,11 @@ for file in .projects .projects.3; do [ "$IN_ROOT" = "no" ] && continue case $a in - *winmain/winmain.pro) continue ;; + *winmain/winmain.pro) + case "$XPLATFORM" in + win32*) SPEC=$XQMAKESPEC ;; + *) continue ;; + esac ;; *s60main/s60main.pro) continue ;; *examples/activeqt/*) continue ;; */qmake/qmake.pro) continue ;; diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index b282f69..fb65805 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -3,23 +3,31 @@ # # Written for MinGW # +load(qt_config) MAKEFILE_GENERATOR = MINGW TEMPLATE = app CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header +CONFIG += windows win32 +CONFIG -= freetype +QT_CONFIG -= freetype QT += core gui DEFINES += UNICODE QT_LARGEFILE_SUPPORT +DEFINES -= QT_LARGEFILE_SUPPORT +DEFINES += QT_TABLET QT_SESSIONMANAGER QT_NO_DIRECT3D QT_NO_CODECS QMAKE_COMPILER_DEFINES += __GNUC__ WIN32 QMAKE_EXT_OBJ = .o QMAKE_EXT_RES = _res.o -QMAKE_CC = gcc +QMAKE_CC = HOSTPLATFORMPREFIX-gcc QMAKE_LEX = flex QMAKE_LEXFLAGS = QMAKE_YACC = byacc QMAKE_YACCFLAGS = -d QMAKE_CFLAGS = +QMAKE_CFLAGS += -isystem HOSTPLATFORMINCLUDE +QMAKE_CFLAGS += -pipe QMAKE_CFLAGS_DEPS = -M QMAKE_CFLAGS_WARN_ON = -Wall QMAKE_CFLAGS_WARN_OFF = -w @@ -27,7 +35,7 @@ QMAKE_CFLAGS_RELEASE = -O2 QMAKE_CFLAGS_DEBUG = -g QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CXX = g++ +QMAKE_CXX = HOSTPLATFORMPREFIX-g++ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON @@ -42,6 +50,7 @@ QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions QMAKE_INCDIR = +QMAKE_INCDIR += . QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] @@ -50,8 +59,8 @@ 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 = g++ -QMAKE_LINK_C = gcc +QMAKE_LINK = HOSTPLATFORMPREFIX-g++ +QMAKE_LINK_C = HOSTPLATFORMPREFIX-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 = @@ -72,15 +81,18 @@ 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 + !isEmpty(QMAKE_SH) { MINGW_IN_SHELL = 1 QMAKE_DIR_SEP = / QMAKE_COPY = cp - QMAKE_COPY_DIR = xcopy /s /q /y /i + QMAKE_COPY_DIR = cp -r QMAKE_MOVE = mv QMAKE_DEL_FILE = rm - QMAKE_MKDIR = mkdir + QMAKE_MKDIR = mkdir -p QMAKE_DEL_DIR = rmdir + QMAKE_SYMBOLIC_LINK = ln -s QMAKE_CHK_DIR_EXISTS = test -d } else { QMAKE_COPY = copy /y @@ -92,15 +104,16 @@ QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain QMAKE_CHK_DIR_EXISTS = if not exist } -QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe -QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe -QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe +#QMAKE_IDC = HOSTPLATFORMPREFIX-idc +QMAKE_MOC = HOSTPLATFORMPREFIX-moc +QMAKE_RCC = HOSTPLATFORMPREFIX-rcc +QMAKE_UIC = HOSTPLATFORMPREFIX-uic -QMAKE_IDL = midl -QMAKE_LIB = ar -ru -QMAKE_RC = windres +#QMAKE_IDL = midl +QMAKE_LIB = HOSTPLATFORMPREFIX-ar -ru +QMAKE_RC = HOSTPLATFORMPREFIX-windres QMAKE_ZIP = zip -r -9 -QMAKE_STRIP = strip +QMAKE_STRIP = HOSTPLATFORMPREFIX-strip QMAKE_STRIPFLAGS_LIB += --strip-unneeded -load(qt_config) +PKG_CONFIG = HOSTPLATFORMPREFIX-pkg-config diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 3406e41..e171584 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -96,8 +96,8 @@ contains(QT_CONFIG, zlib) { ../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 --git a/src/gui/image/image.pri b/src/gui/image/image.pri index b67be55..6642ae3 100644 --- a/src/gui/image/image.pri +++ b/src/gui/image/image.pri @@ -93,11 +93,11 @@ SOURCES += \ 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 { !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 @@ SOURCES += \ ../3rdparty/libpng/pngwutil.c \ ../3rdparty/libpng/pnggccrd.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 --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index a6cc9c7..95779a1 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -387,9 +387,9 @@ neon { } contains(QT_CONFIG, zlib) { - INCLUDEPATH += ../3rdparty/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 --git a/src/network/access/access.pri b/src/network/access/access.pri index aa36890..f009761 100644 --- a/src/network/access/access.pri +++ b/src/network/access/access.pri @@ -59,8 +59,8 @@ SOURCES += access/qftp.cpp \ #zlib support contains(QT_CONFIG, zlib) { - INCLUDEPATH += ../3rdparty/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 --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri index 72ea80f..899aa30 100644 --- a/src/network/ssl/ssl.pri +++ b/src/network/ssl/ssl.pri @@ -35,5 +35,11 @@ symbian { RESOURCES += network.qrc # Add optional SSL libs + !contains(QT_CONFIG, system-zlib):contains(OPENSSL_LIBS, -lz) { + # Use the zlib in QtCore + OPENSSL_LIBS -= -lz + OPENSSL_LIBS += -lQtCore4 + } LIBS_PRIVATE += $$OPENSSL_LIBS + } diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro index ebc79cc..30a19c6 100644 --- a/src/plugins/imageformats/jpeg/jpeg.pro +++ b/src/plugins/imageformats/jpeg/jpeg.pro @@ -20,8 +20,8 @@ symbian: { } 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 --git a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro index de7dfa7..46c84c4 100644 --- a/src/plugins/imageformats/mng/mng.pro +++ b/src/plugins/imageformats/mng/mng.pro @@ -14,8 +14,8 @@ symbian: { } 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,10 +44,11 @@ contains(QT_CONFIG, system-mng) { } contains(QT_CONFIG, system-zlib) { - LIBS += -lz + unix|win32-g++:LIBS_PRIVATE += -lz + win32:!win32-g++:LIBS += zdll.lib } !contains(QT_CONFIG, system-zlib) { - INCLUDEPATH += ../../../3rdparty/zlib + INCLUDEPATH += ../../../3rdparty/zlib } QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats diff --git a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro index 312f99c..29d36f4 100644 --- a/src/plugins/imageformats/tiff/tiff.pro +++ b/src/plugins/imageformats/tiff/tiff.pro @@ -8,8 +8,13 @@ SOURCES += main.cpp \ 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 @@ -62,10 +67,11 @@ contains(QT_CONFIG, system-tiff) { } contains(QT_CONFIG, system-zlib) { - LIBS += -lz + unix|win32-g++:LIBS_PRIVATE += -lz + win32:!win32-g++:LIBS += zdll.lib } !contains(QT_CONFIG, system-zlib) { - INCLUDEPATH += ../../../3rdparty/zlib + INCLUDEPATH += ../../../3rdparty/zlib } QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats diff --git a/src/plugins/sqldrivers/psql/psql.pro b/src/plugins/sqldrivers/psql/psql.pro index 29fbada..0a38ee4 100644 --- a/src/plugins/sqldrivers/psql/psql.pro +++ b/src/plugins/sqldrivers/psql/psql.pro @@ -4,18 +4,15 @@ HEADERS = ../../../sql/drivers/psql/qsql_psql.h SOURCES = main.cpp \ ../../../sql/drivers/psql/qsql_psql.cpp -unix: { +unix|win32-g++: { !isEmpty(QT_LFLAGS_PSQL) { - LIBS *= $$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:!contains(LIBS, .*pq.* ) { - !win32-g++:LIBS *= -llibpq - win32-g++:LIBS *= -lpq - LIBS *= -lws2_32 -ladvapi32 -} +win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32 include(../qsqldriverbase.pri) diff --git a/src/plugins/sqldrivers/tds/main.cpp b/src/plugins/sqldrivers/tds/main.cpp index 33c1d78..e5af5a6 100644 --- a/src/plugins/sqldrivers/tds/main.cpp +++ b/src/plugins/sqldrivers/tds/main.cpp @@ -47,6 +47,7 @@ #define _WINSCARD_H_ #include #endif +#define Q_USE_SYBASE #include "../../../sql/drivers/tds/qsql_tds.h" QT_BEGIN_NAMESPACE diff --git a/src/plugins/sqldrivers/tds/tds.pro b/src/plugins/sqldrivers/tds/tds.pro index 08a166b..f66d5b7 100644 --- a/src/plugins/sqldrivers/tds/tds.pro +++ b/src/plugins/sqldrivers/tds/tds.pro @@ -6,8 +6,9 @@ SOURCES = main.cpp \ ../../../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 --git a/src/qbase.pri b/src/qbase.pri index d1a2a75..59eeb1b 100644 --- a/src/qbase.pri +++ b/src/qbase.pri @@ -85,7 +85,6 @@ win32-borland { } win32 { - CONFIG += zlib INCLUDEPATH += tmp !static: DEFINES+=QT_MAKEDLL } diff --git a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri index 184eca9..aac0267 100644 --- a/src/sql/drivers/drivers.pri +++ b/src/sql/drivers/drivers.pri @@ -6,19 +6,16 @@ contains(sql-drivers, psql) { HEADERS += drivers/psql/qsql_psql.h SOURCES += drivers/psql/qsql_psql.cpp - unix { - !isEmpty(QT_LFLAGS_PSQL) { - LIBS *= $$QT_LFLAGS_PSQL + 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 - win32-g++:!contains( LIBS, .*pq.* ):LIBS *= -lpq - LIBS *= -lws2_32 -ladvapi32 - } + win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32 } contains(sql-drivers, mysql) { diff --git a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp index ab1c283..b3c89d0 100644 --- a/src/sql/drivers/tds/qsql_tds.cpp +++ b/src/sql/drivers/tds/qsql_tds.cpp @@ -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 --git a/src/sql/drivers/tds/qsql_tds.h b/src/sql/drivers/tds/qsql_tds.h index ab2b808..31c3178 100644 --- a/src/sql/drivers/tds/qsql_tds.h +++ b/src/sql/drivers/tds/qsql_tds.h @@ -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 --git a/src/svg/svg.pro b/src/svg/svg.pro index d2a4227..0d3ef83 100644 --- a/src/svg/svg.pro +++ b/src/svg/svg.pro @@ -44,7 +44,8 @@ symbian:TARGET.UID3=0x2001B2E2 #zlib support contains(QT_CONFIG, zlib) { - INCLUDEPATH += ../3rdparty/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 --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri index b3ee948..18efe9d 100644 --- a/src/tools/bootstrap/bootstrap.pri +++ b/src/tools/bootstrap/bootstrap.pri @@ -52,8 +52,8 @@ hpux-acc*|hpuxi-acc* { LIBS += -lbootstrap } !contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib) { - unix:LIBS += -lz -# win32:LIBS += libz.lib + unix|win32-g++:LIBS_PRIVATE += -lz + win32:!win32-g++:LIBS += zdll.lib } win32:LIBS += -luser32 diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index 0dbb90f..e6b43a6 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -109,6 +109,9 @@ contains(QT_CONFIG, zlib) { ../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 --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro index bc322b9..f1fec05 100644 --- a/src/winmain/winmain.pro +++ b/src/winmain/winmain.pro @@ -11,7 +11,7 @@ win32 { 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 --git a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro index dde7e8d..556dbcb 100644 --- a/tools/qvfb/qvfb.pro +++ b/tools/qvfb/qvfb.pro @@ -42,12 +42,14 @@ contains(QT_CONFIG, opengl) { } 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 }