aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2017-11-28 20:25:52 -0500
committerJack Lloyd <[email protected]>2017-11-29 06:59:19 -0500
commita2ae90739a43c7afaf72c15efc0f5843698b73d1 (patch)
treed239943be6471521a277a12f8318c33d62eb2fab
parent07bc7ad6d6189575ae16fb5d87d257d93277eb3e (diff)
Split the language flags out of CXXFLAGS
Allows distributor to override CFLAGS without having to worry about what -std=c++xx options we are using. See GH #1237
-rwxr-xr-xconfigure.py16
-rw-r--r--src/build-data/makefile/gmake_fuzzers.in2
-rw-r--r--src/build-data/makefile/header.in7
3 files changed, 15 insertions, 10 deletions
diff --git a/configure.py b/configure.py
index 49d2b2ce2..4040f895c 100755
--- a/configure.py
+++ b/configure.py
@@ -1206,10 +1206,11 @@ class CompilerInfo(InfoObject): # pylint: disable=too-many-instance-attributes
return (' '.join(gen_flags())).strip()
+ def cc_lang_flags(self, options):
+ return self.lang_flags
+
def cc_compile_flags(self, options):
def gen_flags():
- yield self.lang_flags
-
if options.with_debug_info:
yield self.debug_info_flags
@@ -1628,12 +1629,14 @@ class CmakeGenerator(object):
fd.write('option(ENABLED_OPTIONAL_WARINIGS "If enabled more strict warning policy will be used" OFF)\n')
fd.write('option(ENABLED_LTO "If enabled link time optimization will be used" OFF)\n\n')
- fd.write('set(COMPILER_FEATURES_RELEASE %s %s)\n'
- % (self._cc.cc_compile_flags(self._options_release),
+ fd.write('set(COMPILER_FEATURES_RELEASE %s %s %s)\n'
+ % (self._cc.cc_lang_flags(self._options_release),
+ self._cc.cc_compile_flags(self._options_release),
self._cc.mach_abi_link_flags(self._options_release)))
- fd.write('set(COMPILER_FEATURES_DEBUG %s %s)\n'
- % (self._cc.cc_compile_flags(self._options_debug),
+ fd.write('set(COMPILER_FEATURES_DEBUG %s %s %s)\n'
+ % (self._cc.cc_lang_flags(self._options_debug),
+ self._cc.cc_compile_flags(self._options_debug),
self._cc.mach_abi_link_flags(self._options_debug)))
fd.write('set(COMPILER_FEATURES $<$<NOT:$<CONFIG:DEBUG>>:${COMPILER_FEATURES_RELEASE}>'
@@ -2018,6 +2021,7 @@ def create_template_vars(source_paths, build_config, options, modules, cc, arch,
'cxx_abi_flags': cc.mach_abi_link_flags(options),
'linker': cc.linker_name or '$(CXX)',
+ 'cc_lang_flags': cc.cc_lang_flags(options),
'cc_compile_flags': cc.cc_compile_flags(options),
'cc_warning_flags': cc.cc_warning_flags(options),
diff --git a/src/build-data/makefile/gmake_fuzzers.in b/src/build-data/makefile/gmake_fuzzers.in
index 62f7cdd29..61acdad4d 100644
--- a/src/build-data/makefile/gmake_fuzzers.in
+++ b/src/build-data/makefile/gmake_fuzzers.in
@@ -3,7 +3,7 @@
FUZZER_LINK_CMD = %{fuzzer_link_cmd}
FUZZER_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO) %{fuzzer_libs}
-FUZZER_FLAGS = $(CXXFLAGS) $(WARN_FLAGS)
+FUZZER_FLAGS = $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS)
%{fuzzer_build_cmds}
diff --git a/src/build-data/makefile/header.in b/src/build-data/makefile/header.in
index 6757abbad..9929bc4ba 100644
--- a/src/build-data/makefile/header.in
+++ b/src/build-data/makefile/header.in
@@ -4,6 +4,7 @@ LINKER = %{linker}
PYTHON_EXE = %{python_exe}
+LANG_FLAGS = %{cc_lang_flags}
CXXFLAGS = %{cc_compile_flags}
WARN_FLAGS = %{cc_warning_flags}
SO_OBJ_FLAGS = %{shared_flags}
@@ -16,9 +17,9 @@ LIB_LINKS_TO = %{link_to}
CLI_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO)
TEST_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO)
-LIB_FLAGS = $(SO_OBJ_FLAGS) $(CXXFLAGS) $(WARN_FLAGS)
-CLI_FLAGS = $(CXXFLAGS) $(WARN_FLAGS)
-TEST_FLAGS = $(CXXFLAGS) $(WARN_FLAGS)
+LIB_FLAGS = $(SO_OBJ_FLAGS) $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS)
+CLI_FLAGS = $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS)
+TEST_FLAGS = $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS)
SCRIPTS_DIR = %{scripts_dir}
INSTALLED_LIB_DIR = %{prefix}/%{libdir}