summaryrefslogtreecommitdiff
path: root/configure.py
Commit message (Collapse)AuthorAgeFilesLines
* build: use zoslib_include_dir provided by node-gypalexcfyung2022-04-231-1/+2
| | | | | | | | The path is based on the zoslib gyp path passed to configure.py via --static-zoslib-gyp arg. PR-URL: https://github.com/nodejs/node/pull/41713 Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
* build: remove broken x32 arch supportBen Noordhuis2022-04-231-1/+1
| | | | | | | | | | | | | | | | | | I added support for x32 back in 2014 but it's been in a state of disrepair ever since, not in the least because it was never a fully supported architecture in upstream V8. V8 dropped x32 support entirely in or around 2018 so the removal from Node's build system is long overdue. Refs: https://github.com/nodejs/node/issues/40576 PR-URL: https://github.com/nodejs/node/pull/41905 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
* build: add --v8-enable-hugepage flagDaoming Qiu2022-04-201-1/+10
| | | | | | PR-URL: https://github.com/nodejs/node/pull/41487 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* build: fix node build failures in WSL UbuntuMrJithil2022-01-311-2/+2
| | | | | | | | | | | | | | | | | | | On WSL systems, `./configure` causes appending of carriage return (`\r\r`) as leftover and will be appended to the `gyp_args`. Therefore, it will lead to unhandled exceptions from the `./configure` execution. Excluded the empty or whitespace item from the `args` array to fix the issue. Fixes: https://github.com/nodejs/node/issues/41459 PR-URL: https://github.com/nodejs/node/pull/41476 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
* build: start build on z/OSalexcfyung2022-01-311-1/+34
| | | | | | | | | | | | Update configure.py, Makefile, and common.gypi to get the build started on z/OS. Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com> Co-authored-by: Wayne Zhang <zsw007@gmail.com> PR-URL: https://github.com/nodejs/node/pull/41273 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org>
* build: use list for mutable retval rather than tupleRich Trott2022-01-311-3/+3
| | | | | | | | | | We define `retval` as a tuple and then replace the tuple by "appending" items with `+=` but that actually creates a new tuple every time. Because it is intended to be mutable, use a list instead, then return a tuple from the function, as it should be immutable outside the function. PR-URL: https://github.com/nodejs/node/pull/41372 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
* build: remove Python 2 workaroundRich Trott2022-01-311-7/+1
| | | | | | | | | | | | Remove workaround for Python 2. I confirmed that V8 build still works by running `./configure.py && make v8`. PR-URL: https://github.com/nodejs/node/pull/41357 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
* build: add `--without-corepack`Jonah Snider2022-01-311-0/+7
| | | | | | | | PR-URL: https://github.com/nodejs/node/pull/41060 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
* build: pass a tuple of alternatives to str.endswith()Christian Clauss2021-10-041-1/+1
| | | | | | | | | | | | | | | https://docs.python.org/3/library/stdtypes.html#str.endswith One function call should be faster than three function calls per file. PR-URL: https://github.com/nodejs/node/pull/40017 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Shingo Inoue <leko.noor@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Darshan Sen <raisinten@gmail.com>
* build: override python executable path on configurelegendecas2021-08-021-0/+4
| | | | | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/39465 Fixes: https://github.com/nodejs/node/issues/39408 Fixes: https://github.com/nodejs/node/issues/39456 Reviewed-By: Zeyu Yang <himself65@outlook.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
* build: fix `host_arch_cc()` for AIX/IBM iRichard Lau2021-07-291-6/+1
| | | | | | | | | | | | | | | | | | | | The AIX/IBM i branch in `host_arch_cc()` that hardcodes the compiler executable to `gcc` precludes picking up either `CC_host` or `CC` environment variables (if set) as is done on other platforms. On an AIX/IBM i platform where the compiler is, e.g. `gcc-10` instead of just `gcc`, the current check will fail to detect the host architecture and incorrectly default to `ia32`. Removing the AIX/IBM i specific branch will follow the same logic as on the other platforms: 1. The value, if set, of the `CC_host` environment variable. 2. Otherwise, if set, the value of the `CC` environment variable. 3. `gcc` (`cc` if on macOS). PR-URL: https://github.com/nodejs/node/pull/39481 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Ash Cripps <acripps@redhat.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Michael Dawson <midawson@redhat.com>
* build: add `library_files` to gyp variableshimself652021-07-171-0/+4
| | | | | | | | | | | | | GYP uses the system path when parsing node.gyp; However, if system python is different from our gyp runtime python, like '2.7', gyp would crash. Co-authored-by: Michaël Zasso <targos@protonmail.com> PR-URL: https://github.com/nodejs/node/pull/39293 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
* build: add riscv into host_arch_ccLu Yahan2021-07-111-0/+7
| | | | | | | | PR-URL: https://github.com/nodejs/node/pull/39004 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <midawson@redhat.com>
* tools: update V8 gypfiles for 9.1Michaël Zasso2021-06-141-0/+1
| | | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/38273 Backport-PR-URL: https://github.com/nodejs/node/pull/38991 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Mary Marchini <oss@mmarchini.me>
* build: allow LTO with Clang 3.9.1+Jesse Chan2021-05-311-14/+23
| | | | | | | | | | | | Bug: #38568 Test: manual, - arm64-apple-darwin20.5.0 / Apple clang version 12.0.5 (clang-1205.0.22.9) - x86_64-pc-linux-gnu / Ubuntu clang version 13.0.0-++20210520052624+48780527dd68-1~exp1~20210520153429.417 Signed-off-by: Jesse Chan <jc@linux.com> PR-URL: https://github.com/nodejs/node/pull/38751 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
* build,src,test,doc: enable FIPS for OpenSSL 3.0Daniel Bevenius2021-05-171-0/+6
| | | | | | | | | | | | | | | | | | This commit enables FIPS when Node.js is dynamically linking against quictls/openssl-3.0. BUILDING.md has been updated with instructions to configure and build quictls/openssl 3.0.0-alpha-15 and includes a couple of work-arounds which I believe are fixed in alpha-16 and can be removed when alpha-16 is available. The information might be a little too detailed/verbose but I thought it would be helpful to at least initially include all the steps. PR-URL: https://github.com/nodejs/node/pull/38633 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
* build: add workaround for V8 buildsRichard Lau2021-05-171-1/+6
| | | | | | | | | | | | | V8's build toolchain is not compatible with Python 3 and the CI job that tests V8 needs to be run with Python 2. Add a fallback to `find_executable` from `distutils.spawn` to allow the configure script to run in the V8 test job. PR-URL: https://github.com/nodejs/node/pull/38632 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
* build: remove dependency on `distutils.spawn`Richard Lau2021-05-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | Debian based packages of Python 3 do not include `distutils.spawn` and require an additional apt package to be installed (`python3-distutils`). Replace use of `distutils.spawn` with `shutil.which`, available in all versions of Python currently allowed by our configure scripts. For the `configure` script only, fall back to `distutils.spawn` to allow friendlier error messages when run on older unsupported versions of Python (e.g. 2.7). `configure.py` also uses `distutils.version` -- this appears to be available in Debian packaged Python 3 without installing `python3-distutils` so has been left as-is. PR-URL: https://github.com/nodejs/node/pull/38600 Refs: https://github.com/nodejs/node/issues/30189 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: James M Snell <jasnell@gmail.com>
* build: remove support for Python 2Christian Clauss2021-04-161-1/+1
| | | | | | | | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/36691 Fixes: https://github.com/nodejs/node/issues/25789 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Zeyu Yang <himself65@outlook.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Beth Griggs <bgriggs@redhat.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
* build: add riscv64 configureluyahan2021-04-141-1/+1
| | | | | | | | | | | | | v8 had been add riscv64 backend, so i open this pr to add riscv64 configure. Refs: https://github.com/nodejs/node/issues/37856 PR-URL: https://github.com/nodejs/node/pull/37980 Fixes: https://github.com/nodejs/node/issues/37856 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* build: warn for gcc versions earlier than 8.3.0Richard Lau2021-03-281-2/+2
| | | | | | | | | | | | | Update the warning threshold to match the minimum supported version of gcc. Builds can still proceed, but are not guaranteed to work. PR-URL: https://github.com/nodejs/node/pull/37935 Refs: https://github.com/nodejs/node/pull/37871 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
* deps: add ngtcp2 and nghttp3James M Snell2021-03-191-0/+48
| | | | | | | | | | | | | | | | | | | | Reintroduces the ngtcp2 and nghttp3 dependencies, building those by default if the vendored-in openssl (with QUIC support) is used or the shared openssl defines `OPENSSL_INFO_QUIC`. Upates the version metadata to reflect whether ngtcp2 and nghttp3 are present. ngtcp2 as of https://github.com/ngtcp2/ngtcp2/commit/2381f7f7b633602d83ad3de997153df730b1f649 nghttp3 as of https://github.com/ngtcp2/nghttp3/commit/66ad30f0a8f5164f87fbc83b37628f8f6d9ba608 Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/37682 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
* tools: partially detect quic support in shared_opensslJames M Snell2021-03-191-0/+5
| | | | | | | | | | | | | If the shared openssl does not have the `OPENSSL_INFO_QUIC` define, then it definitely does not have the QUIC apis. This is only a partially accurate check because it does not detect if the shared openssl was actually *built* without the OPENSSL_NO_QUIC define set. Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/37682 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
* quic: remove quicJames M Snell2021-01-301-60/+0
| | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/37067 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
* tools: revise line in configure.py for clarityRich Trott2020-12-221-2/+1
| | | | | | | | | | | | | | | | | * Replace unused identifier with Python convention `_`. * Remove unneeded parentheses. * Remove line-wrapping. I confirmed that this doesn't change the output by running `./configure --shared-zlib` and confirming that it created the same `common.gypi` with and without these changes. The code changed here doesn't run unless there is a `--shared-*` flag. PR-URL: https://github.com/nodejs/node/pull/36551 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
* tools: remove unused variable in configure.pyRich Trott2020-12-171-2/+0
| | | | | | PR-URL: https://github.com/nodejs/node/pull/36525 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
* build,lib,test: change whitelist to allowlistMichaël Zasso2020-12-101-1/+1
| | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/36406 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
* build: refactor configure.py to use argparseraisinten2020-11-121-148/+202
| | | | | | | | | | | | Refs: https://github.com/nodejs/node/pull/26725 Fixes: https://github.com/nodejs/node/issues/29813 Refs: https://github.com/nodejs/node/pull/29814 PR-URL: https://github.com/nodejs/node/pull/35755 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Christian Clauss <cclauss@me.com>
* tools: don't print gold linker warning w/o flagMyles Borins2020-11-071-1/+2
| | | | | | | | | | | | | | | Currently warning is printed called even if the selection ordering flag has not been passed. Only print warning if `--limit-configure-section-file` has been passed to configure. Fixes: https://github.com/nodejs/node/issues/35872 PR-URL: https://github.com/nodejs/node/pull/35955 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
* build: add support for section orderingGabriel Schulhof2020-09-301-0/+32
| | | | | | | | | | | | | | | | | | Adds support for using a section ordering file with the gold linker. This makes it possible to reorder functions in a build to optimize for a specific workload. `hfsort` is a tool that can be used to generate such a file from perf- recorded last branch record (LBR) data by running Node.js as `node --perf-basic-prof`. Refs: https://github.com/facebook/hhvm/tree/9966d482c19c6120c621c6f3896525fb19fb3842/hphp/tools/hfsort Refs: https://software.intel.com/content/www/us/en/develop/articles/runtime-optimization-blueprint-IA-optimization-with-last-branch-record.html Refs: https://github.com/nodejs/node/pull/16891/ Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com> PR-URL: https://github.com/nodejs/node/pull/35272 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
* build: remove --build-v8-with-gn configure optionYang Guo2020-09-231-18/+0
| | | | | | | | | | | | This option is now outdated and not used any longer. PR-URL: https://github.com/nodejs/node/pull/27576 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* build: add build flag for OSS-Fuzz integrationdavkor2020-08-151-0/+8
| | | | | | | | | | | Refs: https://github.com/google/oss-fuzz/pull/3860 Fixes: https://github.com/nodejs/node/issues/33724 PR-URL: https://github.com/nodejs/node/pull/34761 Fixes: https://github.com/nodejs/node/issues/33724 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com>
* build: set --v8-enable-object-print by defaultMary Marchini2020-08-121-1/+1
| | | | | | | | | | | | The flag improves the experience of debugging V8 with native debuggers. It doens't incur performance penality, the only downside is an increase in binary size by approximately 248 Kb. Ref: https://github.com/nodejs/node/pull/32834 PR-URL: https://github.com/nodejs/node/pull/34705 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>
* build: add flag to build V8 with OBJECT_PRINTMary Marchini2020-08-091-0/+7
| | | | | | | | | | | | | | | Add a configure flag to build V8 with `-DOBJECT_PRINT`, which will expose auxiliar functions to inspect heap objects using native debuggers. Fixes: https://github.com/nodejs/node/issues/32402 Signed-off-by: Mary Marchini <mmarchini@netflix.com> PR-URL: https://github.com/nodejs/node/pull/32834 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* configure: account for CLANG_VENDOR when checking for llvm versionNathan Blair2020-06-241-1/+1
| | | | | | | | Fixes: https://github.com/nodejs/node/issues/29536 PR-URL: https://github.com/nodejs/node/pull/33860 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
* build: configure byte order for mips targetsBen Noordhuis2020-06-241-2/+4
| | | | | | | | | | | | | The build defaulted to the byte order of the host system but that can be different from the endianness of the target system. Refs: https://github.com/nodejs/node/issues/33703#issuecomment-644639158 PR-URL: https://github.com/nodejs/node/pull/33898 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
* quic: initial QUIC implementationJames M Snell2020-06-161-0/+57
| | | | | | | | | | | | | | | Co-authored-by: Anna Henningsen <anna@addaleax.net> Co-authored-by: Daniel Bevenius <daniel.bevenius@gmail.com> Co-authored-by: gengjiawen <technicalcute@gmail.com> Co-authored-by: James M Snell <jasnell@gmail.com> Co-authored-by: Lucas Pardue <lucaspardue.24.7@gmail.com> Co-authored-by: Ouyang Yadong <oyydoibh@gmail.com> Co-authored-by: Juan Jos<C3><A9> Arboleda <soyjuanarbol@gmail.com> Co-authored-by: Trivikram Kamat <trivikr.dev@gmail.com> Co-authored-by: Denys Otrishko <shishugi@gmail.com> PR-URL: https://github.com/nodejs/node/pull/32379 Reviewed-By: Anna Henningsen <anna@addaleax.net>
* src,build: add --openssl-default-cipher-listDaniel Bevenius2020-06-081-0/+10
| | | | | | | | | | | | | | | | | | | This commit adds a configuration option named openssl-default-cipher-list which takes a colon separated string specifying ciphers that should be used as the default ciphers instead of the ones defined in node_constants. The motivation for this is a use case where Fedora/RHEL would like to be able to specify a default cipher in the format PROFILE=SYSTEM. This would enable Fedora/RHEL to have a system wide security level for all applications. PR-URL: https://github.com/nodejs/node/pull/33708 Refs: https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/ Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
* build: add --v8-lite-mode flagMaciej Kacper Jagiełło2020-05-301-0/+9
| | | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/33541 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
* build: fix makefile script on windowsThomas2020-05-251-0/+4
| | | | | | | | | | | | | | | | | | On Windows there is a program "find.exe" located in C:\Windows\System32, which is usually in the PATH before MSYS version of that program (required for running makefile). The Windows version of the program uses different CLI syntax, which results in errors like "File not found - *node_modules*" This commit specifies the full path to the program, which is also properly handled by MSYS on Windows. PR-URL: https://github.com/nodejs/node/pull/33136 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
* build,win: add support for MSVC cross-compilationRichard Townsend2020-05-191-0/+2
| | | | | | | | | | | * Fixes cases in icutools where commands were issued without .exe * Changes to build scripts * Add /fp:strict flag so that MSVC's floating point behaves correctly * Enables marmasm PR-URL: https://github.com/nodejs/node/pull/32867 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: João Reis <reis@janeasystems.com>
* build: add --error-on-warn configure flagDaniel Bevenius2020-04-301-0/+6
| | | | | | | | | | | | | | | This commit adds a configuration time flag named error-on-warn: $ ./configure --help | grep -A1 error-on-warn --error-on-warn Turn compiler warnings into errors for node core sources. The motivation for this is that CI jobs can use this flag to turn warnings into errors. PR-URL: https://github.com/nodejs/node/pull/32685 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matheus Marchini <mat@mmarchini.me>
* build: add configure flag to build V8 with DCHECKsAnna Henningsen2020-04-141-0/+7
| | | | | | | | | | | | | Add a configure flag that enables building V8 with `-DDEBUG`, in particular with debug checks enabled and with runtime debugging features, e.g. inspecting JS objects from debuggers, enabled. PR-URL: https://github.com/nodejs/node/pull/32787 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* build: log detected compilers in --verbose modeRichard Lau2020-04-091-2/+8
| | | | | | | | | | | | | | Log the versions of the detected compilers when the configure script is run with `--verbose` to help verify which compiler is being used if multiple toolchains are installed on the system. Signed-off-by: Richard Lau <riclau@uk.ibm.com> PR-URL: https://github.com/nodejs/node/pull/32715 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
* build: expand ASAN acronym in configure helpSam Roberts2020-03-201-1/+1
| | | | | | | | | | | | | There is lots of space to expand this not-so-well-known acronym in the option usage message. PR-URL: https://github.com/nodejs/node/pull/32325 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
* build: make --without-report a no-opcjihrig2020-03-151-4/+3
| | | | | | | | | | | | | | This commit makes the configure --without-report flag a no-op. This commit also updates a test that depends on the report CLI flags being conditionally present. PR-URL: https://github.com/nodejs/node/pull/32242 Fixes: https://github.com/nodejs/node/issues/26293 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
* build: allow use of system-installed brotliAndré Draszik2020-03-091-0/+22
| | | | | | | | | | | | | | | | | | | | brotli is available as a shared library since 2016, so it makes sense to allow its use as a system-installed version. Some of the infrastructure was in place already (node.gyp and node.gypi), but some bits in the configure script here were missing. Add them, keeping the default as before, to use the bundled version. Refs: https://github.com/google/brotli/pull/421 Signed-off-by: André Draszik <git@andred.net> PR-URL: https://github.com/nodejs/node/pull/32046 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
* build: allow passing multiple libs to pkg_configAndré Draszik2020-03-091-1/+5
| | | | | | | | | | | | | | | | | | Sometimes it's necessary to pass multiple library names to pkg-config, e.g. the brotli shared libraries can be pulled in with pkg-config libbrotlienc libbrotlidec Update the code to handle both, strings (as used so far), and lists of strings. Signed-off-by: André Draszik <git@andred.net> PR-URL: https://github.com/nodejs/node/pull/32046 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
* build: add configure option to debug only Node.js part of the binaryAnna Henningsen2020-02-081-0/+6
| | | | | | | | | | | | | | | | | Building Node.js with `--debug` takes a long time and generates binaries that can be hard to work with due to their size, in particular because debug builds of V8 are large. Sometimes, it’s sufficient to build the Node.js parts with native debugging options enabled. Add an option for that. PR-URL: https://github.com/nodejs/node/pull/31644 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com>
* build: enable loading internal modules from diskGus Caplan2020-01-311-6/+16
| | | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/31321 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>