summaryrefslogtreecommitdiff
path: root/deps/openssl/config
AgeCommit message (Collapse)Author
2018-08-16deps: update archs files for OpenSSL-1.1.0iShigeki Ohtsu
`cd deps/openssl/config; make` updates all archs dependant files. PR-URL: https://github.com/nodejs/node/pull/22318 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2018-04-10deps: update archs files for OpenSSL-1.1.0Shigeki Ohtsu
`cd deps/openssl/config; make` updates all archs dependant files. Fixes: https://github.com/nodejs/node/issues/4270 PR-URL: https://github.com/nodejs/node/pull/19794 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-04-10deps: add gyp, header and Makefile for openssl110Shigeki Ohtsu
This commit has a new binding scheme in builing OpenSSL-1.1.0 library with Node. OpenSSL-1.1.0 uses a new build system with perl for various supported platforms. See `Configurations/README` and `Configurations/README.design` in the OpenSSL source for details. In order to build OpenSSL library without perl in the build of Node for various supported platforms, platform dependent files (e.g. asm and header files ) are pre-generated and stored into the `config/arch` directory. - Makefile and generate_gypi.pl Makefile has supported platform list and generates and copies platform dependent files (e.g. asm files) into arch directory with generate_gypi.pl. Platform dependent gypi files also created obtaining build information from `configdata.pm` that is generated with `Configure` in the OpenSSL build system. For Windows, `Configure` generates makefile that is only available to nmake command. Since nmake is not supported in Linux, `Makefile_VC-WIN32` and `Makefile_VC-WIN64A` are made created by hand for the use of GNU make. If make rules or targets are changed in the version up of OpenSSL, they should be also updated. The following files are used in upgrading openssl-1.1.0. - gyp and gypi files openssl.gyp has two targets of openssl and openssl-cli referred from node.gyp. They includes asm and no_asm gypi files with arch dependent gypi according to its build options and platforms . The gyp data which is common with asm and no_asm are stored in openssl_common.gypi. - header files bn_conf.h, dso_conf.h and opensslconf.h are platform dependent in the OpenSSL sources. They are replaced with *.h.tmpl files to include the file in the `../../../config/` and referred to each arch files that depends on asm and no-asm option. Fixes: https://github.com/nodejs/node/issues/4270 PR-URL: https://github.com/nodejs/node/pull/19794 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-04-10deps: delete files of OpenSSL-1.0.2Shigeki Ohtsu
They are no longer necessary. Fixes: https://github.com/nodejs/node/issues/4270 PR-URL: https://github.com/nodejs/node/pull/19794 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2017-08-30build: add NetBSD support to opensslconf.hRoy Marples
Simplify the BSD list by defining OPENSSL_BSD if using a matching BSD platform. Add NetBSD to the list and update documentation. PR-URL: https://github.com/nodejs/node/pull/14313 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
2017-06-03deps: update openssl config filesDaniel Bevenius
Regenerate config files for supported platforms with Makefile. Fixes: https://github.com/nodejs/node/issues/13161 PR-URL: https://github.com/nodejs/node/pull/13233 Reviewed-By: Shigeki Ohtsu <ohtsu@ohtsu.org> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
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-15deps: update openssl configShigeki Ohtsu
OPENSSL_NO_SSL2 and OPENSSL_NO_WEAK_SSL_CIPHERS are defined in opensslconf.h Fixes: https://github.com/nodejs/LTS/issues/85 PR-URL: https://github.com/nodejs/node/pull/5630 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-12-04deps: upgrade openssl sources to 1.0.2eShigeki Ohtsu
This just replaces all sources of openssl-1.0.2e.tar.gz into deps/openssl/openssl deps: copy all openssl header files to include dir All symlink files in `deps/openssl/openssl/include/openssl/` are removed and replaced with real header files to avoid issues on Windows. Two files of opensslconf.h in crypto and include dir are replaced to refer config/opensslconf.h. deps: fix openssl assembly error on ia32 win32 `x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and perhaps others) are requiring .686 . deps: fix asm build error of openssl in x86_win32 See https://mta.openssl.org/pipermail/openssl-dev/2015-February/000651.html node needs to stop using masm and move to nasm or yasm on Win32. openssl: fix keypress requirement in apps on win32 Reapply b910613792dac946b295855963869933a9089044 . deps: add -no_rand_screen to openssl s_client In openssl s_client on Windows, RAND_screen() is invoked to initialize random state but it takes several seconds in each connection. This added -no_rand_screen to openssl s_client on Windows to skip RAND_screen() and gets a better performance in the unit test of test-tls-server-verify. Do not enable this except to use in the unit test. deps: update openssl config files Regenrate config files for supported platforms with Makefile. deps: update openssl asm and asm_obsolete files Regenerate asm files with Makefile and CC=gcc and ASM=gcc where gcc-4.8.4. Also asm files in asm_obsolete dir to support old compiler and assmebler are regenerated without CC and ASM envs. PR-URL: https://github.com/nodejs/node/pull/4134 Reviewed-By: Fedor Indutny <fedor@indutny.com>
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-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-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-07-09deps: update deps/openssl/conf/arch/*/opensslconf.hShigeki Ohtsu
They should be updated according to the fix at https://github.com/openssl/openssl/commit/b4f0d1a4a89b964dba80036a6348ca0a1913c526 PR-URL: https://github.com/nodejs/io.js/pull/2141 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-15deps: update opensslconf.h for 1.0.2aShigeki Ohtsu
just type `make` in `deps/openssl/conf` then opensslconf.h in all architectures are updated. 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: add x32 and arm64 support for opensslconf.hShigeki Ohtsu
linux-x32 and linux-aarch64(arm64) are officially supported in openssl-1.0.2. With this fix opensslconf.h for these new architectures can be generated by Makefile. The patch for opensslconf.h of linux-x32 with Makefile was removed. For the fix of opensslconf.h in WIN32/WIN64, adding defines of OPENSSL_NO_DYNAMIC_ENGINE and OPENSSL_NO_CAPIENG move to openssl.gypi so that we no longer need insert a patch with Makefile and removed it. 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-10deps: generate opensslconf.h for architecturesShigeki Ohtsu
PR-URL: https://github.com/iojs/io.js/pull/1377 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-10deps: add Makefile to generate opensslconf.hShigeki Ohtsu
This Makefile executes ../openssl/Configure {target} and copy generated `../openssl/crypto/opensslconf.h` into `archs/{target}/opensslconf.h`. with the target list that is defined in ARCS. Several files are copied for backup and cleared so as not to change the files in `../openssl`. This also applies four fixes as below by using perl script so as to meet iojs build requirements. - all architectures Remove define of OPENSSL_CPUID_OBJ because it is defined in openssl.gypi so as to avoid build error with --openssl-no-asm - VC-WIN32 and VC-WIN64A OPENSSL_NO_DYNAMIC_ENGINE is needed for building static library. OPENSSL_NO_CAPIENG is needed to avoid build errors on Win. See the comments in `deps/openssl/openssl/engines/e_capi.c` for detail. - linux-x32 This fix was made by comparing define values of opensslconf.h which was generated `Configure linux-x32' in openssl-1.0.2a - darwin64-x86_64-cc The current openssl release does not use RC4 asm since it explicitly specified as `$asm=~s/rc4\-[^:]+//;` in https://github.com/openssl/openssl/blob/OpenSSL_1_0_1-stable/Configure#L584 But iojs has used RC4 asm on MacOS for long time. Fix type of RC4_INT into `unsigned int` in opensslconf.h of darwin64-x86_64-cc to work on the RC4 asm. PR-URL: https://github.com/iojs/io.js/pull/1377 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-10deps: make opensslconf.h include each target archShigeki Ohtsu
In OpenSSL, opensslconf.h was generated by Configure script with specifying a target argument, where it includes several defines that depend on OS and architecture platform. In iojs, we statically mapped --dest-os and --dest-cpu options in configure to the target of Configure in OpenSSL and make `deps/openssl/conf/openssconf.h` so as to include each file according to its target by checking pre-defined compiler macros. Included opnesslconf.h files for supported target architectures can be generated by `Makefile` and stored under `archs/{target}/opensslconf.h`. The Makefile alos fixes several defines to meet iojs build requirements. Here is a map table of configure options in iojs, target arch of Configure in OpenSSL and CI support. | --dest-os | --dest-cpu | OpenSSL target arch | CI | | --------- | ---------- | -------------------- | --- | | linux | ia32 | linux-elf | o | | linux | x32 | patched linux-x86_64 | - | | linux | x64 | linux-x86_64 | o | | linux | arm | linux-armv4 | o | | linux | arm64 | N/A | - | | mac | ia32 | darwin-i386-cc | o | | mac | x64 | darwin64-x86-cc | o | | win | ia32 | VC-WIN32 | - | | win | x64 | VC-WIN64A | o | | solaris | ia32 | solaris-x86-gcc | o | | solaris | x64 | solaris64-x86_64-gcc | o | | freebsd | ia32 | BSD-x86 | o | | freebsd | x64 | BSD-x86_64 | o | | openbsd | ia32 | BSD-x86 | - | | openbsd | x64 | BSD-x86_64 | - | | others | others | linux-elf | - | --dest-os and --dest-cpu are mapped to pre-defined macros. | --dest-os | pre-defined macro | | ------------------ | ------------------------- | | win | _WIN32 | | win(64bit) | _WIN64 | | mac | __APPLE__ && __MACH__ | | solaris | __sun | | freebsd | __FreeBSD__ | | openbsd | __OpenBSD__ | | linux (not andorid)| __linux__ && !__ANDROID__ | | android | __ANDROID__ | | --dest-cpu | pre-defined macro | | ---------- | ----------------- | | arm | __arm__ | | arm64 | __aarch64__ | | ia32 | __i386__ | | ia32(win) | _M_IX86 | | mips | __mips__ | | mipsel | __MIPSEL__ | | x32 | __ILP32__ | | x64 | __x86_64__ | | x64(win) | _M_X64 | These are the list which is not implemented yet. | --dest-os | --dest-cpu | OpenSSL target arch | CI | | --------- | ---------- | -------------------- | --- | | linux | mips | linux-mips32,linux-mips64,linux64-mips64? | --- | | linux | mipsel | ? | --- | | android | ia32 | android-x86 | --- | | android | arm | android-armv7 | --- | | android | mips | android-mips | --- | | android | mipsel | ? | --- | Supported target arch list in OpenSSL can be obtained by typing `deps/openssl/openssl/Configure LIST`. This also contains to add two new defines for all platform in the bottom for GOST and Padlock engines are not included in iojs. PR-URL: https://github.com/iojs/io.js/pull/1377 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-03build: add basic arm64 supportBen Noordhuis
This commit adds basic arm64 support to the build. Building the bundled openssl is disabled pending an upgrade to openssl 1.2, the currently bundled version has some hand-rolled assembly that is 32 bits only. PR-URL: https://github.com/iojs/io.js/pull/1028 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Rod Vagg <rod@vagg.org>
2014-12-09openssl: don't define SIXTY_FOUR_BIT_LONG on WindowsBert Belder
On Windows a long integer is always 32-bits, even when the target architecture uses 64-bit pointers. PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2014-12-09Revert "openssl: don't define SIXTY_FOUR_BIT_LONG on Windows"Ben Noordhuis
This reverts commit 878cc3e532ec5feb7145ba0523db2c6383df748b. Reverted for breaking the x86_64 Linux build: In file included from ../deps/openssl/openssl/include/openssl/bn.h:1:0, from ../deps/openssl/openssl/crypto/bn/asm/../bn_lcl.h:115, from ../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:1: ../deps/openssl/openssl/include/openssl/../../crypto/bn/bn.h:813:20: note: previous declaration of 'bn_add_words' was here BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int num); ^ ../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:210:15: error: conflicting types for 'bn_sub_words' BN_ULONG bn_sub_words (BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int n)
2014-12-09openssl: don't define SIXTY_FOUR_BIT_LONG on WindowsBert Belder
On Windows (and potentially other LP64 platforms), a long integer is always 32-bits, even when the target architecture uses 64-bit pointers. Signed-off-by: Bert Belder <bertbelder@gmail.com>
2014-11-29deps: openssl - add x32 supportBen Noordhuis
This commit adds preliminary x32 support. Configure with: $ ./configure --dest-cpu=x32 PR-URL: https://github.com/node-forward/node/pull/24 Reviewed-By: Fedor Indutny <fedor@indutny.com>
2014-11-27deps: update openssl to 1.0.1jFedor Indutny
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> PR-URL: https://github.com/iojs/io.js/pull/1
2014-10-16build: add x32 supportBen Noordhuis
This commit adds preliminary x32 support. Configure with: $ ./configure --dest-cpu=x32 PR-URL: https://github.com/node-forward/node/pull/24 Reviewed-By: Fedor Indutny <fedor@indutny.com>
2013-04-29Revert "deps: downgrade openssl to v1.0.0f"Ben Noordhuis
This commit undoes the downgrade from OpenSSL v1.0.1e to v1.0.0f, effectively upgrading OpenSSL to v1.0.1e again. The reason for the downgrade was to work around compatibility issues with certain TLS servers in the stable branch. See the commit log of 4fdb8ac and the linked issue for details. We're going to revisit that in the master branch. This reverts commit 4fdb8acdaef4c3cb1d855e992ada0e63fee520a6.
2013-04-29deps: downgrade openssl to v1.0.0fBen Noordhuis
Several people have reported issues with IIS and Resin servers (or maybe SSL terminators sitting in front of those servers) that are fixed by downgrading OpenSSL. The AESNI performance improvements were nice but stability is more important. Downgrade OpenSSL from 1.0.1e to 1.0.0f. Fixes #5360 (and others).
2013-02-26mips: fix openssl buildAndrei Sedoi
2012-12-20openssl: clean up and merge configuration filesBert Belder
This patch brings the openssl library that is built with gyp closer to what the standard build system produces. All opensslconf.h versions are now merged into a single file, which makes it easier for compiled addons to locate this file.
2012-09-18openssl: fix the Windows x64 buildBert Belder
2012-08-23build: tweak the openssl android configuration to buildNathan Rajlich
Removed NO_CAST, NO_MD2 and NO_STORE because otherwise there were build errors. Added NO_CAMELLIA, NO_MDC2, and NO_CMS because otherwise there were linker errors.
2012-04-12deps: reapply 0a34755 to bundled opensslBen Noordhuis
2012-04-12deps: reapply 0110c90 to bundled opensslBen Noordhuis
2012-04-12deps: upgrade openssl to 1.0.0fBen Noordhuis
2012-02-12Merge remote-tracking branch 'origin/v0.6'Ben Noordhuis
Conflicts: common.gypi
2012-02-07enable x64 windows buildIgor Zinkovsky
use "vcbuild x64" to do x64 build of node.exe
2011-12-21deps: fix openssl build on x86_64Ben Noordhuis
2011-08-22Upgrade to 0.9.8r.Peter Bright
Build in Win32.
2011-08-22import openssl from chromeRyan Dahl