Commit Graph

850 Commits

Author SHA1 Message Date
Mike Hommey
c0bec91e84 Bug 1537644 - Avoid using link.exe during configure. r=chmanchester
Interestingly, the change makes one configure test have a different
result (localeconv ends up being found when it used not to be found),
but the result of that check is actually not used on Windows because we
set HAVE_LOCALECONV manually.

Differential Revision: https://phabricator.services.mozilla.com/D25902

--HG--
extra : moz-landing-system : lando
2019-04-09 21:57:19 +00:00
Mike Hommey
7e282558ea Bug 1524429 - Move build/autoconf/arch.m4 to python configure. r=nalexander
The file is essentially limited to ARM flag tweaks, so we make the
corresponding python configure code ARM-only. In large parts, the
python code sets things up similarly, although in a few places we try to
be smarter about than the current autoconf-based code.

The resulting config.status have been verified to only have
insignificant differences on both arm and aarch64 android builds.

Depends on D24000

Differential Revision: https://phabricator.services.mozilla.com/D24001

--HG--
extra : moz-landing-system : lando
2019-03-20 16:17:57 +00:00
Andreea Pavel
f7b09c8773 Backed out 2 changesets (bug 1524429) for build bustages at lint.py on a CLOSED TREE
Backed out changeset 7947b90f1580 (bug 1524429)
Backed out changeset 1a5a5aef01d5 (bug 1524429)
2019-03-20 02:16:41 +02:00
Mike Hommey
80f7e86b2e Bug 1524429 - Move build/autoconf/arch.m4 to python configure. r=nalexander
The file is essentially limited to ARM flag tweaks, so we make the
corresponding python configure code ARM-only. In large parts, the
python code sets things up similarly, although in a few places we try to
be smarter about than the current autoconf-based code.

The resulting config.status have been verified to only have
insignificant differences on both arm and aarch64 android builds.

Depends on D24000

Differential Revision: https://phabricator.services.mozilla.com/D24001

--HG--
extra : moz-landing-system : lando
2019-03-19 22:32:58 +00:00
Nathan Froyd
ce83c42681 Bug 1451104 - part 2 - force clang to always pick up its local GCC headers and libraries; r=glandium
We want our clang bootstrap to use the GCC headers we're building with,
not whatever sysroot it happens to find on the server we're building on.

The -gcc-toolchain argument we specify when building clang will also be
picked up by llvm-config, so we need to strip it out when building the
plugin. Otherwise, we will get peculiar failures about not being able to
find C++ header files.

Differential Revision: https://phabricator.services.mozilla.com/D22880

--HG--
extra : moz-landing-system : lando
2019-03-15 01:28:55 +00:00
Gurzau Raul
c3883e46f7 Backed out 6 changesets (bug 1451104) for toolchains bustage on a CLOSED TREE.
Backed out changeset 2f6199beeb71 (bug 1451104)
Backed out changeset 7c116f85ede6 (bug 1451104)
Backed out changeset 5179c8066914 (bug 1451104)
Backed out changeset 675f73d41eb4 (bug 1451104)
Backed out changeset c64bfaad8a2f (bug 1451104)
Backed out changeset 991777e081ff (bug 1451104)
2019-03-14 05:02:44 +02:00
Nathan Froyd
3ec62f66df Bug 1451104 - part 2 - force clang to always pick up its local GCC headers and libraries; r=glandium
We want our clang bootstrap to use the GCC headers we're building with,
not whatever sysroot it happens to find on the server we're building on.

The -gcc-toolchain argument we specify when building clang will also be
picked up by llvm-config, so we need to strip it out when building the
plugin. Otherwise, we will get peculiar failures about not being able to
find C++ header files.

Depends on D22879

Differential Revision: https://phabricator.services.mozilla.com/D22880

--HG--
extra : moz-landing-system : lando
2019-03-12 00:21:20 +00:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Nathan Froyd
da91976685 Bug 1525630 - choose the correct frame pointer enablement options on aarch64 windows; r=dmajor
clang-cl doesn't currently support -Oy correctly, so we need to resort
to the GNU-ish based spelling.
2019-02-12 16:45:40 -05:00
Mike Hommey
b82d5c7497 Bug 1526210 - Remove -Wl,--allow-shlib-undefined from LDFLAGS on Android. r=froydnj
This apparently was necessary back when Android support was added 8.5
years ago, but is not desirable as a flag set globally. But it turns out
everything builds just fine without it now.

Differential Revision: https://phabricator.services.mozilla.com/D19128

--HG--
extra : moz-landing-system : lando
2019-02-08 14:56:50 +00:00
Makoto Kato
b93b9a8c45 Bug 1515004 - Move --with-android-sdk to moz.configure. r=nalexander
Since ./mach bootstrap installs Android SDK into ~/.mozbuild, we should detect
this location as default SDK install path.

Also, --with-android-max-sdk and --with-android-min-sdk are still in android.m4
because confvars.sh sets MOZ_ANDROID_MIN_SDK_VERSION.

Differential Revision: https://phabricator.services.mozilla.com/D15463

--HG--
extra : moz-landing-system : lando
2019-02-01 21:12:51 +00:00
Mike Hommey
0936da9a4a Bug 1523851 - Make ac_cv_prog_*_works act as a cache. r=froydnj
Depends on D18057

Differential Revision: https://phabricator.services.mozilla.com/D18058

--HG--
extra : moz-landing-system : lando
2019-01-31 02:11:50 +00:00
Alex Chronopoulos
0c15094a05 Bug 1522035 - Set HAVE_ALIGNED_MALLOC as global macro and avoid redefining in libdav1d. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D17632

--HG--
extra : moz-landing-system : lando
2019-01-30 09:06:52 +00:00
Cosmin Sabou
599a15d354 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-29 12:01:56 +02:00
Jan Henning
efeb6ace63 Bug 1503455 - Part 2: Remove compile SDK setting from configure. r=nalexander
Post bug 1498406, this seems to be unused and doesn't affect anything.

Differential Revision: https://phabricator.services.mozilla.com/D16420

--HG--
extra : moz-landing-system : lando
2019-01-28 18:31:57 +00:00
Cosmin Sabou
ee75c9f2c6 Backed out 6 changesets (bug 1516228) for causing bug 1523056. a=backout
Backed out changeset 24ebb52d21fa (bug 1516228)
Backed out changeset 53d93ee3ad84 (bug 1516228)
Backed out changeset 4f53ede33517 (bug 1516228)
Backed out changeset 2e6bec87c9f3 (bug 1516228)
Backed out changeset 09ee05a4cc30 (bug 1516228)
Backed out changeset 8456feb780f7 (bug 1516228)
2019-01-26 21:12:33 +02:00
Mike Hommey
fa58fc9bd9 Bug 1516228 - Use llvm-objdump instead of objdump in old-configure. r=firefox-build-system-reviewers,mshal
Depends on D17462

Differential Revision: https://phabricator.services.mozilla.com/D17463

--HG--
extra : moz-landing-system : lando
2019-01-24 15:40:58 +00:00
Mike Hommey
8d3c4ddd9c Bug 1516228 - Use llvm-objdump instead of objdump in old-configure. r=mshal
Depends on D17462

Differential Revision: https://phabricator.services.mozilla.com/D17463
2019-01-29 08:37:39 +09:00
Mike Hommey
95bcdbeaaa Bug 1519603 - Manually inline AC_OUTPUT_SUBDIRS and MOZ_RUN_ALL_SUBCONFIGURES. r=nalexander
Because we only ever run one subconfigure, the machinery to execute
several is not useful anymore. Inlining it allows to simplify the code
too, because it doesn't need to be generic anymore. This also removes
the last remaining bits of acwinpaths.m4.

Also remove now unused support for --list in build/subconfigure.py.

Depends on D16380

Differential Revision: https://phabricator.services.mozilla.com/D16381

--HG--
extra : moz-landing-system : lando
2019-01-14 18:37:06 +00:00
Mike Hommey
b90adcbaef Bug 1519603 - Remove unused autoconf macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16378

--HG--
extra : moz-landing-system : lando
2019-01-14 13:59:23 +00:00
Mike Hommey
f47fd953a2 Bug 1519281 - Remove leftovers from bug 1490765. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16269

--HG--
extra : moz-landing-system : lando
2019-01-11 05:02:07 +00:00
Mike Hommey
fd4343007c Bug 1515595 - Move AR to python configure. r=froydnj
Depends on D15179

Differential Revision: https://phabricator.services.mozilla.com/D15180

--HG--
extra : moz-landing-system : lando
2018-12-21 22:53:53 +00:00
Mike Hommey
eb8e6cb9c3 Bug 1515843 - Remove HOST_AR/HOST_RANLIB. r=ted
Now that we're not even building host static libraries, we don't need
variables for the tools used to build them.

Ironically, we weren't even running HOST_RANLIB.

Depends on D15172

Differential Revision: https://phabricator.services.mozilla.com/D15173

--HG--
extra : moz-landing-system : lando
2018-12-21 23:00:17 +00:00
Mike Hommey
6e8b8a5fad Bug 1515581 - Move RC and WINDRES to python configure. r=nalexander
Remove the version check for WINDRES, because, as per bug 454112, it
didn't actually work, and, making it work actually causes problems
because llvm's windres, used with mingw clang, has version 0.1.

Differential Revision: https://phabricator.services.mozilla.com/D15070

--HG--
extra : moz-landing-system : lando
2018-12-20 22:25:24 +00:00
Mike Hommey
bfa72afecb Bug 1515268 - Refresh config.guess and config.sub from upstream. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D14954

--HG--
extra : moz-landing-system : lando
2018-12-19 22:36:57 +00:00
Brindusan Cristian
13788edbab Merge inbound to mozilla-central. a=merge 2018-12-18 11:50:37 +02:00
Nick Alexander
f138f58d97 Bug 1498406 - Part 3: Purge unused ANDROID_BUILD_TOOLS_VERSION. r=froydnj
We don't care anymore: the Gradle build fetches an appropriate version
of the build-tools package, and the one build-tool we actually use --
zipalign -- isn't version sensitive.

Differential Revision: https://phabricator.services.mozilla.com/D14290

--HG--
extra : moz-landing-system : lando
2018-12-18 03:28:56 +00:00
Nick Alexander
47d6187d14 Bug 1498406 - Part 2: Don't check for Android platform in configure. r=froydnj
There's no need -- it will be fetched by Gradle when needed.  The only
wrinkle is that the user might be asked to confirm license agreements,
which could be a hassle (and could cause problems in CI, but there we
install relevant platforms in advance).

Differential Revision: https://phabricator.services.mozilla.com/D14288

--HG--
extra : moz-landing-system : lando
2018-12-18 03:29:16 +00:00
Mike Hommey
8c199b7a84 Bug 1513798 - Revert bug 638149 and leave it to configure to set -dead_strip. r=nalexander
We're always setting -dead_strip on mac builds, per
cross-mozconfig.common, we might as well not do that and revert bug
638149, which disabled adding -dead_strip with LTO: that is apparently
not a problem anymore.

Differential Revision: https://phabricator.services.mozilla.com/D14373
2018-12-18 10:50:06 +09:00
André Bargull
ff6d766102 Bug 1473588: Upgrade minimum ICU version to ICU 63. r=jorendorff 2018-11-01 09:39:38 -07:00
Nick Alexander
d56eb2a314 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
-Wl,--version-script based on linker kind and not on the output of
$LINKER -v.

This is a cheap way to address a simple problem that has a complicated
ideal solution. The underlying issue is that in some situations, when
targeting Android, a macOS system ld is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation. The macOS system ld doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system ld.

The ideal solution is to test for linker capabilities dynamically. We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure. Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

MinGW suffers somewhat from the opposite problem: the linker "is GNU
ld" (compatible), but the linker checks don't happen at all. We hard-code
for MinGW based on the C compiler instead.

Differential Revision: https://phabricator.services.mozilla.com/D8471

--HG--
extra : moz-landing-system : lando
2018-10-17 19:46:03 +00:00
Cosmin Sabou
9b6a537ec7 Backed out changeset 91300d29898b (bug 1489443) for MinGW build bustages. CLOSED TREE 2018-10-13 02:17:15 +03:00
Nick Alexander
3c83541616 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
`-Wl,--version-script` based on linker kind and not on the output of
`$LINKER -v`.

This is a cheap way to address a simple problem that has a complicated
ideal solution.  The underlying issue is that in some situations, when
targeting Android, a macOS system `ld` is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation.  The macOS system `ld` doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system `ld`.

The ideal solution is to test for linker capabilities dynamically.  We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure.  Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

Differential Revision: https://phabricator.services.mozilla.com/D8471

--HG--
extra : moz-landing-system : lando
2018-10-12 22:38:44 +00:00
David Major
56fefe876b Bug 1427808 - Fix libs for clang-plugin build. r=froydnj 2018-10-12 07:14:00 -04:00
Guillaume GARDET
01c57dd3b8 Bug 1465731 - Fix armv6 build. r=glandiumd
ARM_ARCH setting is broken in build/autoconf/arch.m4 file,
when multiple lines match the pattern.
So, keep the 1st line only.
2018-07-16 03:18:00 +03:00
shindli
3e5598a161 Backed out changeset 494eb5db5648 (bug 1465731) for bustages in the MOZBUILD file 2018-10-04 09:15:43 +03:00
Guillaume GARDET
5790c3ab65 Bug 1465731 - Fix armv6 build. r=glandium
ARM_ARCH setting is broken in build/autoconf/arch.m4 file,
when multiple lines match the pattern.
So, keep the 1st line only.
2018-10-03 04:22:00 +03:00
Ted Mielczarek
5beac189a8 Bug 1397263 - move GNU_AS checks to toolchain.configure; r=glandium
The GNU_AS check in old-configure depended on running with the value
of $AS before it gets reset to just be the C compiler, which breaks when
we move setting AS into moz.configure.

This patch moves the GNU_AS check to toolchain.configure and changes it
so that it works when the assembler is the C compiler.  We do have to
fix things slightly for clang, because the previous check was
succeeding, but not because of clang: it was detecting the presence of
"GNU" in the output for GNU ld/gold and a message about the GNU GPL.
2018-10-03 20:29:29 -04:00
Nathan Froyd
9a1e9149b8 Bug 1397263 - move AS checks to toolchain.configure; r=glandium
This is a fairly straightforward port of the AS tool checks from old-configure
to toolchain.configure. AS is a little quirky in that we currently do a
normal-looking check for it, but then override that value to be the C compiler
for non-Windows builds, and ml[64]/armasm64 for Windows builds.

After migrating those checks, the only things left in the MOZ_DEFAULT_COMPILER
macro in compiler-opts.m4 were some unused bits, so I removed them:
* Setting of CPP/CXXCPP, which are set in toolchain.configure now
* Setting HOST_LDFLAGS to empty, which doesn't seem particularly useful.

There was also a quirky old test that the assembler was ml[64] when js-ctypes
is enabled that I removed, I don't think it provides any value since this
patch will ensure that we're using the right assembler for Windows builds.
2018-10-03 20:29:29 -04:00
Thomas P.
fde56b2dde Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj 2018-09-20 21:21:38 +00:00
Andreea Pavel
a6ba34f2ad Backed out 2 changesets (bug 1483780) for build bustages on a CLOSED TREE
Backed out changeset 2b0a42c589c5 (bug 1483780)
Backed out changeset 48d133cbafd3 (bug 1483780)
2018-09-21 05:43:03 +03:00
Thomas P.
c047fdb3fb Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj
--HG--
extra : histedit_source : b7caa42560c3d8e7ba1dbf61fcacfe0698790801
2018-09-20 21:21:38 +00:00
Thomas P.
dae33d978b Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj superreview=decoder
--HG--
extra : histedit_source : 6fd1a37c3fb5d8997be11f7846b2976fc7b8a647
2018-09-11 03:49:37 +00:00
arthur.iakab
1ee75a928a Merge inbound to mozilla-central a=merge 2018-09-19 05:18:50 +03:00
Ted Mielczarek
115b2651d5 Bug 1490463 - part 3 - remove BUILD_TOOLS from config.mk; r=mshal
BUILD_TOOLS was only ever used for things that another variable provides
equally well.  Removing BUILD_TOOLS means that we can remove win_srcdir
and WIN_TOP_SRC as well.
2018-09-18 16:02:22 -04:00
Mike Hommey
cdd1898856 Bug 1491236 - Always enable unwind tables on *nix r=froydnj
We were already always enabling it on builds with frame pointers on
Android. We now extend this to builds without frame pointers, helping
with client-side stacktracing for crashes.

It's also the default on many platforms, such as x86-64, whether frame
pointer are enabled or not and on x86 with GCC. Somehow, it's not the
case for x86 with clang, so this makes clang builds the same as GCC
builds in that regard.

On ARM, we were always omitting frame pointers because of a GCC bug, but
we've not been using GCC for Android builds for a long time (and the GCC
bug was actually fixed in 4.7 and backported to 4.6, making it fixed in
all versions of GCC we support).

Differential Revision: https://phabricator.services.mozilla.com/D6110

--HG--
extra : moz-landing-system : lando
2018-09-18 21:48:28 +00:00
Thomas P.
ac7fc2f5a6 Bug 1474488: add --enable-undefined-sanitizer with custom checks r=froydnj 2018-09-11 02:47:23 +00:00
Jim Chen
d968bd5148 Bug 1480834 - 2. Add x86-64 build support; r=nalexander
Add x86-64 as an option for Android builds in the build system.

Differential Revision: https://phabricator.services.mozilla.com/D4480
2018-09-13 12:09:25 -04:00
Jim Chen
054f1436df Bug 1480834 - 0. Drop mips and update NDK platform to 16; r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D5602
2018-09-13 12:09:24 -04:00
Mike Hommey
d60c232a5e Bug 1490618 - Use the right variable name for the new ASTMatcher API check r=froydnj
This will make the result properly displayed.

Differential Revision: https://phabricator.services.mozilla.com/D5659

--HG--
extra : moz-landing-system : lando
2018-09-12 12:18:13 +00:00