diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-04-11 14:36:55 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-04-11 14:36:55 +0200 |
commit | 98d3e40fb7c88b670a93e73dace2d0f05a5f903c (patch) | |
tree | b1292124a86c219fb434db4ec28e8f805ff52287 /mkspecs | |
parent | a74e4b85be83e2da47f4a1d8fcf0e78079335b80 (diff) | |
parent | bab494e4d046f5617d19f5fec35eeff94377c51f (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
mkspecs/qnx-armv7le-qcc/qplatformdefs.h
src/printsupport/kernel/qcups.cpp
src/widgets/styles/qstyle.h
tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
Diffstat (limited to 'mkspecs')
32 files changed, 260 insertions, 109 deletions
diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 732d415f9a..44624fcca5 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -186,7 +186,6 @@ QMAKE_LIBS_X11 = QMAKE_LIBS_THREAD = QMAKE_LIBS_EGL = -lEGL QMAKE_LIBS_OPENGL = -QMAKE_LIBS_OPENGL_ES1 = -lGLESv1_CM QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 !exists($$NDK_ROOT): error("You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.") diff --git a/mkspecs/blackberry-armle-v7-qcc/qmake.conf b/mkspecs/blackberry-armle-v7-qcc/qmake.conf index 2e24e4e0d3..2fb367b8a4 100644 --- a/mkspecs/blackberry-armle-v7-qcc/qmake.conf +++ b/mkspecs/blackberry-armle-v7-qcc/qmake.conf @@ -5,7 +5,7 @@ load(qt_config) DEFINES += Q_OS_BLACKBERRY -CONFIG += blackberry +QMAKE_PLATFORM += blackberry LIBS += -lbps # Blackberry also has support for stack smashing protection in its libc diff --git a/mkspecs/blackberry-armle-v7-qcc/qplatformdefs.h b/mkspecs/blackberry-armle-v7-qcc/qplatformdefs.h index 32becb2042..874429f634 100644 --- a/mkspecs/blackberry-armle-v7-qcc/qplatformdefs.h +++ b/mkspecs/blackberry-armle-v7-qcc/qplatformdefs.h @@ -39,4 +39,4 @@ ** ****************************************************************************/ -#include "../qnx-armv7le-qcc/qplatformdefs.h" +#include "../qnx-armle-v7-qcc/qplatformdefs.h" diff --git a/mkspecs/blackberry-x86-qcc/qmake.conf b/mkspecs/blackberry-x86-qcc/qmake.conf index d2c6b3c9e9..c0561694cb 100644 --- a/mkspecs/blackberry-x86-qcc/qmake.conf +++ b/mkspecs/blackberry-x86-qcc/qmake.conf @@ -5,7 +5,7 @@ load(qt_config) DEFINES += Q_OS_BLACKBERRY -CONFIG += blackberry +QMAKE_PLATFORM += blackberry LIBS += -lbps # Blackberry also has support for stack smashing protection in its libc diff --git a/mkspecs/common/ios/qmake.conf b/mkspecs/common/ios/qmake.conf index 3c477438a3..daf66ac5ea 100644 --- a/mkspecs/common/ios/qmake.conf +++ b/mkspecs/common/ios/qmake.conf @@ -15,11 +15,6 @@ QMAKE_RANLIB = ranlib -s QMAKE_LINK = $$QMAKE_CXX QMAKE_LINK_SHLIB = $$QMAKE_CXX -# No OpenGL ES1 -QMAKE_INCDIR_OPENGL_ES1 = -QMAKE_LIBDIR_OPENGL_ES1 = -QMAKE_LIBS_OPENGL_ES1 = - # OpenGL ES2 QMAKE_INCDIR_OPENGL_ES2 = QMAKE_LIBDIR_OPENGL_ES2 = diff --git a/mkspecs/common/linux-android.conf b/mkspecs/common/linux-android.conf index b90a22ebef..fec008cb45 100644 --- a/mkspecs/common/linux-android.conf +++ b/mkspecs/common/linux-android.conf @@ -74,8 +74,6 @@ QMAKE_LIBDIR = $$ANDROID_SOURCES_CXX_STL_LIBDIR $$ANDROID_PLATFORM_PA QMAKE_INCDIR_X11 = QMAKE_LIBDIR_X11 = QMAKE_INCDIR_OPENGL = -QMAKE_INCDIR_OPENGL_ES1 = -QMAKE_LIBDIR_OPENGL_ES1 = QMAKE_INCDIR_OPENGL_ES2 = QMAKE_LIBDIR_OPENGL_ES2 = @@ -110,7 +108,6 @@ QMAKE_LIBS_QT_OPENGL = QMAKE_LIBS_QTOPIA = QMAKE_LIBS_THREAD = QMAKE_LIBS_OPENGL = -QMAKE_LIBS_OPENGL_ES1 = -lGLESv1_CM QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $$QMAKE_LIBS load(qt_config) diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf index c727bd9aef..98e6cefabd 100644 --- a/mkspecs/common/linux.conf +++ b/mkspecs/common/linux.conf @@ -13,8 +13,6 @@ QMAKE_INCDIR_X11 = QMAKE_LIBDIR_X11 = QMAKE_INCDIR_OPENGL = QMAKE_LIBDIR_OPENGL = -QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL -QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_EGL = @@ -28,7 +26,6 @@ QMAKE_LIBS_X11 = -lXext -lX11 -lm QMAKE_LIBS_NIS = -lnsl QMAKE_LIBS_EGL = -lEGL QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_OPENGL_ES1 = -lGLESv1_CM QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 QMAKE_LIBS_OPENVG = -lOpenVG QMAKE_LIBS_THREAD = -lpthread diff --git a/mkspecs/common/qcc-base-qnx.conf b/mkspecs/common/qcc-base-qnx.conf index d28fe1fc63..0954cfd1ee 100644 --- a/mkspecs/common/qcc-base-qnx.conf +++ b/mkspecs/common/qcc-base-qnx.conf @@ -4,7 +4,7 @@ include(qcc-base.conf) -CONFIG += qnx +QMAKE_PLATFORM += qnx #Choose qnx QPA Plugin as default QT_QPA_DEFAULT_PLATFORM = qnx @@ -29,7 +29,6 @@ QMAKE_LIBS = -lm QMAKE_LIBS_NETWORK = -lsocket # OpenGL libraries have a dependency on libEGL -QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM -lEGL QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 -lEGL QMAKE_LIBS_EGL = -lEGL diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf index 5e6e6f0421..6e2e24dbd0 100644 --- a/mkspecs/common/wince/qmake.conf +++ b/mkspecs/common/wince/qmake.conf @@ -65,7 +65,6 @@ QMAKE_LIBS_COMPAT = QMAKE_EXTENSION_STATICLIB = lib QMAKE_LIBS_EGL = libEGL.lib -QMAKE_LIBS_OPENGL_ES1 = libGLES_CM.lib QMAKE_LIBS_OPENGL_ES2 = libGLESv2.lib QMAKE_LIBS_QT_ENTRY = -lqtmain diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index 82e2812f3b..ac5fe22d75 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf @@ -111,15 +111,22 @@ if(build_all|CONFIG(debug, debug|release)): CMAKE_DEBUG_TYPE = debug if(build_all|CONFIG(release, debug|release)): CMAKE_RELEASE_TYPE = release contains(CONFIG, plugin) { - PLUGIN_MODULE_NAME = - for (mod, QT_MODULES) { - types = $$replace(QT.$${mod}.plugin_types, /.*$, ) - contains(types, $$PLUGIN_TYPE) { - PLUGIN_MODULE_NAME = $$mod - break() + !isEmpty(PLUGIN_EXTENDS):!equals(PLUGIN_EXTENDS, -) { + count(PLUGIN_EXTENDS, 1, greaterThan): \ + error("Plugin declares to extend multiple modules. We don't handle that ...") + PLUGIN_MODULE_NAME = $$PLUGIN_EXTENDS + } else { + PLUGIN_MODULE_NAME = + for (mod, QT_MODULES) { + contains(QT.$${mod}.plugin_types, $$PLUGIN_TYPE) { + !isEmpty(PLUGIN_MODULE_NAME): \ + error("Multiple modules claim plugin type '$$PLUGIN_TYPE' ($$mod, in addition to $$PLUGIN_MODULE_NAME)") + PLUGIN_MODULE_NAME = $$mod + break() + } } + isEmpty(PLUGIN_MODULE_NAME): error("No module claims plugin type '$$PLUGIN_TYPE'") } - isEmpty(PLUGIN_MODULE_NAME): return() CMAKE_MODULE_NAME = $$cmakeModuleName($$PLUGIN_MODULE_NAME) diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf index 3dd66bce53..c3bdd9fdf4 100644 --- a/mkspecs/features/egl.prf +++ b/mkspecs/features/egl.prf @@ -1,23 +1,8 @@ -# On UNIX, we can use config tests to figure out if egl.h is in -# EGL/egl.h or GLES/egl.h. Sadly, there are no config tests on WinCE -# so we have to assume that for GLES 1.1 (CL), the EGL header is in -# GLES/egl.h. We also assume there is no separate libEGL.lib library, -# so we use the GL library instead. - -wince*:contains(QT_CONFIG, opengles1) { - INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1 - LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1 - for(p, QMAKE_LIBDIR_OPENGL_ES1) { - exists($$p):LIBS_PRIVATE += -L$$p - } - DEFINES += QT_GLES_EGL -} else { - INCLUDEPATH += $$QMAKE_INCDIR_EGL - LIBS_PRIVATE += $$QMAKE_LIBS_EGL - QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL - QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_EGL - LIBS += $$QMAKE_LFLAGS_EGL - for(p, QMAKE_LIBDIR_EGL) { - exists($$p):LIBS_PRIVATE += -L$$p - } +INCLUDEPATH += $$QMAKE_INCDIR_EGL +LIBS_PRIVATE += $$QMAKE_LIBS_EGL +QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL +QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_EGL +LIBS += $$QMAKE_LFLAGS_EGL +for(p, QMAKE_LIBDIR_EGL) { + exists($$p): LIBS_PRIVATE += -L$$p } diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf index da3e22b5f3..530683552b 100644 --- a/mkspecs/features/mac/default_post.prf +++ b/mkspecs/features/mac/default_post.prf @@ -37,6 +37,13 @@ qt:!isEmpty(QT_CONFIG) { } } +macx-xcode:!isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) { + debug_information_format.name = DEBUG_INFORMATION_FORMAT + debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT + debug_information_format.build = debug + QMAKE_MAC_XCODE_SETTINGS += debug_information_format +} + cache(QMAKE_XCODE_DEVELOPER_PATH, stash) cache(QMAKE_XCODE_VERSION, stash) diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf index c031403930..0cc8cd6dfd 100644 --- a/mkspecs/features/mac/default_pre.prf +++ b/mkspecs/features/mac/default_pre.prf @@ -33,6 +33,16 @@ isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { cache(QMAKE_TARGET_BUNDLE_PREFIX) } +# Make the default debug info format for static debug builds +# DWARF instead of DWARF with dSYM. This cuts down build times +# for application debug builds significantly, as Xcode doesn't +# have to pull out all the DWARF info from the Qt static libs +# and put it into a dSYM file. We don't need that dSYM file in +# the first place, since the information is available in the +# object files inside the archives (static libraries). +contains(QT_CONFIG, static): \ + QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf + # This variable is used by the xcode_dynamic_library_suffix # feature, which allows Xcode to choose the Qt libraries to link to # at build time, depending on the current Xcode SDK and configuration. diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf index 5b5186a14b..36bff00496 100644 --- a/mkspecs/features/mac/sdk.prf +++ b/mkspecs/features/mac/sdk.prf @@ -45,12 +45,7 @@ for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_ } isEmpty(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.platform_name) { - # We use xml as the output format instead of json since plutil on 10.6 does not have that option - QMAKE_MAC_PLATFORM_NAME = $$system("/usr/bin/plutil -convert xml1 \"$$QMAKE_MAC_SDK_PATH/SDKSettings.plist\" -o - 2>/dev/null | " \ - "sed '/^<!DOCTYPE/d' | " \ # Don't look up http://www.apple.com/DTDs/PropertyList-1.0.dtd - "PERL5LIB= xpath 'string(//key[.=\"PLATFORM_NAME\"]/following-sibling::*[1])' 2>/dev/null | " \ - "sed 's/.*Value: \\(.*\\)/\\1/'") - + QMAKE_MAC_PLATFORM_NAME = $$system("/usr/libexec/PlistBuddy -c 'print DefaultProperties:PLATFORM_NAME' $$QMAKE_MAC_SDK_PATH/SDKSettings.plist 2>/dev/null") isEmpty(QMAKE_MAC_PLATFORM_NAME): error("Could not resolve platform name for SDK '$$QMAKE_MAC_SDK'") cache(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.platform_name, set stash, QMAKE_MAC_PLATFORM_NAME) } else { diff --git a/mkspecs/features/opengles1.prf b/mkspecs/features/opengles1.prf deleted file mode 100644 index b09262f8a9..0000000000 --- a/mkspecs/features/opengles1.prf +++ /dev/null @@ -1,2 +0,0 @@ -QMAKE_LIBS_OPENGL_ES2 = -LIBS += $$QMAKE_LIBS_OPENGL_ES1 diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 7a613fe0ff..a1eea2bef8 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -73,10 +73,11 @@ wince*:static:gui { QTLIB += qmenu_wce.res } -# static builds: link qml import plugins into the app. qt_module_deps = $$QT $$QT_PRIVATE qt_module_deps = $$replace(qt_module_deps, -private$, _private) qt_module_deps = $$resolve_depends(qt_module_deps, "QT.") + +# static builds: link qml import plugins into the app. contains(qt_module_deps, qml): \ contains(QT_CONFIG, static):contains(TEMPLATE, .*app):!host_build:!no_import_scan { # run qmlimportscanner @@ -162,6 +163,37 @@ contains(qt_module_deps, qml): \ } } +contains(TEMPLATE, .*app) { + autoplugs = + for (qtmod, qt_module_deps) { + for (ptype, QT.$${qtmod}.plugin_types) { + isEmpty(QTPLUGIN.$$ptype) { + for (plug, QT_PLUGINS) { + equals(QT_PLUGIN.$${plug}.TYPE, $$ptype) { + for (dep, QT_PLUGIN.$${plug}.EXTENDS) { + !contains(qt_module_deps, $$dep) { + plug = + break() + } + } + autoplugs += $$plug + } + } + } else { + plug = $$eval(QTPLUGIN.$$ptype) + !equals(plug, -): \ + autoplugs += $$plug + } + } + } + manualplugs = $$QTPLUGIN + manualplugs -= $$autoplugs + QTPLUGIN -= $$manualplugs + !isEmpty(QTPLUGIN): \ + warning("Redundant entries in QTPLUGIN: $$QTPLUGIN") + QTPLUGIN = $$manualplugs $$autoplugs +} + QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN contains(QT_CONFIG, static) { QT_PLUGIN_VERIFY += QTPLUGIN @@ -209,7 +241,12 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) { # Only link against plugin in static builds isEqual(QT_CURRENT_VERIFY, QTPLUGIN): { - !isEmpty(QT_PLUGINPATH): LIBS *= -L$$[QT_INSTALL_PLUGINS/get]/$$QT_PLUGINPATH + !isEmpty(QT_PLUGINPATH) { + plugpath = $$eval(QT_PLUGIN.$${QTPLUG}.PATH) + isEmpty(plugpath): \ + plugpath = $$[QT_INSTALL_PLUGINS/get] + LIBS *= -L$$plugpath/$$QT_PLUGINPATH + } LIBS += $$QT_LINKAGE # if the plugin is linked statically there is no need to deploy it DEPLOYMENT_PLUGIN -= $$QT_CURRENT_VERIFY diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf index 900ade9b6e..f31bc38c75 100644 --- a/mkspecs/features/qt_module_pris.prf +++ b/mkspecs/features/qt_module_pris.prf @@ -70,6 +70,10 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri module_config = "QT.$${MODULE_ID}.CONFIG = $$MODULE_CONFIG" else: \ module_config = + !isEmpty(MODULE_PLUGIN_TYPES): \ + module_plugtypes = "QT.$${MODULE_ID}.plugin_types = $$replace(MODULE_PLUGIN_TYPES, /.*$, )" + else: \ + module_plugtypes = !no_module_headers:!minimal_syncqt { MODULE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \ @@ -100,7 +104,7 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri "QT.$${MODULE_ID}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \ "QT.$${MODULE_ID}.imports = \$\$QT_MODULE_IMPORT_BASE" \ "QT.$${MODULE_ID}.qml = \$\$QT_MODULE_QML_BASE" \ - $$join(MODULE_PLUGIN_TYPES, " ", "QT.$${MODULE_ID}.plugin_types = ") + $$module_plugtypes MODULE_PRI_CONT += \ "QT.$${MODULE_ID}.depends =$$join(MODULE_DEPENDS, " ", " ")" \ $$module_rundep \ diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index ba12b9c1cd..c020bd2767 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -27,14 +27,43 @@ tool_plugin { CONFIG(static, static|shared) { isEmpty(MODULE): MODULE = $$basename(TARGET) - MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_plugin_$${MODULE}.pri + mod_work_pfx = $$MODULE_QMAKE_OUTDIR/mkspecs/modules + force_independent: \ + mod_inst_pfx = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst + else: \ + mod_inst_pfx = $$mod_work_pfx + MODULE_PRI = $$mod_inst_pfx/qt_plugin_$${MODULE}.pri + MODULE_FWD_PRI = $$mod_work_pfx/qt_plugin_$${MODULE}.pri !build_pass { MODULE_PRI_CONT = \ "QT_PLUGIN.$${MODULE}.TYPE = $$PLUGIN_TYPE" \ - "QT_PLUGIN.$${MODULE}.CLASS_NAME = $$PLUGIN_CLASS_NAME" - + "QT_PLUGIN.$${MODULE}.EXTENDS = $$PLUGIN_EXTENDS" \ + "QT_PLUGIN.$${MODULE}.CLASS_NAME = $$PLUGIN_CLASS_NAME" \ + "QT_PLUGINS += $$MODULE" write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.") + MODULE_PRI_FILES = $$MODULE_PRI + + force_independent { + + # Create a forwarding module .pri file + MODULE_FWD_PRI_CONT = \ + "QT_PLUGIN.$${MODULE}.PATH = $$MODULE_BASE_OUTDIR/plugins" \ + "include($$MODULE_PRI)" + write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.") + touch($$MODULE_FWD_PRI, $$MODULE_PRI) + MODULE_PRI_FILES += $$MODULE_FWD_PRI + + } + + # Then, inject the new module into the current cache state + !contains(QMAKE_INTERNAL_INCLUDED_FILES, $$MODULE_FWD_PRI): \ # before the actual include()! + cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, MODULE_PRI_FILES) + include($$MODULE_FWD_PRI) + for(var, $$list(TYPE EXTENDS CLASS_NAME PATH)): \ + defined(QT_PLUGIN.$${MODULE}.$$var, var): \ + cache(QT_PLUGIN.$${MODULE}.$$var, transient) + cache(QT_PLUGINS, transient) } pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules diff --git a/mkspecs/features/unix/opengl.prf b/mkspecs/features/unix/opengl.prf index 8dd47d089d..123c647be2 100644 --- a/mkspecs/features/unix/opengl.prf +++ b/mkspecs/features/unix/opengl.prf @@ -1,9 +1,4 @@ -contains(QT_CONFIG, opengles1) { - INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1 - !isEmpty(QMAKE_LIBDIR_OPENGL_ES1):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES1 - target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1 - else:LIBS += $$QMAKE_LIBS_OPENGL_ES1 -} else:contains(QT_CONFIG, opengles2) { +contains(QT_CONFIG, opengles2) { INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2 !isEmpty(QMAKE_LIBDIR_OPENGL_ES2):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2 target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES2 diff --git a/mkspecs/features/win32/console.prf b/mkspecs/features/win32/console.prf index 8a1725d648..568d1b1eb5 100644 --- a/mkspecs/features/win32/console.prf +++ b/mkspecs/features/win32/console.prf @@ -1,4 +1,6 @@ CONFIG -= windows contains(TEMPLATE, ".*app") { - QMAKE_LFLAGS += $$QMAKE_LFLAGS_CONSOLE $$QMAKE_LFLAGS_EXE + QMAKE_LFLAGS += \ + $$replace(QMAKE_LFLAGS_CONSOLE, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \ + $$QMAKE_LFLAGS_EXE } diff --git a/mkspecs/features/win32/qt_config.prf b/mkspecs/features/win32/qt_config.prf new file mode 100644 index 0000000000..49b4c79431 --- /dev/null +++ b/mkspecs/features/win32/qt_config.prf @@ -0,0 +1,10 @@ +load(qt_config) + +equals(QMAKE_TARGET_OS, xp) { + # http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx?PageIndex=3 + equals(QT_ARCH, x86_64) { + QMAKE_SUBSYSTEM_SUFFIX = ,5.02 + } else { + QMAKE_SUBSYSTEM_SUFFIX = ,5.01 + } +} diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf index 82e0ebe1b5..6d8289d949 100644 --- a/mkspecs/features/win32/windows.prf +++ b/mkspecs/features/win32/windows.prf @@ -1,6 +1,8 @@ CONFIG -= console contains(TEMPLATE, ".*app"){ - QMAKE_LFLAGS += $$QMAKE_LFLAGS_WINDOWS $$QMAKE_LFLAGS_EXE + QMAKE_LFLAGS += \ + $$replace(QMAKE_LFLAGS_WINDOWS, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \ + $$QMAKE_LFLAGS_EXE mingw:DEFINES += QT_NEEDS_QMAIN qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { diff --git a/mkspecs/hurd-g++/qmake.conf b/mkspecs/hurd-g++/qmake.conf index 261695f1ea..54a152de97 100644 --- a/mkspecs/hurd-g++/qmake.conf +++ b/mkspecs/hurd-g++/qmake.conf @@ -16,8 +16,6 @@ QMAKE_INCDIR_X11 = /usr/X11R6/include QMAKE_LIBDIR_X11 = /usr/X11R6/lib QMAKE_INCDIR_OPENGL = /usr/X11R6/include QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib -QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL -QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_EGL = @@ -31,7 +29,6 @@ QMAKE_LIBS_X11 = -lXext -lX11 -lm QMAKE_LIBS_NIS = -lnsl QMAKE_LIBS_EGL = -lEGL QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 QMAKE_LIBS_OPENVG = -lOpenVG QMAKE_LIBS_THREAD = -lpthread diff --git a/mkspecs/macx-ios-clang/features/default_post.prf b/mkspecs/macx-ios-clang/features/default_post.prf index 8b339dacdc..496553f8c0 100644 --- a/mkspecs/macx-ios-clang/features/default_post.prf +++ b/mkspecs/macx-ios-clang/features/default_post.prf @@ -178,22 +178,6 @@ macx-xcode { QMAKE_SUBSTITUTES += copy_image launch_images.files = $$copy_image.output QMAKE_BUNDLE_DATA += launch_images - - # Make the default debug information format for debug builds - # DWARF instead of DWARF with dSYM. This cuts down build times - # for application debug builds significantly, as Xcode doesn't - # have to pull out all the DWARF info from our static libraries - # and put it into a dSYM file. We don't need that dSYM file in - # the first place, since the information is available in the - # object files inside the archives (static libraries). The only - # unfortunate side effect of this is that the user won't be - # able to break on specific lines of main(). This is due to - # using ld to rename the main-function, and will go away once - # we implement a separate tool to do the symbol renaming. - debug_information_format.name = DEBUG_INFORMATION_FORMAT - debug_information_format.value = dwarf - debug_information_format.build = debug - QMAKE_MAC_XCODE_SETTINGS += debug_information_format } macx-xcode { diff --git a/mkspecs/qnx-armle-v7-qcc/qmake.conf b/mkspecs/qnx-armle-v7-qcc/qmake.conf new file mode 100644 index 0000000000..8dd84811c1 --- /dev/null +++ b/mkspecs/qnx-armle-v7-qcc/qmake.conf @@ -0,0 +1,7 @@ +# +# qmake configuration for qnx-qcc armv7 targets +# + +include(../common/qcc-base-qnx-armv7le.conf) + +DEFINES += QT_NO_CLIPBOARD diff --git a/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h b/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h new file mode 100644 index 0000000000..2f95f0d392 --- /dev/null +++ b/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2012 - 2014 BlackBerry Limited. All rights reserved. +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QPLATFORMDEFS_H +#define QPLATFORMDEFS_H + +// Get Qt defines/settings + +#include "qglobal.h" + +// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs + +#include <unistd.h> + +#define __STDC_CONSTANT_MACROS + +// We are hot - unistd.h should have turned on the specific APIs we requested + + +#include <pthread.h> +#include <dirent.h> +#include <fcntl.h> +#include <grp.h> +#include <pwd.h> +#include <signal.h> + +#include <sys/types.h> +#include <sys/ioctl.h> +#include <sys/ipc.h> +#include <sys/time.h> +// QNX doesn't have the System V <sys/shm.h> header. This is not a standard +// POSIX header, it's only documented in the Single UNIX Specification. +// The preferred POSIX compliant way to share memory is to use the functions +// in <sys/mman.h> that comply with the POSIX Real Time Interface (1003.1b). +#include <sys/mman.h> +#include <sys/socket.h> +#include <sys/stat.h> +#include <sys/wait.h> +#include <netinet/in.h> +#ifndef QT_NO_IPV6IFNAME +#include <net/if.h> +#endif + +// for htonl +#include <arpa/inet.h> + +#define QT_USE_XOPEN_LFS_EXTENSIONS +#if !defined(__EXT_QNX__READDIR64_R) +#define QT_NO_READDIR64 +#endif +#include "../common/posix/qplatformdefs.h" +#if defined(__EXT_QNX__READDIR64_R) +#define QT_EXT_QNX_READDIR_R ::_readdir64_r +#elif defined(__EXT_QNX__READDIR_R) +#define QT_EXT_QNX_READDIR_R ::_readdir_r +#endif + +#define QT_SNPRINTF ::snprintf +#define QT_VSNPRINTF ::vsnprintf + +// QNX6 doesn't have getpagesize() +inline int getpagesize() +{ + return ::sysconf(_SC_PAGESIZE); +} + +#include <stdlib.h> + +#define QT_QWS_TEMP_DIR QString::fromLatin1(qgetenv("TMP")) + +#endif // QPLATFORMDEFS_H diff --git a/mkspecs/qnx-armv7le-qcc/qmake.conf b/mkspecs/qnx-armv7le-qcc/qmake.conf index 8dd84811c1..daae30168d 100644 --- a/mkspecs/qnx-armv7le-qcc/qmake.conf +++ b/mkspecs/qnx-armv7le-qcc/qmake.conf @@ -1,7 +1,5 @@ # -# qmake configuration for qnx-qcc armv7 targets +# deprecated, please use qnx-armle-v7-qcc instead # - -include(../common/qcc-base-qnx-armv7le.conf) - -DEFINES += QT_NO_CLIPBOARD +warning("You are using deprecated mkspecs. Please use qnx-armle-v7-qcc instead.") +include(../qnx-armle-v7-qcc/qmake.conf) diff --git a/mkspecs/qnx-armv7le-qcc/qplatformdefs.h b/mkspecs/qnx-armv7le-qcc/qplatformdefs.h index e8590f2e3e..f97befa5cb 100644 --- a/mkspecs/qnx-armv7le-qcc/qplatformdefs.h +++ b/mkspecs/qnx-armv7le-qcc/qplatformdefs.h @@ -39,9 +39,4 @@ ** ****************************************************************************/ -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -#include "../common/qnx/qplatformdefs.h" - -#endif // QPLATFORMDEFS_H +#include "../qnx-armle-v7-qcc/qplatformdefs.h" diff --git a/mkspecs/unsupported/android-g++/qmake.conf b/mkspecs/unsupported/android-g++/qmake.conf index 7ef85d4327..e52137d7c5 100644 --- a/mkspecs/unsupported/android-g++/qmake.conf +++ b/mkspecs/unsupported/android-g++/qmake.conf @@ -130,8 +130,6 @@ QMAKE_LIBDIR = ${ANDROID_PRODUCT_OUT}/obj/lib QMAKE_INCDIR_X11 = QMAKE_LIBDIR_X11 = QMAKE_INCDIR_OPENGL = -QMAKE_INCDIR_OPENGL_ES1 = -QMAKE_LIBDIR_OPENGL_ES1 = QMAKE_INCDIR_OPENGL_ES2 = QMAKE_LIBDIR_OPENGL_ES2 = @@ -172,7 +170,6 @@ QMAKE_LIBS_QT_OPENGL = QMAKE_LIBS_QTOPIA = QMAKE_LIBS_THREAD = QMAKE_LIBS_OPENGL = -QMAKE_LIBS_OPENGL_ES1 = -lGLESv1_CM QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 $$QMAKE_LIBS CONFIG += linux-android-9 android-9 linux-android android android-no-sdk android_app diff --git a/mkspecs/unsupported/linux-host-g++/qmake.conf b/mkspecs/unsupported/linux-host-g++/qmake.conf index 586854d66c..3dc490d6dd 100644 --- a/mkspecs/unsupported/linux-host-g++/qmake.conf +++ b/mkspecs/unsupported/linux-host-g++/qmake.conf @@ -85,8 +85,6 @@ QMAKE_INCDIR_X11 = QMAKE_LIBDIR_X11 = QMAKE_INCDIR_OPENGL = QMAKE_LIBDIR_OPENGL = -QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL -QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_EGL = @@ -100,7 +98,6 @@ QMAKE_LIBS_X11 = -lXext -lX11 -lm QMAKE_LIBS_NIS = -lnsl QMAKE_LIBS_EGL = -lEGL QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 QMAKE_LIBS_OPENVG = -lOpenVG QMAKE_LIBS_THREAD = -lpthread diff --git a/mkspecs/win32-msvc2012/qmake.conf b/mkspecs/win32-msvc2012/qmake.conf index 18ffc27711..2cedc46807 100644 --- a/mkspecs/win32-msvc2012/qmake.conf +++ b/mkspecs/win32-msvc2012/qmake.conf @@ -70,8 +70,8 @@ QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO QMAKE_LFLAGS_DEBUG = /DEBUG -QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE -QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS +QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@ +QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@ QMAKE_LFLAGS_EXE = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\" QMAKE_LFLAGS_DLL = /DLL QMAKE_LFLAGS_LTCG = /LTCG diff --git a/mkspecs/win32-msvc2013/qmake.conf b/mkspecs/win32-msvc2013/qmake.conf index ad46a2fb72..6e0bd0b214 100644 --- a/mkspecs/win32-msvc2013/qmake.conf +++ b/mkspecs/win32-msvc2013/qmake.conf @@ -70,8 +70,8 @@ QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO QMAKE_LFLAGS_DEBUG = /DEBUG -QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE -QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS +QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@ +QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@ QMAKE_LFLAGS_EXE = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\" QMAKE_LFLAGS_DLL = /DLL QMAKE_LFLAGS_LTCG = /LTCG |