summaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2016-04-05deps: reintroduce supporting shared c-ares buildsJohan Bergström
As of cc192f0e we've now in sync with upstream which means that we also can allow our users to build against a shared version of c-ares. Note: It is still up to users to make sure that the library version is on par with what Node.js bundles. This "reverts" commit 25fa5c4. PR-URL: https://github.com/nodejs/node/pull/5775 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-03-29build: enable compilation for linuxOneMichael Dawson
Changes to Node core in order to allow compilation for linuxOne. The ../archs/linux32-s390x/opensslconf.h and ../archs/linux64-s390x/opensslconf.h were automatically generated by running make linux-ppc linux-ppc64 in the deps/openssl/config directory as per our standard practice After these changes we still need a version of v8 which supports linuxOne but that will be coming soon in the 5.1 version of v8. Until then with these changes we'll be able to create a hybrid build which pulls in v8 from the http://github/andrewlow repo. PR-URL: https://github.com/nodejs/node/pull/5941 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-03-29etw,build: always generate .rc and .h filesJoão Reis
We can assume the Windows SDK is installed, hence the intermediate files generated from manifest should not be part of the source tree. This also fixes incorrect detection of ctrpp.exe, that should be in the path. PR-URL: https://github.com/nodejs/node/pull/5657 Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
2016-03-25node: --no-browser-globals configure flagFedor Indutny
Introduce `--no-browser-globals` configure flag. With this flag set, following globals won't be exported: - `setTimeout`, `clearTimeout`, `setInterval`, `clearInterval`, `setImmediate`, `clearImmediate` - `console` These are provided by the DOM implementation in browser, so the `--no-browser-globals` flag may be helpful when embedding node.js within chromium/webkit. Inspired-By: https://github.com/atom/node/commit/82e10ce94f3c90234dac187f04a47d4d357ffd31 PR-URL: https://github.com/nodejs/node/pull/5853 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2016-03-04build: correctly detect clang versionStefan Budeanu
Use the "Apple LLVM" version number since the banner has changed in newer versions of Mac OS X, resulting in the obsolete assembler path being used to compile OpenSSL. PR-URL: https://github.com/nodejs/node/pull/5553 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-02-16build: add a help message and removed a TODO.Ojas Shirekar
Add a help message for --systemtap-includes optparse.SUPPRESS_HELP was replaced by help message and the TODO comment was removed Refs: https://github.com/nodejs/node/issues/4607 PR-URL: https://github.com/nodejs/node/pull/5080 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-02-16build: remove redundant TODO in configureOjas Shirekar
Remove a redundant TODO in configure: "# TODO(srl295): EBCDIC should be 'e'" as there is no plan to support EBCDIC systems any time soon. Refs: https://github.com/nodejs/node/issues/4607 PR-URL: https://github.com/nodejs/node/pull/5080 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-02-09build: fix build when python path contains spacesFelix Becker
PR-URL: https://github.com/nodejs/node/pull/4841 Reviewed-By: Benjamin Gruenbaum <inglor@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-01-13build: minor corrections in VTune configure textRod Vagg
PR-URL: https://github.com/nodejs/node/pull/4192 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
2015-12-10configure: fix arm vfpv2Jörg Krause
The gcc -mfpu flag for VFPv2 is vfp, not vfpv2 (there is no vfpv2) [1]. [1] https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html PR-URL: https://github.com/nodejs/node/pull/4203 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-12-09configure: use __ARM_ARCH to determine arm versionJoão Reis
Before this change, configure used processor specific macro defines (like __ARM_ARCH_6M__) to detect the arm processor version. This changes configure to use __ARM_ARCH, that should be defined to the correct version. Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> PR-URL: https://github.com/nodejs/node/pull/4123
2015-12-09configure: respect CC_host in host arch detectionJoão Reis
When cross compiling, GYP uses the variables CC_host and CXX_host to find the host compiler, if they are defined. This ensures that variable is used, if defined, when detecting the host architecture. Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/4117
2015-12-07build: add "--partly-static" build optionsSuper Zheng
A lot of machines don't upgrade libstdc++.so library for a long time, but the new version of node requires the latest GLIBCXX. Using "--fully-static" configurable options may resolve this problem, but the side effect is that the size of the executable file will be increased. Adding "--partly-static" configurable options it will only build libgcc and libstdc++ libraries into executable file, resolve the problem and control the size of file. PR-URL: https://github.com/nodejs/node/pull/4152 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
2015-12-03crypto: fix native module compilation with FIPSStefan Budeanu
Prevent OpenSSL's fipsld from being used to link native modules because this requires the original OpenSSL source to be available after Node's installation. Fixes: https://github.com/nodejs/node/issues/3815 PR-URL: https://github.com/nodejs/node/pull/4023 Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-11-25build,src: add Intel Vtune profiling supportChunyang Dai
This feature supports the Intel Vtune profiling support for JITted JavaScript on IA32 / X64 / X32 platform. The advantage of this profiling is that the user / developer of NodeJS application can get the detailed profiling information for every line of the JavaScript source code. This information will be very useful for the owner to optimize their applications. This feature is a compile-time option. For windows platform, the user needs to pass the following parameter to vcbuild.bat: "enable-vtune" For other OS, the user needs to pass the following parameter to ./configure command: "--enable-vtune-profiling" PR-URL: https://github.com/nodejs/node/pull/3785 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-11-21configure: `v8_use_snapshot` should be `true`Fedor Indutny
`v8_use_snapshot` should be either `true` or `false`, not 1 or 0. PR-URL: https://github.com/nodejs/node/pull/3962 Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2015-11-16build: fix configuring with prebuilt librariesMarkus Tzoe
Fix configure_library() to produce correct LDFLAGS when configuring with prebuilt 3rd-party libraries (libuv, openssl, etc) using `pkg-config' or `--shared-{LIBRARY}-includes=xxx --shared-{LIBRARY}-libpath=xxx'. PR-URL: https://github.com/nodejs/node/pull/3135 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-10-23build: Updates for AIX npm support - part 1Michael Dawson
This PR is the first step enabling support for native modules for AIX. The main issue is that unlike linux where all symbols within the Node executable are available to the shared library for a native module (npm), on AIX the symbols must be explicitly exported. In addition, when the shared library is built it must be linked using a list of the available symbols. This patch covers the changes need to: 1) Export the symbols when building the node executable 2) Generate the file listing the symbols that can be used when building the shared library. For AIX, it breaks the build process into 2 steps. The first builds a static library and then generates a node.exp file which contains the symbols from that library. The second builds the node executable and uses the node.exp file to specify which symbols should be exported. In addition, it save the node.exp file so that it can later be used in the creation of the shared library when building a native module. The following additional steps will be required in dependent projects to fully enable AIX for native modules and are being worked separately: - Updates to node-gyp to use node.exp when creating the shared library for a native module - Fixes to gyp related to copying files as covered in https://codereview.chromium.org/1368133002/patch/1/10001 - Pulling in updated gyp versions to Node and node-gyp - Pulling latest libuv These changes were done to minimize the change to other platforms by working within the existing structure to add the 2 step process for AIX without changing the process for other platforms. PR-URL: https://github.com/nodejs/node/pull/3114 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-10-20build: rectify --link-module help textP.S.V.R
PR-URL: https://github.com/nodejs/node/pull/3379 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-10-08build: Intl: deps: bump ICU to 56.1 (GA)Steven R. Loomis
* ICU 56 was just released yesterday. Update to it. * Notable changes: Unicode 8, CLDR 28, 2-3x number format perf, 20% improvement in Collator startup * more at http://site.icu-project.org/download/56 or in #2917 Also: * cleanup out/**/*.d and deps/icu on "make clean" * cleanup deps/icu on "vcbuild clean" When building from an non-clean directory, it's important to run `make clean` or `vcbuild clean` to remove the existing ICU 55 from the deps path before building. Fixes: https://github.com/nodejs/node/issues/2917 PR-URL: https://github.com/nodejs/node/pull/3281 Reviewed-By: James M Snell <jasnell@gmail.com>
2015-10-08build: make icu download path customizableJohan Bergström
This makes it easier to store icu tarballs outside of the node.js directory which is useful in our CI where git directories are scrubbed between runs. PR-URL: https://github.com/nodejs/node/pull/3200 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rod Vagg <rod@vagg.org>
2015-10-07build: add --with-arm-fpu optionJérémy Lal
Fixes: https://github.com/nodejs/node/issues/2942 PR-URL: https://github.com/nodejs/node/pull/3228 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Brian White <mscdex@mscdex.net>
2015-09-23build: iojs -> nodejs of release-urlbaseP.S.V.R
PR-URL: https://github.com/nodejs/node/pull/3015 Reviewed-By: Rod Vagg <r@va.gg> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
2015-09-23build: fix some typos inside the configure scriptP.S.V.R
PR-URL: https://github.com/nodejs/node/pull/3016 Reviewed-By: Michaël Zasso <mic.besace@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
2015-09-21configure: detect mipsel hostJérémy Lal
Detect mipsel before mips because mipsel has __mips__ flag as well. PR-URL: https://github.com/nodejs/node/pull/2971 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-09-15build: Updates to enable AIX supportMichael Dawson
These are the core changes that allow AIX to compile. There are still some test failures as there are some patches needed for libuv and npm that we'll need to contribute through those communities but this set allows node to be built on AIX and pass most of the core tests The change in js2c is because AIX does not support $ in identifier names. See the discussion/agreement in https://github.com/nodejs/node/issues/2272 PR-URL: https://github.com/nodejs/node/pull/2364 Reviewed-By: Ben Noordhuis <ben@strongloop.com> Reviewed-By: Rod Vagg <r@va.gg>
2015-09-06build: add --enable-asan with builtin leakcheckKarl Skomski
PR-URL: https://github.com/nodejs/node/pull/2376 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-08-28Introduce --link-module to ./configureBradley Meck
- Allows specifying a _third_party_main outside of the node repository - Allows embedders to create custom builtin modules outside of node's repository PR-URL: https://github.com/nodejs/node/pull/2497 Reviewed-By: fishrock123 - Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: jasnell - James M Snell <jasnell@gmail.com> Reviewed-By: evanlucas - Evan Lucas <evanlucas@me.com> Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
2015-08-23node: rename from io.js to nodecjihrig
This commit replaces instances of io.js with Node.js, based on the recent convergence. There are some remaining instances of io.js, related to build and the installer. Fixes: https://github.com/nodejs/node/issues/2361 PR-URL: https://github.com/nodejs/node/pull/2367 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-14build: work around VS2015 issue in ICU <56Steven R. Loomis
The particular ufile.c is from http://bugs.icu-project.org/trac/changeset/37704 and should be OK for ICU 54 and 55. Also, adds general mechanism for floating patches on top of ICU. Fixes: https://github.com/nodejs/node/issues/2279 PR-URL: https://github.com/nodejs/node/pull/2283 Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-13build: Intl: bump ICU4C from 54 to 55Steven R. Loomis
node was using ICU4C 54 ( released 2014-oct-06 ) * Bump to ICU4C 55 ( released 2015-apr-08) * Timezone fixes, translation fixes, bug/performance fixes. * Speed improvements in date formatting * ICU4C 55 changelog: http://site.icu-project.org/download/55 * CLDR 27 changelog: http://cldr.unicode.org/index/downloads/cldr-27 * Retarget the file exclusions from ICU4C 54 to ICU4C 55 * (improves on-disk footprint on some platforms) Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Fixes: https://github.com/nodejs/node/issues/2292 PR-URL: https://github.com/nodejs/node/pull/2293
2015-08-11build: expand ~ in install prefix earlyBen Noordhuis
The install prefix gets written to config.gypi and config.mk. Tildes were expanded in the first file but not in the second one, causing the `make install` target to install files to a directory named `~` in the current working directory. Fixes: https://github.com/nodejs/node/issues/75 PR-URL: https://github.com/nodejs/io.js/pull/2307 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-08-04build: add 'x86' option back in to configureRod Vagg
Accidentally removed @ https://github.com/nodejs/io.js/pull/2124 when ppc support was added PR-URL: https://github.com/nodejs/io.js/pull/2233 Reviewed-By: Johan Bergstrom <bugs@bergstroem.nu> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-08-04build: first set of updates to enable PPC supportMichael Dawson
These are the core changes that allow pLinux BE/LE compile. They don't include all of the changes needed for AIX which will follow once we have pLinux up and running in the builds PR-URL: https://github.com/nodejs/io.js/pull/2124 Reviewed-By: Ben Noordhuis <ben@strongloop.com> Reviewed-By: Johan Bergstrom <bugs@bergstroem.nu>
2015-08-04src: introduce process.release objectRod Vagg
PR-URL: https://github.com/nodejs/io.js/pull/2154 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-06-25build: update build targets for io.jsRod Vagg
PR-URL: https://github.com/nodejs/io.js/pull/1938 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-06-23build: DTrace is enabled by default on darwinEvan Lucas
In configure, the --with-dtrace option only showed that it was true by default on sunos. It is also true by default on darwin. PR-URL: https://github.com/nodejs/io.js/pull/2019 Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-16build: fix pkg-config output parsing in configureBen Noordhuis
Fix parsing of `pkg-config --cflags-only-I`. The configure_library() step sometimes appended a list in a list instead of list of strings to include_dirs. This commit removes the default handling for includes and libpath options. They don't have defaults at the moment and I don't see that changing anytime soon. Fixing the code is more work and because it's dead code anyway, I opted to remove it instead. Fixes: https://github.com/nodejs/io.js/issues/1985 PR-URL: https://github.com/nodejs/io.js/pull/1986 Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-11crypto: support FIPS mode of OpenSSLFedor Indutny
Support building and running with FIPS-compliant OpenSSL. The process is following: 1. Download and verify `openssl-fips-x.x.x.tar.gz` from https://www.openssl.org/source/ 2. Extract source to `openssl-fips` folder 3. ``cd openssl-fips && ./config fipscanisterbuild --prefix=`pwd`/out`` (NOTE: On OS X, you may want to run ``./Configure darwin64-x86_64-cc --prefix=`pwd`/out`` if you are going to build x64-mode io.js) 4. `make -j && make install` 5. Get into io.js checkout folder 6. `./configure --openssl-fips=/path/to/openssl-fips/out` 7. Build io.js with `make -j` 8. Verify with `node -p "process.versions.openssl"` (`1.0.2a-fips`) Fix: https://github.com/joyent/node/issues/25463 PR-URL: https://github.com/nodejs/io.js/pull/1890 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-06-01build: avoid passing empty strings to build flagsJohan Bergström
While checking the return values from icu-i18n, we didn't validate the content before passing it to the build system. Also make cflags parsing more robust by avoiding empty strings. Fixes: https://github.com/nodejs/io.js/issues/1787 PR-URL: https://github.com/nodejs/io.js/pull/1789 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-21build: refactor pkg-config for shared librariesJohan Bergström
Improve detection and usage of pkg-config. This simplifies the setup of all our shared libraries. If pkg-config is installed on the host and `--shared` flags are passed by the user, we try to get defaults from pkg-config instead of using the default provided by configure. PR-URL: https://github.com/nodejs/io.js/pull/1603 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-13build: move --with-intl to intl optgroupJohan Bergström
PR-URL: https://github.com/iojs/io.js/pull/1680 Reviewed-By: Rod Vagg <rod@vagg.org>
2015-05-11build: re-enable V8 snapshotsTrevor Norris
Snapshots had been previously disabled because of a security vunerability. This has been fixed (ref: https://github.com/iojs/io.js/issues/1631#issuecomment-100101375) Also, re-enable snapshots for ARMv6 builds. There were previous build issues that have been fixed. Fixes: https://github.com/iojs/io.js/issues/1631 PR-URL: https://github.com/iojs/io.js/pull/1663 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-01build: Use option groups in configure outputJohan Bergström
Minor edits to current build flags and its help texts as well as grouping shared and i18n options into separate option groups. Also, validate i18n default/logic similar to how we treat other options. `--download` isn't really intl-specific but is only used for that purpose which is why it's grouped similarly. PR-URL: https://github.com/iojs/io.js/pull/1533 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Steven R. Loomis <srl@icu-project.org>
2015-04-17build: fix logic for shared library flagsJeremiah Senkpiel
Fixes a regession introduced in fd90b33b94e6ce64fde193deca2e2aa6c774f558 PR-URL: https://github.com/iojs/io.js/pull/1454 Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-04-15build: fix error message in configureShigeki Ohtsu
Replace Node.js to io.js in error messages. Fixes: https://github.com/iojs/io.js/issues/589 PR-URL: https://github.com/iojs/io.js/pull/1389 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-15build: enable ssl support on arm64Shigeki Ohtsu
Fixes: https://github.com/iojs/io.js/issues/589 PR-URL: https://github.com/iojs/io.js/pull/1389 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-15deps, build: add support older assemblerShigeki Ohtsu
Asm files for OpenSSL depends on the version of assembler. We provide two sets of asm files, one is asm_latest(avx2 and addx supported) and the other asm_obsolute(without avx1/2 and addx) The asm_latest needs the version of gas >= 2.23, llvm >= 3.3 or ml64 >= 12 as defined in https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-x86_64.pl#L112-L129 , otherwise asm_obsolute are used. We take MSVS_VERSION in gyp as a version check of assembler on Windows because the path to ml64.exe was set after configure in vcbuild.bat and executing ml64.exe was failed in configure. Fixes: https://github.com/iojs/io.js/issues/589 PR-URL: https://github.com/iojs/io.js/pull/1389 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-14build: validate options passed to configureJohan Bergström
Some variables like dest arch or os are now validated to avoid build issues. Move defaults to optparse default while at it. PR-URL: https://github.com/iojs/io.js/pull/1335 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-14build: Remove deprecated flagsJohan Bergström
Remove flags that were deprecated in f31502926 (soon 3 years ago). PR-URL: https://github.com/iojs/io.js/pull/1407 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>