Commit Graph

1040 Commits

Author SHA1 Message Date
Mike Hommey
6b738fec38 Bug 1053072 - Cleanup metadata in the moz.build reader. r=gps
- parent and var were used for TOOL_DIRS/TEST_TOOL_DIRS, which were removed in
  bug 1043802.
- tier metadata was not really used, and tiers are going to go away soon
   anyways.
2014-08-14 07:15:44 +09:00
Mike Hommey
bd058eca27 Bug 1053071 - Simplify EXTERNAL_SOURCE_DIR handling. r=gps
As handled in configure.in, EXTERNAL_SOURCE_DIR is a single directory for
external sources, and more specifically, comm-central. There is no need
to handle it as a list in the moz.build emitter.

At the same time, avoid checking the external sources for every moz.build,
and bind it to a config environment.
2014-08-14 07:15:43 +09:00
Mike Hommey
f87114e885 Bug 1053070 - Output a nicer error when reassigning a variable in moz.build. r=gps 2014-08-14 07:15:40 +09:00
Mike Hommey
f7429125b0 Bug 1053069 - Make mozbuild.util.ReadOnlyDefaultDict raise an exception on update() and del. r=gps 2014-08-14 07:15:38 +09:00
Gregory Szorc
02603c4738 Bug 1052526 - Treat appending None to List as empty list; r=glandium
As a special exception, we change List's + and += operators to treat
"+ None" and "+= None" as "+ []" and "+= []" respectively.

This is a hack to make moz.build files simpler so they don't have to
perform "is x" checks before appending x.

While I was here, I fixed the implementation of List.__add__ to return a
List instead of list.

--HG--
extra : rebase_source : e61db4be4cf8144b092609d3baf84c372b9cf9a0
extra : amend_source : dfabc00765582764426f7cf74e79354a0bfb0824
2014-08-12 09:23:33 -07:00
Birunthan Mohanathas
8031546dc8 Bug 1049981 - Make error for non-existent files listed in SOURCES less ambiguous. r=ted 2014-08-10 11:13:38 -07:00
Sylvestre Ledru
ac9d156829 Bug 1050715 - Update the description of the various tests targed proposed by './mach help' r=jmaher
--HG--
extra : rebase_source : 29019a02711ffce5c148787517051855259b6446
2014-08-09 15:37:29 +02:00
Ehsan Akhgari
5a8158b74e Bug 1043390 - Don't use getSourceRepo on local builds; r=glandium 2014-08-07 21:29:39 -04:00
Joshua Cranmer
a043c5f64b Bustage fix for bug 1035599, r+a=bustage-fix for CLOSED TREE
--HG--
extra : rebase_source : 9fc6f0cc80749f869abf3124b6fecd490b023d1c
extra : amend_source : a53044cb583fb213903092848faccc087bab6289
2014-08-07 20:16:13 -05:00
Joshua Cranmer
ae0877aba9 Bug 1035599: Merge the mozilla-central and comm-central objdir, r=gps
This change merges mozilla-central and comm-central into having a single
topobjdir file but retaining two topsrcdirs (and two build systems). This state
is hopefully only the first part of a series of changes that eliminate the
comm-central build system partial clone completely.

--HG--
extra : rebase_source : 02aa2c4551df405d9783ac85cc41fe90b67bf057
extra : amend_source : d3cc677d59603648165bf65afa28413f2c40b2fd
2014-08-07 19:27:58 -05:00
Arnaud Bienner
f9674f5afd Bug 1047823 - Use a default value when getting CPPFLAGS from environment if they aren't set. r=glandium 2014-08-05 20:25:46 +02:00
Mike Hommey
1f543fad14 Bug 1047267 - Remove the trigger hacks added in bug 1043344. r=gps 2014-08-07 14:21:09 +09:00
Mike Hommey
19e8ecfce2 Bug 1047267 - Allow to reference libraries from third-party build systems in USE_LIBS. r=gps 2014-08-07 14:20:38 +09:00
Mike Hommey
0fdbce28ae Bug 1047267 - Add a memoize decorator to the mozbuild module. r=gps 2014-08-07 14:20:37 +09:00
Mike Hommey
1d5475041b Bug 1049281 - Remove static dirs handling, now that there aren't any. r=gps
Also do some overdue cleanup from the removal of parallel and tools dirs
2014-08-07 02:58:53 +09:00
Mike Hommey
1aa0b26726 Bug 1048799 - Improve mach build notification center errors. r=gps 2014-08-07 02:58:46 +09:00
Mike Hommey
8abd4db10f Bug 1045783 - Move OS_LIBS from a passthrough to a more fully supported variable. r=gps 2014-08-06 07:25:05 +09:00
Mike Hommey
9e61b58eaf Bug 1048702 - Error out when trying to add a string to a list in moz.build. r=gps 2014-08-06 07:24:27 +09:00
Ting-Yu Lin
42770334d1 Bug 947256 - Report ccache hit rate at the end of the build; r=gps
This patch add a line at the end of the build like follows:
ccache (direct) hit rate: 98.7%; (preprocessed) hit rate: 0.5%; miss rate: 0.8%

--HG--
extra : rebase_source : 9c814745516d7b8b0db2056a1fa0df540a5a239a
2014-07-30 02:23:00 -07:00
Ian Neal
1c7e2a8ded Bug 1047702 - recursivemake's scan for Makefiles with XPI_PKGNAME or INSTALL_EXTENSION_ID should take account of comm-central r=glandium 2014-08-02 02:52:52 +01:00
Jonathan Griffin
c0acc260fa Bug 1046991 - Fix error message when no build is present for mochitest-plain, r=ahal, DONTBUILD because NPOTB 2014-08-01 10:59:05 -07:00
Mike Hommey
40883c4328 Bug 1045969 - Use paths relative to root topobjdir for backend files for similar reasons as in bug 1045329. r=mshal
and paths relative to the "local" topobjdir for linkage.
2014-08-01 15:56:16 +09:00
Nathan Froyd
f4b3ba5577 Bug 1044162 - part 2 - remove JS_MODULES_PATH from the build system; r=mshal 2014-07-25 14:37:22 -04:00
Nathan Froyd
4246e6b6ea Bug 1044162 - part 1 - make EXTRA_{PP_,}JS_MODULES communicate their installation path; r=mshal
This patch makes EXTRA_{PP_,}JS_MODULES similar in functionality to
TESTING_JS_MODULES: we indicate the path relative to
$(FINAL_TARGET)/modules with an appropriate hierarchy of paths.
2014-07-25 13:40:07 -04:00
Nathan Froyd
8921315aa5 Bug 1044162 - part 0c - add a way to recurse over the 'directory' elements of a hierarchy; r=mshal
We're going to build on top of INSTALL_TARGETS for the next patch, and
it's easiest to do so if we can look at the 'directories' in the
hierarchy, rather than the individual strings.
2014-07-25 14:35:02 -04:00
Nathan Froyd
68165a1b87 Bug 1044162 - part 0b - add __{get,set}item__ to HierarchicalStringList; r=mshal
I am slightly surprised that we haven't needed this before, but the
motivating idea behind this is wanting to do:

VARIABLE.with.some["non-pythonic-identifier"] += ...

It seems unfortunate that the behavior is completely overridden by
subclasses, but I don't see a good way around that.
2014-07-25 14:29:57 -04:00
Nathan Froyd
6eea12bf47 Bug 1044162 - part 0a - make additions to EXTRA_JS_MODULES use += instead of =; r=mshal
Straight assignments to HierarchicalStringList, which we'll change
EXTRA_JS_MODULES to in a later patch, don't work.  This change, in
addition to making things work as expected later on, also is more
consistent with existing practice.
2014-07-25 13:50:55 -04:00
Mike Hommey
7f22e814ef Bug 1045329 - Use paths relative to the root topobjdir for the compile targets. r=gps
While most environments are using the root topobjdir, some can be using a
different path. This happens for comm-central files. For those, the compile
target needs to have paths relative to the root topobjdir instead of relative
to the comm-central topobjdir.
2014-07-30 11:00:54 +09:00
Mike Hommey
5146aedbbe Followup for bug 1043869 to remove test_link_deps from python/moz.build on a CLOSED TREE. r=gps 2014-07-29 10:21:57 +09:00
Mike Hommey
3424efc9f3 Bug 1043869 - Derive build dependencies for programs and libraries from make backend data instead of getting them from expandlibs. r=mshal 2014-07-29 08:59:56 +09:00
Mike Hommey
90e6ca0914 Bug 1043865 - Remove the remainder of compilation bits from the libs tier. r=gps 2014-07-29 08:59:27 +09:00
Mike Hommey
cc5c6d1ecc Bug 1043862 - Make the binaries target use the compile tier. r=gps 2014-07-29 08:58:28 +09:00
Mike Hommey
20d181268e Bug 1043820 - Remove PARALLEL_DIRS. r=gps 2014-07-29 08:57:59 +09:00
Mike Hommey
1e79fe55c2 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Ms2ger
f5a6e98287 Bug 1044657 - Move PYTHON_UNIT_TESTS to moz.build; r=mshal
As a first step, this moves PYTHON_UNIT_TESTS to moz.build as a passthru
variable. In the future, we could hook it up to |mach test|.

The __init__.py files may not need to be in the list, but I don't want to
change the list here.
2014-07-28 17:51:12 +02:00
Carsten "Tomcat" Book
8bc78e40e5 Merge mozilla-central to mozilla-inbound on a CLOSED TREE 2014-07-28 16:30:30 +02:00
Carsten "Tomcat" Book
8329e0d768 merge fx-team to mozilla-central a=merge 2014-07-28 15:44:12 +02:00
Paul Adenot
952d97f13f No Bug - Revert part of 2fe40d407853 added by mistake.
--HG--
extra : rebase_source : 095450aa0f40d672187499e76f3aa70a7e8001a7
2014-07-28 15:40:02 +02:00
Wes Kocher
88a01acaab Merge m-c to fx-team 2014-07-25 16:27:34 -07:00
Wes Kocher
00a0a043dc Merge inbound to m-c a=merge 2014-07-25 15:59:01 -07:00
Mike Hommey
b0dd371fd0 Bug 1043799 - Remove leftovers from bug 1043344. r=gps 2014-07-25 20:12:57 +09:00
Gregory Szorc
61d5ea65f6 Bug 1043524 - Define group variable is an existing parser is passed; r=jgraham
While I was here, I removed the try..except in favor of failing fast.
Before, we were only making cosmetic changes. Now, we actually need the
group for mach to work. It makes sense to stop ignoring errors.

This fixes a regression from d53d1c6cdf13 / bug 951733.

--HG--
extra : rebase_source : aeb6c99a945eaff32cf86fa481d03c0c8dee593a
extra : amend_source : f1e29385bf8ca8ac250a04f81e7e955c4152b476
2014-07-24 11:35:15 -07:00
Paul Adenot
905bdcf2e5 Bug 1043025 - Null-check when getting the parent object of an AudioContext because we might not have a window all all time during shutdown. r=roc 2014-07-24 12:01:13 +02:00
Boris Zbarsky
ea30e4f251 Bug 1044049. Bump bindings to unify 32 files per unified file instead of 16, since we keep getting more bindings. r=ehsan 2014-07-26 01:41:26 -04:00
Ted Mielczarek
d390bf0067 bug 462159 - Use install manifests to track header files from dist/include back to srcdir in symbolstore.py. r=gps 2014-07-18 16:33:34 -04:00
Nathan Froyd
5f9ab2e8fa Bug 1044165 - fix BuildReaderError exception printing to cope properly with SyntaxError; r=gps
Some moz.build syntax errors cause the thrown SyntaxError object to not include
an offset field, leading to all sorts of hilarity when we try printing messages
depending on SyntaxError.offset.  Check for this case and simply don't print
the caret if so.
2014-07-25 14:27:44 -04:00
Wes Kocher
5bbe63935c Merge m-c to inbound 2014-07-25 16:23:51 -07:00
Gregory Szorc
36adce111c Bug 1039806 - UnboundLocalError: local variable 'output'; r=mshal
DONTBUILD (NPOTB)

--HG--
extra : rebase_source : 231b0dac997551660dd9c187880e80734a2d7300
extra : amend_source : 34dab55ff1d1d341e6ebe078747c4268ecc0096a
2014-07-16 16:02:31 -07:00
Mike Hommey
dbad84b131 Bug 1043344 - Move libraries and programs build to the compile tier. r=gps 2014-07-25 07:14:40 +09:00
Mike Hommey
24b3f8f30b Bug 1043285 - Fix StrictOrderingOnAppendList.__add__ to not throw when the list content is not sorted. r=gps 2014-07-25 07:09:27 +09:00
Mike Hommey
20873943a0 Bug 1042982 - Make shared libraries go after static libraries on program linkage command lines. r=gps
Also remove a branch that can never happen.
2014-07-24 13:44:39 +09:00
Jeff Walden
eb2f4ee3e9 Invert exception types in the exception specification corresponding to |import dbus; ...stuff that might throw a dbus exception| so that failure to import dbus will be caught, rather than triggering a "NameError: name 'dbus' is not defined" error. Followup to bug 981146, r=trivial
--HG--
extra : rebase_source : f3439471f361ea16f74161a3ee68b9227e2c0eb9
2014-07-25 14:33:39 -07:00
Jonathan Griffin
e4cbe95487 Bug 1042270 - Add is_mulet condition to mach, r=ahal 2014-07-22 14:41:09 -07:00
Alexandre Poirot
5a3800bc64 Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files; fix previous bustage on a CLOSED TREE, r=ahal 2014-07-02 15:40:56 -07:00
Tom Schuster
34e3db82f5 Bug 981146 - Make a dbus-based notification appear when the build completes (if the build took >300s, a pre-existing limit) on some Linux systems. (Works on Fedora, doesn't work on Debian/Ubuntu -- just needs someone to perform the trivial work [if you run Debian] of determining what packages are needed to make this patch's additions work. Patches welcome!) r=gps
--HG--
extra : rebase_source : 0e37b98ad2481df7bae906d5c67ecd94a22fabda
2014-06-09 12:46:15 -07:00
byron jones
b7bd88b016 Bug 1042517 - Typos in mach's help for the run command; rs=edmorley DONTBUILD 2014-07-22 23:44:00 +01:00
Mike Hommey
01fba997a3 Bug 1041936 - Allow static library definitions to depend on shared libraries. r=gps 2014-07-23 13:33:06 +09:00
Mike Hommey
274f724682 Bug 1041839 - Write all-tests.json faster. r=gps 2014-07-23 13:32:03 +09:00
Mike Hommey
a92c68a2cf Bug 1041820 - Replace DefaultOnReadDict with defaultdict. r=gps 2014-07-23 13:31:43 +09:00
Mike Hommey
90c742edc2 Bug 1036894 part 6 - Emit SimplePrograms for CPP_UNIT_TESTs, and make the corresponding moz.build config look like that of SIMPLE_PROGRAMS. r=gps 2014-07-23 13:29:44 +09:00
Mike Hommey
bf0519ceb9 Bug 1036894 part 5 - Hook the USE_LIBS and HOST_USE_LIBS moz.build variables to library linkage. r=gps 2014-07-23 13:29:37 +09:00
Mike Hommey
67187c1752 Bug 1036894 part 4 - Allow to track library linkage for all kinds of programs and libraries. r=gps 2014-07-23 13:29:31 +09:00
Mike Hommey
27d767d14e Bug 1036894 part 3 - Emit objects for programs after emitting libraries. r=gps 2014-07-23 13:29:24 +09:00
Mike Hommey
e8b0362149 Bug 1036894 part 2 - Add proper frontend data for HOST_LIBRARY_NAME instead of using a passthrough. r=gps 2014-07-23 13:29:17 +09:00
Mike Hommey
31cd528278 Bug 1036894 part 1 - Move MAKE_FRAMEWORK, SDK_LIBRARY, SHARED_LIBRARY_NAME and STATIC_LIBRARY_NAME to moz.build. r=gps
At the same time, make the Library data more useful in the build frontend.
2014-07-23 13:29:09 +09:00
Mike Hommey
424a08a9e3 Bug 1041960 - Remove subtiers from make backend. r=gps 2014-07-23 13:28:54 +09:00
Jonathan Griffin
efbbf73c27 Backed out changeset 64586374a208 on a CLOSED TREE 2014-07-22 18:29:57 -07:00
Alexandre Poirot
09c66c2ebd Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files; fix previous bustage on a CLOSED TREE, r=ahal 2014-07-02 15:40:56 -07:00
Jonathan Griffin
0cd20a2c49 Backout 4f6d9db92389 for bustage on a CLOSED TREE 2014-07-22 17:55:50 -07:00
Alexandre Poirot
c044256760 Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files. r=ahal 2014-07-02 15:40:56 -07:00
Mike Shal
541816e486 Bug 978211 - run make from mach without a shell; r=gps 2014-07-18 10:14:29 -04:00
Mike Shal
988ca4c7f3 Bug 914563 - re-enable build resource recording on Windows; r=gps 2014-07-15 13:59:10 -04:00
Mike Shal
b6a88e2676 Bug 978211 - OSX automation configs; r=glandium 2014-07-03 22:05:45 -04:00
Mike Shal
81e7978f91 Bug 1036093 - ignore mach exceptions when printing binary paths; r=gps 2014-07-11 10:55:40 -04:00
Mike Hommey
07267c6f7f Bug 1036864 - Remove EXPORT_LIBRARY. r=mshal 2014-07-11 19:06:55 +09:00
Mike Hommey
4409f0d493 Bug 1035543 - Remove the MOZ_PSEUDO_DERECURSE variable. r=gps 2014-07-10 14:11:52 +09:00
Mike Hommey
6106484108 Bug 936384 - Display nicer errors when failing to validate moz.build sandboxes. r=gps 2014-07-10 14:11:40 +09:00
Mukilan Thiyagarajan
bf9a7de167 Bug 1000994 - Allow specifying SONAME of a shared library in moz.build. r=glandium 2014-07-09 00:47:00 +02:00
Carsten "Tomcat" Book
518f246c5e merge fx-team to mozilla-central a=merge 2014-07-08 15:10:56 +02:00
Gregory Szorc
2ed0c9abb6 Bug 1033836 - Support TESTING_JS_MODULES in moz.build; r=glandium
--HG--
extra : rebase_source : 383acfd70fc4f95f6fd5f90490048233a31d9e62
2014-07-02 16:43:11 -07:00
Carsten "Tomcat" Book
27ead41013 merge fx-team to mozilla-central a=merge 2014-07-03 13:54:51 +02:00
Wes Kocher
613b089a47 Merge m-c to fx-team 2014-07-02 19:10:42 -07:00
Gregory Szorc
41b24b278a Bug 1033656 - Add reviewboard to mach mercurial-setup; version checking; r=smacleod
We want to make it turnkey for people to use reviewboard. So, we add
reviewboard and related functionality to |mach mercurial-setup|.

Since the reviewboard extension only works in Mercurial 3.0 and newer,
we add some version detection for the Mercurial version. This should
have been done months ago. We now have it.

I also took the opportunity to inform |mach bootstrap| that Mercurial
2.x is no longer modern.

I also updated the messaging around mq to encourage fewer new users to
use it. You may find this controversial. People can always ignore the
message.

Finally, I also added a histedit prompt to the mix, since a lot of
people don't know about that and many find it useful.

I could have broken this into multiple patches. Meh.

--HG--
extra : rebase_source : d33f8abcabb6ad6511c2f9e202283d43613fafc4
extra : amend_source : 3a56bc4d49ee6200cbdd0e87b4f28489518fee79
2014-07-02 14:05:42 -07:00
Mike Hommey
ba044c0c7f Bug 762358 - Fixup the fixup not to break on windows. r=me 2014-07-03 09:38:47 +09:00
Mike Hommey
946e6e666f Bug 762358 - Fixup test_objdir_config_status to use config.guess output as base. r=gps 2014-07-03 08:33:14 +09:00
Mike Hommey
6f03a33e5f Bug 762358 - Re-run configure when mozconfig changed in a significant way. r=gps
This adds a format option to mach environment and uses it in client.mk to
create a .mozconfig.json in the objdir, containing all the relevant data
from mozconfig. If the mozconfig doesn't change in a way that alters that
data, we still skip configure.

At the same time, use mach environment in place of mozconfig2configure and
mozconfig2client-mk, which makes us now have only one mozconfig reader.

Also, in the mozconfig reader, keep track of environment variables (as
opposed to shell variables), so that changes such as a variable that was
exported not being exported anymore is spotted. At the opposite, in order
for irrelevant environment variable changes not to incur in re-running
configure, only a set of environment variables are stored when they are
unmodified. Otherwise, changes such as using a different terminal window,
or even rebooting, would trigger reconfigures.

Finally, make mach environment emit both MOZ_OBJDIR and OBJDIR for
client.mk, and cleanup some objdir-related things in client.mk..
At the same time, make the mozconfig reader take MOZ_OBJDIR from the
environment if it is defined there and not in the mozconfig.
2014-07-03 07:15:31 +09:00
Mike Hommey
4ba5a79732 Bug 1031132 - Refactor mach environment to use logic from MachCommandBase instead of its own. r=gps
Also don't print section titles when there is nothing under them, and move
move the ObjdirMismatchException handling to MachCommandBase.
2014-07-03 07:15:31 +09:00
Mike Hommey
31312eff5c Bug 1030717 - Don't try to create the mach state directory until it's actually needed. r=gps 2014-07-03 07:15:31 +09:00
Mike Hommey
451de50129 Bug 1031129 - Fix ObjdirMismatchException logic to throw properly on m-c. r=gps 2014-07-03 07:15:30 +09:00
Nathan Froyd
a024a9865c Bug 1025998 - part 1 - make convert_def_file.py handle the DATA keyword; r=glandium 2014-06-16 16:09:25 -04:00
Wes Kocher
c8c625d1b9 Merge m-c to fx-team a=merge 2014-06-25 18:44:50 -07:00
Wes Kocher
19b35e69b7 Merge inbound to m-c a=merge 2014-06-25 18:18:43 -07:00
Nathan Froyd
5bbf5e513f Backout bcd72aabb661, 1ed1c6212f4c, and 8d6f286139ef (bug 1025998) for xpcshell bustage leading to this CLOSED TREE 2014-06-25 17:00:06 -04:00
Mike Hommey
df8ec65f6f Bug 1027890 - Reject builds with pymake. r=gps
--HG--
extra : rebase_source : a662b896b5f431a37a1250ec19451324ebed3d14
2014-06-25 08:38:12 +09:00
Jason Orendorff
82179b1c2a Bug 1020514 - Make mach colorize lines that start with REFTEST TEST-UNEXPECTED-FAIL etc. r=gps.
--HG--
extra : rebase_source : 30d85f6d46894753d925c4189b598de034014fe6
2014-06-20 12:01:03 -05:00
Nathan Froyd
bcf9ead502 Bug 1025998 - part 1 - make convert_def_file.py handle the DATA keyword; r=glandium 2014-06-16 16:09:25 -04:00
Carsten "Tomcat" Book
23d6a7ded4 Merge mozilla-central to mozilla-inbound 2014-06-25 15:42:28 +02:00
Markus Stange
489bda511a Bug 1019944 - mach logging shouldn't eat whitespace at the start of the line. r=gps 2014-06-25 10:35:32 +02:00
Wes Kocher
d9ec170da8 Backed out 2 changesets (bug 1027890) for B2G Windows Build bustage on a CLOSED TREE
Backed out changeset bcd694f0e95d (bug 1027890)
Backed out changeset 49cadfcde709 (bug 1027890)
2014-06-24 18:33:46 -07:00
Mike Hommey
f59abd2745 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00