diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2018-07-16 12:10:19 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2018-12-19 19:22:10 +0000 |
commit | 98689cd2f9d3e9e4dac33ccf6679b90d4b39284f (patch) | |
tree | 2d057c80226508081afa560e4c31c10b326679a2 | |
parent | 73b8769730701736cd0d05f904b69f2e7e35de1d (diff) |
configure: enable inline tests to refer to PWD
... and use that to inline the xlocalescanprint test.
Change-Id: I0973133d7f9ecc9a38b70dc4b83df174a35b2b1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r-- | config.tests/xlocalescanprint/qglobal.h | 43 | ||||
-rw-r--r-- | config.tests/xlocalescanprint/xlocalescanprint.cpp | 62 | ||||
-rw-r--r-- | config.tests/xlocalescanprint/xlocalescanprint.pro | 1 | ||||
-rw-r--r-- | mkspecs/features/qt_configure.prf | 3 | ||||
-rw-r--r-- | src/corelib/configure.json | 33 |
5 files changed, 34 insertions, 108 deletions
diff --git a/config.tests/xlocalescanprint/qglobal.h b/config.tests/xlocalescanprint/qglobal.h deleted file mode 100644 index 98de822847..0000000000 --- a/config.tests/xlocalescanprint/qglobal.h +++ /dev/null @@ -1,43 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests 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$ -** -****************************************************************************/ - -#ifndef QGLOBAL_H -#define QGLOBAL_H - -#endif diff --git a/config.tests/xlocalescanprint/xlocalescanprint.cpp b/config.tests/xlocalescanprint/xlocalescanprint.cpp deleted file mode 100644 index 2f1f28f74e..0000000000 --- a/config.tests/xlocalescanprint/xlocalescanprint.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests 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$ -** -****************************************************************************/ - -#define QT_BEGIN_NAMESPACE -#define QT_END_NAMESPACE - -#ifdef _MSVC_VER -#define Q_CC_MSVC _MSVC_VER -#endif - -#define QT_NO_DOUBLECONVERSION - -#include "../../../src/corelib/tools/qdoublescanprint_p.h" - -int main(int argc, char **argv) -{ -#ifdef _MSVC_VER - _locale_t invalidLocale = NULL; -#else - locale_t invalidLocale = NULL; -#endif - double a = 3.4; - qDoubleSnprintf(argv[0], 1, invalidLocale, "invalid format", a); - qDoubleSscanf(argv[0], invalidLocale, "invalid format", &a, &argc); - return 0; -} diff --git a/config.tests/xlocalescanprint/xlocalescanprint.pro b/config.tests/xlocalescanprint/xlocalescanprint.pro deleted file mode 100644 index 3748d2a728..0000000000 --- a/config.tests/xlocalescanprint/xlocalescanprint.pro +++ /dev/null @@ -1 +0,0 @@ -SOURCES = xlocalescanprint.cpp diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index f5aa444ade..87190bc52a 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -1178,9 +1178,10 @@ defineTest(qtConfPrepareCompileTestSource) { # Create stub .pro file contents = "SOURCES = main.$$suffix" # Custom project code + pwd = $$val_escape($${currentConfig}.dir) for (test, tests): \ for (ent, $$qtConfScalarOrList($${test}.test.qmake)): \ - contents += $$ent + contents += $$replace(ent, "@PWD@", $$pwd) write_file($$test_dir/$$basename(test_dir).pro, contents)|error() } diff --git a/src/corelib/configure.json b/src/corelib/configure.json index eb213398ca..3b33e6158b 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -467,7 +467,38 @@ "xlocalescanprint": { "label": "xlocale.h (or equivalents)", "type": "compile", - "test": "xlocalescanprint" + "test": { + "files": { + "qglobal.h": [ + "#ifndef QGLOBAL_H", + "#define QGLOBAL_H", + "#endif" + ] + }, + "tail": [ + "#define QT_BEGIN_NAMESPACE", + "#define QT_END_NAMESPACE", + "", + "#ifdef _MSVC_VER", + "#define Q_CC_MSVC _MSVC_VER", + "#endif", + "", + "#define QT_NO_DOUBLECONVERSION", + "", + "#include QDSP_P_H" + ], + "main": [ + "#ifdef _MSVC_VER", + "_locale_t invalidLocale = NULL;", + "#else", + "locale_t invalidLocale = NULL;", + "#endif", + "double a = 3.4;", + "qDoubleSnprintf(argv[0], 1, invalidLocale, \"invalid format\", a);", + "qDoubleSscanf(argv[0], invalidLocale, \"invalid format\", &a, &argc);" + ], + "qmake": "DEFINES += QDSP_P_H=$$shell_quote(\\\"@PWD@/tools/qdoublescanprint_p.h\\\")" + } } }, |