Commit Graph

99 Commits

Author SHA1 Message Date
Mike Hommey
e88f90548f Bug 1222323 - Avoid passing extra defines to the compiler from config.mk. r=gps
C/C++ code should not be relying on XPI_NAME or AB_CD being defined, so
moving them out works.
2015-11-14 08:40:54 +09:00
Chris Manchester
c95264033a Bug 1184405 - Add a test to fail the build if file patterns are present in test dependency annotations that don't correspond to any files on disk. r=gps
--HG--
extra : commitid : HuJebAX8Bwj
2015-09-25 07:33:11 -07:00
Wes Kocher
8c818726fd Backed out changeset f7a0080dfd6b (bug 1184405) for SM build bustage CLOSED TREE 2015-09-25 09:14:26 -07:00
Chris Manchester
a75c9ca6bd Bug 1184405 - Add a test to fail the build if file patterns are present in test dependency annotations that don't correspond to any files on disk. r=gps
--HG--
extra : commitid : 5xR5ZLc8wOl
2015-09-25 07:33:11 -07:00
Gregory Szorc
6d01f694ab Bug 1132771 - Support and test for reading without a config object; r=glandium
We want the ability to read data from any moz.build file without needing
a full build configuration (running configure). This will enable tools
to consume metadata by merely having a copy of the source code and
nothing more.

This commit creates the EmptyConfig object. It is a config object that -
as its name implies - is empty. It will be used for reading moz.build
files in "no config" mode.

Many moz.build files make assumptions that variables in CONFIG are
defined and that they are strings. We create the EmptyValue type that
behaves like an empty unicode string. Since moz.build files also do some
type checking, we carve an exemption for EmptyValue, just like we do for
None.

We add a test to verify that reading moz.build files in "no config" mode
works. This required some minor changes to existing moz.build files to
make them work in the new execution mode.

--HG--
extra : rebase_source : f701417f83dfa4e196e39182f8d0a6fea46c6fbb
extra : source : af07351bf2d6e85293ae3edf0fe4ae6cbc0ce246
2015-02-26 10:21:52 -08:00
Gregory Szorc
68dc339213 Bug 1132771 - Add a test for reading all moz.build files in filesystem traversal mode; r=glandium
moz.build files should execute in filesystem traversal mode. Add a test
that verifies this is true.

This test performs a brute force filesystem scan to find relevant
moz.build files. This can be a little slow. That's unfortunate. But it's
a price we need to pay in order to ensure metadata extraction mode
continues to work.

--HG--
extra : rebase_source : 7ae9be71b7cd995c0794f980c5d76f38366637c6
extra : source : 91d34d3107faa777264cdcc9c89456bf4c289466
2015-03-02 09:43:11 -08:00
Joshua Cranmer
6bc7254918 Bug 1099430, mozilla-central parts: Eliminate the duplication of the build system in comm-central, r=glandium.
See the revisions a few steps prior for more fine-grained information. This just
needs to be relanded because our automation doesn't like non-ASCII commit
messages.

--HG--
extra : amend_source : 0ee4e0da1ea9ada815abfe989c51030db24aac56
2014-11-29 19:45:31 -06:00
Phil Ringnalda
23f2a4bc21 Backed out 3 changesets (bug 1099430) because 256 characters should be enough for anybody's commit message
CLOSED TREE

Backed out changeset 28abb8af2d62 (bug 1099430)
Backed out changeset 358aa39360d5 (bug 1099430)
Backed out changeset 3313e545f4f6 (bug 1099430)
2014-11-29 17:17:58 -08:00
Joshua Cranmer
358bd037da Bug 1099430, part 一: Define MOZILLA_DIR early in the base makefiles, r=glandium.
This change allows us to use use MOZILLA_DIR even for changes in config.mk. The
corollary is that comm-central needs to define MOZILLA_DIR before calling into
baseconfig.mk, which it already does.

The change to the test Makefile is needed since it decides to skip including
config.mk, and hence baseconfig.mk, where it would need to grab the MOZILLA_DIR
declaration.
2014-11-29 18:44:10 -06:00
Mike Hommey
8c10235da0 Bug 1077151 - Always use expandlibs descriptors when they exist. r=mshal
Currently, when there is both an expandlibs descriptor and an actual static
library, expandlibs picks the static library. This has the side effect that
if there are object files in the static library that aren't directly used,
they're dropped when linking, even when they export symbols that would be
exported in the final linked binary.

In most cases in the code base, files are not dropped that way. The most
notable counter-example is xpcomglue, where actually not dropping files
leads to link failure because of missing symbols those files reference
(yes, that would tend to say the glue is broken in some way).

On the opposite side, there is mozglue, which does have both a descriptor
and a static library (the latter being necessary for the SDK), and that
linking as a static library drops files that shouldn't be dropped (like
jemalloc). We're currently relying on -Wl,--whole-archive for those files
not to be dropped, but that won't really be possible without much hassle
in a world where mozglue dependencies live in moz.build land.

Switching expandlibs to use descriptors when they exist, even when there
is a static library (so, the opposite of the current behavior) allows to
drop -Wl,--whole-archive and prepare for a better future. However, as
mentioned, xpcomglue does still require to be linked through the static
library, so we need to make it a static library only.

To achieve that, we make NO_EXPAND_LIBS now actually mean no expandlibs
and use that to build the various different xpcomglues.
2014-10-04 10:33:00 +09:00
Mike Hommey
99fdc4c1d6 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
b161fa67a5 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Mike Hommey
cd488645d5 Bug 1024620 - Use object files next to archives when extracting them at link time, or in a subdirectory. r=ted 2014-06-14 09:08:22 +09:00
Gregory Szorc
e396fc159d Bug 774572 - Part 2: Define JAR_MANIFESTS in moz.build files; r=glandium
Every directory with a jar.mn now has JAR_MANIFESTS defined in its
moz.build file.

We also removed the may_skip special consideration of jar.mn files
because this information is now available during tier traversal by the
reader courtesy of the variables being present in moz.build files.

--HG--
extra : rebase_source : 21049b15e6bd9cf65b0805ccaccc4ba5aae93c98
extra : amend_source : 0b1ea866d725beef92d37c6f6d475369ac002e19
2013-12-10 16:18:11 +09:00
Mike Hommey
881a7c1554 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
Mike Hommey
29056e837a Bug 942377 - Fix check_mkdir.tpy with mozmake. r=mshal 2013-11-26 11:49:55 +09:00
Gregory Szorc
e7b3d38b5c Bug 937803 - os.path.exists should work with MockedOpen; r=glandium
--HG--
extra : rebase_source : 567b70b6a75f3c918da2c99ceb490ac569919ed0
2013-11-12 12:30:34 -08:00
Mike Hommey
a470038314 Bug 935305 - Move preprocessor to mozbuild.action. r=gps
--HG--
rename : config/Preprocessor.py => python/mozbuild/mozbuild/preprocessor.py
rename : config/tests/unit-Expression.py => python/mozbuild/mozbuild/test/test_expression.py
rename : config/tests/unit-LineEndings.py => python/mozbuild/mozbuild/test/test_line_endings.py
rename : config/tests/unit-Preprocessor.py => python/mozbuild/mozbuild/test/test_preprocessor.py
2013-11-09 10:35:44 +09:00
Joshua Cranmer
9e2f53a5c5 Bug 900526, part 2: Move backend.mk inclusion to config.mk instead of rules.mk, r=gps 2013-10-21 13:08:00 -05:00
Gregory Szorc
81b47f773e Bug 924615 - Move JarMaker.py into mozbuild; r=mshal
--HG--
rename : config/JarMaker.py => python/mozbuild/mozbuild/jar.py
rename : config/tests/unit-JarMaker.py => python/mozbuild/mozbuild/test/test_jarmaker.py
2013-10-11 13:19:11 -07:00
Gregory Szorc
dfb77e1fbd Bug 585016 - Move buildlist.py to a mozbuild action; r=mshal
--HG--
rename : config/buildlist.py => python/mozbuild/mozbuild/action/buildlist.py
rename : config/tests/unit-buildlist.py => python/mozbuild/mozbuild/test/action/test_buildlist.py
2013-10-11 07:22:49 -07:00
Mike Hommey
f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Mike Hommey
b411362875 Bug 912368 - Set relativesrcdir in config/tests/src-simple/Makefile and adjust so that it works. r=gps 2013-09-05 09:01:45 +09:00
Gregory Szorc
725466ff53 Bug 902619 - Write mozinfo.json as part of config.status; r=ted
There are both mechanical and logical changes in this patch.

The mechanical changes involve moving some files into the mozbuild
package.

The logical changes include move writing of mozinfo.json into
config.status (from configure.in). There were some variable assignments
being performed in configure.in. These variables were read from
writemozinfo.py. However, these variables don't appear to be necessary!
Now that mozinfo has full access to the underlying config.status data
structure, it can now access these variables directly. I verified that
every variable being assigned in configure.in had a corresponding
AC_SUBST earlier in the file.

The only variable that's a bit weird is the TOPSRCDIR and MOZCONFIG
environment variables. mozinfo continues to look in the environment for
MOZCONFIG. However TOPSRCDIR is now coming from config.status.

As part of moving the code, I also modernized the test file, cleaned up
some style, and removed some unused imports.

--HG--
rename : config/writemozinfo.py => python/mozbuild/mozbuild/mozinfo.py
rename : config/tests/unit-writemozinfo.py => python/mozbuild/mozbuild/test/test_mozinfo.py
2013-08-07 23:48:41 -07:00
Mike Hommey
b97d1767fc Bug 892904 - Remove useless includes of config.mk. r=gps 2013-07-15 18:48:40 +09:00
Andrew Halberstadt
268cae137d Bug 746546 - writemozinfo.py should use the buildconfig module, r=ted 2013-05-21 16:06:42 -04:00
Matt Brubeck
e1d2564c1b Reapplied changeset 31ff9550fba6 (bug 870073) 2013-05-10 15:49:57 -07:00
Kyle Machulis
72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Hommey
b8333c7486 Bug 648407 - Support expandlibs_exec.py --extract on windows. r=ted 2013-03-17 07:44:57 +01:00
Yati Sagade
999eeb2111 Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30
Gregory Szorc
c3f2ed9adf Bug 784841 - Part 18e: Convert /build, /config, and core build system; r=ted 2013-02-25 12:47:18 -08:00
Mike Hommey
bce20e818c Fixup for unit-expandlibs.py after bug 840661 r=me 2013-02-14 09:14:12 +01:00
Mike Hommey
2c406a10c0 Bug 820724 - Add support for more elaborate expressions for Preprocessor.py. r=ted 2012-12-12 16:00:40 +01:00
Axel Hecht
4b9b43fd5b bug 797745, add support for relativesrcdir overrides, r=ted
relativesrcdir is used for l10n packaging primarily. Being able to
override this in jar.mn allows to package individual files from toolkit
for an app.

--HG--
extra : rebase_source : 1b5b9028751cfe01a3810cea81a52b4c20919b51
2012-11-01 15:51:48 +01:00
Axel Hecht
029c5c9d55 bug 797745, use l10n-base and relativesrcdir instead of config.mk for l10n-merge, r=ted
--HG--
extra : rebase_source : 0d280e5cfabe7efdbe112309da6ef87d3848c441
2012-11-01 13:25:53 +01:00
Axel Hecht
9dda636bd2 Bug 797745 - Multiple jar manifests in one run is not used, remove that. Also remove old perl options and un-used options of the perl version. r=ted 2012-10-13 04:37:15 -04:00
Siddharth Agarwal
0e957e0c06 Bug 767833 - Pymake on Windows is busted with config/tests/makefiles/autodeps/check_mkdir.tpy. r=khuey
Less MSYS, more Windows.

--HG--
extra : rebase_source : cd26706f245c69667ec3afbd6c6a51527dd1592e
2012-08-08 00:36:44 +05:30
Mike Hommey
70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Mike Hommey
03af8b0c50 Backout changeset 2ef51674316a (bug 774032 bonus) for various Mochitest bustages on a CLOSED TREE 2012-08-04 10:38:41 +02:00
Mike Hommey
7096160830 Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 08:48:56 +02:00
Mike Hommey
1032512213 Bug 774032 part 2 - Allow to disable markers in Preprocessor.py. r=ted 2012-08-04 08:47:28 +02:00
Mike Hommey
94f8e1708f Bug 774032 part 1 - Avoid Preprocessor.py replacing undefined variables with the attemptSubstitution filter. r=ted 2012-08-04 08:47:28 +02:00
Mike Hommey
e48c55e0a0 Bug 776035 part 3 - Use the new MockedOpen in unit-Preprocessor.py. r=ted 2012-07-25 07:44:08 +02:00
Mike Hommey
461308faae Bug 776035 part 2 - Add an enhanced MockedOpen facility to mozunit.py. r=ted 2012-07-25 07:44:08 +02:00
Mike Hommey
e4b0f1bfcc Bug 776035 - Make mozunit even easier to use, and use it in config/tests python unit tests. r=ted 2012-07-25 07:44:08 +02:00
Ed Morley
3d60969c38 Backout eecd3aa199e6 (bug 776305), 62facd5b3da9, c6a0ac7d47d2 & 2d56621abfee (bug 776035), e4e68cf2bd40 (bug 776016), 0853a4d49b4e & 31de6ffdedcb (bug 770426), 43a69b4981f5 (bug 756786) for Windows mochitest crashes 2012-07-25 09:35:32 +01:00
Mike Hommey
2f44f610f5 Bug 776035 part 3 - Use the new MockedOpen in unit-Preprocessor.py. r=ted 2012-07-25 07:44:08 +02:00
Mike Hommey
4c48c001f8 Bug 776035 part 2 - Add an enhanced MockedOpen facility to mozunit.py. r=ted 2012-07-25 07:44:08 +02:00