Commit Graph

80 Commits

Author SHA1 Message Date
Ted Mielczarek
fa343243d0 bug 1286934 - Switch to using sccache2. r=gps
This patch does a few things:
1) Change all the in-tree tooltool manifests to contain sccache2 instead of the existing Python sccache
2) Change mozconfig.cache to point at sccache.
3) Lightly tweak the --with-cccache configure option to support sccache, and detect whether we're using ccache or sccache and set an option appropriately.
4) Add a MOZ_SCCACHE_VERBOSE_STATS option, and add a target in the top-level Makefile to make sccache spit out its stats at the end of the build. This is useful to see the cache hits/errors until we get something better.
5) Add MOZ_USING_SCCACHE to the build telemetry. Not that I think it will be immediately useful, but for future use.

MozReview-Commit-ID: 9lrdLwNj5Bm

--HG--
extra : rebase_source : d323457df10d0ee0ac5811940e518d9422a7e070
2016-08-25 18:39:57 -04: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
Mike Hommey
6fa3828b4e Bug 1316844 - Remove unused dependencies. r=chmanchester
--HG--
extra : rebase_source : f9c4f39b198fbb83aa02b2eee65863695e7b75ca
2016-11-11 12:52:37 +09:00
Wes Kocher
f6f88173df Backed out changeset 2b174353e76a (bug 1316957) at glandium's request a=backout 2016-11-11 18:58:24 -08:00
Mike Hommey
fb3661afd7 Bug 1316957 - Include windows.configure conditionally instead of using @depends_win. r=chmanchester
--HG--
extra : rebase_source : ae9d0b364d11e351735d731c33757fb6f30f1bfa
2016-11-12 06:05:07 +09:00
Mike Hommey
8ddc508e1d Bug 1263876 - Improve python configure handling of toolchain prefix. r=chmanchester
The toolchain checks are now such that we can stop special casing x86-64
<-> x86 cross compiling. OTOH, depending on the target, the toolchain
prefix can be of the form `cpu-os` or `cpu-machine-os`. We were only
using the former, and we change this to allow to try both.
Finally, the toolchain prefix being a gcc thing, it applies on all
target platforms where we try to use gcc.

However, the status quo is kept for the value of TOOLCHAIN_PREFIX
exposed to old-configure and the build system, until the various tools
paths (such as ar, readelf, etc.) are handled in python configure.

--HG--
extra : rebase_source : 1fe2e0708e317f061a03e2b4f058bbd08b5525f1
2016-10-21 07:50:40 +09:00
Mike Hommey
e5ba3fd67a Bug 1296530 - Replace include_when with include, and remove include_when. r=chmanchester
--HG--
extra : rebase_source : e2efd38b3875dde3dae996405838e9ca20475c32
2016-10-13 17:15:24 +09:00
Chris Manchester
90dd38f890 Bug 1300164 - Move VISIBILITY_FLAGS to Python configure. r=glandium
MozReview-Commit-ID: Ku1oUGVdtdm
2016-10-04 11:48:21 -07:00
Nathan Froyd
d05eb39d9d Bug 1296737 - make clang-cl compile in c++14 mode; r=glandium
MSVC headers have C++14 features without appropriate guards, so clang-cl
needs to be instructed to default to a C++14-compatible mode by default.
2016-10-04 20:34:04 +00:00
Chris Manchester
07b0b7c518 Bug 1262155 - Add some generic compiler-based conditions to moz.configure. r=ted
MozReview-Commit-ID: FHlbDPp7Hni
2016-09-21 12:04:08 -07:00
Carsten "Tomcat" Book
c737c8cee6 Merge mozilla-central to autoland 2016-09-13 13:09:21 +02:00
Mike Hommey
935ad653b8 Bug 1299919 - Set CPP/CXXCPP from python configure. r=chmanchester 2016-09-13 13:25:18 +09:00
Akihiko Odaki
3ac9332f73 Bug 1298565 - Do not decode preprocessor output as ASCII r=glandium
MozReview-Commit-ID: BmXVO4KHRR2

--HG--
extra : rebase_source : b39f1289bb45d5b318e370ea54d48450f6cd37d2
2016-08-30 18:47:28 +09:00
Mike Hommey
6070365bf2 Bug 1289946 - Work around preprocessor default defines in get_compiler_info(). r=gps
Some compilers on some platforms by default #define some of the values
we're using in the source we use in get_compiler_info(). Namely,
mingw-gcc #defines WINNT by default, and the WINNT in the source is then
replaced by 1, breaking the check.

The C preprocessor, fortunately, doesn't expand macros inside C strings.
So instead of `%KERNEL WINNT`, we output `%KERNEL "WINNT"`, and strip
out the double quotes. For good measure, we do this for all values in
the source used in get_compiler_info().

--HG--
extra : rebase_source : dd4cc2b8c3bf0cb508b09598706b74ccc12162be
2016-09-08 07:27:56 +09:00
Nathan Froyd
61228089c3 Bug 1299145 - use the proper debuginfo option for clang-cl; r=mshal
clang-cl, oddly, does not accept -g and wants the MSVC-esque -Zi
option instead.

MozReview-Commit-ID: JHecFCdfjbz

--HG--
extra : rebase_source : 1c191e9c17437b2ef97b67960104f7da5427ea25
2016-08-30 10:17:21 -04:00
Mike Hommey
202b56d2fe Bug 1293840 - Determine HAVE_64BIT_BUILD from --target. r=chmanchester
Until now, HAVE_64BIT_BUILD was entirely determined by a compiler check.
But we didn't run the check on e.g. artifact builds, while relying on
its result for some non-compilation related things, leading to subtle
discrepancies.

This changes the configure check to derive HAVE_64BIT_BUILD from bitness
determined by the target CPU, and double checked with a compiler check.

--HG--
extra : rebase_source : 5dc0cf2369ed4457bdd9a15736a70265a771d919
2016-08-10 11:39:16 +09:00
Mike Hommey
a918e97bfa Bug 1293837 - Move HAVE_64BIT_BUILD test to python configure. r=chmanchester
Also, now that we're using modern C++11 compilers, we can just rely on
static_assert, instead of the pile of macros used in the autoconf test.

--HG--
extra : rebase_source : 85d507da653d07e6527a971082277486e3502ea2
2016-08-10 09:00:23 +09:00
Mike Hommey
4eba7db364 Bug 1293579 - Use the new dependable function in a few places. r=chmanchester
--HG--
extra : rebase_source : 7062361fdb8e61b43a4044a3a7b1bf04f6ef3143
2016-08-09 15:55:10 +09:00
Mike Hommey
7a80b4e7ee Bug 1292463 - Rename compilechecks.configure and test_header_checks.py. r=chmanchester
to, respectively, compile-checks.configure and test_compile_checks.py.


--HG--
rename : build/moz.configure/compilechecks.configure => build/moz.configure/compile-checks.configure
2016-08-10 10:49:59 +09:00
Mike Hommey
cc883a2e7a Bug 1292463 - Set MOZ_PGO subst/config from python configure. r=chmanchester 2016-08-10 10:49:58 +09:00
Mike Hommey
afa6c4d5f3 Bug 1292046 - Add a check that the compiler works with -c out of the box. r=chmanchester
The base compiler check in python configure does some preprocessing,
which ensures the compiler works to some extent. Autoconf used to have
a more complete test, doing a compile/link. We do have plenty of tests
afterwards that do that anyways, but it's better if we fail early if
the toolchain fails somehow.

This refactors try_compile such that the *_compiler variable themselves
can be used to trigger compiler tests. Eventually, we'll want something
similar for preprocessing and possibly other invocations.

This also removes similar tests from build/autoconf/toolchain.m4.

--HG--
extra : rebase_source : c60d1d6e39b6bd2a377516687affd9b8932ebc12
2016-08-04 15:51:47 +09:00
Mike Hommey
6bdf5756ec Bug 1292046 - Add language to the compiler namespace. r=chmanchester
--HG--
extra : rebase_source : c258416a1cec59627e27d4f59e40f1425464f9c5
2016-08-04 16:24:29 +09:00
Wes Kocher
e2fcb18843 Backed out 2 changesets (bug 1292046) for android build failures a=backout
Backed out changeset 3263785341f2 (bug 1292046)
Backed out changeset a1b9e1631661 (bug 1292046)
2016-08-04 14:22:54 -07:00
Mike Hommey
94fe17e0c2 Bug 1292046 - Add a check that the compiler works with -c out of the box. r=chmanchester
The base compiler check in python configure does some preprocessing,
which ensures the compiler works to some extent. Autoconf used to have
a more complete test, doing a compile/link. We do have plenty of tests
afterwards that do that anyways, but it's better if we fail early if
the toolchain fails somehow.

This refactors try_compile such that the *_compiler variable themselves
can be used to trigger compiler tests. Eventually, we'll want something
similar for preprocessing and possibly other invocations.

This also removes similar tests from build/autoconf/toolchain.m4 and
old-configure.in.

--HG--
extra : rebase_source : 4f6f84e5ad220386e9edf82d19cc2cd6c1f4c43e
2016-08-04 15:51:47 +09:00
Mike Hommey
81dfda1e3a Bug 1292046 - Add language to the compiler namespace. r=chmanchester
--HG--
extra : rebase_source : 3a8b2c87ec44272990eb4c799759df11115a40dd
2016-08-04 16:24:29 +09:00
Carsten "Tomcat" Book
7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Mike Hommey
1f9624559e Bug 1289294 - Move MT detection to python configure. r=chmanchester
--HG--
extra : rebase_source : c84ade9a0db9aca2f2e64b8a3424fe14dd19a924
2016-07-26 15:15:08 +09:00
Mike Hommey
1b9c70450b Bug 1289289 - Move --with-windows-version to python configure. r=chmanchester
Also, don't set the MOZ_WINSDK_TARGETVER define anymore, as it's unused.

--HG--
extra : rebase_source : a6aa1458985d6c158abdc7cd7926b73990f4df2a
2016-07-22 17:08:53 +09:00
Mike Hommey
71f37655bd Bug 1289286 - Automatically find MSVC from the registry if it's not in $PATH. r=gps
--HG--
extra : rebase_source : 88eb4ef57fb27b40032dff92684663c7f4880940
2016-07-22 15:51:34 +09:00
Mike Hommey
cb0e41dd08 Bug 1288313 - Ensure the host and target compilers build for the right endianness. r=chmanchester
--HG--
extra : rebase_source : d47263faac601a0d1b5a89ac6e9d3d373f0b15a1
2016-07-21 08:24:45 +09:00
Mike Hommey
13244904c4 Bug 1288313 - Ensure the host and target compilers build for the right kernel. r=chmanchester
--HG--
extra : rebase_source : 654ec31f94befe4c966570229d15e9e9288ec82f
2016-04-26 15:38:45 +09:00
Mike Hommey
ae1ab9803b Bug 1288313 - Ensure the host and target compilers build for the right CPU. r=chmanchester
And for GCC and clang, try to see if adding -m32, -m64 or --target
works if they don't.

--HG--
extra : rebase_source : 874bc2404a5ccc48e938bc7d9b2fe67ba625cb3e
2016-04-22 15:08:55 +09: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
7721a052bc Fixup for bug 1286204 - Update error message to reflect the change in clang requirement. r=me 2016-07-20 20:58:49 +09:00
Mike Hommey
7df7b057ce Bug 1286204 - Require at least clang 3.6. r=froydnj
--HG--
extra : rebase_source : e49f87d8c7d47c48a23650fbbbbf0dafbccc209d
2016-07-08 16:38:55 +09:00
Gregory Szorc
f21ec324a6 Merge mozilla-central to mozilla-inbound 2016-07-06 18:30:58 -07:00
Gregory Szorc
5030a743a1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 8f5061080a3d56dd484f9be03649fb65f0145f67
2016-07-06 09:01:38 -07:00
Wes Kocher
a425a052c1 Backed out changeset d7f98208809f (bug 1186064) for breaking SM(pkg) jobs a=backout 2016-07-06 10:11:04 -07:00
Gregory Szorc
6e4d0edfbc Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 22ab4f47661ead4995d0c5261104abfb02b82aa2
2016-07-06 09:01:38 -07:00
Nathan Froyd
a3b126cdc2 Bug 1277619 - hide libc++ visibility defines on Android when compiling with clang; r=glandium 2016-07-06 15:30:22 -04:00
Carsten "Tomcat" Book
169daf64c7 Backed out changeset 96b590321c21 (bug 1186064) for bustage 2016-07-01 08:41:24 +02:00
Gregory Szorc
ecce5714c1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 94527a0be3f107991998185903f1c6cf6e190f9f
2016-05-31 09:19:00 -07:00
Ted Mielczarek
82d77574ff bug 1266368 - move rust.m4 to configure. r=glandium
MozReview-Commit-ID: 9ol2nMYM0a0

--HG--
extra : rebase_source : 3f3feeac941791d081e09ebb096a3e052540a52c
2016-05-16 15:27:37 -04:00
Chris Manchester
93ef406a76 Bug 1279369 - Move --enable-debug, MOZ_DEBUG_FLAGS, and --enable-debug-symbols to Python configure. r=glandium
Setting MOZ_DEBUG_SYMBOLS as a define was not moved, as this value is not
checked, and exporting MOZ_DEBUG_SYMBOLS was not moved, as this would only
impact nspr, and we're no longer using the nspr build system.

MozReview-Commit-ID: EvBTunhxcsr
2016-06-20 16:02:01 -07:00
Thomas Zimmermann
5d152949dc Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-16 08:43:51 +01:00
Sebastian Hengst
d41fba2a76 Backed out changeset f6f4144c4dbc (bug 1276927) 2016-06-15 12:23:48 +02:00
Thomas Zimmermann
c63293b2ca Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-15 10:59:49 +01:00
Mike Hommey
17821c9ee3 Bug 1279151 - Version'ize the result of yasm_version. r=chmanchester
Before bug 1269513, yasm_version returned a Version object, and it
doesn't anymore, which made the assignment of _YASM_*_VERSION skipped
silently.

Then, configure would go through the yasm version checks as if they were
false and skipping over the AC_MSG_ERRORs, printing out:
/builds/slave/try-m64-0000000000000000000000/build/src/old-configure: line 19615: test: : integer expression expected

which is why this went undetected: the version checks were simply
ignored.

Some shells, however, evaluated the yasm version checks as true, hitting
the AC_MSG_ERRORs.
2016-06-10 09:57:51 +09:00
Carsten "Tomcat" Book
24d44c69a3 Backed out changeset f3446f35deed (bug 1277483) for Windows 8 x64 opt Build bustage on a CLOSED TREE 2016-06-07 11:46:51 +02:00
Carsten "Tomcat" Book
13344836e1 Backed out changeset 34de8590421f (bug 1277483) 2016-06-07 11:46:17 +02:00