diff options
Diffstat (limited to 'mkspecs/common')
-rw-r--r-- | mkspecs/common/android-base-head.conf | 7 | ||||
-rw-r--r-- | mkspecs/common/android-base-tail.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/clang.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/g++-base.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/gcc-base.conf | 8 | ||||
-rw-r--r-- | mkspecs/common/icc-base-unix.conf | 106 | ||||
-rw-r--r-- | mkspecs/common/macx.conf | 4 | ||||
-rw-r--r-- | mkspecs/common/msvc-desktop.conf | 4 | ||||
-rw-r--r-- | mkspecs/common/msvc-version.conf | 6 | ||||
-rw-r--r-- | mkspecs/common/qcc-base-qnx.conf | 10 |
10 files changed, 140 insertions, 11 deletions
diff --git a/mkspecs/common/android-base-head.conf b/mkspecs/common/android-base-head.conf index 9be6111915..c7c27298b9 100644 --- a/mkspecs/common/android-base-head.conf +++ b/mkspecs/common/android-base-head.conf @@ -75,3 +75,10 @@ equals(ANDROID_TARGET_ARCH, x86_64)|equals(ANDROID_TARGET_ARCH, mips64): \ QMAKE_ANDROID_PLATFORM_LIBDIR = $${QMAKE_ANDROID_PLATFORM_LIBDIR}64 CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX- + +QMAKE_PCH_OUTPUT_EXT = .gch + +QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} +QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/common/android-base-tail.conf b/mkspecs/common/android-base-tail.conf index 7c3ae9566a..e239fa01c5 100644 --- a/mkspecs/common/android-base-tail.conf +++ b/mkspecs/common/android-base-tail.conf @@ -30,6 +30,8 @@ QMAKE_CFLAGS_THREAD = -D_REENTRANT QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden QMAKE_CFLAGS_NEON = -mfpu=neon +QMAKE_CFLAGS_GNUC99 = -std=gnu99 +QMAKE_CFLAGS_GNUC11 = -std=gnu11 QMAKE_CXXFLAGS_CXX11 = -std=c++11 QMAKE_CXXFLAGS_CXX14 = -std=c++14 QMAKE_CXXFLAGS_CXX1Z = -std=c++1z diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf index 0fb84bc1b3..5800aaa5b4 100644 --- a/mkspecs/common/clang.conf +++ b/mkspecs/common/clang.conf @@ -21,6 +21,8 @@ QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_ QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT} QMAKE_CFLAGS_LTCG = -flto QMAKE_CFLAGS_DISABLE_LTCG = -fno-lto +QMAKE_CFLAGS_GNUC99 = -std=gnu99 +QMAKE_CFLAGS_GNUC11 = -std=gnu11 QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/common/g++-base.conf b/mkspecs/common/g++-base.conf index c42c46b0ec..fa0f0c391d 100644 --- a/mkspecs/common/g++-base.conf +++ b/mkspecs/common/g++-base.conf @@ -27,6 +27,8 @@ QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE +QMAKE_CFLAGS_GNUC99 = -std=gnu99 +QMAKE_CFLAGS_GNUC11 = -std=gnu11 QMAKE_CXXFLAGS_CXX11 = -std=c++11 QMAKE_CXXFLAGS_CXX14 = -std=c++1y QMAKE_CXXFLAGS_CXX1Z = -std=c++1z diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 234f71d495..c2669e4833 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -50,7 +50,7 @@ QMAKE_CFLAGS_ISYSTEM = -isystem QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions -QMAKE_CFLAGS_SPLIT_SECTIONS += -ffunction-sections +QMAKE_CFLAGS_SPLIT_SECTIONS += -ffunction-sections -fdata-sections QMAKE_CFLAGS_LTCG = -flto -fno-fat-lto-objects QMAKE_CFLAGS_LTCG_FATOBJECTS = -ffat-lto-objects QMAKE_CFLAGS_DISABLE_LTCG = -fno-lto @@ -81,6 +81,9 @@ QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += QMAKE_LFLAGS_EXCEPTIONS_OFF += QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG -fuse-linker-plugin +QMAKE_CFLAGS_C99 = -std=c99 +QMAKE_CFLAGS_C11 = -std=c11 + QMAKE_CFLAGS_SSE2 += -msse2 QMAKE_CFLAGS_SSE3 += -msse3 QMAKE_CFLAGS_SSSE3 += -mssse3 @@ -105,6 +108,9 @@ QMAKE_CFLAGS_NEON += -mfpu=neon QMAKE_CFLAGS_MIPS_DSP += -mdsp QMAKE_CFLAGS_MIPS_DSPR2 += -mdspr2 +# -march=haswell is supported as of GCC 4.9 and Clang 3.6 +QMAKE_CFLAGS_ARCH_HASWELL = -march=core-avx2 + # Wrapper tools that understand .o/.a files with GIMPLE instead of machine code QMAKE_AR_LTCG = gcc-ar cqs QMAKE_NM_LTCG = gcc-nm -P diff --git a/mkspecs/common/icc-base-unix.conf b/mkspecs/common/icc-base-unix.conf new file mode 100644 index 0000000000..54eda984b7 --- /dev/null +++ b/mkspecs/common/icc-base-unix.conf @@ -0,0 +1,106 @@ +# +# Base qmake configuration for ICC on *nix-systems +# +# Before making changes to this file, please read the comment in +# icc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +MAKEFILE_GENERATOR = UNIX +QMAKE_COMPILER_DEFINES += __GNUC__ + +QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc + +QMAKE_CFLAGS_OPTIMIZE = -O2 +QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + +QMAKE_CC = icc +QMAKE_LEX = flex +QMAKE_LEXFLAGS = +QMAKE_YACC = yacc +QMAKE_YACCFLAGS = -d +QMAKE_CFLAGS = +QMAKE_CFLAGS_APP = -fPIC +QMAKE_CFLAGS_DEPS = -M +QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125,2259,2261,3280,3373 +QMAKE_CFLAGS_WARN_OFF = -w +QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE +QMAKE_CFLAGS_DEBUG = -O0 -g +QMAKE_CFLAGS_SHLIB = -fPIC +QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB +QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections -fdata-sections +QMAKE_CFLAGS_LTCG = -ipo +QMAKE_CFLAGS_DISABLE_LTCG = -no-ipo + +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 += -march=core-avx +QMAKE_CFLAGS_AVX2 += -march=core-avx2 +QMAKE_CFLAGS_AVX512F += -march=broadwell -xCOMMON-AVX512 +QMAKE_CFLAGS_AVX512CD += -march=broadwell -xCOMMON-AVX512 +QMAKE_CFLAGS_AVX512ER += -march=knl +QMAKE_CFLAGS_AVX512PF += -march=knl +QMAKE_CFLAGS_AVX512DQ += -march=skylake-avx512 +QMAKE_CFLAGS_AVX512BW += -march=skylake-avx512 +QMAKE_CFLAGS_AVX512VL += -march=skylake-avx512 +QMAKE_CFLAGS_AESNI += -maes +QMAKE_CFLAGS_F16C += $$QMAKE_CFLAGS_AVX2 +QMAKE_CFLAGS_RDRND += -mrdrnd +QMAKE_CFLAGS_SHANI += -msha + +QMAKE_CXX = icpc +QMAKE_CXXFLAGS = $$QMAKE_CFLAGS +QMAKE_CXXFLAGS_APP = $$QMAKE_CFLAGS_APP +QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB +QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB +QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS +QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions +QMAKE_CXXFLAGS_CXX11 = -std=c++11 +QMAKE_CXXFLAGS_CXX14 = -std=c++1y +QMAKE_CXXFLAGS_CXX1Z = -std=c++1z +QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11 +QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y +QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z +QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG +QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG + +# pch support +CONFIG += icc_pch_style +QMAKE_PCH_OUTPUT_EXT = .pchi +QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} +QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE} + +# Symbol visibility control +QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden +QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden + +QMAKE_LINK = icpc +QMAKE_LINK_SHLIB = icpc +QMAKE_LFLAGS = +QMAKE_LFLAGS_RELEASE = +QMAKE_LFLAGS_DEBUG = +QMAKE_LFLAGS_THREAD = +QMAKE_LFLAGS_RPATH = -Wl,-rpath, +QMAKE_LFLAGS_CXX11 = +QMAKE_LFLAGS_CXX14 = +QMAKE_LFLAGS_CXX1Z = +QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG + +QMAKE_INCDIR = +QMAKE_LIBDIR = +QMAKE_INCDIR_X11 = +QMAKE_LIBDIR_X11 = +QMAKE_INCDIR_OPENGL = +QMAKE_LIBDIR_OPENGL = + +QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf index 8f9eda10d7..6e95112f9b 100644 --- a/mkspecs/common/macx.conf +++ b/mkspecs/common/macx.conf @@ -5,6 +5,8 @@ QMAKE_PLATFORM += macos osx macx QMAKE_MAC_SDK = macosx +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12 +QMAKE_APPLE_DEVICE_ARCHS = x86_64 QT_MAC_SDK_VERSION_TESTED_WITH = 10.13 device.sdk = macosx @@ -13,4 +15,6 @@ device.dir_affix = $${device.sdk} device.CONFIG = $${device.sdk} device.deployment_identifier = $${device.sdk} +QMAKE_LIBS_VULKAN = + include(mac.conf) diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf index b7d2eecc82..a4fadeb029 100644 --- a/mkspecs/common/msvc-desktop.conf +++ b/mkspecs/common/msvc-desktop.conf @@ -16,7 +16,9 @@ MAKEFILE_GENERATOR = MSVC.NET QMAKE_PLATFORM = win32 QMAKE_COMPILER = msvc CONFIG += flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe -DEFINES += UNICODE _UNICODE WIN32 +# MSVC 2017 15.8+ fixed std::aligned_storage but compilation fails without +# _ENABLE_EXTENDED_ALIGNED_STORAGE flag since the fix breaks binary compatibility. +DEFINES += UNICODE _UNICODE WIN32 _ENABLE_EXTENDED_ALIGNED_STORAGE QMAKE_COMPILER_DEFINES += _WIN32 contains(QMAKE_TARGET.arch, x86_64) { DEFINES += WIN64 diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index 5805383a04..3fb55c9d81 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -110,12 +110,6 @@ greaterThan(QMAKE_MSC_VER, 1909) { QMAKE_CXXFLAGS_CXX14 = -std:c++14 QMAKE_CXXFLAGS_CXX1Z = -std:c++17 } - - # MSVC 2017 15.8+ fixed std::aligned_storage but compilation fails without - # this flag since the fix breaks binary compatibility. - greaterThan(QMAKE_MSC_VER, 1914) { - DEFINES += _ENABLE_EXTENDED_ALIGNED_STORAGE - } } greaterThan(QMAKE_MSC_VER, 1910) { diff --git a/mkspecs/common/qcc-base-qnx.conf b/mkspecs/common/qcc-base-qnx.conf index 148645b4e9..21ce269006 100644 --- a/mkspecs/common/qcc-base-qnx.conf +++ b/mkspecs/common/qcc-base-qnx.conf @@ -42,9 +42,13 @@ QMAKE_INCDIR_POST = $${QNX_DIR}/usr/include $${QNX_DIR}/usr/include/freety QMAKE_LIBDIR_POST = $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib QMAKE_RPATHLINKDIR_POST += $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib -QMAKE_CXXFLAGS_CXX11 = -Wc,-std=gnu++11 -QMAKE_CXXFLAGS_CXX14 = -Wc,-std=gnu++1y -QMAKE_CXXFLAGS_CXX1Z = -Wc,-std=gnu++1z +QMAKE_CXXFLAGS_CXX11 = +QMAKE_CXXFLAGS_CXX14 = +QMAKE_CXXFLAGS_CXX1Z = + +QMAKE_CXXFLAGS_GNUCXX11 = -Wc,-std=gnu++11 +QMAKE_CXXFLAGS_GNUCXX14 = -Wc,-std=gnu++1y +QMAKE_CXXFLAGS_GNUCXX1Z = -Wc,-std=gnu++1z QMAKE_LINK_C = $$QMAKE_CC QMAKE_LINK_C_SHLIB = $$QMAKE_CC |