Windows programs run via Wine don't like Unix absolute paths (they look
like command line arguments), so we need to use relative paths.
Mingw already run fxc2 via wine, but for some reason it doesn't care
about the Unix absolute paths. genshaders does need some adjustements to
run properly with the real fxc.
Now, on actual Windows, because the temporary directory where
tempfile.NamedTemporaryFile creates files by default is not necessarily
on the same drive as where the command runs from, a relative path can't
be constructed. So we also force the temporary file to be created in the
current (obj) directory.
There is no similar concern for other files because we only go from
objdir to srcdir, and the build system already doesn't support both
being on a separate drive.
While here, flush stdout when the genshared script writes to it, so that
the messages are printed out immediately rather than randomly, later,
after output from subprocesses.
Differential Revision: https://phabricator.services.mozilla.com/D64294
--HG--
extra : moz-landing-system : lando
clang-cl versions older than 8 are already rejected in
toolchain.configure as of bug 1550868.
Differential Revision: https://phabricator.services.mozilla.com/D64261
--HG--
extra : moz-landing-system : lando
These vary per-target, and it's nicer to define them here rather than
define them somewhere in rules.mk.
Depends on D62796
Differential Revision: https://phabricator.services.mozilla.com/D62797
--HG--
extra : moz-landing-system : lando
We're going to need this for handling Mac cross compiles correctly.
Depends on D62795
Differential Revision: https://phabricator.services.mozilla.com/D62796
--HG--
extra : moz-landing-system : lando
Legacy extensions are no longer loaded, so we can drop the build config for it. We
still need flags for handling experimental APIs since what we require differs between builds
and distributions.
Differential Revision: https://phabricator.services.mozilla.com/D57413
--HG--
extra : moz-landing-system : lando
...so that we can correctly declare that we are using sandboxed
library(ies) from our "parent" build, but not check for all the tools to
compile code.
Depends on D59554
Differential Revision: https://phabricator.services.mozilla.com/D59555
--HG--
extra : moz-landing-system : lando
This change eliminates a lot of repetition, and paves the way for the
next change.
Differential Revision: https://phabricator.services.mozilla.com/D59554
--HG--
extra : moz-landing-system : lando
This patch is not ideal: if would be better to do the defaulting in
`toolkit/moz.configure`, but doing it there runs into problems with base
toolchain configurations, as the clang there is not new enough. So we
have this, doing everything with environment variables, which is easily
turned on or off, depending on the needs of the specific configuration.
The `mozconfig.no-compile` change is not really needed, as the wasm
sandboxing detection bits are not conditional on
`--enable-compile-environment`. Those bits should be, and I will tackle
doing that after the holidays.
Differential Revision: https://phabricator.services.mozilla.com/D58102
--HG--
extra : moz-landing-system : lando
The remote agent used to not compile on Windows AArch64 due to iovec's
dependency on a version of winapi without support for this architecture.
Now that the remote agent has upgraded to http 0.2, which depends on
a version of the bytes crate that has moved away from iovec in favour
of std::io::IoSlice, we are able to turn on support for Windows AArch64.
This in turn will also fix bug 1606935 because the browser-chrome
test manifest for M(remote) will no longer be empty. It was a
regression caused by 1603930 where we fixed a logic error causnig
ENABLE_REMOTE_AGENT to be inappropriately set on non-trunk branches.
Differential Revision: https://phabricator.services.mozilla.com/D58767
--HG--
extra : moz-landing-system : lando
The remote agent component was meant to only be built on the
Nightly release channel, but 868b1bf043dc accidentally reversed
--enable-cdp and --reverse-cdp, not understanding that there's a
semantic difference in the build config parser for this.
This has had the undesired effect that the remote agent has been
built on all release channels since around 25th April of this year.
This in itself is not a huge concern because the feature is disabled
through the remote.enabled preference in modules/libpref/init/all.js,
except on Nightly.
This patch reverses s/disable/enable/ which causes ENABLE_REMOTE_AGENT
to be set only on the Nightly release channel, or when --enable-cdp
is explicitly used, thus achieving the original, intended effect.
We caught this when running the bc test
remote/test/browser/browser_agent.js as part of beta simulations
for Firefox 73. I wrote that test explicitly to test for this
eventuality, so I will consider it good enough for this change to
ship without additional tests.
Differential Revision: https://phabricator.services.mozilla.com/D58452
--HG--
extra : moz-landing-system : lando
This patch is not ideal: if would be better to do the defaulting in
`toolkit/moz.configure`, but doing it there runs into problems with base
toolchain configurations, as the clang there is not new enough. So we
have this, doing everything with environment variables, which is easily
turned on or off, depending on the needs of the specific configuration.
The `mozconfig.no-compile` change is not really needed, as the wasm
sandboxing detection bits are not conditional on
`--enable-compile-environment`. Those bits should be, and I will tackle
doing that after the holidays.
Differential Revision: https://phabricator.services.mozilla.com/D58102
--HG--
extra : moz-landing-system : lando
This patch is not ideal: if would be better to do the defaulting in
`toolkit/moz.configure`, but doing it there runs into problems with base
toolchain configurations, as the clang there is not new enough. So we
have this, doing everything with environment variables, which is easily
turned on or off, depending on the needs of the specific configuration.
The `mozconfig.no-compile` change is not really needed, as the wasm
sandboxing detection bits are not conditional on
`--enable-compile-environment`. Those bits should be, and I will tackle
doing that after the holidays.
Differential Revision: https://phabricator.services.mozilla.com/D58102
--HG--
extra : moz-landing-system : lando
This patch is not ideal: if would be better to do the defaulting in
`toolkit/moz.configure`, but doing it there runs into problems with base
toolchain configurations, as the clang there is not new enough. So we
have this, doing everything with environment variables, which is easily
turned on or off, depending on the needs of the specific configuration.
The `mozconfig.no-compile` change is not really needed, as the wasm
sandboxing detection bits are not conditional on
`--enable-compile-environment`. Those bits should be, and I will tackle
doing that after the holidays.
Differential Revision: https://phabricator.services.mozilla.com/D58102
--HG--
extra : moz-landing-system : lando
We often include common mozconfig fragments to turn various options on.
When doing that, environment variables are more easily turned off by
later mozconfig fragments (e.g. `build/mozconfig.no-compile` for
artifact builds) than command-line options. Therefore, include an
alternate environment variable for identifying the location of the wasi
sysroot.
Differential Revision: https://phabricator.services.mozilla.com/D58037
--HG--
extra : moz-landing-system : lando
This change modifies all tests that use key3/cert8 to use the new files. It
removes test_sdr_upgraded_with_password, as without the upgrade part that is now
the same test as test_sdr_preexisting_with_password.
Differential Revision: https://phabricator.services.mozilla.com/D55708
--HG--
rename : security/manager/ssl/tests/unit/test_sdr_preexisting/key4.db => security/manager/ssl/tests/unit/test_broken_fips/key4.db
extra : moz-landing-system : lando
This change modifies all tests that use key3/cert8 to use the new files. It
removes test_sdr_upgraded_with_password, as without the upgrade part that is now
the same test as test_sdr_preexisting_with_password.
Differential Revision: https://phabricator.services.mozilla.com/D55708
--HG--
rename : security/manager/ssl/tests/unit/test_sdr_preexisting/key4.db => security/manager/ssl/tests/unit/test_broken_fips/key4.db
extra : moz-landing-system : lando
This change removes the legacy libnssdbm database that we migrated away from since Firefox 60.
This change modifies all tests that use key3/cert8 to use the new files. It
removes test_sdr_upgraded_with_password, as without the upgrade part that is now
the same test as test_sdr_preexisting_with_password. It otherwise removes support for libnssdbm everywhere in Gecko.
Differential Revision: https://phabricator.services.mozilla.com/D55708
--HG--
rename : security/manager/ssl/tests/unit/test_sdr_preexisting/key4.db => security/manager/ssl/tests/unit/test_broken_fips/key4.db
extra : moz-landing-system : lando
Add backend stuff to build sandboxed wasm libraries. (Don't actually update any moz.build files to consume this yet.)
Differential Revision: https://phabricator.services.mozilla.com/D54152
--HG--
extra : moz-landing-system : lando
We can't compile the remote agent startup component (written in
Rust) for Windows AArch64 due to numerous packages depending on
winapi 0.2.8 which don't support AArch64.
Differential Revision: https://phabricator.services.mozilla.com/D54116
--HG--
extra : moz-landing-system : lando
Now that rkv has a new backend, we should be able to let this ride the trains
to early beta at least.
Differential Revision: https://phabricator.services.mozilla.com/D53847
--HG--
extra : moz-landing-system : lando
Because quote([]) returns an empty byte string, configure currently
fails. While ideally, quote would return an unicode string, it is not
guaranteed that all uses of quote would actually handle this properly.
Differential Revision: https://phabricator.services.mozilla.com/D52795
--HG--
extra : moz-landing-system : lando
The MOZ_XBL define is also used in app constants and needs to be defined
for artifact builds.
Differential Revision: https://phabricator.services.mozilla.com/D48917
--HG--
extra : moz-landing-system : lando
- Update README_MOZILLA for adding mp3 support, and add some clarifying text.
- Clang-format config.h for easier reading since it is our file, not ffmpeg's.
- Use sort -d -u to produce defaults_disabled.* files so linux and macOS
produce same files.
- Change MOZ_FFVPX_FLACONLY to MOZ_FFVPX_AUDIOONLY since it indicates flac
and mp3 decoders.
- Rename config_flac.h to config_audio.h
Differential Revision: https://phabricator.services.mozilla.com/D46423
--HG--
rename : media/ffvpx/config_flac.h => media/ffvpx/config_audio.h
extra : moz-landing-system : lando
As part of compiling C/C++ to wasm, we're going to need a wasm-specific
sysroot to be provided. This option enables us to specify that sysroot
during configure.
Differential Revision: https://phabricator.services.mozilla.com/D46314
--HG--
extra : moz-landing-system : lando
This patch duplicates the configuration work done in D43710, but this
path enables better extension to other libraries and a better foundation
to build on for future build system changes.
Differential Revision: https://phabricator.services.mozilla.com/D46312
--HG--
extra : moz-landing-system : lando
This define is unused, modulo some apparently dead patches in the
gfx/skia/patches/archive/ directory.
Differential Revision: https://phabricator.services.mozilla.com/D45086
--HG--
extra : moz-landing-system : lando
Whereas previously MozDescribeCodeAddress would have handled demangling,
we need to explicitly do that from our new GetFunction method. The string we
generate is now more useful for the profiler to merge -- having dropped the
address in the previous patch, and the file & line number and library in this
patch.
While we're at it, try to demangle Rust symbols too.
Ideally we'd add Rust symbol handling to DemangleSymbol in
StackWalk.cpp, but that lives in mozglue, which currently cannot have
any Rust crate dependencies.
Differential Revision: https://phabricator.services.mozilla.com/D43142
--HG--
extra : moz-landing-system : lando
In bug 1542830 I need to generate an import library from a .DEF file. The
`llvm-dlltool` utility is the tool to support this.
This change adds detection for the aforementioned utility and also configures
the required flags.
Differential Revision: https://phabricator.services.mozilla.com/D41817
--HG--
extra : moz-landing-system : lando
This drops the MOZ_BUILD_WEBRENDER and MOZ_ENABLE_WEBRENDER flags
which are unused after the preceding two patches.
Depends on D36820
Differential Revision: https://phabricator.services.mozilla.com/D36821
--HG--
extra : moz-landing-system : lando
There are ongoing lmdb issues we need to sort out before we can ship
cert_storage (see e.g. bug 1538541 and bug 1550174).
Differential Revision: https://phabricator.services.mozilla.com/D32885
--HG--
extra : moz-landing-system : lando
This also enables using cert_storage for OneCRL, since it and intermediate
preloading both use the same backend.
Differential Revision: https://phabricator.services.mozilla.com/D31345
--HG--
extra : moz-landing-system : lando
We can't yet enable the build by default since it pulls in networking functions
into libgkrust which runs afoul of the checks added in bug 1376621.
Differential Revision: https://phabricator.services.mozilla.com/D28353
--HG--
extra : moz-landing-system : lando
The previous commit disabled the remote agent by flipping the
remote.enabled preference to false. That prevented the remote
agent from initialising or being included in the --help message.
This patch implies --enable-cdp in the default Firefox build on Firefox
Nightly. Firefox for Android is not supported. This will cause
builds to include the remote agent component that lives under remote/.
Since the remote agent is disabled by default, users will first
have to set the remote.enabled preference to true in order to use it.
If you wish to explicitly opt out of including the remote agent
when building Firefox, you may do so by using the --disable-cdp
build flag in your mozconfig:
ac_add_options --disable-cdp
Differential Revision: https://phabricator.services.mozilla.com/D27540
--HG--
extra : moz-landing-system : lando