Commit Graph

5673 Commits

Author SHA1 Message Date
Mike Hommey
77ee4f3ce4 Bug 1292463 - Move MOZ_C{,XX}_SUPPORTS_WARNING to python configure. r=chmanchester 2016-08-10 10:50:01 +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
306558f1eb Bug 1292463 - Always set --enable-warnings-as-errors for MOZ_AUTOMATION builds. r=chmanchester
And remove it from mozconfigs.
2016-08-10 10:49:56 +09:00
Mike Hommey
4585ac7815 Bug 1292463 - Move --enable-warnings-as-errors to python configure. r=chmanchester 2016-08-10 10:49:54 +09:00
Mike Hommey
74733c57c1 Bug 1292463 - Add MOZ_AUTOMATION to python configure. r=chmanchester 2016-08-10 10:49:52 +09:00
Nathan Froyd
81545d0022 Bug 1290957 - ensure MOZ_AUTOMATION builds require a cargo with --frozen support; r=chmanchester
We want to ensure that our automation builds don't pull in libraries
from crates.io, and we need --frozen support in cargo to do that.  If we
don't have that support, we shouldn't build.
2016-08-09 18:10:19 -04:00
Nathan Froyd
d4a5791899 Bug 1268727 - part 1 - update Rust requirement to 1.10; r=chmanchester
We need Rust 1.10 to support the -C panic=abort flag and the
corresponding bits in cargo.
2016-08-09 18:10:20 -04: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
Nathan Froyd
f7fb6722a6 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-06 00:49:26 -04:00
Nathan Froyd
ef91835e00 Bug 1231764 - part 4 - add pytoml to the virtualenv; r=chmanchester
We need to parse Cargo.toml files from moz.build to determine crate
package names.
2016-08-06 00:49:26 -04:00
Nathan Froyd
8e363d817c Bug 1231764 - part 1 - search for cargo when --enable-rust; r=chmanchester
We've going to use it, the location of it should be configurable.
2016-08-06 00:49:26 -04:00
James Cheng
b85064a2c6 Bug 1291229 - Fix typo for moving Java bindings to mozilla::java namespace. r=jchen
MozReview-Commit-ID: KGAS6EhnwAI
2016-08-05 13:23:44 -04:00
Michael Layzell
7bd5ff6f30 Bug 1232038 - Fix assertion errors in the clang plugin, r=ehsan 2016-08-05 13:54:09 -04:00
Michael Layzell
89cf71b092 Bug 1278135 - Link against less of Clang and LLVM statically when building the clang plugin, r=glandium 2016-08-05 13:54:08 -04:00
Michael Layzell
44ec98cd05 Bug 1244825 - Detect classes with two superclasses with mRefCnt members, r=ehsan 2016-08-05 13:51:35 -04:00
Wander Lairson Costa
29ec9b1378 Bug 1273981 part 1: Add libc++ to clang. r=glandium
We need to rebuild clang with libc++ to get compatible headers for cross
builds. libc++abi is a dependency of libc++, as the build instructions
says [0].

[0] http://libcxx.llvm.org/docs/BuildingLibcxx.html
2016-08-05 10:46:38 -03: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
811693f3aa Bug 1292069 - Remove the cleansrcdir target. r=gps
It has not been useful since we removed the possibility to build in the
source directory.

--HG--
extra : rebase_source : 479100785c8253ea3e255ebbda4b3538e8ed33ff
2016-08-04 17:34:05 +09:00
Mike Hommey
6df9c96b3e Bug 1292059 - Remove now useless compiler checks in compiler-opts.m4. r=chmanchester
Since bug 1259382, CC and CXX are always set, so we can stop
falling back to cl on Windows, and clang on OSX in compiler-opts.m4.

Also, we were actively rejecting GCC on OSX because it was based on
GCC 4.2 and known to be broken, but that test predates our requirement
for more recent versions of GCC, which would fail configure anyways.
So just remove that GCC test. Building with a modern GCC from macports
or wherever might actually work anyways.

Finally, remove target bit-width mismatch with the compiler as it's
handled in python configure since bug 1288313.

--HG--
extra : rebase_source : 9968028cc4e9c197b72136037a7298be10cc139a
2016-08-04 17:11:52 +09: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
aleth
e1473c6704 Bug 1289847 - Followup to fix linker path for comm-* builds. r=mshal
--HG--
extra : rebase_source : 78bd30ae56b12bfda169d8b1cba82a74c7d4ec9b
2016-08-03 23:48:12 +02:00
Wes Kocher
9605851be0 Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage
Backed out changeset 4b71272c92cf (bug 1231764)
Backed out changeset 234d8a930afa (bug 1231764)
Backed out changeset f9b204c2f5a7 (bug 1231764)
Backed out changeset f933119e57e4 (bug 1231764)
Backed out changeset e3af0b1d3473 (bug 1231764)
Backed out changeset 643b03aae1dd (bug 1231764)
Backed out changeset a945dbf63410 (bug 1231764)

--HG--
extra : rebase_source : e71360fa4b5e3e74859c82e74e183e13e6211c4c
2016-08-03 16:27:06 -07:00
Nathan Froyd
23038ea6e0 Bug 1291028 - add build script for custom Mac linker; r=mshal
DONTBUILD because NPOTB
2016-08-04 01:24:40 -04:00
Nathan Froyd
6b2618fb44 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-03 19:40:41 -04:00
Nathan Froyd
eb4063d257 Bug 1231764 - part 4 - add pytoml to the virtualenv; r=chmanchester
We need to parse Cargo.toml files from moz.build to determine crate
package names.
2016-08-03 19:40:41 -04:00
Nathan Froyd
8aab949aa8 Bug 1231764 - part 1 - search for cargo when --enable-rust; r=chmanchester
We've going to use it, the location of it should be configurable.
2016-08-03 19:40:41 -04:00
Carsten "Tomcat" Book
423bdfd2fd Merge mozilla-central to mozilla-inbound
--HG--
rename : dom/media/platforms/apple/ReorderQueue.h => dom/media/platforms/ReorderQueue.h
2016-08-03 17:08:41 +02:00
Carsten "Tomcat" Book
eeacfbeff0 merge mozilla-inbound to mozilla-central a=merge 2016-08-03 17:03:41 +02:00
Mike Hommey
8fa1cdc6fb Bug 1291140 - Deduce Universal CRT SDK path from INCLUDE and LIB when it's not in WINDOWSSDKDIR. r=chmanchester
--HG--
extra : rebase_source : 9913f5ada944d09269605e0eb6b667005465d906
2016-08-02 15:45:08 +09:00
Jan Beich
be3a9d9f97 Bug 1285503 - Fix DragonFly target spelling after bug 1266368. r=glandium
MozReview-Commit-ID: 48qNqNa8CdP

--HG--
extra : transplant_source : %15%F6%E6z%E3%8F%AD%15%9C%0F%2B%AB%AE%BC%F5%EA%18%FE%86%F7
2016-07-08 06:36:11 +00:00
Nathan Froyd
b9dd866253 Bug 1289847 - part 1 - use a newer ld for Mac builds; r=mshal
The ld that we use for Mac builds is old (Xcode circa OS X 10.7), and
also crashes in various ways when we try to use newer Rust versions
and/or pass options to make the linker work with newer Rust versions.
To mitigate this, let's build with a newer linker, compiled from:

https://github.com/tpoechtrager/cctools-port

We use this port, rather than the packages from opensource.apple.com,
because the packages from Apple have decidely non-intuitive build
systems, and require some hacking to get to build.  This port, in
contrast, is simply built with:

CFLAGS='-mcpu=generic -mtune=generic' ./configure --target=x86_64-apple-darwin11
env MACOSX_DEPLOYMENT_TARGET=10.7 make

and the resulting x86_64-apple-darwin11-ld is renamed as 'ld' and
packaged up for automation's purposes.

However, since this linker is newer, it also produces bits of Mach-O
that our older build tools don't understand.  Fortunately, we can pass
appropriate options to the linker to turn off generation of those Mach-O
bits.
2016-08-03 04:24:33 -04:00
Steve Fink
986c3892e5 Bug 1288596 - Better error message when compiler is incompatible with sanitizer, r=glandium
--HG--
extra : rebase_source : eb0582ee2ff4b576fd34b91bc4caf66493b84b96
2016-07-29 11:28:33 -07:00
Michael Layzell
652e9475bc Bug 1281935 - Part 1: Relax raw pointer inside lambda analysis, r=ehsan 2016-08-02 15:27:43 -04:00
Mike Hommey
51236564fa Bug 1290040 - Find link.exe from python configure. r=gps
This ensures we have a full path to link.exe from MSVC in LD, avoiding
to use /usr/bin/link on msys2.
2016-08-02 13:20:53 +09:00
Mike Hommey
3ec6a69c49 Bug 1290040 - Use full path for mt.exe. r=gps
Now that check_prog, through find_program, returns paths that the build
system can handle, we don't need MT to just be "mt.exe".

However, we still need the PATH to be altered for the other tools we're
not checking in python configure yet (e.g. midl). We also still need
PATH altered for the compiler itself, because for e.g. the amd_x86
version, a necessary DLL is in the amd directory, which means PATH
always needs to be altered for cl.exe.
2016-08-02 13:20:48 +09:00
Mike Hommey
da40819e21 Bug 1290040 - Make find_program return short paths automatically when paths contain spaces on Windows. r=gps
Also fake enough of ctypes to keep the configure unit tests passing
after these changes.
2016-08-02 13:20:44 +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
Mike Hommey
ba7c817059 Bug 1289638 - Update the MSVC tooltool package. r=gps
- Update the tooltool manifests to use the new package.
- Update mozconfig paths to reflect MSVC tooltool package changes.
2016-08-02 13:17:15 +09:00
Mike Hommey
8ccc63df11 Bug 1289638 - Don't remove the SDK version from the SDK paths in the MSVC tooltool package. r=gps
While we're here changing the MSVC tooltool package, and since we're
going to remove the INCLUDE and LIB lines from mozconfigs that contain
the SDK version, we might as well make the SDK in the tooltool package
closer to an actual SDK, so that automation and local build more or
less follow the same (upcoming) configure code path.
2016-08-02 13:17:14 +09:00
Mike Hommey
843c82eecf Bug 1289638 - Don't rename the DIA SDK directory in the MSVC tooltool package. r=gps 2016-08-02 13:17:12 +09:00
Mike Hommey
620b77568c Bug 1289638 - Set WINDOWSSDKDIR for "autospider" builds. r=gps
autospider builds set VSPATH before sourcing
build/win*/mozconfig.vs-latest, so VSWINPATH was never set. Furthermore,
the way it sets variables for the build system relies on the variable
going through and export from mk_add_options, which
mk_export_correct_style conveniently does for us.
2016-08-02 13:17:08 +09:00
Wes Kocher
fcd23d9afe Backed out 2 changesets (bug 1289847) for OSX static build bustage CLOSED TREE
Backed out changeset 74922f9ce5c6 (bug 1289847)
Backed out changeset f22763859aae (bug 1289847)
2016-08-01 14:56:53 -07:00
Nathan Froyd
bac3709dc1 Bug 1289847 - part 1 - use a newer ld for Mac builds; r=mshal
The ld that we use for Mac builds is old (Xcode circa OS X 10.7), and
also crashes in various ways when we try to use newer Rust versions
and/or pass options to make the linker work with newer Rust versions.
To mitigate this, let's build with a newer linker, compiled from:

https://github.com/tpoechtrager/cctools-port

We use this port, rather than the packages from opensource.apple.com,
because the packages from Apple have decidely non-intuitive build
systems, and require some hacking to get to build.  This port, in
contrast, is simply built with:

CFLAGS='-mcpu=generic -mtune=generic' ./configure --target=x86_64-apple-darwin11
env MACOSX_DEPLOYMENT_TARGET=10.7 make

and the resulting x86_64-apple-darwin11-ld is renamed as 'ld' and
packaged up for automation's purposes.

However, since this linker is newer, it also produces bits of Mach-O
that our older build tools don't understand.  Fortunately, we can pass
appropriate options to the linker to turn off generation of those Mach-O
bits.
2016-08-01 22:49:02 -04:00
Carsten "Tomcat" Book
480c0269ee Backed out changeset 0f6396641036 (bug 1289638) for breaking windows spidermonkey tests/builds 2016-08-01 09:12:55 +02:00
Carsten "Tomcat" Book
f850d3a1a1 Backed out changeset ada66cbedd75 (bug 1289638) 2016-08-01 09:12:39 +02:00
Carsten "Tomcat" Book
732be475c8 Backed out changeset 07e0af7fc5d9 (bug 1289638) 2016-08-01 09:12:38 +02:00