This file is part of mingw-cross-env. See doc/index.html for further information. diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test index 67a4636..fa54560 100755 --- a/config.tests/unix/compile.test +++ b/config.tests/unix/compile.test @@ -66,7 +66,7 @@ cd "$OUTDIR/$TEST" test -r Makefile && $MAKE distclean >/dev/null 2>&1 -"$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 +74,7 @@ else $MAKE >/dev/null 2>&1 fi -[ -x "$EXE" ] && SUCCESS=yes +[ -x "$EXE" ] || [ -x "${EXE}.exe" ] && SUCCESS=yes # done if [ "$SUCCESS" != "yes" ]; then diff --git a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp index 0c482cc..df6ae10 100644 --- a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp +++ b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp @@ -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 --git a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro index 8cdc776..898a017 100644 --- a/config.tests/unix/iconv/iconv.pro +++ b/config.tests/unix/iconv/iconv.pro @@ -1,3 +1,3 @@ SOURCES = iconv.cpp CONFIG -= qt dylib app_bundle -mac:LIBS += -liconv +mac|win32-g++:LIBS += -liconv diff --git a/config.tests/unix/ipv6/ipv6test.cpp b/config.tests/unix/ipv6/ipv6test.cpp index 4fb27f2..4243f2d 100644 --- a/config.tests/unix/ipv6/ipv6test.cpp +++ b/config.tests/unix/ipv6/ipv6test.cpp @@ -46,9 +46,14 @@ platforms. We check for the required IPv6 data structures. */ #define _HPUX_SOURCE #endif +#ifdef __MINGW32__ +#include +#include +#else #include #include #include +#endif int main() { diff --git a/config.tests/unix/odbc/odbc.cpp b/config.tests/unix/odbc/odbc.cpp index 32602c0..684cd70 100644 --- a/config.tests/unix/odbc/odbc.cpp +++ b/config.tests/unix/odbc/odbc.cpp @@ -38,7 +38,9 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ - +#ifdef __MINGW32__ +#include +#endif #include #include diff --git a/config.tests/unix/odbc/odbc.pro b/config.tests/unix/odbc/odbc.pro index c588ede..740582a 100644 --- a/config.tests/unix/odbc/odbc.pro +++ b/config.tests/unix/odbc/odbc.pro @@ -1,4 +1,5 @@ SOURCES = odbc.cpp CONFIG -= qt dylib mac:CONFIG -= app_bundle -LIBS += -lodbc +win32-g++:LIBS += -lodbc32 +else:LIBS += -lodbc diff --git a/config.tests/unix/rtti/rtti.cpp b/config.tests/unix/rtti/rtti.cpp new file mode 100644 index 0000000..e78103c --- /dev/null +++ b/config.tests/unix/rtti/rtti.cpp @@ -0,0 +1,45 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (address@hidden) +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** 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. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you have questions regarding the use of this file, please contact +** Nokia at address@hidden +** $QT_END_LICENSE$ +** +****************************************************************************/ + +int main(int, char**) +{ + return 0; +} diff --git a/config.tests/unix/rtti/rtti.pro b/config.tests/unix/rtti/rtti.pro new file mode 100644 index 0000000..d0aae30 --- /dev/null +++ b/config.tests/unix/rtti/rtti.pro @@ -0,0 +1,3 @@ +SOURCES = rtti.cpp +CONFIG -= x11 qt +mac:CONFIG -= app_bundle diff --git a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro index 432bd8d..94faf15 100644 --- a/config.tests/x11/opengl/opengl.pro +++ b/config.tests/x11/opengl/opengl.pro @@ -7,4 +7,5 @@ for(p, QMAKE_LIBDIR_OPENGL) { } CONFIG -= qt -LIBS += -lGL -lGLU +win32-g++:LIBS += -lopengl32 +else:LIBS += -lGL -lGLU diff --git a/configure b/configure index facd192..a54b696 100755 --- a/configure +++ b/configure @@ -184,6 +184,7 @@ fi # window system detection #------------------------------------------------------------------------------- +# XPLATFROM win32-g++ is treated as a subcase of PLATFORM_X11 for convenience PLATFORM_X11=no PLATFORM_MAC=no PLATFORM_QWS=no @@ -607,7 +608,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 s60" QMakeVar add decorations "default windows styled" QMakeVar add mouse-drivers "pc" if [ "$UNAME_SYSTEM" = "Linux" ] ; then @@ -742,6 +743,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 @@ -1629,6 +1631,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + rtti) + if [ "$VAL" = "no" ]; then + CFG_RTTI="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; iwmmxt) CFG_IWMMXT="yes" ;; @@ -3594,6 +3603,7 @@ cat << EOF -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-rtti ........... Do not compile with RTTI. -qtnamespace Wraps all Qt library code in 'namespace {...}'. -qtlibinfix Renames all libQt*.so to libQt*.so. @@ -4642,6 +4652,17 @@ if [ "${CFG_SSE2}" = "auto" ]; then fi fi +# detect rtti support +if [ "${CFG_RTTI}" = "auto" ]; then + if [ "$XPLATFORM" != "win32-g++" ]; then + CFG_RTTI=no + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/rtti "rtti" $L_FLAGS $I_FLAGS $l_FLAGS "-frtti"; then + 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" @@ -4841,6 +4862,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do 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` + QT_LFLAGS_PSQL="$QT_LFLAGS_PSQL $PSQL_LIBS" fi [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL" [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL" @@ -4865,7 +4887,7 @@ 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 [ "$PLATFORM_MAC" != "yes" ] || [ "$XPLATFORM" = "win32-g++" ] && "$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 @@ -5202,7 +5224,10 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then # Auto-detect GStreamer support (needed for both Phonon & QtMultimedia) if [ "$CFG_PHONON" != "no" -o "$CFG_MEDIASERVICES" != "no" ]; then - if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then + if [ "$XPLATFORM" = "win32-g++" ]; then + echo "Will build Phonon for win32-g++" + CFG_PHONON=yes + elif [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then if [ -n "$PKG_CONFIG" ]; then QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null` QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null` @@ -5320,8 +5345,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then 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 [ "$XPLATFORM" = "win32-g++" ]; then + echo "Skipping XLib test for win32-g++" + elif ! "$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}." @@ -6436,6 +6462,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" @@ -7542,7 +7569,7 @@ fi cat >>"$QTCONFIG.tmp" < #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 4a75565..085cf9e 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/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp index f7f0961..2e25c38 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 f23a672..013e3db 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.pro b/src/tools/bootstrap/bootstrap.pro index 44dd625..8c46b34 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -109,6 +109,9 @@ contains(QT_CONFIG, zlib)|cross_compile { ../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 }