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

434 Коммитов

Автор SHA1 Сообщение Дата
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 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
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 93ac00658e Bug 1293837 - Change try_compile() to return True when the test passes. r=chmanchester
Currently, it returns either None or the contents of the compiler's stdout,
which is always expected to be an empty string, and is not very useful. So
instead, return True in the latter case.

--HG--
extra : rebase_source : ee69cdeab38d27178ce759591fb394da65e694ac
2016-08-10 10:00:43 +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 3e4c324c93 Bug 1293579 - Add a `dependable` function/decorator to avoid some of the depends('--help') weirdness in python configure. r=chmanchester
--HG--
extra : rebase_source : 957ae782df951e899d1142bd583423e6afdb605a
2016-08-09 15:54:20 +09: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 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 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
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
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
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
Carsten "Tomcat" Book fc8e03f0d8 Merge mozilla-central to autoland 2016-07-30 16:49:41 +02:00
Ralph Giles bb6518c3f2 Bug 1290522 - Parse `rustc --version --verbose` in moz.configure. r=glandium
This is hopefully more reliable than parsing just the summary line,
and makes available other keys like the commit-hash which we'd like
to pass to the debug symbol automation.

Note that the commit-hash field will have the value 'unknown' for
builds not made out of upstream git. So the key is available with
official and gecko rust builds, but not for example the current
Debian-packaged rustc.

MozReview-Commit-ID: A2G5UPs2ka2
2016-07-29 10:39:17 -07:00
Mike Hommey 96c8b2dca4 Bug 1290019 - Remove MT version check. r=chmanchester
Before bug 1289294, the impossibility to find the version of MT was only
issuing a warning. Warnings in configure are essentially useless, so
since we weren't and still aren't doing anything with the result of that
check, and since there are versions of MT that don't print out a version
number, just remove the check.

--HG--
extra : rebase_source : 4887cebf0f56ca1a297cd02ff1988809c5cb6fdf
2016-07-28 18:29:49 +09:00
Mike Hommey a3aa2c0999 Bug 1289679 - Support detecting Windows SDK 10. r=chmanchester, a=me
--HG--
extra : amend_source : 4471fc23f09c297308c044baaf822f2ad4f4cde7
extra : transplant_source : %E6%F3%CE-%94%C5%CA%05%87%02%964%01%05%24J%E7%15%EB%D8
2016-07-27 15:37:54 +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 8398056155 Bug 1289291 - Move Windows SDK detection to python configure. r=chmanchester
At the same time, autodetect the SDK if WINDOWSSDKDIR is not given.

--HG--
extra : rebase_source : 4ee98e2105b607bab5050127f23354e9b291a246
2016-07-22 19:10:04 +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
Fabrice Desré aac808639b Bug 1289691 - Get b2g to build again r=glandium 2016-07-27 01:31:08 -07: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
Mike Hommey 2578400d7b Bug 1288313 - Explicitly reject unknown CPU types. r=chmanchester
Since bug 1264482, unknown CPU types end up triggering a ValueError
exception because of the CPU EnumString. Even if somehow the CPU is
valid, the endianness is not and would trigger a ValueError exception
as well.

So, instead of letting the exceptions happen, use a nicer failure mode
with an explicit die().

--HG--
extra : rebase_source : 68432496712075c677de4bf71ea5d420fc70c35c
2016-04-26 16:27:46 +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
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 fa43fb4a81 Bug 1287023 - Allow to use delayed_getattr in more cases. r=chmanchester
Until now, it's not been possible to do something as straightforward as:

option('--foo', default=delayed_getattr(milestone, 'is_nightly'))

The reason is that option's default needs what it's given, if it's a
@depends function, to depend on --help.

But we can't have every delayed_getattr add dependencies on --help,
because that would make unwanted things to depend on --help and run
when displaying the help.

Until we can totally remove --help dependencies, this change makes the
resulting @depends function created by delayed_getattr depend on --help
if the @depends function it's given already depends on --help.
2016-07-16 08:34:31 +09:00
Carsten "Tomcat" Book 5784adf50e Merge mozilla-central to autoland 2016-07-08 12:18:14 +02:00
Benjamin Smedberg bf05496a83 Bug 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug.
MozReview-Commit-ID: EGqHHhCD7vD

--HG--
extra : rebase_source : a4b9593959dd3ba80189db47eabb056ea207490f
extra : amend_source : a744d833693f0fe7adbea961c00bb5fb55a91580
2016-07-07 12:14:25 -04:00
Mike Hommey 9607db6e29 Bug 1283052 - Remove some of the magic around mozconfig detection. r=gps
The mozconfig detection logic has bitten us on many occasions in the
past. The following changes are made to tentatively improve the
situation:

- The API is modified such that autodetection of the mozconfig has
  to be a conscious decision made by the caller, and not triggered
  any time there is no mozconfig given, which could be a conscious
  decision of the opposite.

- mozinfo.json now stores the actual mozconfig (or lack thereof) used
  during configure.

--HG--
extra : rebase_source : c7a632afd414f25daf7bbe7e1a66c3736c26e039
2016-07-08 08:43:17 +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
Ted Mielczarek f04fd21cff bug 1280220 - find_program should append an exe extension to absolute paths on Windows. r=glandium
MozReview-Commit-ID: 2gaLnL5x2zR

--HG--
extra : rebase_source : 9f5941bbfa73b75c903a64a9be257d205236778d
2016-06-16 12:05:12 +01: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
Christoph Diehl 053c555889 Bug 777067 - "Fuzzing: IPC Protocol Definition Language (IPDL) Protocols". r=wmccloskey
--HG--
extra : rebase_source : f256b70d6f81f82339e52ab4f6bc2d9b4b751c08
2016-05-30 16:33:00 +02: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
Carsten "Tomcat" Book 733eeabb87 Backed out changeset 6134b92d1b08 (bug 1277483) 2016-06-07 11:46:16 +02:00
Ms2ger dcb03a5c62 Bug 1277483 - Another followup to fix bustage. 2016-06-07 11:00:31 +02:00
Ms2ger c635596d78 Bug 1277483 - Followup to fix bustage. 2016-06-07 10:25:47 +02:00
Ms2ger 38579768d4 Bug 1277483 - Move --enable-strip and --enable-install-strip to moz.configure; r=glandium 2016-06-03 11:11:40 +02:00
Chris Manchester 44e4ff1fb6 Bug 1275721 - Remove --enable-android-resource-constrained. r=mshal
MozReview-Commit-ID: DqL0KCkbj9r

--HG--
extra : rebase_source : 18ed93ef68ecdfbd85fb4c13c39283932c38290c
2016-05-26 11:13:58 -07:00
Chris Manchester 198331aa58 Bug 1272530 - Move --disable-tests to Python configure. r=glandium
MozReview-Commit-ID: 5NOMzTInZ1Z
2016-05-24 16:02:54 -07:00
Chris Manchester 0676d58107 Bug 1272535 - Move MOZ_UPDATE_CHANNEL to Python configure. r=glandium
MozReview-Commit-ID: 2NuZZX1hoEP
2016-05-17 14:40:03 -07:00
Chris Manchester 3456d9c06d Bug 1269513 - Move --with-system-hunspell to Python configure. r=glandium
MozReview-Commit-ID: ERnnsr1hnpu
2016-05-17 14:40:03 -07:00
Chris Manchester 3eb90d9dd1 Bug 1269513 - Implement PKG_CHECK_MODULES equivalent in Python configure. r=glandium
MozReview-Commit-ID: mhFMEG0UXz
2016-05-17 14:40:03 -07:00
Chris Manchester 2a763b7273 Bug 1269513 - Add a helper for check_output in Python configure. r=glandium
MozReview-Commit-ID: H3IX5HLyJeu
2016-05-17 14:40:03 -07:00
Chris Manchester 5225069baf Bug 1269513 - Add a template to execute a depends function only when a given value is present. r=glandium
MozReview-Commit-ID: H99fVOqlh8d
2016-05-17 14:40:03 -07:00
Chris Manchester b7387e8701 Bug 1287924 - Add a template for conditionally including moz.configure files. r=glandium
MozReview-Commit-ID: FyT7jLmTxvP
2016-07-26 15:27:19 -07:00
Chris Manchester 84564f1ce1 Bug 1269517 - Move various header checks to Python configure. r=glandium
MozReview-Commit-ID: CLn3PQUh4gG
2016-07-26 15:27:19 -07:00
Chris Manchester 726b97efc8 Bug 1269517 - Implement check_header in Python configure. r=glandium
MozReview-Commit-ID: 1AypZg3f79a
2016-07-26 15:27:19 -07:00
Chris Manchester 55afa58b7a Bug 1269517 - Move android_platform to python configure. r=glandium
MozReview-Commit-ID: 30bVQUc8hGb
2016-07-26 15:27:19 -07:00
Chris Manchester 414823b805 Bug 1269517 - Implement try_compile for Python configure. r=glandium
MozReview-Commit-ID: AE7uRVneGXJ
2016-07-26 15:27:19 -07:00
Chris Manchester 8a818960e0 Bug 1269517 - Factor Python configure's try_preprocess into an invocation of a lower-level function. r=glandium
MozReview-Commit-ID: LQ1dqs9ChyZ
2016-07-26 15:27:19 -07:00
Mike Shal dbfbbfe42c Bug 1272483 - Remove MOZ_UPDATE_PACKAGING and --enable-update-packaging; r=chmanchester
MozReview-Commit-ID: A3SDJCc5eHH

--HG--
extra : rebase_source : af8d081c349b27ac0e2567b0f5863fbbeb7f98ce
2016-05-12 12:15:58 -04:00
Chris Manchester 4f42fe999c Bug 1257326 - Replace the env_flag configure template with a template that does not permit setting values directly from the environment or a mozconfig. r=glandium
For most cases, this replaces a value that was set in a way that would ignore
an environment variable, so this restores behavior for values that were
set in confvars.sh.

MozReview-Commit-ID: E31hm8uKq4D
2016-05-12 11:55:58 -07:00
Chris Manchester e00bb9ee54 Bug 1267454 - Move java toolchain checks to Python configure. r=glandium
MozReview-Commit-ID: KEDkmJJsaUx
2016-05-12 11:55:57 -07:00
Chris Manchester 463051b415 Bug 1267454 - Add a parameter to find_program and check_prog to allow searching the given paths instead of $PATH. r=glandium
MozReview-Commit-ID: F3lke9Q5rRR
2016-05-12 11:55:57 -07:00
Mike Hommey 3c90aa7923 Bug 1270446 - Make check_compiler() return a namespace instead of a tuple. r=chmanchester 2016-05-06 21:23:34 +09:00
Mike Hommey 7c22cf4c1b Bug 1264609 - Derive HOST_CXX from CXX when it makes sense. r=ted 2016-05-04 06:34:38 +09:00
Ralph Giles f75ac6bcbf Bug 1269790 - Bump default MacOS target to 10.7. r=gps
We no longer support MacOS X versions 10.6-10.8. Bumping the
default MACOSX_DEPLOYMENT_TARGET to 10.7 lets us start landing
changes which are incompatible with earlier SDKs.

Currently we build on 10.7, so moving to 10.9 must wait until
our infrastructure is reconfigured to run build jobs on more
recent MacOS versions.

MozReview-Commit-ID: B0CcWVOnnv3
2016-05-03 10:22:01 -07:00
Jan Beich 38fac9d91b Bug 1267901 - Fix --disable-replace-malloc on Nightly after bug 1257448. r=glandium
MozReview-Commit-ID: HbsrH0M6wLE

--HG--
extra : transplant_source : %F9f%CC%18%5B%AB%80u%F5%C9U%24%9Bn%B2S%11/%DBU
2016-04-27 02:53:17 +00:00
Mike Hommey e720762c60 Bug 1266620 - Move MACOSX_DEPLOYMENT_TARGET to moz.configure. r=chmanchester 2016-04-23 08:13:26 +09:00
Chris Manchester c2a2f2b51f Bug 1257958 - Move MOZ_ANDROID_APZ to Python configure. r=nalexander
MozReview-Commit-ID: EPhThmQjKXF
2016-04-22 13:01:22 -07:00
Chris Manchester ef201688a8 Bug 1257958 - Add a template to construct an environment-set option that sets the corresponding variable. r=glandium
MozReview-Commit-ID: 2ufoFdwCdDk
2016-04-22 13:01:21 -07:00
Mike Hommey 11908ff843 Bug 1266343 - Add unit tests for the toolchain checks. r=chmanchester 2016-04-22 09:04:05 +09:00
Mike Hommey 11b8ab106b Bug 1266343 - Add CONFIG_SHELL to allow to set a POSIX shell that is not sh. r=chmanchester
This allows unit tests to override the shell check, and is compatible with what
autoconf actually does.
2016-04-22 09:03:33 +09:00
Mike Hommey 3b7f3b9e75 Bug 1265627 - Prettify the MSVC version. r=ted 2016-04-20 07:51:55 +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 5192eab0d6 Bug 1265627 - Move compiler version checks to moz.configure. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey 45d327c752 Bug 1265627 - Check that using the compiler flags we add does what they are intended to do. r=ted
While this is not immediately useful, it will be with the next changes.
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 bb5463199c Bug 1264482 - Move compiler invocation for preprocessing to a separate function. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey 66ab5aca5c Bug 1264482 - Use the EnumString type for the different values we get out of split_triplet. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey 3b84e5ed68 Bug 1264482 - Use the EnumString type for the compiler type. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey fb65986e09 Bug 1264482 - Fake an arbitrary __name__ in sandboxed global. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey 6c9ed7d3ec Bug 1264831 - Use @imports in find_program. r=gps
This removes the last use of complete configure sandbox unlocking.
2016-04-15 18:56:08 +09:00
Mike Hommey 5ac7830115 Bug 1264831 - Add a few presumably harmless builtins to the sandbox. r=gps
as well as os.path.normcase.
2016-04-15 18:56:08 +09:00
Mike Hommey f3054520af Bug 1260327 - Expose a MOZ_CONFIGURE_OPTIONS variable containing configure options. r=chmanchester 2016-04-15 08:14:05 +09:00
Mike Hommey 197084b5a7 Bug 1257448 - Move --enable-replace-malloc to moz.configure. r=nalexander 2016-04-15 08:14:05 +09:00
Mike Hommey cb8bf91611 Bug 1257448 - Move MOZ_MEMORY_* defines to moz.configure. r=nalexander 2016-04-15 08:14:05 +09:00
Mike Hommey d685556de0 Bug 1257448 - Move --enable-jemalloc and MOZ_JEMALLOC4 to moz.configure. r=nalexander
At the same time, allow to enable jemalloc 4 with --enable-jemalloc=4.
MOZ_JEMALLOC4 will be deprecated later.

This also changes the semantics for freebsd, where the system jemalloc
is used, relying on MOZ_MEMORY being unset (default on freebsd) and
MOZ_JEMALLOC4 to be set. In this new setup, MOZ_JEMALLOC4 implies
--enable-jemalloc=4, which still works because of the corresponding
changes to old-configure.
2016-04-15 08:14:05 +09:00
Mike Hommey f9f9e3be56 Bug 1264527 - Remove wanted_mozconfig_variables. r=nalexander
While forgetting about it was warned about, having to add every new
environment option to wanted_mozconfig_variables is cumbersome. It turns
out there is a hackish way to make things work without that list, which,
all things considered, is not worse than the hacks around the
wanted_mozconfig_variables function, and are certainly an improvement as
it doesn't require an ever growing list of environment options.
2016-04-15 08:14:05 +09: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
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 6978958707 Bug 1259382 - Get a full path to the compiler wrapper. r=ted
In the near future, we are going to try running the compiler wrapper
from python code, and that will work better if we have the full path
to it.
2016-04-14 13:16:31 +09:00
Mike Hommey 3098248f0e Bug 1256571 - Change the execution model of python configure. r=chmanchester
So far, everything was essentially executed at "declaration". This
made the sandbox code simpler, but to improve on the tooling around
python configure (for tests and introspection), we need to have more
flexibility, which executing everything at declaration doesn't give.

With this change, only @depends functions depending on --help, as
well as templates, are executed at the moment the moz.configure
files are included in the sandbox. The remainder is executed at the
end.
2016-04-14 07:29:42 +09:00
Mike Hommey 441c1e30d4 Bug 1259382 - Make add_old_configure_assignment work like set_config, accepting both @depends functions and literal values for both arguments it takes. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey 6684d3c1ee Bug 1259382 - Make mozbuild.shellutil.quote more useful for e.g. creating printable command lines. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey 2c621f97c8 Bug 1264129 - Add verbosity for the shell and autoconf checks in moz.configure. r=gps
Also get an absolute path for the shell.
2016-04-13 10:06:52 +09:00
Mike Hommey c0808e5f6d Bug 1262087 - Make the @checking callback not alter the behavior for bools. r=chmanchester 2016-04-06 07:25:26 +09:00
Mike Hommey 6886f13b7d Bug 1262020 - Move --with-android-ndk, --with-android-toolchain and --with-android-gnu-compiler-version to moz.configure. r=nalexander 2016-04-06 07:25:13 +09:00
Mike Hommey 1d9ff89e0e Bug 1262019 - Make --with-gonk imply --enable-default-toolkit=cairo-gonk. r=chmanchester
This removes the need for a dummy `gonkdir` function for the
build_project != 'b2g' case.
2016-04-06 07:25:06 +09:00
Mike Hommey e6d52431b6 Bug 1261531 - Remove most obvious cases of useless AC_DEFINEs. r=chmanchester
- HW_THREADS doesn't appear to be doing anything.

- USE_ARM_KUSER is not used since bug 675078. This also removes the configure
  flag that sets it.

- HAVE_SETBUF and HAVE_SNPRINTF are leftover from bug 944935.

- MOZ_MEMORY_GONK is leftover from bug 804303.
2016-04-05 07:16:44 +09:00
Mike Hommey c25921b32d Bug 1261531 - Remove most obvious cases of useless AC_SUBSTs. r=chmanchester
- DEVELOPER_OPTIONS, INTEL_CC, INTEL_CXX, MOZ_ENABLE_QTMOBILITY,
  GTK_CONFIG are or even were never used outside configure.

- MOZ_PROFILELOCKING which gradually became a no-op over the years. This
  also removes the configure flag that sets it.

- XULRUNNER_STUB_NAME is xulrunner-only, and xulrunner is gone. This
  also removes the configure flag that sets it.

- The only use of MOZ_CAN_RUN_PROGRAMS was removed in bug 780561.

- AR_LIST and AR_DELETE have not been used since bug 584474.

- MOZ_COMPONENT_NSPR_LIBS is leftover from bug 1036894.

- MOZ_PNG_ARM_NEON_CHECK is not used since bug 980488.

- MOZ_WEBRTC_LEAKING_TESTS has been no-oped by bug 825510.

- VPX_NEED_OBJ_INT_EXTRACT and NO_INTEGRATED_AS_CFLAGS are not used since
  bug 1151175.

- WCHAR_CFLAGS is not used since bug 904985.
2016-04-05 07:16:44 +09:00
Mike Hommey 03275f034b Bug 1261285 - Properly remove the config.log logging handler before running old-configure. r=ted
Because closing the handler is not enough (it eventually reopens
itself), the dumping of config.log overwrites the file, and confuses
the process of reading it to dump it in the first place, showing
incomplete logs. The intent from the start was that nothing would be
logged in the FileHandler, so on top of closing it, actively remove it.
2016-04-05 07:16:44 +09:00
Mike Hommey 8155d8f286 Bug 1261235 - Handle non-ascii in configure logging. r=ted
When reading config.log, with old-configure output, we may get non-ascii
strings, but that currently fails because we're using plain open() to
read it. So use encoded_open() instead (which does the same job for
other files in the same script).

Because the build system can be encapsulated in mach, python configure
can have a pipe as stdout/stderr, and in that case, sys.stdout/stderr
have an ascii encoding, failing to print out anything that doesn't
fit in ascii, consequently failing to print the things we've read from
config.log. So reopen stdout and stderr with the right encoding in
the configure output handler.
2016-04-05 07:16:44 +09:00
Hector Zhao a408fabf31 Bug 1260427 - Additional nspr/nss related old_configure_options. r=glandium
MozReview-Commit-ID: Bre9H6hPlz5

--HG--
extra : transplant_source : %A7PE%AFh%A1%AA%7B%F8%B4%A0%08XA%1C%B6%AC1%CD%D9
2016-03-29 21:57:03 +08: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 08b4bd78d9 Bug 1260639 - Log more information before starting old-configure. r=ted 2016-04-01 09:43:26 +09:00
Mike Hommey 74de434e68 Bug 1260636 - Add endianness to host and target information. r=ted
While in the vicinity, add support for sparc64.
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 f1ed025e8b Bug 1260066 - Don't allow to use sandbox primitives from anywhere but global scope and templates. r=nalexander
The initial goal of templates was to provide a way to write shorter
constructs for some generic tasks during configure. But the limitations
of the sandbox and the properties of templates made them used for more
general functions.

Consequently, this led to templates having to be available from
anywhere, which, in turn, led to difficult to introspect constructs.
With bug 1257823, we've made almost everything use set_config and
similar functions from the global scope, but we don't enforce that
those primitives are only used at the global scope.

This change does that: it enforces that primitives are only used at
the global scope. Or in templates.

Now, since templates were used for other purposes than generic uses
of other primitives, we now allow non-template functions to be declared.
Those can be used everywhere, but don't have access to the sandbox
primitives.
2016-03-30 07:08:00 +09:00
Mike Hommey a2652b3b0b Bug 1260066 - Move add_old_configure_arg to the global scope. r=nalexander
We've done this for set_config, set_define, imply_option, and
add_old_configure_assignment. Do it for add_old_configure_arg as well.
2016-03-30 07:07:57 +09:00
Mike Hommey 9bf72e6993 Bug 1256573 - Switch moz.configure to use @imports instead of @advanced. r=nalexander 2016-03-30 07:07:53 +09:00
Mike Hommey edcd74a9d7 Bug 1259381 - Move --with-ccache and --with-compiler-wrapper to moz.configure. r=chmanchester 2016-03-30 07:07:45 +09:00
Mike Hommey 6eee113ee8 Bug 1259960 - Make check_prog more flexible about the list of programs it will check. r=chmanchester 2016-03-30 07:07:42 +09:00
Mike Hommey 028ebf69ff Bug 1259960 - Make check_prog more flexible about the input it receives. r=chmanchester 2016-03-30 07:07:40 +09:00
Mike Hommey 18a002cd83 Bug 1259960 - Allow to pass a string to check_prog to describe what is being looked for. r=chmanchester
So far, we've been using the lowercase of the variable name, but it's
not enough for some special cases. Those special cases could do their
own business, but then, they'd have to duplicate 90% of check_prog,
which is less desirable.
2016-03-30 07:07:38 +09:00
Mike Hommey 29c3394b1b Bug 1259960 - s/DummyFunction/DependsFunction/. r=chmanchester
While DummyFunction is descriptive of what the instances are (and they
can't even be called), the various uses of isintance(obj, DummyFunction)
are kind of confusing, especially when they are in moz.configure land
(and this bug is about to add another one).
2016-03-30 07:07:37 +09:00
Mike Hommey 2baf0d3dc1 Bug 1257516 - Handle outputting the tail of config.log for old-configure failures from moz.configure. r=ted 2016-03-30 07:07:30 +09:00
Mike Hommey cbf367717b Bug 1257516 - Make check_prog opt-in to the queued debug log messages. r=ted 2016-03-30 07:07:13 +09:00
Mike Hommey a2c9191daf Bug 1257516 - Add a unit test for check_prog(). r=ted
At the same time, shell quote the result it prints if it needs to be.
2016-03-30 07:00:22 +09:00
Mike Hommey e8721f0397 Bug 1257516 - Use the logger for virtualenv manager output. r=ted 2016-03-30 07:00:17 +09:00
Mike Hommey ba80937ba0 Bug 1257516 - Send the debug output from our logger to config.log. r=ted
And since the file is also used for old-configure, close our handle on
the file before spawning old-configure, and make old-configure append
there instead of truncating the file.
2016-03-30 07:00:07 +09:00
Mike Hommey 47d916d8f0 Bug 1257516 - Expose a sandboxed logger to moz.configure and use it. r=ted
This removes the warn() function and makes the die() function use the logger
instead of print.
2016-03-30 07:00:03 +09:00
Mike Hommey 96b6664c24 Bug 1257516 - Rename error() to die() and make it take arguments like the logging module. r=ted 2016-03-30 06:59:44 +09:00
Mike Hommey f215c4d869 Bug 1259620 - Add @checking to host and target to display the triplets. r=gps 2016-03-26 07:17:58 +09:00
Mike Hommey 3b84619fff Bug 1259620 - Add an optional formatting callback to @checking. r=gps 2016-03-26 07:17:51 +09:00
Mike Hommey 78d9b6ffa4 Bug 1259354 - Avoid "checking yasm version" being written out when yasm was not found. r=ted
The reason the "checking" string always appears is that @depends
functions are always called, regardless of the value of the dependency.

This introduces a new decorator @depends_true, which works like
@depends, but the decorated function is not called unless one of the
dependency value resolves to True.

The new decorator can also be used to replace many cases where we do
@depends(foo)
def bar(foo):
    if foo:
        ...
2016-03-25 06:54:35 +09:00
Mike Hommey 8a90d1c8e4 Bug 1259352 - Always fail check_prog if an explicit value was given on the command line or environment. r=ted 2016-03-25 06:54:35 +09:00
Mike Hommey b5c2226dba Bug 1259346 - Make delayed_getattr more resilient to failure. r=nalexander 2016-03-25 06:54:35 +09:00
Mike Hommey 81936f844d Bug 1259275 - Don't check for yasm when building with --disable-compile-environment. r=ted 2016-03-24 14:34:46 +09:00
Mike Hommey 90692a1ac0 Bug 1257823 - Move add_old_configure_assignment() to the global scope. r=nalexander
Similar to set_config, set_define and imply_option, but this is a
sandboxed function that stays sandboxed.
2016-03-24 09:04:28 +09:00
Mike Hommey 6a8ed3e4a8 Bug 1257823 - Move imply_option() to the global scope. r=nalexander
Like set_config and set_define, we move imply_option to the global
scope.
2016-03-24 09:04:28 +09:00
Mike Hommey e5cde501da Bug 1257823 - Move set_define() to the global scope. r=nalexander
For the same reasons as set_config is being moved to the global scope,
we're moving set_define to the global scope here. An additional change
is that set_define is now part of the sandbox itself instead of being
defined within the sandbox, which makes it share the implementation
details with set_config.
2016-03-24 09:04:28 +09:00
Mike Hommey 7cd6c430c1 Bug 1257823 - Move set_config() to the global scope. r=nalexander
The way set_config is set currently makes it difficult to introspect
moz.configure files to know what configuration items are being set,
because they're hidden in the control flow of functions.

This makes some of the moz.configure more convoluted, but this is why
there are templates, and we can improve the recurring cases afterwards.
2016-03-24 09:04:28 +09:00
Mike Hommey ed5e2c39f5 Bug 1257823 - Move set_define() to the sandbox. r=nalexander
In order to make the transition to global set_define easier, move its
current definition from inside the sandbox to the sandbox itself.
2016-03-24 09:04:28 +09:00
Mike Hommey a8db2a2c62 Bug 1258619 - Properly sandbox functions inside a template. r=chmanchester
The way functions are being sandboxed in moz.configure land is that
their global namespace is being replaced with a limited and identifiable
dict. And we avoid re-wrapping a function that already received this
treatment.

The problem is that template functions have their global namespace
replaced, and any function that is defined within the template inherits
that global namespace. So when it comes time to wrap those functions
defined in templates with e.g. depends, we detect that they're already
wrapped although they are not, because we look if their global namespace
is of the recognizable type we use when replacing it.

So instead of looking at the global namespace type, keep track of all
functions that are wrapped.
2016-03-23 13:24:54 +09:00
Mike Hommey 2ee885572e Bug 1258785 - Return a None value when check_prog doesn't find a program. r=ted 2016-03-23 13:24:49 +09:00
Mike Hommey aec687f13d Bug 1258618 - Use True instead of '1' for add_old_configure_assignment. r=nalexander 2016-03-23 09:24:53 +09:00
Mike Hommey 9b54a468a9 Bug 1258618 - Use True instead of '1' for set_define. r=nalexander 2016-03-23 09:24:51 +09:00
Mike Hommey 521861c0e2 Bug 1258618 - Use True instead of '1' for set_config. r=nalexander 2016-03-23 09:24:50 +09:00
Mike Hommey b43aae42ec Bug 1258618 - Allow to use bools as values given to add_old_configure_assignment. r=nalexander 2016-03-23 09:24:49 +09:00
Wes Kocher 1922ce7aa8 Merge m-c to inbound, a=merge CLOSED TREE
MozReview-Commit-ID: KCev5FqbsuD
2016-03-22 16:57:35 -07:00
Nick Alexander 40132bc444 Bug 1256995 - Move --with-gradle to mobile/android/moz.configure. r=glandium
This also adds a GRADLE_FLAGS environment variable for use in
automation.

Manually tested.

MozReview-Commit-ID: 8nDkqz2VnJn

--HG--
extra : rebase_source : 32626a7dc0c0a6a440e300d92c31670f14319325
extra : amend_source : fe134e25f079851b4c648b53a7a485ee20c15c18
2016-03-17 11:04:08 -07:00
Mike Hommey b93503b5e7 Bug 1257468 - Move JS_STANDALONE to moz.configure. r=nalexander 2016-03-22 11:09:43 +09:00
Mike Hommey 8f7c8ceafe Bug 1257468 - Move setting MOZ_BUILD_APP subst and define to moz.configure. r=nalexander
This has the side effect of making the variable available in js/src,
which it was not in the past.
2016-03-22 11:09:40 +09:00
Mike Hommey d8e5f51dde Bug 1257445 - Move some platform-specific defines to moz.configure. r=gps 2016-03-22 09:25:48 +09:00
Mike Hommey 9a0f2f15ea Backout changeset 136f541c4406 (bug 1257445) for Android bustage on a CLOSED TREE 2016-03-22 08:40:37 +09:00
Mike Hommey 0ea268dc18 Backout changesets f5090987b7c6, 48a94777837d and a63437a74f7a (bug 1257468) for SM bustage on a CLOSED TREE 2016-03-22 08:27:28 +09:00
Mike Hommey a74a4e5dde Bug 1257468 - Move JS_STANDALONE to moz.configure. r=nalexander 2016-03-22 08:05:00 +09:00
Mike Hommey dff9555828 Bug 1257468 - Move setting MOZ_BUILD_APP subst and define to moz.configure. r=nalexander
This has the side effect of making the variable available in js/src,
which it was not in the past.
2016-03-22 08:05:00 +09:00
Mike Hommey 9116f85e0e Bug 1257445 - Move some platform-specific defines to moz.configure. r=gps 2016-03-22 08:05:00 +09:00
Mike Hommey 68c5ab1790 Bug 1258615 - Remove the "magic" that sets a result from set_config() in @depends functions. r=chmanchester
Currently, if a @depends function doesn't have a return statement or
return None, a result is automatically set from all the set_config()
called from the function.

As we're going to move set_config to the global namespace, and as this
feature is only used once, and it's only used for something that was
written before ReadOnlyNamespace was exposed to the sandbox, we can
"safely" get rid of it.
2016-03-23 06:51:10 +09: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
Chris Manchester d91718bd8c Bug 1256966 - Move NIGHTLY_BUILD and RELEASE_BUILD to Python configure. r=glandium
MozReview-Commit-ID: 2Z3XMO2n681
2016-03-18 11:24:11 -07:00
Chris Manchester a05901fd6c Bug 1257685 - Always read a mozconfig when printing help from python configure. r=glandium
This restores help for project specific options.

MozReview-Commit-ID: 3n0TBnUb0K7
2016-03-18 11:24:11 -07:00
Ted Mielczarek 5986418419 bug 1257607 - Add Version type to moz.configure. r=glandium
This change adds a `Version` type to moz.configure which is a small
wrapper around `distutils.version.Version`. It's suitable for wrapping
version numbers in configure checks and doing equality or greater-than
less-than comparisons in a sensible way.

MozReview-Commit-ID: BOL6yvemulG

--HG--
extra : rebase_source : 3b463eac0499086f8acffda0d01418b6ab17f3d6
extra : amend_source : aebd6e40c408d9f868623b2f53fcdf7455e2fff5
2016-03-17 11:52:18 -04:00
Ted Mielczarek 8f2baa8e8b bug 1257542 - check_prog template should sanity check that progs is not a string. r=glandium
In Python parens around an expression without a trailing comma is not a tuple,
so ('foo') == 'foo'. This is really easy to screw up with check_progs, which
coerces progs to a list and would give you ['f','o','o'] in this case. This
patch enforces that the progs argument is a tuple or list and errors if it
is not.

MozReview-Commit-ID: 7BJZuF9B8D5

--HG--
extra : rebase_source : 5db9a6b4bb9ef7195c2513407810093bff5e9174
extra : amend_source : f67ab46c2ac00a2a95cfc67e9763ac12b690ac14
2016-03-17 11:04:12 -04:00
Mike Hommey 03219400f6 Bug 1257434 - Move --enable-vtune and --enable-profiling to moz.configure. r=ted
old-configure and js/src/old-configure interestingly didn't handle both
the same way. But vtune support is only actually implemented in js/src,
so only the rules from js/src/old-configure matter (nothing was
enforcing the decistion from old-configure to js/src/old-configure), and
this is what is implemented here.
2016-03-18 09:05:53 +09:00
Mike Hommey f701be5ac8 Bug 1257434 - Move --enable-dmd to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 8e033edefa Bug 1257434 - Move --enable-callgrind to moz.configure. r=ted
Remove the unused DEFINES set in js/xpconnect/shell/moz.build,
subsequently making the MOZ_CALLGRIND subst unused, so don't add a
set_config for it.
2016-03-18 09:05:53 +09:00
Mike Hommey 89cb71ad55 Bug 1257434 - Move --enable-instruments to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 58397bd671 Bug 1257434 - Move --enable-jprof to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 9589ff306f Bug 1257434 - Move --enable-systrace to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey dfd9a1b64b Bug 1257648 - Always filter target/host triplets with config.sub. r=nalexander
Until we stop relying on the raw_cpu and raw_os values from target and
host, we need to keep normalizing them like old-configure.in did, which
involves filtering them through config.sub.
2016-03-18 09:05:53 +09:00
Mike Hommey fe53ffa77b Bug 1257416 - Move MOZTTDIR to moz.configure. r=gps 2016-03-18 09:05:53 +09:00
Mike Hommey 50e9df2a3d Bug 1257415 - Move --with-l10n-base to moz.configure. r=gps 2016-03-18 09:05:53 +09:00
Carsten "Tomcat" Book 0153b4e56c Backed out changeset 818165fa787b (bug 1257415) for breaking l10n nightly's 2016-03-17 16:03:55 +01:00
Carsten "Tomcat" Book 7f34f4c017 Backed out changeset 8e9ad372486b (bug 1257416) 2016-03-17 16:03:32 +01:00
Mike Hommey 686509e193 Bug 1257416 - Move MOZTTDIR to moz.configure. r=gps 2016-03-17 14:08:12 +09:00
Mike Hommey 48107a932f Bug 1257415 - Move --with-l10n-base to moz.configure. r=gps 2016-03-17 14:08:04 +09:00
Mike Hommey c82492a724 Bug 1257414 - Remove --with-libxul-sdk. r=gps
Bug 1038639 removed the option, but since autoconf doesn't barf for
unknown options, the option MOZ_ARG_WITH_STRING was kept to emit a
AC_MSG_ERROR. This is not necessary anymore.
2016-03-17 14:07:39 +09:00
Mike Hommey b7f92d8834 Bug 1257413 - Fix check_prog() to properly fail when program is missing after bug 1256568. r=gps 2016-03-17 14:07:27 +09:00
Mike Hommey 3d0e3c4c8e Bug 1257104 - Move --enable-eme to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey d5fe73840f Bug 1257104 - Move --disable-fmp4 to moz.configure. r=ted
Note the imply_option from --enable-ffmpeg replaces the explicit check from
old-configure.in and triggers an error in the same circumstances.
2016-03-17 07:21:37 +09:00
Mike Hommey 294a1dd5b6 Bug 1257104 - Move --disable-ffmpeg to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey 0a286dbf9a Bug 1257104 - Move --disable-wmf to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey d750b89c8d Bug 1256988 - Move USE_FC_FREETYPE to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 42022dc1f2 Bug 1256988 - Move MOZ_INSTRUMENT_EVENT_LOOP to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 44442bc4fe Bug 1256988 - Move --with-gl-provider to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 2743bd43bd Bug 1256988 - Move X11 and MOZ_WIDGET_TOOLKIT-related things to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey b6f701b9e1 Bug 1256988 - Move MOZ_WIDGET_TOOLKIT to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 0366070f0d Bug 1256988 - Move --with-gonk to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey b9c63e7503 Bug 1257051 - Use separate target triplets for iOS and OSX. r=ted
This aligns with the triplets used by clang/llvm. Technically, this
won't break iOS builds still using -darwin triplets until we move
MOZ_IOS_SDK to moz.configure and actively reject non iOS targets with
the iOS sdk.

Also allow to distinguish iOS and OSX with target.os.
2016-03-17 06:49:44 +09:00
Mike Hommey 896fa3fd26 Followup for bug 1256568 - Improve the help message for options check_prog adds. r=gps 2016-03-16 10:55:10 +09:00
Mike Hommey 9015326e32 Bug 1256990 - Move tar detection to moz.configure. r=chmanchester 2016-03-16 08:26:47 +09:00
Mike Hommey 8c8c40342a Bug 1256622 - Allow to build spidermonkey from the top-level configure. r=gps 2016-03-16 08:26:47 +09:00
Mike Hommey a3db813ef1 Bug 1256528 - Pass AUTOCONF down to old-configure. r=gps 2016-03-16 08:26:47 +09:00
Mike Hommey 377f0ec95c Bug 1256512 - Move TARGET_CPU and TARGET_OS to moz.configure. r=chmanchester
And remove the unused TARGET_VENDOR
2016-03-16 07:12:53 +09:00
Mike Hommey 986945d9e4 Bug 1256568 - Move doxygen, zip, unzip, xargs, rpmbuild, genisoimage and dsymutil detection to moz.configure. r=gps 2016-03-15 16:40:15 +09:00
Mike Hommey 254313370d Bug 1256568 - Move perl detection to moz.configure. r=gps 2016-03-15 16:40:15 +09:00
Mike Hommey 7aad9030cf Bug 1256568 - Move awk detection to moz.configure. r=gps 2016-03-15 16:40:15 +09:00
Mike Hommey dedfa183e2 Bug 1256568 - Inject some variables set in mozconfig into moz.configure. r=gps
Because some of the existing mozconfigs may be setting some variables,
we need to inject those that are handled by moz.configure now. It likely
doesn't matter for the variables currently in moz.configure, but it will
soon become important when more things are moved to moz.configure.

In fact, it is necessary for GENISOIMAGE and DSYMUTIL that we're going
to move in this bug, set in automation mozconfigs.

The implementation is cumbersome and quite horrible. We could do better
by changing the execution model in mozbuild.configure, which is probably
necessary for other reasons as well, but that requires more work and
testing.
2016-03-15 16:40:15 +09:00
Mike Hommey 84027af8da Bug 1256507 - Remove --enable-xterm-updates. r=gps
It's an opt-in flag that allows to display where the build is in
terminal window titles. The fact that it's opt-in and likely unknown
makes it very low-value, and the fact that it was added in an era where
builds were not very well parallelized made it have a meaning, but now
that builds are parallelized, its meaningfulness is diminished.

Let's just remove it.
2016-03-15 16:40:15 +09:00
Mike Hommey d33300555c Bug 1255305 - Move --host and --target to moz.configure. r=chmanchester
With all the things that still depend on all the variables derived from
--host and --target in both old-configure and moz.build, we still need
to keep variables such as OS_ARCH, OS_TARGET, CPU_ARCH, OS_TEST, etc.

Eventually, we'd settle on the output of split_triplet.

This /tries/ to preserve the current values for all these variables,
while also trying to make things a little more consistent. It also
effectively rejects OSes such as HPUX or AIX, because it is unclear
the decades old accumulated scripts related to them still do anything
useful, and we might as well have them start again from scratch, which,
in the coming weeks, will be even easier.
2016-03-15 07:34:50 +09:00
Mike Hommey 6278d4028c Bug 1255305 - Generalize adding arguments to old-configure. r=chmanchester 2016-03-15 07:34:50 +09:00
Mike Hommey 43c7636a88 Bug 1255305 - Move the function finding a shell from old.configure to init.configure. r=chmanchester 2016-03-15 07:34:50 +09:00
Blake Winton 36e4a6bd80 Bug 1256355 - Look for homebrew's autoconf213, and fix a typo. r=gps.
MozReview-Commit-ID: yt9fKDzZ9g

--HG--
extra : rebase_source : f5693c673a929267dc10394c9f3a42b3d074639b
2016-03-14 11:06:53 -04:00
Nicolas B. Pierron cf925792db Bug 1245860 - Add --with-nspr-prefix to the list of old configure options. r=ted 2016-03-14 14:41:08 +00:00
Mike Hommey ad56d4e463 Bug 1255433 - Store old-configure.vars as utf-8 or mbcs. r=gps
The data we get out of mozconfig can be unicode, and needs to be in a
form the shell used to run old-configure will be able to recognize,
which is likely utf-8 on UNIX (that's what we settled on), and mbcs on
Windows.
2016-03-12 09:16:56 +09:00
Mike Hommey 80f68ac7a4 Bug 1255312 - Limit the options we pass down to old-configure. r=chmanchester
So far, we've been passing down all configure_args from mozconfig as
well as every flag appearing on sys.argv. This is overly broad and
causes problems for some options, like --enable-application.

However, we don't need all these options to be passed.

For the top-level old-configure, we need to pass the flags it can
handle, as well as the flags that we want passed down to
js/src/configure.

For js/src/old-configure, we only need to pass the flags it can handle.

The flags an old-configure can handle is defined by the list of flags
in @old_configure_options. The list of flags to pass down to
js/src/configure is defined by extra_old_configure_args.

And since the mozconfig configure_args are being injected into python
configure processing, the list of values we get in old_configure includes
the mozconfig configure_args.
2016-03-12 09:16:48 +09:00
Mike Hommey 3df9b47d3e Fixup for bug 1255667 - Use the absolute path of OLD_CONFIGURE. r=me 2016-03-11 15:33:18 +09:00
Mike Hommey 743482d107 Followup for bug 1255197 - Remove unused dependencies from prepare_configure. r=me 2016-03-11 13:52:39 +09:00
Mike Hommey b5d512b98a Bug 1255667 - Don't read the mozconfig for the js configure. r=gps
While the long term goal is that js and top-level use the same configure
and the same overall setup, including the possibility to use mozconfigs,
figuring out what we want to do wrt mozconfig vs. command line and
environment variable is not a clear-cut case, and it's more important to
fix the immediate problem mozconfig causes to js developers by
"temporarily" returning to the previous behavior of not loading the
mozconfig for the js configure.

This was already done in the case of running it as a subconfigure, this
extends the exception. Unfortunately, there is no direct way to tell
whether the running configure is the js configure. The indirect way is
to look at the OLD_CONFIGURE path, which points to
js/src/old-configure.

I expect we'll have figured things out for mozconfigs well before
old-configure dies.
2016-03-11 12:16:12 +09:00
Mike Hommey 9344631411 Bug 1255197 - Avoid cumulating dependencies in prepare_configure(). r=chmanchester 2016-03-11 09:38:28 +09:00
Mike Hommey aa23cc29a6 Bug 1254906 - Move --disable-shared-js and --disable-export-js to moz.configure. r=chmanchester 2016-03-11 09:38:28 +09:00
Mike Hommey bf9a11821c Bug 1255185 - Move --with-external-source-dir to moz.configure. r=chmanchester 2016-03-10 13:54:02 +09:00
Mike Hommey e6d395b495 Bug 1254873 - Make --disable-js-shell the default for non-js-standalone builds. r=chmanchester
The implementation is a bit circumvoluted, but we do need to share
options between the top-level and js/src configures, possibly with
different defaults, and to properly pass things down from one to
the other. Until we are further down the road and can actually merge
both configures, this is a necessary evil.
2016-03-10 13:54:02 +09:00
Patrick Cloke c0a4f01d07 Bug 1254795 - Add missing --enable flags to old.configure. r=glandium
--HG--
extra : amend_source : 66a4cc84b21f8af8a26f21ae7aebbbcacf3c1356
2016-03-08 18:38:00 +01:00
Mike Hommey 7af16cb3a7 No bug - Fixup whitespaces in build/moz.configure/{init,old}.configure. r=me 2016-03-09 11:40:48 +09:00
Mike Hommey 564de8ea0e Bug 1254410 - Include app-specific configure files according to --enable-application/--enable-project. r=chmanchester
Because --enable-application is the current way to do things, transpose
it to configure.py, but since --enable-application=js doesn't make
sense, make it an alias of a new --enable-project option.

This only partially moves --enable-application out of old-configure.in
because there are a lot of other things intertwined with it.
2016-03-09 09:23:27 +09:00
Mike Hommey 849ac02d19 Bug 1253553 - Move --enable-artifact-builds, --disable-compile-environment and --enable-build-backend to moz.configure. r=nalexander,r=chmanchester
Note I'm using raw primitives until patterns emerge and we decide on
some helpers.
2016-03-08 15:41:32 +09:00
Mike Hommey 9ac013d5cf Bug 1253502 - Move python virtualenv initialization to moz.configure. r=gps 2016-03-08 15:41:32 +09:00
Mike Hommey 74b4506047 Bug 1253203 - Move parts of configure.py into sandboxed moz.configure. r=nalexander,r=chmanchester
This moves all the reading mozconfig, finding autoconf, refreshing the
old configure, and running the old configure into sandboxed
moz.configure. This effectively bootstraps the sandboxed python configure.
2016-03-08 15:41:32 +09:00