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

52 Коммитов

Автор SHA1 Сообщение Дата
Chris Manchester aa2131cd40 Bug 1302909 - Set STDC_HEADERS everywhere instead of relying on AC_HEADER_STDC. r=glandium
MozReview-Commit-ID: DXvcX1i9vuo
2016-09-15 12:11:11 -07:00
Mike Hommey 935ad653b8 Bug 1299919 - Set CPP/CXXCPP from python configure. r=chmanchester 2016-09-13 13:25:18 +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
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 4cad8671dc Bug 1265627 - Force clang-cl MSVC emulation from moz.configure. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey b80757a0cb Bug 1265627 - Remove now useless version-related assignments from old-configure. r=ted
Also simplify things around some remaining compiler version checks.
2016-04-20 07:51:55 +09:00
Mike Hommey 5192eab0d6 Bug 1265627 - Move compiler version checks to moz.configure. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey 8990bb15dd Bug 1264482 - Move adding -std=gnu99 and -std=gnu++11 to moz.configure. r=ted
We were unconditionally adding them, now actually check what the
compilers default to and add the flags if they are necessary.
This will, in the future, allow finer grained policy changes, where
we can decide that C++11 and C++14 are fine, downgrading compilers
that do C++17, etc.
2016-04-19 15:09:37 +09:00
Mike Hommey 341ebd8679 Bug 1259382 - Move CC/CXX/HOST_CC/HOST_CXX to moz.configure. r=ted
At the same time, we improve things slightly by deriving HOST_CC from CC
in a smarter way, as well as CXX from CC, which we weren't doing
previously.

Many related things are not moved at the same time to keep the patch
somehow "small".
2016-04-14 13:21:29 +09:00
Mike Hommey 19f78b2dd2 Bug 1259382 - Remove support for Intel C/C++ compiler. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey 989453a94b Bug 1261263 - Switch from -std=gnu++0x to -std=gnu++11. r=froydnj
All the GCC and clang versions we support support the latter, so let's
use it.
2016-04-05 07:16:44 +09:00
Mike Hommey 99fc89b5e2 Bug 1261263 - Remove test for libstdc++ headers conflict with clang 3.3. r=froydnj
Also remove the hack around it.
2016-04-05 07:16:44 +09:00
Mike Hommey 9599eeb33d Bug 1261263 - Unsupport clang < 3.4. r=froydnj
In bug 1254861, we unsupported clang < 3.3, picking 3.3 essentially
because that's the smallest version we had on automation. Bug 1254854
changed that, and the smallest version on automation is now 3.5.

Now, the motivation to unsupport an old version of clang again is that
recent versions don't have the problem with __float128 used in libstdc++
headers (bug 654493). In fact, starting with clang 3.4, the hack we have
in place is not necessary.

So let's just drop support for clang 3.3 instead of keeping that hack
around longer.

As mentioned in bug 1254854, Ubuntu 12.04 LTS has clang 3.4 packages.
2016-04-05 07:16:44 +09:00
Mike Hommey 81010d54a2 Bug 1260996 - Don't set HOST_{C,CXX,LD}FLAGS from {C,CXX,LD}FLAGS on cross compiles. r=nalexander
The only cross compiles we actively support were pre-setting those
values to avoid it anyways, so it wasn't doing anything useful.
2016-04-01 09:43:26 +09:00
Mike Hommey c12b02c70d Bug 1260647 - Unify cross-compilation setup, while moving some of it to moz.configure. r=ted
Gonk, Android, and the generic cross-compilation setup all were using a
different yet similar way to prefix the toolchain. The latter was even
wrong, since the target and target alias usually don't match actual
toolchain prefixes (which don't include the machine part of the target).
2016-04-01 09:43:26 +09:00
Mike Hommey 1f729885a7 Bug 1260624 - Move CROSS_COMPILE to moz.configure. r=ted
Note that this removes force-setting cross_compiling to yes in
old-configure, which wasn't working because every AC_TRY_COMPILE
resets it with $ac_cv_prog_cc_cross or $ac_cv_prog_cxx_cross.
2016-04-01 09:43:26 +09:00
Mike Hommey 3fe18eae3b Bug 1175546 - Update GCC to 4.8.5 and bump minimum GCC version required to build. r=froydnj 2016-03-12 09:03:37 +09:00
Mike Hommey 094af54a8f Bug 1254861 - Unsupport building with clang < 3.3. r=froydnj 2016-03-11 09:38:28 +09:00
Mike Hommey 572059374e Bug 1178266 - Link against libatomic when necessary. r=froydnj 2015-12-02 11:04:37 +09:00
Mike Hommey c3385563ef Backout changeset 3ced6f84960c (bug 1178266) because it was not reviewed by a peer and isn't a complete fix. 2015-10-31 07:36:49 +09:00
Mike Hommey beffa7ff42 Bug 1178266 - Link against libatomic when necessary r=huangwenjun06
---
 build/autoconf/toolchain.m4 | 26 ++++++++++++++++++++++++++
 mfbt/moz.build              |  3 +++
 2 files changed, 29 insertions(+)
2015-10-29 22:19:35 +08:00
L. David Baron 6760f2e797 Bug 1142420 - Require that the same compiler version be used for C and C++ (at the very least, so that our version checks are valid for both). r=glandium
I tested locally that both checks give the expected error if I
temporarily change the != to an =.
2015-03-25 08:07:14 +09:00
L. David Baron 56a377b2d2 Bug 1142352 - Add a configure test for the gcc version of the host compiler when cross compiling. r=glandium
The duplication of the code higher up is a little bit annoying, but I
don't see an easy way to avoid that.  It's also still quite far from
duplicating everything.

I tested locally with a Fennec build that if I bump the requirement from
4.6 to 4.9, I get the expected build error.
2015-03-25 08:07:09 +09:00
Bob Owen b7b394038a Bug 1144155 Part 1: Bump our minimum supported GCC version for Gecko up from 4.6 to 4.7. r=glandium 2015-03-19 10:56:13 +00:00
Carsten "Tomcat" Book 6caed0d2ed Backed out changeset e3a4467dc9df (bug 1142352) for causing arm build bustage 2015-03-13 09:43:25 +01:00
Carsten "Tomcat" Book 061fc98b65 Backed out changeset 86a5fea1cd01 (bug 1142420) 2015-03-13 09:42:30 +01:00
L. David Baron 23b631aeab Bug 1142420 - Require that the same compiler version be used for C and C++ (at the very least, so that our version checks are valid for both). r=glandium
I tested locally that both checks give the expected error if I
temporarily change the != to an =.

--HG--
extra : transplant_source : %01N%B9%8B%BC%1E%07%D6%AE%BA2%7B%87%FB%25Y%19%B6%A9%D3
2015-03-12 23:28:55 -07:00
L. David Baron 7c6b3d298f Bug 1142352 - Add a configure test for the gcc version of the host compiler when cross compiling. r=glandium
The duplication of the code higher up is a little bit annoying, but I
don't see an easy way to avoid that.  It's also still quite far from
duplicating everything.

I tested locally with a Fennec build that if I bump the requirement from
4.6 to 4.9, I get the expected build error.

--HG--
extra : transplant_source : D%D3%FE%169%05%D0X%F3KK%17%9EW%88%BCs%9B%86%5D
2015-03-12 23:28:55 -07:00
Ehsan Akhgari b7a9931db3 Bug 1122931 - Don't overwrite the AS variable in toolchain.m4; r=glandium
It looks like overwriting AS here is not intentional.  Before this patch,
it is impossible to override AS through mozconfig for anything that runs
past this stage in configure.
2015-01-20 09:42:06 -05:00
Trevor Saunders bf4448d426 Bug 1077549 - Only support gcc 4.6+. r=glandium 2015-01-08 20:21:37 -05:00
Ehsan Akhgari 42db4dcf46 Bug 1119225 - Emulate Visual C++ 2013 Update 3 when using clang-cl; r=ted 2015-01-08 10:33:21 -05:00
Ted Mielczarek 9a6971c4f8 bug 1117900 - Explicitly require Update 3 for MSVC 2013. r=glandium 2015-01-08 08:23:28 -05:00
Ehsan Akhgari 721832ff85 Bug 1117029 - Move the GCC minimum version checks to MOZ_TOOL_VARIABLES; r=glandium 2015-01-06 12:01:12 -05:00
Georg Koppen 144cfd9761 Bug 1067893 - Detect OTOOL in configure. r=glandium 2014-11-25 05:12:00 -05:00
Ehsan Akhgari 3414c53230 Bug 1090512 - Emulate the clang-cl compiler version in toolchain.m4; r=glandium
--HG--
extra : rebase_source : 65732c6696699ffb62acb76c19133537448e6fb7
2014-10-29 12:33:32 -04:00
Mike Hommey 62416a2177 Bug 1049510 - Fix GCC_USE_GNU_LD when building with clang on linux. r=mshal 2014-08-07 02:59:31 +09:00
Ehsan Akhgari 9dc77f0f7a Bug 1032528 - Use C{,PP,XX}FLAGS when determining the compiler version in case it can be affected by what is there; r=glandium
This for example allows us to use -fmsc-version in CFLAGS/CXXFLAGS
with clang-cl.
2014-07-04 10:43:08 -04:00
Ehsan Akhgari 201c425d11 Backed out changeset 523ef80786ad (bug 1032528) because of build failure on a CLOSED TREE 2014-07-04 11:10:22 -04:00
Ehsan Akhgari 2843fe358e Bug 1032528 - Use CFLAGS when determining the compiler version in case it can be affected by what is there; r=glandium
This for example allows us to use -fmsc-version in CFLAGS/CXXFLAGS
with clang-cl.
2014-07-04 10:43:08 -04:00
Ehsan Akhgari d9c7b7c290 Bug 1021378 follow-up: take up my debugging stuff, and typos 2014-06-09 10:59:36 -04:00
Ehsan Akhgari fde35aa8b8 Bug 1021378 - Add support for clang-cl to the build system; r=glandium
This patch does two things: 1. Treat clang on Windows explicitly as MSVC. There
are some places in our build system where we try to detect clang by looking at
the output of $(CC) -v, and that will cause us to believe that we are using
clang, which is not helpful.  This patch defines the CLANG_CL variable when it
detects clang being used on Windows.  It also masquarades clang-cl as MSVC
2012, which is how the compiler introduces itself through the _MSC_VER
predefined variable.

2. Disable a bunch of things which currently are not supported on clang-cl.  As
we proceed with this port, hopefully we'll be able to remove everything in this
list, but this will get us closer to be able to build with clang-cl.

With this patch and clang-cl trunk, we can get past the configure stage of the
build.

--HG--
extra : rebase_source : e5b8d77e4571c936820cec858953d58b6f31e0d5
2014-06-07 10:27:43 -04:00
Mike Hommey 80e79be833 Bug 462427 - Stop requiring CROSS_COMPILE being set. r=ted 2014-02-11 10:37:46 +09:00
Mike Hommey af74b24a1d Bug 901149 - Add the clang workaround for __float128 to HOST_CXXFLAGS when not cross-compiling. r=ted 2013-08-06 10:08:23 +09:00
Mike Hommey 0878bced42 Bug 900775 - Add -std=gnu++0x to HOST_CXXFLAGS when not cross-compiling. r=gps 2013-08-02 10:29:38 +09:00
Mike Hommey 32495789b5 Bug 895915 - Enforce host gcc/clang support for C++11. r=gps 2013-07-30 08:57:28 +09:00
Ehsan Akhgari 26880a184c Bug 882766 - Recognize clang even when it doesn't #define __GNUC__; r=ted
Clang on Windows #defines _MSC_VER but not __GNUC__, so we need to make sure
that the build system can recognize it even when __GNUC__ is not defined.
2013-06-13 13:03:13 -04:00
Landry Breuil 5f2a0e8a19 Bug 842131 - Use egrep to detect clang version, fixes build without GNU grep. r=glandium 2013-02-18 10:42:22 +01:00
Felix S. Klock II 9283a8f0e6 Bug 840512 - Generalize toolchain.m4 to match newer Apple clang version string. r=glandium 2013-02-13 11:24:09 +01:00
Mike Hommey 4d1a776995 Bug 836161 - Fix gcc version test from bug 833627 to be properly quoted by m4. r=ted 2013-01-31 10:32:18 +01:00