gecko-dev/build/mozconfig.no-compile

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

40 lines
849 B
Plaintext
Raw Normal View History

ac_add_options --disable-compile-environment
# In case mozconfig.cache was already included
unset CCACHE
unset SCCACHE_VERBOSE_STATS
# In case it wasn't
NO_CACHE=1
# Override any toolchain defines we've inherited from other mozconfigs.
unset CC
unset CXX
unset CPPFLAGS
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
unset HOST_CC
unset HOST_CXX
unset HOST_CPPFLAGS
unset HOST_CFLAGS
unset HOST_CXXFLAGS
unset HOST_LDFLAGS
unset LINKER
unset RUSTFLAGS
unset TOOLCHAIN_PREFIX
unset BINDGEN_CFLAGS
unset ENABLE_CLANG_PLUGIN
unset MACOS_SDK_DIR
unset MACOS_PRIVATE_FRAMEWORKS_DIR
unset WINSYSROOT
unset MOZ_LTO
unset MOZ_STDCXX_COMPAT
Bug 1079662 - Always enable PIE. r=froydnj Last attempt, a few years ago, blatantly failed because nautilus (the GNOME file manager) can't start PIE executables, which look like shared libraries, and that it thus considers not being executables. Downstreams don't actually have the problem, because users won't be launching Firefox from a file manager, but for mozilla.org builds, it is a problem because users would download, then extract, and then likely try to run the Firefox executable from a file manager. So for mozilla.org builds, we still need to find a way around the nautilus problem. A .desktop file could be a solution, but .desktop files have not actually been designed for this use case, which leads to: - having to use an awful one-liner shell wrapper to derive the path to the executable from that of the .desktop file, - not even being able to associate an icon, - the .desktop file not being copiable to a location where .desktop files would normally go, because it would then fail to find the executable. Another possibility is to go back to using a shell wrapper, but that's not entirely appealing. What we chose here is similar, where we have a small `firefox` wrapper that launches the real `firefox-bin` (which is still leftover from those old times where we had a shell wrapper, for reasons). The small `firefox` wrapper is a minimalist C executable that just finds the path to the `firefox-bin` executable and executes it with the same args it was called with. The wrapper is only enabled when the MOZ_NO_PIE_COMPAT environment variable is set, which we only take into account on Linux. The variable is only really meant to be used for mozilla.org builds, for the nautilus problem. Downstreams will just pick the default, which is changed to build PIE. On other platforms, PIE was already enabled by default, so we just remove the --enable-pie configure flag. Differential Revision: https://phabricator.services.mozilla.com/D5109
2018-09-06 04:27:49 +00:00
unset MOZ_NO_PIE_COMPAT
# Don't unset this on Linux artifact builds so the artifact builds correctly
# package any Wasm sandboxed shared libraries.
if test `uname -s` != Linux; then
unset WASM_SANDBOXED_LIBRARIES
fi