From ec16ba393baf504d4b192cc349775c62d3c96aa0 Mon Sep 17 00:00:00 2001 From: Jani Heikkinen Date: Mon, 2 Oct 2017 09:23:31 +0300 Subject: Revert "Qmake: Introduce and use QMAKE_NULL_DEVICE variable" With that change QNX7 builds in windows will fail. This reverts commit b4e9cb4c29ef797fe535a84717bebf81fbdc61e4. Task-number: QTBUG-63535 Change-Id: Ia91d173803af62d41d1a7e5832bab911920f590d Reviewed-by: Frederik Gladhorn --- mkspecs/features/ctest_testcase_common.prf | 14 ++++++++++++-- mkspecs/features/qt_functions.prf | 5 ++++- mkspecs/features/spec_post.prf | 2 -- mkspecs/features/toolchain.prf | 18 ++++++++++++------ qmake/generators/win32/mingw_make.cpp | 8 +++++++- 5 files changed, 35 insertions(+), 12 deletions(-) diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf index 15701b6a41..cdc5cca1d7 100644 --- a/mkspecs/features/ctest_testcase_common.prf +++ b/mkspecs/features/ctest_testcase_common.prf @@ -1,5 +1,10 @@ -CMAKE_VERSION = $$system(cmake --version 2>$$QMAKE_NULL_DEVICE, lines) +win32 { + CMAKE_VERSION = $$system(cmake --version 2>NUL, lines) +} else { + CMAKE_VERSION = $$system(cmake --version 2>/dev/null, lines) +} + CMAKE_VERSION = $$member(CMAKE_VERSION, 0, 0) check.commands = @@ -10,7 +15,12 @@ isEmpty(CMAKE_VERSION) { return() } -CTEST_VERSION = $$system(ctest --version 2>$$QMAKE_NULL_DEVICE) +win32 { + CTEST_VERSION = $$system(ctest --version 2>NUL) +} else { + CTEST_VERSION = $$system(ctest --version 2>/dev/null) +} + isEmpty(CTEST_VERSION) { message("ctest executable not found. Not running CMake unit tests") return() diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 1f44650227..c00fdb73f8 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -291,7 +291,10 @@ defineReplace(pkgConfigExecutable) { } } - PKG_CONFIG += 2> $$QMAKE_NULL_DEVICE + equals(QMAKE_HOST.os, Windows): \ + PKG_CONFIG += 2> NUL + else: \ + PKG_CONFIG += 2> /dev/null return($$PKG_CONFIG) } diff --git a/mkspecs/features/spec_post.prf b/mkspecs/features/spec_post.prf index 62be69ffda..f87bf3c037 100644 --- a/mkspecs/features/spec_post.prf +++ b/mkspecs/features/spec_post.prf @@ -82,7 +82,6 @@ equals(MAKEFILE_GENERATOR, MSBUILD) \ QMAKE_MKDIR = mkdir # legacy QMAKE_MKDIR_CMD = if not exist %1 mkdir %1 & if not exist %1 exit 1 QMAKE_STREAM_EDITOR = $(QMAKE) -install sed - QMAKE_NULL_DEVICE = NUL QMAKE_INSTALL_FILE = copy /y QMAKE_INSTALL_PROGRAM = copy /y } else { @@ -102,7 +101,6 @@ equals(MAKEFILE_GENERATOR, MSBUILD) \ QMAKE_MKDIR = mkdir -p # legacy QMAKE_MKDIR_CMD = test -d %1 || mkdir -p %1 QMAKE_STREAM_EDITOR = sed - QMAKE_NULL_DEVICE = /dev/null equals(QMAKE_HOST.os, Windows) { MINGW_IN_SHELL = 1 # legacy diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf index e7ada377d7..35175f1744 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -32,11 +32,15 @@ isEmpty($${target_prefix}.INCDIRS) { # Get default include and library paths from compiler # gcc { - cmd_suffix = "<$$QMAKE_NULL_DEVICE >$$QMAKE_NULL_DEVICE" - equals(QMAKE_HOST.os, Windows): \ - cmd_prefix = "set LC_ALL=C&" - else: \ + !equals(QMAKE_HOST.os, Windows) { cmd_prefix = "LC_ALL=C" + cmd_suffix = "/dev/null" + null_file = /dev/null + } else { + cmd_prefix = "set LC_ALL=C&" + cmd_suffix = "NUL" + null_file = NUL + } cxx_flags = $$QMAKE_CXXFLAGS @@ -55,7 +59,7 @@ isEmpty($${target_prefix}.INCDIRS) { rim_qcc: \ # Need the cc1plus and ld command lines to pick up the paths - cxx_flags += $$QMAKE_LFLAGS_SHLIB -o $$QMAKE_NULL_DEVICE -v + cxx_flags += $$QMAKE_LFLAGS_SHLIB -o $$null_file -v else: darwin:clang: \ # Need to link to pick up library paths cxx_flags += $$QMAKE_LFLAGS_SHLIB -o /dev/null -v -Wl,-v @@ -171,7 +175,9 @@ defineReplace(qtVariablesFromMSVC) { } defineReplace(qtVariablesFromGCC) { - ret = $$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) <$$QMAKE_NULL_DEVICE 2>$$QMAKE_NULL_DEVICE", lines, ec) + null_device = /dev/null + equals(QMAKE_HOST.os, Windows): null_device = NUL + ret = $$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) <$$null_device 2>$$null_device", lines, ec) !equals(ec, 0): qtCompilerErrror($$1) return($$ret) } diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp index 2d69f708fb..bad53dc5b7 100644 --- a/qmake/generators/win32/mingw_make.cpp +++ b/qmake/generators/win32/mingw_make.cpp @@ -36,6 +36,12 @@ #include #include +#ifdef Q_OS_WIN +#define NULL_DEVICE "NUL" +#else +#define NULL_DEVICE "/dev/null" +#endif + QT_BEGIN_NAMESPACE MingwMakefileGenerator::MingwMakefileGenerator() : Win32MakefileGenerator() @@ -323,7 +329,7 @@ void MingwMakefileGenerator::writeBuildRulesPart(QTextStream &t) if(!project->isEmpty("QMAKE_PRE_LINK")) t << "\n\t" <isActiveConfig("staticlib") && project->first("TEMPLATE") == "lib") { - t << "\n\t-$(DEL_FILE) $(DESTDIR_TARGET) 2>$$QMAKE_NULL_DEVICE"; + t << "\n\t-$(DEL_FILE) $(DESTDIR_TARGET) 2>" NULL_DEVICE; if (project->values("OBJECTS").count() < var("QMAKE_LINK_OBJECT_MAX").toInt()) { t << "\n\t$(LIB) $(DESTDIR_TARGET) " << objectsLinkLine << " " ; } else { -- cgit v1.2.3