From 2834f3355d30f5ac9faaf47fc2e34dfa6f300c7e Mon Sep 17 00:00:00 2001
From: Marc Chevrier <marc.chevrier@gmail.com>
Date: Thu, 30 Jan 2020 12:52:53 +0100
Subject: [PATCH] Bootstrap: take care of C++ features configuration

---
 bootstrap | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/bootstrap b/bootstrap
index da73bad602..d529f3b294 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1233,6 +1233,29 @@ See cmake_bootstrap.log for compilers attempted."
 fi
 echo "C++ compiler on this system is: ${cmake_cxx_compiler} ${cmake_cxx_flags}"
 
+#-----------------------------------------------------------------------------
+# Test CXX features
+
+cmake_cxx_features="make_unique"
+
+for feature in ${cmake_cxx_features}; do
+  eval "cmake_have_cxx_${feature}=0"
+  echo "Checking whether '${cmake_cxx_compiler} ${cmake_cxx_flags}' supports '${feature}'." >> cmake_bootstrap.log 2>&1
+  if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" \
+                   "${cmake_source_dir}/Source/Checks/cm_cxx_${feature}.cxx" >> cmake_bootstrap.log 2>&1; then
+    eval "cmake_have_cxx_${feature}=1"
+  fi
+done
+
+cmake_have_cxx_features=""
+for feature in ${cmake_cxx_features}; do
+  feature_variable="cmake_have_cxx_${feature}"
+  eval "feature_value=\${${feature_variable}}"
+  if [ "${feature_value}" -eq "1" ]; then
+    cmake_have_cxx_features="${cmake_have_cxx_features} -DCMake_HAVE_CXX_`cmake_toupper ${feature}`=${feature_value}"
+  fi
+done
+
 #-----------------------------------------------------------------------------
 # Test Make
 
@@ -1534,6 +1557,7 @@ cmake_c_flags="${cmake_c_flags} \
   -I`cmake_escape \"${cmake_source_dir}/Utilities\"`"
 cmake_cxx_flags="${cmake_cxx_flags} \
   -DCMAKE_BOOTSTRAP \
+  ${cmake_have_cxx_features} \
   -I`cmake_escape \"${cmake_bootstrap_dir}\"` \
   -I`cmake_escape \"${cmake_source_dir}/Source\"` \
   -I`cmake_escape \"${cmake_source_dir}/Source/LexerParser\"` \
-- 
GitLab