summaryrefslogtreecommitdiffstats
path: root/modules/libpref/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'modules/libpref/moz.build')
-rw-r--r--modules/libpref/moz.build174
1 files changed, 174 insertions, 0 deletions
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
new file mode 100644
index 0000000000..e8f8b97170
--- /dev/null
+++ b/modules/libpref/moz.build
@@ -0,0 +1,174 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+with Files("**"):
+ BUG_COMPONENT = ("Core", "Preferences: Backend")
+
+if CONFIG["ENABLE_TESTS"]:
+ DIRS += ["test/gtest"]
+
+XPCSHELL_TESTS_MANIFESTS += [
+ "test/unit/xpcshell.ini",
+ "test/unit_ipc/xpcshell.ini",
+]
+
+BROWSER_CHROME_MANIFESTS += ["test/browser/browser.ini"]
+
+XPIDL_SOURCES += [
+ "nsIPrefBranch.idl",
+ "nsIPrefLocalizedString.idl",
+ "nsIPrefService.idl",
+ "nsIRelativeFilePref.idl",
+]
+
+XPIDL_MODULE = "pref"
+
+pref_groups = [
+ "accessibility",
+ "alerts",
+ "apz",
+ "beacon",
+ "bidi",
+ "browser",
+ "canvas",
+ "channelclassifier",
+ "clipboard",
+ "content",
+ "converter",
+ "cookiebanners",
+ "datareporting",
+ "device",
+ "devtools",
+ "docshell",
+ "dom",
+ "editor",
+ "extensions",
+ "fission",
+ "font",
+ "full_screen_api",
+ "general",
+ "geo",
+ "gfx",
+ "gl",
+ "html5",
+ "idle_period",
+ "image",
+ "intl",
+ "javascript",
+ "layers",
+ "layout",
+ "mathml",
+ "media",
+ "midi",
+ "mousewheel",
+ "mozilla",
+ "network",
+ "nglayout",
+ "page_load",
+ "pdfjs",
+ "permissions",
+ "places",
+ "plain_text",
+ "preferences",
+ "print",
+ "privacy",
+ "prompts",
+ "security",
+ "signon",
+ "slider",
+ "storage",
+ "svg",
+ "telemetry",
+ "test",
+ "threads",
+ "timer",
+ "toolkit",
+ "ui",
+ "urlclassifier",
+ "view_source",
+ "webgl",
+ "widget",
+ "zoom",
+]
+if CONFIG["OS_TARGET"] == "Android":
+ pref_groups += [
+ "android",
+ "consoleservice",
+ ]
+if CONFIG["FUZZING"]:
+ pref_groups += ["fuzzing"]
+pref_groups = tuple(sorted(pref_groups))
+
+# Note: generate_static_pref_list.py relies on StaticPrefListAll.h being first.
+gen_h = ["init/StaticPrefListAll.h"]
+gen_h += ["StaticPrefsAll.h"]
+gen_h += ["init/StaticPrefList_{}.h".format(pg) for pg in pref_groups]
+gen_h += ["StaticPrefs_{}.h".format(pg) for pg in pref_groups]
+
+gen_cpp = ["init/StaticPrefsCGetters.cpp"]
+
+gen_rs = ["static_prefs.rs"]
+
+EXPORTS.mozilla += [
+ "init/StaticPrefListBegin.h",
+ "init/StaticPrefListEnd.h",
+ "nsRelativeFilePref.h",
+ "Preferences.h",
+ "StaticPrefsBase.h",
+]
+EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
+
+UNIFIED_SOURCES += [
+ "Preferences.cpp",
+ "SharedPrefMap.cpp",
+]
+
+gen_all_tuple = tuple(gen_h + gen_cpp + gen_rs)
+
+GeneratedFile(
+ *gen_all_tuple,
+ script="init/generate_static_pref_list.py",
+ entry_point="emit_code",
+ inputs=["init/StaticPrefList.yaml"]
+)
+
+PYTHON_UNITTEST_MANIFESTS += [
+ "test/python.ini",
+]
+
+XPCOM_MANIFESTS += [
+ "components.conf",
+]
+
+SPHINX_TREES["/modules/libpref"] = "docs"
+
+include("/ipc/chromium/chromium-config.mozbuild")
+
+FINAL_LIBRARY = "xul"
+
+DEFINES["OS_ARCH"] = CONFIG["OS_ARCH"]
+DEFINES["MOZ_WIDGET_TOOLKIT"] = CONFIG["MOZ_WIDGET_TOOLKIT"]
+
+if CONFIG["MOZ_SERVICES_SYNC"]:
+ DEFINES["MOZ_SERVICES_SYNC"] = True
+
+if CONFIG["MOZ_BUILD_APP"] == "browser":
+ DEFINES["MOZ_BUILD_APP_IS_BROWSER"] = True
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
+ if not CONFIG["MOZ_ANDROID_FAT_AAR_ARCHITECTURES"]:
+ FINAL_TARGET_PP_FILES[CONFIG["ANDROID_CPU_ARCH"]] += [
+ "greprefs.js",
+ ]
+ else:
+ for arch in CONFIG["MOZ_ANDROID_FAT_AAR_ARCHITECTURES"]:
+ FINAL_TARGET_FILES[arch] += [
+ "!/dist/fat-aar/output/{arch}/greprefs.js".format(arch=arch),
+ ]
+else:
+ FINAL_TARGET_PP_FILES += [
+ "greprefs.js",
+ ]