Commit Graph

8137 Commits

Author SHA1 Message Date
Kris Maglione
447a46e33e Bug 1524688: Part 1a - Support static registration JS components. r=mccr8
--HG--
extra : rebase_source : b693f61d803dcebc625a697f88c9ec25f287d956
2019-01-29 17:46:27 -08:00
Mike Hommey
c5bfd96206 Bug 1524467 - Fix and refactor basic_bindgen_cflags. r=froydnj
basic_bindgen_cflags's function is to set some flags for use with
rust-bindgen through clang/libclang for C++ code. Part of the flags it
sets are for the C++ standard, and the target.

Unfortunately, some of the logic wrt target-specific flags is currently
broken. It wants to apply per-compiler flags on Windows, but fails to do
so. First, because the condition test is wrong, and second, because it
only cares about msvc and not clang-cl.

OTOH, we already have those flags when the compiler is clang or
clang-cl. And we already have code to get the right flags for a given
compiler. So when the compiler is not clang or clang-cl, we can use that
to get the right flags for the clang we're going to use for bindgen.

Depends on D18316

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:27:33 +00:00
Mike Hommey
33a69b7eea Bug 1524467 - Use -m32/-m64 in more cases. r=froydnj
In upcoming changes, we're going to use the normal compiler flags for
bindgen instead of having a separate logic for essentially the same
flags (and there's not much reason not to use the same flags after all).

One hiccup, though is that for some reason, --target=i686-linux-gnu
doesn't work with bindgen while it works with clang in the same setup.
But -m32 does.

Considering -m32 and -m64 are standard flags and that we're using them
in many cases, it doesn't hurt to use them instead of --target with
clang.

While we're doing that, we might as well refactor a little to avoid the
multiple branches handling the use of -m32/-m64, and fix the theoretical
compile-x86_64-with-x86-clang-cl case, as well as the weird check for
aarch64.

And because only two cases actually require -Xclang, only one of which
requires a condition, and the control flow is not too complex to avoid
flag duplication, we just remove the append_flag function; it was too
confusing, with all the cases we skipped it when -Xclang was not wanted.

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

--HG--
extra : moz-landing-system : lando
2019-02-04 17:22:58 +00:00
Andrew Halberstadt
01ca807367 Bug 1515746 - [flake8] Unsupport subdir .flake8 files and use new 'per-file-ignores' config instead, r=egao
This removes all .flake8 files except for the one at the root of the repo.
Instead we use the new 'per-file-ignores' config introduced in 3.7. To ignore
specific errors in a subdirectory, add a line like this to the root .flake8:

[per-file-ignores]
    path/to/subdir/*: E100, F200, ...

The reasons for this change are:

1. Unblock flake8 blacklist (bug 1367092).
2. Simplify configuration and code.
3. Encourage more consistent styling.
4. Improve performance.
5. Greater editor consistency.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 20:17:02 +00:00
Mike Hommey
247022a791 Bug 1525510 - Add a trampoline to call original_init when it's not possible directly. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18807

--HG--
extra : moz-landing-system : lando
2019-02-07 16:23:49 +00:00
Mike Hommey
2cce1ce974 Bug 1525196 - Apply https://reviews.llvm.org/D57636 to clang r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D18886

--HG--
extra : moz-landing-system : lando
2019-02-07 13:58:43 +00:00
Razvan Maries
e5944cdd0e Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-07 23:49:13 +02:00
Tom Ritter
b06907665c Bug 1525588 - Do not enable CFG on ARM builds, as it causes undiagnosed failures. r=dmajor
--HG--
extra : rebase_source : c305609f0d5a08958e9901b2b02867ea7fa200c7
2019-02-06 11:42:24 -06:00
Johann Hofmann
731692a30b Bug 1522565 - Tests for cryptominers and fingerprinters sub-panels. r=nhnt11
Differential Revision: https://phabricator.services.mozilla.com/D18827

--HG--
extra : rebase_source : f1e874a43c204f807259cc5249d4e872e25fba26
2019-02-06 14:12:20 +01:00
Mike Hommey
bdaa5d90e4 Bug 1522609 - Pass compilers and flags down to cargo on sanitizer/fuzzying/ccov builds. r=ted
Depends on D18280

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

--HG--
extra : moz-landing-system : lando
2019-02-06 03:05:52 +00:00
Cosmin Sabou
8bd3dcb455 Merge mozilla-inbound to mozilla-central. a=merge 2019-02-05 23:58:20 +02:00
Razvan Maries
f86459d5dc Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-05 18:59:13 +02:00
Razvan Maries
3ad4eb8f48 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-02-05 12:27:07 +02:00
Wes Kocher
c03a82f8b5 Bug 1525191 - Regenerate certs CLOSED TREE a=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D18632

--HG--
extra : amend_source : 028e3e34ede69bc05f9f8ea147bee02a4e9e2de5
2019-02-04 17:09:59 -08:00
David Major
a01a1ced08 Bug 1525113: Disable two crashy Binscope checks. r=froydnj 2019-02-04 16:00:57 -05:00
Sylvestre Ledru
e887b2193c Bug 1515356 - Do not fail the build in case of warning with -Wdeprecated-copy r=froydnj
New warning with gcc 9

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

--HG--
extra : moz-landing-system : lando
2019-02-04 14:32:13 +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
Razvan Maries
2428b56054 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-05 12:24:54 +02:00
Andrew Halberstadt
83e75a8676 Bug 1483228 - [mozboot] Add ability to get a srcdir specific state dir r=nalexander
Sometimes we want to store state that only applies to a particular srcdir, but
there isn't a standard directory where this lives. Let's add an argument to
'get_state_dir()' to provide an "official" place.

The new API to get the local state dir is 'get_state_dir(srcdir=True)'. Like
the global state dir, this directory is not guaranteed to exist. A reference to
this value can also be obtained via 'self._mach_context.local_state_dir' from
within a mach command (in this case it will be created automatically if it
doesn't exist).

Note: we should probably just make sure both exist at mach startup, but it felt
outside the scope of this change.

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

--HG--
extra : moz-landing-system : lando
2019-02-04 21:07:25 +00:00
Andrew Halberstadt
8bc7850637 Bug 1483228 - [mozboot] Simplify get_state_dir()'s return value r=nalexander
mozboot.util.get_state_dir() returns a tuple of (<path>, <bool). The bool
denotes whether or not the state dir came from an environment variable.

But this value is only used in a single place, and is very easy to test for
anyway. It's not worth the added complexity it imposes on all other consumers
of this function. Let's just make this function return the path.

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

--HG--
extra : moz-landing-system : lando
2019-02-04 20:52:31 +00:00
Ted Mielczarek
dacb17a7c0 bug 1506848 - remove some no-longer-necessary bits from mozconfig.cache. r=nalexander,glandium
Differential Revision: https://phabricator.services.mozilla.com/D18265

--HG--
extra : moz-landing-system : lando
2019-02-01 11:22:16 +00:00
Ted Mielczarek
8a4288a193 bug 1506848 - switch Windows debug flags from -Zi to -Z7. r=nalexander
We default to -Zi for Windows debug flags, which is for generating debug info
into a PDB file, but clang-cl doesn't actually implement that so -Zi is
an alias for -Z7 in clang-cl:
http://clang.llvm.org/docs/UsersManual.html#id9

sccache has special handling for -Zi because multiple compiles writing
to the same PDB file is not cacheable, so we've always overridden -Zi with -Z7
in CI when using sccache.

Given that everyone should be using clang-cl nowadays and MSVC will no longer
be supported soon, this patch changes the default and removes some PDB
file name flag setting from rules.mk, as well as the no-longer-necessary
overrides from mozconfig.cache.

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

--HG--
extra : moz-landing-system : lando
2019-02-01 11:12:06 +00:00
Mike Hommey
6c620a55e7 Bug 1523341 - Allow to only pass the CPU to --target and get the right thing for Fennec builds. r=nalexander
Also use armv7a as the default when no target is given at all.

Also change bootstrap to create a simpler mozconfig. The downside is
that the resulting mozconfig would not work when building older
revisions.

Add unit tests for this as well as the simplications added in bug
1523341.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 18:08:44 +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
Mike Hommey
21c3b16892 Bug 1523851 - Remove AC_PROG_GCC_TRADITIONAL test. r=froydnj
While not related, it turns out this test was opted in by ourselves,
while it's practically useless. Recent autoconf documentation says it's
obsolescent, and even autoconf 2.13 documentation said with "recent
versions of the GNU C compiler", the issue it's detecting "is becoming
a less prevalent problem". Recent as of 20 years ago.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 14:39:01 +00:00
Mike Hommey
80ff55b932 Bug 1524059 - Fix Windows artifact builds on try after bugs 1523145 and 1523201. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D18152

--HG--
extra : moz-landing-system : lando
2019-01-30 23:53:26 +00:00
Mike Hommey
bf0e86a9dc Bug 1523540 - Remove WIN64_LIB and WIN64_LINK. r=ted
Now that everything is lined up nicely, we don't need those anymore.

We can fill cargo-linker.bat with HOST_LINKER and HOST_LINKER_LIBPATHS,
which, unfortunately, can't be used as is, so we add a variant for
substitution in .bat files.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 21:46:39 +00:00
Gurzau Raul
7555c5cdea Merge inbound to mozilla-central. a=merge 2019-01-30 19:03:12 +02:00
Tom Ritter
55eb3434be Bug 1523003 - Remove the force-ms-compatibility for clang-cl r=glandium 2019-01-27 17:19:57 -06: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
shindli
f7752f11b1 Merge inbound to mozilla-central. a=merge 2019-01-30 06:07:01 +02:00
shindli
011ea038cb Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-29 23:54:31 +02:00
shindli
8f92eb66a3 Merge autoland to mozilla-central. a=merge 2019-01-29 23:35:35 +02:00
Mike Hommey
de5dfda48c Bug 1520232 - Preset some of the autoconf config.cache values from python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D17914

--HG--
extra : moz-landing-system : lando
2019-01-29 14:17:29 +00:00
Mike Hommey
327319fd40 Bug 1523537 - Remove WIN_DIA_SDK_BIN_DIR as a thing that can be set manually. r=dmajor
Now that it's automatically derived and that in-tree mozconfigs are
setting DIA_SDK_PATH, we don't need to set WIN_DIA_SDK_BIN_DIR on
automation, or elsewhere, for that matter.

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

--HG--
extra : moz-landing-system : lando
2019-01-29 14:22:26 +00:00
Mark Banner
3a4a57f3fa Bug 1523593 - Pass arguments to check_cmd_output as simple arguments rather than a list. Bustage fix from bug 1523153. r=Gijs a=Aryx
Reviewers: Gijs

Reviewed By: Gijs

Subscribers: Gijs

Bug #: 1523593

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

--HG--
extra : rebase_source : 8e6098c9a53a2dbb8411c645b24cd045537ce42b
extra : amend_source : ef98541406c0bb72e920a1df6c28fe3272fcacb6
2019-01-29 15:42:05 +02:00
Cosmin Sabou
599a15d354 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-29 12:01:56 +02:00
Sebastian Hengst
b78e4e8667 Merge mozilla-central to mozilla-inbound
--HG--
rename : browser/components/urlbar/tests/legacy/browser_urlbar_search_no_speculative_connect_with_client_cert.js => browser/components/urlbar/tests/browser/browser_urlbar_speculative_connect_not_with_client_cert.js
2019-01-29 02:55:55 +02:00
Tom Prince
0b741aa881 Bug 1521584: [win64-aarch64] Add win64-aarch64 release mozconfigs; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D17452

--HG--
extra : moz-landing-system : lando
2019-01-26 09:50:27 +00:00
Kartikaya Gupta
6969f0ccfb Bug 1523082 - Remove assertion and more robustly handle destructor decls. r=emilio
Clang 8 seems to generate destructor decls from different source
locations which breaks an assertion in the code. This patch updates the
code to remove the assertion and more robustly handle the new
declarations.

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

--HG--
extra : moz-landing-system : lando
2019-01-29 03:06:35 +00:00
Mike Hommey
38189d89a7 Bug 1523146 - Remove checks for MSVC < 2017. r=dmajor
We reject MSVC compilers < 2017 already, there's no point checking for
smaller versions after that.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 03:30:03 +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
Sebastian Hengst
9ece29fd9b Merge mozilla-central to autoland. CLOSED TREE 2019-01-29 12:59:48 +02:00
Mike Hommey
54831bbdf9 Bug 1523201 - Set VC_PATH and DIA_SDK_PATH in in-tree mozconfigs. r=froydnj
And remove all the variables that configure will figure out for us as a
consequence. This has the side effect of making the automation builds a
little more like local builds, in that they don't rely on preset PATH,
LIB, etc. for the build to work.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 22:41:57 +00:00
Mike Hommey
4913b1c2d2 Bug 1523204 - Streamline the DIA SDK setup. r=chmanchester
We currently rely on WIN_DIA_SDK_BIN_DIR being passed, but we can
actually derive it from the DIA SDK directory. So we now do that, except
when it's given explicitly.

While in the vicinity, move the dia2.h check to python configure.

With WIN_DIA_SDK_BIN_DIR being derived and not set when dia2.h is not
found, we don't really need MSVC_HAS_DIA_SDK anymore, so we just check
for WIN_DIA_SDK_BIN_DIR to determine whether to build dump_syms or not.

One exception to the above is when WIN_DIA_SDK_BIN_DIR is passed in,
which we only keep for the in-tree mozconfigs for now. We'll remove that
possibility after bug 1523201.

Depends on D17892

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

--HG--
extra : moz-landing-system : lando
2019-01-29 07:38:14 +00:00
David Major
fffbdc0db1 Bug 1522771: Use -brepro to build clang-plugin.dll deterministically. r=mshal 2019-01-25 11:09:13 -05:00
Mike Hommey
f33335cf10 Bug 1523145 - Remove mk_export_correct_style. r=froydnj
It turns out, we don't need to `mk_add_options export` the variables
from the in-tree mozconfigs. If anything, that causes problems when
trying to simplify the mozconfigs, because it makes the variables
exported from .mozconfig.mk, overriding what configure may change and
store in autoconf.mk.

All the variables are handled by configure in a way that makes them
available in autoconf.mk, so there's no loss there, and with the
python/shell-based mozconfig loader, it turns out we don't need to go
through extra normalization via cmd.

autospider.py, being its own pseudo-mozconfig parser, still does need
it, though, but it was hooking into it already, so just inline that.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 21:06:01 +00:00
Mike Hommey
ba16bbdf4f Bug 1523200 - Use the x86 MSVC when the configure host is x86. r=froydnj
Previously, we hardcoded HostX64 because configure would autodetect a
x86 host on x64 machines, but the x86 MSVC compiler wouldn't be
suitable.

While the x86 MSVC compiler might still not be suitable, now that
configure detects x64 hosts properly, when the configure host is
detected as x86, we can't even execute the x64 compiler, so we can at
least try with the x86 one correctly.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 22:24:04 +00:00
Mike Hommey
bf7c4521f8 Bug 1519010 - Make LINKER and HOST_LINKER js_options. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D17793

--HG--
extra : moz-landing-system : lando
2019-01-29 01:22:19 +00:00
Mike Hommey
d62063e5c2 Bug 1523153 - Pass the altered PATH to old-configure. r=chmanchester
The combination of bug 1515579 and bug 1520394 made things harder for
old-configure, because it doesn't necessarily have a complete view of
the search PATH that has been used. This doesn't actually cause problems
on non-Windows builds because things work out fine, but on Windows,
some of the executions of clang-cl in old-configure insist on being able
to find a MSVC install. That, again, doesn't currently cause problems in
general on local builds because clang-cl finds it through the registry
(presumably), and on automation, because it's in the `mk_add_options
export`'ed PATH, but the latter is due to change.

Depends on D17772

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

--HG--
extra : moz-landing-system : lando
2019-01-29 01:17:57 +00:00
Mike Hommey
621fd58bd3 Bug 1523153 - Use find_program instead of which in llvm_config_paths. r=chmanchester
Also, while here, replace subprocess.check_output with check_cmd_output.

Depends on D17771

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

--HG--
extra : moz-landing-system : lando
2019-01-29 01:17:49 +00:00
Mike Hommey
a7be46c489 Bug 1523153 - Don't rely on which.which's os.environ in python configure. r=chmanchester
Bug 1520394 changed things such that the configure sandbox is using a
copy of os.environ. So when mozconfig injects environment changes, they
only affect the sandbox. Which means when the which module uses
os.environ to get PATH, it gets the original unmodified environment.

So instead of relying on the which module getting PATH itself, we feed
it with it. It's worth noting that the which module adds `.` on Windows,
but we don't copy this behavior, because in the context of configure,
it's actually not important (`.` would be the topobjdir).

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

--HG--
extra : moz-landing-system : lando
2019-01-29 01:17:43 +00:00
Mike Hommey
ac76b3270c Bug 1523143 - Reject builds where the rust compiler host does not match the build host. r=chmanchester
Depends on D17765

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

--HG--
extra : moz-landing-system : lando
2019-01-29 01:15:16 +00:00
Mike Hommey
12e0f305f3 Bug 1523198 - Make VC_PATH a normal configure input. r=froydnj
And use it as an alternative to vswhere, instead of the current late
check. This allows to use VC_PATH when using a MSVC archive that is not
installed through the VS installer, and not have to care about PATH.

Depends on D17786

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

--HG--
extra : moz-landing-system : lando
2019-01-28 20:44:26 +00:00
Mike Hommey
85670de72d Bug 1523198 - Refactor vc_compiler_path. r=froydnj
- Only expose it as well as --with-visual-studio-version when the host
  system is Windows.
- Don't run vswhere twice (once for host and once for target).

Depends on D17785

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

--HG--
extra : moz-landing-system : lando
2019-01-28 20:42:07 +00:00
Mike Hommey
d04b0b4a1b Bug 1523198 - Make DIA_SDK_PATH a normal configure input. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D17785

--HG--
extra : moz-landing-system : lando
2019-01-28 20:37:04 +00:00
Mike Hommey
63d64c8a5d Bug 1523223 - Die with a useful error message when MSVC cannot be found on clang-cl builds. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D17794

--HG--
extra : moz-landing-system : lando
2019-01-28 22:33:04 +00:00
Mike Hommey
26df61d9d6 Bug 1522560 - Use system vswhere.exe. r=dmajor
And remove the in-tree one.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 21:54:56 +00:00
Mike Hommey
8f51010fc1 Bug 1522354 - Remove --host=x86_64-pc-mingw32 from mozconfigs now that it is detected correctly. r=nalexander
Depends on D17621

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

--HG--
extra : moz-landing-system : lando
2019-01-25 18:01:28 +00:00
Mike Hommey
5e7a18573c Bug 1522354 - Derive configure host from the environment when possible on Windows. r=nalexander
config.guess doesn't actually figure out the real host system on
Windows. All it does is end up finding the CPU for which the msys used
for the shell is built for. Which has the unfortunate effect that if you
build on a 64-bits host, configure pretends the host is 32-bits.

So instead, rely on some environment variables that should be set
mostly everywhere, and derive the corresponding triplet.

This has two effects:
- configure now knows that the host is 64-bits when it is.
- consequently, configure will build a 64-bits Firefox on 64-bits hosts
  by default (since by default, the target is derived from the host), and
  that's actually a desired side effect.

Depends on D17620

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

--HG--
extra : moz-landing-system : lando
2019-01-25 18:00:58 +00:00
Mike Hommey
3a0c4a4154 Bug 1522354 - Avoid running config.sub in cases we don't really need to. r=nalexander
- We assume the output from config.guess is sufficiently normalized for
  our needs.
- If we partially derive the target from the host (with only the cpu
  given for --target), we assume the derived value doesn't need
  canonicalization.

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

--HG--
extra : moz-landing-system : lando
2019-01-25 23:28:06 +00:00
Mike Hommey
5f875e708a Bug 1522788 - Harmonize config.guess handling between mach and configure. r=chmanchester
In fact, "simply" use whatever python configure does to find a shell to
execute config.guess and config.sub, and get both the mozconfig content
and the real, canonicalized target alias. This has the side effect of
making builds with --target=$cpu use a complete obj-$cpu-$os default
objdir instead of obj-$cpu. This will also allow to change the
host-guessing logic without having to duplicate code.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 22:14:23 +00:00
Ryan VanderMeulen
7515f6edf1 Bug 1522507 - Update Windows ARM64 builds to Visual Studio 2017 15.9.6. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D17728

--HG--
extra : moz-landing-system : lando
2019-01-28 19:29:56 +00: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
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
96f7f533a2 Bug 1516228 - Add a configure check for llvm-objdump. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D17462

--HG--
extra : moz-landing-system : lando
2019-01-24 15:33:47 +00:00
David Major
820c1361b4 Bug 1512822 - Use clang-cl rather than MSVC for aarch64 builds r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D17021

--HG--
extra : moz-landing-system : lando
2019-01-24 15:08:50 +00:00
David Major
90b4b511f2 Bug 1521129 - Bump clang-cl to 8.0.0 rc1 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D17009

--HG--
rename : build/build-clang/r342652-unpoison-thread-stacks.patch => build/build-clang/unpoison-thread-stacks.patch
extra : moz-landing-system : lando
2019-01-24 15:03:52 +00:00
Chris Manchester
0b6bacd1ad Bug 1521463 - Show rustc info in about:buildconfig r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D17305

--HG--
extra : moz-landing-system : lando
2019-01-23 20:15:14 +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
1ddf551764 Bug 1516228 - Add a configure check for llvm-objdump. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D17462
2019-01-29 08:37:31 +09:00
Mike Hommey
3567be6105 Bug 1521691 - Move the remains of CC_VERSION to python configure. r=chmanchester
which, at this point, is only the AC_SUBST, so we don't even need to
give it to old-configure anymore.

Depends on D17207

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

--HG--
extra : moz-landing-system : lando
2019-01-23 00:27:38 +00:00
shindli
2aae270ee0 Backed out 2 changesets (bug 1521691) for bustages in clang-plugin.dll CLOSED TREE
Backed out changeset 09e1109d2350 (bug 1521691)
Backed out changeset cfee3de00f12 (bug 1521691)
2019-01-23 00:51:59 +02:00
David Major
147bd27b98 Bug 1477306 - Point -fcrash-diagnostics-dir at UPLOAD_DIR when compiling with clang in automation r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D16765

--HG--
extra : moz-landing-system : lando
2019-01-22 19:27:13 +00:00
Mike Hommey
f2798e8385 Bug 1521691 - Move the remains of CC_VERSION to python configure. r=chmanchester
which, at this point, is only the AC_SUBST, so we don't even need to
give it to old-configure anymore.

Depends on D17207

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

--HG--
extra : moz-landing-system : lando
2019-01-22 22:26:28 +00:00
Mike Hommey
aa2783bf67 Bug 1521284 - Don't hardcode config.log path in old-configure. r=nalexander
Because old-configure is only refreshed when, essentially,
old-configure.in changes, hardcoded (absolute) paths don't necessarily
match the build environment of the current build.

So instead, use an environment variable that we pass from python
configure when invoking old-configure.

Also do dummy changes to old-configure.in so that old-configure is
refreshed at least once to get the environment-based value.

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

--HG--
extra : moz-landing-system : lando
2019-01-21 17:32:11 +00:00
Cosmin Sabou
7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Chris Manchester
1df3f2bb45 Bug 1518630 - Build compiler-rt profiling library for android x86 and aarch64. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16911

--HG--
extra : moz-landing-system : lando
2019-01-18 01:55:41 +00:00
Mike Hommey
622e7208be Bug 1520393 - Use proper defaults for --enable-jemalloc and --enable-replace-malloc. r=nalexander
Back when those were added, option defaults could not indirectly depend
on `target` or `host`, but that changed with bug 1322025.

As a side effect, this allows to turn them into straight js_options
without resorting to the manual add_old_configure_arg.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 21:52:01 +00:00
Ted Mielczarek
3ca4c1c35e bug 1459991 - embed Rust's natvis files into xul.pdb on Windows. r=froydnj
Rust ships with some natvis files that enable nicer display of Rust standard
library types in Microsoft's debuggers. rustc will add the right linker
options to include them when it invokes the linker but since we don't link
libxul with rustc we need to explicitly pass them to the linker ourselves.

This change locates all natvis files in the Rust sysroot and adds them
to the libxul link line.

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

--HG--
extra : moz-landing-system : lando
2019-01-15 13:56:07 +00:00
Mike Hommey
1aeaa7d4ef Bug 1520730 - Normalize the config log path before writing it in old-configure. r=froydnj
Add a dummy change to old-configure.in so that old-configure is
force-refreshed.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 13:54:41 +00:00
Brindusan Cristian
48d1db1217 Backed out changeset 263e45bdcd59 (bug 1520393) for build bustages on memory/replace/logalloc/replay/target. CLOSED TREE 2019-01-17 09:15:11 +02:00
Mike Hommey
f610fdcf5a Bug 1520393 - Use proper defaults for --enable-jemalloc and --enable-replace-malloc. r=nalexander
Back when those were added, option defaults could not indirectly depend
on `target` or `host`, but that changed with bug 1322025.

As a side effect, this allows to turn them into straight js_options
without resorting to the manual add_old_configure_arg.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 06:49:10 +00:00
Mike Hommey
e59496dbb9 Bug 1520410 - Make --host/--target alter the output from configure --help. r=nalexander
Before bug 1322025, running configure --help along --host and/or
--target would show the options that are specific to the
host/target/cross-compilation (e.g. those with when=target_is_windows)
which was convenient. Bug 1322025 unfortunately broke that, and this
restores the feature.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:20:22 +00:00
Mike Hommey
e7713397bc Bug 1520402 - Require the android NDK when targetting Android, not when building Fennec. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16671

--HG--
extra : moz-landing-system : lando
2019-01-17 04:14:50 +00:00
Mike Hommey
19f8d4666d Bug 1520677 - Remove unnecessary --help dependencies in python configure. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D16777

--HG--
extra : moz-landing-system : lando
2019-01-17 03:34:54 +00:00
Cosmin Sabou
ef43695ad2 Backed out changeset 9a00f3b44547 (bug 1520393) for causing build bustages. CLOSED TREE 2019-01-17 02:31:55 +02:00
Mike Hommey
e9b94b7a29 Bug 1520394 - Don't hard code log file name for old-configure. r=nalexander
Instead, use the actual log file name as configured through python
logging. This doesn't make a practical difference now, but will when
subconfigure logs to the toplevel log.

Depends on D16666

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:29:15 +00:00
Mike Hommey
dc49c33546 Bug 1520394 - Restore logging to file after running old-configure. r=nalexander
We're going to want to log some more. At the moment, this just adds the
output of subconfigure to top-level config.log, but this will become
more useful down the road.

Depends on D16665

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:27:53 +00:00
Mike Hommey
b3068819c5 Bug 1520394 - Send old-configure output through logging. r=nalexander
Rather than letting it go through to sys.stdout/sys.stderr directly.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 21:44:42 +00:00
Mike Hommey
4d694bd47f Bug 1520393 - Use proper defaults for --enable-jemalloc and --enable-replace-malloc. r=nalexander
Back when those were added, option defaults could not indirectly depend
on `target` or `host`, but that changed with bug 1322025.

As a side effect, this allows to turn them into straight js_options
without resorting to the manual add_old_configure_arg.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:25:21 +00:00
Cosmin Sabou
18aa3b4cff Backed out changeset bc6c2b781953 (bug 1520402) for Linux build bustages on test_toolchain_configure. CLOSED TREE 2019-01-17 02:06:08 +02:00
Mike Hommey
a8676d74e4 Bug 1520377 - Inline subconfigure.prepare and simplify. r=nalexander
Depends on D16644

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

--HG--
extra : moz-landing-system : lando
2019-01-16 23:29:19 +00:00
Mike Hommey
4e2dcc2671 Bug 1520377 - Replace/Inline subconfigure.{prefix_lines,execute_and_prefix}. r=nalexander
Use an I/O wrapper on the configure output handler to add the "js/src>"
prefix.

Depends on D16643

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

--HG--
extra : moz-landing-system : lando
2019-01-16 21:44:54 +00:00
Mike Hommey
1384b22d3a Bug 1520377 - Inline subconfigure.run in js/sub.configure. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16643

--HG--
extra : moz-landing-system : lando
2019-01-16 23:18:29 +00:00
Mike Hommey
3ea720d026 Bug 1520402 - Require the android NDK when targetting Android, not when building Fennec. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16671

--HG--
extra : moz-landing-system : lando
2019-01-16 23:26:51 +00:00
Mike Hommey
9c03806b2b Bug 1520369 - Don't remove --srcdir from subconfigure command line. r=froydnj
It was manually removed because autoconf's AC_OUTPUT_SUBDIRS passes it,
but we've not been using AC_OUTPUT_SUBDIRS for a while.

Depends on D16637

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

--HG--
extra : moz-landing-system : lando
2019-01-16 15:24:27 +00:00
Mike Hommey
032bdb105e Bug 1520369 - Remove --no-create. r=froydnj
It actually does nothing anymore.

Depends on D16636

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

--HG--
extra : moz-landing-system : lando
2019-01-16 15:23:51 +00:00
Mike Hommey
1e15ba1bf0 Bug 1520369 - Remove subconfigure cache clearing. r=froydnj
The code only actually handles autoconf 2.5 cache, and was useful when
we have such subconfigures, that would die when things changed in ways
that would make the subconfigure abort on its own. But we have no such
things left, and while we may want to clear the cache for old-configure
(for e.g. bug 1520232), this is not helping to get there.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 23:15:41 +00:00
Mike Hommey
9a8ac178e9 Bug 1520340 - Don't execute subconfigure as a separate process. r=froydnj
Instead, include the module and inline its main function.

Depends on D16622

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

--HG--
extra : moz-landing-system : lando
2019-01-16 15:21:27 +00:00
Mike Hommey
b5e5928355 Bug 1520340 - Move subconfigure invocation from old-configure to python configure. r=froydnj
This happens to remove the last use of perl from configure.

Depends on D16621

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

--HG--
extra : moz-landing-system : lando
2019-01-16 23:12:20 +00:00
Mike Hommey
3512597192 Bug 1520340 - Split prepare_configure and old_configure. r=froydnj
So that individual parts can be reused downstream.

Depends on D16620

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

--HG--
extra : moz-landing-system : lando
2019-01-16 15:14:10 +00:00
Mike Hommey
c374d6cb17 Bug 1520340 - Move old_configure_assignments formatting to prepare_configure. r=froydnj
Depends on D16619

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

--HG--
extra : moz-landing-system : lando
2019-01-16 23:06:41 +00:00
Mike Hommey
661caa5a30 Bug 1520340 - Normalize old_configure's result earlier. r=froydnj
Depends on D16618

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

--HG--
extra : moz-landing-system : lando
2019-01-16 14:58:30 +00:00
Mike Hommey
13b49eda02 Bug 1520340 - Use js_options instead of exported variables from old-configure for a few variables. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16618

--HG--
extra : moz-landing-system : lando
2019-01-15 23:33:47 +00:00
Mike Hommey
5215f57b1d Bug 1520108 - Move MOZ_CONFIGURE_OPTIONS to toolkit/moz.configure. r=froydnj
It is only used to fill about:buildconfig.

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

--HG--
extra : moz-landing-system : lando
2019-01-15 15:28:00 +00:00
Mike Hommey
eb75a7a831 Bug 1519603 - Remove the File class in subconfigure.py. r=nalexander
The File class is now used only in one place, only for its mtime
property, which can be replaced with os.path.getmtime.

Depends on D16402

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:41:07 +00:00
Mike Hommey
09ed4d67e7 Bug 1519603 - Hardcode js/src into subconfigure.py. r=nalexander
Because subconfigure.py is only used for js/src and we're not going to
add any more subconfigures, we can hardcode js/src into the script, and
remove the branches that aren't taken as a consequence.

Depends on D16382

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:40:41 +00:00
Mike Hommey
4a50a75dd9 Bug 1519603 - Run build/subconfigure.py in one pass. r=nalexander
It was useful to run the prepare phase and the actual subconfigure
separately, but it's not anymore after all the recent simplications.

Depends on D16381

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:39:12 +00: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
6c7b4555f5 Bug 1519603 - Remove dead code in build/subconfigure.py. r=nalexander
We only run it for js/src now, so get_config_files always returns empty lists.

Depends on D16378

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:33:33 +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
106cde5e98 Bug 1519744 - Remove MOZ_GLUE_WRAP_LDFLAGS. r=dmajor
It's been unused since NUWA was removed in bug 1284674.

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

--HG--
extra : moz-landing-system : lando
2019-01-14 16:58:34 +00:00
Emilio Cobos Álvarez
d133439037 Bug 1519501 - Update min cbindgen version. r=dmajor
We need this to properly generate the WR bindings.

Also update the comment since the check was recently moved.

Differential Revision: https://phabricator.services.mozilla.com/D16398
2019-01-14 13:44:27 +01:00
Margareta Eliza Balazs
9dda825205 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-18 12:31:59 +02:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Tom Ritter
3a99ace175 Bug 1520308 - Enable ASLR for mingw-clang builds. r=froydnj 2019-01-14 18:49:23 -06:00
Tom Ritter
aa8edade61 Bug 1485016 - Change clang-cl compiler version to be the clang version rather than MSVC r=glandium
This only affects the compiler version in the build system; not the
version reported by the compiler.

--HG--
extra : histedit_source : 37fc1a2090d872ca5e95d022e9f93b620b2d8dbb
2019-01-29 06:42:53 -06:00
Tom Ritter
e31de5943e Bug 1485016 - Enable CFG for Windows builds r=dmajor
--HG--
extra : histedit_source : 6b22c5f55f7e5f132a82318de5df0ce2206328e2
2019-01-25 10:41:27 -06:00
Mike Hommey
482de8b58a Bug 1519308 - Try toolchain-prefixed pkg-config. r=froydnj
When doing cross-compiles for Desktop, system pkg-config is going to be
looking for .pc files for the host, but systems setup for cross-compiles
come with a toolchain-prefixed pkg-config, which we should be looking
for.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 23:56:19 +00:00
Dorel Luca
075a44c23b Backed out changeset 24243f13c895 (bug 1519308) for build bustage in mozbuild/mozbuild/test/configure/test_checks_configure.py. CLOSED TREE 2019-01-12 01:28:30 +02:00
Mike Hommey
fe50d1eef4 Bug 1519308 - Try toolchain-prefixed pkg-config. r=froydnj
When doing cross-compiles for Desktop, system pkg-config is going to be
looking for .pc files for the host, but systems setup for cross-compiles
come with a toolchain-prefixed pkg-config, which we should be looking
for.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 15:54:51 +00:00
Mike Hommey
9f9340299c Bug 1257904 - Remove YASM_MAJOR_VERSION/YASM_MINOR_VERSION. r=firefox-build-system-reviewers,mshal
They are entirely unused now.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 16:23:19 +00:00
Mike Hommey
94ff361bf4 Bug 1519325 - Move D3D compiler DLL detection to python configure. r=froydnj
MOZ_D3D_CPU_SUFFIX and MOZ_HAS_WINSDK_WITH_D3D are not used in the
build, and nothing includes d3d10.h except some angle code in a
preprocessed branch that is only taken for a macro we never define,
so we don't move the code corresponding to those. We also simplify the
detection code, which is convoluted now that it doesn't search for
multiple different DLLs.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 22:21:24 +00:00
Mike Hommey
fd2ad54c49 Bug 1519319 - Move cbindgen check to bindgen.configure. r=froydnj
Depends on D16292

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

--HG--
extra : moz-landing-system : lando
2019-01-11 15:42:07 +00:00
Mike Hommey
3ad65a7f86 Bug 1519319 - Use toolchain_search_path to look for rust toolchains. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16292

--HG--
extra : moz-landing-system : lando
2019-01-11 15:48:20 +00:00
Mike Shal
9866beb54f Bug 1500504 - Add version checks for the OSX SDK; r=froydnj#firefox-build-system-reviewers
In bug 1494022 there are problems using an SDK that is too new, which
can cause developers to spend many hours debugging an issue that we
could've checked up front.

This patch gets the version from the SDKSettings.plist file at the root
of the SDK directory, and checks it against min and max supported
versions.

The current min version is 10.11, since that is what we build with in
automation. The current max version is 10.13, since 10.14+ currently has
an issue with a black screen at startup.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 19: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
da8c7ce8ed Bug 1515528 - Prefer MSVC when building for aarch64 windows. r=froydnj
Depends on D15264

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:33 +00:00
Mike Hommey
9936784a53 Bug 1515528 - Detect MSVC paths separately for host and target. r=chmanchester
Because MSVC compilers only support one architecture, we need to search
"cl" in different toolchain search paths for each of the host and
target, especially when they are different.

Likewise for the library paths for the linker. Ideally we'd pass
-LIBPATH both for host and target, but that has implications for rust
that I don't want to have to figure just now.

Depends on D15263

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:31 +00:00
Mike Hommey
f90954f379 Bug 1515528 - Fix VC paths for arm64. r=froydnj
Depends on D15262

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:29 +00:00
Mike Hommey
f4de6ab03a Bug 1515528 - Prefer link to lld-link when building with msvc rather than clang-cl. r=froydnj
While it was preferable to use lld-link with msvc for performance
reasons when we defaulted to compile with msvc, now that we build with
clang-cl by default, it's now better to use msvc's linker when using
msvc's compiler, especially for aarch64, which is the last place where
we actually need msvc.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:26 +00:00
Mike Hommey
9a0967dc5d Bug 1515579 - Use absolute paths for compilers, etc. r=ted
In bug 1259382, some workarounds were added to make the build system
alter PATH and not use absolute paths for toolchain programs, because
autoconf and the build system doesn't deal with spaces in those very
well. But later in bug 1290040, we made find_program return Windows
short paths (without spaces), which alleviates the need for those
workarounds.

We still, however, and unfortunately, need to alter PATH to account for
the fact that MSVC DLLs are not necessarily alongside the compiler
executables...

Depends on D15181

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

--HG--
extra : moz-landing-system : lando
2019-01-10 23:37:46 +00:00
Mike Hommey
546e2487aa Bug 1515579 - Add some mk_export_correct_style to win64-aarch64 mozconfig. r=ted
Like for other windows platforms. This currently doesn't make a
difference, but will with next change.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 08:36:40 +00:00
Mike Hommey
516c65acec Bug 1519042 - Remove OS_TEST. r=ted
Depends on D16162

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

--HG--
extra : moz-landing-system : lando
2019-01-10 22:06:12 +00:00
Mike Hommey
65e1e6bb41 Bug 1519040 - Remove some unused old-configure assignments. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D16159

--HG--
extra : moz-landing-system : lando
2019-01-10 22:02:04 +00:00
Mike Hommey
8153f29959 Bug 1519012 - Move most PGO-related configure flags back to toolchain.configure. r=froydnj
LLVM_PROFDATA needs the toolchain search dir, per bug 1515579.

Also, most of the options actually don't do anything useful with
artifact builds. In fact, the only one that artifact builds would need
is MOZ_PGO. So we move to options back to toolchain.configure, somewhere
late enough ; except MOZ_PGO, that we move to the top-level
moz.configure (because we don't need a separate file for one option).

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

--HG--
extra : moz-landing-system : lando
2019-01-10 14:25:12 +00:00
Mike Hommey
a0b6688faa Bug 1518726 - Apply https://reviews.llvm.org/D56475 to clang. r=froydnj
Firefox uses multiple processes. It has intentional leaks, and when
running with ASAN, we have suppressions to eliminate those. When running
ASAN builds through CI tests, when Firefox exits, each of the processes
(parent and child) exits and goes through its leaks and when there are
(which is a given), the ASAN runtime runs llvm-symbolizer to symbolicate
and match against suppressions. So each process runs llvm-symbolizer. At
the same time.

Some of the addresses to symbolicate are in libxul. Which contains all
DWARF info, making it a ~1GB monster. Oh, and because you're lucky,
things align perfectly such that libxul size is a multiple of the page
size. That makes llvm-symbolizer pread() the file instead of mmap()ing
it. Did I say there are multiple processes? So suddenly you have n
processes simultaneously allocating and filling 1GB of memory each, on
CI machines that have enough memory for the job they usually run, but
not enough for a sudden rush of n GB.

And things go awry. When you're lucky and the OOM killer didn't take
care of killing the CI entirely, symbolication couldn't happen and the
suppressions are not matched, and leaks are reported.

This all turns out it originates in how llvm-symbolicate chooses between
pread() and mmap(), which turns out is just defaults not being made for
binary files.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 00:18:28 +00:00
Mike Hommey
3dc15d5c35 Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2019-01-09 23:01:46 +00:00
Cosmin Sabou
d6a8d4942e Backed out changeset 4728285e13e4 (bug 1516374) for causing coverage build bustages. a=backout 2019-01-09 18:34:05 +02:00
Mike Hommey
d1371b35a2 Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2019-01-09 09:20:15 +00:00
Kris Maglione
9913b7d3e1 Bug 1478124: Part 7 - Add docs for static component manifests. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D15038

--HG--
extra : rebase_source : 0d029ccb0c7faab855194609041af22264b85d6e
extra : source : 5d85deac61c2ee54a69525de8bdfff4be72d224c
2018-12-18 14:15:21 -08:00
Chris Manchester
b101c5a8f3 Bug 1517532 - Extend artifact builds to find and download artifacts from pgo builds when MOZ_PGO is set. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15988

--HG--
extra : moz-landing-system : lando
2019-01-08 23:03:27 +00:00
Mike Hommey
0e386d3190 Bug 1517419 - Pass AR down to js configure. r=froydnj
This is a followup for bug 1515595.

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

--HG--
extra : moz-landing-system : lando
2019-01-08 16:10:06 +00:00
Mike Shal
514145c3fb Bug 1518170 - Always upload profile run output; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers
In bug 1514288 we started to save the output from running Firefox during
PGO builds into log files, but they aren't correctly uploaded if the run
fails. This presents a problem for categorizing failed PGO builds if the
profileserver returns an error code (eg: bug 1517939), since the error
messages could be hidden away in log files that aren't uploaded.

Instead, we can generate them directly into the artifacts directory so
that they are always uploaded. Additionally, the log files are displayed
if the run fails so that the error messages are displayed in the log for
easier bug categorization.

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

--HG--
extra : moz-landing-system : lando
2019-01-08 17:28:36 +00:00
Emilio Cobos Álvarez
1834c20f36 Bug 1518045 - Make Servo use a single thread-pool for layout-related tasks per-process. r=jdm
Instead of per-document. This also allows to reuse this thread-pool if needed
for other stuff, like parallel CSS parsing (#22478), and to share more code with
Gecko, which is always nice.

This cherry-picks https://github.com/servo/servo/pull/22487, with a few minor
fixes to the build that are landing as part of the sync associated to this bug,
and an lsan exception tweak to point to the right module since it's moving.
2019-01-07 00:53:04 +01:00
Nick Alexander
0205519c44 Bug 1517882 - Fix x86_64 artifact builds in automation. r=froydnj
Depends on D15769

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

--HG--
extra : moz-landing-system : lando
2019-01-05 14:34:01 +00:00
Chris Manchester
0ef0b54bfb Bug 1507344 - Add a configure option for JARLOG_FILE in profile use builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D13917

--HG--
extra : moz-landing-system : lando
2018-12-21 19:05:44 +00:00
Chris Manchester
0851ff9f4a Bug 1507344 - Add configure machinery for MOZ_PROFILE_USE and merging profile. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D13863

--HG--
extra : moz-landing-system : lando
2018-12-21 19:02:11 +00:00
Chris Manchester
25e14c4f13 Bug 1507338 - Add a configure option for MOZ_PROFILE_GENERATE. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D12999

--HG--
extra : moz-landing-system : lando
2019-01-03 16:16:38 +00:00
Mike Shal
c8ed2cda78 Bug 1514288 - save profile run output to log files rather than stdout; r=chmanchester
The output from running the browser during PGO builds can have innocuous
error messages in them, but show up in treeherder as potential messages
to include when filing bugs. We can just save the output from these runs
as files and upload them as artifacts instead, so they don't show up in
the build log but are available for inspection if necessary.

MozReview-Commit-ID: 3VdVCKVkZNI

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

--HG--
extra : moz-landing-system : lando
2019-01-03 18:18:02 +00:00
Geoff Brown
308d1fcb22 Bug 1517169 - Ensure Android remote test log is deleted before launching test app; r=bc 2019-01-02 09:50:36 -07:00
Dustin J. Mitchell
c2ecf453ff Bug 1492664 - vendor taskcluster-urls; r=gps
--HG--
extra : rebase_source : a64effde0530bcf5c3a3095745b0e7a749d75dbd
extra : source : 0699d3873e440453ce7d5cc7c398a1d076b92033
2018-09-24 16:53:45 +00:00
Chris Manchester
ccddf2ca6c Bug 1515512 - Require rustc 1.31. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D15396

--HG--
extra : source : f162598ad12cd59e1f653c541e6786b715b144fd
2018-12-27 02:22:54 +00:00
Ciure Andrei
c1b788ba04 Backed out 1 changesets (bug 1516374) for causing Linux asan browser chrome exceptions CLOSED TREE
Backed out changeset 4474a7665e47 (bug 1516374)
2018-12-27 08:17:10 +02:00
Cosmin Sabou
c3c97ee7de Backed out changeset f162598ad12c (bug 1515512) on the suspicion of causing Linux asan browser chrome exceptions. 2018-12-27 07:43:08 +02:00
Chris Manchester
ac40054b22 Bug 1515512 - Require rustc 1.31. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D15396

--HG--
extra : moz-landing-system : lando
2018-12-27 02:22:54 +00:00
Mike Hommey
242f814d8a Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2018-12-27 00:49:54 +00:00
Razvan Maries
196ea35cdf Backed out 2 changesets (bug 1515579) for causing bugs: 1516228, 1516090, 1516253. a=backout
Backed out changeset fcf2cca505d4 (bug 1515579)
Backed out changeset 1d645417b082 (bug 1515579)
2018-12-25 00:48:43 +02:00
Mike Hommey
cc04049ca0 Bug 1515579 - Use absolute paths for compilers, etc. r=ted
In bug 1259382, some workarounds were added to make the build system
alter PATH and not use absolute paths for toolchain programs, because
autoconf and the build system doesn't deal with spaces in those very
well. But later in bug 1290040, we made find_program return Windows
short paths (without spaces), which alleviates the need for those
workarounds.

We still, however, and unfortunately, need to alter PATH to account for
the fact that MSVC DLLs are not necessarily alongside the compiler
executables...

Depends on D15181

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

--HG--
extra : moz-landing-system : lando
2018-12-21 23:05:40 +00:00
Mike Hommey
46c52c3f0f Bug 1515579 - Add some mk_export_correct_style to win64-aarch64 mozconfig. r=ted
Like for other windows platforms. This currently doesn't make a
difference, but will with next change.

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

--HG--
extra : moz-landing-system : lando
2018-12-21 23:03:13 +00:00
Mike Hommey
c683c549a5 Bug 1515852 - Move --with-system-jpeg to python configure. r=froydnj
We remove --disable-libjpeg-turbo because that's only useful when Yasm
is too old, and the required version is now almost 8 years old, so we
can reasonably require people to upgrade rather than workaround with a
--disable option.

The valid_yasm_version function can seem overkill, but that's because
future moves of other things to python configure will pile up.

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

--HG--
extra : moz-landing-system : lando
2018-12-21 15:47:22 +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
be475da6db Bug 1515566 - Allow to only give a CPU type to configure's --target. r=chmanchester
So far, the main subject of cross-compiles was to cross compile from one
OS to another (e.g. {linux,osx} -> android), but there are a few useful
cases where the OS doesn't change, and, with --host being guessed, we
can just have developers pass --target=$cpu instead of a complete
target triplet. This can be useful to do x86 Linux builds on x86-64
Linux hosts, or aarch64 Windows builds on x86-64 Windows hosts.

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

--HG--
extra : moz-landing-system : lando
2018-12-21 22:57:42 +00:00
Margareta Eliza Balazs
413dd3a1fa Merge inbound to mozilla-central. a=merge 2018-12-21 11:37:24 +02:00
Narcis Beleuzu
fa87e17c27 Backed out 2 changesets (bug 1485016, bug 1512921) as requested by tjr.
Backed out changeset 61ae84746b34 (bug 1485016)
Backed out changeset 585f7d2135ee (bug 1512921)
2018-12-21 05:59:24 +02: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
b065844d33 Bug 1515550 - Search all MSVC products for the compiler components. r=ted
vswhere only searches in Community, Professional and Enterprise, but one can
also install BuildTools only, which has a different product name.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 21:53:14 +00:00
Mike Hommey
1c2fec65c2 Bug 1515504 - Fix the path we check version.txt/version_display.txt under in non-browser projects. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15027

--HG--
extra : moz-landing-system : lando
2018-12-20 03:52:29 +00:00
Mike Hommey
298b2de7c1 Bug 1515604 - Fix artifact builds after bug 1513798. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15079

--HG--
extra : moz-landing-system : lando
2018-12-20 18:50:04 +00:00
Marco Bonardo
41b6e48c5d Bug 1492149 - Add MOZ_OBJDIR to the pgo env, so cygprofile.txt can be found. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D15115

--HG--
extra : moz-landing-system : lando
2018-12-20 17:05:50 +00:00
Noemi Erli
9349dedbfa Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-12-20 13:13:25 +02:00
Sebastian Hengst
767c971623 Backed out 21 changesets (bug 1492664) for breaking cron task for nightlies. a=backout
Backed out changeset a7d50dbb2c8e (bug 1492664)
Backed out changeset 2d876c4ece8b (bug 1492664)
Backed out changeset c82285d253de (bug 1492664)
Backed out changeset bf6d089640eb (bug 1492664)
Backed out changeset d9a7f2ce49c3 (bug 1492664)
Backed out changeset 06c466ab4323 (bug 1492664)
Backed out changeset c1ea4a10cc8d (bug 1492664)
Backed out changeset 4c63a04fdd47 (bug 1492664)
Backed out changeset 742b038bb1dd (bug 1492664)
Backed out changeset 911b4b0fb683 (bug 1492664)
Backed out changeset 870c8cec99e5 (bug 1492664)
Backed out changeset 77699b51336b (bug 1492664)
Backed out changeset 29f33f22fd8b (bug 1492664)
Backed out changeset e7f305408708 (bug 1492664)
Backed out changeset 335a92b1f424 (bug 1492664)
Backed out changeset c566f1c8dcdf (bug 1492664)
Backed out changeset c77ae59aba41 (bug 1492664)
Backed out changeset 9c35dd209c6b (bug 1492664)
Backed out changeset a972d6b4434e (bug 1492664)
Backed out changeset 5ea6f03f845e (bug 1492664)
Backed out changeset 0699d3873e44 (bug 1492664)

--HG--
extra : histedit_source : 5cb1f7e50f25d4a875c1a58c86b7dce902e1a89c%2C20f1ab1a843b612cfcc67cf5c6ff745d65abf076
2018-12-20 12:43:22 +02:00
Razvan Maries
f658ebcbab Merge mozilla-inbound to mozilla-central a=merge 2018-12-20 07:04:06 +02:00
Mike Hommey
d402239dae Bug 1515257 - Move --with-system-libvpx to python configure. r=firefox-build-system-reviewers,ted
Depends on D14951

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

--HG--
extra : moz-landing-system : lando
2018-12-19 11:39:08 +00:00
Mike Hommey
dd9123bf89 Bug 1515257 - Add a check_symbol function that checks whether a symbol can be linked against. r=firefox-build-system-reviewers,ted
Depends on D14950

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

--HG--
extra : moz-landing-system : lando
2018-12-19 11:23:41 +00:00
Mike Hommey
1b2eece461 Bug 1515257 - Add a try_run method more generic than try_compile. r=firefox-build-system-reviewers,ted
It will be useful to run tests like try_compile, with different flags and different
kinds of sources.

Depends on D14949

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

--HG--
extra : moz-landing-system : lando
2018-12-19 22:40:38 +00:00
Mike Hommey
bcdb05188c Bug 1515257 - Add onerror argument to check_header(). r=firefox-build-system-reviewers,ted
Depends on D14948

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

--HG--
extra : moz-landing-system : lando
2018-12-19 11:20:26 +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
Razvan Maries
0e169796a1 Merge mozilla-inbound to mozilla-central a=merge 2018-12-19 23:58:38 +02:00
Kartikaya Gupta
d2c266a024 Bug 1507884 - Add a wrench-deps toolchain to provide a tarball of crates wrench depends on. r=glandium
Although this task technically doesn't build a toolchain, the set of
steps it needs to do is very similar to what a toolchain build does, so
we're shoehorning this task into the toolchain kind. The task basically
runs `cargo vendor` on the gfx/wr/Cargo.lock file (if/when it changes)
and exports a tarball of the resulting vendored crates. This allows
downstream tasks that build stuff in gfx/wr to not have to re-fetch
these crates from crates.io on every test run.

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

--HG--
extra : moz-landing-system : lando
2018-12-19 19:33:13 +00:00
Kartikaya Gupta
3ce845679b Bug 1507884 - Add a docker image for building and testing webrender standalone. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D14405

--HG--
extra : moz-landing-system : lando
2018-12-19 19:32:09 +00:00
Margareta Eliza Balazs
c0be9f0949 Merge autoland to mozilla-central. a=merge 2018-12-19 17:44:34 +02:00
Margareta Eliza Balazs
2e5e28f518 Backed out 16 changesets (bug 1492664) for breaking developer artifact builds, requested by standard8 a=backout
Backed out changeset 31e500489665 (bug 1492664)
Backed out changeset f4945658d45f (bug 1492664)
Backed out changeset 6d17291b8b92 (bug 1492664)
Backed out changeset 90f3faa36137 (bug 1492664)
Backed out changeset 0b229b00818a (bug 1492664)
Backed out changeset 5eb2c77d70a9 (bug 1492664)
Backed out changeset e1ebad5d89c5 (bug 1492664)
Backed out changeset 3017e5890739 (bug 1492664)
Backed out changeset c8b7e620eabf (bug 1492664)
Backed out changeset d3dfbd848236 (bug 1492664)
Backed out changeset 5c92bb5ac895 (bug 1492664)
Backed out changeset fb7cfca6ebc3 (bug 1492664)
Backed out changeset 0c4101230d4d (bug 1492664)
Backed out changeset b93a0fcc86f3 (bug 1492664)
Backed out changeset 6dc9522ee0bf (bug 1492664)
Backed out changeset 85d7f8b330eb (bug 1492664)
2018-12-19 11:45:29 +02:00
Bogdan Tara
91d742d138 Merge inbound to mozilla-central. a=merge 2018-12-19 06:50:57 +02:00
Margareta Eliza Balazs
f462d0cc0c Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-12-19 18:04:43 +02:00
Bogdan Tara
3fea89ee22 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-12-19 06:53:54 +02:00
Razvan Maries
81c417dbbf Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-12-20 07:09:51 +02:00
Emilio Cobos Álvarez
dc03fce9b5 Bug 1515314 - Fix the build of Searchfox's indexer with trunk clang and with assertions enabled. r=kats
CLANG_VERSION_FULL is a macro that lives in mozilla-central, so it doesn't exist
while building the indexer. Just use the macro clang provides.
2018-12-20 04:40:37 +01:00
Gregory Szorc
12bd06909d Bug 1513320 - SQLite package backport for Debian 7; r=glandium
The SQLite in Debian 7 (3.7.13) lacks support for common table
expressions (the WITH keyword), which was introduced in SQLite
3.8.3. The Mercurial SQLite storage backend currently relies on
CTEs. Even if a future Mercurial doesn't require CTE, it is likely
that it will still use CTE if available for performance reasons.
So, it is in our best interest to give Mercurial access to a
modern SQLite. Plus, using a modern SQLite and avoiding potential
bugs in old versions seems prudent.

This commit introduces a SQLite package backport for Debian 7
so we can use the new SQLite feature. We had to minimally patch
the build to work with an older version of TCL that isn't using
multiarch.

I observed libsqlite3 being installed as part of building various
other packages (such as Python). I initially added the package as
a dependency so packages would be built against a more modern
SQLite. But glandium doesn't believe it matters, since nothing
should be doing build-time feature detection. Python is the most
important downstream package (since Mercurial uses its SQLite).
I audited the CPython build system and did not see any build-time
SQLite feature detection or version sniffing. So I think we'll be
fine building against an older SQLite.

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

--HG--
extra : moz-landing-system : lando
2018-12-12 22:11:59 +00:00
Dustin J. Mitchell
fac0c5c5a8 Bug 1492664 - vendor taskcluster-urls r=firefox-build-system-reviewers,gps
`./mach vendor python taskcluster-urls==11.0.0`.

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

--HG--
extra : moz-landing-system : lando
2018-12-11 22:20:45 +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
Nick Alexander
a79bace97e Bug 1498406 - Part 1: Don't check for javac, javah, jar. r=froydnj
The build system no longer invokes these directly: they're all fetched
and invoked by Gradle and its plugins.

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

--HG--
extra : moz-landing-system : lando
2018-12-17 23:04:14 +00:00
Mike Hommey
7f87f1f891 Bug 1513798 - Automatically set -syslibroot for OSX cross-builds from configure. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14384
2018-12-18 10:50:16 +09:00
Mike Hommey
e580fcbf31 Bug 1513798 - Expose the linker kind to moz.build. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14383
2018-12-18 10:50:15 +09:00
Mike Hommey
6dc8205006 Bug 1513798 - Don't set HOST_{CC,CXX,CPP} and CPP. r=nalexander
CPP/HOST_CPP were probably not necessary already, but now that we leave
it to configure to figure out the appropriate compiler flags, we don't
need to set HOST_CC/HOST_CXX to remove the flags from CC/CXX.

Differential Revision: https://phabricator.services.mozilla.com/D14382
2018-12-18 10:50:14 +09:00
Mike Hommey
f4ac275e71 Bug 1513798 - Use --with-macos-sdk for OSX cross build. r=nalexander
Rather than manually passing -isysroot to clang. Ideally, we shouldn't
need to fill BINDGEN_CFLAGS from the mozconfig, but we're not quite
there yet.

Differential Revision: https://phabricator.services.mozilla.com/D14381
2018-12-18 10:50:13 +09:00
Mike Hommey
6d3046658e Bug 1513798 - Move --with-macos-{sdk,private-frameworks} to python configure. r=nalexander
Because we now set the sysroot include flags early in python configure,
we don't need to set CPP/CXXCPP. We also skip the explicit compiler test
because more complete tests follow anyways.

Differential Revision: https://phabricator.services.mozilla.com/D14380
2018-12-18 10:50:12 +09:00
Mike Hommey
0edc1f6452 Bug 1513798 - Simplify the handling of --enable-macos-target. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14379
2018-12-18 10:50:11 +09:00
Mike Hommey
45d8136115 Bug 1513798 - Add cctools/bin to PATH. r=nalexander
Instead of passing -B to clang and setting TOOLCHAIN_PREFIX.

Differential Revision: https://phabricator.services.mozilla.com/D14378
2018-12-18 10:50:10 +09:00
Mike Hommey
98cdb52421 Bug 1513798 - Automatically set TOOLCHAIN_PREFIX when cross-compiling for OSX. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14377
2018-12-18 10:50:09 +09:00
Mike Hommey
b0360b6b16 Bug 1513798 - Use x86_64-darwin11 as a prefix for cctools-port, rather than x86_64-apple-darwin11. r=nalexander
This matches more closely cross toolchains prefixes (as can be seen in
e.g. media/libvpx/libvpx/README for x86_64-darwin*-gcc), and leaves it
to the build system to figure out the right --target to pass to clang on
its own.

Differential Revision: https://phabricator.services.mozilla.com/D14376
2018-12-18 10:50:08 +09:00
Mike Hommey
76a8b9932a Bug 1513798 - Use a --target that matches what we pass to clang for OSX cross builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14375
2018-12-18 10:50:08 +09: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
Mike Hommey
463bafbdaa Bug 1513798 - Remove build/macosx/build-cctools.sh. r=nalexander
The script, added in bug 1291028, was obsoleted by bug 1331957.

Differential Revision: https://phabricator.services.mozilla.com/D14372
2018-12-18 10:50:04 +09:00
Mike Hommey
1e64a78760 Bug 1252556 - Make profileserver.py fail when running Firefox fails. r=chmanchester
Currently, when Firefox crashes when running the PGO profile, the error
is ignored, and the result is a build that is not optimized as expected.
So instead of such things going unnoticed, we make profileserver.py
return an error code, further failing the build.

Unfortunately, this does not make the output useful to know what went
wrong exactly, but the most important thing is that the build fails
instead of going through and leading to bad results.
2018-12-18 09:38:52 +09:00
Emilio Cobos Álvarez
092964cd45 Bug 1514599 - Remove code for clang <6 from the indexer plugin. r=kats
This picks up changes from https://github.com/mozsearch/mozsearch/pull/173.
2018-12-16 18:39:34 +01:00
Tom Ritter
c014980a9a Bug 1485016 - Enable CFG for Windows builds. r=froydnj 2018-12-07 10:54:41 -06:00
Dorel Luca
176695a3b3 Backed out changeset 7e548edaf318 (bug 1485016) for build bustage 2018-12-19 10:39:10 +02:00
Tom Ritter
e7f646df03 Bug 1485016 - Enable CFG for Windows builds r=froydnj 2018-12-07 10:54:41 -06:00
Emilio Cobos Álvarez
879d99e739 Bug 1513009 - Deny Rust warnings on automation. r=ted
Summary:
I've chosen linux64-debug since it's the most visible build I usually do, but I
could do another build task or something, or use the static analysis builds, or
what not. Just let me know if there's a better way to do this.

Caveat: This might make updating Rust toolchains a bit more painful. I think
this is better and we should just deal with warnings before updating toolchains,
but I don't know if there'd be strong opposition to that.

Note that this does _not_ affect third-party code since Cargo passes
`--cap-lint warn` automatically for those.

Proof that it works:

 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=4ad1e4e1392f71b574cff683e90c7b13bf8781d1
 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=57604f92624bbe49037eee87c56fdb6bf2b5017d

Reviewers: #firefox-build-system-reviewers, ted

Reviewed By: #firefox-build-system-reviewers, ted

Subscribers: reviewbot, glandium, ted

Bug #: 1513009

Differential Revision: https://phabricator.services.mozilla.com/D14083
2018-12-14 23:35:47 +01:00
Mike Hommey
c2b01ab3f1 Bug 1514089 - Move fxc and wine detection to toolkit/moz.configure. r=froydnj
They are not necessary to build e.g. standalone spidermonkey.

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

--HG--
extra : moz-landing-system : lando
2018-12-14 14:56:04 +00:00
Mike Hommey
7864034d32 Bug 1514209 - Enable the crashreporter code on Windows arm64 builds. r=froydnj
But keep the crashreporter disabled at runtime because it doesn't work
yet.

This has the side effect of creating the artifacts with the
crashreporter symbols and pdbs.

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

--HG--
extra : moz-landing-system : lando
2018-12-14 14:50:30 +00:00
Jason Orendorff
b50541ce32 Bug 1513570 - Part 4: Back out the jit-tests added in bug 1503012. r=Ms2ger
Differential Revision: https://phabricator.services.mozilla.com/D14317

--HG--
extra : moz-landing-system : lando
2018-12-14 18:15:56 +00:00
Gurzau Raul
3189fe85e8 Backed out changeset 8e348821b49f (bug 1513009) due to build compile failure on a CLOSED TREE 2018-12-14 01:56:43 +02:00
Emilio Cobos Álvarez
d29a39cdfd Bug 1513009 - Deny Rust warnings on automation. r=firefox-build-system-reviewers,ted
I've chosen linux64-debug since it's the most visible build I usually do, but I
could do another build task or something, or use the static analysis builds, or
what not. Just let me know if there's a better way to do this.

Caveat: This might make updating Rust toolchains a bit more painful. I think
this is better and we should just deal with warnings before updating toolchains,
but I don't know if there'd be strong opposition to that.

Note that this does _not_ affect third-party code since Cargo passes
`--cap-lint warn` automatically for those.

Proof that it works:

 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=4ad1e4e1392f71b574cff683e90c7b13bf8781d1
 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=57604f92624bbe49037eee87c56fdb6bf2b5017d

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

--HG--
extra : moz-landing-system : lando
2018-12-13 19:17:31 +00:00
Chris Manchester
5292ba5641 Bug 1504147 - Build compiler-rt libs for android on arm. r=froydnj
This patch is based on the cmake cache files for Android checked in to the
clang repo.

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

--HG--
extra : moz-landing-system : lando
2018-12-13 22:02:01 +00:00
Thomas Daede
427d23f3d7 Bug 1512462 - Only use nasm when explicitly requested. r=firefox-build-system-reviewers,mshal
This is needed because ffvpx does not build with nasm on win64.

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

--HG--
extra : moz-landing-system : lando
2018-12-13 15:40:17 +00:00
Andi-Bogdan Postelnicu
8286177e5a Bug 1513216 - Don't collect build telemetry when 'mach' is ran from hg format-source. r=sheehan
Differential Revision: https://phabricator.services.mozilla.com/D14146

--HG--
extra : moz-landing-system : lando
2018-12-13 18:09:03 +00:00
Tom Ritter
6b6e5440aa Bug 1512921 - Bump clang to trunk 348970 for Windows builds. r=dmajor
This removes several patches that have been upstreamed.
2018-11-27 14:44:34 -06:00
Mike Hommey
ab48d17e1a Bug 1513134 - Detect unnecessary --help dependencies. r=firefox-build-system-reviewers,gps
Depends on D14125

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

--HG--
extra : moz-landing-system : lando
2018-12-11 19:34:28 +00:00
Jason Orendorff
45c6c35730 Bug 1503012 - Part 2: Shim some web-platform-tests for streams into the jit-tests. r=arai,chmanchester,jimb
This is an egregious hack. The web-platform-tests were not meant to run in the shell.

The eight tests that are included are the ones that we pass with flying colors.
In most of the others, we still have a failure or two.

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

--HG--
rename : dom/imptests/testharness.js => js/src/jit-test/lib/w3c-testharness.js
extra : moz-landing-system : lando
2018-12-09 15:48:33 +00:00
Dorel Luca
f846fdef21 Backed out 5 changesets (bug 1507950, bug 1503012, bug 1507943, bug 1512050, bug 1512008) for spidermonkey and jit failures
Backed out changeset 71253f35ac3c (bug 1512008)
Backed out changeset f5c4eb412990 (bug 1512050)
Backed out changeset bc83a2fe5c17 (bug 1507950)
Backed out changeset 345ad3e746e8 (bug 1507943)
Backed out changeset b2a0ae5e5115 (bug 1503012)
2018-12-08 00:11:12 +02:00
Jason Orendorff
31a9f32c95 Bug 1503012 - Part 2: Shim some web-platform-tests for streams into the jit-tests. r=arai,chmanchester
This is an egregious hack. The web-platform-tests were not meant to run in the shell.

The eight tests that are included are the ones that we pass with flying colors.
In most of the others, we still have a failure or two.

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

--HG--
rename : dom/imptests/testharness.js => js/src/jit-test/lib/w3c-testharness.js
extra : moz-landing-system : lando
2018-12-07 20:02:53 +00:00
Thomas Daede
ff5c8168d3 Bug 1511223 - Update deb7 nasm to 2.13.01. r=glandium
This pulls a newer version of the nasm package, and patches
out doc building in order to make it compile on debian 7.

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

--HG--
extra : moz-landing-system : lando
2018-12-07 18:50:18 +00:00
Andi-Bogdan Postelnicu
fbd9a10021 Bug 1511889 - Update clang-plugin LoadLibraryUsageChecker to use getBeginLoc. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13726

--HG--
extra : moz-landing-system : lando
2018-12-06 16:34:13 +00:00
shindli
d1e42e895d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-12-05 23:38:42 +02:00
Mike Hommey
c8ceb9bf23 Bug 1489572 - Apply upstream patch to valgrind to fix some false positives. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13509

--HG--
extra : moz-landing-system : lando
2018-12-02 01:03:41 +00:00
Jacek Caban
11f027f6a4 Bug 1506450 - Bump LLVM and mingw-w64 versions. r=froydnj 2018-12-05 22:10:04 +01:00
Dorel Luca
741816b6ea Backed out changeset c8a4a6617e30 (bug 1512921) for build bustage.
--HG--
extra : rebase_source : bf688c484a541748a83902d3b5ef70559cea7100
2018-12-17 22:13:45 +02:00
Tom Ritter
56516fc824 Bug 1512921 - Bump clang to trunk 348970 for Windows builds. r=dmajor
This removes several patches that have been upstreamed.

--HG--
extra : rebase_source : 8462b42b8342935cfb5ecb912fac06c67b9165b9
extra : amend_source : 271b5d4a5b37fa74555ef87cb0c4444f8f7468f0
2018-11-27 14:44:34 -06:00
Tom Prince
6ffdb8908e Bug 1509962: [update-verify] Use in-tree update-verify code; r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D12977

--HG--
extra : moz-landing-system : lando
2018-12-03 06:44:28 +00:00
Coroiu Cristina
8801452ad1 Merge autoland to mozilla-central a=merge 2018-12-01 04:29:26 +02:00
Tom Prince
1daf17b86f Bug 1454685: Update sparse profile to allow docker images to build; r=me a=tomprince
--HG--
extra : rebase_source : 0762cbd2e81405babf99430cb009643cbe115c6b
2018-11-30 12:50:47 -07:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Tom Prince
aca0d6057e Bug 1510441: Add .cron.yml to the taskgraph sparse profile; r=gps
Differential Revision: https://phabricator.services.mozilla.com/D13142

--HG--
extra : moz-landing-system : lando
2018-11-30 00:26:19 +00:00
Chris Peterson
fe4ed2b8bb Bug 1508927 - Enable clang's -Wbitfield-enum-conversion warnings. r=glandium
https://clang.llvm.org/docs/DiagnosticsReference.html#wbitfield-enum-conversion

This clang warning caught a real layout bug related to implicitly truncated enums in the table border style code (bug 1485179):

layout/tables/nsTableFrame.cpp:5318:14 [-Wbitfield-enum-conversion] bit-field 'ownerElem' is not wide enough to store all enumerators of 'BCBorderOwner'
layout/tables/nsTableFrame.cpp:5358:16 [-Wbitfield-enum-conversion] bit-field 'ownerElem' is not wide enough to store all enumerators of 'BCBorderOwner'
layout/tables/nsTableFrame.cpp:5374:18 [-Wbitfield-enum-conversion] bit-field 'subElem' is not wide enough to store all enumerators of 'BCBorderOwner'
layout/tables/nsTableFrame.cpp:5385:18 [-Wbitfield-enum-conversion] bit-field 'subElem' is not wide enough to store all enumerators of 'BCBorderOwner'

Also update the comment linking to clang and gcc's warning documentation.

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

--HG--
extra : moz-landing-system : lando
2018-11-27 02:01:48 +00:00
Gian-Carlo Pascutto
4a38adb0a1 Bug 1503589 - Enable strong stack protector by default. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D11522

--HG--
extra : moz-landing-system : lando
2018-11-30 07:45:23 +00:00
Sylvestre Ledru
ef05004811 Bug 1503537 - Get rid of the pdfium & mortar code r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D10352

--HG--
extra : moz-landing-system : lando
2018-11-28 19:31:21 +00:00
Dustin J. Mitchell
04e3a3fea3 Bug 1492664 - vendor taskcluster-urls; r=gps
--HG--
extra : rebase_source : 265f983a6ce70066e1b762ab66dd4d5fa5803ea8
2018-09-24 16:53:45 +00:00
Cosmin Sabou
1b7e778d69 Merge mozilla-central to mozilla-inbound. 2018-11-28 00:04:55 +02:00
Tom Prince
4f07d7aa2e Bug 1482395: [mozrelease] Generate whats new blob and populate it during release; r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D12708

--HG--
extra : moz-landing-system : lando
2018-11-26 17:51:23 +00:00
Thomas Daede
dbd2f83eeb Bug 1508419 - Gracefully fail if nasm doesn't print version. r=firefox-build-system-reviewers,mshal
This is required on Mac, where there is a dummy nasm executable
that prints an error if the real nasm isn't found.

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

--HG--
extra : moz-landing-system : lando
2018-11-26 16:13:48 +00:00
Chris Manchester
1195b8eedc Bug 1507342 - Allow profileserver.py to run from a fresh checkout. r=firefox-build-system-reviewers,gps
Differential Revision: https://phabricator.services.mozilla.com/D12494

--HG--
extra : moz-landing-system : lando
2018-11-26 17:16:40 +00:00
Tom Prince
dd59ad1f35 Bug 1482395: Allow python3 specific entries in virtualenv_packages.txt; r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D12706

--HG--
extra : moz-landing-system : lando
2018-11-22 21:44:09 +00:00
shindli
cbbdd02331 Merge inbound to mozilla-central. a=merge 2018-11-21 05:59:34 +02:00
Nathan Froyd
c29e255af2 Bug 1503366 - part 4 - add mozconfigs for aarch64 windows builds; r=chmanchester 2018-11-20 20:32:47 -04:00