Commit graph

31 commits

Author SHA1 Message Date
Brian Smith
549f402d4d Issue #2266 - Part 2 - Add Leak and Undefined Behavior Sanitizer support. Also fix building on FreeBSD and Linux, from the previous commit. 2023-08-17 09:13:57 +08:00
Brian Smith
0f78df0e2c Issue #2266 - Part 1 - Allow MSVC and potentially GCC to use Address Sanitizer on Windows. Check for WINNT instead of CLANG-CL, except for the Blacklist that isn't supported by MSVC. Neither CLANG-CL nor MSVC require -fsanitize=address on the link phase. 2023-08-17 09:13:42 +08:00
Job Bautista
9ff14017e5 Issue #324 - Follow-up: Remove more traces of *INTL_API.
The trace in Spidermonkey's old-configure is causing the MOZ_CONFIG_ICU function
to be called twice, which is not desirable as it can cause the MOZ_SHARED_ICU
check in build/autoconf/icu.m4 to fail and build an ICU data file even if we're
building ICU as a shared library.
2023-03-28 12:12:42 +08:00
Job Bautista
bad884a7c7 Issue #2165 - Build ICU as a shared library if we're building Spidermonkey shared.
It seems that if we're going to enable JS_SHARED_LIBRARY, we need ICU to be a
shared library too in order to prevent code duplication in mozjs.dll bloating
it to a whopping 21 MB.
This unfortunately means we have to fold icudata back to icu itself. But since
icudata is still separated from libxul (which is what really matters for #1451),
I think this is a fair compromise.
Building ICU as shared is offered as an option via --enable-shared-icu. But
technically you really need --enable-shared-icu if you're going to use
--enable-shared-js. Unfortunately I can't make configure exit with an error if
MOZ_SHARED_ICU is not defined when JS_SHARED_LIBRARY is enabled, because options
are controlled by different configure scripts (icu is based on bash, while js is
based on python), and I have no idea how to pass MOZ_SHARED_ICU to js's
moz.configure.

Tag #62
2023-03-28 12:11:00 +08:00
Brian Smith
35ba45aa32 Issue #1905 - Part 4a - Change "as" test to "Apple" from "LLVM". This will make this test Mac only, but it should work with any Xcode. 2022-06-22 08:55:06 +08:00
Brian Smith
163bce2e81 Issue #1905 - Part 3k - Separate the GNU and LLVM-as tests. While we should be able to test these together, I don't want to risk breakages on different *nixes. 2022-06-13 09:10:37 +08:00
Brian Smith
ccdf07735a Issue #1905 - Part 3d - Report GNU AS when the system "as" is LLVM-as. LLVM as is generally compatible with GNU, this should allow ICU to build on ARM Macs. 2022-06-13 09:00:46 +08:00
Brian Smith
02ceb3e1a3 Issue #1905 - Part 3c - Remove iOS from the rest of the configure system. 2022-06-13 09:00:22 +08:00
Moonchild
50653a7c4c Issue #1053 - Remove build system MOZ_ANDROID_* defines and related code. 2021-03-11 10:13:09 +08:00
Moonchild
89ad46ab66 Issue #1451 - Split out ICU data file on Windows
This reduces the xul.dll size by 11 MB
2020-05-09 06:56:22 +08:00
Matt A. Tobin
bb6d11a8a8 Alter config.guess to properly detect host and target bitness on SunOS 2020-04-11 09:40:35 +08:00
Matt A. Tobin
55aa43420a Teach config.guess to know if we want to build 32 or 64 bit builds on Windows 2020-04-03 09:22:03 +08:00
wolfbeast
0070369171 Issue #1342 - Remove support for system NSPR/NSS 2020-01-31 07:44:03 +08:00
wolfbeast
a7a26d5d62 Issue #1342 - Remove support for system ICU 2020-01-31 07:43:12 +08:00
athenian200
0ffa2c1711 MoonchildProductions#1251 - Part 26: Oracle Solaris gsed/ICU fix.
OpenIndiana didn't need this for some reason, but on Oracle Solaris, we need this to make sure we're using gsed (GNU sed) here. It's probably a safer bet anyway.
2019-11-04 11:54:06 +08:00
wolfbeast
5449e900ba Issue #1226 - Explicitly enable sse2 on x86_64 also.
Although it's enabled by default in gcc (should be, anyway!), we're
being explicit here for 64-bit x86 platforms here also. This matches the
old behavior.
2019-09-20 22:14:44 +08:00
wolfbeast
3686403436 Don't assume Intel architecture for compiler optimizations on Linux/gcc.
This only adds SSE2 flags when the CPU architecture is correct for it.
Resolves #1226
2019-09-20 22:14:42 +08:00
trav90
3f87aa1a69 Always build with SSE2 support when using GCC 2019-02-16 00:00:14 +08:00
Moonchild
170f2ade41 Revert "Always build with SSE2 support & display an error if not available" 2019-02-15 23:59:11 +08:00
trav90
10bc6c2b0d Remove extraneous SSE flag 2019-02-15 23:59:05 +08:00
trav90
1e8a7b041e Tweak SSE/SSE2 GCC flags 2019-02-15 23:59:04 +08:00
trav90
bbc27e01ae Always build with SSE2 support when using GCC 2019-02-15 23:59:02 +08:00
wolfbeast
127b2c99dc Issue #325 Part 15: Remove ENABLE_INTL_API and EXPOSE_INTL_API flags. 2019-02-15 23:56:20 +08:00
wolfbeast
b19e3c348c Remove the option to build without INTL/ICU
This resolves #324.
2019-02-15 23:55:55 +08:00
wolfbeast
d804882857 Remove jemalloc 4 from our tree. 2019-02-15 23:52:10 +08:00
wolfbeast
797ca533f9 Remove support for making jemalloc4 the default memory allocator. 2019-02-15 23:52:09 +08:00
wolfbeast
c76d18a40d Remove support for system jemalloc. 2019-02-15 23:52:07 +08:00
trav90
f02ba306ef Style fix 2019-02-15 23:48:28 +08:00
trav90
b2917cce1d Force use of level 1 Liftetime DSE optimization on modern GCC
Instead of completely disabling it.
2019-02-15 23:48:26 +08:00
wolfbeast
d37246737b Convert MOZILLA_OFFICIAL conditionals to MC_OFFICIAL where needed.
- `--enable-official-branding` implies `MC_OFFICIAL` (no need to specifically set it)
- `--enable-official-vendor` can be used to set `MC_OFFICIAL` on builds without `--enable-official-branding` that should still be considered official release versions.
- `MC_OFFICIAL` implies `--enable-release`, meaning `DEVELOPER_OPTIONS` isn't set
- `MC_OFFICIAL` makes `nsXULAppInfo.getIsOfficial` return `true`
- `MC_OFFICIAL` makes `AppConstants.MOZILLA_OFFICIAL` (for compatibility in extensions) and `AppConstants.MC_OFFICIAL` return `true`
- Optional, for the time being: `MOZILLA_OFFICIAL` is still present in some places in case someone wants to build a Mozilla-alike official application and has the rights and necessary keys to use Mozilla-official third-party services. This must always be combined with `MC_OFFICIAL` to have a sane combination of defines. This may be removed in the future.
2019-02-15 23:44:10 +08:00
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00