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

108 Коммитов

Автор SHA1 Сообщение Дата
Gregory Szorc 3712aeca37 Bug 1304508 - Remove makefile mkdir testing; r=ted
Several years ago, joey starting writing a handful of unit tests for
primitives in our make files. IIRC a lot of the impetus behind this
work was to flush out bugs between GNU make and pymake.

AFAICT the only survivor of these tests today is check_mkdir.py. The
test is a one-off and has been a bit fragile over the years,
contributing technical debt along the way. And as part of removing the
last references to pymake in automation, it is once again showing
itself and failing in a way that has to do with the way the test
is written and not an issue with the code it is testing. Enough is
enough. This commit removes the test and eliminates the technical
debt. I don't think it will be missed.

MozReview-Commit-ID: 3OzurtFbcyD

--HG--
extra : rebase_source : 6d3cf6121c90e9c47948862b8c4117bb1d3e5afd
2017-04-26 13:27:37 -07:00
Mike Shal 206b54e042 Bug 1338608 - Use mozunit in check_mkdir.py; r=chmanchester
This makes the check_mkdir.py match the TEST-PASS output of other tests
in the suite.

MozReview-Commit-ID: FR3m09wRXg0

--HG--
extra : rebase_source : 2e59fb8bc4756a9ef9fdbcf69af80e179be80cc0
2017-02-02 18:04:23 -05:00
Mike Shal 0acd1a6b5f Bug 1338608 - Move check_mkdir.tpy into a python unittest manifest; r=chmanchester
We also rename it to check_mkdir.py for consistency with other python
files.

MozReview-Commit-ID: ALuX6NUMsD2

--HG--
rename : config/tests/makefiles/autodeps/check_mkdir.tpy => config/tests/makefiles/autodeps/check_mkdir.py
extra : rebase_source : a7215c832896dd040ae2c5b3c3c2d7247c8163d8
2017-02-02 17:49:11 -05:00
Mike Hommey dc5d1e6adf Bug 1335309 - Change the default for find_executables to False. r=mshal
Back when the class was written, for the packaging code, it made sense
that the default was True. But now that it's used all over the place,
and that the vast majority of uses are with find_executables=False, it
makes more sense for that to be the default.

--HG--
extra : rebase_source : ff813735fc0d53093f348f20eb77ee03e9b09d4e
2017-01-31 14:06:15 +09:00
Andrew Halberstadt 6adcf5b456 Bug 1317970 - Use manifestparser manifests for python unit tests, r=chmanchester
This deprecates PYTHON_UNIT_TESTS and replaces it with PYTHON_UNITTEST_MANIFESTS.
In the build system, this means python unittests will be treated the same as all
other test suites that use manifestparser. New manifests called 'python.ini' have
been created for all test directories containing python unittests.

MozReview-Commit-ID: IBHG7Thif2D

--HG--
extra : rebase_source : 11a92a2bc544d067946bbd774975140147458caa
2016-11-16 09:59:22 -05:00
Elias Probst fa561f244a Bug 1293234 - Use octal notation for permission modes in the build system; r=gps
As of Python 3, decimal notations of octal values for permission modes
are no longer permitted and will result in a `SyntaxError` exception
(`invalid token`).

Using the proper octal notation which is also Python 2.7 compatible will
fix this issue.

--HG--
extra : rebase_source : 2e897c51f04ad0ee69071f84b98df224f3af72d3
2016-08-08 13:45:17 +02:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Mike Hommey 8a3b88f341 Bug 1278415 - Also write a mozinfo for js standalone builds. r=gps
Historically, a mozinfo for js standalone build has not been necessary,
but with the move towards a) having things work with mach and b)
buildconfig using the MozbuildObject.from_environment in next patch,
mozinfo becomes necessary (it's required for
MozbuildObject.from_environment to find the directory is an objdir).

Interestingly, hazard builds do both a js standalone build and a desktop
Firefox build at the same time, both of which are done with MOZCONFIG
set in the environment... with the Firefox mozconfig. The result of now
writing a mozinfo for js standalone builds is that in that case, they
end up with a reference to the mozconfig, which the build system then
reads, and finds a MOZ_OBJDIR, which then doesn't match the js
standalone build objdir. So for those builds, reset MOZCONFIG.
2016-06-16 11:43:23 +09:00
Chris Manchester 6a21a3345a Bug 1256979 - Move MOZ_CHROME_FILE_FORMAT to Python configure. r=glandium
The config variable is re-named to avoid confusion, because it is not set by
--enable-chrome-format.

MozReview-Commit-ID: 37gvjGGSkRc
2016-04-14 12:26:38 -07:00
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