diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/qnx/qplatformdefs.h | 109 | ||||
-rw-r--r-- | mkspecs/features/android/android_deployment_settings.prf | 6 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 6 | ||||
-rw-r--r-- | mkspecs/features/qt_build_config.prf | 6 | ||||
-rw-r--r-- | mkspecs/features/qt_common.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_module_headers.prf | 9 | ||||
-rw-r--r-- | mkspecs/features/resources.prf | 47 | ||||
-rw-r--r-- | mkspecs/features/simd.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/winrt/package_manifest.prf | 41 | ||||
-rw-r--r-- | mkspecs/macx-icc/qmake.conf | 17 | ||||
-rw-r--r-- | mkspecs/qnx-armle-v7-qcc/qplatformdefs.h | 66 | ||||
-rw-r--r-- | mkspecs/qnx-armv7le-qcc/qplatformdefs.h | 2 | ||||
-rw-r--r-- | mkspecs/qnx-x86-qcc/qplatformdefs.h | 68 | ||||
-rw-r--r-- | mkspecs/win32-icc/qmake.conf | 14 |
14 files changed, 197 insertions, 198 deletions
diff --git a/mkspecs/common/qnx/qplatformdefs.h b/mkspecs/common/qnx/qplatformdefs.h new file mode 100644 index 0000000000..4baa93b642 --- /dev/null +++ b/mkspecs/common/qnx/qplatformdefs.h @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2014 BlackBerry Limited. All rights reserved. +** Contact: http://www.qt-project.org/legal +** +** This file is part of the qmake spec 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 Q_QNX_PLATFORMDEFS_H +#define Q_QNX_PLATFORMDEFS_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 "../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 // Q_QNX_PLATFORMDEFS_H diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf index 5bc1fd14c9..2d40b13d63 100644 --- a/mkspecs/features/android/android_deployment_settings.prf +++ b/mkspecs/features/android/android_deployment_settings.prf @@ -39,10 +39,14 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-no-sdk { isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARCH FILE_CONTENT += " \"target-architecture\": $$emitString($$ANDROID_TARGET_ARCH)," - # Explicitly set dependencies of application for deployment + # Explicitly set qt dependencies of application for deployment !isEmpty(ANDROID_DEPLOYMENT_DEPENDENCIES): \ FILE_CONTENT += " \"deployment-dependencies\": $$emitString($$join(ANDROID_DEPLOYMENT_DEPENDENCIES, ","))," + # Explicitly set external dependencies of application for deployment + !isEmpty(ANDROID_EXTRA_PLUGINS): \ + FILE_CONTENT += " \"android-extra-plugins\": $$emitString($$join(ANDROID_EXTRA_PLUGINS, ","))," + # Android-specific settings of Project !isEmpty(ANDROID_PACKAGE_SOURCE_DIR): \ FILE_CONTENT += " \"android-package-source-directory\": $$emitString($$ANDROID_PACKAGE_SOURCE_DIR)," diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 9edf5cd530..71dfcf2912 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -89,12 +89,12 @@ contains(qt_module_deps, qml): \ } # run qmlimportscanner - qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner) + qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, _SYS) for (QMLPATH, QMLPATHS): \ IMPORTPATHS += -importPath $$QMLPATH - #message(run $$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS) - JSON = $$system($$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS) + #message(run $$QMLIMPORTSCANNER_SYS $$_PRO_FILE_PWD_ $$IMPORTPATHS) + JSON = $$system($$QMLIMPORTSCANNER_SYS $$_PRO_FILE_PWD_ $$IMPORTPATHS) parseJson(JSON, IMPORTS)| error("Failed to parse qmlimportscanner output.") diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 5fece28ca3..42046c238a 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -25,6 +25,12 @@ OBJECTS_DIR = .obj MOC_DIR = .moc RCC_DIR = .rcc UI_DIR = .uic +intel_icl { + # ICL 14.0 has a bug that makes it not find #includes in dirs starting with . + MOC_DIR = tmp/moc + RCC_DIR = tmp/rcc + UI_DIR = tmp/uic +} QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index 4dcabe9237..ebc5f00b8f 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -15,7 +15,7 @@ CONFIG -= debug_and_release_target contains(QT_CONFIG, c++11): CONFIG += c++11 contains(TEMPLATE, .*lib) { # module and plugins - contains(QT_CONFIG, reduce_exports): CONFIG += hide_symbols + !host_build:contains(QT_CONFIG, reduce_exports): CONFIG += hide_symbols unix:contains(QT_CONFIG, reduce_relocations): CONFIG += bsymbolic_functions contains(QT_CONFIG, largefile): CONFIG += largefile contains(QT_CONFIG, separate_debug_info): CONFIG += separate_debug_info diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index 0baa9ec7b2..efa964ca14 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -56,12 +56,21 @@ autogen_warning = \ MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MODULE_INCNAME}Depends !build_pass { MODULE_MASTER_DEPS_HEADER_CONT = $$autogen_warning + MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}ifdef __cplusplus /* create empty PCH in C mode */" for(dep, MODULE_DEPENDS) { depname = $$eval(QT.$${dep}.name) MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>" } + MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}endif" write_file($$MODULE_MASTER_DEPS_HEADER, MODULE_MASTER_DEPS_HEADER_CONT)|error("Aborting.") } SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER +# Automatically enable precompiled headers for Qt modules, +# except for Gcc/Windows: Larger precompiled headers crash cc1plus.exe +# (e.g. with i686-4.8.2-release-posix-dwarf-rt_v3-rev3) +!gcc|!equals(QMAKE_HOST.os, Windows) { + isEmpty(PRECOMPILED_HEADER): PRECOMPILED_HEADER = $$MODULE_MASTER_DEPS_HEADER +} + CONFIG += qt_install_headers diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf index 68ca4d1442..fb51d433fb 100644 --- a/mkspecs/features/resources.prf +++ b/mkspecs/features/resources.prf @@ -3,26 +3,39 @@ qtPrepareTool(QMAKE_RCC, rcc, _DEP) isEmpty(RCC_DIR):RCC_DIR = . isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc -resource_combine { - rcc.CONFIG += combine - rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_combined$${first(QMAKE_EXT_CPP)} -} else { - rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)} -} !contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT -!contains(QMAKE_RESOURCE_FLAGS, -name) { - resource_combine { - isEmpty(QMAKE_RESOURCE_NAME):!isEmpty(TARGET):QMAKE_RESOURCE_NAME = $$TARGET - !isEmpty(QMAKE_RESOURCE_NAME):QMAKE_RESOURCE_FLAGS += -name $$QMAKE_RESOURCE_NAME - } else { - QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE} - } -} -rcc.commands = $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} +!contains(QMAKE_RESOURCE_FLAGS, -name): QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE} + +rcc.input = RESOURCES +rcc.name = RCC ${QMAKE_FILE_IN} rcc.depend_command = $$QMAKE_RCC_DEP -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} rcc.CONFIG += add_inputs_as_makefile_deps -rcc.input = RESOURCES + +resources_small|ltcg { + +rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)} +rcc.commands = $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} rcc.variable_out = SOURCES -rcc.name = RCC ${QMAKE_FILE_IN} + +} else { + +isEmpty(RCC_CXX):RCC_CXX = $$QMAKE_CXX $(CXXFLAGS) +RCC_OUT_BASE = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE} +RCC_CPP = $$RCC_OUT_BASE$${first(QMAKE_EXT_CPP)} +RCC_TMP = $${RCC_OUT_BASE}.tmp$${first(QMAKE_EXT_OBJ)} +RCC_OBJ = $$RCC_OUT_BASE$${first(QMAKE_EXT_OBJ)} + +msvc: RCC_CXX_O_FLAG = "-Fo" +else: RCC_CXX_O_FLAG = "-o " + +rcc.output = $$RCC_OBJ +rcc.commands = \ + $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -pass 1 -o $$RCC_CPP && \ + $$RCC_CXX -c $$RCC_CPP $$RCC_CXX_O_FLAG$$RCC_TMP && \ + $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -pass 2 -temp $$RCC_TMP -o ${QMAKE_FILE_OUT} +rcc.clean += $$RCC_CPP $$RCC_TMP + +} + silent:rcc.commands = @echo rcc ${QMAKE_FILE_IN} && $$rcc.commands QMAKE_EXTRA_COMPILERS += rcc diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf index 62a63f90ca..fc336f9326 100644 --- a/mkspecs/features/simd.prf +++ b/mkspecs/features/simd.prf @@ -198,7 +198,7 @@ gcc { # includes intel_icc and clang variants QMAKE_EXTRA_COMPILERS += mips_dspr2_compiler QMAKE_EXTRA_COMPILERS += mips_dspr2_assembler } -} else:win32-msvc*|winrt { +} else:msvc { sse2 { HEADERS += $$SSE2_HEADERS diff --git a/mkspecs/features/winrt/package_manifest.prf b/mkspecs/features/winrt/package_manifest.prf index 46fe1e57e4..b4242bfdaa 100644 --- a/mkspecs/features/winrt/package_manifest.prf +++ b/mkspecs/features/winrt/package_manifest.prf @@ -12,14 +12,11 @@ # WINRT_MANIFEST.name: The name of the package as displayed to the user. Defaults to TARGET. # WINRT_MANIFEST.architecture: The target architecture. Defaults to VCPROJ_ARCH. # WINRT_MANIFEST.version: The version number of the package. Defaults to "1.0.0.0". -# WINRT_MANIFEST.arguments: Allows arguments to be passed to the executable. # WINRT_MANIFEST.publisher: Display name of the publisher. Defaults to "Default publisher display name". -# WINRT_MANIFEST.publisher_id: On Windows 8/RT/Phone 8.1, the publisher's distinguished name (default: CN=MyCN). On Windows Phone 8.0, the publisher's UUID (default: invalid UUID string). -# WINRT_MANIFEST.phone_product_id): On Windows Phone 8.1, the GUID of the product. Defaults to the value of WINRT_MANIFEST.identity. -# WINRT_MANIFEST.phone_publisher_id: On Windows Phone 8.1, the GUID of the publiser. Defaults to an invalid GUID. +# WINRT_MANIFEST.publisher_id: The publisher's distinguished name (default: CN=MyCN). +# WINRT_MANIFEST.phone_product_id: The GUID of the product. Defaults to the value of WINRT_MANIFEST.identity. (Windows Phone only) +# WINRT_MANIFEST.phone_publisher_id: The GUID of the publisher. Defaults to an invalid GUID. (Windows Phone only) # WINRT_MANIFEST.description: Package description. Defaults to "Default package description". -# WINRT_MANIFEST.author: Package author (Windows Phone 8.0 only). Defaults to "Default package author". -# WINRT_MANIFEST.genre: Package genre (Windows Phone 8.0 only). Defaults to "apps.normal". # WINRT_MANIFEST.background: Tile background color. Defaults to "green". # WINRT_MANIFEST.foreground: Tile foreground (text) color (Windows 8/RT only). Defaults to "light". # WINRT_MANIFEST.logo_store: Logo image file for Windows Store. Default provided by the mkspec. @@ -30,7 +27,6 @@ # WINRT_MANIFEST.iconic_tile_icon: Image file for the "iconic" tile template icon. Default provided by the mkspec. # WINRT_MANIFEST.iconic_tile_small: Image file for the small "iconic" tile template logo. Default provided by the mkspec. # WINRT_MANIFEST.default_language: Specifies the default language of the application -# WINRT_MANIFEST.languages: Specifies the languages the application supports # WINRT_MANIFEST.capabilities: Specifies capabilities to add to the capability list. # WINRT_MANIFEST.capabilities_device: Specifies device capabilities to add to the capability list. (location, webcam...) # WINRT_MANIFEST.dependencies: Specifies dependencies required by the package. @@ -51,9 +47,7 @@ BUILD_DIR = $$dirname(QMAKE_RESOLVED_TARGET) } - winphone:equals(WINSDK_VER, 8.0): \ - manifest_file.output = $$BUILD_DIR/WMAppManifest.xml - else: contains(TEMPLATE, "vc.*"): \ + contains(TEMPLATE, "vc.*"): \ manifest_file.output = $$BUILD_DIR/Package.appxmanifest else: \ manifest_file.output = $$BUILD_DIR/AppxManifest.xml @@ -80,49 +74,30 @@ write_file($$UUID_CACHE, WINRT_UUID)|error("Unable to write the UUID cache; aborting.") eval($$WINRT_UUID) } - winphone:equals(WINSDK_VER, 8.0): WINRT_MANIFEST.identity = {$$WINRT_MANIFEST.identity} } isEmpty(WINRT_MANIFEST.name): WINRT_MANIFEST.name = $$TARGET isEmpty(WINRT_MANIFEST.architecture): WINRT_MANIFEST.architecture = $$VCPROJ_ARCH isEmpty(WINRT_MANIFEST.version): WINRT_MANIFEST.version = 1.0.0.0 isEmpty(WINRT_MANIFEST.publisher): WINRT_MANIFEST.publisher = Default publisher display name - isEmpty(WINRT_MANIFEST.publisherid) { - winphone:equals(WINSDK_VER, 8.0): WINRT_MANIFEST.publisherid = {00000000-0000-0000-0000-000000000000} - else: WINRT_MANIFEST.publisherid = CN=$$(USERNAME) - } + isEmpty(WINRT_MANIFEST.publisherid): WINRT_MANIFEST.publisherid = CN=$$(USERNAME) isEmpty(WINRT_MANIFEST.phone_product_id): WINRT_MANIFEST.phone_product_id = $$WINRT_MANIFEST.identity isEmpty(WINRT_MANIFEST.phone_publisher_id): WINRT_MANIFEST.phone_publisher_id = 00000000-0000-0000-0000-000000000000 isEmpty(WINRT_MANIFEST.description): WINRT_MANIFEST.description = Default package description - isEmpty(WINRT_MANIFEST.author): WINRT_MANIFEST.author = Default package author - isEmpty(WINRT_MANIFEST.genre): WINRT_MANIFEST.genre = apps.normal isEmpty(WINRT_MANIFEST.background): WINRT_MANIFEST.background = green isEmpty(WINRT_MANIFEST.foreground): WINRT_MANIFEST.foreground = light isEmpty(WINRT_MANIFEST.default_language): WINRT_MANIFEST.default_language = en - winphone:equals(WINSDK_VER, 8.0): INDENT = "$$escape_expand(\\r\\n) " - else: INDENT = "$$escape_expand(\\r\\n) " - - # Languages are given as a string list - WINRT_MANIFEST.languages = $$unique(WINRT_MANIFEST.languages) - winphone:equals(WINSDK_VER, 8.0):!isEmpty(WINRT_MANIFEST.languages) { - for(LANGUAGE, WINRT_MANIFEST.languages): \ - MANIFEST_LANGUAGES += "<Language code=\"$$LANGUAGE\" />" - - WINRT_MANIFEST.languages = \ - $$join(MANIFEST_LANGUAGES, $$INDENT, \ - "$$escape_expand(\\r\\n) <Languages xmlns=\"\">$$INDENT", \ - "$$escape_expand(\\r\\n) </Languages>") - } + INDENT = "$$escape_expand(\\r\\n) " # Capabilities are given as a string list and may change with the configuration (network, sensors, etc.) WINRT_MANIFEST.capabilities = $$unique(WINRT_MANIFEST.capabilities) WINRT_MANIFEST.capabilities_device = $$unique(WINRT_MANIFEST.capabilities_device) - !isEmpty(WINRT_MANIFEST.capabilities)|!isEmpty(WINRT_MANIFEST.capabilities_device)|winphone { + !isEmpty(WINRT_MANIFEST.capabilities)|!isEmpty(WINRT_MANIFEST.capabilities_device) { MANIFEST_CAPABILITIES += "<Capabilities>" for(CAPABILITY, WINRT_MANIFEST.capabilities): \ MANIFEST_CAPABILITIES += " <Capability Name=\"$$CAPABILITY\" />" - !winphone:for(CAPABILITY, WINRT_MANIFEST.capabilities_device): \ + for(CAPABILITY, WINRT_MANIFEST.capabilities_device): \ MANIFEST_CAPABILITIES += " <DeviceCapability Name=\"$$CAPABILITY\" />" MANIFEST_CAPABILITIES += "</Capabilities>" diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf index 03dc58a65c..370a738c6a 100644 --- a/mkspecs/macx-icc/qmake.conf +++ b/mkspecs/macx-icc/qmake.conf @@ -24,13 +24,13 @@ QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses QMAKE_CFLAGS_THREAD = QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections -QMAKE_CFLAGS_SSE2 += -xSSE2 -QMAKE_CFLAGS_SSE3 += -xSSE3 -QMAKE_CFLAGS_SSSE3 += -xSSSE3 -QMAKE_CFLAGS_SSE4_1 += -xSSE4.1 -QMAKE_CFLAGS_SSE4_2 += -xSSE4.2 -QMAKE_CFLAGS_AVX += -xAVX -QMAKE_CFLAGS_AVX2 += -xCORE-AVX2 +QMAKE_CFLAGS_SSE2 += -msse2 +QMAKE_CFLAGS_SSE3 += -msse3 +QMAKE_CFLAGS_SSSE3 += -mssse3 +QMAKE_CFLAGS_SSE4_1 += -msse4.1 +QMAKE_CFLAGS_SSE4_2 += -msse4.2 +QMAKE_CFLAGS_AVX += -mavx +QMAKE_CFLAGS_AVX2 += -march=core-avx2 QMAKE_OBJECTIVE_CC = clang QMAKE_OBJECTIVE_CFLAGS = -pipe @@ -51,7 +51,8 @@ QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD -QMAKE_CXXFLAGS_CXX11 = -std=c++11 +# Disabled, due to invalid C++11 code on Apple headers +#QMAKE_CXXFLAGS_CXX11 = -std=c++11 QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS QMAKE_LINK = icpc diff --git a/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h b/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h index 2f95f0d392..e8590f2e3e 100644 --- a/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h +++ b/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h @@ -3,7 +3,7 @@ ** 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. +** This file is part of the qmake spec of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -42,68 +42,6 @@ #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")) +#include "../common/qnx/qplatformdefs.h" #endif // QPLATFORMDEFS_H diff --git a/mkspecs/qnx-armv7le-qcc/qplatformdefs.h b/mkspecs/qnx-armv7le-qcc/qplatformdefs.h index bc8f6792ab..f97befa5cb 100644 --- a/mkspecs/qnx-armv7le-qcc/qplatformdefs.h +++ b/mkspecs/qnx-armv7le-qcc/qplatformdefs.h @@ -3,7 +3,7 @@ ** 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. +** This file is part of the qmake spec of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage diff --git a/mkspecs/qnx-x86-qcc/qplatformdefs.h b/mkspecs/qnx-x86-qcc/qplatformdefs.h index b47aecde0d..e8590f2e3e 100644 --- a/mkspecs/qnx-x86-qcc/qplatformdefs.h +++ b/mkspecs/qnx-x86-qcc/qplatformdefs.h @@ -1,9 +1,9 @@ /**************************************************************************** ** -** Copyright (C) 2012 Research In Motion Limited. <blackberry-qt@qnx.com> +** 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. +** This file is part of the qmake spec of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -42,68 +42,6 @@ #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")) +#include "../common/qnx/qplatformdefs.h" #endif // QPLATFORMDEFS_H diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf index a20d7c3122..a60d846e2f 100644 --- a/mkspecs/win32-icc/qmake.conf +++ b/mkspecs/win32-icc/qmake.conf @@ -21,10 +21,15 @@ QMAKE_CFLAGS = -nologo -Zm200 /Qprec /Qwd1744,1738 QMAKE_CFLAGS_WARN_ON = -W3 /Qwd673 QMAKE_CFLAGS_WARN_OFF = -W0 /Qwd673 QMAKE_CFLAGS_RELEASE = -O2 -MD -# Giving -O2 to debug builds should make icc 9.1 happy, but it might make debugging harder, so it might be reverted. -# This is actually a workaround for a bug in icc 9.1. -QMAKE_CFLAGS_DEBUG = -Zi -MDd -O2 +QMAKE_CFLAGS_DEBUG = -Zi -MDd -Od QMAKE_CFLAGS_YACC = +QMAKE_CFLAGS_SSE2 = -QxSSE2 +QMAKE_CFLAGS_SSE3 = -QxSSE3 +QMAKE_CFLAGS_SSSE3 = -QxSSSE3 +QMAKE_CFLAGS_SSE4_1 = -QxSSE4.1 +QMAKE_CFLAGS_SSE4_2 = -QxSSE4.2 +QMAKE_CFLAGS_AVX = -QxAVX +QMAKE_CFLAGS_AVX2 = -QxCORE-AVX2 QMAKE_CXX = $$QMAKE_CC QMAKE_CXXFLAGS = $$QMAKE_CFLAGS /Zc:forScope @@ -37,8 +42,9 @@ QMAKE_CXXFLAGS_STL_ON = -GX QMAKE_CXXFLAGS_STL_OFF = QMAKE_CXXFLAGS_RTTI_ON = -GR QMAKE_CXXFLAGS_RTTI_OFF = -QMAKE_CXXFLAGS_EXCEPTIONS_ON = -GX +QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc QMAKE_CXXFLAGS_EXCEPTIONS_OFF = +QMAKE_CXXFLAGS_CXX11 = -Qstd=c++11 QMAKE_INCDIR = |