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

5387 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey d9362c0f85 Bug 1578254 - Trick Make into running rust targets earlier again. r=nalexander
One of the things bug 1567616 did was to change how .cargo/config is
preprocessed, from it happening during configure to it happening during
the build. And to make things happen properly, dependencies were added
on the rust targets to ensure the .cargo/config file is created before
they run.

Unfortunately, that changed the order in which Make would run all the
targets while recursing for the compile tier, when the file doesn't
exist first. So instead of starting the compile tier with rust targets,
it would start with most C++, then do rust... which we know to make
builds slower overall because of the need to wait for those rust builds
to finish which C++ has all been dealt with already, and lacking
parallelism during the rust build.

So we force .cargo/config to be generated during export (which it is not
already because OBJDIR_PP_FILES are currently dealt with during misc).
That makes Make still run the rust targets early during the compile
tier.

And while here, we extend the if block in recurse.mk that excludes all
the top-level recursion dependencies when running from subdirectories.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 22:58:03 +00:00
Nathan Froyd b5f39847e1 Bug 1578776 - wrap some synchronization-related STL headers; r=firefox-build-system-reviewers,mshal
I'm not sure how things have worked without these headers getting
wrapped, but they need to be for declarations in them to work properly.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 17:56:49 +00:00
ffxbld 426de7d9bd Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-09-02 09:00:31 +00:00
Tom Ritter be95428eb4 Bug 1576758 - Correct a HostSharedLibrary's link command to correctly output a pdb r=glandium
-Fd is the parameter accepted by clang. -PDB is the parameter accepted by lld-link. Additionally, to produce a pdb you apparently also need the -DEBUG flag

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

--HG--
extra : moz-landing-system : lando
2019-08-27 01:00:18 +00:00
Mike Hommey 2c49da7d67 Bug 1575760 - Generate .cargo/config as part of the build rather than as a configure subst file. r=firefox-build-system-reviewers,chmanchester
We'll require preprocessing that configure subst files don't allow in
the next change, so prepare for that.

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

--HG--
extra : moz-landing-system : lando
2019-08-22 21:27:24 +00:00
Mike Hommey 5426bad1b9 Bug 1575484 - Don't LTO gkrust-gtest. r=froydnj
We don't actually care that much about LTO'ing the rust parts of libxul
for gtests, and not LTO'ing it would save multiple minutes of build time
on automation.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 11:14:14 +00:00
Mike Hommey 20f01277a6 Bug 1575375 - Pull mozbuild tests out of make check. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42759

--HG--
extra : moz-landing-system : lando
2019-08-21 05:00:50 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Mike Hommey 58d070f0bd Bug 1435498 - Change how Make depend files are included. r=froydnj
Make depend files related to object files are only really useful when
the corresponding build targets are being processed. OTOH, when they are
included too broadly, when the build recurses in the same directory for
different targets (e.g. target-objects, target, host-objects and/or
host), it is possible for one of them to start creating depend files
that the others would end up reading, and those reads might be
incomplete, possibly leading to build failures because Make think it's
malformed.

So, we only include the object files's depend files in when Make is
explicitly treating a target that will build objects.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 12:27:49 +00:00
Mike Hommey 00256d3837 Bug 1575135 - Make configure sandbox open() look more like python 3's. r=nalexander
As a consequence, we can replace the encoded_open function that did the
same in an opt-in manner.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 04:44:43 +00:00
Nick Alexander 6790ecb3a2 Bug 1550146 - Part 2: Make mach "build" run "stage-package && android assemble-app" for mobile/android. r=glandium
Android artifacts (GeckoView AARs, GeckoViewExample (and Fennec) APKs)
require native libraries (`libxul.so`) and an omnijar (`omni.ja`).
These are produced by `mach package` (really, the `stage-package`
target).  Engineers essentially never want a build without a package
for mobile/android.  This adds mobile/android-only tiers that run
`mach package` and then `mach android assemble-app`.  The latter
consumes `libxul.so` and `omni.ja` to produce _all the things_
relevant to GeckoView engineers.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 03:07:16 +00:00
André Bargull d741382cd1 Bug 1402379 - Part 3: Remove ICUStubs.h file. r=jwalden
Depends on D41769

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

--HG--
extra : moz-landing-system : lando
2019-08-19 18:39:04 +00:00
Mike Hommey c8dc824814 Bug 1573566 - Add target/host-objects targets to build objects. r=froydnj
Make the target and host targets depend on those, and flatten the
dependencies.

That is, instead of chains like:
  browser/app/target: mozglue/build/target
  mozglue/build/target: memory/build/target

we now have:
  browser/app/target: browser/app/target-objects \
                      mozglue/build/target-objects \
                      memory/build/target-objects

Which means Make can feel free to build the object files in browser/app
before building other dependencies.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 17:25:05 +00:00
Mike Hommey c15df41c2f Bug 1573566 - Undo bug 1573314 and bug 1572046. r=froydnj
With the addition of toolkit/library/build because of the rust
shenanigans, bug 1573314 and bug 1572046 don't do anything useful
anymore. We're going to do something better anyways.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 14:39:54 +00:00
Mike Hommey 8c8ec786b2 Bug 1573566 - Make rust libraries more like normal libraries. r=froydnj
Apart from the need to link them last, they don't actually need to be
treated any different from normal static libraries.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 14:39:02 +00:00
Nathan Froyd 0f2fea34dc Bug 1573861 - remove unused OBJ_TARGETS from rules.mk; r=dmajor
This variable isn't used anywhere.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 15:22:07 +00:00
Rob Lemley 428f3b39d5 Bug 1572394 - Remove MOZ_LDAP_XPCOM ifdef from config/recurse.mk. r=glandium
Fixes Thunderbird build bustage related to target-shared.

Investigation into the build issue revealed that this hack is no longer necessary and can be removed. And it's always nice to remove Thunderbird specific code from the build system.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 01:48:46 +00:00
Mike Hommey 0637bfef3e Bug 1572046 - Build shared libraries in a separate target. r=nalexander
When a directory, like toolkit/library, builds both a static and a
shared library, and another, like toolkit/library/gtest, depends on the
static part, it currently needs to wait for the shared library to be
finished building, preventing both libraries being built in parallel.

By separating shared libraries to a different target, we allow more
parallelism to the build.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 22:50:14 +00:00
Nathan Froyd 3f8bbdf042 Bug 1437452 - add makefile bits for cross-language PGO; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D36772

--HG--
extra : moz-landing-system : lando
2019-08-01 21:27:11 +00:00
Nathan Froyd 4bc1fdffc6 Bug 1570334 - remove `MOZ_ENABLE_CONTENTMANAGER` headers; r=dmajor
`MOZ_ENABLE_CONTENTMANAGER` is no longer defined in m-c or c-c.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 14:57:17 +00:00
André Bargull d31b7c3f20 Bug 1569567 - Part 7: Remove currency codes and gender lists from ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D39670

--HG--
extra : moz-landing-system : lando
2019-07-30 08:03:11 +00:00
André Bargull 4bfe032920 Bug 1569567 - Part 6: Remove unused "locales" values from ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D39669

--HG--
extra : moz-landing-system : lando
2019-07-30 08:01:21 +00:00
André Bargull 749ffe624f Bug 1569567 - Part 5: Remove "Sequence" collation values from ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D39668

--HG--
extra : moz-landing-system : lando
2019-07-30 07:59:27 +00:00
André Bargull 6ce8fbc4fa Bug 1569567 - Part 4: Remove "UCARules" collation values from ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D39667

--HG--
extra : moz-landing-system : lando
2019-07-30 07:57:28 +00:00
André Bargull 748f4f0bc3 Bug 1569567 - Part 3: Remove "variant" and "formal" currency values from ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D39666

--HG--
extra : moz-landing-system : lando
2019-07-30 07:55:21 +00:00
André Bargull 68cf5e5a7e Bug 1569567 - Part 2: Remove "Version" info from ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D39665

--HG--
extra : moz-landing-system : lando
2019-07-30 07:53:14 +00:00
André Bargull fe20e01eb1 Bug 1569567 - Part 1: Exclude additional resource files currently not needed. r=jwalden
"confusables" feature:
- Used in 'unicode/uspoof.h' for spoofing detection.

"stringprep" feature:
- Used in 'unicode/usprep.h' for RFC 3454 string preparation.

"unames" feature:
- Used in 'unicode/uchar.h' for `u_charName` to retrieve the name of a Unicode character.

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

--HG--
extra : moz-landing-system : lando
2019-07-30 07:51:11 +00:00
André Bargull 2beb9f62fb Bug 1566410 - Part 9: Handle the case when a system ICU supports a different set of measurement units. r=jwalden
This gives a nicer error when a sanctioned unit identifier isn't supported by
the current ICU.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 11:04:50 +00:00
André Bargull 677e918830 Bug 1566410 - Part 6: Add units to ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D38334

--HG--
extra : moz-landing-system : lando
2019-07-24 10:31:43 +00:00
Nathan Froyd c27638c4bd Bug 1567888 - remove unneeded QT-related rules and configure bits; r=nalexander
We needed these rules and bits for the QT widget port, but there's no
longer a QT port in the tree, so we might as well remove them.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 18:53:43 +00:00
Makoto Kato c0d323f7d3 Bug 1567069 - Set valid _DEPEND_CFLAG for host compiler when target and host are different type. r=glandium
Actually we set _DEPEND_CFLAGS to both host and target compiler. But if host and target are different compiler type, we may pass invalid option.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 07:46:03 +00:00
Tom Ritter 2459299591 Bug 1565877 - Bump the stack size on mingwclang builds r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D38019

--HG--
extra : moz-landing-system : lando
2019-07-18 13:04:19 +00:00
Tom Ritter 9016e1592f Bug 1566960 - Remove unused Windows stuff from rules.mk r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D38396

--HG--
extra : moz-landing-system : lando
2019-07-17 22:17:02 +00:00
Eric Rahm a2d6b2398d Bug 1565757 - Don't run networking binary checks on PGO instrumented builds. r=mshal
We don't need to run binary checks on the instrumentation builds, only the final optimized build.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 19:01:46 +00:00
Mike Hommey 6098f22649 Bug 1565706 - Allow to run `mach build rust` without setting MOZ_RUST_TIER. r=froydnj
At the same time, make things a little more tangible in the tiers setup
in baseconfig.mk.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 23:50:31 +00:00
André Bargull d8ea37c7c3 Bug 1564330: Update tzdata in ICU data files to 2019b. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D37541

--HG--
extra : moz-landing-system : lando
2019-07-10 15:50:28 +00:00
Adam Gashlin 55b9f173eb Bug 1561749 - Link Rust programs with Windows resources. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D36123

--HG--
extra : moz-landing-system : lando
2019-07-04 00:40:02 +00:00
André Bargull 8767ed1f43 Bug 1543675 - Part 1: Change Intl.NumberFormat to use UNumberFormatter API. r=jwalden
- Add NumberFormatterSkeleton as a helper class to construct a number formatter
  skeleton. When the "Intl.NumberFormat Unified API" proposal gets implemented
  a more feature-rich class may be necessary.
- In addition to a UNumberFormatter instance, NumberFormatObject now also
  stores a UFormattedNumber instance. This avoids a performance regression
  compared to creating a new UFormattedNumber object each time a number gets
  formatted. (In micro-benchmarks 20% regressions were seen, with a cached
  UFormattedNumber the same micro-benchmarks even improved by ~33%.)
- Add accessors for reserved slot values to NumberFormatObject to improve
  readibility.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 14:12:03 +00:00
André Bargull ae3180c00d Bug 1473229 - Part 3: Add support for "formatToParts" to Intl.RelativeTimeFormat. r=jwalden
- The new formatted-value API is still draft-only, so extra U_HIDE_DRAFT_API guards
  are currently needed.
- Also moves steps 4-5 of PartitionRelativeTimePattern to native code to reduce code
  duplication.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 10:04:45 +00:00
Mihai Alexandru Michis 57a64c3906 Backed out 3 changesets (bug 1473229) for causing bustages in ICUStubs.h CLOSED TREE
Backed out changeset 953a2bd4220b (bug 1473229)
Backed out changeset f3a2031bde94 (bug 1473229)
Backed out changeset 5109ce5a4b44 (bug 1473229)
2019-07-09 12:07:22 +03:00
André Bargull 435d94c7fa Bug 1473229 - Part 3: Add support for "formatToParts" to Intl.RelativeTimeFormat. r=jwalden
- The new formatted-value API is still draft-only, so extra U_HIDE_DRAFT_API guards
  are currently needed.
- Also moves steps 4-5 of PartitionRelativeTimePattern to native code to reduce code
  duplication.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 08:45:12 +00:00
Narcis Beleuzu 8478c8b076 Merge autoland to mozilla-central. a=merge 2019-07-09 06:43:17 +03:00
ffxbld 6ca9b306bd Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-07-08 17:27:36 +00:00
Justin Wood baa089903e Bug 1559975 - Make config/ lint with 'py2' and 'py3' r=catlee
Depends on D36091

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

--HG--
extra : moz-landing-system : lando
2019-07-08 17:30:34 +00:00
Gijs Kruitbosch 72cdd37986 Bug 1557762 - ensure we define NS_FREE_PERMANENT_DATA for single-stage pgo builds, r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D35469

--HG--
extra : moz-landing-system : lando
2019-06-28 16:38:14 +00:00
Andreea Pavel 796eb812c0 Backed out changeset 455dff329fcc (bug 1557762) build bustages on a CLOSED TREE 2019-06-28 00:59:10 +03:00
Gijs Kruitbosch aa0f4d84f5 Bug 1557762 - ensure we define NS_FREE_PERMANENT_DATA for single-stage pgo builds, r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D35469

--HG--
extra : moz-landing-system : lando
2019-06-27 19:53:07 +00:00
Nathan Froyd 03e51146b9 Bug 1561088 - emit unwind information for libffi aarch64/win assembly; r=dmajor,gsvelto
The hand-written assembly for libffi on aarch64/windows doesn't emit
unwind information.  If we ever tried to unwind through these functions,
they'd look like leaf functions, which is decidedly not true and would
cause great pain.

For whatever reason, the original aarch64 libffi functions used
x21/x22/x23/x24 as their (callee-saved) scratch registers.  This
convention works on windows as well, but the unwind information on
windows mandates that we start saving callee-saved registers starting
from x19, rather than x21.  Rather than rewriting the assembly to use
x19/x20 instead of x21/x22, which would be a large change, we chose
instead to simply save/restore extra registers in the prolog/epilog.
This change does make the stack frame sizes slightly bigger, but an
extra 16 bytes in libffi stack frames should not matter.

The `-TC` change is necessary to make the compiler play nicely with .asm
file suffixes.

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

--HG--
extra : moz-landing-system : lando
2019-06-27 13:36:48 +00:00
Mike Hommey 7d0561299d Bug 1561465 - Remove ELOG. r=nalexander
The condition that enabled ELOG to do something has been broken since
bug 279212 landed two years ago, because MAKEFLAGS doesn't contain the
dash for flags, so looking for "-s" never did anything.

Bug 1560527 changed the condition to !BUILD_VERBOSE_LOG, which as of the
previous commit, does work. This would restore the old behavior, at the
expense of build time, since it involves wrapping in a shell script,
which is not necessarily desirable (and hasn't been done for two years
now)

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

--HG--
extra : moz-landing-system : lando
2019-06-26 02:20:29 +00:00
Mike Hommey d128a390a6 Bug 1561465 - Avoid being too verbose after bug 1560527. r=nalexander
Bug 1560527 was not supposed to change verbosity for mach build, but it
turns out it did, because the ifeq it copied from one place to another
was wrong in the first place.

While here, replace a ifeq that did work with the now equivalent
BUILD_VERBOSE_LOG.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 02:19:43 +00:00