summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/mac.conf2
-rw-r--r--mkspecs/common/qcc-base-qnx-aarch64le.conf23
-rw-r--r--mkspecs/common/qcc-base-qnx-x86-64.conf23
-rw-r--r--mkspecs/features/configure_base.prf12
-rw-r--r--mkspecs/features/qt_helper_lib.prf2
-rw-r--r--mkspecs/features/unix/separate_debug_info.prf23
-rw-r--r--mkspecs/hpux-g++/qmake.conf1
-rw-r--r--mkspecs/hpuxi-acc-32/qmake.conf1
-rw-r--r--mkspecs/hpuxi-acc-64/qmake.conf1
-rw-r--r--mkspecs/macx-g++-32/qmake.conf2
-rw-r--r--mkspecs/macx-g++/qmake.conf2
-rw-r--r--mkspecs/macx-g++40/qmake.conf2
-rw-r--r--mkspecs/macx-g++42/qmake.conf2
-rw-r--r--mkspecs/macx-llvm/qmake.conf2
-rw-r--r--mkspecs/qnx-aarch64le-qcc/qmake.conf17
-rw-r--r--mkspecs/qnx-aarch64le-qcc/qplatformdefs.h34
-rw-r--r--mkspecs/qnx-x86-64-qcc/qmake.conf17
-rw-r--r--mkspecs/qnx-x86-64-qcc/qplatformdefs.h34
-rw-r--r--mkspecs/tru64-cxx/qmake.conf1
-rw-r--r--mkspecs/tru64-g++/qmake.conf1
20 files changed, 187 insertions, 15 deletions
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
index 3adf868ea4..d24a1d665c 100644
--- a/mkspecs/common/mac.conf
+++ b/mkspecs/common/mac.conf
@@ -7,7 +7,7 @@
QMAKE_PLATFORM += mac darwin
MAKEFILE_GENERATOR = UNIX
-CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname sdk
+CONFIG += app_bundle incremental global_init_link_order lib_version_first sdk
QMAKE_INCREMENTAL_STYLE = sublib
include(unix.conf)
diff --git a/mkspecs/common/qcc-base-qnx-aarch64le.conf b/mkspecs/common/qcc-base-qnx-aarch64le.conf
new file mode 100644
index 0000000000..914ef33f37
--- /dev/null
+++ b/mkspecs/common/qcc-base-qnx-aarch64le.conf
@@ -0,0 +1,23 @@
+#
+# qmake configuration for qnx-qcc aarch64le targets
+#
+
+MAKEFILE_GENERATOR = UNIX
+
+include(g++-unix.conf)
+include(unix.conf)
+
+QMAKE_CC = qcc -Vgcc_ntoaarch64le
+QMAKE_CXX = qcc -Vgcc_ntoaarch64le
+QNX_CPUDIR = aarch64le
+
+include(qcc-base-qnx.conf)
+
+QMAKE_AR = ntoaarch64-ar cqs
+QMAKE_OBJCOPY = ntoaarch64-objcopy
+QMAKE_NM = ntoaarch64-nm -P
+QMAKE_RANLIB = ntoaarch64-ranlib
+
+QMAKE_STRIP = ntoaarch64-strip
+
+load(qt_config)
diff --git a/mkspecs/common/qcc-base-qnx-x86-64.conf b/mkspecs/common/qcc-base-qnx-x86-64.conf
new file mode 100644
index 0000000000..fd04104f71
--- /dev/null
+++ b/mkspecs/common/qcc-base-qnx-x86-64.conf
@@ -0,0 +1,23 @@
+#
+# qmake configuration for qnx-qcc x86-64 targets
+#
+
+MAKEFILE_GENERATOR = UNIX
+
+include(g++-unix.conf)
+include(unix.conf)
+
+QMAKE_CC = qcc -Vgcc_ntox86_64
+QMAKE_CXX = qcc -Vgcc_ntox86_64
+QNX_CPUDIR = x86_64
+
+include(qcc-base-qnx.conf)
+
+QMAKE_AR = ntox86_64-ar cqs
+QMAKE_OBJCOPY = ntox86_64-objcopy
+QMAKE_NM = ntox86_64-nm -P
+QMAKE_RANLIB = ntox86_64-ranlib
+
+QMAKE_STRIP = ntox86_64-strip
+
+load(qt_config)
diff --git a/mkspecs/features/configure_base.prf b/mkspecs/features/configure_base.prf
index ed2f599bb0..fd1730741a 100644
--- a/mkspecs/features/configure_base.prf
+++ b/mkspecs/features/configure_base.prf
@@ -1,6 +1,14 @@
+equals(QMAKE_HOST.os, Windows) {
+ SETENV_PFX = "set "
+ SETENV_SFX = "&"
+} else {
+ SETENV_PFX =
+ SETENV_SFX =
+}
+
QMAKE_MAKE = $$(MAKE)
!isEmpty(QMAKE_MAKE) {
- # We were called recursively. Use the right make, as MAKEFLAGS may be set as well.
+ # We were called recursively. Use the same make.
} else: if(equals(MAKEFILE_GENERATOR, UNIX)|equals(MAKEFILE_GENERATOR, MINGW)) {
!equals(QMAKE_HOST.os, Windows): \
QMAKE_MAKE = make
@@ -11,6 +19,8 @@ QMAKE_MAKE = $$(MAKE)
} else {
error("Configure tests are not supported with the $$MAKEFILE_GENERATOR Makefile generator.")
}
+# Make sure we don't inherit MAKEFLAGS - -i in particular is fatal.
+QMAKE_MAKE = "$${SETENV_PFX}MAKEFLAGS=$$SETENV_SFX $$QMAKE_MAKE"
isEmpty(QMAKE_CONFIG_VERBOSE): QMAKE_CONFIG_VERBOSE = false
diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf
index 668dead1d3..dc7a5da30e 100644
--- a/mkspecs/features/qt_helper_lib.prf
+++ b/mkspecs/features/qt_helper_lib.prf
@@ -27,6 +27,6 @@ DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
# In static builds of Qt, convenience libraries must be installed,
# as in this case they are not linked to the final library/plugin.
-installed|contains(QT_CONFIG, static): load(qt_installs)
+installed|if(!not_installed:contains(QT_CONFIG, static)): load(qt_installs)
TARGET = $$qt5LibraryTarget($$TARGET)
diff --git a/mkspecs/features/unix/separate_debug_info.prf b/mkspecs/features/unix/separate_debug_info.prf
index 460ad63e22..272cc8ef79 100644
--- a/mkspecs/features/unix/separate_debug_info.prf
+++ b/mkspecs/features/unix/separate_debug_info.prf
@@ -27,7 +27,12 @@ have_target:!static:if(darwin|!isEmpty(QMAKE_OBJCOPY)) {
CONFIG += any_bundle
}
- debug_info_target_dir = $${debug_info_target}.$$debug_info_suffix/Contents/Resources/DWARF
+ debug_info_target_rel = $$section(debug_info_target, /, -1, -1)
+
+ debug_info_target_dir_suffix = .$$debug_info_suffix/Contents/Resources/DWARF
+
+ debug_info_target_dir = $${debug_info_target}$${debug_info_target_dir_suffix}
+ debug_info_target_dir_rel = $${debug_info_target_rel}$${debug_info_target_dir_suffix}
!isEmpty(QMAKE_RESOLVED_BUNDLE): \
QMAKE_TARGET_DEBUG_INFO = $$debug_info_target_dir/$$TARGET
else: \
@@ -52,8 +57,23 @@ have_target:!static:if(darwin|!isEmpty(QMAKE_OBJCOPY)) {
debug_info_plist.output = $${debug_info_target}.$$debug_info_suffix/Contents/Info.plist
QMAKE_SUBSTITUTES += debug_info_plist
}
+
+ contains(INSTALLS, target):isEmpty(target.files):isEmpty(target.commands):isEmpty(target.extra) {
+ !build_pass|release {
+ debug_info_plist_target.CONFIG += no_check_exist
+ debug_info_plist_target.files = $${debug_info_target}.$$debug_info_suffix/Contents/Info.plist
+ debug_info_plist_target.path += $${target.path}/$${debug_info_target_rel}.$$debug_info_suffix/Contents
+ INSTALLS += debug_info_plist_target
+ }
+
+ debug_info_target.CONFIG += no_check_exist
+ debug_info_target.files = $$QMAKE_TARGET_DEBUG_INFO
+ debug_info_target.path += $${target.path}/$${debug_info_target_dir_rel}
+ INSTALLS += debug_info_target
+ }
} else {
QMAKE_TARGET_DEBUG_INFO = $${QMAKE_RESOLVED_TARGET}.$$debug_info_suffix
+ target.targets += $$QMAKE_TARGET_DEBUG_INFO
}
shell_target = $$shell_quote($$relative_path($$QMAKE_RESOLVED_TARGET, $$OUT_PWD))
@@ -72,6 +92,5 @@ have_target:!static:if(darwin|!isEmpty(QMAKE_OBJCOPY)) {
}
silent:QMAKE_POST_LINK = @echo creating $@.$$debug_info_suffix && $$QMAKE_POST_LINK
- target.targets += $$QMAKE_TARGET_DEBUG_INFO
QMAKE_DISTCLEAN += $$QMAKE_TARGET_DEBUG_INFO
}
diff --git a/mkspecs/hpux-g++/qmake.conf b/mkspecs/hpux-g++/qmake.conf
index b488da7178..bfd814b0cb 100644
--- a/mkspecs/hpux-g++/qmake.conf
+++ b/mkspecs/hpux-g++/qmake.conf
@@ -7,7 +7,6 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
-CONFIG += plugin_no_soname
include(../common/unix.conf)
diff --git a/mkspecs/hpuxi-acc-32/qmake.conf b/mkspecs/hpuxi-acc-32/qmake.conf
index e80a7973fe..fed3b112d1 100644
--- a/mkspecs/hpuxi-acc-32/qmake.conf
+++ b/mkspecs/hpuxi-acc-32/qmake.conf
@@ -4,7 +4,6 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
-CONFIG += plugin_no_soname
include(../common/unix.conf)
diff --git a/mkspecs/hpuxi-acc-64/qmake.conf b/mkspecs/hpuxi-acc-64/qmake.conf
index 360e35c5d6..20578cb377 100644
--- a/mkspecs/hpuxi-acc-64/qmake.conf
+++ b/mkspecs/hpuxi-acc-64/qmake.conf
@@ -47,7 +47,6 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
-CONFIG += plugin_no_soname
include(../common/unix.conf)
diff --git a/mkspecs/macx-g++-32/qmake.conf b/mkspecs/macx-g++-32/qmake.conf
index 4d76472456..3cd707d537 100644
--- a/mkspecs/macx-g++-32/qmake.conf
+++ b/mkspecs/macx-g++-32/qmake.conf
@@ -7,7 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
-CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
+CONFIG += app_bundle incremental global_init_link_order lib_version_first
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/macx.conf)
diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf
index 65c53b20f6..5b3105c668 100644
--- a/mkspecs/macx-g++/qmake.conf
+++ b/mkspecs/macx-g++/qmake.conf
@@ -7,7 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
-CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
+CONFIG += app_bundle incremental global_init_link_order lib_version_first
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/macx.conf)
diff --git a/mkspecs/macx-g++40/qmake.conf b/mkspecs/macx-g++40/qmake.conf
index a60261d0dc..308cc2007c 100644
--- a/mkspecs/macx-g++40/qmake.conf
+++ b/mkspecs/macx-g++40/qmake.conf
@@ -7,7 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
-CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
+CONFIG += app_bundle incremental global_init_link_order lib_version_first
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/macx.conf)
diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf
index afbe658dfa..b24cb7f3f3 100644
--- a/mkspecs/macx-g++42/qmake.conf
+++ b/mkspecs/macx-g++42/qmake.conf
@@ -7,7 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
-CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
+CONFIG += app_bundle incremental global_init_link_order lib_version_first
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/macx.conf)
diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf
index a22d2dfef3..0434d29b50 100644
--- a/mkspecs/macx-llvm/qmake.conf
+++ b/mkspecs/macx-llvm/qmake.conf
@@ -7,7 +7,7 @@
#
MAKEFILE_GENERATOR = UNIX
-CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
+CONFIG += app_bundle incremental global_init_link_order lib_version_first
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/macx.conf)
diff --git a/mkspecs/qnx-aarch64le-qcc/qmake.conf b/mkspecs/qnx-aarch64le-qcc/qmake.conf
new file mode 100644
index 0000000000..8e229d360b
--- /dev/null
+++ b/mkspecs/qnx-aarch64le-qcc/qmake.conf
@@ -0,0 +1,17 @@
+#
+# qmake configuration for qnx aarch64le systems
+#
+
+DEFINES += QT_NO_CLIPBOARD _FORTIFY_SOURCE=2
+
+QMAKE_LFLAGS_SHLIB += -Wl,-z,relro -Wl,-z,now
+
+include(../common/qcc-base-qnx-aarch64le.conf)
+
+contains(QT_CONFIG, stack-protector-strong) {
+ QMAKE_CFLAGS += -fstack-protector-strong
+ QMAKE_CXXFLAGS += -fstack-protector-strong
+} else {
+ QMAKE_CFLAGS += -fstack-protector -fstack-protector-all
+ QMAKE_CXXFLAGS += -fstack-protector -fstack-protector-all
+}
diff --git a/mkspecs/qnx-aarch64le-qcc/qplatformdefs.h b/mkspecs/qnx-aarch64le-qcc/qplatformdefs.h
new file mode 100644
index 0000000000..029ee7e062
--- /dev/null
+++ b/mkspecs/qnx-aarch64le-qcc/qplatformdefs.h
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 QNX Software Systems. All rights reserved.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** 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 http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://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 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../qnx-armle-v7-qcc/qplatformdefs.h"
diff --git a/mkspecs/qnx-x86-64-qcc/qmake.conf b/mkspecs/qnx-x86-64-qcc/qmake.conf
new file mode 100644
index 0000000000..f1760e4072
--- /dev/null
+++ b/mkspecs/qnx-x86-64-qcc/qmake.conf
@@ -0,0 +1,17 @@
+#
+# qmake configuration for qnx x86-64 systems
+#
+
+DEFINES += QT_NO_CLIPBOARD
+
+QMAKE_LFLAGS_SHLIB += -Wl,-z,relro -Wl,-z,now
+
+include(../common/qcc-base-qnx-x86-64.conf)
+
+contains(QT_CONFIG, stack-protector-strong) {
+ QMAKE_CFLAGS += -fstack-protector-strong
+ QMAKE_CXXFLAGS += -fstack-protector-strong
+} else {
+ QMAKE_CFLAGS += -fstack-protector -fstack-protector-all
+ QMAKE_CXXFLAGS += -fstack-protector -fstack-protector-all
+}
diff --git a/mkspecs/qnx-x86-64-qcc/qplatformdefs.h b/mkspecs/qnx-x86-64-qcc/qplatformdefs.h
new file mode 100644
index 0000000000..a8c97172d0
--- /dev/null
+++ b/mkspecs/qnx-x86-64-qcc/qplatformdefs.h
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 QNX Software Systems. All rights reserved.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** 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 http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://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 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../qnx-x86-qcc/qplatformdefs.h"
diff --git a/mkspecs/tru64-cxx/qmake.conf b/mkspecs/tru64-cxx/qmake.conf
index 024590bf91..87dabfb7e1 100644
--- a/mkspecs/tru64-cxx/qmake.conf
+++ b/mkspecs/tru64-cxx/qmake.conf
@@ -4,7 +4,6 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = tru64
-CONFIG += plugin_no_soname
include(../common/unix.conf)
diff --git a/mkspecs/tru64-g++/qmake.conf b/mkspecs/tru64-g++/qmake.conf
index 193e2694ea..c31eccca3e 100644
--- a/mkspecs/tru64-g++/qmake.conf
+++ b/mkspecs/tru64-g++/qmake.conf
@@ -4,7 +4,6 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = tru64
-CONFIG += plugin_no_soname
include(../common/unix.conf)