From d9367d28ad5292dd2ed42ae85223e79e845d0f3f Mon Sep 17 00:00:00 2001 From: Michael Allwright Date: Wed, 14 Aug 2024 18:18:09 +0200 Subject: [PATCH] Merge user provided CPPFLAGS with build system CPPFLAGS (#1261) --- foreign_cc/private/make_env_vars.bzl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/foreign_cc/private/make_env_vars.bzl b/foreign_cc/private/make_env_vars.bzl index f38fa4426..30e91c3b5 100644 --- a/foreign_cc/private/make_env_vars.bzl +++ b/foreign_cc/private/make_env_vars.bzl @@ -26,7 +26,10 @@ def get_make_env_vars( # -I flags should be put into preprocessor flags, CPPFLAGS # https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Preset-Output-Variables.html - vars["CPPFLAGS"] = deps_flags.flags + if "CPPFLAGS" in vars.keys(): + vars["CPPFLAGS"] = vars["CPPFLAGS"] + deps_flags.flags + else: + vars["CPPFLAGS"] = deps_flags.flags return " ".join(["{}=\"{}\"" .format(key, _join_flags_list(workspace_name, vars[key])) for key in vars]) @@ -108,6 +111,11 @@ def _get_make_variables(workspace_name, tools, flags, user_env_vars, make_comman if toolchain_flags or user_flags: vars[flag] = toolchain_flags + user_flags + # Add user defined CPPFLAGS + user_cpp_flags = [flag for flag in user_env_vars.get("CPPFLAGS", "").split(" ") if flag] + if user_cpp_flags: + vars["CPPFLAGS"] = user_cpp_flags + tools_dict = {} for tool in _MAKE_TOOLS: tool_value = getattr(tools, _MAKE_TOOLS[tool])