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

792 Коммитов

Автор SHA1 Сообщение Дата
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
Ralph Giles df51e79d6e Bug 1268617 - Pass -g to rustc on debug builds. r=ted
Enable debug output from the rust compiler when we're doing so
for the C/C++ compilers.

MozReview-Commit-ID: K0iqlPZ1Thu
2016-05-10 16:15:43 -07: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
Ted Mielczarek 509c7d11f9 bug 1257689 - move YASM check to moz.configure. r=mshal
MozReview-Commit-ID: KU3eSCsykPl

--HG--
extra : rebase_source : 4ec8256a4c772b61497ad442620aacb39f3b9ade
extra : amend_source : 258380912dcbcdb4dee2ac6737d71aa5328d12a7
extra : histedit_source : 9cabff8c5ba88ce541ea9881d9147dc4fb3a5692%2Cb1a74d8d449ebbbf5727a9665542043a5b122af7
2016-03-17 19:15:01 -04:00
Ted Mielczarek 86995dd661 bug 1248020 - convert a bunch of moz.build files to use USE_YASM. r=mshal
MozReview-Commit-ID: n59TejhJq6

--HG--
extra : rebase_source : a5fd47c48ae4f03fcd2b699d7283a8838d24449c
extra : amend_source : cdd00e6f76195956dd83f8a2e3109d453459d158
extra : histedit_source : 4e36a2c2ff01a2cb352a46b2f4d9062f14be5232
2016-03-03 11:38:59 -05:00
Mike Hommey dd71ac573a Bug 1255763 - Remove OS_RELEASE and OS_MINOR_RELEASE. r=gps
We're not doing anything with them anymore.
2016-03-12 09:03:37 +09:00
Mike Hommey 6be11fbd7e Bug 1255763 - Remove OS_VERS and OS_VERSION. r=gps
They were behind WANT_MOZILLA_CONFIG_OS_VERSION, which nothing has been
setting ever since the ifdef was changed from
MOZILLA_CONFIG_IGNORE_OS_VERSION... in 2000. Not that anything was
setting MOZILLA_CONFIG_IGNORE_OS_VERSION either... well, at least not in
Gecko.
2016-03-12 09:03:37 +09:00
Mike Hommey 87f7c3427c Bug 1255763 - Remove OS_CONFIG, it is now unused. r=gps
It was also already unused in old-configure.in.
2016-03-12 09:03:37 +09:00
Mike Shal 7b58ab8671 Bug 1253431 part 3 - Move SDK_BINARY files in xpcom/idl-parser/xpidl to moz.build; r=gps
We can just generate xpidllex.py/xpidlyacc.py in the current directory
rather than one directory higher, and specify this directory as an
include path to xpidl-process.py

MozReview-Commit-ID: KLoGjudc4Y8

--HG--
extra : rebase_source : 8dda268c6490cdfb8b896de9da5b789208584193
2016-03-03 13:49:42 -05:00
Ms2ger 59b4fa0a9e Bug 1247960 - Remove unused variable _current_makefile; r=ted
It has been unused since revision 7f73bbf6df76.
2016-02-15 09:43:14 +01:00
Mike Hommey dded38c2fe Bug 1245764 - Move Windows RTL flags (-MD/-MT) flags out of config.mk. r=gps 2016-02-05 17:30:34 +09:00
Mike Hommey a2d014b606 Bug 1245422 - Remove MOZ_OPTIMIZE_FLAGS override when building with DMD enabled on Windows. r=mshal
-Zi is already set through MOZ_DEBUG_FLAGS, which is set from
--enable-debug-symbols, which is the default, and if someone goes all
the way to explicitly disable them, we might as well not silently
override their decision.

-Od disables optimization, and the given reason was for sane stack
traces, but the fact is we're currently building debug builds, which
have been optimized by default for a while, and are the only ones with
DMD enabled by default, without overriding with -Od and are apparently
happy with it.
2016-02-04 12:49:57 +09:00
Mike Hommey dd8a301bbf Bug 1245422 - Remove -UDEBUG -DNDEBUG flags on Windows opt builds. r=mshal
-DNDEBUG is already set through MOZ_DEBUG_DEFINES, and -UDEBUG is not
doing anything useful, since nothing is setting DEBUG on the command
line, nor does the compiler by default.
2016-02-04 12:49:57 +09:00
Mike Hommey ba138b2936 Bug 1245422 - Remove the -FR C*FLAGS on Windows builds. r=mshal
The flag is used to create .sbr files, which bscmake subsequently uses to
create .bsc files. These files and related tools are, aiui, the ancestors
of Intellisense.

The -FR C*FLAGS are added to the build if MOZ_BROWSE_INFO or MOZ_BSCFILE
are set in the recursive make backend. While the former has an AC_SUBST,
the latter does not, so in practice, only the former can be set by
supported methods, and would need to be set in a mozconfig. At that
rate, people who do want those flags can add them in the C*FLAGS on
their own.

Developers are probably better served by the VisualStudio backend
anyways.
2016-02-04 12:49:57 +09:00
Mike Hommey 5abcde418d Bug 1245013 - Move CMFLAGS/CMMFLAGS from config.mk to configure. r=mshal
We don't really care to set those in js/src/configure because the JS
engine doesn't use ObjC. We also don't care to preserve the += behavior
because there were no AC_SUBST in the first place, so it's unlikely
anyone has an override in their mozconfig and expects it to work.
2016-02-03 08:41:19 +09:00
Mike Hommey d5c0c5233a Bug 1235733 - Use absolute paths for include paths. r=gps
Limit ourselves to include paths for now, because there are tricky things
involved in making this globally.

While here, use shell_quote instead of manual quoting for those paths.
2015-12-31 08:10:02 +09:00
Mike Hommey 969f681cbc Bug 1235743 - Move compiler flags used for dependency generation to a separate variable. r=gps
This might seem like going in the opposite direction of what we tend to do
to move to moz.build land, but those flags are irrelevant in many situations
and are better separated out.
2015-12-31 07:35:04 +09:00
Mike Hommey e0c501a1c1 Bug 1235738 - Move MOZ_DEBUG_DEFINES to build frontend. r=gps
MOZ_DEBUG_DEFINES are essentially defines used everywhere. So treat them as
feeding the initial value for DEFINES in each moz.build sandbox. This allows
the kind overrides that was done in the past by resetting MOZ_DEBUG_DEFINES
in Makefiles.
2015-12-31 07:27:23 +09:00
Mike Hommey 0cc838448f Backout changeset 0104f1c911ca (bug 1223530) because it breaks running on Windows XP on a CLOSED TREE
--HG--
rename : toolkit/components/maintenanceservice/Makefile.in => xpcom/windbgdlg/Makefile.in
2015-11-26 08:38:16 +09:00
Ted Mielczarek 879065de9d bug 1223530 - Move MOZ_WINCONSOLE to configure. r=glandium
This patch moves the logic for selecting MOZ_WINCONSOLE out of individual
Makefile.in files and into configure. It also changes config.mk to only
pass -SUBSYSTEM:CONSOLE if MOZ_WINCONSOLE=1. The MSDN docs state that
in the absence of -SUBSYSTEM, the linker will select the proper subsystem
based on whether the program contains [w]main or [w]WinMain, so let it
do that.

One program (windbgdlg) needed a tweak to add a wmain for when MOZ_WINCONSOLE
is defined.

This patch leaves one instance in security/sandbox/win/wow_helper/Makefile.in,
that Makefile has its own separate bug.

--HG--
extra : commitid : 8acDjmfKivj
extra : rebase_source : 03b4fa4c8ae077a894b08f3762ef93541e34ac1a
2015-11-11 06:24:39 -05:00
Mike Hommey 5ab167c3b0 Bug 1224490 - Kill LIBXUL_DIST. r=mshal 2015-11-17 10:00:19 +09: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
Phil Ringnalda 647f36e5d6 Backed out 2 changesets (bug 1222323) for build bustage
CLOSED TREE

Backed out changeset 7fe3d7c91ecd (bug 1222323)
Backed out changeset 2b006f565385 (bug 1222323)
2015-11-10 21:10:10 -08:00
Mike Hommey 8d5f937d9e 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-11 13:13:06 +09:00
Mike Hommey f4139895ba Bug 1222321 - Avoid the duplication of OS_CPPFLAGS on the compiler command line. r=gps
OS_CPPFLAGS are already added in CFLAGS and CXXFLAGS, and again to
COMPILE_CFLAGS/COMPILE_CXXFLAGS, which duplicates them.
2015-11-11 13:13:06 +09:00
Mike Hommey 9af046b5b4 Bug 1211765 - Remove remnants from --with-libxul-sdk. r=bsmedberg
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
2015-10-14 08:02:34 +09:00
Mike Hommey 760213a14e Bug 1210359 - Small clarification in the CHECK_SYMBOLS error message. r=mshal 2015-10-06 11:15:03 +09:00
Mike Hommey 9f2c4e94ba Bug 1209875 - Get rid of XULPPFLAGS. r=gps
The flags added in toolkit/locales/Makefile.in turn out not to be actually
used, so just remove that.

The remaining uses of XULPPFLAGS are to set debug flags depending on whether
MOZ_DEBUG is set or not. Just set a dedicated variable with the right value
from configure.
2015-10-01 07:30:48 +09:00
Mike Hommey e9170eaa5e Bug 1179805 - Add compatibility check for glibc version, like the one for libstdc++. r=mshal
At the same time, make the test for libstdc++ more comprehensible.

--HG--
extra : commitid : FY4SOJob69k
extra : rebase_source : 15778a2080423666edeae78adb7a5b80925f6871
2015-07-07 18:29:12 +09:00
David Major 694eea169f Bug 1194834: Don't use static libs on Windows ASan builds. r=glandium 2015-09-10 16:55:15 -04:00
Ms2ger ce50a0bf86 Bug 1194603 - Remove INTERNAL_TOOLS; r=mshal
Its only purpose is to disable PGO. Where that was not already explicitly done,
or irrelevant (because the directory only contains python), I disabled it in
moz.build.
2015-09-10 13:49:19 +02:00
Ted Mielczarek 15063c8111 bug 1198226 - Add HOST_{CFLAGS,CXXFLAGS,DEFINES} support to mozbuild frontend+recursive make backend. r=mshal
--HG--
rename : python/mozbuild/mozbuild/test/backend/data/defines/moz.build => python/mozbuild/mozbuild/test/backend/data/host-defines/moz.build
rename : python/mozbuild/mozbuild/test/frontend/data/defines/moz.build => python/mozbuild/mozbuild/test/frontend/data/host-defines/moz.build
extra : commitid : BqqF9IWK2hy
extra : rebase_source : 4beab63be2ffca5c0a43cd14039ffeb259ea74fe
2015-09-04 13:33:04 -04:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Nathan Froyd a8f3b221c3 Bug 1186444 - part 2 - remove MODULE_OPTIMIZE_FLAGS from config.mk; r=mshal 2015-07-22 11:17:49 -04:00
Andreas Tolfsen 29d401a02f Bug 1177608: Support for compiling optimised Rust code
Optimised Rust compilation is enabled on passing --enable-optimize to
the configure script.  This sets the RUSTFLAGS output variable that gets
picked up by the compile targets RSOBJS and RSSRCS and passed to rustc.

r=glandium

--HG--
extra : commitid : 8thSkfLFXSY
extra : rebase_source : 5ec79b76a187bcbb0f09ad374cf9f763f0adb0d7
2015-07-21 14:21:40 +01:00
Ryan VanderMeulen 2135bb42a2 Backed out changeset 65117b62026a (bug 1179805) for causing Linux Taskcluster build failures.
CLOSED TREE
2015-07-17 11:57:47 -04:00
Mike Hommey 0b48f591d1 Bug 1179805 - Add compatibility check for glibc version, like the one for libstdc++. r=mshal
At the same time, make the test for libstdc++ more comprehensible.
2015-07-08 07:54:58 +09:00