diff options
Diffstat (limited to 'mkspecs')
39 files changed, 193 insertions, 209 deletions
diff --git a/mkspecs/android-clang/qplatformdefs.h b/mkspecs/android-clang/qplatformdefs.h index 017233658e..f405c91ecb 100644 --- a/mkspecs/android-clang/qplatformdefs.h +++ b/mkspecs/android-clang/qplatformdefs.h @@ -71,10 +71,6 @@ #include <sys/stat.h> #include <sys/wait.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif - #ifndef _GNU_SOURCE # define _GNU_SOURCE #endif @@ -143,6 +139,7 @@ #define QT_OPEN_CREAT O_CREAT #define QT_OPEN_TRUNC O_TRUNC #define QT_OPEN_APPEND O_APPEND +#define QT_OPEN_EXCL O_EXCL // Directory iteration #define QT_DIR DIR diff --git a/mkspecs/android-g++/qplatformdefs.h b/mkspecs/android-g++/qplatformdefs.h index 068f437c11..0b92709dd5 100644 --- a/mkspecs/android-g++/qplatformdefs.h +++ b/mkspecs/android-g++/qplatformdefs.h @@ -71,10 +71,6 @@ #include <sys/stat.h> #include <sys/wait.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif - #ifndef _GNU_SOURCE # define _GNU_SOURCE #endif @@ -143,6 +139,7 @@ #define QT_OPEN_CREAT O_CREAT #define QT_OPEN_TRUNC O_TRUNC #define QT_OPEN_APPEND O_APPEND +#define QT_OPEN_EXCL O_EXCL // Directory iteration #define QT_DIR DIR diff --git a/mkspecs/common/aix/qplatformdefs.h b/mkspecs/common/aix/qplatformdefs.h index 7bb8dfedd2..3606a2f1cb 100644 --- a/mkspecs/common/aix/qplatformdefs.h +++ b/mkspecs/common/aix/qplatformdefs.h @@ -75,9 +75,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif // Only AIX 4.3 and better support 64-bit diff --git a/mkspecs/common/android/qplatformdefs.h b/mkspecs/common/android/qplatformdefs.h index 048eb47c6c..f75bc4093b 100644 --- a/mkspecs/common/android/qplatformdefs.h +++ b/mkspecs/common/android/qplatformdefs.h @@ -70,10 +70,6 @@ #include <sys/stat.h> #include <sys/wait.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif - #ifndef _GNU_SOURCE # define _GNU_SOURCE #endif @@ -119,6 +115,7 @@ #define QT_OPEN_CREAT O_CREAT #define QT_OPEN_TRUNC O_TRUNC #define QT_OPEN_APPEND O_APPEND +#define QT_OPEN_EXCL O_EXCL // Directory iteration #define QT_DIR DIR diff --git a/mkspecs/common/bsd/qplatformdefs.h b/mkspecs/common/bsd/qplatformdefs.h index 6c3a00b194..8e976d3290 100644 --- a/mkspecs/common/bsd/qplatformdefs.h +++ b/mkspecs/common/bsd/qplatformdefs.h @@ -70,9 +70,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #include "../posix/qplatformdefs.h" diff --git a/mkspecs/common/gcc-base-unix.conf b/mkspecs/common/gcc-base-unix.conf index 2d63877dc9..700f228c36 100644 --- a/mkspecs/common/gcc-base-unix.conf +++ b/mkspecs/common/gcc-base-unix.conf @@ -19,6 +19,7 @@ QMAKE_LFLAGS_THREAD += QMAKE_LFLAGS_RPATH = -Wl,-rpath, QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link, QMAKE_LFLAGS_NEW_DTAGS = -Wl,--enable-new-dtags +QMAKE_LFLAGS_GDB_INDEX = -Wl,--gdb-index QMAKE_LFLAGS_USE_GOLD = -fuse-ld=gold # -Bsymbolic-functions (ld) support diff --git a/mkspecs/common/integrity/qplatformdefs.h b/mkspecs/common/integrity/qplatformdefs.h index 7039318f25..f0b4dea8e1 100644 --- a/mkspecs/common/integrity/qplatformdefs.h +++ b/mkspecs/common/integrity/qplatformdefs.h @@ -68,9 +68,6 @@ #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> diff --git a/mkspecs/common/mac/qplatformdefs.h b/mkspecs/common/mac/qplatformdefs.h index 5cacd5a749..1927587097 100644 --- a/mkspecs/common/mac/qplatformdefs.h +++ b/mkspecs/common/mac/qplatformdefs.h @@ -70,9 +70,6 @@ #include <sys/wait.h> #define __APPLE_USE_RFC_3542 #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #include "../posix/qplatformdefs.h" diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index e8c94cf18f..ccd809abf3 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -82,6 +82,20 @@ greaterThan(QMAKE_MSC_VER, 1909) { MSVC_VER = 15.0 COMPAT_MKSPEC = win32-msvc2017 QMAKE_CXXFLAGS += -Zc:referenceBinding + + # Only Visual Studio 2017 version 15.3 / Visual C++ 19.11 & up have support + # for AVX-512. We enable the switches anyway and let configure check if they + # work. + QMAKE_CFLAGS_AVX512F = -arch:AVX512 + QMAKE_CFLAGS_AVX512ER = -arch:AVX512 + QMAKE_CFLAGS_AVX512CD = -arch:AVX512 + QMAKE_CFLAGS_AVX512PF = -arch:AVX512 + QMAKE_CFLAGS_AVX512DQ = -arch:AVX512 + QMAKE_CFLAGS_AVX512BW = -arch:AVX512 + QMAKE_CFLAGS_AVX512VL = -arch:AVX512 + QMAKE_CFLAGS_AVX512IFMA = -arch:AVX512 + QMAKE_CFLAGS_AVX512VBMI = -arch:AVX512 + # For now permissive fails as soon as UWP API comes into play. In qtbase this # API is used in direct2d, but also in multimedia, positioning and sensors. # We can try again with a later version of Visual Studio. diff --git a/mkspecs/common/posix/qplatformdefs.h b/mkspecs/common/posix/qplatformdefs.h index 90fb90a7e3..3ebc523338 100644 --- a/mkspecs/common/posix/qplatformdefs.h +++ b/mkspecs/common/posix/qplatformdefs.h @@ -128,6 +128,7 @@ #define QT_OPEN_CREAT O_CREAT #define QT_OPEN_TRUNC O_TRUNC #define QT_OPEN_APPEND O_APPEND +#define QT_OPEN_EXCL O_EXCL // Posix extensions to C89 #define QT_FILENO fileno diff --git a/mkspecs/common/qnx/qplatformdefs.h b/mkspecs/common/qnx/qplatformdefs.h index 72fc92738c..b30cd96002 100644 --- a/mkspecs/common/qnx/qplatformdefs.h +++ b/mkspecs/common/qnx/qplatformdefs.h @@ -73,9 +73,6 @@ #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> diff --git a/mkspecs/darwin-g++/qplatformdefs.h b/mkspecs/darwin-g++/qplatformdefs.h index 46a9383238..faed56310d 100644 --- a/mkspecs/darwin-g++/qplatformdefs.h +++ b/mkspecs/darwin-g++/qplatformdefs.h @@ -68,9 +68,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/devices/linux-rcar-m3-g++/qmake.conf b/mkspecs/devices/linux-rcar-m3-g++/qmake.conf new file mode 100644 index 0000000000..1820457ffc --- /dev/null +++ b/mkspecs/devices/linux-rcar-m3-g++/qmake.conf @@ -0,0 +1,17 @@ +# +# qmake configuration for the Renesas R-Car M3 +# + +include(../common/linux_device_pre.conf) + +QMAKE_LIBS_EGL += -lEGL +QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL + +DISTRO_OPTS += aarch64 +COMPILER_FLAGS += -march=armv8-a -mtune=cortex-a57.cortex-a53 + +EGLFS_DEVICE_INTEGRATION = eglfs_kms + +include(../common/linux_arm_device_post.conf) + +load(qt_config) diff --git a/mkspecs/devices/linux-rcar-m3-g++/qplatformdefs.h b/mkspecs/devices/linux-rcar-m3-g++/qplatformdefs.h new file mode 100644 index 0000000000..dff192d7b2 --- /dev/null +++ b/mkspecs/devices/linux-rcar-m3-g++/qplatformdefs.h @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the plugins 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 The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/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 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../linux-g++/qplatformdefs.h" diff --git a/mkspecs/features/data/android/dx.bat b/mkspecs/features/data/android/dx.bat deleted file mode 100644 index 9816f9607d..0000000000 --- a/mkspecs/features/data/android/dx.bat +++ /dev/null @@ -1,108 +0,0 @@ -@echo off -REM Copyright (C) 2007 The Android Open Source Project -REM -REM Licensed under the Apache License, Version 2.0 (the "License"); -REM you may not use this file except in compliance with the License. -REM You may obtain a copy of the License at -REM -REM http://www.apache.org/licenses/LICENSE-2.0 -REM -REM Unless required by applicable law or agreed to in writing, software -REM distributed under the License is distributed on an "AS IS" BASIS, -REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -REM See the License for the specific language governing permissions and -REM limitations under the License. - -REM If/when Google merge: -REM https://android-review.googlesource.com/#/c/52680/ -REM this file will become redundant. - -REM don't modify the caller's environment -setlocal - -REM Locate dx.jar in the directory where dx.bat was found and start it. - -REM Set up prog to be the path of this script, including following symlinks, -REM and set up progdir to be the fully-qualified pathname of its directory. -set prog=%~f0 - -if [%1]==[] goto badArgs -set "dx_jar_path=%1" -shift /1 - -if [%1]==[] goto badArgs - -REM Use dpZ here to make it more like the Google version. -for %%F in ("%dx_jar_path%") do set dpZ=%%~dpF - -rem Check we have a valid Java.exe in the path. -set java_exe= -if exist "%dpZ%..\tools\lib\find_java.bat" call "%dpZ%..\tools\lib\find_java.bat" -if exist "%dpZ%..\..\tools\lib\find_java.bat" call "%dpZ%..\..\tools\lib\find_java.bat" - -if not defined java_exe goto :EOF - -set jarfile=dx.jar -set "frameworkdir=%dpZ%" -rem frameworkdir must not end with a dir sep. -set "frameworkdir=%frameworkdir:~0,-1%" - -if exist "%frameworkdir%\%jarfile%" goto JarFileOk - set "frameworkdir=%dpZ%lib" - -if exist "%frameworkdir%\%jarfile%" goto JarFileOk - set "frameworkdir=%dpZ%..\framework" - -:JarFileOk - -set "jarpath=%frameworkdir%\%jarfile%" - -set javaOpts= -set args= - -REM By default, give dx a max heap size of 1 gig and a stack size of 1meg. -rem This can be overridden by using "-JXmx..." and "-JXss..." options below. -set defaultXmx=-Xmx1024M -set defaultXss=-Xss1m - -REM Capture all arguments that are not -J options. -REM Note that when reading the input arguments with %1, the cmd.exe -REM automagically converts --name=value arguments into 2 arguments "--name" -REM followed by "value". Dx has been changed to know how to deal with that. -set params= - -:firstArg -if [%1]==[] goto endArgs -set a=%~1 - - if [%defaultXmx%]==[] goto notXmx - if %a:~0,5% NEQ -JXmx goto notXmx - set defaultXmx= - :notXmx - - if [%defaultXss%]==[] goto notXss - if %a:~0,5% NEQ -JXss goto notXss - set defaultXss= - :notXss - - if %a:~0,2% NEQ -J goto notJ - set javaOpts=%javaOpts% -%a:~2% - shift /1 - goto firstArg - - :notJ - set params=%params% %1 - shift /1 - goto firstArg - -:endArgs - -set javaOpts=%javaOpts% %defaultXmx% %defaultXss% -call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params% - -goto :EOF - -:badArgs -echo Usage: dx (for Qt) ^<android_sdk_dx_jar_path^> ^<dx_arguments^> -echo Example: dx (for Qt) C:\android-sdk\build-tools\17.0.0\dx.jar --dex --output=target.jar .classes - diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 7e027325bd..9eba5bcf00 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -80,6 +80,7 @@ stack_protector_strong { !host_build|!cross_compile { use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD enable_new_dtags: QMAKE_LFLAGS += $$QMAKE_LFLAGS_NEW_DTAGS + enable_gdb_index: QMAKE_LFLAGS += $$QMAKE_LFLAGS_GDB_INDEX } dll:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL diff --git a/mkspecs/features/exclusive_builds.prf b/mkspecs/features/exclusive_builds.prf index f40cc99172..b477cff162 100644 --- a/mkspecs/features/exclusive_builds.prf +++ b/mkspecs/features/exclusive_builds.prf @@ -38,5 +38,5 @@ defineTest(addExclusiveBuilds) { } # Default directories to process -QMAKE_DIR_REPLACE = OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR QGLTF_DIR DESTDIR -QMAKE_DIR_REPLACE_SANE += QGLTF_DIR +QMAKE_DIR_REPLACE = OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR QGLTF_DIR DESTDIR TRACEGEN_DIR +QMAKE_DIR_REPLACE_SANE += QGLTF_DIR TRACEGEN_DIR diff --git a/mkspecs/features/java.prf b/mkspecs/features/java.prf index 852954e5ca..f1f5e4c10c 100644 --- a/mkspecs/features/java.prf +++ b/mkspecs/features/java.prf @@ -7,10 +7,8 @@ android { CONFIG += android_app } -isEmpty(CLASS_DIR) { - bundled_jar_file: CLASS_DIR = .classes.bundled - else: CLASS_DIR = .classes -} +isEmpty(CLASS_DIR): \ + CLASS_DIR = .classes CONFIG -= qt @@ -39,26 +37,7 @@ QMAKE_LIBS = QMAKE_LIBS_OPENGL_ES2 = QMAKE_LIBDIR = QMAKE_EXTENSION_SHLIB = jar - -# Override linker with dex (for distributable Android archives) or jar (for other java builds) -android:!bundled_jar_file { - contains(QMAKE_HOST.os, Windows) { - # The location where dx.bat expects itself to be found is used as the landmark instead - # of the base sdk folder. - # Doing it this way makes this logic more similar to the other platforms and - # also means that our dx.bat is more like Google's dx.bat - DEX_BAT = $$ANDROID_SDK_ROOT/platform-tools/dx.bat - !exists($$DEX_BAT): DEX_BAT = $$ANDROID_SDK_ROOT/build-tools/$$ANDROID_SDK_BUILD_TOOLS_REVISION/dx.bat - DEX_CMD = $$PWD/data/android/dx $$DEX_BAT - } else { - DEX_CMD = $$ANDROID_SDK_ROOT/platform-tools/dx - !exists($$DEX_CMD): DEX_CMD = $$ANDROID_SDK_ROOT/build-tools/$$ANDROID_SDK_BUILD_TOOLS_REVISION/dx - !exists($$DEX_CMD): error("The path $$DEX_CMD does not exist. Please set the environment variable ANDROID_BUILD_TOOLS_REVISION to the revision of the build tools installed in your Android SDK.") - } - QMAKE_LINK_SHLIB_CMD = $$DEX_CMD --dex --output $(TARGET) $$CLASS_DIR -} else { - QMAKE_LINK_SHLIB_CMD = jar cf $(TARGET) -C $$CLASS_DIR . -} +QMAKE_LINK_SHLIB_CMD = jar cf $(TARGET) -C $$CLASS_DIR . # Force link step to always happen, since we are always updating the # .class files diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 76e1d15319..a2fa1be481 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -25,6 +25,7 @@ OBJECTS_DIR = .obj MOC_DIR = .moc RCC_DIR = .rcc UI_DIR = .uic +TRACEGEN_DIR = .tracegen intel_icl { # ICL 14.0 has a bug that makes it not find #includes in dirs starting with . MOC_DIR = tmp/moc diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf index 72dde61a40..3139c443c6 100644 --- a/mkspecs/features/qt_docs.prf +++ b/mkspecs/features/qt_docs.prf @@ -76,11 +76,11 @@ QMAKE_EXTRA_TARGETS += qtattributionsscanner doc_command = $$QDOC $$QMAKE_DOCS prepare_docs { - prepare_docs.commands += $$doc_command -prepare $$PREP_DOC_INDEXES -no-link-errors - generate_docs.commands += $$doc_command -generate $$DOC_INDEXES + prepare_docs.commands += $$doc_command -prepare $$PREP_DOC_INDEXES -no-link-errors $(INCPATH) + generate_docs.commands += $$doc_command -generate $$DOC_INDEXES $(INCPATH) prepare_docs.depends += qtattributionsscanner } else { - html_docs.commands += $$doc_command $$DOC_INDEXES + html_docs.commands += $$doc_command $$DOC_INDEXES $(INCPATH) html_docs.depends += qtattributionsscanner } diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index 14fc5f9a94..bf90adcf1e 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -95,6 +95,8 @@ TARGET = $$qt5LibraryTarget($$TARGET) CONFIG += create_cmake +DEFINES *= QT_DEPRECATED_WARNINGS + load(qt_targets) load(qt_common) diff --git a/mkspecs/features/qt_tracepoints.prf b/mkspecs/features/qt_tracepoints.prf new file mode 100644 index 0000000000..d1b45a47cb --- /dev/null +++ b/mkspecs/features/qt_tracepoints.prf @@ -0,0 +1,54 @@ +# W A R N I N G +# ------------- +# +# This file is not part of the Qt API. It exists purely as an +# implementation detail. It may change from version to version +# without notice, or even be removed. +# +# We mean it. +# + +qtPrepareTool(QMAKE_TRACEGEN, tracegen) + +isEmpty(TRACEGEN_DIR): TRACEGEN_DIR = . + +PROVIDER_NAME = qt$$lower($$MODULE) +INCLUDEPATH += $$absolute_path($$TRACEGEN_DIR, $$OUT_PWD) +HEADER_PATH = $$OUT_PWD/$$TRACEGEN_DIR/$${PROVIDER_NAME}_tracepoints_p$${first(QMAKE_EXT_H)} + +!force_bootstrap:if(qtConfig(lttng)|qtConfig(etw)) { + SOURCE_PATH = $$OUT_PWD/$$TRACEGEN_DIR/$${PROVIDER_NAME}_tracepoints$${first(QMAKE_EXT_CPP)} + + isEmpty(BUILDS)|build_pass { + impl_file_contents = \ + "$${LITERAL_HASH}define TRACEPOINT_CREATE_PROBES" \ + "$${LITERAL_HASH}define TRACEPOINT_DEFINE" \ + "$${LITERAL_HASH}include \"$${HEADER_PATH}\"" + + write_file($$SOURCE_PATH, impl_file_contents)|error() + } + + GENERATED_SOURCES += $$SOURCE_PATH + + tracegen.input = TRACEPOINT_PROVIDER + tracegen.output = $$HEADER_PATH + tracegen.variable_out = HEADERS + tracegen.depends += $$QMAKE_TRACEGEN_EXE + tracegen.CONFIG = target_predeps + + qtConfig(lttng) { + tracegen.commands = $$QMAKE_TRACEGEN lttng ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} + QMAKE_USE_PRIVATE += lttng-ust + } else { + tracegen.commands = $$QMAKE_TRACEGEN etw ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} + } + + QMAKE_EXTRA_COMPILERS += tracegen + + DEFINES += Q_TRACEPOINT +} else { + isEmpty(BUILDS)|build_pass { + header_file_contents = "$${LITERAL_HASH}include <private/qtrace_p.h>" + write_file($$HEADER_PATH, header_file_contents)|error() + } +} diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf index 8471ce7e7c..e4bee7107c 100644 --- a/mkspecs/features/simd.prf +++ b/mkspecs/features/simd.prf @@ -23,6 +23,7 @@ defineTest(addSimdCompiler) { upname = $$upper($$name) headers_var = $${upname}_HEADERS sources_var = $${upname}_SOURCES + csources_var = $${upname}_C_SOURCES asm_var = $${upname}_ASM CONFIG($$1) { @@ -34,6 +35,14 @@ defineTest(addSimdCompiler) { export(SOURCES) } else { # We need special compiler flags + + # Split C and C++ sources + $$csources_var = $$find($$sources_var, ".*\\.c$") + $$sources_var -= $$eval($$csources_var) + export($$csources_var) + export($$sources_var) + + # Add C++ compiler $${name}_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS) $$cflags $(INCPATH) ${QMAKE_FILE_IN} msvc: $${name}_compiler.commands += -Fo${QMAKE_FILE_OUT} else: $${name}_compiler.commands += -o ${QMAKE_FILE_OUT} @@ -52,6 +61,26 @@ defineTest(addSimdCompiler) { export($${name}_compiler.input) export($${name}_compiler.variable_out) export($${name}_compiler.name) + + # Add a C compiler + $${name}_c_compiler.commands = $$QMAKE_CC -c $(CFLAGS) $$cflags $(INCPATH) ${QMAKE_FILE_IN} + msvc: $${name}_c_compiler.commands += -Fo${QMAKE_FILE_OUT} + else: $${name}_c_compiler.commands += -o ${QMAKE_FILE_OUT} + + $${name}_c_compiler.dependency_type = TYPE_C + $${name}_c_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + $${name}_c_compiler.input = $$csources_var + $${name}_c_compiler.variable_out = OBJECTS + $${name}_c_compiler.name = compiling[$${name}] ${QMAKE_FILE_IN} + silent: $${name}_c_compiler.commands = @echo compiling[$${name}] ${QMAKE_FILE_IN} && $$eval($${name}_c_compiler.commands) + QMAKE_EXTRA_COMPILERS += $${name}_c_compiler + + export($${name}_c_compiler.commands) + export($${name}_c_compiler.dependency_type) + export($${name}_c_compiler.output) + export($${name}_c_compiler.input) + export($${name}_c_compiler.variable_out) + export($${name}_c_compiler.name) } # We always need an assembler (need to run the C compiler and without precompiled headers) diff --git a/mkspecs/haiku-g++/qplatformdefs.h b/mkspecs/haiku-g++/qplatformdefs.h index 000541912f..21636c031e 100644 --- a/mkspecs/haiku-g++/qplatformdefs.h +++ b/mkspecs/haiku-g++/qplatformdefs.h @@ -67,9 +67,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/hpuxi-g++-64/qplatformdefs.h b/mkspecs/hpuxi-g++-64/qplatformdefs.h index 966dfcf8c2..816fd0de6c 100644 --- a/mkspecs/hpuxi-g++-64/qplatformdefs.h +++ b/mkspecs/hpuxi-g++-64/qplatformdefs.h @@ -70,9 +70,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #define QT_NO_READDIR64 diff --git a/mkspecs/hurd-g++/qplatformdefs.h b/mkspecs/hurd-g++/qplatformdefs.h index 9ee7de783b..3c80cbdfad 100644 --- a/mkspecs/hurd-g++/qplatformdefs.h +++ b/mkspecs/hurd-g++/qplatformdefs.h @@ -76,9 +76,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/linux-clang/qplatformdefs.h b/mkspecs/linux-clang/qplatformdefs.h index d29225f12f..a818d973f0 100644 --- a/mkspecs/linux-clang/qplatformdefs.h +++ b/mkspecs/linux-clang/qplatformdefs.h @@ -75,9 +75,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h index c9c0db7b5e..13523f0702 100644 --- a/mkspecs/linux-g++/qplatformdefs.h +++ b/mkspecs/linux-g++/qplatformdefs.h @@ -75,9 +75,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/linux-llvm/qplatformdefs.h b/mkspecs/linux-llvm/qplatformdefs.h index 1b2a8997cf..dc750ab1ef 100644 --- a/mkspecs/linux-llvm/qplatformdefs.h +++ b/mkspecs/linux-llvm/qplatformdefs.h @@ -76,9 +76,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/linux-lsb-g++/qplatformdefs.h b/mkspecs/linux-lsb-g++/qplatformdefs.h index 0ff012aaf3..4c4e53da2a 100644 --- a/mkspecs/linux-lsb-g++/qplatformdefs.h +++ b/mkspecs/linux-lsb-g++/qplatformdefs.h @@ -77,9 +77,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif // LSB 3.1 defines htonl and friends here #include <arpa/inet.h> diff --git a/mkspecs/lynxos-g++/qplatformdefs.h b/mkspecs/lynxos-g++/qplatformdefs.h index 7231b17840..4339ea2b23 100644 --- a/mkspecs/lynxos-g++/qplatformdefs.h +++ b/mkspecs/lynxos-g++/qplatformdefs.h @@ -69,9 +69,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/macx-clang/qmake.conf b/mkspecs/macx-clang/qmake.conf index e34c08954d..170464d08f 100644 --- a/mkspecs/macx-clang/qmake.conf +++ b/mkspecs/macx-clang/qmake.conf @@ -2,10 +2,29 @@ # qmake configuration for Clang on OS X # -QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10 +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11 QMAKE_APPLE_DEVICE_ARCHS = x86_64 +# Opt-in xcb QPA support with XQuartz: +# +# configure \ +# -pkg-config \ +# -fontconfig -system-freetype \ +# -system-xcb -xkb -no-opengl \ +# -qt-xkbcommon -qt-xkbcommon-x11 +# +# Ensure that pkg-config is properly configured, or that +# PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:/opt/X11/share/pkgconfig +# is set in your build environment. +# +# Due to irreconcilable differences between Cocoa +# and X11, OpenGL is currently not supported. + +QMAKE_LIBS_X11 = -lX11 -lXext -lm +QMAKE_LIBDIR_X11 = /opt/X11/lib +QMAKE_INCDIR_X11 = /opt/X11/include + include(../common/macx.conf) include(../common/gcc-base-mac.conf) include(../common/clang.conf) diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf index 4209c9a62c..5686610b17 100644 --- a/mkspecs/macx-g++/qmake.conf +++ b/mkspecs/macx-g++/qmake.conf @@ -10,7 +10,7 @@ MAKEFILE_GENERATOR = UNIX CONFIG += app_bundle incremental global_init_link_order lib_version_first QMAKE_INCREMENTAL_STYLE = sublib -QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10 +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11 QMAKE_APPLE_DEVICE_ARCHS = x86_64 diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf index 80cffbf9dc..fa3944f843 100644 --- a/mkspecs/macx-icc/qmake.conf +++ b/mkspecs/macx-icc/qmake.conf @@ -98,7 +98,7 @@ QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_ QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden -QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10 +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11 QMAKE_APPLE_DEVICE_ARCHS = x86_64 diff --git a/mkspecs/solaris-cc-64/qplatformdefs.h b/mkspecs/solaris-cc-64/qplatformdefs.h index 7a01081933..f430664a9e 100644 --- a/mkspecs/solaris-cc-64/qplatformdefs.h +++ b/mkspecs/solaris-cc-64/qplatformdefs.h @@ -70,9 +70,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/solaris-cc/qplatformdefs.h b/mkspecs/solaris-cc/qplatformdefs.h index a5ad9005a0..8350836deb 100644 --- a/mkspecs/solaris-cc/qplatformdefs.h +++ b/mkspecs/solaris-cc/qplatformdefs.h @@ -70,9 +70,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/solaris-g++-64/qplatformdefs.h b/mkspecs/solaris-g++-64/qplatformdefs.h index 7504912a89..ae559183ff 100644 --- a/mkspecs/solaris-g++-64/qplatformdefs.h +++ b/mkspecs/solaris-g++-64/qplatformdefs.h @@ -73,9 +73,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/solaris-g++/qplatformdefs.h b/mkspecs/solaris-g++/qplatformdefs.h index 112850ee8a..bd14a86b51 100644 --- a/mkspecs/solaris-g++/qplatformdefs.h +++ b/mkspecs/solaris-g++/qplatformdefs.h @@ -73,9 +73,6 @@ #include <sys/stat.h> #include <sys/wait.h> #include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif #define QT_USE_XOPEN_LFS_EXTENSIONS #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/unsupported/qnx-X11-g++/qplatformdefs.h b/mkspecs/unsupported/qnx-X11-g++/qplatformdefs.h index de4a2cc2cb..e090179f52 100644 --- a/mkspecs/unsupported/qnx-X11-g++/qplatformdefs.h +++ b/mkspecs/unsupported/qnx-X11-g++/qplatformdefs.h @@ -72,9 +72,6 @@ #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> |