summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-07-16 12:10:19 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-12-19 19:22:10 +0000
commit98689cd2f9d3e9e4dac33ccf6679b90d4b39284f (patch)
tree2d057c80226508081afa560e4c31c10b326679a2
parent73b8769730701736cd0d05f904b69f2e7e35de1d (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.h43
-rw-r--r--config.tests/xlocalescanprint/xlocalescanprint.cpp62
-rw-r--r--config.tests/xlocalescanprint/xlocalescanprint.pro1
-rw-r--r--mkspecs/features/qt_configure.prf3
-rw-r--r--src/corelib/configure.json33
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\\\")"
+ }
}
},