summaryrefslogtreecommitdiffstats
path: root/build/rust/mozbuild/generate_buildconfig.py
diff options
context:
space:
mode:
Diffstat (limited to 'build/rust/mozbuild/generate_buildconfig.py')
-rw-r--r--build/rust/mozbuild/generate_buildconfig.py34
1 files changed, 23 insertions, 11 deletions
diff --git a/build/rust/mozbuild/generate_buildconfig.py b/build/rust/mozbuild/generate_buildconfig.py
index 09c32c37fd..ace7db891a 100644
--- a/build/rust/mozbuild/generate_buildconfig.py
+++ b/build/rust/mozbuild/generate_buildconfig.py
@@ -13,6 +13,20 @@ def generate_bool(name):
return f"pub const {name}: bool = {'true' if value else 'false'};\n"
+def generate_string_array(name):
+ value = buildconfig.substs.get(name) or []
+ return (
+ f"pub const {name}: [&str; {len(value)}] = ["
+ + ",".join(map(escape_rust_string, value))
+ + "];\n"
+ )
+
+
+def generate_string(name):
+ value = buildconfig.substs.get(name) or ""
+ return f"pub const {name}: &str = {escape_rust_string(value)};\n"
+
+
def escape_rust_string(value):
"""escape the string into a Rust literal"""
# This could be more generous, but we're only escaping paths with it.
@@ -34,14 +48,6 @@ def escape_rust_string(value):
return '"%s"' % result
-def generate_string(buildvar, output):
- buildconfig_var = buildconfig.substs.get(buildvar)
- if buildconfig_var is not None:
- output.write(
- f"pub const {buildvar}: &str = {escape_rust_string(buildconfig_var)};\n"
- )
-
-
def generate(output):
# Write out a macro which can be used within `include!`-like methods to
# reference the topobjdir.
@@ -94,10 +100,10 @@ def generate(output):
)
# Write out some useful strings from the buildconfig.
- generate_string("MOZ_MACBUNDLE_ID", output)
- generate_string("MOZ_APP_NAME", output)
+ output.write(generate_string("MOZ_MACBUNDLE_ID"))
+ output.write(generate_string("MOZ_APP_NAME"))
- # Finally, write out some useful booleans from the buildconfig.
+ # Write out some useful booleans from the buildconfig.
output.write(generate_bool("MOZ_FOLD_LIBS"))
output.write(generate_bool("NIGHTLY_BUILD"))
output.write(generate_bool("RELEASE_OR_BETA"))
@@ -105,3 +111,9 @@ def generate(output):
output.write(generate_bool("MOZ_DEV_EDITION"))
output.write(generate_bool("MOZ_ESR"))
output.write(generate_bool("MOZ_DIAGNOSTIC_ASSERT_ENABLED"))
+
+ # Used by toolkit/crashreporter/client
+ output.write(generate_bool("MOZ_CRASHREPORTER_MOCK"))
+ output.write(generate_string_array("CC_BASE_FLAGS"))
+ output.write(generate_string_array("MOZ_GTK3_CFLAGS"))
+ output.write(generate_string_array("MOZ_GTK3_LIBS"))