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

56 Коммитов

Автор SHA1 Сообщение Дата
Nika Layzell 568787b95f Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-28 12:56:20 -05:00
arthur.iakab af07f9b9d4 Backed out 13 changesets (bug 1500948, bug 1509362, bug 1509591, bug 1448426, bug 1500949, bug 1487249, bug 1509930, bug 1500950, bug 1500944) for causing crashes and assertion failures on PBackgroundParent.cpp:696 CLOSED TREE
Backed out changeset c3fe435e473a (bug 1509362)
Backed out changeset 6494840edc17 (bug 1509591)
Backed out changeset 123b5d5a3637 (bug 1509591)
Backed out changeset bce195f98895 (bug 1509930)
Backed out changeset 66db13126408 (bug 1500950)
Backed out changeset 3b5fffae2d2b (bug 1500949)
Backed out changeset 71c3b3677db8 (bug 1500948)
Backed out changeset 784b3b56e2ab (bug 1500944)
Backed out changeset 0bad27401ddb (bug 1500944)
Backed out changeset e0f95dd96d54 (bug 1448426)
Backed out changeset c60fa11538db (bug 1487249)
Backed out changeset 0190d4ffa54f (bug 1487249)
Backed out changeset 3cd10aba9130 (bug 1487249)
2018-11-28 02:57:32 +02:00
Nika Layzell 9f648dce32 Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-27 18:09:33 -05:00
Kartikaya Gupta 22d325deab Bug 1440879 - Ensure all the stl_wrappers end up in the generated-files tarball. r=froydnj 2018-09-07 09:34:40 -04:00
Narcis Beleuzu b0827c4040 Backed out 2 changesets (bug 1440879) for build bustages on mozbuild\test\backend. CLOSED TREE
Backed out changeset 93892cfed015 (bug 1440879)
Backed out changeset 71d569322700 (bug 1440879)
2018-09-04 18:38:19 +03:00
Kartikaya Gupta 1a1ca59f9a Bug 1440879 - Ensure all the stl_wrappers end up in the generated-files tarball. r=froydnj 2018-09-04 10:40:45 -04:00
Jan Beich e459b11dc1 Bug 1484535 - Allow C++ files to check MOZ_SYSTEM_ICU. r=froydnj 2018-08-21 16:02:00 +03:00
Dave Hunt 057d540744 Bug 1438250 - Make mozunit pip installable; r=ahal
MozReview-Commit-ID: BT4ciGT82bp

--HG--
rename : config/mozunit.py => config/mozunit/mozunit/mozunit.py
extra : rebase_source : a68fa4f5dce77ccf7c55184c555bb37b3a876278
2018-03-29 14:18:00 +01:00
Sebastian Hengst d247fb5f4e Bug 1445763 - Update moz.build meta data with "Firefox Build System". r=froydnj
MozReview-Commit-ID: 3FrWJ6441pe

--HG--
extra : rebase_source : c8f1dc45041132252e28869ada6a386270267431
2018-03-14 21:44:46 +01:00
Kim Moir a7801a1404 Bug 1412906 - Remove config/makefiles/test/ r=nalexander DONTBUILD 2018-02-26 15:29:59 -05:00
Nick Alexander 9d65a9cea8 Bug 1435424 - Remove doxygen support from the build system. r=gps
This is ancient and the team that used it (gfx) is no longer using it.

MozReview-Commit-ID: HrDgmAU9QeW

--HG--
extra : rebase_source : c4a64965c4ae1a50888893e881a6e8a9688a58b6
2018-02-02 14:24:18 -08:00
Andrew Halberstadt 3684054b5d Bug 1433974 - Update BUG_COMPONENT for some of the new Testing components, r=jmaher
MozReview-Commit-ID: 7jQnnAhOzEr

--HG--
extra : rebase_source : af1c9dca779c6089b5cc062eea81ef9945133d48
2018-01-29 12:57:54 -05:00
Mike Hommey e0bbb4aa9e Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Bug 1256642 introduced magic at the emitter level to determine whether a
binary contains C++ sources and should be linked with the C compiler or
the C++ compiler.

Unfortunately, the Binary() moz.build template always adds C++ OS
libraries on Android (through STLPORT_LIBS), and C++ libraries on Linux
(stdc++compat).

The latter only ends up forcing every Binary() to be linked with the C++
linker, which is unfortunate, but doesn't cause much problems. The
former, however, involving OS libraries, the magic from bug 1256642
doesn't kick in, so we end up trying to link C++ OS libraries with the C
linker. Which ends up failing, because the libraries in STLPORT_LIBS
require -lm, which, while it's added by the C++ compiler when linking,
is not when the linkage is driven by the C compiler.

Because the fallible library, linked to all GeckoBinary()s is a C++
library, we still ended up linking with the C++ compiler on Android, so
this wasn't actually causing any problem... until I tried to remove that
fallible library in bug 1423803.

Anyways, the core problem is that moz.build evaluation is happening too
early to know whether any C++ sources are being linked together, so
there is no way the Binary() template can do the right thing. So this
change moves the logic to the emitter.

This also changes the type of STLPORT_LIBS to a list.

--HG--
extra : rebase_source : a70ddf7a132f94dc10e7e1db94ae80fb8d7a269f
2017-12-07 12:15:32 +09:00
Sylvestre Ledru 5de63ef061 Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 5orfnoude7h

--HG--
extra : rebase_source : 1ed9a6b56e1d27221a07624767a7fb0e6147117f
2017-12-08 13:46:13 +01:00
Sylvestre Ledru 9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Mike Shal 615e689f44 Bug 1407432 - Move system wrapper generation to moz.build; r=froydnj
The make-system-wrappers.py invocation is largely identical to
make-stl-wrappers.py, though this script generates wrappers for both the
STL headers and every other system header that can be used.

Note that the nsprpub script didn't create multiple layers of
subdirectories properly, so for example the 'ia64/sys/inline.h' wrapper
is now generated properly. Additionally, MOZ_SYSTEM_ICU define was
incorrectly using '#ifdef' instead of '#if ... == 1', which causes those
unicode headers to have wrappers when they shouldn't. These will show up
as differences when comparing the Makefile output to the moz.build
output.

MozReview-Commit-ID: KvQAawfzXao

--HG--
extra : source : 5a967cc85e28e63c283a81e2c76444a76dfbd266
2017-11-08 19:58:56 -05:00
Mike Shal 523accbeb6 Bug 1407432 - Move stl wrapper generation into moz.build; r=froydnj
This is fairly straightforward to represent as a GENERATED_FILES, though
we have to take some care to construct the outputs tuple correctly. This
script needs to run during export, and unfortunately none of the STL
headers have proper file extensions, so the 'new' header is
special-cased in the recursive make backend to serve as a marker for
running it in the correct tier.

We can't remove the stl-headers file yet because it is still used for
the system header generation.

MozReview-Commit-ID: 3tQTOY0LAsQ

--HG--
extra : source : 828d43ec1b16edaac69c42f15561f26e209051f1
2017-11-08 17:42:27 -05:00
Phil Ringnalda 8ccc4ff982 Backed out 6 changesets (bug 1407432) on (wild) suspicion of causing failures in browser_sanitize-timespans.js, somehow
CLOSED TREE

Backed out changeset 86302df0b38a (bug 1407432)
Backed out changeset 5a967cc85e28 (bug 1407432)
Backed out changeset 828d43ec1b16 (bug 1407432)
Backed out changeset bacf04be0a48 (bug 1407432)
Backed out changeset 8d770908a5b9 (bug 1407432)
Backed out changeset ffe9aed0944f (bug 1407432)

MozReview-Commit-ID: 7D50rKeXLrn
2017-11-09 22:07:46 -08:00
Mike Shal 7f43a2e505 Bug 1407432 - Move system wrapper generation to moz.build; r=froydnj
The make-system-wrappers.py invocation is largely identical to
make-stl-wrappers.py, though this script generates wrappers for both the
STL headers and every other system header that can be used.

Note that the nsprpub script didn't create multiple layers of
subdirectories properly, so for example the 'ia64/sys/inline.h' wrapper
is now generated properly. Additionally, MOZ_SYSTEM_ICU define was
incorrectly using '#ifdef' instead of '#if ... == 1', which causes those
unicode headers to have wrappers when they shouldn't. These will show up
as differences when comparing the Makefile output to the moz.build
output.

MozReview-Commit-ID: KvQAawfzXao

--HG--
extra : rebase_source : 758e325c6ec192d83fcfa10f8c878ba2629e45a3
2017-11-08 19:58:56 -05:00
Mike Shal 2fea117ba2 Bug 1407432 - Move stl wrapper generation into moz.build; r=froydnj
This is fairly straightforward to represent as a GENERATED_FILES, though
we have to take some care to construct the outputs tuple correctly. This
script needs to run during export, and unfortunately none of the STL
headers have proper file extensions, so the 'new' header is
special-cased in the recursive make backend to serve as a marker for
running it in the correct tier.

We can't remove the stl-headers file yet because it is still used for
the system header generation.

MozReview-Commit-ID: 3tQTOY0LAsQ

--HG--
extra : rebase_source : bd9f00e45a7bce4daaa0e1c16e22b28536658e37
2017-11-08 17:42:27 -05:00
Chris Manchester fab07bc443 Bug 1386876 - Replace all uses of NO_VISIBILITY_FLAGS with a template and remove NO_VISIBILITY_FLAGS. r=glandium
MozReview-Commit-ID: 194U1WMCAM0

--HG--
extra : rebase_source : 365b68b0a1772d238ae9b84966e53dcd1197fd85
2017-05-01 18:12:35 -07: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
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
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
Ted Mielczarek 94fa8fd73a bug 1247396 - drop support for MOZ_SHARED_ICU. r=glandium
MozReview-Commit-ID: 54AQdzJqvvA

--HG--
extra : rebase_source : 41c2516bf65ca4594a68084a61d9a737680cfc9f
extra : source : e40580ed0fe6fab50f1d8d23747c2cf423d93016
2016-02-11 08:21:16 -05:00
Mike Hommey 07dc39e490 Bug 1249167 - Fix dependencies involving stdc++compat and clang-plugin. r=mshal 2016-02-19 07:00:03 +09:00
Mike Hommey 3de00b45dd Bug 1216444 - Remove GKMEDIAS_SHARED_LIBRARY. r=mshal
In bug 922912, we folded back gkmedias.dll info xul.dll, so in practice, there
is no default configuration left that exercises GKMEDIAS_SHARED_LIBRARY. And
sure enough, it's been broken for months in many different ways.

The gkmedias intermediate library is however kept for webrtc signaling tests.
2015-10-21 14:47:22 +09:00
Nicholas Nethercote 25ef63fa85 Bug 1204134 (attempt 2) - Fix and disallow warnings in config/moz.build. r=glandium. 2015-09-15 17:01:08 -07:00
Phil Ringnalda 488c8c3d03 Back out changeset eea9adc2d1a5 (bug 1204134) for surprises warnings-as-errors in SM builds 2015-09-14 22:04:19 -07:00
Nicholas Nethercote f91cf233ba Bug 1204134 - Disallow warnings in config/moz.build. r=glandium.
It was necessary to allow warnings here I introduced ALLOW_COMPILER_WARNINGS in
bug 1198334, but something must have changed subsequently because it no longer
is necessary.

--HG--
extra : rebase_source : 292bd070928b2a0f8f943b8f5dabf31db30244b4
2015-09-14 21:16:33 -07:00
Ted Mielczarek 6be16c3688 bug 1198226 - Move HOST_{C,CXX}FLAGS to moz.build HOST_{CFLAGS,CXXFLAGS,DEFINES}. r=mshal
As part of this move, HOST_NSPR_MDCPUCFG needed to be changed to get the quoting right.

--HG--
extra : commitid : J26MhSiPq9g
extra : rebase_source : 81c5b98371042803741ddace8d01b0097757dff3
2015-09-08 11:35:43 -04:00
Nicholas Nethercote 3b6bddddf5 Bug 1198334 (follow-up) - Fix SM(e) bustage (which doesn't show up on try pushes, grr). r=bustage. 2015-08-30 17:05:38 -07:00
Nathan Froyd cc763887fa Bug 1186444 - part 1 - move uses of MODULE_OPTIMIZE_FLAGS to moz.build's CFLAGS; r=mshal
Now that we have moz.build, we can be guaranteed that any flags we add
in moz.build will be added after everything else has been setup.  So any
uses of MODULE_OPTIMIZE_FLAGS can be moved to moz.build's
CFLAGS/CXXFLAGS without any unusual repercussions.  We do have to verify
that MOZ_OPTIMIZE is in effect, though.
2015-07-22 11:04:32 -04:00
Mike Hommey fe90037862 Bug 1043692 - Add a DIST_INSTALL variable to moz.build, and replace NO_DIST_INSTALL with it. r=gps 2015-05-12 07:55:21 +09:00
Gregory Szorc eaf5064744 Bug 1132771 - Define some bug components; r=glandium
This patch defines bug components for code that I have historically
touched.

--HG--
extra : rebase_source : 9e670da52247a8feb149e6419e8b488e84f93333
2015-02-26 11:43:45 -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
Mike Hommey ed70c5f377 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Ms2ger 33f3b92033 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
Mike Hommey 71a7b66679 Bug 950298 - Make the js build system use top-level as its root objdir. r=gps 2014-01-14 07:38:40 +09:00
Ehsan Akhgari 8c254a9883 Bug 915735 - Build ICU as a shared library where JS is built as a shared library; r=glandium 2013-12-06 08:08:52 -05:00
Carsten "Tomcat" Book 2f14605f80 Backed out changeset 099f65a712a8 (bug 915735) Windows Build Bustage on a CLOSED TREE 2013-12-06 14:48:13 +01:00
Ehsan Akhgari ae9d793f7c Bug 915735 - Build ICU as a shared library where JS is built as a shared library; r=glandium 2013-12-06 08:08:52 -05:00
Mike Hommey a1486ce449 Bug 942043 - Straighten up zlib linkage wrt shared js and system zlib. r=gps,r=ted 2013-11-22 23:03:21 +09:00
Mike Hommey 00a70f6f7d Bug 933120 - Move HOST_PROGRAM and HOST_SIMPLE_PROGRAMS to moz.build. r=gps 2013-11-02 08:44:11 +09:00
Ted Mielczarek 673fd74516 Bug 930674 - convert VISIBILITY_FLAGS in Makefile.in to NO_VISIBILITY_FLAGS in moz.build. r=mshal 2013-10-24 15:06:19 -04:00
Mike Hommey b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey 716dacd4a7 Bug 922974 - Replace NO_INSTALL with NO_DIST_INSTALL. r=gps 2013-10-03 05:51:15 +09:00
Joey Armstrong ccea9f9d5e bug 875549: move HOST_CSRCS to mozbuild (file batch #1). r=mshal 2013-06-11 11:31:11 -04:00
Gregory Szorc 522764dec4 Bug 863069 - Part 1: Sort lists in moz.build files; r=mshal 2013-05-03 09:54:45 -07:00
Mike Hommey b7e1764ebe Bug 861453 - Restore empty substs after bug 857557, but put them in a separate file, unlisted as a dependency for everything. r=gps 2013-04-16 08:23:18 +02:00