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

828 Коммитов

Автор SHA1 Сообщение Дата
Mike Shal 6fab321f11 Bug 1319222 - Add include flags to HOST_*; r=chmanchester
This accounts for LOCAL_INCLUDES in the moz.build files, as well as the
default INCLUDES specified in config.mk that are used for host
compilation. Since some of the HOST_CFLAGS were also used for linking,
those flags are split off into HOST_C{XX}_LDFLAGS so that
the linker-only flags can be placed in those variables.

MozReview-Commit-ID: J1LxIZVeFJ

--HG--
extra : rebase_source : ed7293604e5428e3124f1ecfb2b706e087436b72
2017-11-22 16:23:44 -05:00
Mike Shal 5e5570c9ca Bug 1319222 - Add an SFLAGS ComputedFlags variable for compiling *.S; r=chmanchester
Both SFLAGS and ASFLAGS are used to compile assembly, but SFLAGS include
DEFINES and LOCAL_INCLUDES whereas ASFLAGS do not. It seems easiest to
just separate them into two different ComputedFlags values so that the
backend can distinguish between the two types.

MozReview-Commit-ID: Bkm3621ImJG

--HG--
extra : rebase_source : 420204e37d591512f700d77b780939d20c2feeb0
2017-11-22 15:27:52 -05:00
Chris Manchester 246c2b0583 Bug 1416059 - Move ASFLAGS logic from config.mk to mozbuild. r=mshal
MozReview-Commit-ID: L7RSijG9uA

--HG--
extra : rebase_source : 480bfbf3cef7116e7657ad6320acc44f14b8a55a
2017-11-10 16:58:16 -08:00
Andreea Pavel a1061f09c5 Backed out 2 changesets (bug 1416059) for failing /python/mozbuild/mozbuild/test/frontend/test_emitter.py::TestEmitterBasic::test_use_yasm r=backout on a CLOSED TREE
Backed out changeset 597624409f4c (bug 1416059)
Backed out changeset d0df69766fa5 (bug 1416059)
2017-11-14 20:44:54 +02:00
Chris Manchester f32dcac229 Bug 1416059 - Move ASFLAGS logic from config.mk to mozbuild. r=mshal
MozReview-Commit-ID: L7RSijG9uA

--HG--
extra : rebase_source : cb16b4120e408fe241ddc75ccd7b133702c52727
2017-11-10 16:58:16 -08:00
Masatoshi Kimura 383e90a03b Backed out changeset 6555a2a899a0 (bug 1384557) due to causing bug 1414060. r=backout
MozReview-Commit-ID: FV44JQSDXPQ

--HG--
extra : amend_source : 8c05281fad889edd723ab58786d0bf16f7d325b0
2017-11-07 20:39:00 +09:00
Chris Manchester 8bc7bdf347 Bug 1411712 - Move LDFLAGS to mozbuild. r=mshal
MozReview-Commit-ID: A8cZ2FUveAf

--HG--
extra : rebase_source : 5f0e9b55c38f3b2382b469bbc886c57696f09792
2017-11-02 11:47:48 -07:00
Chris Manchester 4cfd6c93c3 Bug 1411712 - Make a new variable for pgo flags added to LDFLAGS. r=mshal
The make backend is the only thing that is aware of PROGILE_GEN and
PROFILE_USE, so we move these ldflags to their own variable while
converting the remainder of ldflags to mozbuild.

MozReview-Commit-ID: GwbPD6Q4Oyn

--HG--
extra : rebase_source : 3c90def9ee8cd949dd135ba8fa9b192f114f6727
2017-11-02 11:47:48 -07:00
Chris Manchester f8a3e49e93 Bug 1411712 - Make a new variable for LDFLAGS to be set by Makefile.in that aren't intended to be handled by other backends. r=mshal
These flags are only relevant on OS X, and will not be necessary soon, so this
commit moves them to a separate variable while we move the remainder of the
ldflags to mozbuild.

MozReview-Commit-ID: 1NDgz3HIYpT

--HG--
extra : rebase_source : 6e9b5f5a5be5ff916db89a0b73896b9058eb040e
2017-11-02 11:47:47 -07:00
Ted Mielczarek 54b6236e29 bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache r=glandium
Currently mozconfig.cache overrides a few build options for sccache. This
patch moves them into toolchain.configure so that the build system will
set them properly when sccache is in use. Additionally, {CC,CXX}_WRAPPER
are set in config.mk, so just avoid setting them when sccache is in use.

MozReview-Commit-ID: FYlVKRI8OiN

--HG--
extra : rebase_source : 00715beb5fbd2c11311dec43809bd1febab56a11
extra : intermediate-source : 0f2b1b75b83737378d882a3c3e0d8dfb4efecd1f
extra : source : a8032ae9cb2ad1c4574c6ac6f5c2778863cd71e0
2017-01-10 16:52:27 -05:00
Chris Manchester 92ca8066af Bug 1405811 - Move host compilation flags to mozbuild. r=mshal
MozReview-Commit-ID: 7I5IHM65eaU

--HG--
extra : rebase_source : b33bb2f0f6a9cb36961586ad475cf36f8bbcd091
2017-10-02 11:41:41 -07:00
Chris Manchester bd83adf337 Bug 1411787 - Convert MOZBUILD_CFLAGS from passthru variables to computed flags. r=mshal
MozReview-Commit-ID: HOMf4vfFE1n

--HG--
extra : rebase_source : fad33710a5f374f070b4c972c303a6b2ece25758
2017-10-27 10:38:10 -07:00
Chris Manchester c86173526a Bug 1403346 - Replace all uses of ALLOW_COMPILER_WARNINGS with a template, remove ALLOW_COMPILER_WARNINGS. r=glandium
MozReview-Commit-ID: 1G2o4fy74cf
2017-10-25 15:12:09 -07:00
Chris Manchester 3bd4902247 Bug 1403346 - Move C{XX}FLAGS to mozbuild computed flags. r=glandium
This also introduces C{XX}_LDFLAGS variables which contain cflags that
are meant to be passed to the linker, and adds them to various linker
command lines in place of CFLAGS.

MozReview-Commit-ID: GyKlD9nMqrt
2017-10-25 15:12:09 -07:00
Chris Manchester a1d26e4177 Bug 1403346 - Make a separate variable used to append pgo flags to compile command lines. r=glandium
This commit establishes a separate variable to add PROFILE_GEN and PROFILE_USE
CFLAGS to compile and link command lines. Currently the make backend
orchestrates the pgo build steps and is the only thing aware of whether
we're in the profile generate or profile use stage. The flags are separated
here to allow other flags to be moved to mozbuild, but this will not yet
sufficient to perform a PGO build independent of the make backend.

MozReview-Commit-ID: IX30l2MvvNc
2017-10-25 15:10:04 -07:00
Chris Manchester 10140558e1 Bug 1403346 - Move OS_COMPILE flags to computed flags. r=glandium
MozReview-Commit-ID: JUHoBuJYG1T
2017-10-25 15:10:04 -07:00
Chris Manchester 1e2fcc4b06 Bug 1403346 - Move RTL_FLAGS to computed flags. r=glandium
MozReview-Commit-ID: 9tOuNXjyJQD
2017-10-25 15:10:03 -07:00
Chris Manchester 33845169fa Bug 1403346 - Move DSO_CFLAGS and DSO_PIC_CFLAGS to computed flags. r=glandium
MozReview-Commit-ID: Goo0cP6UEEo
2017-10-25 15:10:03 -07:00
Sebastian Hengst 4ad3e6f78d Backed out changeset 1ae1bd9b2b5c (bug 256180) for crashtest failures on Windows 7 debug, e.g. in layout/base/crashtests/507119.html, and on suspicion of causing crashtest failures on Android. r=backout 2017-09-28 11:31:47 +02:00
Henri Sivonen 4518c3597b Bug 256180 build config part - Increase the max size for the runtime stack on Windows. r=glandium
MozReview-Commit-ID: JhWucajuuFz

--HG--
extra : rebase_source : 48a80faae8e378695529bf6acae6526393d83d7b
2017-09-14 11:39:43 +03:00
Chris Manchester 89a09e8d67 Bug 1398897 - Move os includes to computed flags. r=glandium
MozReview-Commit-ID: Ef1wu5fQo7M

--HG--
extra : rebase_source : b5f15b2da47e724790ffee0512b5477059ae1c3a
2017-09-20 12:43:24 -07:00
Chris Manchester c6f31b26d8 Bug 1398897 - Move includes to computed flags. r=glandium
MozReview-Commit-ID: Ec0wZfoV63B

--HG--
extra : rebase_source : c004185b9a9938343efb93920f646afd30b4b01e
2017-09-20 12:43:23 -07:00
Chris Manchester 6de6ad13ab Bug 1398897 - Move defines to computed compile flags. r=glandium
MozReview-Commit-ID: CgQv79dYj7Y

--HG--
extra : rebase_source : 2e95f04d586ccb31bbd68e76b550fe1afcac32ec
2017-05-01 18:13:48 -07:00
Jean-Yves Avenard 0f1d9323c6 Bug 1341504 - Don't disable incremental linking when optimizations are turned off. r=glandium
Incremental linking is automatically disabled when -OPT:REF or -OPT:ICF are used.
Seeing that we're disabling optimizations anyway, may as well not use those linker flags as they considerably slow down linking.

MozReview-Commit-ID: 9OXG19uxeI9

--HG--
extra : rebase_source : 4703bc4bb62af3f054ca621be7c1c51fe56cb2f3
2017-09-02 03:03:08 +02:00
Chris Manchester 26d4e4810c Bug 1386876 - Move visibility flag handling to computed compile flags with templates. r=glandium
MozReview-Commit-ID: 9hwiCQv8WKU

--HG--
extra : rebase_source : cc7593fd06949a432dd056194ff19c1ac0daf4e4
2017-09-11 11:36:31 -07:00
Chris Manchester e059037e2b Bug 1386876 - Add classes to handle compile flags computed by moz.build with templates, convert 'DISABLE_STL_WRAPPING' to use them. r=glandium
MozReview-Commit-ID: 3PYOtX4E8OC

--HG--
extra : rebase_source : 162999582bc2ef078680ce6feae628d5b1f4e857
2017-04-28 16:35:19 -07:00
Chris Manchester 13ea176769 Bug 1380547 - Add a variable other than DEFINES for defines that are set from Makefiles. r=mshal
As we move our compile command lines into mozbuild we want to stop using DEFINES
directly. This patch adds a variable that can be set from Makefiles to contribute
defines to a compile command line to help the transition.

MozReview-Commit-ID: 5xLB06pzpJY

--HG--
extra : rebase_source : 7ca0b9d8f5a77ec55eb751f75f58a69e64efb21d
2017-08-08 15:43:04 -07:00
Axel Hecht aebc0e7f7e bug 1370506, always merge for l10n repacks, with internally set merge dir, r=glandium
To not merge the en-US language pack, the merge-% steps are in
a conditional function that disables that for en-US. Using a function
here as that's easier than a shell if in the merge rule, and
Makefile conditionals don't get evaluated late enough.

To liberate the l10n builds from settings in the automation,
we move the patch logic from LOCALE_MERGEDIR to REAL_LOCALE_MERGEDIR.

To determine strongly when we're in a repack or building a langpack,
the trick here is to

  export IS_LANGUAGE_REPACK

in l10n.mk, and only set that to true in the entry-point rules.

Now, we can use that value in config.mk to define the l10n-specific
rules.

I did the same thing for langpack-%, which allows us to disable
the crashreporter files for language packs, for example.

With that,

  make installers-de

just works, if you have localizations checked out.

For a while, we might run l10n-merge twice in automation, but it's really not
optional, so let's just make sure we run it.


MozReview-Commit-ID: 3nr33CKxkBQ

--HG--
extra : rebase_source : 0605a4adba018fa4b85d563cdafba80b0533bc91
2017-06-16 15:21:16 +02:00
Sylvestre Ledru 442b5579cf Bug 1383966 - Give the result of the linker detection to OS_LDFLAGS r=glandium
MozReview-Commit-ID: 2zKZtKWMaIs

--HG--
extra : rebase_source : 905206f550feda15c9d317b7281be179effcffae
2017-07-25 07:14:14 +02:00
Mike Hommey 305ba77f06 Bug 1355671 - Add optimization flags to HOST_CXXFLAGS similarly to HOST_CFLAGS. r=gps
--HG--
extra : rebase_source : a8a0bef056cc7af6325c16b138134bcac561b97a
2017-04-07 17:03:21 +09:00
Sebastian Hengst 65b0030bdb Backed out changeset af627820b970 (bug 1355671) 2017-04-19 00:02:56 +02:00
Mike Hommey 6a7ad030a1 Bug 1355671 - Add optimization flags to HOST_CXXFLAGS similarly to HOST_CFLAGS. r=gps
--HG--
extra : rebase_source : 24148bbac4a6dc712d333473c5ce0a42b5e8c5bb
2017-04-07 17:03:21 +09:00
Ting-Yu Chou 9df076864f Bug 1347796 - Bump stack size 3x larger than default for win64 ASan. r=dbaron,gps
This is a similar issue to bug 582910 which the stack isn't big enough
to run the tests that recurse deeply. Set it 3x larger because the
offical site states they've seen up to 3x stack memory increase for
ASan, also the number was confirmed by the measurements in bug
1259796.


MozReview-Commit-ID: FLASlkVrEUM

--HG--
extra : rebase_source : 3e82439e3df7b1e2fa1759c9693bd197431c9f71
2017-03-20 10:52:00 +08:00
Phil Ringnalda 53ccf8158e Backed out 5 changesets (bug 1318370) for mozilla-central Windows static-analysis bustage
Backed out changeset 196f9ddbf7aa (bug 1318370)
Backed out changeset 72f6eace33a1 (bug 1318370)
Backed out changeset c0c0e10ed613 (bug 1318370)
Backed out changeset a8032ae9cb2a (bug 1318370)
Backed out changeset 0848b3201c40 (bug 1318370)
2017-02-21 21:22:01 -08:00
Ted Mielczarek 0ba51f3683 bug 1318370 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache r=glandium
Currently mozconfig.cache overrides a few build options for sccache. This
patch moves them into toolchain.configure so that the build system will
set them properly when sccache is in use. Additionally, {CC,CXX}_WRAPPER
are set in config.mk, so just avoid setting them when sccache is in use.

MozReview-Commit-ID: FYlVKRI8OiN

--HG--
extra : rebase_source : cc7e4346869b98a52840c101824044abc236637f
2017-01-10 16:52:27 -05:00
Benjamin Smedberg beb6ea8925 Bug 1333826 - Remove a few references from .mk files, r=mshal
MozReview-Commit-ID: E5cDr4OO91C

--HG--
extra : rebase_source : 3480c22581113ceee42e07e933f10447048cec70
2017-01-25 14:21:30 -05:00
Gregory Szorc c7c65f2fb5 Bug 1321750 - Remove automatic color flags from HOST_CFLAGS, HOST_CXXFLAGS; r=glandium
moz.configure only sets the color flags value for the target compiler.
If the host compiler is a different version and doesn't support color
flags, we may pass unrecognized command line options.

Until we have better distinction between host and target compilers
throughout the build system, just disable automatic color flags for
host invocations. We don't have too many host binaries, so this should
have negligible impact.

MozReview-Commit-ID: KWTLkKvtwHs

--HG--
extra : rebase_source : 97a7240a796bae42221b2952d4dc1e66294e6219
2016-12-02 10:10:24 -08:00
Mike Hommey 07083a8dfb Bug 1317504 - Make MSVC builds use the LINK variable instead of LD. r=chmanchester
At the same time, remove HOST_LD. It was only used for MSVC builds,
which don't support cross-compile anyways, so we can, at least for now,
use LINK for both host and target.

--HG--
extra : rebase_source : 9ee9e7e1bd3edefc043fa63d5c03f2a242f76982
2016-11-24 15:45:16 +09:00
Gregory Szorc ef9dd4c540 Bug 1319166 - Don't automatically enable color in iTerm2; r=glandium
iTerm2 interprets the byte sequence "ESC [ 2 i" as a request to open
a print dialog. This sequence can get emitted when printing colorized
compiler output.

Until we figure out a workaround, disable automatic coloring on iTerm2
so developers aren't annoyed.

MozReview-Commit-ID: 3Be4YgArg4k

--HG--
extra : rebase_source : e4e441a6fd97b09f55b05d53af91890649249e1c
2016-11-21 22:37:01 -08:00
Gregory Szorc 4732e7cb34 Bug 1171610 - Automatically enable color in compiler output; r=glandium
GCC and Clang will colorize compiler output automatically if stdout is a
TTY. Unfortunately, when the build backend is invoked via `mach`,
stdout is not a TTY.

6e9a4c0b9cd8 (bug 1315785) changed mach so it exports an environment
variable indicating whether mach's original stdout is a TTY. This was
later used to add color flags to `cargo` invocations.

Building on that work, this patch adds color flags to compiler
invocations if the compiler supports color and a mach TTY is
detected. The result is that compiler output from `mach build`
will be colorized automatically if Clang or a modern version of
GCC is used.

The only issue I see with this is that Clang doesn't "unset" its color
sequences when printing a newline. As a result, mach's time line
prefixing can sometimes inherit "bold" or other stylings. AFAICT this is
only a minor cosmetic concern. GCC does not exhibit this issue.

MozReview-Commit-ID: 5Icu6aXGZBL

--HG--
extra : rebase_source : 5b2bf5a287fdf8075b3d7dde36b91f3c65b60728
2016-11-09 14:01:24 -08:00
Nathan Froyd 5330c39ccd Bug 1293315 - remove RUSTFLAGS and friends from the build system; r=mshal
Now that we compile with cargo, we don't have fine-grained control over
the build flags used via environment variables detected in configure or
set in config.mk.  We should just remove that dead code so nobody trips
over it.
2016-08-09 18:10:19 -04:00
Mike Hommey 9712b25c12 Bug 1292080 - Don't set NSINSTALL_BIN from old-configure. r=gps
The only use of this variable is to override NSINSTALL, and its value is
the same as NSINSTALL_PY.

While here, remove the outdated NSINSTALL_NATIVECMD that was used for
pymake.

--HG--
extra : rebase_source : b871fbb409836a17cb8d71cd1e5ddc9d5ad3f49f
2016-08-04 17:55:54 +09:00
Mike Hommey c2df8cd611 Bug 1290026 - Automatically set LIB from configure. r=chmanchester 2016-08-02 13:17:19 +09:00
Mike Hommey c6b7fab94b Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester 2016-08-02 13:17:17 +09:00
Carsten "Tomcat" Book 8321d9897b Backed out changeset a4a381f85dc8 (bug 1290026) 2016-08-01 09:12:37 +02:00
Carsten "Tomcat" Book 2b84fbf042 Backed out changeset 90559af62774 (bug 1290026) 2016-08-01 09:12:36 +02:00
Mike Hommey 8eff2bec09 Bug 1290026 - Automatically set LIB from configure. r=chmanchester
--HG--
extra : rebase_source : 4ca572685169fdd2fbb0c9ae6aac5361d2669569
2016-07-27 18:01:04 +09:00
Mike Hommey 9bca5c6d3a Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester
--HG--
extra : rebase_source : e96decbc05d41e25a80cd3d1d61a7b36ba91f08b
2016-07-27 17:03:09 +09:00
Mike Hommey aadf5fb0df Bug 1278456 - Bump libstdc++ requirement to 3.4.16 (4.6.1). r=froydnj
Similarly to the considerations about glibc, the Linux compatibility matrix
(https://developer.mozilla.org/en-US/Firefox/Linux_compatibility_matrix)
tells us no distro with Gtk+3 3.4 has a version of libstdc++ older than
4.6.

The data in the matrix doesn't go to that level of detail, but Ubuntu
12.04 LTS, being the only one with version 4.6 (others have at least
4.7), it's worth noting it has version 4.6.3. Which means we can safely
require libstdc++ symbols version 3.4.16 (which were added in 4.6.1).

This will allow us to remove a lot of the stdc++ compatibility hacks.
2016-06-12 18:51:32 +09:00
Mike Hommey a898d16968 Bug 1278456 - Bump glibc requirement to 2.12. r=froydnj
The requirement for glibc has been set to version 2.7 for a long while.

Spidermonkey uses the pthread_setname_np symbol, which is only available
since glibc 2.12. So far, we've been fortunate that the symbol doesn't
end up in libxul, or tests that link to js directly, because the symbol
is eliminated as being called by effectively dead code.

There are multiple reasons why this is going to change, one of which
being changes to the way things are linked, that will make the linker
not eliminate that code in some cases. Another is that eventually, the
separation of build systems between js and top-level is going to fade,
and the glibc checks, which apply to all gecko binaries, will also apply
to js binaries. They currently are not happening, and would fail because
of pthread_setname_np if they were.

Taking a step back, as of version 46, the mozilla.org builds require at
least Gtk+3 3.4. Which means the requirements for the underlying system
have received a dramatic bump, and it's time to revisit the requirements
for binary compatibility.

I went through all my notes from all the recent times binary compatibility
has been considered, and put together a compatibility matrix on MDN from
that data as well as more recent data that I could find here and there,
about the major non-rolling-release distros (RHEL, Fedora, SuSE, Debian,
Ubuntu)
https://developer.mozilla.org/en-US/Firefox/Linux_compatibility_matrix

Considering the data there, none of the distros that have at least Gtk+3
3.4 have a glibc older than 2.13. The list of symbols that 2.13 provides
that 2.12 doesn't have is not large enough, though, to really care about
depending on 2.13.
2016-06-12 18:51:23 +09:00