Commit Graph

35 Commits

Author SHA1 Message Date
Mike Hommey
c7019d651a Bug 1275419 - Deprecate --enable-build-backend and add --build-backends. r=chmanchester
--enable-build-backend was taking a list of additional backends to add
to the defaults. Changes to allow to disable some of the defaults is not
possible in a straightforward way, so introduce a new
--build-backends option that sets the exact set of wanted backends,
but also allows to add and remove from the defaults with + or -.

--build-backends=+CompileDB is equivalent to
--enable-build-backend=CompileDB.

--build-backends=-VisualStudio disables the VS backend when it's
automatically enabled.
2016-05-26 21:30:12 +09:00
Gregory Szorc
2d6fb1ed77 Bug 1275297 - Create Visual Studio project files by default on Windows; r=glandium
Now that the VisualStudio backend will no-op if nothing has changed, it
should be safe to always run this backend.

On first run, backend generation takes ~3.5s on my machine. On subsequent run,
it takes ~1.5s. Wall time for a no-op config.status is now ~15.7s. We could like
make the Visual Studio backend faster by not writing so many project files.
But this would require consolidating libraries in moz.build files. And that's
out of scope for this change.

We drop the check for MSVS_VERSION because it won't always be defined on
MinGW/GCC builds. We simply default to "2015" if it isn't set.

MozReview-Commit-ID: 5W38HMGmcuV

--HG--
extra : rebase_source : 302d76277058819c115f3c2518b8cb2067971950
extra : source : 408319d87eacb28848efeab0346eb815440adade
2016-05-24 08:47:24 -07:00
Wes Kocher
a6482310b7 Backed out changeset 408319d87eac (bug 1275297) for breaking at least Windows SM builds with "MSVS_VERSION not defined" CLOSED TREE 2016-05-24 16:25:14 -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
Gregory Szorc
4558a0636b Bug 1275297 - Create Visual Studio project files by default on Windows; r=glandium
Now that the VisualStudio backend will no-op if nothing has changed, it
should be safe to always run this backend.

On first run, backend generation takes ~3.5s on my machine. On subsequent run,
it takes ~1.5s. Wall time for a no-op config.status is now ~15.7s. We could like
make the Visual Studio backend faster by not writing so many project files.
But this would require consolidating libraries in moz.build files. And that's
out of scope for this change.

MozReview-Commit-ID: 5W38HMGmcuV

--HG--
extra : rebase_source : 1164621e00e2b917b5462d5ba310e0cc94d23bd9
2016-05-24 08:47:24 -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
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
Ms2ger
e8ba3bc4bd Bug 1265374 - Move check_prog for archive programs into toolkit/moz.configure; r=glandium
This stops us from requiring them in standalone SpiderMonkey builds.
2016-04-20 11:47:33 +02: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
Mike Hommey
71a1b9942f Bug 1260066 - Move last uses of check_prog that weren't in the global scope to the global scope. r=nalexander 2016-03-30 07:07:58 +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
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
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
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
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
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
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
9015326e32 Bug 1256990 - Move tar detection to moz.configure. r=chmanchester 2016-03-16 08:26:47 +09:00
Mike Hommey
a2d3f7bd81 Bug 1256587 - Only check rpmbuild, genisoimage and dsymutil on the targets they are relevant for. r=gps 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
9344631411 Bug 1255197 - Avoid cumulating dependencies in prepare_configure(). r=chmanchester 2016-03-11 09:38:28 +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
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