0
Fork 0
mirror of https://codeberg.org/librewolf/source.git synced 2024-12-21 21:23:08 -05:00

Preserving output for what's valid in mozconfig

This commit is contained in:
Bert van der Weerd 2023-10-21 15:09:41 +02:00
parent 8256d0629e
commit 09fa818af0
No known key found for this signature in database
GPG key ID: 73370A0B9E5516B0

423
docs/mach-parameters.md Normal file
View file

@ -0,0 +1,423 @@
To get all these options, use:
```
./mach configure -- --help | less
```
```
Usage: configure.py [options]
Options: [defaults in brackets after descriptions]
Help options:
--help print this message
Options from ../build/moz.configure/init.configure:
--enable-application Application to build. Same as --enable-project.
--enable-project Project to build [browser]
--enable-artifact-builds Download and use prebuilt binary artifacts.
--host Define the system type performing the build
--target Define the system type where the resulting executables will be used
--with-version-file-path Specify a custom path to app version files instead of auto-detecting
--as-milestone={early-beta,late-beta,release}
Build with another milestone configuration (e.g., as release)
--enable-update-channel Select application update channel [default]
--with-app-basename Typically stays consistent for multiple branded versions of a given application (e.g. Aurora and Firefox both use "Firefox"), but may vary for full rebrandings (e.g. Iceweasel). Used for application.ini's "Name" field, which controls profile location in the absence of a "Profile" field (see below), and various system integration hooks (Unix remoting, Windows MessageWindow name, etc.
Options from ../moz.configure:
--enable-artifact-build-symbols={full}
Download symbols when artifact builds are enabled.
--disable-compile-environment
Disable compiler/library checks
--disable-tests Do not build test libraries & programs
--enable-debug Enable building with developer debug info.
--with-debug-label Debug DEBUG_<value> for each comma-separated value given
--disable-release Do not build with more conservative, release engineering-orient
--disable-unified-build Enable building modules in non unified context
--enable-valgrind Enable Valgrind integration hooks
--enable-build-backend={Clangd,ChromeMap,CompileDB,CppEclipse,FasterMake,FasterMake+Recur,RecursiveMake,StaticAnalysis,TestManifest,VisualStudio}
Deprecated
--build-backends={Clangd,ChromeMap,CompileDB,CppEclipse,FasterMake,FasterMake+RecursiveMasiveMake,StaticAnalysis,TestManifest,VisualStudio}
Build backends to generate [RecursiveMake,FasterMake,Clangd]
--enable-gtest-in-build Enable building the gtest libxul during the build.
--enable-ui-locale Select the user interface locale (default: en-US) [en-US]
--disable-icu4x Disable using ICU4X
--enable-dtrace Build with dtrace support
--disable-icf Disable Identical Code Folding
--enable-strip Enable stripping of libs & executables
--disable-install-strip Enable stripping of libs & executables when packaging
--with-system-zlib Use system libz
Options from ../build/moz.configure/bootstrap.configure:
--enable-bootstrap Automatically bootstrap or update some toolchains
Options from ../build/moz.configure/toolchain.configure:
--disable-optimize Disable optimizations via compiler flags
--with-toolchain-prefix Prefix for the target toolchain
--with-compiler-wrapper Enable compiling with wrappers such as distcc and ccache
--with-ccache Enable compiling with ccache
--enable-gold Deprecated
--enable-linker Select the linker {bfd, gold, ld64, lld, lld-*, mold}
--disable-debug-symbols Disable debug symbols using the given compiler flags
--enable-address-sanitizer
Enable Address Sanitizer
--enable-memory-sanitizer
Enable Memory Sanitizer
--enable-thread-sanitizer
Enable Thread Sanitizer
--enable-undefined-sanitizer
Enable UndefinedBehavior Sanitizer
--enable-signed-overflow-sanitizer
Enable UndefinedBehavior Sanitizer (Signed Integer Overflow Par
--enable-unsigned-overflow-sanitizer
Enable UndefinedBehavior Sanitizer (Unsigned Integer Overflow P
--enable-hardening Enables security hardening compiler options
--enable-frame-pointers Enable frame pointers
--enable-coverage Enable code coverage
--enable-clang-plugin Enable building with the Clang plugin (gecko specific static an
--enable-clang-plugin-alpha
Enable static analysis with clang-plugin alpha checks.
--enable-mozsearch-plugin
Enable building with the mozsearch indexer plugin
--enable-fuzzing Enable fuzzing support
--enable-snapshot-fuzzing
Enable experimental snapshot fuzzing support
--enable-cpp-rtti Enable C++ RTTI
--enable-path-remapping={c,rust}
Enable remapping source and object paths in compiled outputs.
Options from ../build/moz.configure/memory.configure:
--enable-jemalloc Replace memory allocator with jemalloc
--enable-jemalloc Replace memory allocator with jemalloc
Options from ../build/moz.configure/headers.configure:
--with-linux-headers location where the Linux kernel headers can be found
Options from ../build/moz.configure/warnings.configure:
--enable-warnings-as-errors
Enable treating warnings as errors
Options from ../build/moz.configure/flags.configure:
--disable-new-pass-manager
Use the legacy LLVM pass manager in clang builds
Options from ../build/moz.configure/lto-pgo.configure:
--enable-profile-generate={cross}
Build a PGO instrumented binary
--enable-profile-use={cross}
Use a generated profile during the build
--with-pgo-profile-path Path to the directory with unmerged profile data to use during
--with-pgo-jarlog Use the provided jarlog file when packaging during a profile-us
--enable-lto={full,thin,cross}
Enable LTO
Options from ../toolkit/moz.configure:
--enable-jprof Enable jprof profiling tool (needs mozilla/tools/jprof)
--enable-dmd Enable Dark Matter Detector (heap profiler). Also enables jemallace-malloc and profiling
--enable-audio-backends={aaudio,alsa,audiounit,jack,opensl,oss,pulseaudio,sndio,sunaudio,
Enable various cubeb backends [pulseaudio]
--enable-alsa Enable ALSA audio backend.
--enable-jack Enable JACK audio backend.
--enable-pulseaudio Enable PulseAudio audio backend.
--enable-sndio Enable sndio audio backend.
--with-l10n-base Path to l10n repositories
--enable-default-toolkit={cairo-gtk3,cairo-gtk3-wayland,cairo-gtk3-x11-wayland,cairo-gtk3d-only,cairo-gtk3-x11-only}
Select default toolkit [cairo-gtk3]
--with-gl-provider Set GL provider backend type
--disable-wmf Disable support for Windows Media Foundation
--disable-ffmpeg Disable FFmpeg for fragmented H264/AAC decoding
--disable-av1 Disable av1 video support
--disable-jxl Disable jxl image support
--disable-real-time-tracing
Disable tracing of real-time audio callbacks
--enable-openmax Enable OpenMAX IL for video/audio decoding
--enable-chrome-format={omni,jar,flat}
Select FORMAT of chrome files during packaging. [omni]
--enable-minify={properties,js}
Select types of files to minify during packaging. [properties]
--enable-gpsd Enable gpsd support
--with-mozilla-api-keyfile
Use the secret key contained in the given keyfile for Mozilla A sts
--with-google-location-service-api-keyfile
Use the secret key contained in the given keyfile for Mozilla A sts
--with-google-location-service-api-keyfile
Use the secret key contained in the given keyfile for Google Lo ervice API requests
--with-google-safebrowsing-api-keyfile
Use the secret key contained in the given keyfile for Google Sa ng API requests
--with-bing-api-keyfile Use the client id and secret key contained in the given keyfile g API requests
--with-adjust-sdk-keyfile
Use the secret key contained in the given keyfile for Adjust SD ts
--with-leanplum-sdk-keyfile
Use the client id and secret key contained in the given keyfile nplum SDK requests
--with-pocket-api-keyfile
Use the secret key contained in the given keyfile for Pocket AP sts
--enable-webrender-debugger
Build the websocket debug server in WebRender
--enable-app-system-headers
Use additional system headers defined in $MOZ_BUILD_APP/app-sys ers.mozbuild
--disable-printing Disable printing support
--disable-synth-speechd Disable speech-dispatcher support
--disable-webspeech Disable support for HTML Speech API
--disable-webspeechtestbackend
Disable support for HTML Speech API Test Backend
--enable-skia-pdf Enable Skia PDF
--with-system-webp Use system libwebp (located with pkgconfig)
--disable-webdriver Disable support for WebDriver remote protocols
--enable-geckodriver Build geckodriver
--enable-webrtc Enable support for WebRTC
--enable-raw Enable support for RAW media
--enable-address-sanitizer-reporter
Enable Address Sanitizer Reporter Extension
--enable-proxy-bypass-protection
Prevent suspected or confirmed proxy bypasses
--disable-proxy-direct-failover
Disable direct failover for system requests
--disable-accessibility Disable accessibility support
--with-unsigned-addon-scopes={app,system}
Addon scopes where signature is not required
--allow-addon-sideload Addon sideloading is allowed
--enable-extensions-webidl-bindings
Enable building experimental WebExtensions WebIDL bindings
--enable-launcher-process
Enable launcher process by default
--enable-bundled-fonts Enable support for bundled fonts on desktop platforms
--enable-reflow-perf Enable reflow performance tracing
--enable-layout-debugger Enable layout debugger
--with-system-libvpx Use system libvpx (located with pkgconfig)
--with-system-jpeg Use system libjpeg (installed at given prefix)
--with-system-png Use system libpng
--with-wasm-sandboxed-libraries={graphite,ogg,hunspell,expat,woff2}
Enable wasm sandboxing for the selected libraries [graphite,ogg l,expat,woff2]
--with-wasi-sysroot Path to wasi sysroot for wasm sandboxing
--enable-disk-remnant-avoidance
Prevent persistence of auxiliary files on application close
--enable-forkserver Enable fork server
--disable-backgroundtasks
Disable running in background task mode
--enable-mobile-optimize Enable mobile optimizations
--disable-pref-extensions
Disable pref extensions such as autoconfig
--disable-startupcache Disable startup cache
--with-crashreporter-url Set an alternative crashreporter url [https://crash-reports.moz /]
--with-system-libevent Use system libevent
--enable-crashreporter Enable crash reporting
--disable-dbus Disable dbus support
--enable-debug-js-modules
Enable debug mode for frontend JS libraries
--enable-dump-painting Enable paint debugging
--enable-libproxy Enable libproxy support
--enable-logrefcnt Enable logging of refcounts
--disable-negotiateauth Disable GSS-API negotiation
--disable-parental-controls
Do not build parental controls
--enable-sandbox Enable sandboxing support
--disable-system-extension-dirs
Disable searching system- and account-global directories for ex of any kind; use only profile-specific extension directories
--enable-system-pixman Use system pixman (located with pkgconfig)
--disable-universalchardet
Disable universal encoding detection
--disable-zipwriter Disable zipwriter component
--with-user-appdir Set user-specific appdir [.mozilla]
--enable-uniffi-fixtures Enable UniFFI Fixtures/Examples
--disable-system-policies
Disable reading policies from Windows registry, macOS's file sy ributes, and /etc/firefox
--disable-legacy-profile-creation
Disable the creation a legacy profile, to be used by old versio refox, when no profiles exist.
Options from ../js/moz.configure:
--with-app-name Used for e.g. the binary program file name. If not set, default owercase form of MOZ_APP_BASENAME.
--enable-smoosh Enable SmooshMonkey (new JS engine frontend)
--enable-js-shell Build the JS shell
--enable-record-tuple Enable records and tuples (and disables JIT)
--enable-decorators Enable experimental JS Decorators support
--enable-jit Enable use of the JITs
--enable-ion Deprecated
--enable-simulator={arm,arm64,mips32,mips64,loong64,riscv64}
Enable a JIT code simulator for the specified architecture
--enable-instruments Enable instruments remote profiling
--enable-callgrind Enable callgrind profiling
--enable-profiling Set compile flags necessary for using sampling profilers (e.g. erf)
--enable-vtune Enable VTune profiling
--enable-gc-probes Turn on probes for allocation and finalization
--enable-gczeal Enable zealous GCing
--enable-oom-breakpoint Enable a breakpoint function for artificial OOMs
--enable-perf Enable Linux perf integration
--enable-jitspew Enable the Jit spew and IONFLAGS environment variable
--enable-masm-verbose Enable MacroAssembler verbosity of generated code.
--enable-arm64-fjcvtzs Enable static use of FJCVTZS instruction on Aarch64 targets.
--disable-ctypes Disable js-ctypes
--enable-pipeline-operator
Enable pipeline operator
--enable-rust-simd Enable explicit SIMD in Rust code.
--enable-spidermonkey-telemetry
Enable performance telemetry for SpiderMonkey (e.g. compile and es)
--enable-wasm-codegen-debug
Enable debugging for wasm codegen
--wasm-no-experimental Force disable all wasm experimental features for testing.
--disable-wasm-function-references
Disable WebAssembly function-references
--enable-wasm-tail-calls Enable WebAssembly tail-calls
--disable-wasm-gc Disable WebAssembly GC
--disable-shared-memory Disable JS/WebAssembly shared memory and atomics
--disable-wasm-extended-const
Disable WebAssembly extended constant expressions
--enable-wasm-simd Enable WebAssembly SIMD
--enable-wasm-avx Enable AVX support for WebAssembly SIMD
--enable-wasm-relaxed-simd
Enable WebAssembly relaxed SIMD
--enable-wasm-moz-intgemm
Enable WebAssembly intgemm private intrinsics
--enable-wasm-memory64 Enable WebAssembly Memory64
--enable-wasm-memory-control
Enable WebAssembly fine-grained memory control instructions
--enable-wasm-multi-memory
Enable WebAssembly multi-memory
--with-qemu-exe Use path as an arm emulator on host platforms
--with-cross-lib Use dir as the location for arm libraries [/usr/unknown-unknown
--with-cross-lib Use dir as the location for arm libraries [/usr/unknown-unknown ] --with-sixgill Enable static checking of code using sixgill
--with-jitreport-granularity={0,1,2,3}
Default granularity at which to report JIT code to external too no info, 1 - code ranges for while functions only, 2 - per-line information, 3 - per-op inform 3]
--with-system-icu Use system ICU
--without-intl-api Disable ECMAScript Internationalization API
--with-temporal-api Enable ECMAScript Temporal API
--enable-wasm-type-reflections
Enable type reflection in WASM JS-API
Options from ../build/moz.configure/nspr.configure:
--with-system-nspr Use system NSPR
Options from ../build/moz.configure/rust.configure:
--enable-rust-tests Enable building and running of Rust tests during `make check`
--enable-rust-debug Build Rust code with debug assertions turned on.
--disable-cargo-incremental
Disable incremental rust compilation.
Options from ../build/moz.configure/bindgen.configure:
--with-libclang-path Absolute path to a directory containing Clang/LLVM libraries fo n (version 3.9.x or above)
--with-clang-path Absolute path to a Clang binary for bindgen (version 3.9.x or a
Options from ../js/ffi.configure:
--with-system-ffi Use system libffi (located with pkgconfig)
Options from ../build/moz.configure/node.configure:
--disable-nodejs Require Node.js to build
Options from ../build/moz.configure/nss.configure:
--with-system-nss Use system NSS
Options from ../build/moz.configure/update-programs.configure:
--disable-updater Disable building the updater
--enable-unverified-updates
Enable application update without verifying MAR or updater bina tures
--enable-default-browser-agent
Enable building the default browser agent
Options from ../build/moz.configure/old.configure:
--cache-file Help missing for old configure options
--datadir Help missing for old configure options
--enable-official-branding
Help missing for old configure options
--includedir Help missing for old configure options
--libdir Help missing for old configure options
--prefix Help missing for old configure options
--with-branding Help missing for old configure options
--with-distribution-id Help missing for old configure options
--with-macbundlename-prefix
Help missing for old configure options
--x-includes Help missing for old configure options
--x-libraries Help missing for old configure options
Environment variables:
Options from ../build/moz.configure/init.configure:
MOZ_AUTOMATION Enable options for automated builds
OLD_CONFIGURE Path to the old configure script
MOZCONFIG Mozconfig location
MOZILLABUILD Path to Mozilla Build (Windows-only)
CONFIG_SHELL Path to a POSIX shell
MOZILLA_OFFICIAL Build an official release
MOZBUILD_STATE_PATH Path to a persistent state directory for the build system and r ools
Options from ../moz.configure:
MOZ_COPY_PDBS For builds that do not support symbols in the normal fashion, g and copy them into the resulting build archive.
MOZ_PGO Build with profile guided optimizations
WGET Path to the wget program
LLVM_OBJDUMP Path to llvm-objdump
READELF Path to the readelf program
OBJCOPY Path to the objcopy program
AWK Path to the awk program
MAKE Path to GNU make
GMAKE Path to the gmake program
WATCHMAN Path to the watchman program
XARGS Path to the xargs program
MKFSHFS Path to the mkfshfs program
HFS_TOOL Path to the hfs_tool program
RPMBUILD Path to the rpmbuild program
STRIP_FLAGS Flags for the strip command
STRIP Path to the strip program
Options from ../build/moz.configure/toolchain.configure:
MOZ_HAZARD Build for the GC rooting hazard analysis
CCACHE_PREFIX Compiler prefix to use when using ccache
RUSTC_WRAPPER Wrap rust compilation with given tool
SCCACHE_VERBOSE_STATS Print verbose sccache stats after build
CC Path to the target C compiler
LD Deprecated
CXX Path to the target C++ compiler
HOST_CC Path to the host C compiler
HOST_LD Deprecated
HOST_CXX Path to the host C++ compiler
MOZ_DEBUG_FLAGS Debug compiler flags
AS Path to the assembler
AR Path to the ar program
HOST_AR Path to the host_ar program
Options from ../build/moz.configure/pkg.configure:
PKG_CONFIG Path to the pkg_config program
Options from ../build/moz.configure/lto-pgo.configure:
LLVM_PROFDATA Path to the llvm_profdata program
MOZ_LD64_KNOWN_GOOD Indicate that ld64 is free of symbol aliasing bugs.
Options from ../build/moz.configure/rust.configure:
RUSTC Path to the rust compiler
CARGO Path to the Cargo package manager
RUSTDOC Path to the rustdoc program
RUSTFLAGS Rust compiler flags
RUSTC_OPT_LEVEL Rust compiler optimization level (-C opt-level=%s) [2]
Options from ../build/moz.configure/bindgen.configure:
CBINDGEN Path to cbindgen
RUSTFMT Path to the rustfmt program
BINDGEN_CFLAGS Options bindgen should pass to the C/C++ parser
Options from ../build/moz.configure/node.configure:
NODEJS Path to nodejs
Options from ../toolkit/moz.configure:
MOZ_INSTRUMENT_EVENT_LOOP
Force-enable event loop instrumentation
USE_FC_FREETYPE Force-enable the use of fontconfig freetype
MOZ_TELEMETRY_REPORTING Enable telemetry reporting
TAR Path to the tar program
UNZIP Path to the unzip program
MIDL_FLAGS Extra flags to pass to MIDL
MOZ_REQUIRE_SIGNING Enforce that add-ons are signed by the trusted root
WASM_CC Path to the wasm C compiler
WASM_CXX Path to the wasm C++ compiler
WASM_CFLAGS Options to pass to WASM_CC
WASM_CXXFLAGS Options to pass to WASM_CXX
DUMP_SYMS Path to the dump_syms program
MOZ_APP_REMOTINGNAME Used for the internal program name, which affects profile name ting. If not t, defaults to MOZ_APP_NAME if the update channel is release, and MOZ_APP_NAME- TE_CHANNEL otherwise.
ANDROID_PACKAGE_NAME Name of the Android package (default org.mozilla.$MOZ_APP_NAME)
MOZ_WINCONSOLE Whether we can create a console window.
Options from ../build/moz.configure/old.configure:
M4 Path to the m4 program
```
That's all, folks!