gecko-dev/build
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
..
autoconf Bug 1469790 - Build for NEON by default when targetting Android arm. r=nalexander 2018-06-27 08:07:27 +09:00
build-clang Bug 1471491 - Add lld to the mac clang toolchain. r=froydnj 2018-06-27 13:33:23 +09:00
clang-plugin Bug 1470055 - Lift libstdc++ requirement relaxation when building clang-plugin. r=froydnj 2018-06-21 11:45:30 +09:00
compare-mozconfig Bug 1471620 - Skip python-tests locally that don't run with python 3 in CI r=davehunt 2018-06-27 11:10:02 -04:00
debian-packages Bug 1466746 - Debian packages for python-zstandard; r=glandium 2018-06-04 23:10:59 -07:00
docs Backed out 10 changesets (bug 1446809) for failures in testing/mozbase/moztest/tests/test.py on a CLOSED TREE 2018-03-20 17:00:04 +02:00
macosx Bug 1429056 - Wrap llvm-dsymutil calls on automation. r=ted 2018-01-19 10:20:41 +09:00
mobile Bug 1472032 - Increase Android browser time-out to 110 minutes; r=me,a=test-only 2018-06-29 16:05:58 -06:00
moz.configure Bug 1471028 - Detect Node.js in configure; r=glandium 2018-07-03 21:24:58 +00:00
package/mac_osx
pgo bug 1463425 - Fix flake8/pep8 issue by hand in build/ r=gps 2018-05-21 23:58:19 +02:00
pymake
sanitizers Change the sanitizer blacklist files to use *nix line endings. No bug, r=lumpy 2018-03-06 15:17:55 -08:00
sparse-profiles Bug 1468751 - Add images in documentation sparse checkout r=gps 2018-06-15 00:00:05 +00:00
tests/cram Bug 1411462 - Abort when I/O error seen; r=glandium 2017-11-09 20:44:10 -08:00
unix Merge mozilla-inbound to mozilla-central. a=merge 2018-06-27 13:26:49 +03:00
valgrind bug 1463425 - Fix flake8/pep8 issue by hand in build/ r=gps 2018-05-21 23:58:19 +02:00
win32 bug 1463425 - Fix flake8/pep8 issue by hand in build/ r=gps 2018-05-21 23:58:19 +02:00
win64 Bug 1459026: Make Windows ASan builds use lld-link. r=froydnj 2018-05-04 14:53:04 -04:00
.gdbinit_python.in Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.lldbinit.in
__init__.py
appini_header.py Backed out changeset 602bdd9d5a96 (bug 1461851) for linting failures on /checkouts/gecko/build/appini_header.py on a CLOSED TREE 2018-05-30 19:03:50 +03:00
application.ini.in
automation.py.in Bug 1451159 - [testing/profiles] Store profile data in actual profile look alike folders r=gbrown 2018-04-19 16:12:26 -04:00
binary-location.mk
buildconfig.py Bug 1406650 - Make build/*.py and a few other files flake8 compatible and add them to the list of files to check r=chmanchester 2017-10-07 16:45:22 +02:00
cargo-linker Bug 1418598 - Make cargo-linker properly handle quoted strings in MOZ_CARGO_WRAP_LD and MOZ_CARGO_WRAP_LDFLAGS. r=ted 2017-11-18 20:24:12 +09:00
checksums.py Bug 1455143 - Refactor checksumming to occur after upload.py; r=ted 2018-04-18 16:24:03 -07:00
defines.sh
dumbmake-dependencies Bug 1363061 - Rename toolkit/components/jsdownloads to toolkit/components/downloads. r=mak 2018-03-06 17:40:59 +00:00
gecko_templates.mozbuild Bug 1423802 - Remove the dummy fallible library. r=nalexander 2017-12-07 12:16:50 +09:00
gen_automation.py Bug 1372381 - Generate automation.py with GENERATED_FILES rather than Makefile.in r=mshal 2018-04-30 11:08:59 -07:00
gen_test_backend.py Bug 1345109 - Delete 'JS_STANDALONE' from EmptyConfig when generating test metadata, r=mshal 2017-03-07 10:56:22 -05:00
gen_test_packages_manifest.py Bug 1455872 - Build support for the new raptor performance framework; r=gps 2018-05-02 16:42:41 -04:00
genrc.sh
gn.mozbuild Backed out 5 changesets (bug 1393119) for bustage on linux in /builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers/alsa/asoundlib.h:3:15: alsa/asoundlib.h missing on a CLOSED TREE 2018-01-24 13:00:42 +02:00
gyp.mozbuild Backed out changeset cbf0895981cd (bug 1270217) for turning bug 1405083 into permafail. a=backout 2018-06-03 13:08:10 +03:00
gyp_base.mozbuild Bug 1357323 - Remove support for gonk in the build system. r=gps 2017-04-18 16:56:09 +09:00
mach_bootstrap.py Bug 1468394 mach python-safety command for checking requirements files r=mtabara,tomprince 2018-06-29 16:56:51 +00:00
moz-automation.mk Bug 1455120 - Prefix output from automation tiers; r=mshal 2018-04-18 14:30:05 -07:00
moz.build Bug 1372381 - Generate automation.py with GENERATED_FILES rather than Makefile.in r=mshal 2018-04-30 11:08:59 -07:00
mozconfig.artifact Bug 1373150 - Disable compile environment on l10n builds. r=Callek 2017-06-15 15:06:45 +09:00
mozconfig.artifact.automation Bug 1412057 - Do not attempt to enable the clang plugin in mozconfigs during artifact builds on try. r=nalexander 2017-10-26 13:04:54 -07:00
mozconfig.automation Backed out 2 changesets (bug 1436662) for build bustages on /installer/windows. CLOSED TREE 2018-04-17 19:08:21 +03:00
mozconfig.cache Bug 1237182: get rid of oauth.txt r=mtabara 2018-05-25 17:43:15 -04:00
mozconfig.clang-cl Bug 1343713 - Avoid mozconfig failures when clang-cl/msvc are not present. r=ted 2017-03-01 11:10:14 +09:00
mozconfig.comm-support Bug 1410475: Add support for detecting whether c-c is topdir in mozconfigs; r=mshal 2017-10-19 13:56:13 -06:00
mozconfig.common Bug 1468362: Remove ADDON_SINGING buildconfig setting. r=aswan 2018-06-12 13:56:58 -04:00
mozconfig.common.override
mozconfig.lld-link Bug 1444429: Add a build/mozconfig.lld-link for automation. r=froydnj DONTBUILD 2018-03-09 12:25:58 -05:00
mozconfig.no-compile Bug 1471486 part 1 - Detect rustfmt like other rust executables. r=froydnj 2018-06-27 15:27:43 +10:00
mozconfig.rust Bug 1471486 part 1 - Detect rustfmt like other rust executables. r=froydnj 2018-06-27 15:27:43 +10:00
mozconfig.stylo Bug 1384258 - Build Stylo by default. r=chmanchester 2017-07-25 14:29:52 -07:00
mozconfig.vs-common
mozconfig.win-common Backed out 2 changesets (bug 1436662) for build bustages on /installer/windows. CLOSED TREE 2018-04-17 19:08:21 +03:00
qemu-wrap
rebuild-backend.mk Bug 1320194 - Use 'wildcard' instead of dummy rules when re-generating build backends, r=glandium 2017-02-10 16:29:29 -05:00
subconfigure.py Bug 1466401 - Re-run configure in js/src based on dependencies generated by python configure. r=mshal 2018-06-07 15:50:06 -07:00
submit_telemetry_data.py Bug 1406650 - Make build/*.py and a few other files flake8 compatible and add them to the list of files to check r=chmanchester 2017-10-07 16:45:22 +02:00
telemetry-schema.json
templates.mozbuild Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted 2018-05-22 20:36:39 -07:00
test_templates.mozbuild
update-settings.ini
upload.py Bug 1455127 - Remove --package from upload.py; r=ted 2018-04-19 09:31:00 -07:00
upload_generated_sources.py Bug 1406650 - Make build/*.py and a few other files flake8 compatible and add them to the list of files to check r=chmanchester 2017-10-07 16:45:22 +02:00
variables.py Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood 2018-01-31 14:32:08 -05:00
virtualenv_packages.txt Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal 2018-06-29 15:37:31 +01:00
windows_toolchain.py Bug 1424281 - Use Visual Studio 2017 15.6.0 for Windows builds. r=froydnj 2018-03-12 19:24:44 -04:00