Commit Graph

4682 Commits

Author SHA1 Message Date
Martin Thomson
54eb5cb215 Bug 1304919 - Update WebRTC to latest NSS, r=ekr
MozReview-Commit-ID: Jz9lraGZIyx

--HG--
extra : rebase_source : 9b80b600f46ecc04ea9f282342d3a98ef0e915b8
extra : source : f1aace586e14a276cc43dd00111d5c9d04580ea0
2016-09-23 13:47:00 +10:00
Sebastian Hengst
a0d432121c Backed out changeset f1aace586e14 (bug 1304919) 2016-09-24 18:00:08 +02:00
Martin Thomson
d566e166e9 Bug 1304919 - Update WebRTC to latest NSS, r=ekr
MozReview-Commit-ID: Jz9lraGZIyx

--HG--
extra : rebase_source : 9731046d82e7aeef9192fe6e7ce10dd56d80a78d
2016-09-23 13:47:00 +10:00
Chris Manchester
6736329d5e Bug 1262155 - Use moz.build instead of libffi's build system. r=ted,glandium
MozReview-Commit-ID: 3wobNk0HDU5
2016-08-08 16:58:54 -07:00
Chris Manchester
bb8ff6012c Bug 1262155 - Always pass defines when compiling SOBJS. r=ted
This is relevant when attempting to build libffi with our build system
(libffi expects its assembly sources to be pre-processed).

MozReview-Commit-ID: J6mCUkYYjQh
2016-09-21 12:04:08 -07:00
Nathan Froyd
ed9a70c138 Bug 1301076 - remove stlport support from the build system and stlport code; r=glandium
We can no longer build with STLport now that we require a
C++11-compliant standard library, so we might as well get rid of all the
support for it.
2016-09-21 19:21:40 -04:00
Michael Layzell
05bd5a1076 Bug 1300208 - Allow specifying multiple rust crates to mozbuild within the same FINAL_LIBRARY, r=froydnj
MozReview-Commit-ID: IIjV4Kg7wOv
2016-09-20 11:26:43 -04:00
Benjamin Bouvier
825a1575d8 Bug 1303085: Add fenv.h to the list of system-headers for rint/rintf; r=glandium
MozReview-Commit-ID: 2aOUxKqBj3g

--HG--
extra : rebase_source : 2481b138daa5fca18b8692ab47dbbb2ccdd0394b
extra : histedit_source : 4ad1e9befd98103ce80ffbfc1d70533e33c1e74f
2016-09-15 21:00:03 +02:00
ffxbld
857d1ac980 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-09-19 09:45:57 -04:00
Gian-Carlo Pascutto
2326cba3bf Bug 977786 - Add tests for nsProfileLock. r=ted
MozReview-Commit-ID: 6Cr0EwVwVIq

--HG--
extra : rebase_source : 9e85ddca27685f0fcfbe518884cc05e922f1994f
extra : histedit_source : 6f1d53d79f59ee6a8319e05e5943653b4e026522
2016-09-16 17:31:14 +02:00
Carsten "Tomcat" Book
d2c3fe7fd3 merge autoland to mozilla-central a=merge 2016-09-14 12:07:02 +02:00
Tooru Fujisawa
c0fc17d9f4 Bug 1298779 - Port jskwgen to Python. r=jwalden 2016-09-14 12:16:41 +09:00
Nathan Froyd
a83ad8b858 Bug 1298472 - part 2 - use #include_next in STL header wrappers for clang-cl; r=glandium
clang-cl's system header detection doesn't kick in if we're using full
paths to the STL headers we need to include.  And if certain headers
aren't recognized as system headers, we get a pile of warnings from
said headers.  Use #include_next to ensure that system headers are
recognized as such, and suppress the warnings.

MozReview-Commit-ID: 4ZlAAGa49M1

--HG--
extra : rebase_source : c56711e09118fe930f389cc48543a661c293d7e4
2016-09-09 09:01:14 -04:00
Martin Thomson
3561540a50 Bug 1188657 - Enable SSLKEYLOGFILE for non-release builds, r=kaie,glandium
MozReview-Commit-ID: CeTSLPmkoJ8
2016-04-26 19:40:41 +10:00
Nathan Froyd
3369462f39 Bug 1298466 - avoid some spammy warnings for ICU when compiling with clang-cl; r=ted.mielczarek
We don't need to hear about ICU redefining macros we set up or about
include paths that are Microsoft-specific, but still resolve to where
they need to go.

MozReview-Commit-ID: D9lFiNCvkOh

--HG--
extra : rebase_source : 66848780bb4e2473a7f1df9a621f0b2f54171e70
2016-08-25 17:13:51 -04:00
Chris Manchester
b0b84a1928 Bug 1240134 - Incorporate the interfaces.xpt from downloaded artifacts instead of building XPIDL during an artifact build. r=glandium
MozReview-Commit-ID: 8oEyS1xLOwV
2016-08-17 15:02:31 -07:00
Elias Probst
fa561f244a Bug 1293234 - Use octal notation for permission modes in the build system; r=gps
As of Python 3, decimal notations of octal values for permission modes
are no longer permitted and will result in a `SyntaxError` exception
(`invalid token`).

Using the proper octal notation which is also Python 2.7 compatible will
fix this issue.

--HG--
extra : rebase_source : 2e897c51f04ad0ee69071f84b98df224f3af72d3
2016-08-08 13:45:17 +02:00
Carsten "Tomcat" Book
553a2da922 merge mozilla-inbound to mozilla-central a=merge 2016-08-10 15:54:26 +02:00
Mike Shal
549dd4ff30 Bug 1293784 - Only recurse into xpcom/idl-parser/xpidl once; r=gps
MozReview-Commit-ID: 823OM551BH6

--HG--
extra : rebase_source : 0770b3156d9abd60cb3520eaee87f1a3211a8351
2016-08-09 16:58:18 -04:00
Nathan Froyd
5330c39ccd Bug 1293315 - remove RUSTFLAGS and friends from the build system; r=mshal
Now that we compile with cargo, we don't have fine-grained control over
the build flags used via environment variables detected in configure or
set in config.mk.  We should just remove that dead code so nobody trips
over it.
2016-08-09 18:10:19 -04:00
Nathan Froyd
f7fb6722a6 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-06 00:49:26 -04:00
Nathan Froyd
4fb1a7545d Bug 1231764 - part 0 - only link librul once; r=chmanchester
Through an oversight, we listed librul.a twice when linking libxul: once
as part of the "objects" we were linking, and once as a static library.
This duplication is unnecessary and would cause problems later when we
try to generate librul.a via cargo, as cargo will put it someplace
different from where we expect and the two names will conflict.  Let's
have rules.mk be the single source of truth for how librul.a is named,
and then the code to link libxul can simply refer to that name.
2016-08-06 00:49:26 -04:00
Carsten "Tomcat" Book
cf611bec79 merge mozilla-inboudn to mozilla-central a=merge 2016-08-05 12:01:14 +02:00
Mike Hommey
9712b25c12 Bug 1292080 - Don't set NSINSTALL_BIN from old-configure. r=gps
The only use of this variable is to override NSINSTALL, and its value is
the same as NSINSTALL_PY.

While here, remove the outdated NSINSTALL_NATIVECMD that was used for
pymake.

--HG--
extra : rebase_source : b871fbb409836a17cb8d71cd1e5ddc9d5ad3f49f
2016-08-04 17:55:54 +09:00
James Willcox
26bcde6a5e Bug 1255628 - Replace and/or remove some graphics-related calls in AndroidBridge with NDK equivalents r=jchen 2016-08-04 09:23:34 -05:00
Carsten "Tomcat" Book
389a3e0817 merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
rename : mobile/android/base/java/org/mozilla/gecko/gfx/GeckoLayerClient.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
rename : mobile/android/base/java/org/mozilla/gecko/gfx/LayerRenderer.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/LayerRenderer.java
rename : mobile/android/base/java/org/mozilla/gecko/gfx/PanningPerfAPI.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/PanningPerfAPI.java
2016-08-04 15:55:50 +02:00
Wes Kocher
9605851be0 Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage
Backed out changeset 4b71272c92cf (bug 1231764)
Backed out changeset 234d8a930afa (bug 1231764)
Backed out changeset f9b204c2f5a7 (bug 1231764)
Backed out changeset f933119e57e4 (bug 1231764)
Backed out changeset e3af0b1d3473 (bug 1231764)
Backed out changeset 643b03aae1dd (bug 1231764)
Backed out changeset a945dbf63410 (bug 1231764)

--HG--
extra : rebase_source : e71360fa4b5e3e74859c82e74e183e13e6211c4c
2016-08-03 16:27:06 -07:00
Mike Hommey
47ba08e825 Bug 1290616 - Pass down LD to the NSS build system. r=gps
as opposed to passing down LINK when cross compiling.
Until bug 1290334, LINK was the variable used by the NSS build system
for the linker on Windows, but it now uses LD, like on other platforms.

But its default value on Windows is "link", which can pick /usr/bin/link
on msys2, instead of MSVC's so, pass down LD from the Gecko build
system. And do so an all platforms in all cases, because it shouldn't
hurt.

--HG--
extra : rebase_source : 3eb8236a8f032468d10c874be2daa1c66986bd47
2016-07-30 08:01:45 +09:00
Nathan Froyd
6b2618fb44 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-03 19:40:41 -04:00
Nathan Froyd
a79d68b929 Bug 1231764 - part 0 - only link librul once; r=chmanchester
Through an oversight, we listed librul.a twice when linking libxul: once
as part of the "objects" we were linking, and once as a static library.
This duplication is unnecessary and would cause problems later when we
try to generate librul.a via cargo, as cargo will put it someplace
different from where we expect and the two names will conflict.  Let's
have rules.mk be the single source of truth for how librul.a is named,
and then the code to link libxul can simply refer to that name.
2016-08-03 19:40:41 -04:00
Xidorn Quan
8391c4bb40 Bug 1290336 - Define U_DEBUG flag for ICU in debug build. r=glandium
MozReview-Commit-ID: AHCydclfdcW

--HG--
extra : transplant_source : %D0%F32%BE%D2%5E8L%CF%7C%87v%16%DB%0ET4%2C%ACc
2016-07-29 14:31:22 +10:00
Mike Hommey
c2df8cd611 Bug 1290026 - Automatically set LIB from configure. r=chmanchester 2016-08-02 13:17:19 +09:00
Mike Hommey
c6b7fab94b Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester 2016-08-02 13:17:17 +09:00
ffxbld
3df383b855 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-08-01 07:09:05 -07:00
Carsten "Tomcat" Book
8321d9897b Backed out changeset a4a381f85dc8 (bug 1290026) 2016-08-01 09:12:37 +02:00
Carsten "Tomcat" Book
2b84fbf042 Backed out changeset 90559af62774 (bug 1290026) 2016-08-01 09:12:36 +02:00
Carsten "Tomcat" Book
fc8e03f0d8 Merge mozilla-central to autoland 2016-07-30 16:49:41 +02:00
Eugen Sawin
a90cb717a5 Bug 1272693 - [1.1] Disable building libpkix. r=keeler,ted 2016-07-29 15:25:07 +02:00
Carsten "Tomcat" Book
73a62f5c90 Backed out changeset dd66dc5f5603 (bug 1272693) for bustage
--HG--
extra : rebase_source : cc915fd36fbd5119335a591382b81e9f84c78229
2016-07-29 13:27:30 +02:00
Eugen Sawin
164a43e6c7 Bug 1272693 - [1.1] Disable building libpkix. r=keeler,ted 2016-07-29 12:42:56 +02:00
Mike Hommey
8eff2bec09 Bug 1290026 - Automatically set LIB from configure. r=chmanchester
--HG--
extra : rebase_source : 4ca572685169fdd2fbb0c9ae6aac5361d2669569
2016-07-27 18:01:04 +09:00
Mike Hommey
9bca5c6d3a Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester
--HG--
extra : rebase_source : e96decbc05d41e25a80cd3d1d61a7b36ba91f08b
2016-07-27 17:03:09 +09:00
Mike Hommey
02e5baaf74 Bug 1289246 - Do not hardcode mt.exe as the Manifest Tool. r=chmanchester
Configure uses the value of the MT environment variable before falling back
to mt(.exe), but the build system was completely ignoring the MT
environment variable.

--HG--
extra : rebase_source : 8c9b43aeb08493ae5bd6d6361f4f18f097ea0553
2016-07-22 15:56:26 +09:00
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