From 80d095468a2ee5b920f6a74240f0367d27d56b68 Mon Sep 17 00:00:00 2001 From: Felix Geyer Date: Sun, 20 Sep 2015 20:28:13 +0200 Subject: [PATCH] Make compiler feature testing more reliable. * Make compiler feature testing more reliable. - Fixes testsuite failure on alpha. (Closes: #789807) - Features_Extract_strings_from_test_binary_more_reliably.patch --- debian/changelog | 3 ++ ...rings_from_test_binary_more_reliably.patch | 32 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 36 insertions(+) create mode 100644 debian/patches/Features_Extract_strings_from_test_binary_more_reliably.patch diff --git a/debian/changelog b/debian/changelog index f5bad81ef..bb64e4cfd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ cmake (3.3.2-1) UNRELEASED; urgency=medium * New upstream release. * Drop Debian menu entries. + * Make compiler feature testing more reliable. + - Fixes testsuite failure on alpha. (Closes: #789807) + - Features_Extract_strings_from_test_binary_more_reliably.patch -- Felix Geyer Fri, 04 Sep 2015 17:12:34 +0200 diff --git a/debian/patches/Features_Extract_strings_from_test_binary_more_reliably.patch b/debian/patches/Features_Extract_strings_from_test_binary_more_reliably.patch new file mode 100644 index 000000000..e28f47959 --- /dev/null +++ b/debian/patches/Features_Extract_strings_from_test_binary_more_reliably.patch @@ -0,0 +1,32 @@ +From 150e1b27c54cf4e19e19ad7836e6bbfb9fbb5266 Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Thu, 10 Sep 2015 14:37:20 -0400 +Subject: [PATCH] Features: Extract strings from test binary more reliably + (#15736) + +Since commit v3.1.0-rc1~635^2~7 (project: Add infrastructure for +recording CXX compiler features, 2013-10-17) we compile a test source to +a binary and then extract "_FEATURES:..." strings from the binary +with the file(STRINGS) command. Add a newline at the beginning of the +string literal to be sure file(STRINGS) can extract the first entry as a +string independent of whatever else the compiler may put before the +storage it allocates for the literal within the binary. +--- + Modules/Internal/FeatureTesting.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Modules/Internal/FeatureTesting.cmake b/Modules/Internal/FeatureTesting.cmake +index abd9a26..86b89b2 100644 +--- a/Modules/Internal/FeatureTesting.cmake ++++ b/Modules/Internal/FeatureTesting.cmake +@@ -5,7 +5,7 @@ macro(record_compiler_features lang compile_flags feature_list) + string(TOLOWER ${lang} lang_lc) + file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin") + file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}" " +- const char features[] = {\"\"\n") ++ const char features[] = {\"\\n\"\n") + + get_property(known_features GLOBAL PROPERTY CMAKE_${lang}_KNOWN_FEATURES) + +-- +1.7.10.4 diff --git a/debian/patches/series b/debian/patches/series index 198f0e9d0..09adfa81f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,3 +4,4 @@ fix-ftbfs-on-kfreebsd.patch FindJNI.cmake.mips.patch fix-hdf5-hl.patch FindJNI-Add-support-for-x32-architecture-on-Linux.patch +Features_Extract_strings_from_test_binary_more_reliably.patch