From 099f2868701932ee99b60d19429d9c43f96dcadc Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 19 Jan 2017 11:14:47 +0100 Subject: Fix MIPS DSP configuration The patch fixes a number of bugs in code, and removes dead logic clarifying that MIPS DSP, like ARM NEON, has no runtime detecton. Change-Id: If2f4eea68da5b2eaa80b8e9c8258206d8c1b7173 Reviewed-by: Oswald Buddenhagen Reviewed-by: Thiago Macieira --- mkspecs/common/gcc-base.conf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 6e043f558f..52667f130e 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -96,6 +96,8 @@ QMAKE_CFLAGS_AVX512VL += -mavx512vl QMAKE_CFLAGS_AVX512IFMA += -mavx512ifma QMAKE_CFLAGS_AVX512VBMI += -mavx512vbmi QMAKE_CFLAGS_NEON += -mfpu=neon +QMAKE_CFLAGS_MIPS_DSP += -mdsp +QMAKE_CFLAGS_MIPS_DSPR2 += -mdspr2 # Wrapper tools that understand .o/.a files with GIMPLE instead of machine code QMAKE_AR_LTCG = gcc-ar cqs -- cgit v1.2.3 From b7247ac9452e73a405cdc4efc0796fd6240155a3 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 26 Jan 2017 14:47:40 -0800 Subject: linux-icc: Remove -falign-functions=16 There's no reason to have that. Let the compiler decide whether it wants to align or not. Current versions seem not to want to align beyond multiple of 2. Change-Id: Iab7c358838e1487387a2fffd149d73e0a218d3c2 Reviewed-by: Dominik Haumann Reviewed-by: Oswald Buddenhagen Reviewed-by: Thiago Macieira --- mkspecs/linux-icc/qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf index 8ca2767061..4822d2a0e0 100644 --- a/mkspecs/linux-icc/qmake.conf +++ b/mkspecs/linux-icc/qmake.conf @@ -16,7 +16,7 @@ QMAKE_CFLAGS_APP = -fPIC QMAKE_CFLAGS_DEPS = -M QMAKE_CFLAGS_WARN_ON = -w1 -Wall -Wcheck -wd1572,873,2259,2261,3373 QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing +QMAKE_CFLAGS_RELEASE = -O2 -ansi-alias -fstrict-aliasing QMAKE_CFLAGS_DEBUG = -O0 -g QMAKE_CFLAGS_SHLIB = -fPIC QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -- cgit v1.2.3 From b9e82f206c8c5ab3753d851252a68dd1b328aa05 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 26 Aug 2016 08:03:34 -0700 Subject: Mark Clang 4.0 as warning-free Change-Id: If337c17c98844a98b196fffd146e63c38ce1ee7b Reviewed-by: Lars Knoll --- mkspecs/features/qt_common.prf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index 2dfc22f16e..eaea8f2d4b 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -70,10 +70,10 @@ warnings_are_errors:warning_clean { # compiler. clang { # Apple clang 4.0-4.2,5.0-5.1,6.0-6.4,7.0-7.3 - # Regular clang 3.3-3.9 + # Regular clang 3.3-3.9, 4.0 apple_ver = $${QT_APPLE_CLANG_MAJOR_VERSION}.$${QT_APPLE_CLANG_MINOR_VERSION} reg_ver = $${QT_CLANG_MAJOR_VERSION}.$${QT_CLANG_MINOR_VERSION} - contains(apple_ver, "4\\.[012]|5\\.[01]|6\\.[01234]|7\\.[0123]")|contains(reg_ver, "3\\.[3-9]") { + contains(apple_ver, "4\\.[012]|5\\.[01]|6\\.[01234]|7\\.[0123]")|contains(reg_ver, "3\\.[3-9]|4\\.0") { QMAKE_CXXFLAGS_WARN_ON += -Werror -Wno-error=\\$${LITERAL_HASH}warnings -Wno-error=deprecated-declarations $$WERROR } } else:intel_icc:linux { -- cgit v1.2.3 From 796517b589809caeff9098dac166517b5ab858ac Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 19 Jan 2017 14:13:31 -0800 Subject: win32/default_pre.prf: remove unused incremental_off CONFIG Nothing uses this and there's no incremental_off.prf since the MSVC6 purge in 99f390f9 (dec 2009). Change-Id: I2bc52f3c7a574209b213fffd149b4bf378805969 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/win32/default_pre.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/win32/default_pre.prf b/mkspecs/features/win32/default_pre.prf index a9b247e113..4bd1653aee 100644 --- a/mkspecs/features/win32/default_pre.prf +++ b/mkspecs/features/win32/default_pre.prf @@ -1,2 +1,2 @@ -CONFIG = incremental_off windows $$CONFIG +CONFIG = windows $$CONFIG load(default_pre) -- cgit v1.2.3 From fa8edcba0d4ebb5d9f66ff951e1870beb7b6a2db Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 31 Jan 2017 21:15:24 +0100 Subject: Fix Android deployment for 64-bit targets Match the logic that is used for building. Change-Id: I9ce6db2357b9b3e19a1e932fae57d376aae406f7 Reviewed-by: Eskil Abrahamsen Blomfeldt --- mkspecs/features/android/android_deployment_settings.prf | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf index 848de485f8..9fe1e26075 100644 --- a/mkspecs/features/android/android_deployment_settings.prf +++ b/mkspecs/features/android/android_deployment_settings.prf @@ -20,7 +20,10 @@ contains(TEMPLATE, ".*app"):!build_pass: { NDK_TOOLCHAIN_PREFIX = $$(ANDROID_NDK_TOOLCHAIN_PREFIX) isEmpty(NDK_TOOLCHAIN_PREFIX) { equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLCHAIN_PREFIX = x86 + else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLCHAIN_PREFIX = x86_64 else: equals(ANDROID_TARGET_ARCH, mips): NDK_TOOLCHAIN_PREFIX = mipsel-linux-android + else: equals(ANDROID_TARGET_ARCH, mips64): NDK_TOOLCHAIN_PREFIX = mips64el-linux-android + else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLCHAIN_PREFIX = aarch64-linux-android else: NDK_TOOLCHAIN_PREFIX = arm-linux-androideabi } FILE_CONTENT += " \"toolchain-prefix\": $$emitString($$NDK_TOOLCHAIN_PREFIX)," -- cgit v1.2.3 From 015b53e9b4091c28b8a2d7931788c2286a245201 Mon Sep 17 00:00:00 2001 From: Jian Liang Date: Mon, 30 Jan 2017 16:13:59 +0800 Subject: Turn on -utf-8 compiler option for msvc2015 update 2 and up Building qt with msvc would fail with the -developer-build configure option turned on under simplified chinese locale. This is because msvc will emit warnings for source files with utf-8 characters which are not representable in CP936, and -developer-build implies treating warnings as errors. This patch turn on -utf-8 compiler option for msvc2015 update 2 and up only for building qt. Task-number: QTBUG-58161 Change-Id: If38ea11eb1f39f8e08efa1cccb92e0eea50daf92 Reviewed-by: Oswald Buddenhagen --- mkspecs/common/msvc-version.conf | 6 ++++++ mkspecs/features/default_post.prf | 5 +++++ mkspecs/features/qt_build_config.prf | 1 + 3 files changed, 12 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index 147009cd9f..2347ca4866 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -66,6 +66,12 @@ greaterThan(QMAKE_MSC_VER, 1899) { QMAKE_CFLAGS_AVX2 = -arch:AVX2 QMAKE_CXXFLAGS += -Zc:strictStrings -Zc:throwingNew QMAKE_CXXFLAGS_WARN_ON += -w44456 -w44457 -w44458 -wd4577 -wd4467 + + greaterThan(QMAKE_MSC_FULL_VER, 190023918):!intel_icl { + isEmpty(QT_CLANG_MAJOR_VERSION)|!lessThan(QT_CLANG_MAJOR_VERSION, 4) { + QMAKE_CFLAGS_UTF8_SOURCE = -utf-8 + } + } } greaterThan(QMAKE_MSC_VER, 1909) { diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 7f5ab3a10c..60759b445e 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -116,6 +116,11 @@ c++11|c++14|c++1z { unset(cxxstd) } +utf8_source { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_UTF8_SOURCE + QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_UTF8_SOURCE +} + !precompile_header: SOURCES += $$NO_PCH_SOURCES QMAKE_INCDIR += $$QMAKE_INCDIR_POST diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 3762c14f98..11d5695c63 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -84,6 +84,7 @@ android|uikit|winrt: \ CONFIG += builtin_testdata CONFIG += \ + utf8_source \ create_prl link_prl \ prepare_docs qt_docs_targets \ no_private_qt_headers_warning QTDIR_build \ -- cgit v1.2.3 From 8286399b9e1988b18810d762c4665658bb7428f9 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 31 Jan 2017 11:19:16 +0100 Subject: fix installation of header-only frameworks in a framework build, the headers are inside the "library", so it's obviously not very wise to suppress its installation on the basis of it not being there. Task-number: QTBUG-57656 Change-Id: I026a3e486a2aad6ee0b8e0d264af4385af945e42 Reviewed-by: Jake Petroules Reviewed-by: Harald Fernengel --- mkspecs/features/qt_module.prf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index f6cbf99c05..ec31e457db 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -68,9 +68,9 @@ load(qt_build_paths) header_module { TEMPLATE = aux - CONFIG += \ - force_qt \ # Needed for the headers_clean tests. - qt_no_install_library + CONFIG += force_qt # Needed for the headers_clean tests. + !lib_bundle: \ + CONFIG += qt_no_install_library } else { TEMPLATE = lib } -- cgit v1.2.3 From 2982d327f7c51f448e91e12da29179d980027931 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 3 Feb 2017 18:23:04 +0100 Subject: adjust configure to native build optimizations don't fail to set up cross_compile early enough. otherwise, we'd populate the cache for target builds with data for the host. amends 6b8666c7 and 5060740f. conversely, pass on extra flags to configure tests when not cross building. amends d8be8110 (and 2c5eb3e6). Task-number: QTBUG-58556 Change-Id: I531d71e06204a0b17ae6dabf017a52e0f2efd9a7 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_configure.prf | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 1f7fb1b292..81c63205a7 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -746,7 +746,7 @@ defineTest(qtConfTest_compile) { qmake_args += "\"CONFIG += $$qmake_configs\"" - !$$host { + !$$host|!cross_compile { # On WinRT we need to change the entry point as we cannot create windows # applications winrt: \ @@ -764,6 +764,12 @@ defineTest(qtConfTest_compile) { qmake_args += $$EXTRA_QMAKE_ARGS } + # make sure to make this the last override (because of -early) + cross_compile { + # must be done before loading default_pre.prf. + qmake_args += -early "\"CONFIG += cross_compile\"" + } + # Clean up after previous run exists($$test_out_dir/Makefile): \ QMAKE_MAKE = "$$QMAKE_MAKE clean && $$QMAKE_MAKE" -- cgit v1.2.3 From e6a67bb9ec87f4a49769478aca6e8b9b08f7f5fb Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 16 Jun 2016 12:22:55 -0700 Subject: Update the mkspec for win32-icc to use the MSVC config files Change-Id: Ib57b52598e2f452985e9fffd1458a6b534111c23 Reviewed-by: Oswald Buddenhagen --- mkspecs/win32-icc/qmake.conf | 56 +++++--------------------------------------- 1 file changed, 6 insertions(+), 50 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf index cfd8399a3c..dcbbc027ea 100644 --- a/mkspecs/win32-icc/qmake.conf +++ b/mkspecs/win32-icc/qmake.conf @@ -4,27 +4,19 @@ # Written for Intel C++ # -include(../common/angle.conf) +# Use the Visual Studio configuration -MAKEFILE_GENERATOR = MSVC.NET -QMAKE_PLATFORM = win32 -CONFIG += incremental flat debug_and_release debug_and_release_target -DEFINES += UNICODE -QMAKE_COMPILER_DEFINES += __INTEL_COMPILER WIN32 +include(../common/msvc-desktop.conf) -QMAKE_COMPILER = msvc intel_icl # icl pretends to be msvc +# Now override with the Intel compiler settings + +QMAKE_COMPILER += intel_icl # icl pretends to be msvc QMAKE_CC = icl -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = bison -y -QMAKE_YACCFLAGS = -d QMAKE_CFLAGS = -nologo -Zm200 /Qprec /Qwd1744,1738,809,3373 QMAKE_CFLAGS_WARN_ON = -W3 /Qwd673 QMAKE_CFLAGS_WARN_OFF = -W0 /Qwd673 -QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_DEBUG = -Zi -MDd -Od -QMAKE_CFLAGS_YACC = QMAKE_CFLAGS_LTCG = -Qipo QMAKE_CFLAGS_DISABLE_LTCG = -Qno-ipo QMAKE_CFLAGS_SSE2 = -QxSSE2 @@ -46,15 +38,6 @@ QMAKE_CXX = $$QMAKE_CC QMAKE_CXXFLAGS = $$QMAKE_CFLAGS /Zc:forScope 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_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_STL_ON = -GX -QMAKE_CXXFLAGS_STL_OFF = -QMAKE_CXXFLAGS_RTTI_ON = -GR -QMAKE_CXXFLAGS_RTTI_OFF = -QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc -QMAKE_CXXFLAGS_EXCEPTIONS_OFF = QMAKE_CXXFLAGS_CXX11 = -Qstd=c++11 # ICC supports the following but Qt won't compile #QMAKE_CXXFLAGS_CXX14 = -Qstd=c++14 @@ -62,41 +45,14 @@ QMAKE_CXXFLAGS_CXX11 = -Qstd=c++11 QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG -QMAKE_INCDIR = - -QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src -QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< -QMAKE_RUN_CC_IMP_BATCH = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<< -QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src -QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< -QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<< - QMAKE_LINK = xilink QMAKE_LFLAGS = /NOLOGO QMAKE_LFLAGS_RELEASE = +QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = QMAKE_LFLAGS_DEBUG = /DEBUG -QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:console -QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:windows -QMAKE_LFLAGS_DLL = /DLL QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG -QMAKE_PREFIX_SHLIB = -QMAKE_EXTENSION_SHLIB = dll -QMAKE_PREFIX_STATICLIB = -QMAKE_EXTENSION_STATICLIB = lib - -QMAKE_LIBS = -QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib -QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib user32.lib advapi32.lib -QMAKE_LIBS_NETWORK = ws2_32.lib -QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib delayimp.lib -QMAKE_LIBS_OPENGL_ES2 = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib gdi32.lib user32.lib -QMAKE_LIBS_OPENGL_ES2_DEBUG = $${LIBEGL_NAME}d.lib $${LIBGLESV2_NAME}d.lib gdi32.lib user32.lib -QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib -QMAKE_LIBS_QT_ENTRY = -lqtmain -QMAKE_IDL = midl QMAKE_LIB = xilib /NOLOGO -QMAKE_RC = rc DSP_EXTENSION = .dsp load(qt_config) -- cgit v1.2.3