Граф коммитов

7022 Коммитов

Автор SHA1 Сообщение Дата
Csoregi Natalia bed10b400c Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2018-01-13 00:02:18 +02:00
Csoregi Natalia 7476b71e00 Merge inbound to mozilla-central r=merge a=merge 2018-01-12 23:59:06 +02:00
Ryan VanderMeulen 636edb9f6d Merge m-c to inbound. a=merge 2018-01-12 11:35:56 -05:00
Ryan VanderMeulen 24c532d428 Backed out 6 changesets (bug 1393119, bug 1429819) so it can re-land after the Gecko 60 version bump instead.
Backed out changeset 4bf890d84416 (bug 1429819)
Backed out changeset 91cfd14052f5 (bug 1393119)
Backed out changeset eac997d73d67 (bug 1393119)
Backed out changeset f8321fda6acc (bug 1393119)
Backed out changeset 67092d3b35fe (bug 1393119)
Backed out changeset 5b4da712bf1e (bug 1393119)
2018-01-12 11:33:12 -05:00
Mike Hommey c42e9d7d91 Bug 1429918 - Adjust the MPC download url. r=nalexander
--HG--
extra : rebase_source : 28fedbf2c08c179c2b2f1aeb15921d09e817f7af
2018-01-12 06:58:34 +09:00
Mike Hommey bb2afff5c1 Bug 1425381 - Always enable PIE on Android now that we support only >= 4.1. r=froydnj
--HG--
extra : rebase_source : c73d77ab1274b2dd54a3785a6d77c6e8dcb69f87
2018-01-11 10:42:15 +09:00
shindli f1c9a5da78 Backed out changeset 1af647b2f9e8 (bug 1429918) for a request made by the developer on a CLOSED TREE 2018-01-12 00:47:35 +02:00
Mike Hommey f1dcc7b8db Bug 1427344 - Add Debian CRT objects to GCC. r=nfroyd
One of the last remaining differences when building Firefox on Debian
with all the changes we've done so far is that linking against the
system libc statically links some CRT objects. This causes massive
differences in the resulting binaries because of slight differences
in those objects (because they weren't compiled with the same compiler
and because they're not for the exact same glibc version)

In practice, their content difference don't cause any problem. If they
did, we wouldn't be able to run our builds on newer systems than those
we build them on. The only hypothetical risk would be to run on systems
with a glibc older than Debian 7's, but those already can't run Firefox
anyways (those systems don't have Gtk+3, which is a system requirement).

AFAICT, this is only an hypothetical problem anyways, even such systems
with Gtk+3 should be able to run those builds. Plus, this is a change
that will happen anyways when switching to Debian-based build images,
since they would be using the CRT objects from there. We're merely
making it happen earlier so that the differences from switching to
Debian-based build images are more tractable.

Note we only do this when building GCC on Debian, allowing to roll back
to CentOS-based toolchains by just switching back the toolchain jobs to
use the desktop-build docker image again.
2018-01-12 21:39:57 +09:00
Mike Hommey e17b79e152 Bug 1427344 - Build GCC without --disable-initfini-array. r=nfroyd
When building on Debian (which we now are), this means we enable
.init_array/.fini_array.

When building on CentOS, this means no change. Which implies we could
roll back to CentOS-based toolchains by just switching back the
toolchain jobs to use the desktop-build docker image again.

This change causes massive differences in the resulting binaries because
of the offset differences, but practically speaking, there is no
difference. .init_array/.fini_array have been supported in glibc for 18
years.
2018-01-12 21:39:56 +09:00
Mike Hommey e73fcbf697 Bug 1429918 - Adjust the MPC download url. r=nalexander
--HG--
extra : rebase_source : e457431f9aa04c58ec29eb0c6450d43232de12d2
2018-01-12 06:58:34 +09:00
Mike Hommey 4f2f1a88f6 Bug 1429685 - Build a Valgrind package for Debian wheezy. r=dustin
Apply the patch from bug 1382280 (build/valgrind/valgrind-epochs.patch).

--HG--
extra : rebase_source : 283dbc749e231bc00ea3135423e1606161f0bcd4
2018-01-11 16:06:45 +09:00
Ralph Giles 8101f5ae52 Bug 1418083 - stylo: Suppress valgrind error. r=jseward
We believe this is another spurious memcheck error triggered
by code from Rust 1.23.0. See also bug 1394696.

For some reason, this error occurs both with and without
the leading underscore on mangled std::sync::once methods,
so this change matches either with a wildcard.

MozReview-Commit-ID: 4upSAPqAtNA

--HG--
extra : rebase_source : 5f697aaa5e170369f08d385d10c1aac9d8c1e50b
2018-01-09 16:18:49 -08:00
Margareta Eliza Balazs a331a849a4 Backed out changeset 6d539e4a02bd (bug 1403519) for lint failures on a CLOSED TREE 2018-01-11 22:32:27 +02:00
Ryan VanderMeulen f83acc4c48 Merge m-c to autoland. a=merge 2018-01-12 11:36:30 -05:00
Mike Hommey 0804de7e8e Bug 1430036 - Don't set PKG_CONFIG_LIBDIR when building on Debian. r=ted
--HG--
extra : rebase_source : 06f96fe0060a34f65f1126e3510580e0b6bc4969
2018-01-12 15:16:19 +09:00
Nick Alexander 115f9b57a7 Bug 1411654 - Pre: Update toolchain documents for Android toolchain jobs. r=maliu
MozReview-Commit-ID: 9h0imqIYyaZ

--HG--
extra : rebase_source : e10055d82a35f7fa56279856cc6700d328b21b43
2017-11-15 13:42:53 -08:00
Dustin J. Mitchell 522245f2f2 Bug 1403519 - only build docs when necessary r=gps
This marks **/docs/** as exclusively docs, and code that is autodoc'd as
inclusively docs.

That means that a change that purely modifies documentation files will *only*
run `docs` tasks, while a change that modifies autodoc'd source code will
*additionaly* run `docs` tasks.  The tasks do not run by default.

MozReview-Commit-ID: G9tOK0AwtrI

--HG--
extra : rebase_source : 8dd971e5c9b0eb5f47895664a4ea49442f303ecb
extra : source : 0881de9b2b5e36ec37cc866f1d4af109da57a919
2017-10-02 18:22:56 +00:00
Dorel Luca a19f5582cc Merge mozilla-central to mozilla-inbound r=merge 2018-01-11 00:05:23 +02:00
Mike Hommey 48af0db891 Bug 1429285 - Add cmake and ninja packages to the toolchain-build docker image. r=gps
We build packages of the same versions that were installed by
taskcluster/docker/recipes/install-cmake.sh and
taskcluster/docker/centos6-build/system-setup.sh in the desktop-build
image.

--HG--
extra : rebase_source : 843b89065daabd450f54ebf7a2cf55d00977e23a
2017-12-29 15:43:43 +09:00
Mike Hommey 87c31766de Bug 1429257 - Statically link newfs_hfs against libcrypto. r=gps
For the same reasons as bug 1427266.

--HG--
extra : rebase_source : f27c9d05b2ea74d323fde29c09c2faae9fe8ee19
2018-01-10 09:59:29 +09:00
Mike Hommey e1983fc387 Bug 1429257 - Make build-hfsplus.sh fail when something goes wrong. r=gps
Currently, the build can finish succesfully even when one of the
programs fails to build and is not included in the final artifact. The
macosx build then fails because of that, which is the wrong place to
be failing.

--HG--
extra : rebase_source : 4a41b2f96eea45d3eefa2734900603b6e6ee0ea5
2018-01-10 08:37:44 +09:00
Mike Hommey b25c52c92a Bug 1428989 - Generate Android bindings more deterministically. r=nalexander
There are multiple methods with the same name and that differ in their
arguments. They end up being ordered in the source file randomly,
despite there being some sorting done, because the sorting was only done
on the method name.

Now, when the method name matches, also compare the arguments.

--HG--
extra : rebase_source : a89b8c9dbad1d7506e0068119ba25cd34150bafc
2018-01-09 16:44:27 +09:00
Narcis Beleuzu 3b53e85664 Backed out 2 changesets (bug 1396582) for build bustage "ImportError: No module named which". r=backout a=backout on a CLOSED TREE
Backed out changeset a677efcd8768 (bug 1396582)
Backed out changeset 4e81669959ed (bug 1396582)
2018-01-09 22:45:50 +02:00
Chris Manchester 1be9ea36da Bug 1427840 - Add in-tree docs for GN support in the build system. r=dminor
MozReview-Commit-ID: AWsgvmMMIpX

--HG--
extra : rebase_source : 399d292b429714b8d23e1fc2142b2aedd77c584d
2018-01-09 12:15:08 -08:00
Gregory Szorc b1d1ac0183 Bug 1396582 - Move Python version checking to moz.configure; r=nalexander
The Python version validation in virtualenv.py is only called in 2
locations: `python -m mozbuild.virtualenv` and in moz.configure.

I believe that nobody calls `python -m mozbuild.virtualenv` any more.
That means that moz.configure is the only caller of
verify_python_version(). That means we can inline the logic into
moz.configure.

It makes sense for version checking to live in moz.configure because
the role of moz.configure is to evaluate the sanity of the environment.
So this commit does just that.

MozReview-Commit-ID: 7FLL0cGblFS

--HG--
extra : rebase_source : 4c2ecbe06399aad917f58ffb25a571993b736965
2018-01-08 15:46:35 -08:00
Gregory Szorc 252e60c9b2 Bug 1426566 - Remove wrapper to compare-mozconfigs; r=froydnj,nalexander
Recent refactoring made the wrapper pretty useless. Since I'm about
to look at this code once more, let's remove it while we're here.

MozReview-Commit-ID: GA9cKeLH7Iu

--HG--
extra : rebase_source : 9e08ed60eab694a9f20385aa5f85a9909809b199
2018-01-05 14:16:04 -08:00
Tom Prince 3f982a356e Bug 1428914: Get rid of some unsued python modules in `build/`; r=nalexander
MozReview-Commit-ID: D56lfae300E

--HG--
extra : rebase_source : a6882da45ae9f2019d2013c85c63735b4f1ae057
2018-01-08 16:22:21 -07:00
Matías Zúñiga 5a103f5593 Bug 1428110 - Check both paths of EMULATOR in one pass. r=nalexander 2018-01-08 22:03:10 -03:00
Andi-Bogdan Postelnicu b41605bc5e Bug 1429015 - Add clang-format-diff to the clang-tidy build generated by toolchains. r=sylvestre
MozReview-Commit-ID: FjJqef78wa3

--HG--
extra : rebase_source : ef0682f66f681f7c069fe6ad31baeb78d54c14ea
2018-01-09 13:27:39 +02:00
Emilio Cobos Álvarez 06f30cacd7 Bug 1428864: Fix indexer plugin build with clang >= 5. r=kats
MozReview-Commit-ID: J1DKFkyXu0v

--HG--
extra : rebase_source : 81d6abfa400c9c606d4bef5adc4633a831a713aa
2018-01-08 20:21:53 +01:00
Jean-Luc Bonnafoux 5acf65c7fe Bug 1428629 - elfhack.cpp prefer prefix ++ operator for non primitive types r=froydnj
MozReview-Commit-ID: C0L2NUsbmc4

--HG--
extra : rebase_source : b4b3dfbbabbd610384448169b10c3f9b5c27e621
2018-01-08 09:30:32 +01:00
Jean-Luc Bonnafoux 83cf591ec7 Bug 1417215 - Prefer prefix ++ operator for non primitive types r=froydnj
MozReview-Commit-ID: Hjbj0PEjAnf

--HG--
extra : rebase_source : 659bfb57eba416e6105035e453d7366a9515ea3a
2017-12-30 21:09:58 +01:00
Mike Hommey e34ef317f6 Bug 1427339 - Make mozconfig.stdcxx work with both CentOS and Debian-built GCCs. r=gps 2018-01-06 14:19:30 +09:00
Mike Hommey 0c1517dd8c Bug 1427339 - Configure binutils and gcc --with-sysroot=/. r=gps
The system binutils and gcc are built with that option on Debian, but
not on CentOS. That makes no practical difference, except for the fact
that when building GCC, we use our own-built binutils (as per bug
1427316), but use the system GCC. And a GCC built with --with-sysroot=/
doesn't work with a binutils built without. However, a GCC built without
--with-sysroot=/ works fine with a binutils built with it. So this
change is compatible with building our GCC on both CentOS and Debian.
2018-01-06 14:19:29 +09:00
Mike Hommey 51725c8a00 Bug 1427326 - Build a python package for Debian 7. r=dustin
--HG--
extra : rebase_source : b31d301859a0b6f6ecbb7763a82f162d7673379f
2017-12-29 13:00:59 +09:00
Andreea Pavel 25357802c6 Merge mozilla-inbound to mozilla-central r=merge a=merge 2018-01-04 23:28:19 +02:00
Ted Mielczarek ad688de73b bug 1401647 - use a 64-bit Rust toolchain for win32 builds. r=nalexander,rillian
We currently use a 32-bit Rust toolchain for win32 builds, but this can lead
to OOM situations. This patch makes win32 builds use a 64-bit Rust toolchain,
which requires a little bit of extra configuration because rustc needs to
be able to find a link.exe that produces 64-bit binaries for building
things like build scripts, which are host binaries.

We will now generate a batch file that sets LIB to the paths to 64-bit
libraries and invokes the x64-targeting link.exe, and add a section to the
.cargo/config file to instruct cargo to use that batch file as the linker
when producing 64-bit binaries.

MozReview-Commit-ID: 9vKBbm7Gvra

--HG--
extra : rebase_source : 273a99be71914167664482c2bdb26c840ec6867b
2017-12-14 10:20:33 -06:00
Mike Hommey 25c3f317c0 Bug 1427404 - Always export PATH when passing it through mk_add_options. r=nalexander
mk_add_options has this kind of awkward feature where
  mk_add_options VAR=value
would set VAR for the build through client.mk, but not when running
make -C objdir target. But
  mk_add_options "export VAR=value"
does.

We might want to change that on the long run, but the side effects would
have to be calculated first.

OTOH, we have automation jobs that run compilations during `make check`
(e.g. rusttests), which is not invoked through client.mk. So they
currently don't get the same PATH as the build part, meaning that
they're using system binutils instead of the one from the GCC toolchain
package.

--HG--
extra : rebase_source : aab7f221243c486cf70c7b0c91b9313231050ed8
2017-12-31 08:50:29 +09:00
Zibi Braniecki 6d15cb5ce6 Bug 1411012 - Migrate a small chunk of Privacy pane in Preferences to Fluent. r=mshal,Pike
MozReview-Commit-ID: ahAZCinoui

--HG--
extra : rebase_source : 2e3d68eb1ff91c1ee885d66756d2db74faff13f3
2017-11-09 12:11:32 -08:00
Makoto Kato 336ace5ab7 Bug 1397776 - Removing armv6 config support for Android. r=glandium
We no longer support Android/armv6 and we requires NEON for Android/arm, so
we can remove armv6 support for Android.

MozReview-Commit-ID: Hh17BTyE0wR

--HG--
extra : rebase_source : 57e043ecb1bb57a026c0b656b82768b899ddae78
2017-12-15 16:32:54 -06:00
Mike Hommey a6484528bd Bug 1410148 - Fully re-enable debug info on mac builds. r=gps
--HG--
extra : rebase_source : b6063977691ee68eb8db1bc38b57b6237daee443
2017-12-28 18:01:50 +09:00
Mike Hommey 9f6417f045 Bug 1410148 - Backport llvm r289565 to clang 3.9. r=gps
I was able to reproduce the failure to apply llvm-dsymutil on the last
mozilla-central revision before debug info was temporarily disabled for
rust, and validated that the problem was gone in clang 4.

After some bisection, r289565 was identified as having fixed the
problem, which, reading the commit message, makes sense.

It was however not possible to simply cherry-pick, because of multiple
code changes between 3.9 and 4. However, apart from the volume of
conflicting changes, it was more or less straightforward to backport.

Interestingly, the patch for r313872 was relying on changes from
r289565, which is why it required a variant specifically for 3.9, but
now we can use the same patch as for other versions. Well, except
there's a small difference in the context, and build-clang.py doesn't
allow fuzz, so we manually edit the patch to remove that line from the
context.

--HG--
extra : rebase_source : de0ab262d401c37c0e9300b0ef7923a07c009d87
2017-12-28 14:54:51 +09:00
Mike Hommey 4aa79652c5 Bug 1427232 - Remove .la files when building gtk3. r=gps
In bug 1426785, Gtk+3 build was moved to docker image creation time, and
at the same time, the removal of .la files was stripped, because it
seemed too broad to do that in /usr/local/lib*, and because I didn't
really remember why it was there in the first place.

I now do remember, and that's because libtool likes to add useless
dependencies on libraries just because direct dependencies transitively
depend on them. For example, this adds a dependency on libffi to
libpangocairo, which doesn't use it directly.

I also happens that /usr/local/lib* is empty at the moment we build
gtk3, so we can just do the cleanup there.

On its own, this change is useless, but:
- it restores the libraries in their state pre-bug 1426785,
- it helps reduce some differences when building on Debian (for bug
1399679), easing the comparison of those builds.

--HG--
extra : rebase_source : 3fa644d8ae5eb4ccac5940c7d3605201f589936d
2017-12-28 11:15:00 +09:00
Ciure Andrei 8e754a1049 Backed out 2 changesets (bug 1410148) for bustage failures on python\mozbuild\mozbuild\test\configure\lint.py r=backout a=backout on a CLOSED TREE
Backed out changeset f77f58a060ad (bug 1410148)
Backed out changeset 593515920c7e (bug 1410148)
2017-12-29 22:31:51 +02:00
Mike Hommey 66ed1c2e3a Bug 1410148 - Fully re-enable debug info on mac builds. r=gps
--HG--
extra : rebase_source : 44400063c868c9ce83c1310d30c6359e9b0b0759
2017-12-28 18:01:50 +09:00
Mike Hommey 8a6ab5b9ab Bug 1410148 - Backport llvm r289565 to clang 3.9. r=gps
I was able to reproduce the failure to apply llvm-dsymutil on the last
mozilla-central revision before debug info was temporarily disabled for
rust, and validated that the problem was gone in clang 4.

After some bisection, r289565 was identified as having fixed the
problem, which, reading the commit message, makes sense.

It was however not possible to simply cherry-pick, because of multiple
code changes between 3.9 and 4. However, apart from the volume of
conflicting changes, it was more or less straightforward to backport.

Interestingly, the patch for r313872 was relying on changes from
r289565, which is why it required a variant specifically for 3.9, but
now we can use the same patch as for other versions. Well, except
there's a small difference in the context, and build-clang.py doesn't
allow fuzz, so we manually edit the patch to remove that line from the
context.

--HG--
extra : rebase_source : cda077132ee499a8ffdc4c88a1160cfa5fd86a97
2017-12-28 14:54:51 +09:00
Mike Hommey 6a21d1f58e Bug 1426785 - Remove mozconfig.gtk. r=gps
It now only does something trivial, which also happens to be a no-op
because it's the default. It does have a commented entry for possible
gtk+2 builds, but we're soon going to remove that possibility anyways in
bug 1278282.

--HG--
extra : rebase_source : 9ac927bb7bd8c057264c8f6f9ca5cbf79a839c4e
2017-12-22 07:57:05 +09:00
Mike Hommey 79b5314945 Bug 1426785 - Use gtk+3 from /usr/local on automation. r=gps
Now that build environment docker images have gtk+3 installed in
/usr/local, adjust mozconfigs to point pkg-config there, and remove
all the glue that was required to build using the tooltool package.

Also remove the --x-libraries=/usr/lib on 32-bits builds, which only
confuses the linker.

--HG--
extra : rebase_source : c7de7b3959a3c6b77ea202d9609c891b5b7ec442
2017-12-22 07:53:33 +09:00
Mike Hommey a6e25e84a3 Bug 1426785 - Install gtk+3 in the Centos images used for desktop builds. r=gps
Back when we started needing gtk+3 to build Firefox, we were using mock
to setup the build environment, and a tooltool package was the most
sensible way to handle this.

Fast forward to today, and we're close to moving the build environment
to Debian, which comes with gtk+3 packages. But in order to simplify
the various checks for the transition, it is desirable to stop using the
tooltool package. Which we can actually do in a reasonable way now that
we use docker images instead of mock, by building and installing gtk+3
in the build environment images.

So we modify the script that was producing the gtk+3 tooltool packages
such that it installs gtk+3 in the docker images, both 32 and 64 bits.
And invoke it when creating the desktop build environment docker images.

--HG--
extra : rebase_source : 75e987d6de7f3ae8a3d9b478fc173e191d28aace
2017-12-22 07:41:56 +09:00
Coroiu Cristina dbb27acb6d Backed out 5 changesets (bug 1426785) for failing repackage the nightly build on Linux a=backout.
Backed out changeset 08b5850633de (bug 1426785)
Backed out changeset 61453b6473f1 (bug 1426785)
Backed out changeset 851ce8944b41 (bug 1426785)
Backed out changeset 386cd0532519 (bug 1426785)
Backed out changeset 2a52bf9e0898 (bug 1426785)
2017-12-24 14:03:02 +02:00
Tiberius Oros fd149086d0 Merge mozilla-central to inbound. r=merge a=merge CLOSED TREE 2017-12-24 00:48:00 +02:00
Tiberius Oros 794f6c4955 Merge autoland to mozilla-central r=merge a=merge
--HG--
extra : rebase_source : 688988c7815ca431c434b8804a5c88eb41d67c06
2017-12-23 23:59:51 +02:00
Ryan VanderMeulen 63ac251398 Bug 1426793 - Add DevEdition to mozinfo. r=nalexander 2017-12-23 16:39:53 -05:00
Chris Cooper f2819347e3 Bug 1410148 - Attempt to fix OS X cross-compile builds on central by changing rust debug log level to 0. r=Aryx a=bustage-fix-attempt
--HG--
extra : amend_source : 3eba0bc3e2008806b048f285215b338f2a8bcf2d
2017-12-23 21:12:47 +01:00
Mike Hommey aa8197cc80 Bug 1426788 - Don't fall back to ccache when sccache is not enabled. r=gps
ccache is not beneficial on taskcluster, don't try to use it when
sccache is not enabled for some reason.

--HG--
extra : rebase_source : a17fe88eb92072935cb86f9ada4205863cfc8f85
2017-12-22 10:08:40 +09:00
Mike Hommey 2dca68b63f Bug 1426785 - Remove mozconfig.gtk. r=gps
It now only does something trivial, which also happens to be a no-op
because it's the default. It does have a commented entry for possible
gtk+2 builds, but we're soon going to remove that possibility anyways in
bug 1278282.

--HG--
extra : rebase_source : 0de751e523ee002bbe6638d223eb384364edd22b
2017-12-22 07:57:05 +09:00
Mike Hommey 2e32acf893 Bug 1426785 - Use gtk+3 from /usr/local on automation. r=gps
Now that build environment docker images have gtk+3 installed in
/usr/local, adjust mozconfigs to point pkg-config there, and remove
all the glue that was required to build using the tooltool package.

Also remove the --x-libraries=/usr/lib on 32-bits builds, which only
confuses the linker.

--HG--
extra : rebase_source : 22b1273ae4b78807b355d33ed5895bdfe83a141d
2017-12-22 07:53:33 +09:00
Mike Hommey 089e3a8dc2 Bug 1426785 - Install gtk+3 in the Centos images used for desktop builds. r=gps
Back when we started needing gtk+3 to build Firefox, we were using mock
to setup the build environment, and a tooltool package was the most
sensible way to handle this.

Fast forward to today, and we're close to moving the build environment
to Debian, which comes with gtk+3 packages. But in order to simplify
the various checks for the transition, it is desirable to stop using the
tooltool package. Which we can actually do in a reasonable way now that
we use docker images instead of mock, by building and installing gtk+3
in the build environment images.

So we modify the script that was producing the gtk+3 tooltool packages
such that it installs gtk+3 in the docker images, both 32 and 64 bits.
And invoke it when creating the desktop build environment docker images.

--HG--
extra : rebase_source : fe18bfb2ec8db183c44838d5a7a0051322b2a9c0
2017-12-22 07:41:56 +09:00
Mike Hommey cffd7e8396 Bug 1426555 - Move --enable-stdcxx-compat to python configure. r=chmanchester
At the same time, we make it actually do something on spidermonkey
builds. We also add an environment variable alternative, that we use
in mozconfig.stdcxx, allowing for mozconfig.no-compile to override it
and avoid configure failures on e.g. artifact builds.

--HG--
extra : rebase_source : b68d362025e0c99f9184a03391c652ec2c9357ad
2017-12-21 11:13:08 +09:00
Mike Hommey ec8fa73867 Bug 1426555 - Allow to add host compiler flags from python configure. r=chmanchester
Bug 1325632 added some facility to add target compiler flags. This
change extends it to add allow adding host compiler flags as well.

--HG--
extra : rebase_source : 424b405a1d8f9a4778ff75c3308c9622f050e194
2017-12-21 11:11:22 +09:00
Csoregi Natalia 1dcea46201 Backed out 2 changesets (bug 1401647) for Spidermonkey Build Bustage on Linux x64. r=backout on a CLOSED TREE
Backed out changeset b5c9bb05168d (bug 1401647)
Backed out changeset 0542716bb901 (bug 1401647)
2017-12-21 14:14:26 +02:00
Ted Mielczarek 67204b6593 bug 1401647 - use a 64-bit Rust toolchain for win32 builds. r=rillian
We currently use a 32-bit Rust toolchain for win32 builds, but this can lead
to OOM situations. This patch makes win32 builds use a 64-bit Rust toolchain,
which requires a little bit of extra configuration because rustc needs to
be able to find a link.exe that produces 64-bit binaries for building
things like build scripts, which are host binaries.

We will now generate a batch file that sets LIB to the paths to 64-bit
libraries and invokes the x64-targeting link.exe, and add a section to the
.cargo/config file to instruct cargo to use that batch file as the linker
when producing 64-bit binaries.

MozReview-Commit-ID: 9vKBbm7Gvra

--HG--
extra : rebase_source : 366dd966cafe4f07b8e59fc170d2db2dada32627
2017-12-14 10:20:33 -06:00
Mike Hommey e45c2bc4bc Bug 1426283 - Use nproc for the number of parallel jobs to run when building gcc. r=gps
While in the vicinity.

--HG--
extra : rebase_source : 8d885ff5fd4fa124a08326c0ca002a49ef559e57
2017-12-20 14:39:26 +09:00
Mike Hommey d61456f499 Bug 1426283 - Work around bug 1409276. r=gps
Both the cc crate and the rust compiler may want to use "cc", which,
on automation, points to the system GCC compiler instead of ours.

As a workaround, we add a cc symbolic link in the GCC toolchain artifact
so that, as long as the GCC toolchain artifact's bin directory is in
$PATH early enough, it's picked over /usr/bin/cc.

--HG--
extra : rebase_source : 53cacf8a750539706a484218e168c8c9e0ba49a6
2017-12-20 10:32:36 +09:00
Mike Hommey fbaf337e4b Bug 1426322 - Separate gcc and mingw32-gcc. r=gps
The "contract" for toolchains is that extracting foo.tar.xz creates a
directory named foo/. That is however not true for mingw32.tar.xz, which
extracts into gcc/, possibly overwriting files from the gcc.tar.xz
archive (which is also used for mingw builds, for the host part).

This is also not true for nsis.tar.xz, but it reportedly has problems
when it's not in the same directory as mingw32.

But mingw32 doesn't actually need to be mixed with gcc, so it's better
to separate them as they are supposed to be.

--HG--
extra : rebase_source : 30d90af64459bbb31bc076e48f3c661fa9cd4a79
2017-12-20 13:46:53 +09:00
David Major 18a5250f02 Bug 1425906: Rename LINK to LINKER throughout the build system. r=glandium
Windows linkers give special meaning to getenv("LINK"), which makes `export LINK=...` in mozconfigs do unexpected things.
2017-12-20 09:07:46 -05:00
Ryan VanderMeulen 5426c586b0 Bug 1425984 - Backport LLVM revision 318309 to fix clang-cl bustage with VS2017 15.5. r=dmajor 2017-12-19 14:16:31 -05:00
Nathan Froyd de9853b2ff Bug 1425035 - move --enable-ui-locale to moz.configure; r=gps
We need MOZ_UI_LOCALE even when building the JS shell so
config/config.mk variable assignments don't run into issues.  But it
doesn't make any sense to configure a UI locale for the JS shell.  So
make --enable-ui-locale a normal `option`, but give it a `default`,
which is the value shell-only builds will always see.

--HG--
extra : amend_source : 047759dd6ec446d9d6f8f5992ed9cf6628ce859e
2017-12-18 14:21:26 -08:00
Nathan Froyd cd85ab8af7 Bug 1422734 - move --enable-small-chunk-size to moz.configure; r=chmanchester 2017-12-03 13:44:55 -05:00
Aki Sasaki 3c0052131d bug 1423081 - add version.txt to decision sparse checkout. r=callek
MozReview-Commit-ID: 46R2HBbiiLg

--HG--
extra : rebase_source : 4f75c53afcb50a9804fdf5a38663c5fe715f7d60
extra : histedit_source : ff7342b3845c7e6dc9e5dda05399fdccd4fab4fa
2017-12-05 19:36:13 -08:00
Mike Hommey 511d112e2d Bug 1427316 - Use the binutils we just built to build GCC. r=gps
We're currently building GCC with the system binutils, which, at the
moment, is whatever version is available on the CentOS 6 build
environments. With the imminent switch to Debian 7, that will be a
different version.

It turns out the GCC configure script does enable some features
depending on the binutils it's built with. For the most notable
differences it makes when going from Centos 6 to Debian, it enables
.init_array/.fini_array depending on the binutils version, and enables
the use of CFI advances depending on gas and objdump respectively
supporting and displaying DW_CFA_advance_loc.

But we're already building a fixed version of binutils (which happens to
be more recent than the one in both CentOS 6 and Debian 7), and we're
using that version when using GCC to build, so we can just as much use
the version we built to build GCC.

In order to avoid any changes to the resulting builds, we explicitly
turn off .init_array/.fini_array (which currently happens implicitly
when building on CentOS 6). This will ensure that there is not other
change to the builds due to this binutils version bump
(.init_array/.fini_array being enabled shifts everything in the
binaries, so it makes the whole diff full of noise)
2018-01-04 19:16:19 +09:00
Chris Manchester 73ad6401d3 Bug 1393119 - Add webrtc gn build config; r=dminor
MozReview-Commit-ID: FIPjkDWwAQx

--HG--
extra : rebase_source : 420774d076919ed5c1424181c8153c5e40acbaaf
2017-11-29 11:18:44 -08:00
David Major 774bdeb18e Bug 1429128: Pass -m32 when building Win32 binaries with Win64 clang-cl. r=froydnj 2018-01-10 12:17:32 -05:00
Cosmin Sabou b0098afaea Merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-12-13 12:14:29 +02:00
Nathan Froyd 6d4a891a5f Bug 1422859 - move MOZILLA_*VERSION setting into moz.configure; r=chmanchester
This has the virtue of not executing python three times during configure
just to read the same value of milestone.txt and munge it.  We can also
remove milestone.py as a happy side effect, so all the milestone
computations can be done in init.configure.
2017-12-04 11:19:25 -05:00
Mike Hommey 8bb6a1a03e Bug 1423821 - Add a consistency check for section offsets to elfhack. r=froydnj
lld is being too smart for its own good, and places non-relocatable data
right after the program headers, which prevents the program headers from
growing. But elfhack wasn't checking for that, so happily placed the
non-relocatable data at its non-relocated location, overwriting the last
item of the program headers.

--HG--
extra : rebase_source : 6f26d475f0a19d88ddf21399dbce8ceac62b492d
2017-12-07 15:34:58 +09:00
Mike Hommey ded54a5e92 Bug 1423813 - Properly handle elfhack -r after bug 1385783. r=froydnj
Bug 1385783 changed things such that the two elfhack sections are not
adjacent anymore. They can even be in different segments in some cases,
but the undo code doesn't know how to actually handle that case.

So for now, allow non adjacent sections, but still verify that they are
in the same segment.

--HG--
extra : rebase_source : da95ef7df19eeea8dfd07b24f22e7bee18939b69
2017-12-07 15:22:22 +09:00
Tom Prince 1d74db87ce Bug 1424651: Remove unused SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE mozconfig variable; r=ted.mielczarek
MozReview-Commit-ID: CkIg3fiwp1z

--HG--
extra : rebase_source : 5a4a50c8feb477a9b50c30e35b72a316b1f1bc8c
2017-12-10 23:05:05 -07:00
Dorel Luca 2f271a1136 Backed out 4 changesets (bug 1424651) as requested by tomprice r=backout on a CLOSED TREE
Backed out changeset 10ebf78f32bb (bug 1424651)
Backed out changeset 746d96792d18 (bug 1424651)
Backed out changeset 6038fb7b458c (bug 1424651)
Backed out changeset 189fd4f1df41 (bug 1424651)
2017-12-12 06:33:18 +02:00
Tom Prince 4dfc8f7a46 Bug 1424651: Remove unused SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE mozconfig variable; r=ted.mielczarek
MozReview-Commit-ID: CkIg3fiwp1z

--HG--
extra : rebase_source : 475e2d8888ff4b93efa9886581de9d145b51c51c
2017-12-10 23:05:05 -07:00
Mike Hommey 2fc6190633 Bug 1423802 - Remove the dummy fallible library. r=nalexander
Bug 1423803 was attempting to remove the fallible library but didn't do
so on Android because of this bug. We can now fully retire it.

--HG--
extra : rebase_source : de38872a08d24768eadfbe81652cfcd6aa7aa041
2017-12-07 12:16:50 +09:00
Mike Hommey e0bbb4aa9e Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Bug 1256642 introduced magic at the emitter level to determine whether a
binary contains C++ sources and should be linked with the C compiler or
the C++ compiler.

Unfortunately, the Binary() moz.build template always adds C++ OS
libraries on Android (through STLPORT_LIBS), and C++ libraries on Linux
(stdc++compat).

The latter only ends up forcing every Binary() to be linked with the C++
linker, which is unfortunate, but doesn't cause much problems. The
former, however, involving OS libraries, the magic from bug 1256642
doesn't kick in, so we end up trying to link C++ OS libraries with the C
linker. Which ends up failing, because the libraries in STLPORT_LIBS
require -lm, which, while it's added by the C++ compiler when linking,
is not when the linkage is driven by the C compiler.

Because the fallible library, linked to all GeckoBinary()s is a C++
library, we still ended up linking with the C++ compiler on Android, so
this wasn't actually causing any problem... until I tried to remove that
fallible library in bug 1423803.

Anyways, the core problem is that moz.build evaluation is happening too
early to know whether any C++ sources are being linked together, so
there is no way the Binary() template can do the right thing. So this
change moves the logic to the emitter.

This also changes the type of STLPORT_LIBS to a list.

--HG--
extra : rebase_source : a70ddf7a132f94dc10e7e1db94ae80fb8d7a269f
2017-12-07 12:15:32 +09:00
Ted Mielczarek 22ef01fe2d bug 1423882 - Define and use a sparse profile for upload-generated-sources tasks. r=gps
upload-generated-sources tasks simply use `mach python` to run an in-tree
script, so they can save time by using a sparse profile.

MozReview-Commit-ID: LbXlibOP34W

--HG--
extra : rebase_source : c6b580b15671edeb700d191f651c79c6d6423394
2017-12-07 06:51:25 -05:00
Ralph Giles e22361a5ac Bug 1421097 - Require at least Rust 1.22.1. r=ted
Bump the minimum required Rust version now that 1.22.1
has been in stable release for more than two weeks.

Version 1.22.0 works fine everywhere but macOS 10.13,
but 1.22.1 was released the same day, so it's no harder
to upgrade to.

Also update the base-toolchain builds to ensure we
continue to build with this version.

MozReview-Commit-ID: GlRWUNE07G0

--HG--
extra : rebase_source : f37585db5633e6e64b02bc94c2516b5ab18c3e15
2017-12-07 21:08:53 -08:00
Ted Mielczarek 8b7140ce04 bug 1424323 - remove MOZ_AUTOMATION_UPLOAD_SYMBOLS from in-tree mozconfigs. r=rillian
With all of our builds in Taskcluster now, we should never be uploading
symbols from build tasks. Unfortunately Windows builds were still doing so.
This patch removes MOZ_AUTOMATION_UPLOAD_SYMBOLS from all the in-tree
mozconfigs and a few other places so that it should always default off
(per moz-automation.mk). The rest of the uploadsymbols bits will be
removed once Thunderbird fixes their automation.

This patch was mostly autogenerated by running:
rg --files-with-matches UPLOAD_SYMBOLS browser/config/mozconfigs/ mobile/android/config/mozconfigs/ | xargs sed -ri '/.*UPLOAD_SYMBOLS.*/d'
sed -ri '/.*UPLOAD_SYMBOLS.*/d' build/unix/mozconfig.linux build/mozconfig.win-common build/macosx/local-mozconfig.common build/mozconfig.automation

Then mobile/android/config/mozconfigs/common and
taskcluster/scripts/builder/build-linux.sh were hand-edited.

MozReview-Commit-ID: Cy8kSEodSg4

--HG--
extra : rebase_source : 01caf1651b4eb428313e1f371aa585f8f34c4151
2017-12-08 13:50:17 -05:00
Ted Mielczarek 5d703076d0 bug 1422740 - Define and use a sparse profile for upload-symbols tasks. r=gps
The upload-symbols task simply runs an in-tree Python script with
`mach python` so using a sparse profile will make this a bit faster.

MozReview-Commit-ID: 5HzwMf1FZLU

--HG--
extra : rebase_source : 74046b7917ee2e2ea7be0ec24f777f5fe819ef58
2017-12-07 06:08:42 -05:00
Sylvestre Ledru 4591d82b23 Bug 1394734 - Replace CONFIG['CLANG*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: HbF5oT5HW6f

--HG--
extra : rebase_source : eca479b6ae4bff7f600d1cdb39e11ac2057e4e79
2017-12-07 22:09:38 +01:00
Sylvestre Ledru 9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Cosmin Sabou c3a26ac81a Backed out changeset 1ee72d1a9430 (bug 1418052) for Linux x64 asan build bustages on /builds/worker/workspace/build/src/config/recurse.mk:32 r=backout on a CLOSED TREE 2017-12-08 13:44:13 +02:00
Tom Ritter 45ec0ac30c Bug 1418052 Correctly process hardening flags for ASAN, --disable-hardening, and --disable-optimize r=decoder,glandium
Will also address Bug 1377553 and part of Bug 1419607

MozReview-Commit-ID: AUCqBxEGpAl

--HG--
extra : rebase_source : f7582d7089f0f4582a02aeaef090dc0701df994d
2017-11-20 22:20:56 -06:00
Cosmin Sabou c191e25cf5 Merge mozilla-inbound to mozilla-central r=merge a=merge 2017-12-08 11:56:44 +02:00
David Major 8ca7c22416 Bug 1423915 - Use common-win64 mozconfig on all win64 builds. r=nalexander 2017-12-07 13:48:38 -05:00
Nick Alexander 2341c27f8f Bug 1417232 - Post: Add gradle.configure to android-* tasks. r=ted.mielczarek
With Gradle integration centralized in gradle.configure, changing
these integration points will need to trigger the android-* tasks.

MozReview-Commit-ID: DuOuW1RIgCh

--HG--
extra : rebase_source : a3f0a76b1ae6b3cd952271782f9d0c2463b704e0
2017-11-14 10:15:30 -08:00
shindli 53c3b17b09 Backed out 6 changesets (bug 1417232) for failing in /python/mozbuild/mozbuild/test/configure/lint.py::Lint::test_mobile_android r=backout on a CLOSED TREE
Backed out changeset 06e72cdd94a5 (bug 1417232)
Backed out changeset 036308b8fe6b (bug 1417232)
Backed out changeset bb63e12fea6f (bug 1417232)
Backed out changeset d0a9d2d4c5b7 (bug 1417232)
Backed out changeset b613dde03d99 (bug 1417232)
Backed out changeset 8699e19b02e5 (bug 1417232)
2017-12-08 01:25:05 +02:00
Nick Alexander e190805a01 Bug 1417232 - Post: Add gradle.configure to android-* tasks. r=ted.mielczarek
With Gradle integration centralized in gradle.configure, changing
these integration points will need to trigger the android-* tasks.

MozReview-Commit-ID: DuOuW1RIgCh

--HG--
extra : rebase_source : 9aecfab8a8ce41441fb4c25021b14263d9c115c2
2017-11-14 10:15:30 -08:00
Bogdan Tara 71dd57ba46 Merge mozilla central to autoland. r=merge a=merge on a CLOSED TREE 2017-12-07 15:54:19 +02:00
Bogdan Tara 97aeaa6e1f Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-12-07 12:59:54 +02:00
Julian Hector 378f6d9cfb Bug 1398874 - Add static analysis to reject ParamTraits specializations for enum types. r=mystor 2017-12-05 10:26:41 -05:00
Mike Hommey abab5abf88 Bug 1423803 - Turn mozilla::fallible into an alias for std::nothrow. r=njn
The std::nothrow variant of operator new is effectively a fallible
operator new. It is used in third party code.

The duplication with our own fallible operator new is unfortunate, and
we can reduce it by making one an alias of the other.

We keep the fallible library as a dummy on Android because bug 1423802
induces some linking problems.

--HG--
extra : rebase_source : d7b915aaafde40057e87b7ad4bbd82d348e4f12d
2017-12-07 11:32:29 +09:00
Tim Taubert 91a23b2116 Bug 1421723 - Allow localhost as appId for U2F r=jcj
Reviewers: jcj

Reviewed By: jcj

Bug #: 1421723

Differential Revision: https://phabricator.services.mozilla.com/D321
2017-12-06 16:28:20 +01:00
Ryan VanderMeulen ecad46fcc0 Bug 1423307 - Update clang-cl builds to LLVM revision 317840. r=ted
--HG--
extra : histedit_source : 17e273e956a29232fd7b6e262df8ae939216f668
2017-12-06 20:37:13 -05:00
Gurzau Raul f5f1c3f294 Merge inbound to mozilla-central r=merge a=merge 2017-12-06 11:53:55 +02:00
Mike Hommey 566d3d62b1 Bug 1423094 - Remove the msvcrt argument to GeckoProgram. r=gps
The last use in gecko was removed in the previous change, and the only
use in comm-central should be trivial to remove. It's not worth the
extra complexity to keep this argument.

--HG--
extra : rebase_source : 8576316190bf58476b7eb262deae4c972ea3dc2f
2017-12-05 15:36:52 +09:00
Andrew Halberstadt 0e697ce235 Bug 1422302 - Create python/mozterm for sharing terminal blessings across modules r=gps
This is a new module that will provide a place to store some common
abstractions around the 'blessings' module. The main entrypoint is:

    from mozterm import Terminal
    term = Terminal()

If blessings is available, this will return a blessings.Terminal()
object. If it isn't available, or something went wrong on import,
this will return a NullTerminal() object, which is a drop-in
replacement that does no formatting.

MozReview-Commit-ID: 6c63svm4tM5

--HG--
extra : rebase_source : 9ab221774d92a418d9b098d79bb2c88f75d937f8
2017-12-04 09:38:24 -05:00
David Keeler 0bfa8aad3f bug 1421816 - (1/2) add cbor2 library r=ted
This library will be used to create test COSE signatures for the new COSE add-on
signature verification implementation.

MozReview-Commit-ID: KshKHwusT5h

--HG--
extra : rebase_source : 22d65622a77afc93b756829c8ffb4f37101dad26
extra : histedit_source : 869b9b65bdf201a027914a8127d28e5e9baf4d33
2017-11-29 10:57:37 -08:00
Bogdan Tara ebe0a1a20c Merge inbound to mozilla-central r=merge a=merge 2017-12-04 22:20:49 +02:00
Nathan Froyd ec3249906a Bug 1422607 - move PREPROCESS_OPTION to moz.configure; r=chmanchester 2017-12-04 08:14:06 -05:00
Nathan Froyd 3a307d4ebb Bug 1422540 - move --enable-gczeal to moz.configure; r=nalexander 2017-12-03 13:40:03 -05:00
Nathan Froyd 609fb452b4 Bug 1422380 - move --enable-jitspew to moz.configure; r=nalexander 2017-12-02 13:43:40 -05:00
Nathan Froyd 01a91d775d Bug 1421792 - move --enable-trace-logging to moz.configure; r=nalexander 2017-12-02 13:43:41 -05:00
Nathan Froyd e511fa1e4b Backout f9231cda92d8 (bug 1421792) on suspicion of causing inscrutable moz.configure lint errors; r=bustage
Do this on a CLOSED TREE, of course.
2017-12-01 22:04:58 -05:00
Nathan Froyd ed33603f94 Bug 1421792 - move --enable-trace-logging to moz.configure; r=nalexander 2017-12-01 21:29:27 -05:00
Nathan Froyd d7b5304b9d Bug 1421791 - move --enable-{ion,simulator} definitions to moz.configure; r=nalexander
--enable-ion was only used by --enable-simulator and related options, so
there wasn't much point in making two separate commits.

This translation is a little more verbose than the original
old-configure code, but I think it is more readable and easier to
follow.  We also don't port over --enable-simulator=no, as there doesn't
seem to be much point in doing so.
2017-12-01 21:29:27 -05:00
David Major 252f0cf0c6 Bug 1421404: Add lld to the build-clang task. r=glandium
--HG--
extra : rebase_source : a41a386965056afdc359f117972f6d5078d83453
2017-12-01 11:12:07 -05:00
Marco Castelluccio a51c72b439 Bug 1421692 - Apply compiler-rt patch to flush gcda files before unlocking them. r=glandium 2017-11-29 13:18:22 +00:00
Marco Castelluccio a3836b3113 Bug 1401230 - Apply compiler-rt patch to hide gcda symbols on Windows too. r=glandium 2017-11-23 20:32:50 +00:00
Dorel Luca bea662dd30 Merge mozilla-central to autoland r=merge
--HG--
rename : layout/reftests/webcomponents/basic-insertion-point-1-ref.html => layout/reftests/webcomponents/basic-slot-5-ref.html
rename : layout/reftests/webcomponents/basic-insertion-point-1.html => layout/reftests/webcomponents/basic-slot-5.html
rename : layout/reftests/webcomponents/basic-insertion-point-2-ref.html => layout/reftests/webcomponents/basic-slot-6-ref.html
rename : layout/reftests/webcomponents/basic-insertion-point-2.html => layout/reftests/webcomponents/basic-slot-6.html
extra : rebase_source : 483a0fb85738c5459165efca8ec6bc971e31b4c2
2017-12-04 12:49:40 +02:00
Noemi Erli c528f7e479 Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-12-02 23:47:37 +02:00
Ciure Andrei 48e5c9892f Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2017-12-02 12:19:55 +02:00
Edouard Oger 54088f8c9e Bug 1422115 - Remove storageserver.js from services/. r=markh,tcsc
MozReview-Commit-ID: 4UGCq6SolY1

--HG--
extra : rebase_source : 49e8a5d072d1cb15d0942e7fbc39c7a2c8c08c6f
2017-11-30 15:11:19 -05:00
Kartikaya Gupta ef331d62ea Bug 1421768 - Fix overeager clang-tidy behaviour causing silent breakage in searchfox. r=me
This is an import of the change from https://github.com/mozsearch/mozsearch/pull/66
plus a correction in the README file. The change was reviewed in github.

MozReview-Commit-ID: A7gINlBubZ4
2017-11-30 16:52:51 -05:00
Mike Hommey 2b2a874b47 Bug 1420355 - Statically link DMD. r=njn
--HG--
extra : rebase_source : 8e7cf975d096116b666532f3fe8aa5a7f61b5725
2017-11-28 08:10:48 +09:00
Mike Hommey 50d09b60b0 Bug 1420355 - Allow to statically link replace-malloc libraries. r=njn
And statically link logalloc.

Statically linking is the default, except when building with
--enable-project=memory, allowing to use the generated libraries from
such builds with Firefox.

--HG--
extra : rebase_source : efe9edce8db6a6264703e0105c2192edc5ca8415
2017-11-23 17:24:19 +09:00
Csoregi Natalia 4ce8d0124c Backed out 7 changesets (bug 1420355) for mass failures on OS X and Android. r=backout on a CLOSED TREE
Backed out changeset a7ed89e13a4c (bug 1420355)
Backed out changeset fd6702e6e0a0 (bug 1420355)
Backed out changeset 0479dda078a2 (bug 1420355)
Backed out changeset e69357ccca9e (bug 1420355)
Backed out changeset 3742a4b69ba2 (bug 1420355)
Backed out changeset 451cd087922f (bug 1420355)
Backed out changeset d80b5c4e1dd0 (bug 1420355)
2017-11-29 03:08:46 +02:00
Mike Hommey 7c62087a43 Bug 1420355 - Statically link DMD. r=njn
--HG--
extra : rebase_source : 46800c9c0c5006a5a32f11abc209da27e65ae0f5
2017-11-28 08:10:48 +09:00
Mike Hommey d60e80991e Bug 1420355 - Allow to statically link replace-malloc libraries. r=njn
And statically link logalloc.

Statically linking is the default, except when building with
--enable-project=memory, allowing to use the generated libraries from
such builds with Firefox.

--HG--
extra : rebase_source : efe9edce8db6a6264703e0105c2192edc5ca8415
2017-11-23 17:24:19 +09:00
Ted Mielczarek 0d2c1d3036 bug 1396993 - fix flake8 lint. r=bustage CLOSED TREE
MozReview-Commit-ID: LYxUmVzYMbz

--HG--
extra : rebase_source : 8738ff67e98afb9282a3d70886f3e4afca18d488
extra : amend_source : a614440e705fbd383b0f26249b7c87c1eeb8122e
2017-11-27 09:57:49 -05:00
Ted Mielczarek 8d741405f5 bug 1396993 - Look in ~/.cargo/bin for rustc+cargo even they're not in PATH. r=rillian
rustup installs rustc+cargo to ~/.cargo/bin by default, so make configure look
there to avoid the annoying case where someone installed rust and cargo
(possibly via `mach bootstrap`) but forgot to add ~/.cargo/bin to their PATH.

MozReview-Commit-ID: GZOcFdFmzA5

--HG--
extra : rebase_source : 9dae473b5804f096992cae7f90df4c87bb4e5af4
extra : source : 9324e5e56038a1e548b0fc4d94d9df445734ff1e
2017-09-05 16:38:18 -04:00
Nika Layzell a124bfae77 Bug 1418465 - Add an opt-out to the MOZ_CAN_RUN_SCRIPT analysis, r=andi
MozReview-Commit-ID: 2YKncUdrT5p
2017-11-24 11:15:17 -05:00
Mike Hommey ebb5fb6002 Bug 1420092 - Don't reject --enable-jemalloc on platforms where it's not the default. r=njn
The first step of making --enable-jemalloc the default everywhere is to
at least allow to build with it everywhere. Which currently probably
fails on a few platforms, but they're not going to be fixed if they're
explicitly rejected at configure time.

--HG--
extra : rebase_source : f29383e2d73986f3e5b033ac82c0d520bacd4fa6
2017-11-23 15:39:08 +09:00
Mike Hommey dda2902840 Bug 1420092 - Don't always enable mozjemalloc by default when building the js engine. r=njn
The target.kernel-based tests should be enough.

--HG--
extra : rebase_source : 6dce05a8c097af1402dc98a3fa75a2ef581ef862
2017-11-23 15:38:39 +09:00
Mike Hommey 9fc893add0 Bug 1420092 - Enable mozjemalloc by default on 32-bit OSX. r=njn
Hopefully, the bug we worked around by disabling jemalloc on 32-bit OSX
is gone. We're not shipping 32-bit binaries for OSX anyways.

--HG--
extra : rebase_source : 148a80a7ab006d3be81fb931cbbb4ad2c81690c3
2017-11-23 15:36:13 +09:00
Cosmin Sabou 27758db986 Backed out 3 changesets (bug 1420092) for build bustages on python/mozbuild/mozbuild/test/configure/lint.py::Lint r=backout on a CLOSED TREE
Backed out changeset 3df6a2608986 (bug 1420092)
Backed out changeset 156b99af764d (bug 1420092)
Backed out changeset f472190629fb (bug 1420092)
2017-11-23 11:09:54 +02:00
Mike Hommey a5ffa3c0c0 Bug 1420092 - Don't reject --enable-jemalloc on platforms where it's not the default. r=njn
The first step of making --enable-jemalloc the default everywhere is to
at least allow to build with it everywhere. Which currently probably
fails on a few platforms, but they're not going to be fixed if they're
explicitly rejected at configure time.

--HG--
extra : rebase_source : 0905861d5a2cc62f5b37c5ee811e56e1e063a133
2017-11-23 15:39:08 +09:00
Mike Hommey 9102f2075b Bug 1420092 - Don't always enable mozjemalloc when building the js engine. r=njn
The target.kernel-based tests should be enough.

--HG--
extra : rebase_source : 4af988ac952f3a65c638bf7bb308a8ddf4798bcf
2017-11-23 15:38:39 +09:00
Mike Hommey 95ce6018b6 Bug 1420092 - Enable mozjemalloc by default on 32-bit OSX. r=njn
Hopefully, the bug we worked around by disabling jemalloc on 32-bit OSX
is gone. We're not shipping 32-bit binaries for OSX anyways.

--HG--
extra : rebase_source : bfe765977dedf1949da4d5919032cadfb4675f1f
2017-11-23 15:36:13 +09:00
shindli 82254ca1cf Merge inbound to mozilla-central r=merge a=merge 2017-11-22 23:29:44 +02:00
David Major de1574c9ea Bug 1418453 - Change asan_blacklist_win.txt syntax to get it working again. r=glandium
--HG--
extra : rebase_source : ca7d9b74176d78c87d708eefee2ee244b39cd3c0
2017-11-22 12:07:00 -05:00
Tom Prince 723093b6c2 Bug 1418652: Migrate comm-central configure options to moz.configure; r=chmanchester,Fallen
MozReview-Commit-ID: JBRsgBnB9oF

--HG--
extra : rebase_source : bd4663493fdb851091acae34c5e52195173a9e42
2017-11-18 10:21:38 -07:00
Tom Prince 4972fabbb9 Bug 1418652: Remove non-existant comm-centrall configure option; r=chmanchester,Fallen
It was removed in Bug 1318966.

MozReview-Commit-ID: 6fckjVDubTT

--HG--
extra : rebase_source : a0394af2905ee815faa502987f68921a396c242e
2017-11-18 10:17:21 -07:00
Ciure Andrei c7cf019289 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-11-22 12:20:25 +02:00
Christian Holler 107b880d6a Bug 1415689 - Add Clang 6 (pre) and use it for ASan builds. r=froydnj
MozReview-Commit-ID: 34rcG7gEswz
2017-11-10 10:14:26 +01:00
Coroiu Cristina 8f9440611e Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-11-22 01:46:49 +02:00
Gregory Szorc 02239354a8 Bug 1419182 - Look for extra lines in nightly whitelist; r=mshal
Before, the whitelist['nightly'] entries could contain lines that
didn't actually occur in the mozconfig. With this commit, we
require that all lines in the whitelist actually exist in the
mozconfig.

MozReview-Commit-ID: LdHfFAcBzgv

--HG--
extra : rebase_source : 0606dbe9641ec9fdb9de3148483bf6a3e00b0335
2017-11-20 14:55:29 -08:00
Tiberius Oros 8b9701dd72 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-11-21 12:19:30 +02:00
Bob Owen 6732c613c1 Bug 1415569: Make version 10.0.14393.0 the minimum Win10 SDK required for building Firefox. r=ted
This is required for the latest chromium sandbox update.
2017-11-21 09:57:21 +00:00
Kartikaya Gupta 4cf3084e60 Bug 1282172 - Detect enum constants generated by macros when generating the Searchfox index. r=billm
MozReview-Commit-ID: 5RUsVSMTU8

--HG--
extra : rebase_source : 32f803de363aaaaa8df9c3d0eac31653ecb3de48
2017-11-18 20:05:53 -05:00
Bill McCloskey dd8af9fa5c Bug 1418434 - Fix return value warning in clang plugin (r=mystor)
MozReview-Commit-ID: 3p7Vs4hZtoO
2017-11-18 15:41:06 -08:00
David Major 02c9050df5 Bug 1417958 - Normalize lib paths to appease VS2017's incremental linking. r=nalexander
--HG--
extra : rebase_source : d834aef165b35fec0c880656976267e03d68180d
2017-11-17 09:15:00 -05:00
Ciure Andrei 92d28bd8f2 Merge inbound to mozilla-central r=merge a=merge 2017-11-17 11:59:03 +02:00
Nathan Froyd b091540d91 Bug 1418047 - remove -Wc++11-compat warning; r=rillian
We live in a C++14 world now.
2017-11-16 20:51:46 -05:00
Bill McCloskey 794104b1e1 Bug 1413738 - Mozsearch clang plugin (r=mystor)
MozReview-Commit-ID: 53zUQ0vDMpd
2017-11-16 15:06:32 -08:00
Nathan Froyd fd656b936c Backout b0eedb4c140b (bug 1412983 part 6) for breaking local Windows builds; r=bustage; a=bustage 2017-11-16 09:53:34 -05:00
Gurzau Raul 6dcee027d7 Merge inbound to mozilla-central r=merge a=merge 2017-11-16 12:04:45 +02:00
Mike Hommey 6e39384683 Bug 1417689 - Move elfhack related things to python configure. r=nalexander 2017-11-16 09:37:31 +09:00
Mike Hommey 9ec14dddcb Bug 1417689 - Remove explicit --enable-elf-hack in mozconfigs. r=nalexander
--enable-elf-hack is the default on all platforms where it's supported,
and is completely ignored on platforms where it's not supported.
While moving the flag to moz.configure, we're going to make it only
work on platforms where elfhack is supported, so we at least need to
remove it from mozconfigs for those platforms where it's not supported.
But generally speaking, we want less things in mozconfigs, so just
remove it from there, since it's the default anyways.
2017-11-16 09:37:17 +09:00
Alfredo.Yang 7bdbfe6743 Bug 1417011 - remove stagefright folder. r=kinetik
MozReview-Commit-ID: F20u08Dr1yn

--HG--
extra : rebase_source : cd23f462c072f194e5bd8a16c72d0ca02cf9be35
2017-11-15 14:34:07 +08:00
Mike Hommey 398c8e8356 Bug 1417309 - Add the necessary bits to support a --enable-project=memory option. r=nalexander
The option allows to iterate on the allocator code without requiring a
complete setup to build Firefox.
2017-11-16 08:37:36 +09:00
Brindusan Cristian d0a4ab96a0 Merge inbound to mozilla-central r=merge a=merge 2017-11-16 00:24:15 +02:00
Nathan Froyd edb937162e Bug 1325632 - part 6 - compile with C++14 support; r=glandium 2017-11-15 13:53:16 -05:00
Nathan Froyd f51359bd19 Bug 1325632 - part 5 - ensure that we compile with -fno-sized-deallocation when possible; r=chmanchester
We currently turn off the C++14 sized-deallocation facility on MSVC, and
we'd like to ensure we do the same thing for clang and gcc.  To do so,
we add new functionality to moz.configure for checking and adding
compilation flags, similar to the facility for checking and adding
warning flags.  The newly added facility is then used to add
-fno-sized-deallocation to the compilation flags, when the option is
supported.

Once we do this, we can't define the sized deallocation functions in
mozalloc.h; the compiler will complain that we are using
-fno-sized-deallocation, yet defining these special functions that we'll
never use.  These functions were added for MinGW, where we needed to
compile with C++14 ahead of other platforms to be compatible with MSVC
headers.  But they're no longer necessary, though they would be if we
removed -fno-sized-deallocation; the compiler will complain if we do
that and we'll add them back at that point.
2017-11-15 14:53:16 -04:00
Nathan Froyd 2e127f22ea Bug 1325632 - part 4 - split out framework for testing flags; r=chmanchester
We have code to test whether particular flags are supported for the
compiler we're using.  Unfortunately, that code is tied up with checking
for warning flags.  We're about to add a separate facility for generic
compilation flags, and we'd like to avoid cutting and pasting code if
possible.  Let's split the core code out into a separate, reusable function.
2017-11-15 13:53:16 -05:00
Nathan Froyd b38d89886c Bug 1325632 - part 2 - don't warn about c++98/c++11 compatibility problems; r=ted.mielczarek
We're going to compile with C++14 and we don't plan to go back.
2017-11-15 14:53:17 -04:00
Nathan Froyd ade9d452f7 Bug 1412983 - part 6 - compile headers for cross-compilers during configure; r=ted.mielczarek
Our toolchain detection logic checks whether we can reuse the target
C (resp. C++) compiler for the host compiler.  This is generally only
applicable in the not-cross-compiling case, but we had special logic to
check for clang in the cross-compiling case and accept it, as clang is
able to generate code for multiple architectures from a single compiler
binary.

Our recent switch to clang on Android has exposed a problem in this
logic: we would never check whether the target clang, compiling for the
host, could actually find the host's headers.  This was especially
problematic on OS X hosts, where the host clang contains special logic
to grovel inside the XCode installation to find C++ headers.  The clang
from the NDK, however, was ignorant of the XCode installation.
Therefore, the NDK clang would happily compile code for the host, even
including C headers for the host, but would be hopelessly lost when it
came to compiling C++ headers during the actual build.

In hopes of mitigating this, we now include a check for a representative
header for C and C++ when checking compilers for each of those
languages.  This check will detect such problems as the above, and will
also alert people to potentially misconfigured compilers in other
situations.

We need to modify our test framework to cope with headers being
included, since our mock environment isn't actually equipped with a full
set of compilers and headers.
2017-11-15 10:12:22 -05:00
Nathan Froyd fd5e1affd1 Bug 1412983 - part 5 - remove stlport_cppflags dependency from bindgen_cflags_defaults; r=ted.mielczarek
Now that extra_toolchain_flags includes stlport_cppflags, there's no
reason bindgen_cflags_defaults should depend on them both.  So remove
the stlport_cppflags dependency.  (There's no harm to multiply-including
stlport_cppflags, but not repeating -I options is good practice.)
2017-11-15 10:12:22 -05:00
Nathan Froyd e18f985bb2 Bug 1412983 - part 4 - make extra_toolchain_flags depend on stlport_cppflags; r=ted.mielczarek
extra_toolchain_flags is used for compiling target-specific bits of code
elsewhere in configure.  Very shortly, we'll need to compile bits of
code that depend on the C++ standard library, so we'll want to point the
compiler at the C++ standard library.  Making extra_toolchain_flags
include stlport_cppflags is the best way to do that.
2017-11-15 10:12:22 -05:00
Nathan Froyd e03872a402 Bug 1412983 - part 3 - move stlport_cppflags prior to extra_toolchain_flags; r=ted.mielczarek
extra_toolchain_flags is going to depend on stlport_cppflags
momentarily, so this commit is just for moving code around.  Note that
the diff shows other things moving *after* stlport_cppflags.
2017-11-15 10:12:23 -05:00
Nathan Froyd 741ca70abc Bug 1412983 - part 2 - use extra_toolchain_flags for computing bindgen flags; r=ted.mielczarek
We compute the same set of data in extra_toolchain_flags as we were
computing in bindgen_cflags_defaults.  We might as well reuse the former
to compute the latter.
2017-11-15 10:12:23 -05:00
Nathan Froyd c9224d1d2e Bug 1412983 - part 1 - convert stlport_cppflags to return a list; r=ted.mielczarek
A list is a better format for these options, and we'll want a list later
when we use the options as compilation flags.
2017-11-15 10:12:23 -05:00
Tom Prince 36c3e9c780 Bug 1416023: Fix typo in `jar-manifests.rst`. r=gps
MozReview-Commit-ID: HC4J9Bwx3DJ

--HG--
extra : rebase_source : 9fc7ff5bb19a0c7097d8e69dfebe8f7aca4d0191
2017-11-09 15:35:28 -07:00
André Bargull a83f81a2c5 Bug 1405993 - Part 1: Don't report warnings for sprintf calls in ICU. r=mystor
--HG--
extra : rebase_source : 2ad0906e64804f22615373f387d5db427aad8313
2017-11-01 11:47:59 -07:00
Gregory Szorc 2ee15dbd8d Bug 1419182 - Consolidate mozconfig comparison logic into compare-mozconfigs.py; r=mshal
Hopefully this makes it more obvious how all of this is hooked
together.

MozReview-Commit-ID: 1jeyIZgHYht

--HG--
extra : rebase_source : 961474b1c19eacdcfe5ed2d90ba0d1b16a5a29c3
2017-11-20 14:47:01 -08:00
Gregory Szorc 52f4862e3f Bug 1419182 - Pass topsrcdir into compare-mozconfigs.py; r=mshal
We currently have the logic for compare-mozconfigs spread across
2 Python files. I'd like to move the logic into 1 file so we
can do nicer things more easily. In preparation for this, change
compare-mozconfigs.py to receive an argument that is the path to
the topsrcdir. Also, switch to argparse because it is more modern.

MozReview-Commit-ID: 7oFQzAdmcim

--HG--
extra : rebase_source : 547cdac9dabf4fa22832648ac1838300d2d75c4a
2017-11-20 14:34:50 -08:00
Gregory Szorc 446e278913 Bug 1419182 - Clean up value checking; r=mshal
MozReview-Commit-ID: LAS0Iaf40nI

--HG--
extra : rebase_source : e512f28d26f20deecf3a33705632dc9782b15c3e
2017-11-20 14:27:13 -08:00
Gregory Szorc 276f8b37d7 Bug 1419182 - Remove functionality for downloading mozconfigs; r=mshal
Pretty sure this is a relic of running this check in automation
outside the context of a source check. compare-mozconfigs.py is
essentially a source lint. I don't see a need for this feature to
exist.

MozReview-Commit-ID: 1FUbJayg1sO

--HG--
extra : rebase_source : 48d8e9db9e04962eee90bbf5fcbd565c1bbbc9cb
2017-11-20 14:18:46 -08:00
Gregory Szorc 709afc0e39 Bug 1419182 - Don't use mutable default argument value; r=mshal
We always passed this argument in so this change doesn't fix
any bugs. I just didn't like the code smell.

MozReview-Commit-ID: IXzj1gRbkJ6

--HG--
extra : rebase_source : cc8cec18cc7d7f0ab1a997065d1cc6cdd1d5c86d
2017-11-20 14:14:56 -08:00
Gregory Szorc 6055e47e96 Bug 1419182 - Hard code whitelist key; r=mshal
We only call this function once. Behavior doesn't need to
be parameterized.

MozReview-Commit-ID: BR6WU4GSeyO

--HG--
extra : rebase_source : 873e3860efee3abb06e987c9747dfec4ba851e5a
2017-11-20 14:09:47 -08:00
Gregory Szorc e4bc53aec9 Bug 1419182 - Remove unused required keys feature; r=mshal
Nobody passes in the "required" argument. Remove it and
functionality related to it.

MozReview-Commit-ID: IB8s4CiDy6a

--HG--
extra : rebase_source : 1eea96bb6f7ff15b97c72d2b7516db9f83dc0bdf
2017-11-20 14:06:35 -08:00
arthur.iakab e651280a79 Backed out changeset 8d6fd02420f2 (bug 1415689)for failing gtests on request from "decoder" on a CLOSED TREE
--HG--
extra : amend_source : 1a7120da525a636d94dcb584f3b5d6cbacb58014
2017-11-21 23:17:30 +02:00
Christian Holler d02e1fcafa Bug 1415689 - Add Clang 6 (pre) and use it for ASan builds. r=froydnj
MozReview-Commit-ID: 34rcG7gEswz

--HG--
extra : rebase_source : 28ea9400b604a371a873a333f3db0fb29f7907c2
2017-11-10 10:14:26 +01:00
Tom Prince a45ea20b93 Bug 1413575: Adjust in-tree references to mozbase documentation to point in-tree. r=ahal
MozReview-Commit-ID: rctbByyjTA

--HG--
extra : rebase_source : a682eb6d77b79640ac9ec20e9d64340613bcfed7
2017-11-20 11:43:13 -07:00
Chris Peterson 948ba6b694 Bug 1418573 - Remove -Wc++14-compat flag because we now compile with -std=c++14. r=rillian
-Wc++14-compat warns about code whose meaning differs between C++11 and C++14. We want the new C++14 meanings, so we don't need to warn about these differences. We still want -Wc++1z-compat because we want to know about C++14 code whose meaning will change in C++17 or C++20.

MozReview-Commit-ID: 1CD11l2Fd86

--HG--
extra : rebase_source : 7bac029fd3e852fbb92f07e0358307c2c834ddc8
extra : source : 2d49767b136e420d39b88267f611fbe72ed0a3b8
2017-11-17 23:58:04 -08:00
Noemi Erli 550148ab69 Merge inbound to mozilla-central r=merge a=merge 2017-11-15 11:57:12 +02:00
Tom Ritter 59de60ae4b Bug 1407343 Silence multiple classes of warnings for the MinGW build, including not enabling format warnings unless -Wformat is set r=froydnj,glandium
MozReview-Commit-ID: ALmo1hbqVxC

--HG--
extra : rebase_source : a68475b90372cd5679c37474fb6705b2a5d48ddf
2017-11-16 12:36:33 -06:00
John Lin 93c62b59f7 Bug 1417006 - remove tombstone files but keep the directory. r=dminor
MozReview-Commit-ID: Ds87KZ47vf1

--HG--
extra : rebase_source : 0578a58107b39abb546758cd8aa21c89e7b4b81f
2017-11-13 16:10:35 +08:00
Chris Manchester 8055730c30 Bug 1416490 - Ensure environment variables that are configure options are passed from configure to old-configure. r=glandium
MozReview-Commit-ID: GFP8bahu1bb

--HG--
extra : rebase_source : 1ff35a8b6470308b71dc74c2befb8219a41534c2
2017-11-13 23:33:35 -08:00
Chris Manchester 2473770fb6 Bug 1416490 - Check for a value passed to RUSTC_OPT_LEVEL rather than whether its value was a default. r=glandium
The current code will fail if "RUSTC_OPT_LEVEL=" is passed. This can happen
if the value isn't present and that fact is injected into js' configure. We
only want to respect RUSTC_OPT_LEVEL if a value is passed, so we simply check
for the presence of a value rather than its origin.

MozReview-Commit-ID: 6GhLfprJEEn

--HG--
extra : rebase_source : 40f3e381a128e04d65cc0175df32cdcd8302e05e
2017-11-13 22:07:46 -08:00
Chris Manchester 72c380c671 Bug 1416059 - Emit ASFLAGS and YASM_ASFLAGS from configure as lists. r=mshal
MozReview-Commit-ID: LBWpzQ9mISI

--HG--
extra : rebase_source : 4c722e68db4b6858aabbbecac834ea8772e0e06a
2017-11-14 10:38:17 -08:00
Andreea Pavel a1061f09c5 Backed out 2 changesets (bug 1416059) for failing /python/mozbuild/mozbuild/test/frontend/test_emitter.py::TestEmitterBasic::test_use_yasm r=backout on a CLOSED TREE
Backed out changeset 597624409f4c (bug 1416059)
Backed out changeset d0df69766fa5 (bug 1416059)
2017-11-14 20:44:54 +02:00
Chris Manchester 4dca13b1ae Bug 1416059 - Emit ASFLAGS and YASM_ASFLAGS from configure as lists. r=mshal
MozReview-Commit-ID: LBWpzQ9mISI

--HG--
extra : rebase_source : f4074f4bdb0acddceeb57d9806c9a7f63a579280
2017-11-13 14:13:11 -08:00
Robert Helmer 42315c18f8 Bug 1389341 - add basic support for sphinx-js to mach doc r=gps
MozReview-Commit-ID: FIzWD8tnjYi

--HG--
extra : rebase_source : 655ea46cffefda77f0908924fdbbb8d17212654a
2017-09-14 13:17:09 -07:00
Makoto Kato 8e2ff2b365 Bug 1415453 - Use vfpv3-d16 as default on Android/arm. r=froydnj
According to https://developer.android.com/ndk/guides/abis.html,
androideabi-v7a must support vfpv3-d16.  So we should use it for fpu flag.

MozReview-Commit-ID: 3rhmRTekmwD

--HG--
extra : rebase_source : c5ffa22d8712fc7b8006cc340175a9586d77f49b
2017-11-10 16:47:21 +09:00
Ted Mielczarek 851b7e1370 bug 1410148 - try to work around llvm-dsymutil crashes again by lowering rust debuginfo level on cross-mac builds. r=nalexander 2017-11-14 19:48:55 +01:00
Mike Hommey 02cdab48f8 Bug 1418598 - Make cargo-linker properly handle quoted strings in MOZ_CARGO_WRAP_LD and MOZ_CARGO_WRAP_LDFLAGS. r=ted
--HG--
extra : rebase_source : 84bcb0718584adf7a082b657cd8ff7cc8579e346
2017-11-18 20:24:12 +09:00
Ryan VanderMeulen b16410f51c Merge inbound to m-c. a=merge 2017-11-10 16:13:15 -05:00
Ryan VanderMeulen c1d73ef4b3 Merge m-c to autoland. a=merge 2017-11-10 12:33:07 -05:00
Gregory Szorc 02bc7e2b1b Bug 1320738 - Mark MOZ_PGO as a JS option. r=froydnj, a=RyanVM
The changesets in bug 1412932 changed the semantics for MOZ_PGO.
Before, it was effectively being set as an environment variable
by client.mk all the time. Afterwards - specifically after
2013c8dd1824 - the variable is set in mozconfigs via ac_add_options,
which means it is only exposed to configure, not the environment.

Investigation by dmajor revealed that -WX (warnings as errors) was
added to a js/src file's compiler invocation after the PGO code
refactor. (PGO and warnings as errors have a strange interaction
- bug 437002 - and should be disabled there.) Strangely, addition
of -WX was only present on Dev Edition PGO builds.

The reason for this is likely mozharness. Mozharness will export
the MOZ_PGO=1 environment variable for build configurations that
it knows are PGO. It appears to do this for all PGO build
configurations except Dev Edition. Since make and moz.configure
inherit environment variables, mozharness was basically papering
over the intended behavior change in 2013c8dd1824.

This commit fixes the problem by marking MOZ_PGO as a JS option
in moz.configure. This means `ac_add_options MOZ_PGO=1` (the new
convention for enabling PGO) will set MOZ_PGO for SpiderMonkey's
moz.configure.

Of course, MOZ_PGO=1 in an environment variable still works. And
mozharness's setting of this variable has the intended effect.
Eventually, I'd like to clean up the mozharness code so it is less
PGO aware and enables PGO via ac_add_options. But that's for another
day.

MozReview-Commit-ID: 1KYPJARI6SJ

--HG--
extra : amend_source : 5291cead9f1c1af9ed2a1f608af770bc8e4958c5
2017-11-10 09:23:27 -08:00
Margareta Eliza Balazs 7e070192d7 Merge inbound to mozilla-central r=merge a=merge 2017-11-10 11:55:43 +02:00
Gregory Szorc 67d153aef0 Bug 1415971 - Inline sccache.mk into client.mk; r=nalexander
sccache.mk is the only thing that uses MOZ_PREFLIGHT_ALL and
MOZ_POSTFLIGHT_ALL. We're trying to kill client.mk and these
variables are next on the chopping block.

This commit essentially moves the logic of sccache.mk inline into
client.mk. Initially, I wanted to move the management of the
sccache daemon to Python as part of what `mach build` invokes.
However, the sccache daemon needs access to the make jobserver.
Since we don't have an active make process in `mach`, this is
obviously problematic. The sccache daemon is also used by
configure, which is launched from client.mk. So the best we
can do right now is move the sccache daemon logic into client.mk.

As part of the port, we pass the path to the sccache binary via
an environment variable. This feels slightly better than hardcoding
the path that automation uses.

MozReview-Commit-ID: zcOYR4I1OG

--HG--
extra : rebase_source : 305a237dc9f5bd96e4aa83d491ac2498fe3c3ba0
2017-11-09 14:59:06 -08:00
Marco Castelluccio dbb30b1c50 Bug 1415699 - Apply LLVM patches needed to support code coverage on Windows. r=froydnj
--HG--
extra : rebase_source : 29b388ad96123b824f0502a740040a24b54b3e88
2017-11-08 22:44:15 +01:00
Nathan Froyd 17b6101551 Bug 1341234 - part 2 - add an intermediate step for determining bindgen's CFLAGS; r=gps
Add an intermediate step in old-configure.in for setting up
BINDGEN_CFLAGS (renamed to BINDGEN_SYSTEM_FLAGS), so we can add whatever
flags we like (e.g. for system libaries with their includes in
non-standard places) at a later point.
2017-11-10 10:05:36 -05:00
Nathan Froyd 380dc56df2 Bug 1341234 - part 1 - add AC_SUBST_TOML_LIST macro; r=gps
Stylo's bindgen is configured partially through a .toml.in file that
substitutes the value of a configure variable (BINDGEN_CFLAGS) into a
TOML list.  We can debate whether this is a good thing to do some other
time; the reality is that the current moz.configure code that provides
the set_config for BINDGEN_CFLAGS needs to perform all the quoting
itself.

We want, however, to define the substituted variable in old-configure.in
land (some of the values that will go into BINDGEN_CFLAGS are only
defined in old-configure.in, and are not trivially ported to
moz.configure), which means that we need to have quoting logic in
m4/Python when we generate config.status.  This patch adds an
appropriate macro for doing so.
2017-11-10 10:05:36 -05:00
Nathan Froyd 1009160a12 Bug 1341234 - part 0 - fix typo in AC_SUBST_SET checking; r=gps
The various AC_SUBST macros generate AC_SUBST_*FOO macros for holding the
values to substitute.  The macros also cross-check the AC_SUBST_* macros
generated by other variants to make sure that you don't try to do
something like AC_SUBST(FOO) and AC_SUBST_SET(FOO).  However, the check
in AC_SUBST_SET for AC_SUBST_LIST duplicate is missing an underscore:
the AC_SUBST_LIST macro generates another macro starting with
AC_SUBST_LIST_, but the AC_SUBST_SET macro checks for the prefix
AC_SUBST_LIST, which is missing the trailing underscore.

As we're going to be adding yet another AC_SUBST_* macro variant, and
therefore adding more checks to all existing macros, let's clean this up
before we start.
2017-11-10 10:05:36 -05:00
Noemi Erli 8d8df3ddfe Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-11-10 12:43:53 +02:00
Gregory Szorc 8e85824bcb Bug 1411462 - Abort when I/O error seen; r=glandium
Before, I/O errors writing to stdout/stderr (e.g. due to broken pipe)
would result in handleError() being called and execution would
keep running. This would potentially result in an error message for
every log/line failure being printed to stderr.

We change the behavior so I/O failures are fatal and abort
execution.

We test the new behavior by changing a test to pipe to `head`
directly. Since `head` exits once it has seen sufficient output,
this results in an EPIPE which now results in immediate program
termination.

MozReview-Commit-ID: 1UecZJ56h4r

--HG--
extra : rebase_source : b35d9c096621d9698260d29a7d0132c4989200a7
2017-11-09 20:44:10 -08:00
Gregory Szorc 407d687142 Bug 1411462 - Add test for `configure --help`; r=glandium
We add a simple cram test that `configure --help` works.

I added the test to build/tests because I'm not sure where else it should go.

This test uncovers a few interesting things:

1) piping `./configure --help` to `head` directly causes a Python
   traceback (presumably due to the pipe disappearing once N lines
   have been read)
2) "checking for vcs source checkout" is printed for --help
3) It is printed twice (!!)

These will be addressed later. Establishing test coverage is
more important.

MozReview-Commit-ID: 9zQ5X8ulTkc

--HG--
extra : rebase_source : aaf660152cdfe37580f559976bca13ea9bf14c49
2017-10-24 17:10:55 -07:00
Marco Castelluccio 14a1047ffd Bug 1415568 - Support applying patches to Windows clang. r=froydnj
--HG--
extra : rebase_source : ed53f564166f6c26ed4f7fc0dabcc4582116ddbf
2017-11-08 17:23:12 +01:00
Narcis Beleuzu 218e1676cb Merge inbound to mozilla-central r=merge a=merge 2017-11-08 12:51:09 +02:00
Margareta Eliza Balazs 130574a8e2 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-11-08 00:09:29 +02:00
Margareta Eliza Balazs 4164a3a53d Merge inbound to mozilla-central r=merge a=merge 2017-11-07 23:57:03 +02:00
Randall Barker 8cb9ab66e9 Bug 1413362 - part 3: Add support to build system for GoogleVR based WebVR on Android r=froydnj,nalexander
MozReview-Commit-ID: 8BHBnvor5VT
2017-11-07 10:50:15 -08:00
Tom Prince 0463d142d7 Bug 1414298: Don't try to set yasm version config settings if yasm isn't found. r=froydnj
MozReview-Commit-ID: LTDxJ5su7sM

--HG--
extra : rebase_source : ab80df38451c59760aad0931c66104480195fb96
2017-11-06 11:07:26 -07:00
Gregory Szorc 4783c071f3 Bug 1414558 - Build Clang toolchain on a Docker volume; r=froydnj
Before, the build root was not in a Docker cache or volume. With
current Docker works, that meant AUFS. We know AUFS is slow under
I/O load and can cause random failures due to missing data after
writes.

This commit changes the build root to a known Docker volume, which
will be backed by EXT4 and won't have the problems of AUFS.

MozReview-Commit-ID: 6WOH0yednAv

--HG--
extra : rebase_source : bbff0f00f55acdbe068fdf617a7903b8a303c397
2017-11-06 11:45:17 -08:00
Sylvestre Ledru c2b37a7ed8 Bug 1414794 - Unbreak the lld usage by providing the right data structure r=froydnj
MozReview-Commit-ID: 1caPjLBR4vS

--HG--
extra : rebase_source : e5028d054430028e2ad2caca84bd7514fd37f4de
2017-11-06 14:23:57 +01:00
Gregory Szorc 989efa7a51 Bug 1415335 - Move Windows line endings detection to configure; r=nalexander
This doesn't need to be in client.mk.

Also, we inline the info to help people correct the failure, as this
results in a better user experience.

MozReview-Commit-ID: KURL3RIGzKf

--HG--
extra : rebase_source : dc79d3f6aa4e91a12cab0e26d5fc0a3e15afa833
extra : source : 2eceb30625acd8cfadda0baa6326a7e9fd07dece
2017-11-07 17:16:39 -08:00
Gregory Szorc 6ff5d5762b Bug 1415335 - Move spaces in path check to configure; r=nalexander
Checks like this are what configure is for.

In addition to moving the check, we also validate topobjdir as well.

MozReview-Commit-ID: 9sVNQJsAnjO

--HG--
extra : rebase_source : 688961fffca5922c7186c0d39182de7220f7dbe3
extra : source : d9a4ea9bc34a1e0c710469fc0a556ed624ea387b
2017-10-30 16:35:04 -07:00
Chris Manchester fb88a7e614 Bug 1407388 - Remove build/unix/elfhack/inject/Makefile.in and replace with generated files. r=mshal
MozReview-Commit-ID: Cr2RUlksKBJ

--HG--
extra : rebase_source : 03f32e52d754d29a23e774707b6f92e265bf3ce0
2017-11-07 16:54:22 -08:00
Gregory Szorc 6623fc17dc Bug 1415365 - Run compare-mozconfigs for all platforms; r=mshal
compare-mozconfigs is platform agnostic AFAICT. And it runs fast.
Let's run tests for all the platforms all the time.

MozReview-Commit-ID: GqsFCp3XdZG

--HG--
extra : rebase_source : 4fd8fb48af61bfc95ec6c251ccf6fcf557ff6c0c
2017-11-07 16:19:26 -08:00
Gregory Szorc b7bc275d4e Bug 1415365 - Remove unused imports; r=mshal
MozReview-Commit-ID: B8zGAsZvk2H

--HG--
extra : rebase_source : 8740a2d02c8343b4bc09e0b2520f0a304112c145
2017-11-07 16:13:44 -08:00
Gregory Szorc c2d58c7edd Bug 1412932 - Set MOZ_PGO for configure; r=ted
The mechanism by which PGO builds are kicked off is kinda wonky.

The MOZ_PGO environment variable is recognized by configure and setting
it will result in MOZ_PGO being defined in substs. In addition, the
build backend (previously client.mk, now Makefile.in) also recognizes
MOZ_PGO (from mozconfig or environment) and takes appropriate action.

In-tree mozconfigs set MOZ_PGO via mk_add_options. mk_add_options
is intended as a mechanism to inject state into client.mk and the
make-based build system.

In addition, there is code in mozharness (unchanged by this commit)
that sets MOZ_PGO if appropriate.

A PGO build configuration is different from a non-PGO build
configuration. Therefore a make-centric environment variable to
control PGO is not ideal. Instead, this should be defined as a
configure-time flag and the build invocation should key off that.

This commit normalizes in-tree mozconfigs to set MOZ_PGO via
ac_add_options and updates the PGO documentation to recommend
this method.

MozReview-Commit-ID: k6AZyJuXjs

--HG--
extra : rebase_source : b1a6348611eba08dd67ec938cca5586fbe8e6910
extra : source : 25c7ebc7c44dd253f421b6de3d0337635d0c99d0
2017-11-07 15:13:02 -08:00
Sebastian Hengst d61954557d merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Ai6Y5GGfkfT
2017-11-04 10:58:24 +01:00
David Major 2d71b41c6f Bug 1412952 - Build clang-cl itself with VS2017. r=froydnj 2017-11-03 12:29:58 -04:00
David Major ea84880cdf Bug 1412952 - Use VS2017 with clang-cl builds. r=froydnj 2017-11-03 12:29:58 -04:00
David Major d250e3678b Bug 1412952: We want a HostX64 linker even with 32-bit clang-cl.exe. r=froydnj
32-bit clang-cl.exe was looking specifically for HostX86\x86\link.exe, which doesn't exist in our automation package. Make it look in HostX64\x86 instead.

This is an ugly hack and it would be preferable to just use a 64-bit compiler (bug 1414287).
2017-11-03 12:29:58 -04:00
David Major b7a86dd2b5 Bug 1412952 - Loosen clang's MSVC detection to accept our automation's fake paths. r=froydnj
In a proper VS install, the path to cl.exe looks like:
...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe

In our automation, the path is just:
...\VC\bin\HostX64\x64\cl.exe

Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
2017-11-03 12:29:58 -04:00
David Major c49eaa95ac Bug 1413675 - Downgrade to Windows SDK 10.0.15063.0 to fix clang builds. r=froydnj
The new VS package is now based on update 15.4.2, although that release didn't affect any files in our package. I'm picking up the update mostly just to make filename unique.
2017-11-03 09:26:58 -04:00
Sebastian Hengst e9b3a258b8 merge mozilla-central to autoland. r=merge a=merge 2017-11-02 23:15:55 +01:00
Sebastian Hengst 2ad54c903f Bug 1407678 - Make windows_toolchain.py support VS2017: enter empty line to make flake8 happy. r=linting-fix DONTBUILD 2017-11-02 18:29:27 +01:00
David Major 4cba1d84c9 Bug 1407678 - Make windows_toolchain.py support VS2017. r=mshal DONTBUILD
--HG--
extra : amend_source : 8323662749cef4ba13ac6a9f9c9910876e2487f4
2017-11-02 11:10:39 -04:00
Chris Manchester 2a7d541658 Bug 1411712 - Move ldflags munging by the clang-plugin to moz.build r=mshal
MozReview-Commit-ID: JTZlXscUvlX

--HG--
extra : rebase_source : 96d7963429a362ac246b5ff93c828709168ef3cf
2017-11-02 11:47:48 -07:00
Chris Manchester 857b599beb Bug 1411712 - Use AC_SUBST_LIST instead of AC_SUBST for vairables from configure contributing to LDFLAGS. r=mshal
MozReview-Commit-ID: 21jJY8oanQB

--HG--
extra : rebase_source : 5ba85c10bc64fd8817fda956dab3bc6965679eff
2017-11-02 11:47:48 -07:00
Tom Prince e1f007efbe Bug 1413257: Allow disabling ffvpx's AVX2 support on linux64 for Thunderbird's buildbot; r=jya,rillian
MozReview-Commit-ID: 6USzO1GE7dJ

--HG--
extra : rebase_source : 4a25c5e7c1cbe7bb063f615accf6563333c48c9c
2017-10-31 12:42:27 -06:00
Sebastian Hengst ca88e3c4c5 Merge mozilla-central to autoland. r=merge a=merge 2017-11-01 22:58:44 +01:00
Coroiu Cristina 405814ddbb Backed out changeset 769dd8ce70e1 (bug 1413257) for failing flake8 at /builds/worker/checkouts/gecko/build/moz.configure/toolchain.configure r=backout on a CLOSED TREE 2017-11-01 23:52:50 +02:00
Gregory Szorc 9963be512d Bug 1412356 - Update docs on PGO builds to not reference client.mk; r=chmanchester
As part of moving away from client.mk.

MozReview-Commit-ID: IMeM0k1tTsS

--HG--
extra : rebase_source : 2404f868300c4d40e9e154167654bbd596c3abe7
2017-10-27 10:14:40 -07:00
Tom Prince 2e700bdb70 Bug 1413257: Allow disabling ffvpx's AVX2 support on linux64 for Thunderbird's buildbot; r=jya,rillian
MozReview-Commit-ID: 6USzO1GE7dJ

--HG--
extra : rebase_source : 936ee14b7a91470a9f9029b20748fbe6c8e55d15
2017-10-31 12:42:27 -06:00
Ted Mielczarek cb2b9afefe bug 1384557 - fix flake8 lint errors
MozReview-Commit-ID: 8dgZdOkAZ56

--HG--
extra : rebase_source : 6d4f937190c7312b3482d994ada31fa6ff5d2fac
2017-11-01 10:03:08 -04:00
Masatoshi Kimura fce93f8e97 Bug 1414602 - fix flake8 lint errors. r=bustage-fix
MozReview-Commit-ID: AsJX4PQ1SIf

--HG--
extra : rebase_source : 42fd9620462d5b289cf1beaf463b3ca37453e30a
extra : amend_source : cbecb288db1af3865b36eaf75f0024f296df5dfc
2017-11-07 21:05:07 +09:00
Masatoshi Kimura 383e90a03b Backed out changeset 6555a2a899a0 (bug 1384557) due to causing bug 1414060. r=backout
MozReview-Commit-ID: FV44JQSDXPQ

--HG--
extra : amend_source : 8c05281fad889edd723ab58786d0bf16f7d325b0
2017-11-07 20:39:00 +09:00
Mike Hommey 29f92851a1 Bug 1409267 - Patch compiler-rt to always use prctl(PR_SET_PTRACER). r=froydnj
--HG--
extra : rebase_source : 0fc0e184df96905632500d70c05dfb8421b8771c
2017-11-07 15:07:30 +09:00
J.C. Jones 52564edf40 Bug 1409259 - Add browser console test for the distrust console message r=keeler,ttaubert
There are xpcshell tests to verify that the appropriate distrust flag is set
upon reaching an affected end entity certificate; this test checks that the
distrust flag prints a warning to console.

MozReview-Commit-ID: OMG246WOOT

--HG--
rename : devtools/client/webconsole/test/browser_webconsole_certificate_messages.js => devtools/client/webconsole/test/browser_console_certificate_imminent_distrust.js
extra : rebase_source : a5fed5457e7789e742ee461b988463b81cd2c214
2017-11-01 20:59:33 -07:00
Ted Mielczarek 54b6236e29 bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache r=glandium
Currently mozconfig.cache overrides a few build options for sccache. This
patch moves them into toolchain.configure so that the build system will
set them properly when sccache is in use. Additionally, {CC,CXX}_WRAPPER
are set in config.mk, so just avoid setting them when sccache is in use.

MozReview-Commit-ID: FYlVKRI8OiN

--HG--
extra : rebase_source : 00715beb5fbd2c11311dec43809bd1febab56a11
extra : intermediate-source : 0f2b1b75b83737378d882a3c3e0d8dfb4efecd1f
extra : source : a8032ae9cb2ad1c4574c6ac6f5c2778863cd71e0
2017-01-10 16:52:27 -05:00
Csoregi Natalia 423b2522c4 Merge inbound to mozilla-central r=merge a=merge 2017-11-01 12:14:00 +02:00
Geoff Brown b6387e7f30 Bug 1412297 - Retry devicemanager getTopActivity once; r=jmaher
getTopActivity calls 'adb shell dumpsys window windows' which intermittently
times out. Instead of ending the test run when that happens, let's try
again, in hopes of recovering. If recovery fails and the browser is
subsequently found running, log an explanation before killing it.
2017-10-31 15:58:31 -06:00
Petr Sumbera 9fb34379c3 Bug 1412781 - sparcv9 cpu should be evaluated as 64bit. r=glandium 2017-10-30 02:50:48 -07:00
Sebastian Hengst 2470a9a87b merge mozilla-central to autoland. r=merge a=merge 2017-11-01 00:38:25 +01:00
Sebastian Hengst 6979ea37b4 merge mozilla-central to autoland. r=merge a=merge 2017-10-30 23:58:16 +01:00
Sebastian Hengst ea2bfe23e2 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: BnX9U7tZ4zU
2017-10-30 23:42:58 +01:00
Nathan Froyd 1c4901d060 Bug 1412734 - use the correct command-line flags to detect gold; r=snorp; a=RyanVM
We were adding c_compiler.flags and toolchain_flags to some paths
through this function, but not all.  Not adding those flags caused this
function to detect the host's ld.gold instead of the target's ld.gold.
And that, in turn, caused linker errors when the host ld.gold couldn't
understand the target's object files.

MozReview-Commit-ID: vJzWagUGkL
2017-10-30 12:06:54 -04:00
Gregory Szorc 7d078ee731 Bug 1412431 - Remove support for MOZ_BUILD_PROJECTS; r=nalexander
This was mainly used to support Universal MacOS builds, which were
removed several months ago.

In theory, someone could be using this feature to build multiple
applications with one build system invocation. But given that client.mk
is no longer the preferred interface to the build system and multiple
applications can be built by running `mach build` with different
mozconfigs, I don't think support for this feature is worth keeping.

This commit removes support for MOZ_BUILD_PROJECTS and related
functionality from client.mk. Support for recognizing
MOZ_CURRENT_PROJECT in configure and mozconfig evaluation has also
been removed. This includes support for the ac_add_app_options
mozconfig function.

Good riddance.

MozReview-Commit-ID: 7xI2jYxDFFr

--HG--
extra : rebase_source : 91068f3b8ae32fbcda4defb5d4bb086a04387598
2017-10-27 15:20:34 -07:00