Commit Graph

3211 Commits

Author SHA1 Message Date
Ehsan Akhgari
d51f67f665 Bug 1182727 - Part 14: Remove the old files that are not needed any more; r=rail 2015-10-02 11:09:21 -04:00
Ehsan Akhgari
57452caa06 Bug 1182727 - Part 12: Allow dumping out what the command is doing; r=rail 2015-10-02 11:09:17 -04:00
Ehsan Akhgari
ef4085c6fc Bug 1182727 - Part 11: Add a config file for Clang on CentOS6; r=rail 2015-10-02 11:09:15 -04:00
Ehsan Akhgari
b9e58428c4 Bug 1182727 - Part 10: Make gcc_dir configurable; r=rail 2015-10-02 11:09:13 -04:00
Ehsan Akhgari
0c981bebc5 Bug 1182727 - Part 9: Make python_path configurable; r=rail 2015-10-02 11:09:11 -04:00
Ehsan Akhgari
eda76d4c74 Bug 1182727 - Part 8: Add some documentation and the new config files; r=rail 2015-10-02 11:09:09 -04:00
Ehsan Akhgari
0eac7309fb Bug 1182727 - Part 7: Make build_libcxx configurable; r=rail 2015-10-02 11:09:07 -04:00
Ehsan Akhgari
a823860f90 Bug 1182727 - Part 6: Add a --clean argument for cleaning the build directory; r=rail 2015-10-02 11:09:05 -04:00
Ehsan Akhgari
c21d63879f Bug 1182727 - Part 5: Add support for configurable build type and assertions; r=rail 2015-10-02 11:09:03 -04:00
Ehsan Akhgari
c39c476ab6 Bug 1182727 - Part 4: Add support for configurable three stage builds; r=rail
This adds a stages config option, which can be used to select 1, 2, and
3 stage builds.  It also marks the default trunk configuration to do 3
stage builds, and defaults to that.
2015-10-02 11:09:01 -04:00
Ehsan Akhgari
02de360c1f Bug 1182727 - Part 3: Allow updating from svn if the source directory already exists; r=rail
This will completely remove the need to blow away any of the work
previously done.
2015-10-02 11:08:59 -04:00
Ehsan Akhgari
7b703bb9fa Bug 1182727 - Part 2: Run cmake through ninja to enable resumable builds; r=rail
Since CMake generated build systems can run cmake if necessary, this
will make it possible to pick up changes from the source directory if
any and resume as much of the build as possible.

This builds the foundation for removing the need to blow away any of the
work done by the previous runs of the script.
2015-10-02 11:08:57 -04:00
Ehsan Akhgari
93a90be454 Bug 1182727 - Part 1: Switch to using cmake and ninja in order to build clang; r=rail 2015-10-02 11:08:55 -04:00
Ted Mielczarek
71e1864995 bug 543111 - add support for alternate dsymutil paths to configure, add to cross-mozconfig. r=glandium 2015-09-29 12:59:12 -04:00
Ted Mielczarek
649569da34 bug 543111 - enable Breakpad for cross-mac builds. r=glandium 2015-09-11 06:48:50 -04:00
Carsten "Tomcat" Book
06e7c5d2ac Backed out 4 changesets (bug 543111) for mac bustage on a CLOSED TREE
Backed out changeset 81f6fdc25862 (bug 543111)
Backed out changeset d1a73eaa6113 (bug 543111)
Backed out changeset 08c7f9ed5970 (bug 543111)
Backed out changeset 3b323ed3b20a (bug 543111)
2015-10-01 14:32:11 +02:00
Ted Mielczarek
492e4d6f70 bug 543111 - add support for alternate dsymutil paths to configure, add to cross-mozconfig. r=glandium 2015-09-29 12:59:12 -04:00
Ted Mielczarek
6af92901bd bug 543111 - enable Breakpad for cross-mac builds. r=glandium 2015-09-11 06:48:50 -04:00
Mike Hommey
63e6851011 Bug 1209875 - Get rid of XULPPFLAGS. r=gps
The flags added in toolkit/locales/Makefile.in turn out not to be actually
used, so just remove that.

The remaining uses of XULPPFLAGS are to set debug flags depending on whether
MOZ_DEBUG is set or not. Just set a dedicated variable with the right value
from configure.
2015-10-01 07:30:48 +09:00
Ehsan Akhgari
3ae3319e33 Bug 1208787 - Enable static analysis checks by default on OSX cross builds; r=ted 2015-09-30 10:16:25 -04:00
Mike Hommey
9a08a8facc Bug 1209398 - Enable the FasterMake backend by default for desktop Firefox builds. r=gps
The order in which backends appear is important, and dealing with deduplication
in configure.in is not really nice, so for all simplification purposes, this relies
on using AC_SUBST_SET, which does the deduplication and keeps the original order
in which items appear (despite its name).
2015-09-30 11:51:47 +09:00
Mike Hommey
d7b7903647 Bug 1209398 - Make AC_SUBST_SET emit a list of unique items instead of an actual set. r=gps
While the name AC_SUBST_SET suggests the underlying type would be a set, it does
not actually matter that much in moz.build, and is not used that much anyways.
2015-09-30 11:51:47 +09:00
Mike Hommey
1214921fc0 Bug 1209391 - Remove build/unix/uniq.py. r=mshal 2015-09-30 11:51:46 +09:00
Botond Ballo
3f742ea0c2 Bug 1209330 - Get the clang plugin to compile with clang 3.7 and warnings-as-errors. r=mystor 2015-09-28 18:52:44 -04:00
Carsten "Tomcat" Book
13501ce691 Merge mozilla-central to fx-team 2015-09-29 12:41:12 +02:00
Sebastian Kaspari
4171b18b4a Bug 1208576 - Build with appcompat-v7 regardless of MOZ_NATIVE_DEVICES flag. r=nalexander 2015-09-28 12:10:42 +02:00
Jim Chen
f9d5091d8f Bug 1200343 - Add native calls for pref events; r=snorp
This patch adds two native calls to PrefsHelper to avoid using
GeckoEvent for getting prefs.
2015-09-28 12:07:09 -04:00
Ehsan Akhgari
88e0252f59 Bug 1205242 - Part 2: Require libc++ for building the clang plugin on OSX; r=ted 2015-09-28 22:40:49 -04:00
Ehsan Akhgari
d487ca3b6c Bug 1205242 - Part 1: Update the clang used for static analysis to 3.7 on all platforms; r=ted 2015-09-28 22:40:48 -04:00
Ehsan Akhgari
c6d1543e4b Bug 1204763 follow-up: Fix the comments, DONTBUILD 2015-09-28 22:18:56 -04:00
Ehsan Akhgari
f7aa19335f Bug 1204763 - Enable cross compiling the clang plugin for OS X on Linux; r=glandium 2015-09-28 22:14:53 -04:00
Ehsan Akhgari
785992e1b5 Bug 904572 - Add support for generating clang compilation database; r=glandium,r=gps 2015-09-29 09:23:50 +09:00
Mike Hommey
57c58210df Bug 1207897 - Add a configure option to build multiple build backends. r=gps
Also record what backends were requested at configure time so that running
`mach build-backend` or `config.status` uses the same set.
2015-09-29 09:23:50 +09:00
Julian Seward
f6e593cbb9 Bug 1185244 - Improve mach support for running mochitests on Valgrind. r=jgraham, njn. 2015-09-28 12:01:42 +02:00
Wes Kocher
0e4ee0396c Backed out 4 changesets (bug 1200343) for android talos failures
Backed out changeset 67dc42cbf02b (bug 1200343)
Backed out changeset b077acafcebb (bug 1200343)
Backed out changeset e115ca114601 (bug 1200343)
Backed out changeset 905e1fb54fd4 (bug 1200343)
2015-09-25 13:21:58 -07:00
Jim Chen
689ccc7670 Bug 1200343 - Add native calls for pref events; r=snorp
This patch adds two native calls to PrefsHelper to avoid using
GeckoEvent for getting prefs.
2015-09-25 15:03:34 -04:00
Nick Alexander
38d3e0bd69 Bug 1204260 - Pin Android package versions to android-22 and build-tools-22.0.1. r=glandium
Right now, --with-android-sdk expects a path to a specific Android SDK
version, like /path/to/platforms/android-22.  That path is exposed as
ANDROID_SDK; the Android SDK root is exposed as ANDROID_SDK_ROOT.

Right now, the provided platform's version number is extracted into
ANDROID_TARGET_SDK.  The extracted ANDROID_TARGET_SDK is checked
against a minimum version number (supplied as a parameter to
MOZ_ANDROID_SDK).

After this patch, --with-android-sdk expects what is now
ANDROID_SDK_ROOT, and then derives ANDROID_SDK from that path and a
pinned SDK platform version number.  The exact version number which we
search for is now a parameter given to MOZ_ANDROID_SDK.  We accept and
fail, with a helpful message, if we recognize an old-style ANDROID_SDK
path.

The existing MOZ_ANDROID_{MIN,MAX}_SDK_VERSION variables remain as
they are.

Right now, the Android build tools are searched in a deterministic but
non-obvious manner.  After this patch, the exact build tools version
number is now a parameter given to MOZ_ANDROID_SDK.
2015-09-12 15:04:19 -04:00
Nick Alexander
2d40e159e4 Bug 1204260 - Pre: Don't expose ANDROID_{BUILD,PLATFORM}_TOOLS. r=glandium,gbrown
This stops exposing ANDROID_BUILD_TOOLS and ANDROID_PLATFORM_TOOLS via
AC_SUBST.  We expose most tools already, and this adds EMULATOR, and
consumes it (and ADB) where appropriate.
2015-09-12 14:59:31 -04:00
Nick Alexander
626486d95c Bug 1204260 - Pre: Move AAR searches later. r=me
This merely groups the AAR searches in the configure output, which
reads a little easier.
2015-09-11 19:13:45 -07:00
Nick Alexander
b8eab59285 Bug 1108782 - Part 2: Explode AAR files at configure time. r=glandium
This gets us a limited version of AAR support: we can consume static
AAR libraries, where here static does not refer to linking, but to
static assets that are fixed at build-backend time and not modified
(or produced) during the build.  This lets us pin our dependencies
(and move to Google's versioned Maven repository packages, away from
Google's unversioned ad-hoc packages).

By restricting to static AAR libraries, we avoid having to handle
truly complicated dependency trees, as changing parts of generated AAR
files require delicate rebuilding of the APKs (and internal libraries)
that depend on the AAR files.

It is possible that we will generate AARs in the tree at some time.
Right now, we don't do that, even for GeckoView: the AARs produced are
assembled as artifacts at package time and are intended for external
consumption.  We might want this for GeckoView and Fennec at some
time; we should consider using Gradle everywhere at that point.

The patch itself does the simplest possible thing (which has precedent
from Gradle and other build systems): it simply "explodes" the AAR
into the object directory and uses existing mechanisms to refer to the
exploded pieces.

AARs have both required and optional components.  Each component is
defined with an expected and required flag. If a component is expected
and not present, or not expected and is present, an error is raised.
If the component is expected and present, autoconf's ifelse() macro is
used to define the relevant AAR_* component variables.  If the
component is not expected and not present, no action is taken.  A
consuming build backend therefore can guard all AAR_* component
variables with just the top-level AAR variable.

Many AAR files have empty assets/ directories.  This patch doesn't
explode empty assets/ directories, protecting against trivial changes
to AAR files that don't impact the build.

There's a lot not to like in this approach, including:

* We need to manually reference internal AAR libs;
* I haven't separated the pinned version numbers out of configure.in.

However, it's closer to what we want than what we have!
2015-09-22 10:04:26 -07:00
Nick Alexander
19cfacbf3c Bug 1108782 - Part 1: straighten out Java classpaths. r=glandium
This commit is us getting out of our own way.  We were specifying
-classpath twice, once in $(JAVAC) and once in java-build.mk.  Only
the latter of these is active.  This a problem for ANDROID_EXTRA_JARS
-- those JARs should be on the classpath and input to $(DX) -- and
JARs that should be on the classpath but *not* input to $(DX).  This
commit removes the global flags to $(JAVAC) and adds
JAVA_{BOOT}CLASSPATH_JARS.  This required some hijinkery moving
wildcards to moz.build files, but everything seems to work.

As well as clarifying some parts of the build, part 2 uses this work
to modify the classpath.
2015-08-31 13:35:05 -07:00
Wes Kocher
2ca91a29c1 Backed out changeset feceb41f1c3c (bug 1185244) for breaking running tests locally CLOSED TREE a=backout 2015-09-22 17:08:37 -07:00
Ehsan Akhgari
4e17b0fe87 Bug 1203393 follow-up: Address one review comment
DONTBUILD
2015-09-22 08:44:25 -04:00
Ehsan Akhgari
6c56374efa Bug 1203393 - Part 2: Package clang as an xz archive; r=glandium 2015-09-22 08:30:19 -04:00
Ehsan Akhgari
f1f295c4af Bug 1203393 - Part 1: Create a stand-alone clang for Linux; r=glandium
We build gcc after clang, and extract libgcc libraries and libstdc++
headers from gcc and place them in the clang installation directory in a
way that clang favors before it searches the system for libraries and
includes.
2015-09-22 08:30:07 -04:00
Carsten "Tomcat" Book
396e563d8f Merge mozilla-central to mozilla-inbound 2015-09-22 12:49:44 +02:00
Julian Seward
9a3ed192fa Bug 1185244 - Improve mach support for running mochitests on Valgrind. r=jgraham, njn. 2015-09-22 12:00:57 +02:00
J. Ryan Stinnett
f268bdd9cb Bug 912121 - Update misc. DevTools paths and comments. rs=devtools 2015-09-21 12:07:31 -05:00
Nicholas Nethercote
f0c22e1475 Bug 1204787 - Add |mach power|. r=glandium.
This extracts the most useful browser-related measurements from rapl and
powermetrics.
2015-09-15 16:23:45 +10:00
Justin Dolske
4fff2cbe40 Bug 1204154 - Clean up jar manifests that needlessly specify the source file. r=dao 2015-09-15 18:33:57 -07:00