gecko-dev/build/moz.configure
Gregory Szorc 1843095b29 Bug 1471028 - Detect Node.js in configure; r=glandium
The intent is for the build system to soon require Node.js to build
Firefox. But we aren't ready to make Node.js a build requirement
just yet.

The goal of this commit is to implement configure detection for
Node.js so that we can a) work out detection bugs b) give people a
means to validate system compatibility *before* we throw the switch to
require Node.js.

This commit introduces configure logic for finding a Node.js
executable, resolving its version, and validating its suitability.

By default, if Node.js cannot be found or there is an error resolving
its version, we print some warning messages and move on.

If --enable-nodejs is used (not the default), errors are raised
if Node.js cannot be found or its version isn't suitable.

Once we require Node.js, the added code can likely be simplified.
When writing the code, I went out of my way to make failures as
non-fatal as possible. e.g. normally we'd say that failures to run
`node --version` would be fatal. I'm purposefully trying to not have
this configure check break anyone's environment, even if failure
occurs. Again, the goal is to introduce the configure checks first
in a non-fatal way such that we can debug failures so the flag day
transition is simpler.

Differential Revision: https://phabricator.services.mozilla.com/D1818

--HG--
extra : moz-landing-system : lando
2018-07-03 21:24:58 +00:00
..
.flake8
android-ndk.configure Bug 1428182 - 1. Support unified headers for Android builds; r=nalexander 2018-01-30 14:08:22 -05:00
checks.configure
compile-checks.configure Bug 1426555 - Allow to add host compiler flags from python configure. r=chmanchester 2017-12-21 11:11:22 +09:00
compilers-util.configure
flags.configure Bug 1426555 - Allow to add host compiler flags from python configure. r=chmanchester 2017-12-21 11:11:22 +09:00
headers.configure Bug 1428182 - 2. Check both quota.h and quotactl(); r=glandium 2018-01-30 14:08:22 -05:00
init.configure Bug 1466211 - Detect if we are running in a virtual environment; r=chmanchester 2018-06-15 18:05:20 -07:00
java.configure Bug 1440428 - Remove Proguard JAR entirely. r=jchen 2018-02-26 11:37:41 -08:00
keyfiles.configure
memory.configure Bug 1420350 Enable jemalloc on MinGW r=glandium 2018-03-07 10:49:28 -06:00
node.configure Bug 1471028 - Detect Node.js in configure; r=glandium 2018-07-03 21:24:58 +00:00
old.configure Bug 1460379 - remove --with-pthreads option; r=ted.mielczarek 2018-05-09 17:26:31 -04:00
pkg.configure
rust.configure Bug 1447116 - Require rust 1.26. r=froydnj 2018-06-26 18:05:23 +09:00
toolchain.configure Bug 1469804 - Disable Rust incremental compilation when code coverage is enabled. r=ted 2018-06-20 11:16:43 +01:00
tup.configure Bug 1471425 - Require rustc 1.28 in configure when building with Tup. r=mshal 2018-06-26 20:32:16 -07:00
util.configure
warnings.configure Bug 1465060 - Part 2: Don't suppress pessimizing-move and self-move warnings r=froydnj 2018-06-01 14:09:30 +02:00
windows.configure Bug 1462616 - Unblock Windows 10 April 2018 Update SDK with clang-cl. r=ted 2018-05-18 21:20:23 +09:00