Commit Graph

199 Commits

Author SHA1 Message Date
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
Mike Shal
3c20629a8d Bug 978211 - add an automation/build target for post-build steps; r=glandium 2014-05-16 14:37:31 -04:00
Ms2ger
46bbde871c Bug 1020165 - Remove empty makefiles; r=mshal 2014-06-06 10:06:24 +02:00
Mike Hommey
a8094b7d26 Bug 986301 - Fix --with-libxul-sdk after bug 969164. r=gps 2014-03-21 11:52:25 +09:00
Mike Hommey
082475052b Bug 969164 - Replace most BUILDING_JS uses with JS_STANDALONE. r=gps
Before making top-level traverse js/src moz.build files, there was a need to
distinguish between top-level traversing e.g. top-level moz.build or
config/moz.build and js/src traversing them. With a single traversal of both
moz.build sets, we now only need to distinguish between js standalone builds
and gecko builds.

There is still, however, a need to distinguish between top-level vs. js/src
configure runs on gecko builds to make them subconfigure icu and libffi from
top-level instead of js/src in js standalone builds, or when choosing to make
js/src's config.status do something when run or not.
2014-02-11 10:37:47 +09:00
Mike Hommey
0d839c5b66 Bug 969164 - Traverse js/src moz.builds from top-level configure. r=gps
Before, we would run configure in both top-level and js/src, and both
configures would traverse their own set of moz.builds, without actual
knowledge about the other. With this change, both configures still run,
but only top-level traverses moz.build files, and uses js/src's
config.status when traversing its moz.build files. This allows a better
sharing of information between both build systems and the removal of many
hacks.

This also moves running libffi and icu configure to top-level.

Standalone js builds still have their own configure doing moz.build traversal,
as before.

--HG--
rename : config/autoconf.mk.in => config/autoconf-js.mk.in
rename : config/emptyvars.mk.in => config/emptyvars-js.mk.in
2014-02-11 10:37:47 +09:00
Mike Hommey
925edbca14 Bug 950298 - Make the js build system use top-level as its root objdir. r=gps 2014-01-14 07:38:40 +09:00
L. David Baron
1396afb839 Bug 388971: Enable the 'make check' test checking for bad relocations. r=bsmedberg 2013-12-03 12:51:08 -08:00
Mike Hommey
bf60896454 Bug 943728 - Replace double quotes with single quotes in Makefiles (or remove them when it makes sense). r=mshal 2013-12-03 06:34:21 +09:00
Ted Mielczarek
35ffe02eca Bug 941120 - Stop running make check twice in js/src. r=gps 2013-11-20 15:14:31 -05:00
Carsten "Tomcat" Book
f23919a462 merge fx-team to mozilla-central 2013-11-07 14:24:24 +01:00
Mike Hommey
d2778baa7e Bug 862770 - Fix --disable-compile-environment a little. r=gps
--HG--
rename : config/makefiles/target_libs.mk => config/makefiles/target_binaries.mk
rename : js/src/config/makefiles/target_libs.mk => js/src/config/makefiles/target_binaries.mk
2013-11-07 10:37:45 +09:00
Mike Hommey
d8b9f34094 Bug 934332 - Don't install tests under js/src in --with-libxul-sdk builds. r=gps 2013-11-07 10:37:45 +09:00
Matt Brubeck
ac36f169d7 Bug 934713 - Explicitly use $(PYTHON) to run config.status [r=gps]
This fixes a mysterious bug where config.status has the wrong sys.path when
this recipe is built using GNU Make on Windows.
2013-11-06 13:16:44 -08:00
Mike Hommey
0d8ebea87c Bug 934344 - Fix race condition in parallel export, between js/xpconnect/src and xpcom/idl-parser. r=mshal 2013-11-05 07:39:28 +09:00
Gregory Szorc
d13caf7d3e Bug 877308 - Change when build backend update check it performed; r=glandium
Before, we checked if config.status was stale in any entrant Makefile
(top level or child directory). This had undesirable side-effects for
partial tree builds, notably that if the build backend was out of date,
the current Makefile was invalidated.

With this patch, we only regenerate the build config automatically in
full/toplevel builds. If an outdated build config is detected on partial
tree builds, we error. The impact of this is mitigated by having mach
build automatically ensure the build config is current.

--HG--
extra : rebase_source : a3a2c1d2bf68d1c0727352ebd9bfb785654e45bf
2013-10-29 14:53:52 -07:00
Mike Hommey
40d13924dc Bug 930896 - Keep track of files generated by a build backend. r=gps 2013-10-29 08:00:30 +09:00
Mike Hommey
17abe59d90 Bug 926906 - Drop support for GNU make < 3.81. r=gps 2013-10-17 07:55:14 +09:00
Mike Hommey
78dcf78664 Bug 925993 - Ensure clang-plugin is built before everything else; r=gps 2013-10-12 08:29:46 +09:00
Mike Hommey
44fe8c20f5 Bug 921307 - Aggregate dependencies in subdirectories that are still recursed with pseudo derecurse. r=gps 2013-10-03 05:51:19 +09:00
Mike Hommey
c1772e4bcd Bug 905973 part 3 - Add a "binaries" tier that optimizes for recompilation times. r=gps 2013-10-02 08:53:23 +09:00
Mike Hommey
6b69682360 Bug 921770 - Avoid doing things with js/src from top-level when building --with-libxul-sdk. r=gps 2013-10-01 08:25:38 +09:00
Gregory Szorc
9d660cc01b Bug 921070 - Remove precompile tier; r=glandium
It made sense at the time. We now have inverted tiers and will soon have
derecursified building. This doesn't make sense any more.
2013-09-26 16:05:10 -07:00
Gregory Szorc
469113cc00 Bug 901990 - Part 3: Don't purge _tests during PGO builds; r=glandium
CLOSED TREE
2013-09-24 15:05:43 -07:00
Mike Hommey
2ac26a823f Bug 915648 - Parallelize make export. r=gps 2013-09-20 13:30:17 +09:00
Mike Hommey
362a6b7e54 Bug 907365 - Pseudo-derecursify the build (opt-in). r=gps
Also remove the compile tier added in bug 912856 when pseudo-derecursify is disabled.
2013-09-20 10:44:11 +09:00
Gregory Szorc
f38b347428 Bug 911375 - Part 2: Convert uses of PurgeManifest to InstallManifest; r=glandium 2013-09-16 17:49:44 -07:00
Mike Hommey
e297b68676 Bug 912856 - Add a compile 'tier' to build OBJS and HOST_OBJS. r=gps 2013-09-06 09:19:32 +09:00
Mike Hommey
a229160645 Bug 912832 - Inverse tiers and subtiers for build traversal. r=gps 2013-09-06 09:17:59 +09:00
Mike Hommey
6dd21c5819 Bug 912795 - make export doesn't handle install/purge manifests. r=gps
At the same time, fix a few things in the top-level Makefile.in.
2013-09-05 15:07:57 +09:00
Mike Hommey
f1cf3b4238 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Mike Hommey
c05cf63484 Bug 911634 - Create a .mozconfig.mk in the objdir when starting a build, and include it from config.mk. r=gps 2013-09-05 09:01:44 +09:00
Gregory Szorc
0c8af7b874 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Phil Ringnalda
271703650a Back out ce03cc2994aa:ae9f95fc1136 (bug 896797) for SpiderMonkey shell build bustage
CLOSED TREE
2013-09-03 23:21:30 -07:00
Gregory Szorc
09e6af1b95 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Mike Hommey
a3dd7d9577 Bug 909076 - Remove useless rules for make export at the top-level directory. r=gps 2013-08-27 11:17:23 +09:00
Gregory Szorc
f45aa5e156 Bug 896797 - Part 1: Ensure js/src moz.build is up to date before building; r=glandium 2013-08-22 16:30:11 -07:00
Ms2ger
8ccdba4aa0 Bug 906412 - Cleanup some random parts of the build system; r=mshal 2013-08-22 08:55:59 +02:00
Gregory Szorc
9bfe2211ed Bug 906101 - Move tier make logic into own .mk file and don't use from rules.mk; r=glandium
The existing tier traversal logic is only used in the top-level Makefile
but was present in rules.mk. This meant it was getting evaluated for
every Makefile. This was silly and thus the logic has mostly been moved into
its own .mk file and is only included for the root Makefile.
2013-08-20 13:03:39 -07:00
Gregory Szorc
acd9d1a011 Bug 905879 - More robust tier tracking; r=glandium 2013-08-20 00:06:32 -07:00
Ed Morley
553e29c238 Bug 901898 - Remove codesighs now that it's no longer run in automation; r=gps 2013-08-12 13:10:41 +01:00
Gregory Szorc
bee18ba6c2 Bug 891474 - Establish unified directory for Python build actions; r=glandium, ted
--HG--
rename : config/purge_directories.py => python/mozbuild/mozbuild/action/purge_manifests.py
rename : build/xpccheck.py => python/mozbuild/mozbuild/action/xpccheck.py
extra : rebase_source : 46bc960aa62c1117a7bf215653b768dc78b48d9a
2013-07-11 13:42:26 -07:00
Gregory Szorc
175b6cc4a4 Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium
--HG--
extra : rebase_source : bfe9c0eb27d5b19e26e557af8762bb45c21b949e
2013-06-25 11:04:03 -07:00
Ehsan Akhgari
16e3b246fa Backed out 2 changesets (bug 884587) because of Windows build bustage on a CLOSED TREE
Backed out changeset 0244a34bc419 (bug 884587)
Backed out changeset 796961a384b4 (bug 884587)
2013-06-25 16:38:55 -04:00
Gregory Szorc
6f83cff28d Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Ryan VanderMeulen
0517d938d7 Backed out 2 changesets (bug 884587)
Backed out changeset 447ff64adbb1 (bug 884587)
Backed out changeset 8d90527c22c6 (bug 884587)
2013-06-25 15:22:37 -04:00
Gregory Szorc
2c0766e15d Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Gregory Szorc
06dd9683e9 Bug 874078 - Move RecursiveMakeBackend.built rule to rules.mk; r=glandium 2013-05-20 23:26:20 -07:00
Gregory Szorc
b382a7ef26 Bug 873809 - Proper dependencies under pymake; r=khuey
--HG--
extra : rebase_source : dddc589c1052470312644b7f5f4e41e566e824e6
2013-05-19 13:19:00 -07:00
Gregory Szorc
8e72b6e44d Bug 848530 - Check for moz.build traversal at top of build; r=glandium
One of the first actions an invoked Makefile now does is check to see if
*any* moz.build file or Makefile.in is out of date. If so, config.status
is executed to rebuild the build backend.

Since we always perform this check as part of a build, we no longer need
special handling for out of date moz.build files during traversals. This
results in the removal of a significant amount of code!

Another upside of the change is that if a moz.build file is modified
during building, we don't (potentially) modify the build backend from
under the in-progress build. Thus the only race condition that remains
is if a moz.build is mutated during moz.build reading. This window (a
few seconds) is significantly shorter than the time of a full build
(minutes).

This patch should also enable us to remove empty Makefile.in files
without requiring a clobber.
2013-05-17 10:54:56 -07:00