From f99bcd763d590be43dbc297699960f66edd6ad19 Mon Sep 17 00:00:00 2001 From: James McDonnell Date: Thu, 9 Jun 2016 12:16:25 -0400 Subject: Add some 64-bit QNX platforms Add x86-64 and aarch64le QNX platforms. These platforms will be available in QNX 7.0. Change-Id: Iba1f635ba45fddf1a1caf907415a23a510ba0818 Reviewed-by: Oswald Buddenhagen Reviewed-by: Lars Knoll --- mkspecs/common/qcc-base-qnx-aarch64le.conf | 23 ++++++++++++++++++++ mkspecs/common/qcc-base-qnx-x86-64.conf | 23 ++++++++++++++++++++ mkspecs/qnx-aarch64le-qcc/qmake.conf | 17 +++++++++++++++ mkspecs/qnx-aarch64le-qcc/qplatformdefs.h | 34 ++++++++++++++++++++++++++++++ mkspecs/qnx-x86-64-qcc/qmake.conf | 17 +++++++++++++++ mkspecs/qnx-x86-64-qcc/qplatformdefs.h | 34 ++++++++++++++++++++++++++++++ 6 files changed, 148 insertions(+) create mode 100644 mkspecs/common/qcc-base-qnx-aarch64le.conf create mode 100644 mkspecs/common/qcc-base-qnx-x86-64.conf create mode 100644 mkspecs/qnx-aarch64le-qcc/qmake.conf create mode 100644 mkspecs/qnx-aarch64le-qcc/qplatformdefs.h create mode 100644 mkspecs/qnx-x86-64-qcc/qmake.conf create mode 100644 mkspecs/qnx-x86-64-qcc/qplatformdefs.h (limited to 'mkspecs') 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/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" -- cgit v1.2.3 From 5c38740031d67ae6be54615eb26e8c57d63b04b1 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 21 Jun 2016 17:09:49 +0200 Subject: limit installation of ANGLE translator and preprocessor helper libraries libGLES2 (the only user of these libraries) is built dynamically even in a static qt built when dynamicgl is configured. in this case the static libraries need not be installed. amends 2311997. Change-Id: Ic9bc3937d6ee0d97e0ca7fc96596fa90ebfe8710 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_helper_lib.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf index 8e61316aa6..1dea474b35 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) -- cgit v1.2.3 From 4c630fce9e39ffa70492c114707359e9c4046443 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 21 Jun 2016 18:19:09 +0200 Subject: fix make -i wreaking havoc in configure tests outside qtbase the tests would inherit MAKEFLAGS, with somewhat predicatble results. Change-Id: Ia17638f6229d0ae86f5558726850040703d90044 Reviewed-by: Joerg Bornemann --- mkspecs/features/configure.prf | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf index 2cb2981758..a3ec227eee 100644 --- a/mkspecs/features/configure.prf +++ b/mkspecs/features/configure.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" # Ensure that a cache is present. If none was found on startup, this will create # one in the build directory of the project which loads this feature. -- cgit v1.2.3 From 1d034244c261520d5e739534dc264c2500e02b5f Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 21 Jun 2016 18:20:51 +0200 Subject: purge vestige: plugin_no_soname is no more ... for a loooong time. it was replaced by plugin_with_soname (which is unused so far). Change-Id: Ifc377d155d6eac41e85f3a0914ed817d55b5648b Reviewed-by: Joerg Bornemann --- mkspecs/hpux-g++/qmake.conf | 1 - mkspecs/hpuxi-acc-32/qmake.conf | 1 - mkspecs/hpuxi-acc-64/qmake.conf | 1 - mkspecs/macx-clang-32/qmake.conf | 2 +- mkspecs/macx-clang/qmake.conf | 2 +- mkspecs/macx-g++-32/qmake.conf | 2 +- mkspecs/macx-g++/qmake.conf | 2 +- mkspecs/macx-g++40/qmake.conf | 2 +- mkspecs/macx-g++42/qmake.conf | 2 +- mkspecs/macx-ios-clang/qmake.conf | 2 +- mkspecs/macx-llvm/qmake.conf | 2 +- mkspecs/tru64-cxx/qmake.conf | 1 - mkspecs/tru64-g++/qmake.conf | 1 - 13 files changed, 8 insertions(+), 13 deletions(-) (limited to 'mkspecs') 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-clang-32/qmake.conf b/mkspecs/macx-clang-32/qmake.conf index ec33c02e93..56a3bb8ec6 100644 --- a/mkspecs/macx-clang-32/qmake.conf +++ b/mkspecs/macx-clang-32/qmake.conf @@ -3,7 +3,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-clang/qmake.conf b/mkspecs/macx-clang/qmake.conf index d14b11179a..936f9fe48a 100644 --- a/mkspecs/macx-clang/qmake.conf +++ b/mkspecs/macx-clang/qmake.conf @@ -3,7 +3,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++-32/qmake.conf b/mkspecs/macx-g++-32/qmake.conf index af6fe5689e..46cddda277 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 9c44f278e9..f992138400 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 0f2dd6bb71..e03de6eaa8 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 e003193e1b..7efad4f099 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-ios-clang/qmake.conf b/mkspecs/macx-ios-clang/qmake.conf index d5e5840902..9b145c2b03 100644 --- a/mkspecs/macx-ios-clang/qmake.conf +++ b/mkspecs/macx-ios-clang/qmake.conf @@ -3,7 +3,7 @@ # MAKEFILE_GENERATOR = UNIX -CONFIG += app_bundle reduce_exports incremental global_init_link_order lib_version_first plugin_no_soname sdk +CONFIG += app_bundle reduce_exports incremental global_init_link_order lib_version_first sdk QMAKE_INCREMENTAL_STYLE = sublib QMAKE_MACOSX_DEPLOYMENT_TARGET = diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf index cf4e00cd61..1267a39e71 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/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) -- cgit v1.2.3 From 4b0cb35b84011daa46cc60c4123562f431f179dc Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Fri, 10 Jun 2016 20:27:53 -0700 Subject: Fix installation of debug symbols on Apple platforms. This follows up ab599a39313c22fd14cc5466cea5c61bbcdbba8e, which did not take installation into account. Task-number: QTBUG-54036 Change-Id: Ic1b3acb8984255dd1ca1c288b7b150814ce9e606 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/unix/separate_debug_info.prf | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'mkspecs') 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 } -- cgit v1.2.3