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

4739 Коммитов

Автор SHA1 Сообщение Дата
Carsten "Tomcat" Book 8b6316ec5f Merge mozilla-central to mozilla-inbound 2016-07-22 11:59:06 +02:00
Thomas Zimmermann c0d13a09b6 Bug 1250922: Add gpsd geolocation provider on Linux, r=jdm,glandium
Gpsd is the GPS daemon on Linux. It implements support for a wide range
of GPS receivers. This patch adds support for gpsd to the Geolocation
module.

The build system can now test for libgps, which provides the public
interface to gpsd's functionality. If found, |GpsdLocationProvider|
is added to the build.

MozReview-Commit-ID: 1kBgFdEZePI
2016-07-22 11:52:09 +02:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Xidorn Quan 76db18facb Bug 1284406 part 3 - Export ICU headers in include/unicode. r=glandium
MozReview-Commit-ID: FuwAgEGjhxm

--HG--
extra : source : c07ceab42b47b18a1e8d436e7c888bdd113575fa
2016-07-20 15:00:13 +10:00
Rob Thijssen f360d0b65e Bug 1287258 - retry deletions on windows; r=ted
MozReview-Commit-ID: KObLa5RsjFW
2016-07-18 09:14:59 +01:00
Damien Zammit 44e85908a4 Bug 783733 - Wire up the jack cubeb backend in the build system. r=glandium
It's disabled by default for now.

MozReview-Commit-ID: CPrJQ07n26t
2016-07-18 13:28:39 +02:00
Carsten "Tomcat" Book a0992595d6 merge mozilla-inbound to mozilla-central a=merge 2016-07-17 10:08:08 +02:00
Xidorn Quan 30788d7d8b Backed out 4 changeset (bug 1284406) for build bustage on CLOSED TREE
--HG--
extra : amend_source : 9ad3b754789e60fe021f5b1989d7063cea8ca457
extra : histedit_source : 66c8b4fc923335e88a4593fd900c6c2cf57f6123%2C0f634c3c453a5d922de0e4e66dac69deec9f729c
2016-07-16 12:27:45 +10:00
Xidorn Quan 7167e29a37 Bug 1284406 part 2 - Export ICU headers in include/unicode. r=glandium
MozReview-Commit-ID: FuwAgEGjhxm

--HG--
extra : source : a90c00e3fa63f1e9934fe5f515233dddb11970b6
2016-07-16 11:44:15 +10:00
Luke Wagner be263565b4 Bug 1276029 - Add subset of prio.h to PosixNSPR.h so PRFileDesc can be used in SpiderMonkey (r=terrence)
MozReview-Commit-ID: JhNhUcg3eC0

--HG--
extra : rebase_source : 43f5cebebdd4ef889ec71b57f7dd4109c72fa187
2016-07-15 12:26:40 -05:00
Andrew Comminos 7d69ebf641 Bug 1286649 - Replace X11 SHM dependencies with XCB. r=glandium
MozReview-Commit-ID: Ii74rWquYhb

--HG--
extra : rebase_source : 3d5ba8333e6598d4940958920ea3271ad78c6785
2016-07-13 16:28:07 -04:00
Xidorn Quan 654a360362 No bug - Update icu data file.
MozReview-Commit-ID: LgyW3zrDb5t

--HG--
extra : source : 2ee37965ead5c9eda97741a1f96407a023f5940f
2016-07-12 21:12:06 +10:00
Thomas Zimmermann aa5eaa4bc0 Bug 1280600: Use Gecko's 'libgabi++' on b2g, r=glandium
B2g came with its own version of 'libgabi++' in its toolchain. Gecko
on b2g isn't build any longer with this toolchain. With this patch
applied, Gecko's internal version of 'libgabi++' is used for building.

MozReview-Commit-ID: KU4OBYQ6cAW
2016-07-11 15:16:56 +02:00
Gregory Szorc 5030a743a1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 8f5061080a3d56dd484f9be03649fb65f0145f67
2016-07-06 09:01:38 -07:00
Wes Kocher a425a052c1 Backed out changeset d7f98208809f (bug 1186064) for breaking SM(pkg) jobs a=backout 2016-07-06 10:11:04 -07:00
Gregory Szorc 6e4d0edfbc Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 22ab4f47661ead4995d0c5261104abfb02b82aa2
2016-07-06 09:01:38 -07:00
Ted Mielczarek 77d1cffec1 bug 1280326 - followup fix to make MockedOpen really case-insensitive on Windows. r=jmaher
MozReview-Commit-ID: CE2zMBFK6Tx

--HG--
extra : rebase_source : 0119d4b3148d624769b5dbbdb8958d810be4067a
2016-07-01 07:15:23 -04:00
Ted Mielczarek 12d21dc687 bug 1280326 - make MockedOpen case-insensitive on Windows. r=gps
MozReview-Commit-ID: O26u2kVrSk

--HG--
extra : rebase_source : 05233c7718a33fe4c87e087502d2d622c9e089a7
2016-06-28 16:11:33 -04:00
David Keeler 3fed4e5ecc bug 1272858 - use a name-agnostic method to find the built-in root PKCS#11 slot r=Cykesiopka
Previously this implementation would use the expected names of the built-in
module and slot to get a handle on them. This doesn't work on distributions that
use other names. The new implementation searches through the slots from the
default module list for one where PK11_HasRootCerts returns true (which
indicates that NSS considers that slot to contain the default built-in root
list).

MozReview-Commit-ID: LmX27hQfFJU

--HG--
extra : rebase_source : 50383dcc77257fe08ce2c7d908e95cda7c4bbe9d
2016-06-23 15:43:47 -07:00
Ted Mielczarek 82d77574ff bug 1266368 - move rust.m4 to configure. r=glandium
MozReview-Commit-ID: 9ol2nMYM0a0

--HG--
extra : rebase_source : 3f3feeac941791d081e09ebb096a3e052540a52c
2016-05-16 15:27:37 -04:00
Mike Shal b7110a8a71 Bug 1275111 - Move artifact download/install into its own tier; r=glandium
This also fixes the issue of processing the artifacts twice in some
situations (bug 1275673). Note that the artifact download no longer
happens when a specific target is passed to 'mach build'.


MozReview-Commit-ID: Ktys6u3r1kG
2016-06-01 13:48:53 -04:00
Mike Hommey 8a3b88f341 Bug 1278415 - Also write a mozinfo for js standalone builds. r=gps
Historically, a mozinfo for js standalone build has not been necessary,
but with the move towards a) having things work with mach and b)
buildconfig using the MozbuildObject.from_environment in next patch,
mozinfo becomes necessary (it's required for
MozbuildObject.from_environment to find the directory is an objdir).

Interestingly, hazard builds do both a js standalone build and a desktop
Firefox build at the same time, both of which are done with MOZCONFIG
set in the environment... with the Firefox mozconfig. The result of now
writing a mozinfo for js standalone builds is that in that case, they
end up with a reference to the mozconfig, which the build system then
reads, and finds a MOZ_OBJDIR, which then doesn't match the js
standalone build objdir. So for those builds, reset MOZCONFIG.
2016-06-16 11:43:23 +09:00
Mike Hommey cae8c6bcee Bug 1264534 - Create system wrappers for all declared STL headers. r=froydnj
Until now, we had some STL headers listed in the system-headers list
such that they would get a system wrapper, but not all of them.

On the other hand, the STL wrappers do the same job as the system
wrappers (applying default visibility), on top of their own, so the
presence of the STL headers in system-headers wasn't making much of a
difference.

Except we have places in the tree where we can't build with STL wrappers
for a number of reasons. And in that case, we *do* need system wrappers
for the STL headers, but we didn't have system wrappers for all of them.

So instead of relying on the STL headers being listed both in
system-headers and stl-headers, concatenate both lists to create the
system wrappers.
2016-06-15 19:57:12 +09:00
Mike Hommey aadf5fb0df Bug 1278456 - Bump libstdc++ requirement to 3.4.16 (4.6.1). r=froydnj
Similarly to the considerations about glibc, the Linux compatibility matrix
(https://developer.mozilla.org/en-US/Firefox/Linux_compatibility_matrix)
tells us no distro with Gtk+3 3.4 has a version of libstdc++ older than
4.6.

The data in the matrix doesn't go to that level of detail, but Ubuntu
12.04 LTS, being the only one with version 4.6 (others have at least
4.7), it's worth noting it has version 4.6.3. Which means we can safely
require libstdc++ symbols version 3.4.16 (which were added in 4.6.1).

This will allow us to remove a lot of the stdc++ compatibility hacks.
2016-06-12 18:51:32 +09:00
Mike Hommey a898d16968 Bug 1278456 - Bump glibc requirement to 2.12. r=froydnj
The requirement for glibc has been set to version 2.7 for a long while.

Spidermonkey uses the pthread_setname_np symbol, which is only available
since glibc 2.12. So far, we've been fortunate that the symbol doesn't
end up in libxul, or tests that link to js directly, because the symbol
is eliminated as being called by effectively dead code.

There are multiple reasons why this is going to change, one of which
being changes to the way things are linked, that will make the linker
not eliminate that code in some cases. Another is that eventually, the
separation of build systems between js and top-level is going to fade,
and the glibc checks, which apply to all gecko binaries, will also apply
to js binaries. They currently are not happening, and would fail because
of pthread_setname_np if they were.

Taking a step back, as of version 46, the mozilla.org builds require at
least Gtk+3 3.4. Which means the requirements for the underlying system
have received a dramatic bump, and it's time to revisit the requirements
for binary compatibility.

I went through all my notes from all the recent times binary compatibility
has been considered, and put together a compatibility matrix on MDN from
that data as well as more recent data that I could find here and there,
about the major non-rolling-release distros (RHEL, Fedora, SuSE, Debian,
Ubuntu)
https://developer.mozilla.org/en-US/Firefox/Linux_compatibility_matrix

Considering the data there, none of the distros that have at least Gtk+3
3.4 have a glibc older than 2.13. The list of symbols that 2.13 provides
that 2.12 doesn't have is not large enough, though, to really care about
depending on 2.13.
2016-06-12 18:51:23 +09:00
Dustin J. Mitchell eb7f0385b1 Bug 1275409: mock os.path.is{dir,file} too; r=gps
This uses a rough form of prefix matching, considering anything that ends in a
path separator and appears as a prefix of a file to be a directory.

MozReview-Commit-ID: 7FJSxI0fBSA

--HG--
extra : rebase_source : e4cece21a25ac1216d96647963955459d0f964e5
2016-06-05 18:34:31 +00:00
Wes Kocher 807cf956d8 Merge m-c to inbound, a=merge 2016-06-06 17:14:49 -07:00
ffxbld 219956a13e Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-06-06 15:18:13 -04:00
Dustin J. Mitchell 954a9c8264 Bug 1274611: handle empty error messages properly; r=gps
MozReview-Commit-ID: 4Adn7X0HOu1

--HG--
extra : rebase_source : 435de9993283df8362094f2033e9cf6d627f190e
2016-05-27 22:19:54 +00:00
Makoto Kato dcd9507126 Bug 1277498 - Remove MC (message compiler) define from old-configure.in. r=mshal
By bug 1270621, ETW support is removed.  So no one uses messege compiler.

MozReview-Commit-ID: HGUAkrb208N

--HG--
extra : rebase_source : 5178283b781e4805b4e97f09b35a4150119d060a
extra : histedit_source : 40d6992894315b51863db4e7697df1c1ef18edd8
2016-06-06 13:36:51 +09:00
Mike Hommey 6d9272b820 Bug 1276069 - Change the local variable used in config/external/nss/Makefile.in to pass down as XCFLAGS to NSS build system. r=froydnj
The intent in bug 1271829 was to make all the XCFLAGS set in
config/external/nss/Makefile.in accumulate instead of replacing each
other. Unfortunately, there is also an AC_SUBST variable named XCFLAGS,
use for other purposes, and we ended up adding on top of that variable.

Using a different local variable allows to still accumulate the values,
while keeping away from the XCFLAGS from autoconf.mk.
2016-05-27 13:23:16 +09:00
Dustin J. Mitchell 22bd1fe157 Bug 1272315: mozunit: log error message with line number only if available; r=glandium
MozReview-Commit-ID: 7Ye9RrKw6cw

--HG--
extra : rebase_source : d7ca5d202354f1c95a057abede465583c06b6c45
extra : source : 8b3b9c531a5ef763d2ee1c340aa41af474dd7810
2016-05-24 15:32:39 +00:00
David Keeler e87f6f88e2 bug 1273677 - ensure session cache is properly configured and torn down for TLSServerSocket r=mcmanus
MozReview-Commit-ID: 6i7HxTdLcID

--HG--
extra : rebase_source : 3c1b4c0ed798c166cbc2bcad71de90543af176c1
2016-05-23 13:58:56 -07:00
Mike Hommey 8855262939 Bug 1269171 - Change how mozalloc.h is hooked in STL wrappers. r=froydnj
Since the introduction of the STL wrappers, they have included
mozalloc.h, and multiple times, we've hit header reentrancy problems,
and worked around them as best as we could.

Taking a step back, all mozalloc.h does is:
- declare moz_* allocator functions.
- define inline implementations of various operator new/delete variants.

The first only requires the functions to be declared before they are used,
so mozalloc.h only needs to be included before anything that would use
those functions.

The second doesn't actually require a specific order, as long as the
declaration for those functions comes before their use, and they are
either declared in <new> or implicitly by the C++ compiler.

So all in all, it doesn't matter that mozalloc.h is included before the
wrapped STL headers. What matters is that it's included when STL headers
are included. So arrange things such that mozalloc.h is included after
the first wrapped STL header is fully preprocessed (and all its includes
have been included).
2016-05-22 08:32:40 +09:00
Mike Hommey 60564d7bff Bug 1269171 - Backout ccff1c4580ab (bug 1270832) because it doesn't actually work properly and blocks upcoming changes. r=froydnj
It turns out that, since we're including <new> before setting
_GLIBCXX_DEBUG, the debug parts of c++config.h are not activated, and
that has an impact of how much of the debug features of the STL are
activated.

In contrast, the upcoming changes to the STL wrappers are avoiding the
include of <new> before _GLIBCXX_DEBUG is set, which in turn breaks the
build because, as we link things that use STL wrappers with things that
don't, they end up with a different state of STL debugging, and have
mismatching symbols.
2016-05-22 08:32:33 +09:00
Ralph Giles 49736b0095 Bug 1271829 - Propagate MSVC -arch switch to nss. r=glandium
This updates the nss build to require SSE2 instructions on win32.

By default nss builds with -arch:IA32 for maximum compatibility.
Firefox 49 dropped support for non-SSE2 platforms, so propagate
that to the nss external build. XCFLAGS come after the nss build's
default settings, and the last -arch switch will override the
previous ones.

Bump CLOBBER because we've had trouble with file removal permission
errors on integration builds.

MozReview-Commit-ID: 2lfDq0e0T7Y
2016-05-20 19:35:51 -07:00
Ralph Giles 2e85949c69 Bug 1271829 - Don't clobber XCFLAGS building nss. r=glandium
Previously, this clobbered the XCFLAGS set by MOZ_FOLD_LIBS_FLAGS.
Combine them instead so we can pass multiple options through
this override mechanism.

This is a behaviour change building with --enable-llvm-hacks.

MozReview-Commit-ID: 4WP0asnc7Z6
2016-05-20 19:35:51 -07:00
Wes Kocher 4f7146f46c Backed out changeset 1b8f35a4774e (bug 1273677) for valgring leaks CLOSED TREE 2016-05-20 18:13:12 -07:00
David Keeler a53c0feecf bug 1273677 - ensure session cache is properly configured and torn down for TLSServerSocket r=mcmanus
MozReview-Commit-ID: 6i7HxTdLcID

--HG--
extra : rebase_source : 5a64db198fe582e6057bb58f8f51be3e9a63192b
2016-05-17 15:17:33 -07:00
Martin Thomson 57bd3390d7 Bug 1250568 - Enable building of TLS 1.3, r=ekr
MozReview-Commit-ID: BPaRVGPK7SR

--HG--
extra : rebase_source : 86dc610f3900e1dad2292d23e52dfb11da23492f
2016-04-04 16:21:19 -03:00
Dustin J. Mitchell 0444ac1f2f Bug 1258497: allow mozunit to pass along kwargs; r=gps
MozReview-Commit-ID: DzmF3zF5jeD

--HG--
extra : rebase_source : b8fead11cee6600cbf6ea241e77208f2418007cb
2016-05-09 18:56:24 +00:00
Nathan Froyd ba6687453e Bug 1270832 - turn on debug mode for libstdc++ headers; r=glandium 2016-05-11 17:01:39 -04:00
Nathan Froyd a780b60bd9 Backout fe3f7921e2dc (bug 1270832) because it's going to break Linux static analysis builds; r=me 2016-05-11 10:43:43 -04:00
Nathan Froyd d795a83fd0 Bug 1270832 - turn on debug mode for libstdc++ headers; r=glandium 2016-05-11 10:42:24 -04:00
Ralph Giles df51e79d6e Bug 1268617 - Pass -g to rustc on debug builds. r=ted
Enable debug output from the rust compiler when we're doing so
for the C/C++ compilers.

MozReview-Commit-ID: K0iqlPZ1Thu
2016-05-10 16:15:43 -07:00
Mike Shal 5ab92bb3fa Bug 1252804 - remove TARGET_LOCAL_INCLUDES; r=ted
MozReview-Commit-ID: 6s1SWINNMM9

--HG--
extra : rebase_source : 3c64cc907a41215be454ccae4230d3d216e097d9
2016-04-29 17:09:57 -04:00
Wes Kocher 61d73dfc73 Backed out changeset 6aa3f079d304 (bug 1268617) for debug windows devtools failures on a CLOSED TREE 2016-05-03 15:16:38 -07:00
Ralph Giles 1f7512408c Bug 1268617 - Pass -g to rustc on debug builds. r=ted
Enable debug output from the rust compiler when we're doing so
for the C/C++ compilers.

MozReview-Commit-ID: K0iqlPZ1Thu

--HG--
extra : rebase_source : 21220c0b7eeaa9036346e87d2bd1d475a129920e
2016-04-28 11:56:02 -07:00
Thomas Klausner 001b559468 Bug 1268879 - "complex" header missing from config/system-headers
MozReview-Commit-ID: 61GpVkY5JZS

--HG--
extra : rebase_source : 7d9b6d7e622b209f77ad837f09af4420c41c6afd
2016-05-02 17:27:34 -07:00
Lee Salzman a0a61c0134 Bug 1268816 - allow Skia to use C++11 features on platforms that have them. r=froydnj 2016-04-29 21:03:05 -04:00
ffxbld 50a14b0c3c Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-04-25 10:10:40 -07:00
David Keeler 1e53398a23 bug 1182742 - allow users to override small key size errors r=rbarnes
Key size enforcement for TLS certificates happens at two levels: PSM and NSS.
PSM enforces a minimum of 1024 bits. NSS enforces a minimum of 1023 bits by
default. The NSS error is not overridable, but the PSM error is. This change
allows users to connect to devices with small RSA keys (as little as 512 bits)
using the certificate error override functionality.

MozReview-Commit-ID: 2TZ8c4I3hXC

--HG--
extra : rebase_source : a9c550f15261c711e789a670c90c129c65802ff0
2016-04-11 13:45:47 -07:00
Nathan Froyd 82c6f5d7a7 Bug 1163224 - add build system support for multiple Rust crates; r=glandium
Our current build system support for Rust compiles any Rust crate into a
so-called staticlib, which is a static library (.a file) that includes
the Rust runtime. That staticlib is then linked into libxul. For
supporting multiple crates, this approach breaks down, as linking
multiple copies of the Rust runtime is going to fail.

For supporting multiple crates, the approach taken here is to compile
each crate into a so-called rlib, which is essentially a staticlib
without the Rust runtime linked in. The build system takes note of
every crate destined for linking with libxul (treating them like static
libraries generated from C/C++ files), and generates a super-crate,
whimsically named "rul", that is compiled as a staticlib (so as to
include the Rust runtime) and then linked into libxul. Thus only one
copy of the Rust runtime is included, and the Rust compiler can take
care of any inter-crate dependencies.

This patch currently only supports Rust code in shared libraries, not in
binaries.
2016-04-21 09:54:01 -04:00
J.C. Jones 63f7ce5155 Bug 1244960 - Complete FIDO u2f NSSToken (Part 1). r=keeler, r=baku
- Merge in test changes from Bug 1255784.
- Remove the unnecessary mutex
- Stop doing direct memory work in NSS Token
- Clean up direct memory work in ContentParent
- In order to store persistent crypto parameters, the NSSToken had to move
  onto the main thread and be interfaced with via IDL/IPDL.
- Support Register/Sign via NSS using a long-lived secret key
- Rename the softtoken/usbtoken "enable" prefs, because of hierarchy issues
  with the WebIDL Pref shadowing.
- Also orders the includes on nsNSSModule.cpp
- Attestation Certificates are in Part 2.

Updates per keeler review comments:

- Use //-style comments everywhere
- Refactor the PrivateKeyFromKeyHandle method
- Rename the logging and fix extraneous NS_WARN_IF/logging combinations
- Other updates from review

April 11-12:

- Correct usage of the "usageCount" flag for PK11_UnwrapPrivKey
- Rebase up to latest

April 15:
- Rebase to latest

MozReview-Commit-ID: 6T8jNmwFvHJ

--HG--
extra : transplant_source : w%26%CES%2Cu%04%3EAl%04%2Cb%E2v%C9%08%3A%CC%F4
2016-04-15 09:29:12 -07:00
Chris Manchester 6a21a3345a Bug 1256979 - Move MOZ_CHROME_FILE_FORMAT to Python configure. r=glandium
The config variable is re-named to avoid confusion, because it is not set by
--enable-chrome-format.

MozReview-Commit-ID: 37gvjGGSkRc
2016-04-14 12:26:38 -07:00
Kai Engert 70551ded71 Bug 1258375, NSS_3_24_BETA6 and required adjustments to PSM and packaging, r=martin.thomson, r=glandium 2016-04-12 14:40:44 +02:00
Sebastian Hengst 364386e3cf Backed out changeset cb4b18566f30 and 7c4d19e3376f (bug 1163224) for build bustage. r=backout on a CLOSED TREE 2016-04-11 19:43:04 +02:00
Nathan Froyd e136c9ac20 Bug 1163224 - fix typo in creating global crate dependencies; r=me
Hoping the added Rust will let us reopen this CLOSED TREE.
2016-04-11 12:42:36 -04:00
Nathan Froyd 45af5cd66c Bug 1163224 - add build system support for multiple Rust crates; r=glandium
Our current build system support for Rust compiles any Rust crate into a
so-called staticlib, which is a static library (.a file) that includes
the Rust runtime.  That staticlib is then linked into libxul.  For
supporting multiple crates, this approach breaks down, as linking
multiple copies of the Rust runtime is going to fail.

For supporting multiple crates, the approach taken here is to compile
each crate into a so-called rlib, which is essentially a staticlib
without the Rust runtime linked in.  The build system takes note of
every crate destined for linking with libxul (treating them like static
libraries generated from C/C++ files), and generates a super-crate,
whimsically named "rul", that is compiled as a staticlib (so as to
include the Rust runtime) and then linked into libxul.  Thus only one
copy of the Rust runtime is included, and the Rust compiler can take
care of any inter-crate dependencies.

This patch currently only supports Rust code in shared libraries, not in
binaries.  The handling for the rul crate is placed in the common
backend, with a special hook for derived backends to handle shared
library objects.
2016-04-11 11:05:44 -05:00
Kai Engert f8da0365fd Backout revision 36f75c2863a1, bug 1258375 2016-04-11 17:00:39 +02:00
Kai Engert b471460db8 Bug 1258375, NSS_3_24_BETA5 and required adjustments to PSM and packaging, r=martin.thomson, r=glandium 2016-04-11 16:40:36 +02:00
Thomas Zimmermann 119b6d864d Bug 1262385: Fix %progbits for GAS' .section directive in ICU, r=ted
In contrast to the GNU AS manual, the syntax for the .section directive
uses '%progbits' instead of '@progbits'; at least on ARM. Looking at the
ICU tools and the generated files confirms this.
2016-04-07 09:45:22 +02:00
Wes Kocher 06944947a0 Backed out changeset 069c82269f81 (bug 1258375) for Windows xperf failures
MozReview-Commit-ID: DwhDorbB2PO
2016-04-06 16:51:48 -07:00
Gregory Szorc 8bec49cc68 Bug 1262569 - Do not print individual source targets being built; r=ted
Multiple people have complained that the build output of printing the
source files being built adds little value. I agree. The extra output
doesn't give really helpful progress info because sources can be built
in non-deterministic order. Furthermore, the extra output hides useful
output like compiler warnings.

This patch makes the default build system output even less verbose. We
no longer print the individual source targets when they are built. We do
still print the targets for binaries, so some sense of progress can be
inferred.

If people like verbosity, they can export the undocumented
BUILD_VERBOSE_LOG environment variable can be set to restore the old
behavior.

MozReview-Commit-ID: KeaeJJkjPJn

--HG--
extra : rebase_source : a90b4b82eeef48d9bd896b5c12907ce05a650d4d
2016-04-06 16:49:55 -04:00
Kai Engert 02dd23b86a Bug 1258375, NSS_3_24_BETA4 and required adjustments to PSM and packaging, r=martin.thomson, r=glandium 2016-04-06 21:43:36 +02:00
Tooru Fujisawa 3aedc7a677 Bug 933257 - Part 5: Use fdlibm in jsmath.cpp. r=jwalden 2016-01-07 12:30:29 +09:00
Tooru Fujisawa 8eb6e36c52 Bug 933257 - Part 3: Add build scripts for fdlibm. r=jwalden 2015-11-18 19:13:22 +09:00
Ted Mielczarek 58e2e722d0 bug 1239083 - use moz.build files to build ICU. r=glandium,waldo
Also fixes bug 926980 - load ICU data from an archive file.

Stop invoking ICU's autoconf build system. Instead, have hand-authored
moz.build files under config/external/icu to build what we need. In addition,
we'll commit a pre-built copy of the ICU data file (currently icudt56l.dat)
under config/external/icu/data to avoid having to build ICU host tools to
generate it. config/external/icu/data also contains some assembly files
which can generate an object file containing the ICU data file contents
so that the JS shell (or standalone JS builds) can be linked directly to
the data without having to deal with the external data file. This requires
yasm or GNU as.

Various bits of packaging have been updated to account for the ICU data file.
XPCOM initialization now sets the ICU data directory so ICU can locate its
data file.

The update-icu.sh script has been modified to read the list of C/C++ source
files out of the ICU Makefiles and update `sources.mozbuild` files under
config/external/icu, as well as build a local copy of ICU using its
autoconf build system to generate the ICU data file to be committed in-tree.


MozReview-Commit-ID: 8Pfkzqt6S1W

--HG--
extra : rebase_source : 31426cddddb5543e0191059ba2f2eb069abe7727
2016-04-05 10:09:12 -04:00
Ted Mielczarek 94fa8fd73a bug 1247396 - drop support for MOZ_SHARED_ICU. r=glandium
MozReview-Commit-ID: 54AQdzJqvvA

--HG--
extra : rebase_source : 41c2516bf65ca4594a68084a61d9a737680cfc9f
extra : source : e40580ed0fe6fab50f1d8d23747c2cf423d93016
2016-02-11 08:21:16 -05:00
Mike Hommey 2a512468b1 Bug 1260998 - Add support for HOST_CPPFLAGS for consistency. r=nalexander 2016-04-01 09:43:26 +09:00
Nick Alexander f2c9cdeaf9 Bug 1258760 - Allow re-signing already signed APK files. r=gps
Gradle produces signed, unaligned APK files.  We expect unsigned,
unaligned APK files.  This change discards any existing signature,
turning a signed, unaligned APK into an unsigned, unaligned APK.

Sadly |zip -q| does not silence a warning message about "nothing to
do" so we pipe to /dev/null.

MozReview-Commit-ID: DnSGJCvHsym

--HG--
extra : rebase_source : ee7884847767c0a075e3cfd404ba695d07f47e93
extra : histedit_source : 6aaa07eac03d69668f8556b84d1c1bae51c8ea22
2016-03-15 16:01:44 -07:00
Ted Mielczarek 509c7d11f9 bug 1257689 - move YASM check to moz.configure. r=mshal
MozReview-Commit-ID: KU3eSCsykPl

--HG--
extra : rebase_source : 4ec8256a4c772b61497ad442620aacb39f3b9ade
extra : amend_source : 258380912dcbcdb4dee2ac6737d71aa5328d12a7
extra : histedit_source : 9cabff8c5ba88ce541ea9881d9147dc4fb3a5692%2Cb1a74d8d449ebbbf5727a9665542043a5b122af7
2016-03-17 19:15:01 -04:00
Karl Tomlinson bc64779561 bug 1211892 read -unico-border-gradient of early Unico versions for ThreeDHighlight and ThreeDShadow r=acomminos
MozReview-Commit-ID: KWfQqT5MIjT

--HG--
extra : rebase_source : d480fe8538530aafd0b68da9b947f215af119bd1
2016-03-18 22:49:46 +13:00
Mike Hommey 84027af8da Bug 1256507 - Remove --enable-xterm-updates. r=gps
It's an opt-in flag that allows to display where the build is in
terminal window titles. The fact that it's opt-in and likely unknown
makes it very low-value, and the fact that it was added in an era where
builds were not very well parallelized made it have a meaning, but now
that builds are parallelized, its meaningfulness is diminished.

Let's just remove it.
2016-03-15 16:40:15 +09:00
Tooru Fujisawa 6f0ad3cc16 Backed out changeset c91821911d55 (bug 933257) 2016-03-15 08:15:09 +09:00
Tooru Fujisawa 51a605124e Backed out changeset f3b11c2b7dbf (bug 933257) 2016-03-15 08:15:09 +09:00
Mike Hommey d464f29e5f Bug 1255813 - Remove build system support for Solaris, HPUX and AIX. r=ted 2016-03-15 07:34:50 +09:00
Terrence Cole 09ab5adb49 Bug 956899 - Teach check_spidermonkey_style.py about mozglue; r=njn
--HG--
extra : rebase_source : ecc7287f248f654ae3b3fd514f604dc4075bbab7
2016-03-10 09:07:59 -08:00
David Keeler 2f0004e1be bug 1228175 - fix IsCertBuiltInRoot r=Cykesiopka,mgoodwin
When a built-in root certificate has its trust changed from the default value,
the platform has to essentially create a copy of it in the read/write
certificate database with the new trust settings. At that point, the desired
behavior is that the platform still considers that certificate a built-in root.
Before this patch, this would indeed happen for the duration of that run of the
platform, but as soon as it restarted, the certificate in question would only
appear to be from the read/write database, and thus was not considered a
built-in root. This patch changes the test of built-in-ness to explicitly
search the built-in certificate slot for the certificate in question. If found,
it is considered a built-in root.

MozReview-Commit-ID: HCtZpPQVEGZ

--HG--
extra : rebase_source : 759e9c5a7bb14f14a77e62eae2ba40c085f04ccd
2016-03-04 17:06:33 -08:00
Ted Mielczarek 68bd5e8c4d bug 1244743 - Replace MOZ_NATIVE_X with MOZ_SYSTEM_X. r=gps
MozReview-Commit-ID: 9ip3qeAXFEe

--HG--
extra : commitid : H6aEkHprVyX
extra : rebase_source : e20d5f4b297caf66711c72cd55dd76f7f9ef9d9c
extra : histedit_source : 47545e0ea61eb66f16545f70e6d3792a389bedb1
2016-02-01 10:49:34 -05:00
Ted Mielczarek 86995dd661 bug 1248020 - convert a bunch of moz.build files to use USE_YASM. r=mshal
MozReview-Commit-ID: n59TejhJq6

--HG--
extra : rebase_source : a5fd47c48ae4f03fcd2b699d7283a8838d24449c
extra : amend_source : cdd00e6f76195956dd83f8a2e3109d453459d158
extra : histedit_source : 4e36a2c2ff01a2cb352a46b2f4d9062f14be5232
2016-03-03 11:38:59 -05:00
Ted Mielczarek 5c634ab869 bug 1248016 - make ASFILES rules work with .s/.asm, get rid of ASM_SUFFIX. r=mshal
MozReview-Commit-ID: 1MK0Kud51vR

--HG--
extra : rebase_source : de7a7f11bfbbac1e8eccc34de39dd2d88d803b03
extra : amend_source : d7eddb71b050e0576e783c6ce8c67f66cfd88e13
2016-03-01 13:47:19 -05:00
Tooru Fujisawa 14da6310d3 Bug 933257 - Part 5: Use fdlibm in jsmath.cpp. r=jwalden 2016-01-07 12:30:29 +09:00
Tooru Fujisawa 643618c77d Bug 933257 - Part 3: Add build scripts for fdlibm. r=jwalden 2015-11-18 19:13:22 +09:00
Tooru Fujisawa f381128fb0 Backed out changeset e4a133efcb4d (bug 933257) 2016-03-13 04:54:57 +09:00
Tooru Fujisawa fb771b2697 Backed out changeset 2e20366dcaf7 (bug 933257) 2016-03-13 04:54:53 +09:00
Tooru Fujisawa f0aed2b4eb Bug 933257 - Part 5: Use fdlibm in jsmath.cpp. r=jwalden 2016-01-07 12:30:29 +09:00
Tooru Fujisawa 54cb9952be Bug 933257 - Part 3: Add build scripts for fdlibm. r=jwalden 2015-11-18 19:13:22 +09:00
Mike Hommey dd71ac573a Bug 1255763 - Remove OS_RELEASE and OS_MINOR_RELEASE. r=gps
We're not doing anything with them anymore.
2016-03-12 09:03:37 +09:00
Mike Hommey 6be11fbd7e Bug 1255763 - Remove OS_VERS and OS_VERSION. r=gps
They were behind WANT_MOZILLA_CONFIG_OS_VERSION, which nothing has been
setting ever since the ifdef was changed from
MOZILLA_CONFIG_IGNORE_OS_VERSION... in 2000. Not that anything was
setting MOZILLA_CONFIG_IGNORE_OS_VERSION either... well, at least not in
Gecko.
2016-03-12 09:03:37 +09:00
Mike Hommey 87f7c3427c Bug 1255763 - Remove OS_CONFIG, it is now unused. r=gps
It was also already unused in old-configure.in.
2016-03-12 09:03:37 +09:00
Mike Hommey 0995f72a3a Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj
Our STL wrappers do various different things, one of which is including
mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h,
which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which
circles back to our STL wrapper.

But of the things our STL wrappers do, including mozalloc.h is not one
that is necessary for cstdlib. So skip including mozalloc.h in our
cstdlib wrapper.

Additionally, some C++ sources (in media/mtransport) are including
headers in an extern "C" block, which end up including stdlib.h, which
ends up including cstdlib because really, this is all C++, and our
wrapper pre-includes <new> for mozalloc.h, which fails because templates
don't work inside extern "C". So, don't pre-include <new> when we're not
including mozalloc.h.
2016-03-11 17:33:11 +09:00
Wes Kocher e7883e4059 Backed out changeset 490eb9194ae1 (bug 1228175) for TestIsCertBuiltInRoot failures on at least Android
MozReview-Commit-ID: 7kpuhoY0CJw
2016-03-09 14:22:36 -08:00
David Keeler f228ba40a1 bug 1228175 - fix IsCertBuiltInRoot r=Cykesiopka,mgoodwin
When a built-in root certificate has its trust changed from the default value,
the platform has to essentially create a copy of it in the read/write
certificate database with the new trust settings. At that point, the desired
behavior is that the platform still considers that certificate a built-in root.
Before this patch, this would indeed happen for the duration of that run of the
platform, but as soon as it restarted, the certificate in question would only
appear to be from the read/write database, and thus was not considered a
built-in root. This patch changes the test of built-in-ness to explicitly
search the built-in certificate slot for the certificate in question. If found,
it is considered a built-in root.

MozReview-Commit-ID: HCtZpPQVEGZ

--HG--
extra : rebase_source : 898ef37459723f1d8479cfdc58658ccb00e782a9
2016-03-04 17:06:33 -08:00
Mike Shal 053369e67e Bug 1253431 part 7 - Remove SDK_BINARY; r=gps
MozReview-Commit-ID: 4RmjsX966Qh

--HG--
extra : rebase_source : 0d9d94ed98ae8f1cfb9d5787edc1336ce1ee6785
2016-03-03 14:23:57 -05:00
Mike Shal 7b58ab8671 Bug 1253431 part 3 - Move SDK_BINARY files in xpcom/idl-parser/xpidl to moz.build; r=gps
We can just generate xpidllex.py/xpidlyacc.py in the current directory
rather than one directory higher, and specify this directory as an
include path to xpidl-process.py

MozReview-Commit-ID: KLoGjudc4Y8

--HG--
extra : rebase_source : 8dda268c6490cdfb8b896de9da5b789208584193
2016-03-03 13:49:42 -05:00
Wes Kocher 0fbf6c1476 merge inbound to m-c a=merge
MozReview-Commit-ID: BHxDQF6gIe3
2016-03-08 16:00:45 -08:00
ffxbld 727d7d0948 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-03-07 09:23:22 -05:00
Myk Melez db9a40ca42 Bug 1238079 - remove the desktop web runtime; r=fabrice,mossop,gps,jryans,jmaher,marco 2016-03-07 13:33:12 -08:00
Ms2ger 2351d7e46d Bug 1252093 - Move AUTOCFG_JS_EXPORTS to moz.build; r=ted 2016-03-01 09:17:29 +01:00
Ehsan Akhgari b7dad904d3 Bug 1246334 - Add support for building the clang plugin using clang-cl; r=glandium 2016-02-26 07:29:48 -05:00
Lee Salzman 5a00a76a1f Bug 1248416 - add symbols for bad_function_call exception for C++ runtimes. r=nfroyd 2016-02-24 20:00:10 -05:00
Masatoshi Kimura 7c3a491022 Bug 1247250 - Enable TLS 1.3 anti-downgrade on non-secure fallback. r=keeler 2016-02-24 19:35:00 +09:00
Mike Hommey 07dc39e490 Bug 1249167 - Fix dependencies involving stdc++compat and clang-plugin. r=mshal 2016-02-19 07:00:03 +09:00
Nathan Froyd d75a7f55af Bug 1249103 - remove support for MOZ_POST_DSO_LIB_COMMAND; r=mshal
Nothing uses this variable.  blame suggests that it was used for HP-UX
once upon a time.  The companion variable, MOZ_POST_PROGRAM_COMMAND, is
only used by HP-UX, but as we're not wholesale removing HP-UX
support (yet), we should leave MOZ_POST_PROGRAM_COMMAND alone.
2016-02-17 15:17:21 -05:00
Mike Hommey 4e5e6fd2d4 Bug 1247833 - Display the class name in mozunit output. r=gps
One can run individual tests with python testfile.py Class.method. But
the output for tests only shows the method so looking at a test output
is not enough to tell how to run one particular test. Moreover, there
are many cases where a test file contains multiple classes, and we fail
to identify the difference between those classes.
2016-02-17 07:19:46 +09:00
Mike Hommey a97df3d684 Bug 801679 - Handle expected failures and skipped tests in mozunit runner. r=gps
Python's unittest has decorators to mark tests as skipped or expecting
to fail. Mozunit runner fails to print anything for them.

While here, somehow unify the output for TEST-UNEXPECTED-FAIL.

This leaves known failures silent about the failure. It would be better
to only show them with a flag, like -v, and to leave it to a followup.
2016-02-17 07:19:46 +09:00
Mike Hommey bb27c7040b Bug 795681 - Print out failures in mozunit runner. r=gps
Python's unittest separates errors and failures, where the former is
uncaught exceptions and the latter uncaught assertions. We were only
printing the former, making the mozunit runner output useless to debug
failures due to assertions in the code being tested.

I would usually edit the test to temporarily switch to unittest.main().
Enough is enough, handle failures properly.

At the same time, instead of printing all the errors one after the other
at the end, print them right after the TEST-UNEXPECTED-FAIL message.
2016-02-17 07:19:46 +09:00
Jan de Mooij 97d727a1a4 Bug 1247630 - Add CoreServices to OS_LIBS on OS X to fix standalone NSPR build. r=ted
--HG--
extra : rebase_source : 9686410120afe49c061a22b322ac26c91eeed3d0
2016-02-16 16:53:10 +01:00
Landry Breuil 6d666c5a66 Bug 1243493 - Add BSDs to NSPR moz.build. r=ted 2016-01-29 21:06:03 +00:00
Ms2ger 59b4fa0a9e Bug 1247960 - Remove unused variable _current_makefile; r=ted
It has been unused since revision 7f73bbf6df76.
2016-02-15 09:43:14 +01:00
Mike Hommey 5dc9482631 Fix up missing dependency in bug 1247162. r=me 2016-02-12 09:44:03 +09:00
Sebastian Hengst be7b0e4539 Backed out 2 changesets (bug 1247250) for bustage. r=bustage on a CLOSED TREE
Backed out changeset 8aded3a039f5 (bug 1247250)
Backed out changeset 374e6d0abf0e (bug 1247250)
2016-02-12 00:42:48 +01:00
Masatoshi Kimura e40094eb48 Bug 1247250 - Enable TLS 1.3 draft 11 anti-downgrade on non-secure fallback. r=keeler 2016-02-12 07:36:37 +09:00
Mike Hommey 93c78646c2 Bug 1224450 - Ignore COMPILE_PDB_FLAG for the CompileDB. r=gps 2016-02-12 07:16:17 +09:00
Mike Hommey 1d537257e2 Bug 1247162 - Generate a header defining MOZ_SOURCE_*. r=mshal
The behavior is not entirely idempotent (most notably for
buildconfig.html), but this can be improved later if necessary.
It is idempotent where it matters.

This allows to get rid of config/makefiles/rcs.mk and its uses.
2016-02-12 07:16:14 +09:00
Mike Hommey 9383395b07 Bug 1246881 - Stop using config/buildid in few remaining places. r=mshal 2016-02-12 07:16:03 +09:00
Mike Hommey fd36539df9 Bug 1246881 - Generate a header defining MOZ_BUILDID. r=mshal 2016-02-12 07:15:55 +09:00
Luke Wagner 3562506a11 Bug 1240583 - Odin: add MacroAssembler::repatchThunk (r=bbouvier)
MozReview-Commit-ID: Blj499Wb0Hb

--HG--
extra : rebase_source : 27eddbc7d41beea7351610cfe2c02787952439be
2016-02-10 09:22:36 -06:00
Karl Tomlinson 26abc0481b bug 1242991 correct vpx include path and vpx/svc_context.h visibilty r=glandium
to fix up --with-system-vpx after f442638a.

--HG--
extra : rebase_source : befad1990f2b4c48b39e27549d19efa22733bf61
2016-02-05 12:06:11 +13:00
Steve Fink fa11eb2db7 Bug 1243233 - Test ALLOW_COMPILER_WARNINGS instead of WARNINGS_AS_ERRORS, and move it to after it is set, r=glandium
ALLOW_COMPILERS_WARNINGS is set in moz.build files, which end up producing backend.mk files, which are loaded as part of config/rules.mk.

--HG--
extra : rebase_source : 75643ff0a30be733216d5572668a52ab365d7c59
2016-01-29 12:08:26 -08:00
Mike Hommey 8d3026f484 Bug 1246871 - Generate platform.ini with the preprocessor instead of an ad-hoc script. r=mshal 2016-02-10 10:11:58 +09:00
Mike Hommey 5554e09add Bug 1246874 - Unify GRE_BUILDID and MOZ_APP_BUILDID at the build system level. r=mshal 2016-02-10 07:39:30 +09:00
Kai Engert 880b7f8386 Bug 1245053, land NSS_3_23_BETA4, r=me, includes a makefile change to adjust for NSS changes, patch by EKR, r=kaie 2016-02-08 16:16:25 +01:00
Mike Hommey dded38c2fe Bug 1245764 - Move Windows RTL flags (-MD/-MT) flags out of config.mk. r=gps 2016-02-05 17:30:34 +09:00
Frédéric Wang 6490d76ff7 Bug 1227058 - Include the woff2 library in the gecko build. b=1227058, r=jfkthame 2016-02-02 08:52:00 +01:00
Mike Hommey a2d014b606 Bug 1245422 - Remove MOZ_OPTIMIZE_FLAGS override when building with DMD enabled on Windows. r=mshal
-Zi is already set through MOZ_DEBUG_FLAGS, which is set from
--enable-debug-symbols, which is the default, and if someone goes all
the way to explicitly disable them, we might as well not silently
override their decision.

-Od disables optimization, and the given reason was for sane stack
traces, but the fact is we're currently building debug builds, which
have been optimized by default for a while, and are the only ones with
DMD enabled by default, without overriding with -Od and are apparently
happy with it.
2016-02-04 12:49:57 +09:00
Mike Hommey dd8a301bbf Bug 1245422 - Remove -UDEBUG -DNDEBUG flags on Windows opt builds. r=mshal
-DNDEBUG is already set through MOZ_DEBUG_DEFINES, and -UDEBUG is not
doing anything useful, since nothing is setting DEBUG on the command
line, nor does the compiler by default.
2016-02-04 12:49:57 +09:00
Mike Hommey ba138b2936 Bug 1245422 - Remove the -FR C*FLAGS on Windows builds. r=mshal
The flag is used to create .sbr files, which bscmake subsequently uses to
create .bsc files. These files and related tools are, aiui, the ancestors
of Intellisense.

The -FR C*FLAGS are added to the build if MOZ_BROWSE_INFO or MOZ_BSCFILE
are set in the recursive make backend. While the former has an AC_SUBST,
the latter does not, so in practice, only the former can be set by
supported methods, and would need to be set in a mozconfig. At that
rate, people who do want those flags can add them in the C*FLAGS on
their own.

Developers are probably better served by the VisualStudio backend
anyways.
2016-02-04 12:49:57 +09:00
Mike Hommey 5abcde418d Bug 1245013 - Move CMFLAGS/CMMFLAGS from config.mk to configure. r=mshal
We don't really care to set those in js/src/configure because the JS
engine doesn't use ObjC. We also don't care to preserve the += behavior
because there were no AC_SUBST in the first place, so it's unlikely
anyone has an override in their mozconfig and expects it to work.
2016-02-03 08:41:19 +09:00
Ted Mielczarek 26f7b04705 bug 1243349 - fix NSPR link paths for NSS. r=mshal
--HG--
extra : commitid : 4eavO61nNKX
extra : rebase_source : f5ddf4c1df5105f6f46b7780b0c49d89970fc47e
extra : amend_source : e5d3d5b809c27608c3d897373c0ea888ebfceaa1
2016-01-27 09:28:40 -05:00
Carsten "Tomcat" Book 10d60e258b Backed out changeset b538734b6a17 (bug 1243349) for bustage on a CLOSED TREE 2016-01-27 16:13:12 +01:00
Ted Mielczarek c2b6bb1e3b bug 1243349 - fix NSPR link paths for NSS. r=glandium
--HG--
extra : commitid : 7MNlvrCCE6W
extra : rebase_source : a2919eef6b02edc31682ba1a9a12f66b19b66814
extra : amend_source : 394e2b0a5f7e3fb89ffc88f12a186628745b202b
2016-01-27 09:28:40 -05:00
John Lin 5feeea2b24 Bug 1239607 - Collect codec info using MediaCodecList instead of OMXCodec. r=sotaro 2016-01-26 18:58:00 +01:00
Ted Mielczarek 5f9099964c backout bug 1237863 - Silence linker errors from MOZ_FOLD_LIBS on Windows for causing shutdown crashes on Windows (bug 1242802). r=me
--HG--
extra : commitid : MyxCmKoAoo
extra : rebase_source : 71a96437207f93ff1f7def8fba4f07c9bbdf1f1c
2016-01-26 12:57:48 -05:00
Tim Taubert 38e4db6e5e Bug 1191936 - Implement RSA-PSS signing and verification r=rbarnes,smaug 2015-10-13 20:22:43 +02:00
Wes Kocher c9da752a8f Merge m-c to inbound a=merge
--HG--
extra : commitid : 8OoXoEiX7Rm
2016-01-25 14:06:08 -08:00
ffxbld 13bf763708 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-01-25 09:01:00 -05:00
Ted Mielczarek 76f0fb5769 bug 1230117 - Stop using NSPR's configure. r=glandium
--HG--
extra : commitid : 3xfupwYWRJC
extra : rebase_source : 157a22a7d50b0ea61c0ba24c0c9163f1c0f5a806
2016-01-21 06:04:11 -05:00
Ted Mielczarek 94ce7f3a5c bug 1237863 - Silence linker errors from MOZ_FOLD_LIBS on Windows. r=glandium
--HG--
extra : commitid : KLNhVJ5A5z7
extra : rebase_source : 52ea2b119cc68ff386d1939f51ee28c4fbc1a315
2016-01-15 05:58:22 -05:00
Mike Hommey efa26893a5 Bug 1242074 - Avoid going back and forth between FasterMake and RecursiveMake; r=gps
FasterMake needs some RecursiveMake install manifests to have been
processed before doing its work, so we can actually end up processing
them twice because of the going back and forth from FasterMake in the
hybrid build system.

Set the dependency at the RecursiveMake level when doing an hybrid
build.

--HG--
extra : commitid : 7nD60DTsoHz
extra : rebase_source : 61b5803732b0ecdff421e4e15a2086d4eae7a937
extra : amend_source : c0ae62708b2019888ea320c3793d4ea3f6d6d460
2016-01-23 11:40:24 -08:00
Gregory Szorc b9191564fc Bug 1242074 - Reorder pattern rules to placate GNU Make 3.81; r=glandium
Recent changes in bug 1239217 added the faster backend to the default
build mechanism for artifact builds. This seems to have uncovered a
difference in behavior between GNU Make 3.81 and newer. Starting with
GNU Make 3.82, pattern rules are selected according to shortest stem.
Before, they are used in definition order.

So, we change the order of the pattern rules so the longest prefixes are
first. This should result in the same behavior on various GNU Make
implementations.

--HG--
extra : commitid : GVAzwgjaChF
extra : rebase_source : e0765bcf80ad93b7b193f8d4218f4c6f90dbb843
extra : amend_source : d06092dde64d22be476ef1f9e0232eda87d48325
2016-01-23 11:38:00 -08:00
Mike Hommey 6098e02a36 Bug 1239217 - Add the FasterMake+RecursiveMake hybrid backend. r=gps 2016-01-22 15:43:26 +09:00
Mike Hommey e50a6cfd7b Bug 1239217 - Make the RecursiveMake build system create backend files generically. r=gps
The current rule is only for "backend.RecursiveMakeBackend", but, with
the current default of generating both the RecursiveMake and FasterMake
backends, the command creates/refreshes both backends. This is, in fact,
how the FasterMake backend is refreshed in most cases.

Moreover, with an hybrid backends, the generated file is not
"backend.RecursiveMakeBackend" anymore, so we need a more generic way to
handle this.

Furthermore, it's not necessarily desirable for all backends to have a
dependency file to handle the dependencies to refresh the backend, so
generate a plain list instead. This has the side effect of making `mach
build-backend --diff` more readable for changes to that file.

Finally, make the backend.* files created like any other backend file,
such that its diff appears in the `mach build-backend --diff` output.
2016-01-22 15:43:24 +09:00
Mike Hommey f549721406 Bug 1239217 - Stop making the FasterMake build system refresh the backend on its own. r=gps
The FasterMake build system is meant to be invoked through `mach build
faster`, which does it already, or, in the near future, as part of an
hybrid build system, which will deal with it as well. People doing
`make -C objdir/faster` won't have the backend automatically refreshed,
but that's not a supported way to use it anyways.
2016-01-22 15:43:23 +09:00
Mike Hommey e9ce9ca165 Bug 1241421 - Remove jar.mn with no JAR_MANIFESTS check in config/rules.mk. r=mshal
The same check exists in the emitter code anyways.
2016-01-22 07:00:23 +09:00
Mike Hommey 5624c77753 Bug 1241416 - Create a tier for things happening before export. r=gps
While it would be possible to move those things in the export tier, it
is still interesting to have reporting for them separately, especially
considering I expect things to gradually move from the other tiers to
this new one.

While not entirely obvious, the recurse_pre-export target doesn't imply
actual recursion as long as the RecursiveMake backend doesn't emit
traversal information for it, so nothing will actually happen on this
target, but the interesting part is that it runs, per the generic
config/recurse.mk rules for tiers, between BUILDSTATUS TIER_START and
BUILDSTATUS TIER_FINISH, so that all its dependencies are accounted
as being part of the pre-export tier.
2016-01-22 07:00:23 +09:00
Jacek Caban ea0edf0971 Bug 1239672 - Fixed symbols file support on mingw. r=glandium 2016-01-21 13:39:41 +01:00
Mike Hommey 27f3aa7c34 Bug 1241022 - Move GENERATED_FILES. r=gps
GENERATED_FILES impacts the export tier through the config/rules.mk
definitions, now moved to the backend itself, so that everything is
close to each other.
2016-01-21 13:54:03 +09:00
Nathan Froyd 46c64642e1 Bug 1155198 - export symbols used by Java from Firefox-built NSS library; r=glandium 2016-01-14 11:22:07 -05:00
Mike Hommey dd60f8bf2c Backout changeset de0a7a1cdc4a from bug 1240660 for make package bustage on a CLOSED TREE 2016-01-20 08:03:58 +09:00
Mike Hommey 299b5dc832 Bug 1240660 - Move jar_maker to the misc tier, now that ordering does't matter. r=gps 2016-01-20 07:24:40 +09:00
Mike Hommey 92596da030 Bug 1240657 - Fix FasterMake race condition leading to missing "manifest interfaces.manifest" entries. r=gps
Turns out the claim in bug 1234439 that the FasterMake backend knows
about all the chrome manifest entries is wrong, and there's still one
that is added "manually" with buildlist.py, and during mach build
faster, that can happen before or after the corresponding chrome
manifests are written out by install manifest processing.

While the real fix here would be to make the build system totally
aware of those "manifest interfaces.manifest" entries, for now, it's
simpler to add dependencies to work around the race condition.
2016-01-20 07:24:40 +09:00
Mike Hommey 3c783859f9 Bug 1237140 - Pass NSS_EXTRA_SYMBOLS_FILE down to nss.symbols processing. r=gps 2016-01-20 07:24:40 +09:00
Jeff Muizelaar 1567e4e3c3 Bug 1228641. Remove initializer_list from stl-headers
Including new before initializer_list seems to cause problems like:

c:\tools\vs2013\vc\include\xutility(1278) : error C2065: 'initializer_list' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1278) : error C2065: '_Ilist' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1281) : error C2433: 'rbegin' : 'inline' not permitted on data declarations
c:\tools\vs2013\vc\include\xutility(1281) : error C2365: 'std::rbegin' : redefinition; previous definition was 'function'
c:\tools\vs2013\vc\include\xutility(1281) : error C2998: 'std::reverse_iterator<const _Elem*> std::rbegin' : cannot be a template definition
c:\tools\vs2013\vc\include\xutility(1284) : error C2065: 'initializer_list' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1284) : error C2065: '_Ilist' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1287) : error C2433: 'rend' : 'inline' not permitted on data declarations
c:\tools\vs2013\vc\include\xutility(1287) : error C2365: 'std::rend' : redefinition; previous definition was 'function'
c:\tools\vs2013\vc\include\xutility(1287) : error C2998: 'std::reverse_iterator<const _Elem*> std::rend' : cannot be a template definition

initializer_list shouldn't very be doing any allocation or throwing exceptions so we should be fine.
2016-01-15 19:51:37 -05:00
Dan Minor 30f2bba053 bug 1237619: Record build objects in resource_usage.json r=gps
Collecting the list of object files compiled, while not ideal, will give us
some indication of how much work was involved in the build. This will help
with analyzing the data.

--HG--
extra : rebase_source : e9861ed5c0766e3ee8038dbec0b9267022c523eb
2016-01-12 14:00:24 -05:00
Jed Davis f45414c2f0 Bug 1133073 - Use PR_DuplicateEnvironment to avoid post-fork malloc on all Linux platforms. r=dhylands 2016-01-11 14:17:01 -08:00
Jed Davis 64f3bc56b6 Back out 7f6bb9f7e60d (bug 1133073) for bustage. Sorry about that. 2016-01-11 13:29:53 -08:00
Jed Davis a73c98c3e5 Bug 1133073 - Use PR_DuplicateEnvironment to avoid post-fork malloc on all Linux platforms. r=dhylands 2016-01-11 12:46:50 -08:00
Jeff Muizelaar b29099ae6d Bug 1228641. Add a polyfill of std::initializer_list. r=froydnj 2016-01-06 22:06:35 -05:00
Jean-Yves Avenard 0830385b17 Bug 1214462: P5. Enable ffvpx compilation and use. r=glandium 2016-01-06 23:03:53 +11:00
Mike Hommey 036949880e Bug 1235108 - Install bookmarks.html from jar.mn instead of a custom Makefile rule. r=gps 2016-01-05 20:03:43 +09:00
Nicholas Nethercote 4c2f5d70aa Bug 1232219 (follow-up) - Fix nsinstall.c bustage in SM(e) builds. r=me.
--HG--
extra : rebase_source : 7a20a75c01fda19f04b6db9df88c09dc681d9ef0
2016-01-04 17:11:21 -08:00
Phil Ringnalda 33c7af5cab Back out 6 changesets (bug 1214462) for Win PGO build bustage, reftest failures and mochitest failures
CLOSED TREE

Backed out changeset 803dba2adb27 (bug 1214462)
Backed out changeset e1b318c9c1db (bug 1214462)
Backed out changeset 3a421412b161 (bug 1214462)
Backed out changeset 2b388a17f4be (bug 1214462)
Backed out changeset 6a290f27f9bc (bug 1214462)
Backed out changeset 3dbf22bf17a4 (bug 1214462)
2015-12-30 20:37:08 -08:00
Jean-Yves Avenard 5aa2f09698 Bug 1214462: P5. Enable ffvpx compilation and use. r=glandium 2015-12-31 13:17:24 +11:00
Mike Hommey d5c0c5233a Bug 1235733 - Use absolute paths for include paths. r=gps
Limit ourselves to include paths for now, because there are tricky things
involved in making this globally.

While here, use shell_quote instead of manual quoting for those paths.
2015-12-31 08:10:02 +09:00
Mike Hommey 2fcd7f7524 Bug 1235676 - Add a global ABS_DIST variable for a non-relative version of DIST, based on topobjdir. r=mshal
This replaces multiple local definitions of ABS_DIST.
2015-12-31 08:10:02 +09:00
Mike Hommey 969f681cbc Bug 1235743 - Move compiler flags used for dependency generation to a separate variable. r=gps
This might seem like going in the opposite direction of what we tend to do
to move to moz.build land, but those flags are irrelevant in many situations
and are better separated out.
2015-12-31 07:35:04 +09:00
Mike Hommey e0c501a1c1 Bug 1235738 - Move MOZ_DEBUG_DEFINES to build frontend. r=gps
MOZ_DEBUG_DEFINES are essentially defines used everywhere. So treat them as
feeding the initial value for DEFINES in each moz.build sandbox. This allows
the kind overrides that was done in the past by resetting MOZ_DEBUG_DEFINES
in Makefiles.
2015-12-31 07:27:23 +09:00
Mike Hommey 60fde7dd14 Bug 1235132 - Remove _PR_* symbols from nss.symbols. r=gps
The only affected symbols are
_PR_<architecture>_Atomic{Decrement,Set,Add,Increment}, they are not exposed in
public headers, have a different name on each architecture, and have a public
API: PR_Atomic{Decrement,Set,Add,Increment}.
2015-12-31 07:25:42 +09:00
Mike Hommey e6c2b71205 Bug 1235132 - Convert sqlite and nss to SYMBOLS_FILE. r=gps
--HG--
rename : config/external/nss/nss.def => config/external/nss/nss.symbols
rename : db/sqlite3/src/sqlite.def => db/sqlite3/src/sqlite.symbols
2015-12-31 07:22:08 +09:00
Mike Hommey 54704ce9a1 Bug 1235132 - Add support for a more-or-less cross-platform symbols file. r=gps
Currently, one needs to define DEFFILE or LD_VERSION_SCRIPT appropriately,
and somehow deal with the fact that their input format is different, which
currently relies on manual invocations of the convert_def_file script, with
awkward aggregations.

This simplifies the problem by using a simple list of symbols, with
preprocessing, allowing #includes.
2015-12-31 07:22:04 +09:00
Mike Hommey d5126527fe Bug 1235021 - Always use the % marker for preprocessed css files. r=gps
Currently, only css files added through jar manifests are treated this way.
There is really no reason for the discrepancy, but there are actually no css
files added directly through moz.build, so this was never a problem.

On the other hand, it makes things simpler in a world where jar manifests are
treated as if they were entirely described in moz.build (which is where the
FasterMake backend is heading).
2015-12-31 07:06:11 +09:00
Mike Hommey d7478b6b1e Bug 1234955 - Make TEST_DIRS a SPECIAL_VARIABLE. r=gps
Using TEST_DIRS is nothing more than a shortcut for

if CONFIG['ENABLE_TESTS']:
    DIRS += [...]

As such, we might as well remove it being a separate variable, and use some
Context magic to just fill DIRS when ENABLE_TESTS is set.

The security/manager/ssl/tests/unit/moz.build change ensures that the order
of DIRS before the change is kept, not because it matters, but because it
allows to confirm that nothing else is modified by this change.
2015-12-24 13:12:49 +09:00
Mike Hommey 2eabcb84c2 Bug 1234439 - Use new install manifests feature for chrome manifests in the FasterMake backend. r=gps
Bug 1191230 added override lines with # characters to chrome manifests
for Windows.

So far, chrome manifests were handled with buildlist.py like in the
RecursiveMake backend, fed with Make variables. Without proper quoting,
those Make variables are just truncated by Make on the first # character,
and this results in mach build faster failing because of that.

However, the reason why chrome manifests were handled with buildlist.py
originally is that not all chrome manifest entries were known to the
FasterMake backend, but they now all are.

So instead of relying on Make variables and buildlist.py, we can now
rely on the newly added install manifests feature allowing to create files
with a given content.
2015-12-24 13:12:29 +09:00
Mike Hommey d2b231a4b9 Bug 1233282 - Move mozilla-config.h's export to moz.build. r=gps 2015-12-23 16:18:56 +09:00
Chris Peterson 6ef290e177 Bug 1232223 - Part 2: Remove MOZ_VPX #ifdefs because VPx is always supported, though not necessarily enabled. r=jya 2015-12-12 13:21:55 -05:00
Chris Peterson 88051371a9 Bug 1232223 - Part 1: Remove MOZ_WEBM #ifdefs because WebM is always supported, though not necessarily enabled. r=jya r=glandium 2015-12-12 13:49:07 -05:00
Birunthan Mohanathas 1cc56207d5 Bug 1227569 - Remove unsupported OpenVMS code. r=mccr8 2015-12-18 15:02:50 +02:00
Mike Hommey 8ad03f4a21 Backout changesets 53a9d03e4223, e61d18180feb and f07752f611f6 (bug 1233282) for a race condition bustage on a CLOSED TREE. 2015-12-18 17:07:13 +09:00
Mike Hommey 3949f1ba56 Bug 1233282 - Move mozilla-config.h's export to moz.build. r=gps 2015-12-18 15:57:12 +09:00
Nathan Froyd bd48dbd1fc Bug 1208566 - emit proper dependencies when compiling Rust sources; r=mshal 2015-12-17 12:14:33 -08:00
Wes Kocher 5f38bdeff2 Backed out 2 changesets (bug 1208566) for breaking mulet builds
Backed out changeset a5618a5cbc7f (bug 1208566)
Backed out changeset f3fd530324ee (bug 1208566)

--HG--
extra : commitid : DaxmN4TLzwv
2015-12-17 09:34:33 -08:00
Nathan Froyd aa7ce205e6 Bug 1208566 - emit proper dependencies when compiling Rust sources; r=mshal 2015-12-17 08:25:03 -08:00
ffxbld 1d2b3f2fb6 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-12-14 15:15:51 -05:00
Mike Hommey 158e08c29b Bug 1230355 - Remove include_deps. r=mshal
We used to use include_deps to trigger a fast-path in pymake, but we don't
use pymake anymore, so we can use normal includes now.
2015-12-09 19:23:53 +09:00
Mike Hommey 830a72f8a1 Bug 1230060 - Use process_install_manifest's --track option in the FasterMake backend. r=gps
This can probably be extended to the RecursiveMake backend, but I'd rather leave
that for later.
2015-12-05 11:04:21 +09:00
Carsten "Tomcat" Book 774dac6729 Backed out changeset a788c06e448a (bug 1230060) 2015-12-04 15:17:36 +01:00
Mike Hommey 10d4c3b4aa Bug 1230060 - Use process_install_manifest's --track option in the FasterMake backend. r=gps
This can probably be extended to the RecursiveMake backend, but I'd rather leave
that for later.
2015-12-04 19:25:42 +09:00
Nathan Froyd af7d367869 Bug 1229740 - add <array> to the list of wrapped system headers; r=glandium 2015-12-02 07:21:37 -05:00
Jan Beich a407397c29 Bug 1218027 - "--with-system-icu fails: js/src/jsapi.cpp:69: error: visibility does not match previous declaration". r=mh+mozilla 2015-10-23 15:49:00 +02:00
Mike Hommey 3b9cda439c Bug 1229241 - Use FINAL_TARGET{,_PP}_FILES for JS_PREFERENCE{,_PP}_FILES. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey 861b5a242a Bug 1229241 - Redirect EXTRA{_PP}_COMPONENTS to FINAL_TARGET{,_PP}_FILES.components. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey e5b1bb9e4e Bug 1229233 - Add a (incomplete) end-to-end build test. r=gps
We have many unit tests in the tree for some small parts of the build system
pipeline, but we don't have anything that resembles an end to end test, and we
kind of rely on the resulting Firefox not being broken by our changes.

With the Faster make backend growing, I want to ensure it produces the same
thing as the recursive make backend, at least for the parts it supports.

This adds some kind of test that allows to check that.
2015-12-01 13:57:52 +09:00
Mike Hommey d8414e8e44 Bug 1229233 - Ensure the target directory for copies exists in the FasterMake backend. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey fc199d9034 Bug 1229233 - Skip building XPIDL when there aren't any in the FasterMake backend. r=gps
The test I'm about to add doesn't have XPIDL files, and that currently avoids
the FasterMake backend to run properly. Also, in the future, when the FasterMake
grows the ability to build C++ files, it should be possible to build Spidermonkey
with the FasterMake backend, but it doesn't have XPIDL files either.
2015-12-01 13:57:52 +09:00
Mike Hommey 513dd064fd Bug 1227852 - Remove the --with-dist-dir configure flag from js/src/. r=mshal 2015-12-01 08:25:22 +09:00
Mike Hommey 3a04b1f8dc Bug 1228444 - Make DIST_FILES a HierarchicalStringList, like FINAL_TARGET_FILES. r=gps 2015-12-01 08:25:22 +09:00
Mike Hommey 655579a1fa Bug 1228444 - Don't silence "no preprocessor directives found" warnings for DIST_FILES. r=gps
and move files without preprocessor directives to FINAL_TARGET_FILES.
2015-12-01 08:25:22 +09:00
Mike Hommey 3900e2c115 Bug 1227892 - Emit a specialized object for chrome.manifest entries. r=gps
This new ChromeManifestEntry object type is generic and can hold any kind of
chrome manifest entry, but we currently only emit them for binary components.

References to sub-directory manifests is left to the backend, for now, until
all manifest entries are emitted by the frontend.
2015-12-01 08:25:22 +09:00