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

5358 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Bogdan Tara 597ad02dc7 Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-circle-056-ref.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-circle-056-ref.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-circle-056.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-circle-056.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-ellipse-052-ref.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-ellipse-052-ref.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-ellipse-052.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-ellipse-052.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-polygon-032-ref.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-polygon-032-ref.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-polygon-032.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-polygon-032.html
2018-05-25 13:01:23 +03:00
Nick Alexander 72a9479310 Bug 1464128 - Migrate bookmarks.html.in to LOCALIZED_GENERATED_FILES. r=ted.mielczarek
This one looks to be pretty straight-forward.  It irritates me that
the jar.mn entry doesn't explicitly say that the result is coming from
the object directory, like

locale/browser/bookmarks.html (!bookmarks.html)

but that's for another day.

MozReview-Commit-ID: Cw8E0VJhSxv

--HG--
extra : rebase_source : a1045a5b564b0094b562729bc7234e69ec7a786d
2018-05-24 11:28:47 -07:00
Robin Templeton f6e5382e6a bug 1366287 - Part 2.0: Use GMP integers to represent BigInt values. r=jwalden
Also link to libgmp and initialize it with custom memory allocation
functions.

--HG--
extra : rebase_source : 3aab0578a0b9e61c4aea5c7b7d1d572316f63b46
2018-05-11 19:42:48 -07:00
Sylvestre Ledru a80feff40b bug 1463425 - Fix flake8/pep8 issue by hand in config/ r=gps
MozReview-Commit-ID: 6B60uh4n2nY

--HG--
extra : rebase_source : 4fd44789a9ee6376c72bae1132f73c81dd1eacbc
2018-05-22 06:22:46 -07:00
Sylvestre Ledru 3d085810e5 bug 1463425 - autopep8 on config/ r=gps
MozReview-Commit-ID: EaTAhH2CAee

--HG--
extra : rebase_source : f278cd9fc6e8f9db720c1430121ba91e0417c9b9
2018-05-22 00:01:01 +02:00
Kris Maglione f8506d46d0 Bug 1460600: Remove unsupported --enable-system-hunspell flag. r=glandium
Our bundled Hunspell now significantly differs from upstream Hunspell. Most
importantly, it supports loading dictionaries from jar: URIs, which is now a
requirement for loading bundled and extension dictionaries. This means that
system Hunspell libraries are no longer compatible with our spell checker
code. We should remove the option to use them so that users don't fall into
the trap of trying to use them.

MozReview-Commit-ID: 2ihJe6YOnGf

--HG--
extra : rebase_source : ceb091b9475a2b101156405a02a60015fc36da17
2018-05-10 10:36:53 -07:00
Tom Ritter c5a26d81ec Bug 1457483 Retrieve nm from environment for check_vanilla_allocations.py r=glandium
MozReview-Commit-ID: HIZpMk4Ierb

--HG--
extra : rebase_source : 670da25b7e516e176f2eae116b58e5e62ccbbde7
2018-04-27 10:25:35 -05:00
Andreea Pavel 47d4e9de33 Backed out changeset 23b5cf2c6824 (bug 1457483) for build bustages e.g. OSError: [Errno 13] Permission denied/ make[2]: *** [check-vanilla-allocations] Error 1 on a CLOSED TREE 2018-05-16 17:51:49 +03:00
Tom Ritter c27fff25b3 Bug 1457483 Retrieve nm from environment for check_vanilla_allocations.py r=glandium
MozReview-Commit-ID: HIZpMk4Ierb

--HG--
extra : rebase_source : 5671a3f0ad8599aafb737f9fe6f76a5a4aa1d896
2018-04-27 10:25:35 -05:00
Martin Stransky 5fbefbfb2d Bug 1460605 - Provide NS_NATIVE_EGL_WINDOW to get a native EGL window on Wayland, r=jhorak
Original patch author is Takuro Ashie <ashie@clear-code.com>

Provide ability to create native EGL window and provide it under NS_NATIVE_EGL_WINDOW
to GL code. The native EGL window is owned/managed by mozcontainer.

MozReview-Commit-ID: 4d0Kk6DRSaD

--HG--
extra : rebase_source : e4677ce51fbf918eb1b0257c66ca4b7220174bbb
2018-05-10 16:04:20 +02:00
Dorel Luca 0d2ff9e60d Merge mozilla-inbound to mozilla-central. a=merge 2018-05-16 00:54:22 +03:00
Nathan Froyd 9bd5c61497 Bug 1459721 - part 8 - pass full paths for IDL files to xpidl-process.py; r=chmanchester
The build system knows at build-backend time where to find each IDL
file; making xpidl-process.py rediscover this by requiring
xpidl-process.py to search through directories to find input IDL files
is silly.  To rememdy this, we're going to modify things so full paths
are passed into the script.  Those paths can then be used directly, with
no searching.
2018-05-15 10:05:23 -04:00
Nathan Froyd 33635829ac Bug 1459721 - part 7 - remove dist_idl install manifest; r=chmanchester
We no longer need to install the IDL files to the objdir for
processing. \o/
2018-05-15 10:05:23 -04:00
Nathan Froyd 6d76a90b37 Bug 1459721 - part 6 - remove redundant dependency code from xpidl Makefile.in; r=chmanchester
The tail end of the xpidl Makefile.in contains a line, generated for
every xpt file:

$(1): $(addsuffix .idl,$(addprefix $(dist_idl_dir)/,$($(basename $(notdir $(1)))_deps)))

This line, in context, is saying that the xpt file depends on all of its
input IDL files.  But xpidl-process.py already generates this
information when we pass it --depsdir, which we do.  So this code is
redundant with what we already generate, and it can be removed.
2018-05-15 10:05:24 -04:00
Nathan Froyd 2f6686cbec Bug 1459721 - part 5 - explicitly specify include directories for xpidl files; r=chmanchester
The previous patch required us to pass a single -I argument pointing at
$(DIST)/idl so IDL include statements would work correctly.  This patch
lifts that limitation and explicitly points xpidl-process.py at the
locations of all the IDL source directories to search for included IDL
files.  Invocations of xpidl-process.py no longer depend on IDL files
being copied to the objdir.
2018-05-15 10:05:24 -04:00
Nathan Froyd 236d75aaae Bug 1459721 - part 4 - explicitly specify input directories for xpidl modules; r=chmanchester
Building on the last patch, we can change the build process to pass in
the directories where the input IDL files can be found.  It is
convenient to pass in just the relative source directory paths, to
encourage people to not look in the object directory and to make the
command lines slightly shorter.

xpidl-process.py still assumes that included IDL files can be found by
looking in a single directory.  We add a single -I argument to the
invocation of xpidl-process.py to accommodate this short-sightedness.
2018-05-15 10:05:24 -04:00
Nathan Froyd 31e67ea398 Bug 1459721 - part 3 - enable multiple input paths for xpidl-process.py; r=chmanchester
The current IDL build setup assumes that all IDL files can be found in a
single directory.  This setup requires that all IDL files be copied to a
single directory, which is suboptimal in terms of disk I/O and also
complicates things like generating IDL files at build time.

As a first step in moving away from this state of affairs,
xpidl-process.py needs to be taught that the input IDL files could
potentially be found in multiple directories.  The current setup can
just specify $(DIST)/idl as the lone directory to examine.  Future
patches will change this to examine multiple directories.
2018-05-15 10:05:24 -04:00
Mike Shal 8d4c5d5849 Bug 1454912 - Use a .stub file as the target for all GENERATED_FILES rules; r=nalexander
The make backend was treating the first output of a GENERATED_FILES rule
specially, since it was the target of the rule containing the script
invocation. We want the outputs of GENERATED_FILES rules to be
FileAvoidWrite so that we avoid triggering downstream rules if the
outputs are unchanged, but if the target of the script invocation is
FileAvoidWrite, then make may continually re-run the script during a
no-op build.

The solution here is to use a stub file as the target of the script
invocation which will always be touched when the script runs. Since
nothing else in the build depends on the stub, we don't need to
FileAvoidWrite it. All actual outputs of the script can be
FileAvoidWrite, and make can properly avoid work for files that haven't
changed.

MozReview-Commit-ID: 3GejZw2tpqu

--HG--
extra : rebase_source : 2b9be82f893e89a4c2f254f05b1e8b9a0f9c631b
2018-05-09 08:24:31 -04:00
Nick Alexander 53d03bac82 Bug 1460716 - Make mobile/android artifact builds produce features JSON. r=gps
I don't understand how this will interact with the parts of the build
where we try to avoid installing the dist/bin manifest, but this makes
sense to me and it works locally for mobile/android and for browser/.

MozReview-Commit-ID: L7RtA4K3WrX

--HG--
extra : rebase_source : 3c08a5aab5398eb3b5685b18e5fe06e926db5f85
2018-05-11 13:51:38 -07:00
Ted Mielczarek 1044f75cf5 bug 1459597 - fix Original Filename display in Windows file version info. r=chmanchester
MozReview-Commit-ID: 1JdpRcbS6qN

--HG--
extra : rebase_source : d2b3b6ab3cd5b40b0285557bb6f1b0ae6b0bfc17
2018-05-11 11:56:12 -04:00
André Bargull a72259bbca Bug 1459285: Update tzdata in ICU data files to 2018e. r=Waldo 2018-05-09 01:12:01 -07:00
Ciure Andrei a7fbf22348 Backed out 11 changesets (bug 1457560, bug 1366287) for causing Linux build bustages CLOSED TREE
Backed out changeset e71da1f3c048
Backed out changeset 971159738904 (bug 1366287)
Backed out changeset 68fae6784ebe (bug 1366287)
Backed out changeset a18120245eb7 (bug 1366287)
Backed out changeset 3bbd03d726e5 (bug 1366287)
Backed out changeset f80aac2c702a (bug 1366287)
Backed out changeset c834c0c12a7f (bug 1366287)
Backed out changeset dd19d38a2b1c (bug 1366287)
Backed out changeset 76fdbe405fbd (bug 1366287)
Backed out changeset b424782cd5d1 (bug 1366287)
Backed out changeset e4fd5393d398 (bug 1457560)
2018-05-12 08:00:13 +03:00
Robin Templeton 9684972b62 bug 1366287 - Part 2.0: Use GMP integers to represent BigInt values. r=jwalden
Also link to libgmp and initialize it with custom memory allocation
functions.
2018-05-11 19:42:48 -07:00
David Major e02fd9579e Bug 1460020: Filter out PGO flags from cargo's LDFLAGS. r=froydnj 2018-05-11 10:37:55 -04:00
Kris Maglione 4900714df7 Bug 1457321: Part 1 - Add bundled dictionaries to built_in_addons.json. r=ted,rhelmer
MozReview-Commit-ID: GxCSXXaz8kz

--HG--
extra : rebase_source : a334cfbeee786aeaca373b5a7fc8107fa44c2243
2018-04-27 15:42:55 -07:00
Sylvestre Ledru d8248a15c7 Bug 1418425 - Remove libbz2 files as we were only using it for crc32 as the updater moved to lzma r=glandium
MozReview-Commit-ID: 8Sz8vtV0b5G

--HG--
extra : rebase_source : 9f48f2e181fb16ad6bde1c357d74f879e1ef101e
2017-11-24 16:45:47 +01:00
Gurzau Raul fcba2de1c0 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-05-08 01:09:48 +03:00
ffxbld f30847c12e Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-05-07 16:29:07 +00:00
Xidorn Quan 12ddb6a1e7 Bug 1457524 part 3 - Check rustdoc for rust tests. r=froydnj
MozReview-Commit-ID: 4qRccUcXq6O

--HG--
extra : rebase_source : 684fd08a18f55a1f620fa305b22b31e002077a0a
2018-05-02 20:02:04 +10:00
Xidorn Quan 28f16a3912 Bug 1457524 part 2 - Run all rust tests regardless of failures. r=froydnj
MozReview-Commit-ID: K4ZhFOWd6gd

--HG--
extra : rebase_source : 176ecf1b54e949d2a177f15106dd7a31d158c845
2018-05-02 17:13:25 +10:00
Xidorn Quan 1c8dc43017 Bug 1457524 part 1 - Use a list for rust tests. r=froydnj
MozReview-Commit-ID: 6A0hHClXDUE

--HG--
extra : rebase_source : 827bb569642aa2ad834b94f08af3f60b68552de4
2018-05-02 11:51:25 +10:00
Nick Alexander 00dc996ad3 Bug 1444546 - Post: Remove add_java_jar and support. r=froydnj
MozReview-Commit-ID: J6E2ZOs9r3P

--HG--
extra : rebase_source : 0e68f776e95e0fd2fec4607435d030acc68ca0ad
2018-03-06 14:48:20 -08:00
Nick Alexander bf575d403e Bug 1444546 - Part 4: Use GENERATED_FILES for Android JNI wrapper generation. r=froydnj,jchen
MozReview-Commit-ID: 1IjoQdEMqr8

--HG--
extra : rebase_source : 9f2e539328d83aa15bce0357a8c7d2722d517b2a
2018-03-06 20:09:37 -08:00
Nick Alexander 53a4852ffa Bug 1444546 - Part 3: Use GENERATED_FILES for Android SDK bindings generation. r=froydnj,jchen
MozReview-Commit-ID: 2blmzKTvpj3

--HG--
extra : rebase_source : 0954b407ce6625510eadc67dd9989da949b22110
2018-03-06 19:19:48 -08:00
Nick Alexander 520b63c85e Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen
We want annotationProcessors to be compiled and archived into a JAR at
build time, ready to generate JNI wrappers.  (That is, until we turn
the whole thing into a real annotation processor.)  But even if we do
use a real annotation processor, we still need to generate SDK
bindings, which is less clearly expressed as an annotation processor.
(It's more of a build step.)

Gradle provides a huge number of ways to organize build logic to
achieve this: see
https://docs.gradle.org/current/userguide/organizing_build_logic.html.
Unfortunately, the best such way -- putting the code into
$topsrcdir/buildSrc -- has key disadvantages:

1) it pollutes the top-level $topsrcdir, and there's no way to change the
location of buildSrc (https://github.com/gradle/gradle/issues/2472);

2) it's complicated to have a dependent project
(mobile/android/annotations) expose its code via a buildSrc project;

3) using buildSrc at all appears to conflict with the Android-Gradle
plugin version that we are using.

Therefore, this commit does something much simpler: it adds a
Java-only project and uses the resulting Gradle "Jar" task and archive
output as input to the existing Gradle "generate JNI wrappers" task.

MozReview-Commit-ID: 2OyYLPneE1M

--HG--
extra : rebase_source : d99b74a0a1e0bb3e8f4d4540978328388e5c2e42
2018-02-22 16:11:14 -08:00
Jan de Mooij d047348566 Bug 1063728 - Run SpiderMonkey style checkers as part of the build instead of make check. r=chmanchester 2018-04-26 09:09:51 +02:00
Cosmin Sabou 4595d43d3a Merge inbound to mozilla-central. a=merge
--HG--
rename : browser/modules/offlineAppCache.jsm => toolkit/modules/offlineAppCache.jsm
2018-04-20 01:29:10 +03:00
Chris Manchester df340972e4 Bug 1449965 - Output directories during the build as we compile object files. r=ted
MozReview-Commit-ID: K4RrObGHXIC

--HG--
extra : rebase_source : 09e66caa36cd6bac1d5ac4bbf300ab4ee93fce27
2018-04-19 00:16:57 -07:00
Xidorn Quan a8cc0738f6 Bug 1452542 part 6 - Replace uses of PythonCSSProps.h with the data file generated from Servo. r=froydnj
Some content in Makefile.in is removed because after this change, the
scripts no longer invoke the preprocessor and thus don't have unknown
dependencies anymore outside what is provided in their inputs array.

The order of exports.PREFERENCES in properties-db changes because the
data file has shorthands placed after longhands. The only usage of it
is in test_css-properties-db.js which doesn't care about the order.

MozReview-Commit-ID: AMjzTRf2HYN

--HG--
extra : rebase_source : 7976e48e7c7bba467d77a34ab0d7709cde1ecdf4
2018-04-17 14:40:12 +10:00
Gregory Szorc 32bab4f00f Bug 1455120 - Prefix output from automation tiers; r=mshal
We add a minimal Python script to run a process and prefix all its
output with a string. We change the automation tiers to evaluate all
make targets using this script.

MozReview-Commit-ID: 79g5KUd5ked

--HG--
extra : rebase_source : 63388a71b51e5abc05ca8bd48e180af72bf799e6
2018-04-18 14:30:05 -07:00
Andreea Pavel 1b610a02c9 Backed out 7 changesets (bug 1452542) for failing toolkit/content/tests/chrome/test_arrowpanel.xul on a CLOSED TREE
Backed out changeset f206acff283f (bug 1452542)
Backed out changeset be97e652391f (bug 1452542)
Backed out changeset 4d3a028edaed (bug 1452542)
Backed out changeset 5619bba37cdd (bug 1452542)
Backed out changeset e83a797bdc61 (bug 1452542)
Backed out changeset 255e2feff19f (bug 1452542)
Backed out changeset fac55b1a0706 (bug 1452542)
2018-04-18 20:10:35 +03:00
Xidorn Quan ddcc60ec27 Bug 1452542 part 6 - Replace uses of PythonCSSProps.h with the data file generated from Servo. r=froydnj
Some content in Makefile.in is removed because after this change, the
scripts no longer invoke the preprocessor and thus don't have unknown
dependencies anymore outside what is provided in their inputs array.

The order of exports.PREFERENCES in properties-db changes because the
data file has shorthands placed after longhands. The only usage of it
is in test_css-properties-db.js which doesn't care about the order.

MozReview-Commit-ID: AMjzTRf2HYN

--HG--
extra : rebase_source : f9db0659a81bea28b335806ac70e23dc0d36e493
2018-04-17 14:40:12 +10:00
Jan de Mooij 98422b2e61 Bug 1064316 - Rewrite check_spidermonkey_style.py to use os.walk instead of looking at the repo data. r=njn 2018-04-18 09:42:24 +02:00
Nika Layzell be8b24333a Bug 1444991 - Part 1: Read webidl's Bindings.conf, and pass it into xpidl, r=mccr8
This information is read in order to handle correctly selecting the native
type and header files for WebIDL types.
2018-04-17 19:20:58 -04:00
Nika Layzell 04547a4a00 Bug 1444745 - Part 4: Rewrite xptinfo, and write a new xptcodegen.py to generate the required datastructures, r=mccr8
This patch contains the meat of the changes here. The following summarize the changes:
1. xptinfo.h is rewritten to expose the new interface for reading the XPT data,

The nsXPTInterfaceInfo object exposes methods with the same signatures as
the methods on nsIInterfaceInfo, to make converting code which used
nsIInterfaceInfo as easy as possible, even when those methods don't have
signatures which make a ton of sense anymore. There are also a few methods
which are unnecessary (they return `true` or similar), which should be
removed over time.

Members of the data structures are made private in order to prevent reading
them directly. Code should instead call the getter methods. This should make
it easier to change their memory representation in the future. Constructing
these structs is made possible by making the structs `friend class` with the
XPTConstruct class, which is implemented by the code generator, and is able
to access the private fields.

In addition, rather than using integers with flag constants, I opted for
using C++ bitfields to store individual flags, as I found it made it easier
to both write the code generator, and reason about the layouts of the types.

I was able to shave a byte off of each nsXPTParamInfo (4 bytes -> 3 bytes)
by shoving the flags into spare bits in the nsXPTType. Unfortunately there
was not enough room for the retval flag. Fortunately, we already depend in
our code on the retval parameter being the last parameter, so I worked
around this by removing the retval flag and instead having a `hasretval`
flag on the method itself.

2. An xptinfo.cpp file is added for out-of-line definitions of more complex
methods, and the internal implementation details of the perfect hash.

Notable is the handling of xptshim interfaces. As the type is uniform, a
flag is checked when trying to read constant information, and a different
table with pointers into webidl data structures is checked when the type is
determined to be a shim.

Ideally we could remove this once we remove the remaining consumers of the
existing shim interfaces.

3. A python code generator which takes in the json XPT files generated in the
previous part, and emits a xptdata.cpp file with the data structures. I did
my best to heavily comment the code.

This code uses the friend class trick to construct the private fields of the
structs, and avoid a dependency on the ordering of fields in xptinfo.h.

The sInterfaces array's order is determined by a generated perfect hash
which is also written into the binary. This should allow for fast lookups by
IID or name of interfaces in memory. The hash function used for the perfect
hash is a simple FNV hash, as they're pretty fast.

For perfect hashing of names, another table is created which contains
indexes into the sInterfaces table. Lookup by name is less common, and this
form of lookup should still be very fast.

4. The necessary Makefiles are updated to use the new code generator, and
generate the file correctly.
2018-04-17 19:20:55 -04:00
Tom Prince c8c9d47e92 Bug 1436662: Package translated uninstaller; r=pike,mshal
The uninstaller was being built as a side-effect of building `setup.exe`. In
Bug 1385227, that was moved from "somewhere" to part of the windows installer
packaging, which happens after the zip and mar are generated. Since the
installer we ship is actually repackaged from the zip[1], we stopped shipping
translated uninstallers.

This changes things around so that the uninstaller gets translated:
- Explicitly build the uninstaller as part of the L10n repack step.
- Use the same logic to build the installer locally as we do to create the ones
  we ship.

[1] Except on Thunderbird

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

--HG--
extra : rebase_source : 05fe935c1d2a9fbfeef786819bfe5913ed8ef862
extra : source : d6bf22099e2195dcb64c3c3d7700d3edd0850a3a
2018-04-16 12:49:53 -06:00
Brindusan Cristian 34b33a520a Backed out 2 changesets (bug 1436662) for build bustages on /installer/windows. CLOSED TREE
Backed out changeset fcb756834abb (bug 1436662)
Backed out changeset d6bf22099e21 (bug 1436662)
2018-04-17 19:08:21 +03:00
Tom Prince cdf80aa336 Bug 1436662: Package translated uninstaller; r=pike,mshal
The uninstaller was being built as a side-effect of building `setup.exe`. In
Bug 1385227, that was moved from "somewhere" to part of the windows installer
packaging, which happens after the zip and mar are generated. Since the
installer we ship is actually repackaged from the zip[1], we stopped shipping
translated uninstallers.

This changes things around so that the uninstaller gets translated:
- Explicitly build the uninstaller as part of the L10n repack step.
- Use the same logic to build the installer locally as we do to create the ones
  we ship.

[1] Except on Thunderbird

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

--HG--
extra : rebase_source : 2b28b9ff7196d12f4a188c8dddf750b9a5efac5b
extra : histedit_source : 9bc28891950ae8c226cfdefef6f8121ce0b51f58
2018-04-16 12:49:53 -06:00
Jan de Mooij e43e8a5da5 Bug 1064316 - Rewrite check_macroassembler_style.py to use os.walk instead of looking at the repo data. r=nbp 2018-04-19 13:02:00 +02:00
Emilio Cobos Álvarez b79062c130 Bug 1436179: Lazily grow the ProfileEntryStorage. r=mstange,jandem
MozReview-Commit-ID: BEGP1ykl4S
2018-04-13 14:59:59 +02:00
Emilio Cobos Álvarez 94ff0cdd36 Back out changeset cc008b8e4c3c (Bug 1436179) for landing without JS peer review. r=me
This reverts commit 60a7cbed8cbef17125911617230fdeb56eca977c.
2018-04-13 09:55:52 +02:00
Emilio Cobos Álvarez d338749d0a Bug 1436179: Lazily grow the ProfileEntryStorage. r=mstange
MozReview-Commit-ID: BEGP1ykl4S
2018-04-13 09:20:12 +02:00
David Teller 14b9afe8c3 Bug 1437004 - Porting BinAST to AST v3;r=arai,jorendorff
This patch is a nearly complete reimplementation of BinASTReader, with the following changes:

- Files BinToken.h, BinSource-auto.h (new), BinSource-auto.cpp (new) are now autogenerated by the generator in js/src/frontend/binsouce from the webidl specifications of BinAST and a small
configuration file.
- Optional fields have been removed. Rather, some specific fields may, if so marked in the specifications, contain a Null constant.
- `hasDirectEval` is now checked for consistency (NOT completeness).
- `varDeclaredNames` is now checked for consistency (NOT completeness).
- `lexicallyDeclaredNames` is now checked for consistency (NOT completeness).
- `parameterNames` is now checked for consistency (NOT completeness).
- `capturedNames` is NOT checked.
- Atoms read are now properly expected to be UTF8.

This patch does not implement the entire specifications, but should implement most of ES5. In particular, it is sufficient to parse the source code of:
- Facebook;
- jQuery;
- mootools;
- Underscore;
- Backbone;
- Angular.

MozReview-Commit-ID: HwkVB5dliZv

--HG--
extra : rebase_source : fd7e068343e2af8926c5185e7199ea110a5149bc
2018-02-21 17:07:03 +01:00
Andrew McCreight 27f44d82d0 Bug 1438688, part 6 - Compile XPT information to C++ at build time. r=glandium,njn
This patch handles the actual generation of the static data structures
used to represent XPT information. XPT files are generated in the same
way as they are now, but they are used only as an intermediate
representation to speed up incremental compilation rather than
something used by Firefox itself. Instead of linking XPTs into a
single big XPT file at packaging time, they are linked into a single
big C++ file at build time, that defines the various static consts in
XPTHeader.

In xpt.py, every data structure that can get written to disk gets an
additional code_gen() method that returns a representation of that
data structure as C++ source code. CodeGenData aggregates this
information together, handling deduplication and the final source code
generation.

The ctors are needed for XPTConstValue to statically initialize the
different union cases without resorting to designated initializers,
which are part of C99, not C++. Designated initializers appear to be
supported in C++ code by Clang and GCC, but not MSVC. The ctors must
be constexpr to ensure they are actually statically initialized so
they can be shared between Firefox processes.

I also removed an unnecessary "union" in XPTConstDescriptor.

Together, these patches reduce the amount of memory reported by
xpti-working-set from about 860,000 bytes to about 200,000 bytes. The
remaining memory is used for xptiInterface and xptiTypelibGuts (which
are thin wrappers around the XPT interfaces and header) and hash
tables to speed up looking up interfaces by name or IID. That could
potentially be eliminated from dynamic allocations in follow up
work. These patches did not affect memory reporting because XPT arenas
are still used by the remaining XPTI data structures.

MozReview-Commit-ID: Jvi9ByCPa6H

--HG--
extra : rebase_source : a9e48e7026aab4ad1b7f97e50424adf4e3f4142f
2018-03-12 10:30:35 -07:00
Andrew McCreight e80864c94c Bug 1438688, part 3 - Remove XPT files from the packaging process. r=glandium
Now that XPT files are not loaded from files at runtime, code for
packaging XPT files can be removed.

This means that a couple of test XPIDL interfaces will get shipped in
builds to users that weren't before, but I don't think that matters
much.

This also puts XPT files into the local objdir for the XPIDL makefile,
instead of dist/bin, because they are no longer part of the
distribution.

MozReview-Commit-ID: 7gWj8KWUun3

--HG--
extra : rebase_source : 65bac47c2cd1a20b3c675a01b44a25a1d2d3ab7a
2018-03-05 14:27:29 -08:00
Dorel Luca f24505d99e Backed out 7 changesets (bug 1438688) for android xpcshell failures on builds/worker/workspace/build/tests/bin/components/test_necko.xpt
Backed out changeset 8786eabb61a4 (bug 1438688)
Backed out changeset e05ec1e08b46 (bug 1438688)
Backed out changeset 4c437ba9d984 (bug 1438688)
Backed out changeset 2f243bca1af3 (bug 1438688)
Backed out changeset 4da0e1839353 (bug 1438688)
Backed out changeset 186f916dcc7a (bug 1438688)
Backed out changeset 08b1a5f904e4 (bug 1438688)
2018-04-03 02:30:53 +03:00
Andrew McCreight 7407c149a0 Bug 1438688, part 6 - Compile XPT information to C++ at build time. r=glandium,njn
This patch handles the actual generation of the static data structures
used to represent XPT information. XPT files are generated in the same
way as they are now, but they are used only as an intermediate
representation to speed up incremental compilation rather than
something used by Firefox itself. Instead of linking XPTs into a
single big XPT file at packaging time, they are linked into a single
big C++ file at build time, that defines the various static consts in
XPTHeader.

In xpt.py, every data structure that can get written to disk gets an
additional code_gen() method that returns a representation of that
data structure as C++ source code. CodeGenData aggregates this
information together, handling deduplication and the final source code
generation.

The ctors are needed for XPTConstValue to statically initialize the
different union cases without resorting to designated initializers,
which are part of C99, not C++. Designated initializers appear to be
supported in C++ code by Clang and GCC, but not MSVC. The ctors must
be constexpr to ensure they are actually statically initialized so
they can be shared between Firefox processes.

I also removed an unnecessary "union" in XPTConstDescriptor.

Together, these patches reduce the amount of memory reported by
xpti-working-set from about 860,000 bytes to about 200,000 bytes. The
remaining memory is used for xptiInterface and xptiTypelibGuts (which
are thin wrappers around the XPT interfaces and header) and hash
tables to speed up looking up interfaces by name or IID. That could
potentially be eliminated from dynamic allocations in follow up
work. These patches did not affect memory reporting because XPT arenas
are still used by the remaining XPTI data structures.

MozReview-Commit-ID: Jvi9ByCPa6H

--HG--
extra : rebase_source : 719dfbcb9f83235c0f1f0766270b7f127f9ab04e
2018-03-12 10:30:35 -07:00
Andrew McCreight fc09560f06 Bug 1438688, part 3 - Remove XPT files from the packaging process. r=glandium
Now that XPT files are not loaded from files at runtime, code for
packaging XPT files can be removed.

This means that a couple of test XPIDL interfaces will get shipped in
builds to users that weren't before, but I don't think that matters
much.

This also puts XPT files into the local objdir for the XPIDL makefile,
instead of dist/bin, because they are no longer part of the
distribution.

MozReview-Commit-ID: 7gWj8KWUun3

--HG--
extra : rebase_source : 6f7d4fd1d6cdea2c14866705a2dc972eb5f43382
2018-03-05 14:27:29 -08:00
André Bargull 885f7cd752 Bug 1449574: Update tzdata in ICU data files to 2018d. r=Waldo
--HG--
extra : rebase_source : 31cf8dfab7a49519a56b5eefc4d0c711c0ddf645
2018-03-29 10:02:57 -07:00
Ciure Andrei 5d841a3421 Merge inbound to mozilla-central. a=merge 2018-03-30 01:06:18 +03:00
André Bargull 4669025773 Bug 1445465 - Part 2: Update in-tree ICU to release 61.1. rs=Waldo
--HG--
extra : rebase_source : 581636d37a7aa1ed6044dd0729aeeaab97d3e57a
2018-03-27 07:37:54 -07:00
Jeff Walden 5ad04f03a4 Bug 1447475 - Rip out support code for setting MOZ_ICU_DATA_ARCHIVE and shipping ICU data in a file outside the binary. r=ted
--HG--
extra : rebase_source : 95ab9cd884297ed36b419d872110cee9be887bff
2018-03-20 18:30:16 -07:00
shindli 1e7274100e Backed out 2 changesets (bug 1449051, bug 1447475) for MnH and en-US failures on a CLOSED TREE
Backed out changeset d9a446d356da (bug 1449051)
Backed out changeset 851ed02cdac1 (bug 1447475)
2018-03-28 02:05:38 +03:00
Jeff Walden 051680cc8e Bug 1447475 - Rip out support code for setting MOZ_ICU_DATA_ARCHIVE and shipping ICU data in a file outside the binary. r=ted 2018-03-20 18:30:16 -07:00
David Major 8cc756f020 Bug 1448378: Fix build and symbols on Windows ASan. r=froydnj
--HG--
extra : rebase_source : 86b0702d54af96ee39ff82e109164cd10a8d138e
2018-03-26 17:07:30 -04:00
Dave Hunt 057d540744 Bug 1438250 - Make mozunit pip installable; r=ahal
MozReview-Commit-ID: BT4ciGT82bp

--HG--
rename : config/mozunit.py => config/mozunit/mozunit/mozunit.py
extra : rebase_source : a68fa4f5dce77ccf7c55184c555bb37b3a876278
2018-03-29 14:18:00 +01:00
Andrew Halberstadt 4d112dbe6e Bug 1445624 - [mozlog] Add some tests for the mach formatter, r=gbrown
This adds a basic test for the mach formatter. This will ensure that changes to
this format are intentional. It will also make it easier for reviewers of these
changes to see a diff of the old vs new format.

MozReview-Commit-ID: LBSfdyvOPVV

--HG--
extra : rebase_source : 5529ad1f03306dcf867d88af579b69d6005091c0
2018-03-19 11:55:31 -04:00
Chris Manchester 0a830e8691 Bug 1429875 - Implement OBJ_SUFFIX overriding for the profile generation phase on linux in mozbuild. r=glandium
MozReview-Commit-ID: 8PtgxfbxuE

--HG--
extra : rebase_source : fd8934ee2c70883e30a7b51d4b64944d3ce7e6ee
2018-03-20 16:44:12 -07:00
Chris Manchester de12a7992b Bug 1429875 - Remove expandlibs and instead generate list files in the mozbuild backend. r=glandium
MozReview-Commit-ID: 5eLwnh1HHGj

--HG--
extra : rebase_source : cd308adc4542be0f9b33b64d31a2d0dc0310fcd4
2018-03-20 16:31:05 -07:00
Chris Manchester fb59fb974a Bug 1429875 - Do not take DIST_INSTALL into account when deciding to build static libraries. r=glandium
Now that we're no longer shipping the SDK we no longer need real libraries for
the libraries that were created by this rule.

MozReview-Commit-ID: ALATVGBayHu

--HG--
extra : rebase_source : a20905125e5ff1846ef29de12323ba7b0a58928b
2018-03-20 16:31:05 -07:00
Chris Manchester 2cc5f5d9d2 Bug 1255485 - Don't assume target path is srcdir relative when locating a program's manifest on windows. r=ted
MozReview-Commit-ID: L5BVxWGtpeN
2018-03-19 14:07:32 -07:00
Ted Mielczarek 39f62680ca bug 1255485 - force import libraries to be generated in objdir, not dist/bin. r=chmanchester
The MSVC linker winds up generating import libraries when linking some of
our executables, presumably because they contain functions that are
__declspec(dllexport). By default the import libraries get written
alongside the exe, so we force them to be written to the objdir so they don't
clutter up dist/bin.

MozReview-Commit-ID: 7DTfCo3OdDQ
2017-11-27 09:03:31 -05:00
Ted Mielczarek 9cbb220c5f bug 1255485 - Remove NSDISTMODE=copy support from config.mk. r=nalexander
MozReview-Commit-ID: L5Pe4NexbJD
2017-11-22 15:31:01 -05:00
Ted Mielczarek dcdf597820 bug 1255485 - build PROGRAMs directly in dist/bin instead of copying them. r=nalexander
Historically we built all our binaries in directories in the objdir, then
symlinked them into dist/bin. Some binaries needed to be copied instead
so that certain relative path lookups work properly, so we resorted to
sprinkling `NSDISTMODE=copy` around Makefiles.

This change makes it so we build PROGRAMs (not any other sort of targets)
directly in dist/bin instead. We could do the same for our other targets
with a little more work.

There were several places in the tree that were copying built binaries to
some other place and needed fixup to match the new location of binaries.

On Windows pdb files are left in the objdir where the program was
originally linked. symbolstore.py needs to locate the pdb file both to
determine whether it should dump symbols for a binary and also to copy
the pdb file into the symbol package. We fix this by simply looking for
the pdb file in the current working directory if it isn't present next
to the binary, which matches how we invoke symbolstore.py.

MozReview-Commit-ID: 8TOD1uTXD5e
2018-01-10 14:26:12 -05:00
Sebastian Hengst d247fb5f4e Bug 1445763 - Update moz.build meta data with "Firefox Build System". r=froydnj
MozReview-Commit-ID: 3FrWJ6441pe

--HG--
extra : rebase_source : c8f1dc45041132252e28869ada6a386270267431
2018-03-14 21:44:46 +01:00
Jan de Mooij 68d3bff395 Bug 1445592 - Generate Ion LOpcodes.h and MOpcodes.h instead of updating them manually. r=nbp,froydnj 2018-03-14 18:58:52 +01:00
Nathan Froyd 2f491089d2 Bug 1340588 - enable clang-cl to generate depfiles directly, rather than using a wrapper; r=build-peer
We use a wrapper script when compiling with MSVC to parse the
/showIncludes output and thereby generate a Makefile dependency
fragment.  This fragment enables us to do correct and faster incremental
builds.  But the cost of invoking the wrapper script can be significant;
it's an extra process or two to launch for every single compilation.

Instead, let's have clang-cl generate the dependencies directly, which
should be somewhat faster.
2018-03-13 09:06:00 -05:00
Margareta Eliza Balazs d6d1b8a6a5 Merge inbound to mozilla-central. a=merge 2018-03-13 01:10:10 +02:00
ffxbld 99df6dad05 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-03-12 13:20:48 +00:00
Nathan Froyd dfc23d3001 Bug 1437627 - part 2 - move incremental compilation logic to moz.configure; r=chmanchester
Doing checks in Python is much simpler than doing them in Makefile
logic, and we're going to be adding some more complex logic in the next patch.
2018-03-12 12:25:39 -05:00
Philipp Kewisch 149ede6042 Bug 1441791 - Use MOZILLA_DIR when including from mozilla topsrcdir. r=ted
MozReview-Commit-ID: 47Euw1vkVw6

--HG--
extra : rebase_source : b0aea1a50673f6b74b5086515ae35ab54af9d57e
2018-02-28 13:16:17 +01:00
Nick Alexander d825eb0d47 Bug 1439742 - Allow {AB_CD} and {AB_rCD} in LOCALIZED_GENERATED_FILES. r=ted.mielczarek
There are a lot of choices and moving pieces in this commit.  I elected
to include the mechanics and the target use case in the same commit so
that readers can compare and contrast the implementation and final
expression in one review window.

- Initially, I wanted to make the {AB_CD} substitutions in
LOCALIZED_FILES and not in LOCALIZED_GENERATED_FILES.  However, I ran
into conceptual blockers doing this.  Fundamentally, LOCALIZED_FILES
is FINAL_TARGET_FILES, and my use case should _not_ be putting files
anywhere near dist/bin.  In addition, LOCALIZED_FILES
(FINAL_TARGET_FILES) is handled using manifests, which would need to
grow locale-aware functionality to handle this.  That's not desirable.
In addition, if we use manifests, then we lose the powerful locality
of |mach build mobile/android{/base}| re-generating changed
locale-dependent resources.  This is similar to how the build system
plumbs dist/idl manifest processing throughout the build: we're
repairing local workflows after moving work into a global process.
For these reasons, this doesn't support {AB_CD} in LOCALIZED_FILES.

- There is even another layer of complexity!  There are two axes
involved with these files: AB_CD controls localization and the Make
target controls destination.  For the record, it is:

regular builds - AB_CD unset
multi-locale builds - AB_CD set
single-locale repacks - AB_CD set

For the record, the existing logic (before any changes) is:

regular builds - Make target is `libs` in mobile/android/base/locales
multi-locale builds - Make target is `chrome-%` in mobile/android/base/locales
single-locale repacks - Make target is `libs` in mobile/android/base/locales

This commit adds targets for both destinations, and uses Make
chrome-%:: and libs:: magic to control what is invoked in the various
situations.  Tricky!

- I added MERGE_RELATIVE_FILES in order to be able to follow-up this
patch with more patches that will get rid of
m/a/base/locales/{moz.build,Makefile.in} altogether, and fold this work
into m/a/base.  As it stands, we're already reaching from
m/a/base/locales all the way out to
mobile/locales/.../region.properties, so the existing code doesn't
follow the layout expected between mozilla-central and
l10n-central/$(AB_CD).  But that'll impedance will get worse as we
improve the build system dependencies, not better, so we should grow
support for localized resources that aren't exactly as expected.

- I chose to follow Python's syntax for string substitutions.  I
would have preferred to mark files that should be localized with a
leading '%'... but I took that for filesystem absolute paths in
moz.build files already.  I also considered @AB_CD@ to echo the
preprocessor, but didn't want to open the door to an expecation that
_all_ preprocessor DEFINEs will work in the way {AB_CD} does.

- The generate_*py script changes required a bit of a hack to "turn
off" locale dependent resources.  This would have been nicer if we had
marked localized resources with '%'... but we didn't.  See the
--fallback flag.  The real reason this is needed is that we're doing
work which is more like the work of compare-locales (merging
locale-dependent resources) at build-time rather than repack time.  I
don't know why that's the case -- probably when we (I) implemented it,
compare-locales and the whole l10n process was entirely opaque.  It's
not worth changing it now, so we use this --fallback flag approach.

- I didn't get to tup support.  This should gently fail without
breaking tup builds: any {AB_CD} substitutions just won't be
expanded.  I haven't a clue how this should work in tup in the future
(or, more generally, how to make any sense of repacks without
declaring the full set of expected locales at configure time.)

- strings.xml can't be a LOCALIZED_PP_FILES, since we need to
customize the output location based on AB_rCD, and since we need a
little more flexibility than PP_FILES gives for our inputs.

MozReview-Commit-ID: MyfIkNSEzt

--HG--
rename : python/mozbuild/mozbuild/test/backend/data/localized-generated-files/en-US/localized-input => python/mozbuild/mozbuild/test/backend/data/localized-generated-files-AB_CD/en-US/localized-input
rename : python/mozbuild/mozbuild/test/backend/data/localized-generated-files/foo-data => python/mozbuild/mozbuild/test/backend/data/localized-generated-files-AB_CD/foo-data
rename : python/mozbuild/mozbuild/test/backend/data/localized-generated-files/generate-foo.py => python/mozbuild/mozbuild/test/backend/data/localized-generated-files-AB_CD/generate-foo.py
rename : python/mozbuild/mozbuild/test/backend/data/localized-generated-files/en-US/localized-input => python/mozbuild/mozbuild/test/backend/data/localized-generated-files-AB_CD/inner/locales/en-US/localized-input
rename : python/mozbuild/mozbuild/test/backend/data/localized-generated-files/moz.build => python/mozbuild/mozbuild/test/backend/data/localized-generated-files-AB_CD/moz.build
rename : python/mozbuild/mozbuild/test/backend/data/localized-generated-files/non-localized-input => python/mozbuild/mozbuild/test/backend/data/localized-generated-files-AB_CD/non-localized-input
extra : rebase_source : 816b6f220758f2bb3bdd3ec81a2cb02269c6de5b
2018-02-21 17:12:17 -08:00
Nick Alexander 28bdb5086a Bug 1439742 - Pre: Lift AB_rCD to ambient Make environment. r=ted.mielczarek
I wanted to lift this next to the definition of AB_CD, but that
doesn't allow to use it in a backend.mk file, due to the order in
which Makefile, config.mk, rules.mk, and backend.mk are processed.
Therefore, I've put it in a tiny include file, so that it can be used
by a Makefile and a backend.mk file.

This allows the `RecursiveMake` backend to owning defining AB_rCD in
backend.mk files, while not requiring consumers to arrange for AB_rCD
in a sibling Makefile.in file.

Other build backends will need to arrange for AB_rCD themselves: see
following commits.

MozReview-Commit-ID: I7GIzRbCCtf

--HG--
extra : rebase_source : 3277fedb43bc3d8007287c223554a085dae2f198
extra : source : 854c0f43a1f74b4e22aa7638b407580240c90dd5
2018-02-20 12:28:21 -08:00
Nick Alexander d6d04d1afc Bug 1439742 - Pre: Remove unused MERGE_FILES and EN_US_OR_L10N_FILE{S}. r=ted.mielczarek
MozReview-Commit-ID: 3jMUXSaooVW

--HG--
extra : rebase_source : 53beea2b51e55e10cdfcf5a87606b67ab5b6af7b
2018-02-19 09:50:20 -08:00
arthur.iakab 9bffb6aa72 Merge inbound to mozilla-central. a=merge 2018-02-27 11:58:55 +02:00
Kim Moir a7801a1404 Bug 1412906 - Remove config/makefiles/test/ r=nalexander DONTBUILD 2018-02-26 15:29:59 -05:00
Sebastian Hengst e6ed14057b merge mozilla-central to autoland on a CLOSED TREE
--HG--
extra : amend_source : d88824ea9bbe5e0298f0d64fd0e4cdedcbee342c
2018-02-24 03:07:44 +02:00
Nick Alexander 1ff0250889 Bug 1440433 - Part 2: Remove ANDROID_APK_{NAME,PACKAGE}. r=jchen
The last APK produced using the ANDROID_APK_* moz.build/Makefile.in
mechanism was Robocop, so we can get rid of these now.

MozReview-Commit-ID: 9b08ZvvOAoC

--HG--
extra : rebase_source : ac4fea057bf6e731b0f26a1b6902f17a7362076d
2018-02-22 13:36:49 -08:00
Jason Orendorff 405e06a621 Bug 1439936 - Change check_spidermonkey_style.py to support sorting "util/Windows.h". r=sfink.
Far more files #include "util/Windows.h" than <psapi.h>, so this makes the
style-checker check more things (and makes --fixup mode fix more things).

--HG--
extra : rebase_source : a0c4edf10ad7dd4b5e0265c49035acf242197e6c
2018-02-16 21:41:35 -06:00
Dave Hunt 99c36d0dd9 Bug 1438253 - Add Python 3 support to mozunit. r=gps
MozReview-Commit-ID: AJEb9Wcm2T4

--HG--
extra : rebase_source : 3b7dccc542b4d4b146d7f96bf89ee6c54b307a0c
2018-02-14 18:50:52 +00:00
Gurzau Raul 13030d55c1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-02-21 12:06:01 +02:00
Jeff Walden 5472050225 Bug 1438750 - Remove mfbt/double-conversion.h, and change existing users to instead do #include "double-conversion/double-conversion.h" themselves. r=froydnj on a CLOSED TREE
--HG--
extra : amend_source : 72f066d9c75ae5ccd4d1e929896a2b12aa0ddc8c
2018-02-21 10:15:43 +02:00
Gurzau Raul 14b89a5ae5 Backed out changeset 66c1c1596bea (bug 1438750) for assertion failure at TestFloatingPoint.cpp on Windows platform 2018-02-21 08:29:50 +02:00
Andrew McCreight 98c246e41e Bug 1219081 - Remove undefined reference to libxul_sdk_includes from XPIDL makefile. r=glandium
MozReview-Commit-ID: BK20h5Nexe0

--HG--
extra : rebase_source : 64008aabf15fe6b0a3fa44c43b0c3070dc762acf
2018-02-20 10:22:36 -08:00
Jeff Walden 2b6c4bedad Bug 1438750 - Remove mfbt/double-conversion.h, and change existing users to instead do #include "double-conversion/double-conversion.h" themselves. r=froydnj
--HG--
extra : rebase_source : 76ecf4ab0caf7a5367636a866512931d3fd9b962
2018-02-15 21:02:53 -08:00
Jason Orendorff c1d0be7190 Bug 1438278 - Part 4: Rename some files into js/src/util. r=jandem.
jsdtoa.* -> util/DoubleToString.*
jswin.h -> util/Windows.h
jsnativestack.cpp -> util/NativeStack.cpp
jsnativestack.h -> util/NativeStack.h
jsnspr.h -> util/NSPR.h

--HG--
rename : js/src/jsdtoa.cpp => js/src/util/DoubleToString.cpp
rename : js/src/jsdtoa.h => js/src/util/DoubleToString.h
rename : js/src/jsnspr.h => js/src/util/NSPR.h
rename : js/src/jsnativestack.cpp => js/src/util/NativeStack.cpp
rename : js/src/jsnativestack.h => js/src/util/NativeStack.h
rename : js/src/jswin.h => js/src/util/Windows.h
extra : rebase_source : 189adff9f7cb74dfbd101b6b39986d63b0274096
extra : amend_source : 34efb7c0a7dd23bb797940558616e0657b20ef20
extra : intermediate-source : 16fc0963cac52ccb1ed2de9c174855e8a3cb2b52
extra : source : 7b8377e2efd5994b37b65bebd1fdd4367a849b93
2018-02-14 16:04:42 -06:00
Jason Orendorff 1009666ca4 Bug 1429206 - Part 5: Rename jsscript* -> vm/JSScript*. r=jandem.
--HG--
rename : js/src/jsscriptinlines.h => js/src/vm/JSScript-inl.h
rename : js/src/jsscript.cpp => js/src/vm/JSScript.cpp
rename : js/src/jsscript.h => js/src/vm/JSScript.h
extra : rebase_source : 76a4533cf979baa37e00cabd2c415651c40dbb07
extra : source : d2e0574ed57e4185cef132acc3be30a29833f622
2018-02-12 13:07:16 -06:00
Jason Orendorff 9726925e27 Bug 1429206 - Part 4: Rename jsfun* -> vm/JSFunction*.
--HG--
rename : js/src/jsfuninlines.h => js/src/vm/JSFunction-inl.h
rename : js/src/jsfun.cpp => js/src/vm/JSFunction.cpp
rename : js/src/jsfun.h => js/src/vm/JSFunction.h
extra : rebase_source : 2fe8f01ec6ec2ad4dba3f80fb99cca89b0bcba9e
extra : source : 29b51bc766687c21a809acf8dae10ec214626ba3
2018-02-12 12:51:39 -06:00
Jason Orendorff cad22c716c Bug 1429206 - Part 3: Rename jsobj* -> vm/JSObject*. r=jandem.
--HG--
rename : js/src/jsobjinlines.h => js/src/vm/JSObject-inl.h
rename : js/src/jsobj.cpp => js/src/vm/JSObject.cpp
rename : js/src/jsobj.h => js/src/vm/JSObject.h
extra : rebase_source : 56a6d297b6cb63b72670b2310a48e00d56917648
extra : source : f61c33f738a6c5d2e52a6063bd18c632caea9e91
2018-02-12 12:03:37 -06:00
Jason Orendorff 89506377a3 Bug 1429212 - Add --fixup mode to check_spidermonkey_style.py. r=sfink.
--HG--
extra : rebase_source : fea02f44c54aa994f49c120c096be03774aac974
2018-02-12 11:37:12 -06:00
Nick Alexander 9d65a9cea8 Bug 1435424 - Remove doxygen support from the build system. r=gps
This is ancient and the team that used it (gfx) is no longer using it.

MozReview-Commit-ID: HrDgmAU9QeW

--HG--
extra : rebase_source : c4a64965c4ae1a50888893e881a6e8a9688a58b6
2018-02-02 14:24:18 -08:00
Andrew Halberstadt f354075c7a Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood
This is a new issue that gets linted with flake8 3.5.0. Basically you should
never use a blank except: statement.

This will catch all exceptions, including KeyboardInterrupt and SystemExit
(which is likely not intended). If a catch all is needed, use
`except: Exception`.  If you *really* mean to also catch KeyboardInterrupt et
al, use `except: BaseException`.

Of course, being specific is often better than a catch all.

MozReview-Commit-ID: FKx80MLO4RN

--HG--
extra : rebase_source : 7c74a7d0d81f2c984b47aff3a0ee3448b791177b
2018-01-31 14:32:08 -05:00
André Bargull 9129fc5348 Bug 1430761: Update tzdata in ICU data files to 2018c. r=Waldo 2018-02-01 05:36:03 -08:00
Nick Alexander 5ee275d6d3 Bug 1368699 - Post: Remove PURGECACHES from Make and now-unused app-rules.mk. r=gps
Now that writing the .purgecaches sentinel is done by |mach build|, we
can remove it from Make.  In addition, we can cull the now-unused
app-rules.mk \o/

MozReview-Commit-ID: 6CnAqLeZwzB

--HG--
extra : rebase_source : 2a5b67e723f8e1654627e6e6f26704f6a4e57706
2018-01-19 10:50:42 -08:00
Nick Alexander 6729d9a469 Bug 1368699 - Pre: Remove MY_{CONFIG,RULES} Makefile customization hooks. r=gps
I very much doubt these are used, but even if we are -- we shouldn't
support this type of local customization, since it doesn't extend to
non-Make-based backends.

With the customization point removed, there's no way to set ETAGS, so
we remove what little support there was for generating Emacs tags.

MozReview-Commit-ID: IEF2Q4tISEn

--HG--
extra : rebase_source : 3bc8e651c03517edb797032db6ce60ed8852d9fa
2018-01-19 10:43:51 -08:00
Coroiu Cristina 04dc0e7243 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-01-31 02:14:54 +02:00
Coroiu Cristina 4854a65d8c Backed out 3 changesets (bug 1368699) for bustage on Android L10n nightlies a=backout
Backed out changeset e16fc8abd345 (bug 1368699)
Backed out changeset 35a5db01b6ae (bug 1368699)
Backed out changeset 7297a1e8c4ff (bug 1368699)
2018-01-31 01:59:23 +02:00
Nick Alexander f6ce1f10e0 Bug 1368699 - Post: Remove PURGECACHES from Make and now-unused app-rules.mk. r=gps
Now that writing the .purgecaches sentinel is done by |mach build|, we
can remove it from Make.  In addition, we can cull the now-unused
app-rules.mk \o/

MozReview-Commit-ID: 6CnAqLeZwzB

--HG--
extra : rebase_source : 7427ca9aecc6619f48090c6a26c9a2e0e7d37bad
2018-01-19 10:50:42 -08:00
Nick Alexander feb76eb004 Bug 1368699 - Pre: Remove MY_{CONFIG,RULES} Makefile customization hooks. r=gps
I very much doubt these are used, but even if we are -- we shouldn't
support this type of local customization, since it doesn't extend to
non-Make-based backends.

With the customization point removed, there's no way to set ETAGS, so
we remove what little support there was for generating Emacs tags.

MozReview-Commit-ID: IEF2Q4tISEn

--HG--
extra : rebase_source : 140e07f78dbd72391c70c48f25e2b85c924fe78d
2018-01-19 10:43:51 -08:00
Jim Chen 3daaf655bf Bug 1428182 - 6b. Support unified headers in Breakpad code; r=ted
Fix several problems when building Breakpad with new NDK unified
headers.

- Unified headers define its own tgkill wrapper, so rename our own
  wrapper to __tgkill.

- Unified headers define user_fpxregs_struct for all API levels, so
  don't redefine it.

- Only the target sources under google-breakpad/src/common/linux should
  use custom Android headers, so change the includes line in moz.build to
  use OS_INCLUDES.

MozReview-Commit-ID: HGnUMu5vDUM

--HG--
extra : rebase_source : f5c29c9949a48a8376f84dcc676e5f8df886f130
2018-01-30 14:08:23 -05:00
Cosmin Sabou c6a0d55423 Backed out 11 changesets (bug 1428182) for build bustages on pixman-inlines.h:29:10 on a CLOSED TREE
Backed out changeset 84c767de6202 (bug 1428182)
Backed out changeset 429433caa78c (bug 1428182)
Backed out changeset c576e9d1f68f (bug 1428182)
Backed out changeset 092662eab5eb (bug 1428182)
Backed out changeset 4dd7eaff3ab5 (bug 1428182)
Backed out changeset fbbb0745b139 (bug 1428182)
Backed out changeset 1d1278b289b7 (bug 1428182)
Backed out changeset 55891ffb3768 (bug 1428182)
Backed out changeset 4655e1b1b237 (bug 1428182)
Backed out changeset 377eada51b3c (bug 1428182)
Backed out changeset 17c0e373d921 (bug 1428182)

--HG--
rename : ipc/chromium/src/third_party/libevent/patches/android-api-level.patch => ipc/chromium/src/third_party/libevent/patches/android-arc4random-buf.patch
2018-01-30 01:22:33 +02:00
Jim Chen 1befc583c9 Bug 1428182 - 6b. Support unified headers in Breakpad code; r=ted
Fix several problems when building Breakpad with new NDK unified
headers.

- Unified headers define its own tgkill wrapper, so rename our own
  wrapper to __tgkill.

- Unified headers define user_fpxregs_struct for all API levels, so
  don't redefine it.

- Only the target sources under google-breakpad/src/common/linux should
  use custom Android headers, so change the includes line in moz.build to
  use OS_INCLUDES.

MozReview-Commit-ID: HGnUMu5vDUM

--HG--
extra : rebase_source : 07da575044ca805a3f7f8ba87be8a8c279f17379
2018-01-29 17:38:14 -05:00
Andrew Halberstadt 3684054b5d Bug 1433974 - Update BUG_COMPONENT for some of the new Testing components, r=jmaher
MozReview-Commit-ID: 7jQnnAhOzEr

--HG--
extra : rebase_source : af1c9dca779c6089b5cc062eea81ef9945133d48
2018-01-29 12:57:54 -05:00
Narcis Beleuzu 9279994eae Merge inbound to mozilla-central. a=merge 2018-01-24 23:56:14 +02:00
Matt Howell 2e1fabc3c5 Bug 1427365 - Support spaces in the Windows version resource product name/description. r=gps
MozReview-Commit-ID: Gdm389zZqYq

--HG--
extra : rebase_source : 95d22d94cc26ad1f333ea61e083bfaecaa1034f0
2018-01-04 13:50:56 -08:00
Jeff Walden 40b1aa5f10 Bug 1432312 - Move a few trivial -inl.h definitions into the .h to eliminate used-but-not-defined compiler warnings (errors, with -Werror). r=nbp
--HG--
extra : rebase_source : a2eb78ecf7815c7f903a312d26585beff91a1442
2018-01-22 12:51:58 -08:00
Nika Layzell c33284aec0 Bug 1293362 - Part 4: Generate runtime bindings for calling xpcom methods from rust, r=froydnj
MozReview-Commit-ID: K37KyHkKsSl
2018-01-23 17:27:26 -05:00
Christian Holler 5e6434ac23 Bug 1431090 - Add FuzzingInterface support to JS engine. r=jandem
This patch adds basic support for the fuzzing interface in the JS engine on top
of the last patch. This includes all the necessary code except for actual
targets (just an example target skeleton) and also makes sure that the fuzzing
code is packaged for the standalone release.

MozReview-Commit-ID: D6Tyebz3jZS

--HG--
extra : rebase_source : f07a5d2bf8e09fb6c93501e58fbb958004e2fa05
2018-01-17 17:05:04 +01:00
Coroiu Cristina faa2f8c7da Backed out 2 changesets (bug 1431090) for Bf bustage at src/tools/fuzzing/interface/harness/FuzzerTestHarness.h
Backed out changeset 2e98bda3f397 (bug 1431090)
Backed out changeset eb6acc9e44ad (bug 1431090)

--HG--
rename : tools/fuzzing/registry/FuzzerRegistry.cpp => tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.cpp
rename : tools/fuzzing/registry/FuzzerRegistry.h => tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.h
rename : tools/fuzzing/interface/harness/FuzzerRunner.cpp => tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.cpp
rename : tools/fuzzing/interface/harness/FuzzerRunner.h => tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.h
rename : tools/fuzzing/interface/harness/FuzzerTestHarness.h => tools/fuzzing/libfuzzer/harness/LibFuzzerTestHarness.h
rename : tools/fuzzing/interface/harness/moz.build => tools/fuzzing/libfuzzer/harness/moz.build
2018-01-23 13:49:26 +02:00
Christian Holler 08e812cc03 Bug 1431090 - Add FuzzingInterface support to JS engine. r=froydnj
This patch adds basic support for the fuzzing interface in the JS engine on top
of the last patch. This includes all the necessary code except for actual
targets (just an example target skeleton) and also makes sure that the fuzzing
code is packaged for the standalone release.

MozReview-Commit-ID: D6Tyebz3jZS

--HG--
extra : rebase_source : 58e4d85e657347b061de0ed912365f2a955a86e3
2018-01-17 17:05:04 +01:00
Christian Holler 9b23854e8b Bug 1432298 - Make sm-fuzzing build ready for libfuzzer. r=sfink
This patch disables the stdcxx-compat check for the sm-fuzzing build which
requires patching autospider as well. Furthermore, it switches the build
to linux64-clang-6-pre because the older clang 3.9 does not support trace-pc
instrumentation. Finally, it excludes fuzzing parts from the vanilla allocation
check.

MozReview-Commit-ID: FdhCIFdUore

--HG--
extra : rebase_source : c41bda01cb42f2ef0cd5a1675d88bdb55d9dc8c9
2018-01-22 21:23:47 +01:00
Gurzau Raul bbe856eaf5 Backed out 5 changesets (bug 1255485) for mochitest failures on test/mochitest/test_hangui.xul
Backed out changeset 90b7449882b6 (bug 1255485)
Backed out changeset 5672cf8d324b (bug 1255485)
Backed out changeset ed6dd4aefadb (bug 1255485)
Backed out changeset 0ba36c0feddb (bug 1255485)
Backed out changeset 51af06b6123c (bug 1255485)
2018-01-23 02:01:43 +02:00
Ted Mielczarek 4c95b3dc36 bug 1255485 - force import libraries to be generated in objdir, not dist/bin. r=chmanchester
The MSVC linker winds up generating import libraries when linking some of
our executables, presumably because they contain functions that are
__declspec(dllexport). By default the import libraries get written
alongside the exe, so we force them to be written to the objdir so they don't
clutter up dist/bin.

MozReview-Commit-ID: 7DTfCo3OdDQ

--HG--
extra : rebase_source : fea69e8f60633b824726269c2296af9fe812d3ed
2017-11-27 09:03:31 -05:00
Ted Mielczarek be1e5a70e4 bug 1255485 - Remove NSDISTMODE=copy support from config.mk. r=nalexander
MozReview-Commit-ID: L5Pe4NexbJD

--HG--
extra : rebase_source : 3a499c357948da288fa12e28010bee069510b00d
2017-11-22 15:31:01 -05:00
Ted Mielczarek 2a410dbcc3 bug 1255485 - build PROGRAMs directly in dist/bin instead of copying them. r=nalexander
Historically we built all our binaries in directories in the objdir, then
symlinked them into dist/bin. Some binaries needed to be copied instead
so that certain relative path lookups work properly, so we resorted to
sprinkling `NSDISTMODE=copy` around Makefiles.

This change makes it so we build PROGRAMs (not any other sort of targets)
directly in dist/bin instead. We could do the same for our other targets
with a little more work.

There were several places in the tree that were copying built binaries to
some other place and needed fixup to match the new location of binaries.

On Windows pdb files are left in the objdir where the program was
originally linked. symbolstore.py needs to locate the pdb file both to
determine whether it should dump symbols for a binary and also to copy
the pdb file into the symbol package. We fix this by simply looking for
the pdb file in the current working directory if it isn't present next
to the binary, which matches how we invoke symbolstore.py.

MozReview-Commit-ID: 8TOD1uTXD5e

--HG--
extra : rebase_source : 9140be949b206bb595d9188ce7e8357347ecd9a9
2018-01-10 14:26:12 -05:00
Simon Fraser 638b7b677e Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-01-22 11:19:18 +00:00
Ralph Giles a9735964e0 Bug 1430886 - Disable incremental rust in automation. r=froydnj
Work around excessive command-line length issues by
disabling incremental rust compilation, which is enabled
by default outside `cargo --release` starting with Rust 1.24.

Incremental rust builds shouldn't help much in automation,
where sccache provides the only continuity between build
environments. In the meantime, they add a lot of object
files to the link line.

See https://github.com/rust-lang/rust/pull/47507 about addressing
the underlying issue upstream.

MozReview-Commit-ID: LRwUj3fhiaO

--HG--
extra : rebase_source : 1739a7570b2e7fe40ead3b301ea20c2fe79f0431
2018-01-17 08:32:51 -08:00
Ted Mielczarek 817545f74a bug 1419756 - deactivate pytest cache plugin to stop it writing files in the srcdir. r=davehunt
The pytest cache plugin writes its cache in the srcdir, which means that it
shows up in `hg status`, which is annoying. Writing files to the srcdir is
generally bad practice anyway, so we disable this plugin to stop this
from happening.

MozReview-Commit-ID: HytLLMUtKlc

--HG--
extra : rebase_source : f6acbf3650881312cef051126387220a0f78597f
2018-01-17 11:50:56 -05:00
Csoregi Natalia 3ce27a72d5 Backed out 5 changesets (bug 1418425) requested per comment #83. on a CLOSED TREE
Backed out changeset 0ecc98bd0822 (bug 1418425)
Backed out changeset 7b7725d1d3c3 (bug 1418425)
Backed out changeset 2e95ebdcae6d (bug 1418425)
Backed out changeset 47fbcaf5ad05 (bug 1418425)
Backed out changeset 142001babb39 (bug 1418425)
2018-01-15 15:30:30 +02:00
Sylvestre Ledru b9a138ff91 Bug 1418425 - Remove libbz2 files as we were only using it for crc32 as the updater moved to lzma r=glandium
MozReview-Commit-ID: 8Sz8vtV0b5G

--HG--
extra : rebase_source : 8b239e9851c9e05a8df64068790b6b1984ff1732
2017-11-24 16:45:47 +01:00
Dragana Damjanovic 2dce8cd834 Bug 1429830 - Enable TFO is a cross-compiler is used.r=nwgh 2018-01-11 23:17:44 +01:00
André Bargull ca61705b43 Bug 1415827 - Update in-tree ICU to release 60.2. rs=Waldo 2017-12-18 08:54:56 -08:00
Tom Prince 46e782b6d5 Bug 1424171: Allow controlling the base a relative directories used for looking up localized files; r=ted
MozReview-Commit-ID: J0A2iD5PkD6

--HG--
extra : rebase_source : fe7a2d5e2f486b28902048155718ed8859b06099
extra : source : fca9f7cf6bdbb24f558a9c24973e65bf5681eb09
2017-12-11 10:02:49 -07:00
Mike Hommey bd1eb0ab94 Bug 445128 - Stop putting the version number in the target directory for make install. r=nalexander
Back when I filed this bug, $appname-$version was already useless, but
there actually were multiple supported versions (e.g. 3.5/3.6). So it
made sense to have e.g. firefox-3.5 and firefox-3.6, but not
firefox-3.5.12 and firefox-3.5.13.

Fast forward 10 years, and we change "major" versions every 6 to 8
weeks, have multiple chemspills every other week, and installing to
firefox-57.0, firefox-57.0.1, firefox-57.0.2, firefox-57.0.3 doesn't
make any kind of sense. Even firefox-56, firefox-57 is pretty much
useless.

There /kind/ of was some usefulness to the version in the SDK
directories, but those are gone.

I'm pretty sure no downstream is actually using versioned directories
anyways.

At this point, it seems better to just use the application name, without
the version. A case could be made about ESR, but that would be better
handled with a separate application name (e.g. firefox-esr).

--HG--
extra : rebase_source : 333e10ea1316714bf0008ec772b35093edfc45ff
2017-12-31 17:18:52 +09:00
Mike Hommey 3d82836a72 Bug 1427455 - Remove unused variables from baseconfig.mk. r=froydnj
Bug 1333826 removed their use.

--HG--
extra : rebase_source : 485de0d94f6f349b2c7ac0364b29ce9f5673e944
2017-12-31 10:36:46 +09:00
Mike Hommey 5f5b6efb65 Bug 1426555 - Make autospider builds use --enable-stdcxx-compat on Linux only. r=sfink
Some of the variants are multi-platforms, and having
--enable-stdcxx-compat in their definition will break when the option is
moved over to python configure.

While here, prepare for --enable-stdcxx-compat actually doing something
(it currently doesn't), by adding an exception for it in
check_vanilla_allocations.py.

--HG--
extra : rebase_source : ee1647421542209cf0137db703c4f7e7f06cbc91
2017-12-21 09:50:16 +09:00
David Major 18a5250f02 Bug 1425906: Rename LINK to LINKER throughout the build system. r=glandium
Windows linkers give special meaning to getenv("LINK"), which makes `export LINK=...` in mozconfigs do unexpected things.
2017-12-20 09:07:46 -05:00
Ting-Yu Chou a5fdd873e9 Bug 1360650 part 1 - Archive pdb files of the binaries for llvm-symbolizer. r=ted 2017-12-18 11:26:02 -05:00
Nathan Froyd 6d4a891a5f Bug 1422859 - move MOZILLA_*VERSION setting into moz.configure; r=chmanchester
This has the virtue of not executing python three times during configure
just to read the same value of milestone.txt and munge it.  We can also
remove milestone.py as a happy side effect, so all the milestone
computations can be done in init.configure.
2017-12-04 11:19:25 -05:00
Nathan Froyd 74128f6578 Bug 1422852 - remove D_INO setting from configure; r=chmanchester
We only had this "for flexibility with other platforms", but given that
we set it to the same thing for all platforms, and nobody has tried to
change that, this flexibility isn't actually needed.
2017-12-04 08:18:00 -05:00
Andreea Pavel 522f8e2c3e Merge mozilla-central to mozilla-inbound. r=merge a=merge on a CLOSED TREE 2017-12-09 22:28:31 +02:00
David Major 4c01d66ee4 Bug 1423799: Remove clang-cl from ASFLAGS. r=chmanchester
No idea what it was doing there.
2017-12-09 15:11:46 -05:00
Mike Hommey e0bbb4aa9e Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Bug 1256642 introduced magic at the emitter level to determine whether a
binary contains C++ sources and should be linked with the C compiler or
the C++ compiler.

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

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

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

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

This also changes the type of STLPORT_LIBS to a list.

--HG--
extra : rebase_source : a70ddf7a132f94dc10e7e1db94ae80fb8d7a269f
2017-12-07 12:15:32 +09:00
Sylvestre Ledru a9961096c0 Bug 1394734 - Simplify various corner cases r=glandium
MozReview-Commit-ID: 4s4JdXZPvmv

--HG--
extra : rebase_source : c8f663c99442d41db5f81ac5fe1aa1f47fd5ed82
2017-12-07 22:10:19 +01:00
Sylvestre Ledru 4591d82b23 Bug 1394734 - Replace CONFIG['CLANG*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: HbF5oT5HW6f

--HG--
extra : rebase_source : eca479b6ae4bff7f600d1cdb39e11ac2057e4e79
2017-12-07 22:09:38 +01:00
Sylvestre Ledru 5de63ef061 Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 5orfnoude7h

--HG--
extra : rebase_source : 1ed9a6b56e1d27221a07624767a7fb0e6147117f
2017-12-08 13:46:13 +01:00
Sylvestre Ledru 9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Mike Hommey f0c6dabd84 Bug 1423512 - Remove infallible allocator exception for xpcom glue code. r=erahm
Back when mozalloc was a separate library, the xpcom glue code could not
use the infallible allocator API. But since bug 868814, that's not the
case anymore, so we can safely include mozalloc.h when XPCOM_GLUE is
set.

--HG--
extra : rebase_source : a8fbf8dc7020765d7287e2eb7ceaf41c99be8b18
2017-12-06 09:56:02 +09:00
Mike Shal 6fab321f11 Bug 1319222 - Add include flags to HOST_*; r=chmanchester
This accounts for LOCAL_INCLUDES in the moz.build files, as well as the
default INCLUDES specified in config.mk that are used for host
compilation. Since some of the HOST_CFLAGS were also used for linking,
those flags are split off into HOST_C{XX}_LDFLAGS so that
the linker-only flags can be placed in those variables.

MozReview-Commit-ID: J1LxIZVeFJ

--HG--
extra : rebase_source : ed7293604e5428e3124f1ecfb2b706e087436b72
2017-11-22 16:23:44 -05:00
Mike Shal b631c0c574 Bug 1319222 - Remove INCLUDES from HOST_SIMPLE_PROGRAMS linking; r=chmanchester
These flags were added way back in bug 59454 to both the compiling and
linking rules for HOST_SIMPLE_PROGRAMS. However, the INCLUDES aren't
actually needed when linking so we can safely remove them.

MozReview-Commit-ID: 8QywO7tGPpU

--HG--
extra : rebase_source : 34870adcf73b459771413e52bc84c6c63669d0f9
2017-12-05 10:36:15 -05:00
Mike Shal 5e5570c9ca Bug 1319222 - Add an SFLAGS ComputedFlags variable for compiling *.S; r=chmanchester
Both SFLAGS and ASFLAGS are used to compile assembly, but SFLAGS include
DEFINES and LOCAL_INCLUDES whereas ASFLAGS do not. It seems easiest to
just separate them into two different ComputedFlags values so that the
backend can distinguish between the two types.

MozReview-Commit-ID: Bkm3621ImJG

--HG--
extra : rebase_source : 420204e37d591512f700d77b780939d20c2feeb0
2017-11-22 15:27:52 -05:00
Dragana Damjanovic 3de66b952d Bug 1404069 - Revert bug 1363372. r=mayhemer 2017-11-27 21:12:31 +01:00
David Major 02c9050df5 Bug 1417958 - Normalize lib paths to appease VS2017's incremental linking. r=nalexander
--HG--
extra : rebase_source : d834aef165b35fec0c880656976267e03d68180d
2017-11-17 09:15:00 -05:00
Alfredo.Yang 7bdbfe6743 Bug 1417011 - remove stagefright folder. r=kinetik
MozReview-Commit-ID: F20u08Dr1yn

--HG--
extra : rebase_source : cd23f462c072f194e5bd8a16c72d0ca02cf9be35
2017-11-15 14:34:07 +08:00
Alfredo.Yang 20418e06c4 Bug 1417011 - move rust mp4 parser to media/mp4parse-rust. r=kinetik
MozReview-Commit-ID: 4Rcuv3UBoJV

--HG--
rename : media/libstagefright/binding/mp4parse-cargo.patch => media/mp4parse-rust/mp4parse-cargo.patch
rename : media/libstagefright/binding/include/mp4parse.h => media/mp4parse-rust/mp4parse.h
rename : media/libstagefright/binding/mp4parse/Cargo.toml => media/mp4parse-rust/mp4parse/Cargo.toml
rename : media/libstagefright/binding/mp4parse/src/boxes.rs => media/mp4parse-rust/mp4parse/src/boxes.rs
rename : media/libstagefright/binding/mp4parse/src/lib.rs => media/mp4parse-rust/mp4parse/src/lib.rs
rename : media/libstagefright/binding/mp4parse/src/tests.rs => media/mp4parse-rust/mp4parse/src/tests.rs
rename : media/libstagefright/binding/mp4parse/tests/afl.rs => media/mp4parse-rust/mp4parse/tests/afl.rs
rename : media/libstagefright/binding/mp4parse/tests/bipbop-cenc-audioinit.mp4 => media/mp4parse-rust/mp4parse/tests/bipbop-cenc-audioinit.mp4
rename : media/libstagefright/binding/mp4parse/tests/bipbop_480wp_1001kbps-cenc-video-key1-init.mp4 => media/mp4parse-rust/mp4parse/tests/bipbop_480wp_1001kbps-cenc-video-key1-init.mp4
rename : media/libstagefright/binding/mp4parse/tests/minimal.mp4 => media/mp4parse-rust/mp4parse/tests/minimal.mp4
rename : media/libstagefright/binding/mp4parse/tests/public.rs => media/mp4parse-rust/mp4parse/tests/public.rs
rename : media/libstagefright/binding/mp4parse_capi/Cargo.toml => media/mp4parse-rust/mp4parse_capi/Cargo.toml
rename : media/libstagefright/binding/mp4parse_capi/build.rs => media/mp4parse-rust/mp4parse_capi/build.rs
rename : media/libstagefright/binding/mp4parse_capi/src/lib.rs => media/mp4parse-rust/mp4parse_capi/src/lib.rs
rename : media/libstagefright/binding/mp4parse_fallible/Cargo.toml => media/mp4parse-rust/mp4parse_fallible/Cargo.toml
rename : media/libstagefright/binding/mp4parse_fallible/README => media/mp4parse-rust/mp4parse_fallible/README
rename : media/libstagefright/binding/mp4parse_fallible/lib.rs => media/mp4parse-rust/mp4parse_fallible/lib.rs
rename : media/libstagefright/binding/update-rust.sh => media/mp4parse-rust/update-rust.sh
extra : rebase_source : 7a86c39e5338ddf7e81a767edfd3ed8d6d1f7577
2017-11-15 09:51:38 +08:00
Brindusan Cristian cdb95907ba Merge mozilla-central to autoland r=merge a=merge on a CLOSED TREE 2017-11-16 00:41:40 +02:00
Mike Shal de7dbcd8bd Bug 1417660 - Remove duplicate native_window.h in system-headers.mozbuild; r=chmanchester
MozReview-Commit-ID: 3ltJ9kEXYsj

--HG--
extra : rebase_source : 641d7702e43695b4ff36403247ed367d8cebfc99
2017-11-15 16:30:43 -05:00
André Bargull 3296f48ec9 Bug 1405993 - Part 3: Update in-tree ICU to release 60.1. rs=Waldo
--HG--
extra : rebase_source : 468a4fc2e1fa7215b1224d998024a7121a05af62
2017-11-01 11:56:15 -07:00
Chris Manchester 246c2b0583 Bug 1416059 - Move ASFLAGS logic from config.mk to mozbuild. r=mshal
MozReview-Commit-ID: L7RSijG9uA

--HG--
extra : rebase_source : 480bfbf3cef7116e7657ad6320acc44f14b8a55a
2017-11-10 16:58:16 -08:00
Andreea Pavel a1061f09c5 Backed out 2 changesets (bug 1416059) for failing /python/mozbuild/mozbuild/test/frontend/test_emitter.py::TestEmitterBasic::test_use_yasm r=backout on a CLOSED TREE
Backed out changeset 597624409f4c (bug 1416059)
Backed out changeset d0df69766fa5 (bug 1416059)
2017-11-14 20:44:54 +02:00
Chris Manchester f32dcac229 Bug 1416059 - Move ASFLAGS logic from config.mk to mozbuild. r=mshal
MozReview-Commit-ID: L7RSijG9uA

--HG--
extra : rebase_source : cb16b4120e408fe241ddc75ccd7b133702c52727
2017-11-10 16:58:16 -08:00
Ryan VanderMeulen 177a5a8bdc Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release
--HG--
extra : histedit_source : 46923056fd09298724464a4df4466357821a361f
2017-11-12 21:22:25 -05:00
Mike Shal b04243c928 Bug 1407432 - Remove stl-headers & system-headers; r=froydnj
These have been replaced by stl-headers.mozbuild and
system-headers.mozbuild

MozReview-Commit-ID: EpPasSzgiJk

--HG--
extra : source : 86302df0b38a05ce8f6f830e324631a42c1c643e
2017-11-08 19:59:16 -05:00
Mike Shal 615e689f44 Bug 1407432 - Move system wrapper generation to moz.build; r=froydnj
The make-system-wrappers.py invocation is largely identical to
make-stl-wrappers.py, though this script generates wrappers for both the
STL headers and every other system header that can be used.

Note that the nsprpub script didn't create multiple layers of
subdirectories properly, so for example the 'ia64/sys/inline.h' wrapper
is now generated properly. Additionally, MOZ_SYSTEM_ICU define was
incorrectly using '#ifdef' instead of '#if ... == 1', which causes those
unicode headers to have wrappers when they shouldn't. These will show up
as differences when comparing the Makefile output to the moz.build
output.

MozReview-Commit-ID: KvQAawfzXao

--HG--
extra : source : 5a967cc85e28e63c283a81e2c76444a76dfbd266
2017-11-08 19:58:56 -05:00
Mike Shal 523accbeb6 Bug 1407432 - Move stl wrapper generation into moz.build; r=froydnj
This is fairly straightforward to represent as a GENERATED_FILES, though
we have to take some care to construct the outputs tuple correctly. This
script needs to run during export, and unfortunately none of the STL
headers have proper file extensions, so the 'new' header is
special-cased in the recursive make backend to serve as a marker for
running it in the correct tier.

We can't remove the stl-headers file yet because it is still used for
the system header generation.

MozReview-Commit-ID: 3tQTOY0LAsQ

--HG--
extra : source : 828d43ec1b16edaac69c42f15561f26e209051f1
2017-11-08 17:42:27 -05:00
Mike Shal 1e8ccbed0d Bug 1407432 - Remove unused private/*.h system wrappers; r=froydnj
These don't actually install correctly, because 'private' is already a
system wrapper. Neither of these files are included anywhere, so there's
no harm in removing them.

MozReview-Commit-ID: 1IAFMZDvKDV

--HG--
extra : source : 8d770908a5b9a3421294c93f8a34a14265674e9b
2017-11-09 09:19:54 -05:00
Mike Shal 67f295ea83 Bug 1407432 - Remove ucx$inetdef.h from system headers; r=froydnj,ted
This is no longer used in the tree, and the $ will get eaten somewhere
along the way on the path from moz.build to the python invocation by
make despite being shell_quoted.

MozReview-Commit-ID: 5mwWQYDn8Nf

--HG--
extra : source : ffe9aed0944f57e329ee279f5b14266d5c4069a2
2017-11-08 20:47:30 -05:00
Phil Ringnalda 8ccc4ff982 Backed out 6 changesets (bug 1407432) on (wild) suspicion of causing failures in browser_sanitize-timespans.js, somehow
CLOSED TREE

Backed out changeset 86302df0b38a (bug 1407432)
Backed out changeset 5a967cc85e28 (bug 1407432)
Backed out changeset 828d43ec1b16 (bug 1407432)
Backed out changeset bacf04be0a48 (bug 1407432)
Backed out changeset 8d770908a5b9 (bug 1407432)
Backed out changeset ffe9aed0944f (bug 1407432)

MozReview-Commit-ID: 7D50rKeXLrn
2017-11-09 22:07:46 -08:00
Mike Shal 7dfd290236 Bug 1407432 - Remove stl-headers & system-headers; r=froydnj
These have been replaced by stl-headers.mozbuild and
system-headers.mozbuild

MozReview-Commit-ID: EpPasSzgiJk

--HG--
extra : rebase_source : 33bc7a5a8de794f882bd1438ac800da2150a2ce6
2017-11-08 19:59:16 -05:00
Mike Shal 7f43a2e505 Bug 1407432 - Move system wrapper generation to moz.build; r=froydnj
The make-system-wrappers.py invocation is largely identical to
make-stl-wrappers.py, though this script generates wrappers for both the
STL headers and every other system header that can be used.

Note that the nsprpub script didn't create multiple layers of
subdirectories properly, so for example the 'ia64/sys/inline.h' wrapper
is now generated properly. Additionally, MOZ_SYSTEM_ICU define was
incorrectly using '#ifdef' instead of '#if ... == 1', which causes those
unicode headers to have wrappers when they shouldn't. These will show up
as differences when comparing the Makefile output to the moz.build
output.

MozReview-Commit-ID: KvQAawfzXao

--HG--
extra : rebase_source : 758e325c6ec192d83fcfa10f8c878ba2629e45a3
2017-11-08 19:58:56 -05:00
Mike Shal 2fea117ba2 Bug 1407432 - Move stl wrapper generation into moz.build; r=froydnj
This is fairly straightforward to represent as a GENERATED_FILES, though
we have to take some care to construct the outputs tuple correctly. This
script needs to run during export, and unfortunately none of the STL
headers have proper file extensions, so the 'new' header is
special-cased in the recursive make backend to serve as a marker for
running it in the correct tier.

We can't remove the stl-headers file yet because it is still used for
the system header generation.

MozReview-Commit-ID: 3tQTOY0LAsQ

--HG--
extra : rebase_source : bd9f00e45a7bce4daaa0e1c16e22b28536658e37
2017-11-08 17:42:27 -05:00
Mike Shal 02183c168e Bug 1407432 - Remove unused private/*.h system wrappers; r=froydnj
These don't actually install correctly, because 'private' is already a
system wrapper. Neither of these files are included anywhere, so there's
no harm in removing them.

MozReview-Commit-ID: 1IAFMZDvKDV

--HG--
extra : rebase_source : 6e153324d2add32a179d07020270db96e7ec6dd0
2017-11-09 09:19:54 -05:00
Mike Shal 1308a4f878 Bug 1407432 - Remove ucx$inetdef.h from system headers; r=froydnj,ted
This is no longer used in the tree, and the $ will get eaten somewhere
along the way on the path from moz.build to the python invocation by
make despite being shell_quoted.

MozReview-Commit-ID: 5mwWQYDn8Nf

--HG--
extra : rebase_source : f2289f5f5e15529475cac6cba3fc675592c111f2
2017-11-08 20:47:30 -05:00
Chris Manchester 4894ea0933 Bug 1256604 - Remove toolkit/content/Makefile.in and move setting CXXFLAGS for buildconfig.html to moz.build r=mshal
MozReview-Commit-ID: FZ6MTVAWSZa

--HG--
extra : rebase_source : ed71a72ec0430aed072321b0151b9efd229f940d
2017-11-09 10:45:00 -08:00
Ted Mielczarek 33c2d96bbf bug 1256010 - Remove media/openmax_dl/dl/Makefile.in. r=nalexander
MozReview-Commit-ID: H30bGAkF0h9

--HG--
extra : rebase_source : 49d80c82669cfbbfc8923e42fde66bb73c8e828d
2017-11-08 10:57:32 -08:00
Sebastian Hengst cfcc47b51e Backed out changeset 80798ac3e0de (bug 1413755) for static build bustage on Linux at chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc:104: bad implicit conversion constructor for 'ConstBoolExprImpl'. r=backout on a CLOSED TREE 2017-11-08 14:22:31 +02:00
Jonathan Watt 11b689fe45 Bug 1413755 - Have the build system use relative paths to specify the source files that should be built. r=mshal
MozReview-Commit-ID: 3zdODGRdFkF
2017-10-18 22:51:24 +01:00
Narcis Beleuzu 82324f1ffe Merge mozilla-central to inbound. r=merge a=merge on a CLOSED TREE 2017-11-08 12:57:37 +02:00
Narcis Beleuzu 218e1676cb Merge inbound to mozilla-central r=merge a=merge 2017-11-08 12:51:09 +02:00
Randall Barker b2e368e0ca Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-07 10:50:14 -08:00
Sebastian Hengst a5d99d720e Backed out 2 changesets (bug 1410132) for bustage, e.g. in spidermonkey non-unified at js/src/threading/Mutex.cpp:47: 'JS_IsInitialized' was not declared in this scope. r=backout on a CLOSED TREE
Backed out changeset 28c901411c1e (bug 1410132)
Backed out changeset 003ff6a2a254 (bug 1410132)
2017-11-07 20:04:43 +02:00
Jon Coppeard 45f03229f6 Bug 1410132 - Use a separate jemalloc arena for all SpiderMonkey malloc allocations r=njn r=nbp 2017-11-02 14:51:27 +00:00
Jon Coppeard a6e864d2ce Bug 1410132 - Use a separate jemalloc arena for all SpiderMonkey malloc allocations r=njn r=nbp 2017-11-02 14:51:27 +00:00
Masatoshi Kimura 383e90a03b Backed out changeset 6555a2a899a0 (bug 1384557) due to causing bug 1414060. r=backout
MozReview-Commit-ID: FV44JQSDXPQ

--HG--
extra : amend_source : 8c05281fad889edd723ab58786d0bf16f7d325b0
2017-11-07 20:39:00 +09:00
Sebastian Hengst f2944960ec Backed out 3 changesets (bug 1413362) for causing merge conflicts. r=merge a=merge
Backed out changeset 8b15dfaeecaa (bug 1413362)
Backed out changeset 2d9da0d19d04 (bug 1413362)
Backed out changeset 653c66220a5f (bug 1413362)

--HG--
extra : amend_source : e5c12297b0bb6ebe27a2481e4aac6c0ca8160a1b
2017-11-07 12:41:11 +02:00
Randall Barker b1f0bd8a25 Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-06 17:43:28 -08:00
Chris Manchester a638887c37 Bug 1414064 - Remove LD_VERSION_SCRIPT from the build system. r=mshal
MozReview-Commit-ID: 6KOLZh6aQmc

--HG--
extra : rebase_source : 9a98d1703e9a3138669bc96afdff66bf235058bc
2017-11-07 14:35:05 -08:00
Chris Manchester 77480a3b4d Bug 1414064 - Move BIN_FLAGS to MOZ_PROGRAM_LDFLAGS, get rid of BIN_FLAGS. r=mshal
MozReview-Commit-ID: ELTiYvh6iuS

--HG--
extra : rebase_source : 1547fa9b247649a485c4d31f8bdb7db05a50e043
2017-11-07 14:34:44 -08:00
Chris Manchester 778f734b4f Bug 1414064 - Remove references to EXTRA_LIBS in the build system. r=mshal
MozReview-Commit-ID: AeD755whvIV

--HG--
extra : rebase_source : f59ecae4225e77cfe748e4b132206f2132247078
2017-11-07 14:34:44 -08:00
Chris Manchester b9129cf320 Bug 1414064 - Remove SHLIB_LD{START,END}FILE and SUB_SHLOBJS. r=mshal
These are only set by nss' make build system, which we no longer use.

MozReview-Commit-ID: 9XRhpDmlekK

--HG--
extra : rebase_source : 5bff741863a463eca7d72f4e23c1c78e04a848de
2017-11-07 14:34:44 -08:00
Chris Manchester 7fa9f8f217 Bug 1414064 - Remove EXE_DEF_FILE, it is never set in the build system. r=mshal
MozReview-Commit-ID: IcCg4rZjpee

--HG--
extra : rebase_source : 1100d18597709040464c0d82a8b4929cba36537a
2017-11-07 14:34:44 -08:00
Chris Manchester 732b66708f Bug 1414064 - Remove WRAP_LDFLAGS, it is never set in the build system. r=mshal
MozReview-Commit-ID: Da4a4JmaxoL

--HG--
extra : rebase_source : 837e83e6836ea25d64f013b2b16456f9f6bcb88f
2017-11-07 14:34:44 -08:00
NARCIS BELEUZU 2e3654a915 Merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-11-03 12:04:55 +02:00
Chris Manchester 914e5042b2 Bug 1411712 - Fixup DEFFILE to be added to EXTRA_DEPS on windows when GNU_CC is set. r=mshal 2017-11-02 23:03:01 +01:00
Chris Manchester 8bc7bdf347 Bug 1411712 - Move LDFLAGS to mozbuild. r=mshal
MozReview-Commit-ID: A8cZ2FUveAf

--HG--
extra : rebase_source : 5f0e9b55c38f3b2382b469bbc886c57696f09792
2017-11-02 11:47:48 -07:00
Chris Manchester 4cfd6c93c3 Bug 1411712 - Make a new variable for pgo flags added to LDFLAGS. r=mshal
The make backend is the only thing that is aware of PROGILE_GEN and
PROFILE_USE, so we move these ldflags to their own variable while
converting the remainder of ldflags to mozbuild.

MozReview-Commit-ID: GwbPD6Q4Oyn

--HG--
extra : rebase_source : 3c90def9ee8cd949dd135ba8fa9b192f114f6727
2017-11-02 11:47:48 -07:00
Chris Manchester f8a3e49e93 Bug 1411712 - Make a new variable for LDFLAGS to be set by Makefile.in that aren't intended to be handled by other backends. r=mshal
These flags are only relevant on OS X, and will not be necessary soon, so this
commit moves them to a separate variable while we move the remainder of the
ldflags to mozbuild.

MozReview-Commit-ID: 1NDgz3HIYpT

--HG--
extra : rebase_source : 6e9b5f5a5be5ff916db89a0b73896b9058eb040e
2017-11-02 11:47:47 -07:00
Gregory Szorc be9770f18d Bug 1412460 - Remove targets related to VCS operations; r=mshal
These targets no longer exist in client.mk. I'm not sure when they
were removed. But this is obviously dead code.

A target in rules.mk pointing back to this target in client.mk has
also been removed.

MozReview-Commit-ID: 5v1MOOTP3qq

--HG--
extra : rebase_source : b90f0788b074330b45005223f41c804589d13163
2017-11-01 15:05:50 -07:00
André Bargull c5c994ac71 Bug 1330149 - Part 1: Set time zone from TZ environment variable as default ICU time zone if it's a valid time zone name. r=Waldo 2017-01-12 14:57:47 -08:00
ANDREEA PAVEL a859e870fe Backed out changeset d3a0101e3936 (bug 1410132) for build failure ContainerParser.cpp:131 r=backout on a CLOSED TREE 2017-11-02 18:06:58 +02:00
Jon Coppeard c6c2b4f6ba Bug 1410132 - Use a separate jemalloc arena for all SpiderMonkey malloc allocations r=njn r=nbp 2017-11-02 14:51:27 +00:00
Ted Mielczarek 54b6236e29 bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache r=glandium
Currently mozconfig.cache overrides a few build options for sccache. This
patch moves them into toolchain.configure so that the build system will
set them properly when sccache is in use. Additionally, {CC,CXX}_WRAPPER
are set in config.mk, so just avoid setting them when sccache is in use.

MozReview-Commit-ID: FYlVKRI8OiN

--HG--
extra : rebase_source : 00715beb5fbd2c11311dec43809bd1febab56a11
extra : intermediate-source : 0f2b1b75b83737378d882a3c3e0d8dfb4efecd1f
extra : source : a8032ae9cb2ad1c4574c6ac6f5c2778863cd71e0
2017-01-10 16:52:27 -05:00
Chris Manchester 92ca8066af Bug 1405811 - Move host compilation flags to mozbuild. r=mshal
MozReview-Commit-ID: 7I5IHM65eaU

--HG--
extra : rebase_source : b33bb2f0f6a9cb36961586ad475cf36f8bbcd091
2017-10-02 11:41:41 -07:00
Chris Manchester bd83adf337 Bug 1411787 - Convert MOZBUILD_CFLAGS from passthru variables to computed flags. r=mshal
MozReview-Commit-ID: HOMf4vfFE1n

--HG--
extra : rebase_source : fad33710a5f374f070b4c972c303a6b2ece25758
2017-10-27 10:38:10 -07:00
André Bargull 04879cba6b Bug 1411957 - Part 2: Update tzdata in ICU data files to 2017c. r=Waldo
MozReview-Commit-ID: IHLvaaTEIPm
2017-10-26 23:10:51 +09:00
Sebastian Hengst 443416f881 Merge mozilla-central to autoland. r=merge a=merge 2017-10-26 00:39:55 +02:00
Chris Manchester d43c1ef2dd Bug 1403346 - Implement clang-plugin cxxflags in moz.build. r=glandium
MozReview-Commit-ID: 9zSryJcTRGl
2017-10-25 15:12:10 -07:00
Chris Manchester 7e47dd1ebb Bug 1403346 - Define flags loading the clang plugin in configure rather than the make backend. r=glandium
MozReview-Commit-ID: EubsjJl1LBS
2017-10-25 15:12:10 -07:00
Chris Manchester c86173526a Bug 1403346 - Replace all uses of ALLOW_COMPILER_WARNINGS with a template, remove ALLOW_COMPILER_WARNINGS. r=glandium
MozReview-Commit-ID: 1G2o4fy74cf
2017-10-25 15:12:09 -07:00
Chris Manchester 3bd4902247 Bug 1403346 - Move C{XX}FLAGS to mozbuild computed flags. r=glandium
This also introduces C{XX}_LDFLAGS variables which contain cflags that
are meant to be passed to the linker, and adds them to various linker
command lines in place of CFLAGS.

MozReview-Commit-ID: GyKlD9nMqrt
2017-10-25 15:12:09 -07:00
Chris Manchester a1d26e4177 Bug 1403346 - Make a separate variable used to append pgo flags to compile command lines. r=glandium
This commit establishes a separate variable to add PROFILE_GEN and PROFILE_USE
CFLAGS to compile and link command lines. Currently the make backend
orchestrates the pgo build steps and is the only thing aware of whether
we're in the profile generate or profile use stage. The flags are separated
here to allow other flags to be moved to mozbuild, but this will not yet
sufficient to perform a PGO build independent of the make backend.

MozReview-Commit-ID: IX30l2MvvNc
2017-10-25 15:10:04 -07:00
Chris Manchester 10140558e1 Bug 1403346 - Move OS_COMPILE flags to computed flags. r=glandium
MozReview-Commit-ID: JUHoBuJYG1T
2017-10-25 15:10:04 -07:00
Chris Manchester 1e2fcc4b06 Bug 1403346 - Move RTL_FLAGS to computed flags. r=glandium
MozReview-Commit-ID: 9tOuNXjyJQD
2017-10-25 15:10:03 -07:00
Chris Manchester 33845169fa Bug 1403346 - Move DSO_CFLAGS and DSO_PIC_CFLAGS to computed flags. r=glandium
MozReview-Commit-ID: Goo0cP6UEEo
2017-10-25 15:10:03 -07:00
Gregory Szorc 6f60ff2761 Bug 1411081 - Derive Rust compiler flags in configure; r=glandium
Before this commit, RUSTFLAGS was derived in rules.mk by consulting
various variables set by configure. It isn't clear to me why things
are implemented this way. We don't appear to have moz.build level
overrides for Rust compiler flags. So there doesn't appear to be a
compelling reason why we can't derive these values in configure.

So, this commit ports the code for deriving default RUSTFLAGS from
rules.mk to toolchain.configure.

The port is pretty straightforward as far as the logic goes.

MozReview-Commit-ID: JhAE9Qlo8SK

--HG--
extra : rebase_source : 6186cb81cd37c516b3d645419b9461bf501d6ba2
2017-10-24 14:42:01 -07:00
Dragana Damjanovic dd.mozilla@gmail.com 026c72f278 Bug 1410147 - On MacOS HAS_CONNECTX should be set for Darwin version greater than and equal 15. r=bagder 2017-10-19 09:45:00 -04:00
Jan Beich 6b04a97785 Bug 1409680 - Extend --disable-debug-symbols to Rust code. r=glandium
This reduces disk I/O and memory usage during build that already lacks
debugging symbols from C++ code, allowing to use more jobs on 32bit hosts.

--disable-debug-symbols build on FreeBSD 10.3 i386 (8 cores) host:
Max RSS before:  libxul - 612 Mb, libgkrust - 1908 Mb
Max RSS after:   libxul - 444 Mb, libgkrust - 1471 Mb
Binary before:   libxul - 203 Mb, libgkrust -  732 Mb
Binary after:    libxul - 123 Mb, libgkrust -  301 Mb

MozReview-Commit-ID: 40UEYuKddZ2

--HG--
extra : rebase_source : 905c61c8f738027bb43d213c4a4e63db1b9c5008
2017-10-18 08:38:54 +00:00
Ted Mielczarek a95bbdf3f6 bug 1299959 - use GENERATED_FILES for libffi's preprocessed assembly files. r=chmanchester
libffi has assembly files on Windows that need to be preprocessed. Previously
this was handled by using a wrapper shell script as the assembler. This
patch handles them in GENERATED_FILES with a Python script that performs
an equivalent transformation.

MozReview-Commit-ID: 3w0HNpUb8TA

--HG--
extra : rebase_source : 284a3825cdaf2957507d60276a772f88f8c96488
extra : source : 3f422cbd4f222bc0b19f0a9e76878787652b3788
2017-09-14 06:42:53 -04:00
Chris Manchester c94fd30a84 Bug 1440507 - Remove link.py wrapper script for linking xul. r=nalexander
MozReview-Commit-ID: BXrhdPzQ2jy

--HG--
extra : rebase_source : 801b1876af8639996f58a1985d47fb42cc3065a6
2018-02-22 16:03:17 -08:00
Dustin J. Mitchell 0d5ca56ea5 Bug 1404401 - ignore presence of target_task_config.json in tests; r=ahal
I *think* the modifications to MockedOpen are correct, but I'm not sure..

MozReview-Commit-ID: 6vTZBtdQ1dz

--HG--
extra : rebase_source : 2d2008f87640747ef831d000bf13a4b1b7fcd338
2017-10-12 17:58:14 +00:00
Mike Hommey 59ba5a09e4 Bug 1381043 - Enable fuller debug info for rust code on OSX cross builds. r=froydnj
--HG--
extra : rebase_source : 145edf24d2ea1366fe8ee0430bb95a99b841dd83
2017-10-12 18:02:49 +09:00
Gian-Carlo Pascutto 433feb3f7e Bug 1387837 - Add library paths from /etc/ld.so.conf to broker read access policy. r=jld
MozReview-Commit-ID: S5vq6suTU4

--HG--
extra : rebase_source : b82f3ff902ca6e4929a8458aa952f409e30356b5
2017-10-06 12:35:35 +02:00
Zibi Braniecki c14c88b4c3 Bug 1270140 - Add Intl.RelativeTimeFormat. r=Waldo
MozReview-Commit-ID: GqetnVVmXXL

--HG--
extra : rebase_source : 131c125e73e2132d6b1abb2489ecf8e96412b8a5
2017-10-06 07:00:08 -07:00
Phil Ringnalda e4dbaefed7 Backed out changeset 024ce7dd2f65 (bug 1270140) for check_spidermonkey_style.py failures
MozReview-Commit-ID: KyttCEkmYSo
2017-10-09 21:06:15 -07:00
Zibi Braniecki 71799db666 Bug 1270140 - Add Intl.RelativeTimeFormat. r=Waldo
MozReview-Commit-ID: GqetnVVmXXL

--HG--
extra : rebase_source : a9f30e017fe630c36cb560accca067c5859a545c
2017-10-06 07:00:08 -07:00
Robert Helmer f0cf406637 Bug 1348981 - provide a list of valid system add-ons for packaging r=glandium
MozReview-Commit-ID: K2jCHBBJBqw

--HG--
extra : rebase_source : 0a1414d3e778d36f053800212e7d633eaa91de6b
2017-09-13 22:49:43 -07:00
Sebastian Hengst ea41018a71 Backed out changeset 59d279deac34 (bug 1348981) for frequently failing xpcshell's toolkit/mozapps/extensions/test/xpcshell/test_system_update_empty.js on OS X 10.10 debug. r=backout 2017-10-04 15:45:03 +02:00
Robert Helmer 8143368fa5 Bug 1348981 - provide a list of valid system add-ons for packaging r=glandium
MozReview-Commit-ID: K2jCHBBJBqw

--HG--
extra : rebase_source : 0a1414d3e778d36f053800212e7d633eaa91de6b
2017-09-13 22:49:43 -07:00
Sebastian Hengst 773adb3c2f Backed out changeset b8b9f1dbeda3 (bug 1348981) for failing xpcshell toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js. r=backout 2017-10-04 01:01:14 +02:00
Robert Helmer 3392a20460 Bug 1348981 - provide a list of valid system add-ons for packaging r=glandium
MozReview-Commit-ID: K2jCHBBJBqw

--HG--
extra : rebase_source : 0a1414d3e778d36f053800212e7d633eaa91de6b
2017-09-13 22:49:43 -07:00
Mark Banner a3393e0d94 Bug 1403928 - Remove unused config/string-format.js, and mark config as a no-js-files directory in .eslintignore. r=glandium
config/string-format.js was made obsolete in the removals in bug 1227388.

MozReview-Commit-ID: 1nQwlKhoC0e

--HG--
extra : rebase_source : 6b06e4d7ca2e8fc66fc2d93ade54c813d975acec
2017-09-28 14:55:03 +01:00
Nathan Froyd f0fcd23367 Bug 1373878 - part 2 - build system support for Rust tests; r=rillian 2017-10-02 09:21:22 -04:00
Sebastian Hengst 4ad3e6f78d Backed out changeset 1ae1bd9b2b5c (bug 256180) for crashtest failures on Windows 7 debug, e.g. in layout/base/crashtests/507119.html, and on suspicion of causing crashtest failures on Android. r=backout 2017-09-28 11:31:47 +02:00
Henri Sivonen 4518c3597b Bug 256180 build config part - Increase the max size for the runtime stack on Windows. r=glandium
MozReview-Commit-ID: JhWucajuuFz

--HG--
extra : rebase_source : 48a80faae8e378695529bf6acae6526393d83d7b
2017-09-14 11:39:43 +03:00
Phil Ringnalda 216b709c48 Backed out 4 changesets (bug 1348981) for Linux debug timeouts in test_system_update.js
Backed out changeset b1fe39ea6d5c (bug 1348981)
Backed out changeset 47866f942752 (bug 1348981)
Backed out changeset 5e93d8760487 (bug 1348981)
Backed out changeset 58431e2c37d7 (bug 1348981)

MozReview-Commit-ID: 2WjZKztxyVs
2017-09-23 06:20:56 -07:00
Robert Helmer a9838c2aff Bug 1348981 - provide a list of valid system add-ons for packaging r=glandium
MozReview-Commit-ID: K2jCHBBJBqw

--HG--
extra : rebase_source : 446409d7eaa5aaa7cc3b8d566539ab67152f67bc
2017-09-13 22:49:43 -07:00
Wes Kocher 43fdbce8a0 Backed out 4 changesets (bug 1348981) for addon related xpcshell failures a=backout
Backed out changeset af30bdde5572 (bug 1348981)
Backed out changeset dc6f6f59da82 (bug 1348981)
Backed out changeset b5149335d9ed (bug 1348981)
Backed out changeset a943c88d0dd5 (bug 1348981)

MozReview-Commit-ID: GIWRb1mY7wJ
2017-09-22 15:27:49 -07:00
Robert Helmer 498b682f1b Bug 1348981 - provide a list of valid system add-ons for packaging r=glandium
MozReview-Commit-ID: K2jCHBBJBqw

--HG--
extra : rebase_source : 446409d7eaa5aaa7cc3b8d566539ab67152f67bc
2017-09-13 22:49:43 -07:00
Mike Hommey 0c37db303e Bug 1052573 - Generically whitelist memalign calls from anything under memory/. r=njn
--HG--
extra : rebase_source : bcfa34744c1f7385b89b5ea63b2215921bc4e3df
2017-09-22 08:57:23 +09:00
ffxbld ddbf9d22ec Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release
MozReview-Commit-ID: Equ8FrTJpTj
2017-09-21 16:42:31 +02:00
Chris Manchester 89a09e8d67 Bug 1398897 - Move os includes to computed flags. r=glandium
MozReview-Commit-ID: Ef1wu5fQo7M

--HG--
extra : rebase_source : b5f15b2da47e724790ffee0512b5477059ae1c3a
2017-09-20 12:43:24 -07:00
Chris Manchester c6f31b26d8 Bug 1398897 - Move includes to computed flags. r=glandium
MozReview-Commit-ID: Ec0wZfoV63B

--HG--
extra : rebase_source : c004185b9a9938343efb93920f646afd30b4b01e
2017-09-20 12:43:23 -07:00
Chris Manchester 6de6ad13ab Bug 1398897 - Move defines to computed compile flags. r=glandium
MozReview-Commit-ID: CgQv79dYj7Y

--HG--
extra : rebase_source : 2e95f04d586ccb31bbd68e76b550fe1afcac32ec
2017-05-01 18:13:48 -07:00
Sylvestre Ledru 02eaf351ca Bug 1400283 - check_macroassembler_style.py: flake8 consistency r=nbp
MozReview-Commit-ID: 3J98Ni80BdW

--HG--
extra : rebase_source : 7a9b509c9b709efb5bb7a75c21a5bb826b652396
2017-09-15 18:14:41 +02:00
Gregory Szorc 3b3a704584 Backed out changesets 98e46ead3522 and 52e6fce3e6f6 (bug 1399870) for Windows test failures; a=backout
--HG--
extra : histedit_source : 380fa58fada541be8dabf03b88aed89b8ba0d073%2C854308f608c4dec795868abd41d7d651952e0df7
2017-09-15 15:52:03 -07:00
Ted Mielczarek 8439a24741 bug 1399870 - Make DEFFILE a Path instead of a string. r=gps
DEFFILE is currently just used as a passthrough variable. All but one of
the current uses of it use `SRCDIR + '/file.def'` to get a srcdir-relative
path anyway, and the other one wants an objdir-relative path, so using
Path makes everything clearer.

This makes it more straightforward to translate the paths for the WSL
build.

MozReview-Commit-ID: IRokABaZW2c

--HG--
extra : rebase_source : ae74c984bb2aab70211dc5974a8b052651e025dd
2017-09-14 06:24:43 -04:00
Sylvestre Ledru 8cca713196 Bug 1395580 - check_macroassembler_style.py - Also manage the coding style {} for function declarations r=nbp
MozReview-Commit-ID: KQMJNk6tAEU

--HG--
extra : rebase_source : c3baaa373d1257849b1365d3da33995ed8ea1fec
2017-09-15 17:20:18 +02:00
Jean-Yves Avenard 0f1d9323c6 Bug 1341504 - Don't disable incremental linking when optimizations are turned off. r=glandium
Incremental linking is automatically disabled when -OPT:REF or -OPT:ICF are used.
Seeing that we're disabling optimizations anyway, may as well not use those linker flags as they considerably slow down linking.

MozReview-Commit-ID: 9OXG19uxeI9

--HG--
extra : rebase_source : 4703bc4bb62af3f054ca621be7c1c51fe56cb2f3
2017-09-02 03:03:08 +02:00
Chris Manchester fab07bc443 Bug 1386876 - Replace all uses of NO_VISIBILITY_FLAGS with a template and remove NO_VISIBILITY_FLAGS. r=glandium
MozReview-Commit-ID: 194U1WMCAM0

--HG--
extra : rebase_source : 365b68b0a1772d238ae9b84966e53dcd1197fd85
2017-05-01 18:12:35 -07:00
Chris Manchester 26d4e4810c Bug 1386876 - Move visibility flag handling to computed compile flags with templates. r=glandium
MozReview-Commit-ID: 9hwiCQv8WKU

--HG--
extra : rebase_source : cc7593fd06949a432dd056194ff19c1ac0daf4e4
2017-09-11 11:36:31 -07:00
Chris Manchester c0a229d4c3 Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
MozReview-Commit-ID: FMEtb5PY7iP

--HG--
extra : rebase_source : 3cdee7528846462c758e623d6bcd2e6e17dbabff
2017-09-11 11:33:26 -07:00
Chris Manchester e059037e2b Bug 1386876 - Add classes to handle compile flags computed by moz.build with templates, convert 'DISABLE_STL_WRAPPING' to use them. r=glandium
MozReview-Commit-ID: 3PYOtX4E8OC

--HG--
extra : rebase_source : 162999582bc2ef078680ce6feae628d5b1f4e857
2017-04-28 16:35:19 -07:00
Ralph Giles 4fa6c9dd7a Bug 1396158 - Remove pocketsphinx references from the build system. r=chmanchester
These were used by b2g and are no longer needed.

MozReview-Commit-ID: DQontDwwlJ5
2017-09-06 08:37:00 -07:00
Gregory Szorc 0b25d43eaf Bug 1393242 - Use hglib for get_files_in_working_directory(); r=mshal
And convert consumers to context managers because hglib requires that.

MozReview-Commit-ID: Ckf1yBYeUlm

--HG--
extra : rebase_source : 985220032bced1a7077fd9b04ca8ad6de822c887
2017-08-23 15:21:16 -07:00
Sebastian Hengst 43bc951ac7 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: ES9rKhiQo10
2017-09-01 10:38:51 +02:00
Nick Fitzgerald 9da40f6365 Bug 1277338 - Part 7: Export mozglue when JS_STANDALONE && !jemalloc; r=glandium,sfink
This makes sure that:

* We don't define `MOZ_GLUE_IN_PROGRAM` so that everything in mozglue gets
  defined.

* `MFBT_API`'s symbol export rules match `JS_PUBLIC_API` and `EXPORT_JS_API`.

* We add mozglue to SpiderMonkey's `USE_LIBS` when jemalloc is disabled.
2017-08-31 15:59:13 -07:00
Petr Sumbera 61bd1ae7d9 Bug 1392203 - Make internal libevent work on Solaris. r=glandium 2017-08-23 03:40:23 -07:00
Wes Kocher cf93b6ca0d Merge m-c to autoland, a=merge
MozReview-Commit-ID: BlE0HFQUP9c
2017-08-31 16:56:58 -07:00
Andrew Halberstadt f79b06a32a Bug 1339178 - Use pytest to run python-tests, r=davehunt
This switches most tests over to use pytest as the runner instead of unittest (taking
advantage of the fact that pytest can run unittest based tests).

There were a couple tests that had failures when swithing to pytest:
config/tests/unit-expandlibs.py
xpcom/idl-parser/xpidl/runtests.py

For these tests, I added a runwith='unittest' argument so that they still run the
same way as before. Once we fix them to use pytest, the unittest logic in mozunit.py
can be deleted.

MozReview-Commit-ID: Gcsz6z8MeOi

--HG--
extra : rebase_source : 3c762422ce0af54cbbe7d9fc20085a2d1ebe7057
2017-08-29 14:50:33 -04:00
Andrew Halberstadt 74afe80557 Bug 1339178 - Add python/mach_commands.py and config/mozunit.py to flake8 linter, r=davehunt
MozReview-Commit-ID: Gcsz6z8MeOi

--HG--
extra : rebase_source : 121c9007d336cecbd068075dc54d66cc06e8334e
2017-08-29 14:41:38 -04:00
Eric Rahm 0938982c90 Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj
--HG--
extra : rebase_source : 063c7f95dda063eafabfa1921366bd1957b8fe73
2017-08-11 17:45:18 -07:00
Nathan Froyd c150b738a2 Bug 1378830 - part 1 - define PROG_IS_C_ONLY variables for PROGRAM and SIMPLE_PROGRAMS; r=chmanchester
Similar to the existing LIB_IS_C_ONLY variable, these variables indicate
that the program in question has only C sources and so can be linked by
the C compiler rather than the C++ compiler.  We need to add a little
more information to BaseProgram so we can avoid emitting periods into
Makefile variables.
2017-08-17 16:21:23 -04:00
Matt Brubeck 503070ad8d Bug 1386371 - Disable LTO by default, but enable in automation. r=froydnj
MozReview-Commit-ID: 2DIY9ex3Mch

--HG--
extra : rebase_source : 61f2f073adabfa7c46c324470a308adab23e7781
2017-08-10 11:38:10 -07:00
Chris Manchester 13ea176769 Bug 1380547 - Add a variable other than DEFINES for defines that are set from Makefiles. r=mshal
As we move our compile command lines into mozbuild we want to stop using DEFINES
directly. This patch adds a variable that can be set from Makefiles to contribute
defines to a compile command line to help the transition.

MozReview-Commit-ID: 5xLB06pzpJY

--HG--
extra : rebase_source : 7ca0b9d8f5a77ec55eb751f75f58a69e64efb21d
2017-08-08 15:43:04 -07:00
Kartikaya Gupta 8b8a999a38 Bug 1388423 - Get full rust backtraces everywhere. r=jmaher
MozReview-Commit-ID: 2Mfrpupz7As

--HG--
extra : rebase_source : 9b612430360fe46162f433f13667664188ceac55
2017-08-08 12:34:55 -04:00
Makoto Kato b2458fa168 Bug 1386164 - Part 1. Use libevent2 headers instead of deprecated event.h. r=jesup
libevent uses event.h header that is fuzzy name.  Since our in-tree libevent is libevent2, we should use libevent2 headers instead of deprecated event.h

MozReview-Commit-ID: 6DjW9JEkNWL

--HG--
extra : rebase_source : b774e177b137bf7427122253a3e4c698689e08a4
2017-08-03 13:22:26 +09:00
Axel Hecht aebc0e7f7e bug 1370506, always merge for l10n repacks, with internally set merge dir, r=glandium
To not merge the en-US language pack, the merge-% steps are in
a conditional function that disables that for en-US. Using a function
here as that's easier than a shell if in the merge rule, and
Makefile conditionals don't get evaluated late enough.

To liberate the l10n builds from settings in the automation,
we move the patch logic from LOCALE_MERGEDIR to REAL_LOCALE_MERGEDIR.

To determine strongly when we're in a repack or building a langpack,
the trick here is to

  export IS_LANGUAGE_REPACK

in l10n.mk, and only set that to true in the entry-point rules.

Now, we can use that value in config.mk to define the l10n-specific
rules.

I did the same thing for langpack-%, which allows us to disable
the crashreporter files for language packs, for example.

With that,

  make installers-de

just works, if you have localizations checked out.

For a while, we might run l10n-merge twice in automation, but it's really not
optional, so let's just make sure we run it.


MozReview-Commit-ID: 3nr33CKxkBQ

--HG--
extra : rebase_source : 0605a4adba018fa4b85d563cdafba80b0533bc91
2017-06-16 15:21:16 +02:00
ffxbld f0e4ae5f8c Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-08-02 09:12:05 +01:00
Robert Strong b1d227f07a Bug 641212 - use lzma compression for application update. Part 1 - xz-embedded build config changes. r=glandium, a=app_update_lzma 2017-07-30 23:26:56 -07:00
Sylvestre Ledru 442b5579cf Bug 1383966 - Give the result of the linker detection to OS_LDFLAGS r=glandium
MozReview-Commit-ID: 2zKZtKWMaIs

--HG--
extra : rebase_source : 905206f550feda15c9d317b7281be179effcffae
2017-07-25 07:14:14 +02:00
Tom Prince f5e17a64ce Bug 1381955 - Don't override RUSTFLAGS to set rust's debuginfo; r=glandium
MozReview-Commit-ID: HevATvXusvE

--HG--
extra : rebase_source : c85d378e9168ffbdd7384710055db6a1806e7a03
2017-07-17 17:13:19 -06:00
Mike Hommey ef1d3c7153 Bug 1367940 - Pass the make jobserver file descriptors down to cargo. r=gps
cargo 1.19, and later cargo 1.20/rustc 1.19 gained support for the make
jobserver. But that doesn't work unless make passes the jobserver file
descriptors down to subprocesses, which it only does when there is a +
prefixing commands.

--HG--
extra : rebase_source : a00ffb7edb358243ac7b9469941ec6fb5ad84885
2017-07-13 20:07:49 +09:00
Mike Shal 29be674102 Bug 1380381 - Set rust debuginfo=1 for cross-OSX builds; r=glandium a=kwierso to reopen this CLOSED TREE
This is similar to bug 1301751, where something in rust seems to trigger errors
running dsymutil to generate debug symbols in OSX. We can set debuginfo=1 for
these builds as a temporary workaround for now, while we work on a more
permanent solution in rust and/or dsymutil. debuginfo=1 still gives us enough
info for stack traces, although without line info. debuginfo=2 would be useful
for debugging, but is irrelevant to crash reports.

MozReview-Commit-ID: DdA00GzVfWg

--HG--
extra : amend_source : 47d3573042098194a07f9b473e4a02c86a1eba7c
2017-07-13 18:49:10 -04:00
Mike Hommey ed863255b4 Bug 1378592 - Remove MOZ_REPLACE_MALLOC_LINKAGE. r=froydnj
MOZ_REPLACE_MALLOC_LINKAGE was added back when there were problems with
getting weak references working properly for replace-malloc.

Versions of OSX < 10.6 needed flat namespace, but aren't supported
anymore.

Versions of Xcode < 4.5 required flat namespace + a dummy library in
order to produce proper weak references. There is virtually nobody still
building with such an ancient toolchain.

Keeping those around doesn't /really/ hurt, except recent versions of
Xcode don't expose dyldinfo in /usr/bin, used for the configure test.
Consequently, MOZ_REPLACE_MALLOC_LINKAGE ended up being set to use the
dummy library setup, which, by using flat namespace, now causes harm in
bug 1356701, causing bug 1378332.

--HG--
extra : rebase_source : e3edc1f2cf905943c33fafeb631f2f88fc87167e
2017-07-06 10:26:04 +09:00
Nathan Froyd c4db85fbe1 Bug 1378440 - part 2 - add `mach cargo check`; r=rillian
Cargo recently introduced the `cargo check` command for shortening the
edit-compile cycle when working on large programs.  Since we don't
really support invoking `cargo` directly, let's wire up this command to
`mach`.  Gecko developers can then `mach cargo check` to ensure their
changes typecheck.
2017-07-05 14:19:31 -04:00
Nathan Froyd d73da35d6b Bug 1378440 - part 1 - make Cargo invocation macro more generic; r=rillian
All the machinery we set up for `cargo build` is equally useful for
other commands, such as `cargo check`.  Let's refactor things so that
it's easy to reuse said machinery for `cargo check`.
2017-07-05 14:19:31 -04:00
Nathan Froyd 2c6c66c145 Bug 1377971 - part 3 - honor LIB_IS_C_ONLY in more cases; r=glandium
We currently only honor LIB_IS_C_ONLY for cases where we set a
LIBRARY (and, implicitly, REAL_LIBRARY) and FORCE_SHARED_LIB.  For many
libraries, such as the libraries from NSS, we never set LIBRARY, which
leads to not setting REAL_LIBRARY, which leads to not honoring
LIB_IS_C_ONLY.  This practice has not been harmful thus far (except
perhaps linking in more things than necessary to our NSS shared
libraries), but on some platforms, linking with the C++ compiler will
drag in more things than we would like.

Consulting LIBRARY first should not be necessary; checking
FORCE_SHARED_LIB should be enough to tell us if we're building a shared
library for the purposes of honoring LIB_IS_C_ONLY.
2017-07-05 14:05:10 -04:00
Nicholas Nethercote b003a6a704 Bug 1377803 - Remove an unnecessary plarena.h #include in WebRTC. r=drno,glandium.
We can avoid the symbol visibility problem by putting
sanitizer/asan_interface.h in the config/system-headers.

--HG--
extra : rebase_source : bc81a81ef8970c3544febf06631740208583c7fa
2017-07-04 09:58:38 +10:00
Nathan Froyd 87007ca0f2 Bug 1377157 - remove VCINSTALLDIR from cargo's environment when running in MozillaBuild; r=ted.mielczarek
Stable Rust currently has logic similar to the following for finding the
linker on Windows:

  if VCINSTALLDIR in os.env:
    search for things in PATH
    if found, return, otherwise fallthrough

  look for MSVC installations of various kinds

For our current MozillaBuild setup where we clear out PATH prior to
invoking Cargo, this works: even though VCINSTALLDIR is set and we
(unsuccessfully) search through an empty PATH, we'll still fallback to
looking for MSVC installations.

Beta Rust has altered this search strategy:

  if VCINSTALLDIR in os.env:
    search for things in PATH
    return the result of the search, regardless of success

  look for MSVC installations of various kinds

Note that in the above logic, if VCINSTALLDIR is set, we are only going
to try looking in PATH for an appropriate linker.  Since PATH is empty
in our current MozillaBuild setup, beta Rust will therefore fail to find
the correct linker.  This failure causes numerous problems.

Since Firefox is already trying to "clean" the environment that Cargo is
invoked in, we should work a little bit harder by unsetting VCINSTALLDIR
entirely, and simply force Rust to search for known MSVC installations.
Making this change makes stable and beta Rust behave identically.

(We don't have to worry about this distinction in automation, because
the "cleaning" code is only activated when we detect a MozillaBuild
shell.)
2017-06-29 13:41:57 -04:00
Nicolas B. Pierron 702d71cbd0 Bug 1376921 - Remove mips from the list of checked MacroAssemblers. r=tcampbell 2017-06-29 18:49:10 +00:00
André Bargull f277dc9e4b Bug 1353650 - Part 4: Update to ICU 59. rs=Waldo
--HG--
extra : rebase_source : bb1dcedef639ae3a9ee76521d8f9212831918ce4
2017-04-19 07:00:05 -07:00
André Bargull cbcc8cbf51 Bug 1353650 - Part 3.1: Add unicode/unistr.h to system-headers to unbreak system-ICU builds. r=glandium
--HG--
extra : rebase_source : 05956804a24ddd1aa21aaa79b726102b9160186c
2017-05-11 01:30:09 -07:00
André Bargull f57a277cd5 Bug 1353650 - Part 2: Update ICU stubdata build file for ICU 59. r=Waldo
--HG--
extra : rebase_source : 7d52b78212ae7973cbf6e68debdcce4c5336f7c3
2017-04-05 13:42:09 +02:00
Jeff Gilbert 58ae26fbc7 Bug 1376057 - Replace MSVC wrappers with std::exception::_Set_raise_handler. - r=froydnj
MozReview-Commit-ID: MG5c4bzDlI
2017-06-27 11:51:34 -07:00
Ted Mielczarek 94c9fe93f2 bug 1357825 - use sccache for caching Rust compilation. r=froydnj
MozReview-Commit-ID: 84PCmiVBlrV

--HG--
extra : rebase_source : ae23d383a1a2057d7027a4a6ffc9cfa4e3e15fcf
extra : histedit_source : 031e0d29f15b07208a08aba477d7bc9ca5a3f196
2017-05-01 11:58:45 -04:00
Chris Manchester 479795876a Bug 1370695 - Remove build system code handling binary components. r=glandium
MozReview-Commit-ID: BKHWR34vWsu

--HG--
extra : rebase_source : d870a222d393479bb8ede2aaec571299488806c0
2017-06-13 16:01:45 -07:00
Henri Sivonen 763d66dd51 Bug 1261841 part 4 - Add a configuration option for enabling explicit SIMD in Rust. r=froydnj.
MozReview-Commit-ID: ICifcJ9499a
2017-06-13 13:24:19 +03:00
ffxbld 120e57745f Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-06-12 13:48:15 +01:00
Ryan VanderMeulen 9b7a73b65a Merge m-c to autoland. a=merge
UPGRADE_NSPR_RELEASE UPGRADE_NSS_RELEASE

--HG--
extra : amend_source : a59e53ba2f8db608f613f21ad6da2b5be8814aa4
2017-06-07 22:55:56 -04:00
Marco Castelluccio adc55303d4 Bug 1322803 - Allow setting additional rustflags via mozconfig. r=ted
--HG--
extra : rebase_source : 996d0e0f9ac85c10ad7b188585e823da74407384
2017-06-06 01:05:10 +01:00
Petr Sumbera 65cd55b48b Bug 1354576 - Allow to build NSPR on Solaris again. r=ted 2017-05-30 01:36:00 -07:00
Makoto Kato 9aa2fd8eed Bug 1364023 - Remove LOCALE_SNAME define for ICU build. r=glandium
Since we set WINVER=601 after dropping Windows XP support, it is unnecessary to define LOCALE_SNAME.  So, we should remove it to remove compiler warning.

MozReview-Commit-ID: EawbHAznXNA

--HG--
extra : histedit_source : d3157300315052048756c22ac2c999523d28679d
2017-06-05 14:13:16 +09:00
Petr Sumbera 1528ff18ca Bug 1369061 - Add Solaris atomic.h to system-headers. r=glandium
--HG--
extra : rebase_source : 688bb5e4532a83fad0d27067e8146c5839fc7d25
2017-05-31 07:39:41 -07:00
Masatoshi Kimura 755eb30580 Bug 1370511 - Suppress more warnings from MSVC when compiling ICU. r=ted.mielczarek
MozReview-Commit-ID: 6N48ksCMnyn

--HG--
extra : rebase_source : 02130293e25495f8bed3c00e580ae50d9ae548fc
2017-06-06 21:06:42 +09:00
Andreas Tolfsen e2e6d226e5 Bug 1368264 - Fix missing RUST_PROGRAMS entry in if-condition r=froydnj
Final target Rust programs are currently not picked up and
symlinked/copied to ${objdir}/dist/bin because the RUST_PROGRAMS output
variable is missing from the if-condition.

This change causes Rust binaries from RUST_PROGRAMS to be placed alongside
the other final target programs.

MozReview-Commit-ID: 5OIH1UMmCq2

--HG--
extra : rebase_source : cfcff21e9371b920c895ad27df344008962d7471
2017-06-01 20:08:27 +01:00
Nathan Froyd 0fe161627a Bug 1368177 - quote {LIB,}CLANG_PATH for cargo; r=rillian
These paths can contain spaces, particularly if they point into
${HOME}/.mozbuild on Windows.  If people are bold enough to use the
Windows packages from llvm.org, the LLVM packages are installed by
default into C:\Program Files\LLVM, so paths from there would contain
spaces as well.
2017-05-28 17:13:30 -04:00
Ralph Giles 40e81c774e Bug 1365993 - Don't pass mac frameworks to cargo linker. r=froydnj
Procedural macros for rust are compiled as dynamic libraries.
The compiler subsequently loads those libraries at runtime
when it compiles crates which make use of them.

We pass the generic LDFLAGS to our linker wrapper which ensures
cargo links static libraries with the correct flags. However
this also means that any final system dependency libraries
end up linked into the procedural macro dynamic libraries
whether they use them or not.

When building on macOS 10.7, this causes a SIGTRAP when dlopen
calls CFInitialize for system libraries like Cocoa off the main
thread. We believe this is a macOS bug, reported fixed in macOS 10.9.
https://openradar.appspot.com/7209349

Work around the issue by stripping those libraries and Frameworks
from the linker flags we pass to cargo. We could do a more careful
job of parsing and removing all -framework and -lfoo arguments
inside the linker script, but since this is a temporary issue
while we're using older build machines, I thought just stripping
them once in the build system was simpler.

MozReview-Commit-ID: CGXD8ARvojj

--HG--
extra : rebase_source : 33f28e8fbafb43dbdd257d9162a6e792fca79e51
2017-05-25 14:49:32 -07:00
Ryan VanderMeulen 22d214ae4b Merge autoland to m-c. a=merge 2017-05-23 10:32:42 -04:00
Bruce Sun 30306bfc32 Bug 1358023: (2/2) Build freetype2 by using moz.build; r=glandium 2017-05-22 12:02:14 +08:00