Skip to content

Commit db7df0f

Browse files
jkunkeeBethGriggs
authored andcommitted
deps: add ARM64 Windows configurations in openssl
This change adds the generated files required for building OpenSSL for Node.js for ARM64 Windows. I did this on a VM running Ubuntu 18.04. The basic workflow is to cd to deps/openssl/config and run `make`, installing any needed packages until all architectures build correctly. Note that OpenSSL 1.1.1 does not support ASM on ARM64 Windows, so this change also supports only no-asm on ARM64 Windows. PR-URL: #26001 Fixes: #25998 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
1 parent 341eacc commit db7df0f

File tree

8 files changed

+17533
-0
lines changed

8 files changed

+17533
-0
lines changed

deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm

+15,941
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
* WARNING: do not edit!
3+
* Generated by util/mkbuildinf.pl
4+
*
5+
* Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved.
6+
*
7+
* Licensed under the OpenSSL license (the "License"). You may not use
8+
* this file except in compliance with the License. You can obtain a copy
9+
* in the file LICENSE in the source distribution or at
10+
* https://www.openssl.org/source/license.html
11+
*/
12+
13+
#define PLATFORM "platform: VC-WIN64-ARM"
14+
#define DATE "built on: Fri Mar 8 03:24:47 2019 UTC"
15+
16+
/*
17+
* Generate compiler_flags as an array of individual characters. This is a
18+
* workaround for the situation where CFLAGS gets too long for a C90 string
19+
* literal
20+
*/
21+
static const char compiler_flags[] = {
22+
'c','o','m','p','i','l','e','r',':',' ','c','l',' ','/','Z','i',
23+
' ','/','F','d','o','s','s','l','_','s','t','a','t','i','c','.',
24+
'p','d','b',' ','/','G','s','0',' ','/','G','F',' ','/','G','y',
25+
' ','/','M','D',' ','/','W','3',' ','/','w','d','4','0','9','0',
26+
' ','/','n','o','l','o','g','o',' ','/','O','2',' ','-','D','L',
27+
'_','E','N','D','I','A','N',' ','-','D','O','P','E','N','S','S',
28+
'L','_','P','I','C','\0'
29+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/* WARNING: do not edit! */
2+
/* Generated by makefile from crypto/include/internal/bn_conf.h.in */
3+
/*
4+
* Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
5+
*
6+
* Licensed under the OpenSSL license (the "License"). You may not use
7+
* this file except in compliance with the License. You can obtain a copy
8+
* in the file LICENSE in the source distribution or at
9+
* https://www.openssl.org/source/license.html
10+
*/
11+
12+
#ifndef HEADER_BN_CONF_H
13+
# define HEADER_BN_CONF_H
14+
15+
/*
16+
* The contents of this file are not used in the UEFI build, as
17+
* both 32-bit and 64-bit builds are supported from a single run
18+
* of the Configure script.
19+
*/
20+
21+
/* Should we define BN_DIV2W here? */
22+
23+
/* Only one for the following should be defined */
24+
#undef SIXTY_FOUR_BIT_LONG
25+
#define SIXTY_FOUR_BIT
26+
#undef THIRTY_TWO_BIT
27+
28+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/* WARNING: do not edit! */
2+
/* Generated by makefile from crypto/include/internal/dso_conf.h.in */
3+
/*
4+
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
5+
*
6+
* Licensed under the OpenSSL license (the "License"). You may not use
7+
* this file except in compliance with the License. You can obtain a copy
8+
* in the file LICENSE in the source distribution or at
9+
* https://www.openssl.org/source/license.html
10+
*/
11+
12+
#ifndef HEADER_DSO_CONF_H
13+
# define HEADER_DSO_CONF_H
14+
15+
# define DSO_WIN32
16+
# define DSO_EXTENSION ".dll"
17+
18+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
/*
2+
* WARNING: do not edit!
3+
* Generated by makefile from include/openssl/opensslconf.h.in
4+
*
5+
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
6+
*
7+
* Licensed under the OpenSSL license (the "License"). You may not use
8+
* this file except in compliance with the License. You can obtain a copy
9+
* in the file LICENSE in the source distribution or at
10+
* https://www.openssl.org/source/license.html
11+
*/
12+
13+
#include <openssl/opensslv.h>
14+
15+
#ifdef __cplusplus
16+
extern "C" {
17+
#endif
18+
19+
#ifdef OPENSSL_ALGORITHM_DEFINES
20+
# error OPENSSL_ALGORITHM_DEFINES no longer supported
21+
#endif
22+
23+
/*
24+
* OpenSSL was configured with the following options:
25+
*/
26+
27+
#ifndef OPENSSL_SYS_WIN64A
28+
# define OPENSSL_SYS_WIN64A 1
29+
#endif
30+
#ifndef OPENSSL_NO_COMP
31+
# define OPENSSL_NO_COMP
32+
#endif
33+
#ifndef OPENSSL_NO_MD2
34+
# define OPENSSL_NO_MD2
35+
#endif
36+
#ifndef OPENSSL_NO_RC5
37+
# define OPENSSL_NO_RC5
38+
#endif
39+
#ifndef OPENSSL_THREADS
40+
# define OPENSSL_THREADS
41+
#endif
42+
#ifndef OPENSSL_RAND_SEED_OS
43+
# define OPENSSL_RAND_SEED_OS
44+
#endif
45+
#ifndef OPENSSL_NO_AFALGENG
46+
# define OPENSSL_NO_AFALGENG
47+
#endif
48+
#ifndef OPENSSL_NO_ASAN
49+
# define OPENSSL_NO_ASAN
50+
#endif
51+
#ifndef OPENSSL_NO_ASM
52+
# define OPENSSL_NO_ASM
53+
#endif
54+
#ifndef OPENSSL_NO_CRYPTO_MDEBUG
55+
# define OPENSSL_NO_CRYPTO_MDEBUG
56+
#endif
57+
#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
58+
# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
59+
#endif
60+
#ifndef OPENSSL_NO_DEVCRYPTOENG
61+
# define OPENSSL_NO_DEVCRYPTOENG
62+
#endif
63+
#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
64+
# define OPENSSL_NO_EC_NISTP_64_GCC_128
65+
#endif
66+
#ifndef OPENSSL_NO_EGD
67+
# define OPENSSL_NO_EGD
68+
#endif
69+
#ifndef OPENSSL_NO_EXTERNAL_TESTS
70+
# define OPENSSL_NO_EXTERNAL_TESTS
71+
#endif
72+
#ifndef OPENSSL_NO_FUZZ_AFL
73+
# define OPENSSL_NO_FUZZ_AFL
74+
#endif
75+
#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
76+
# define OPENSSL_NO_FUZZ_LIBFUZZER
77+
#endif
78+
#ifndef OPENSSL_NO_HEARTBEATS
79+
# define OPENSSL_NO_HEARTBEATS
80+
#endif
81+
#ifndef OPENSSL_NO_MSAN
82+
# define OPENSSL_NO_MSAN
83+
#endif
84+
#ifndef OPENSSL_NO_SCTP
85+
# define OPENSSL_NO_SCTP
86+
#endif
87+
#ifndef OPENSSL_NO_SSL_TRACE
88+
# define OPENSSL_NO_SSL_TRACE
89+
#endif
90+
#ifndef OPENSSL_NO_SSL3
91+
# define OPENSSL_NO_SSL3
92+
#endif
93+
#ifndef OPENSSL_NO_SSL3_METHOD
94+
# define OPENSSL_NO_SSL3_METHOD
95+
#endif
96+
#ifndef OPENSSL_NO_UBSAN
97+
# define OPENSSL_NO_UBSAN
98+
#endif
99+
#ifndef OPENSSL_NO_UNIT_TEST
100+
# define OPENSSL_NO_UNIT_TEST
101+
#endif
102+
#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
103+
# define OPENSSL_NO_WEAK_SSL_CIPHERS
104+
#endif
105+
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
106+
# define OPENSSL_NO_DYNAMIC_ENGINE
107+
#endif
108+
#ifndef OPENSSL_NO_AFALGENG
109+
# define OPENSSL_NO_AFALGENG
110+
#endif
111+
112+
113+
/*
114+
* Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
115+
* don't like that. This will hopefully silence them.
116+
*/
117+
#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
118+
119+
/*
120+
* Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
121+
* declarations of functions deprecated in or before <version>. Otherwise, they
122+
* still won't see them if the library has been built to disable deprecated
123+
* functions.
124+
*/
125+
#ifndef DECLARE_DEPRECATED
126+
# define DECLARE_DEPRECATED(f) f;
127+
# ifdef __GNUC__
128+
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
129+
# undef DECLARE_DEPRECATED
130+
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
131+
# endif
132+
# endif
133+
#endif
134+
135+
#ifndef OPENSSL_FILE
136+
# ifdef OPENSSL_NO_FILENAMES
137+
# define OPENSSL_FILE ""
138+
# define OPENSSL_LINE 0
139+
# else
140+
# define OPENSSL_FILE __FILE__
141+
# define OPENSSL_LINE __LINE__
142+
# endif
143+
#endif
144+
145+
#ifndef OPENSSL_MIN_API
146+
# define OPENSSL_MIN_API 0
147+
#endif
148+
149+
#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
150+
# undef OPENSSL_API_COMPAT
151+
# define OPENSSL_API_COMPAT OPENSSL_MIN_API
152+
#endif
153+
154+
/*
155+
* Do not deprecate things to be deprecated in version 1.2.0 before the
156+
* OpenSSL version number matches.
157+
*/
158+
#if OPENSSL_VERSION_NUMBER < 0x10200000L
159+
# define DEPRECATEDIN_1_2_0(f) f;
160+
#elif OPENSSL_API_COMPAT < 0x10200000L
161+
# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)
162+
#else
163+
# define DEPRECATEDIN_1_2_0(f)
164+
#endif
165+
166+
#if OPENSSL_API_COMPAT < 0x10100000L
167+
# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
168+
#else
169+
# define DEPRECATEDIN_1_1_0(f)
170+
#endif
171+
172+
#if OPENSSL_API_COMPAT < 0x10000000L
173+
# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)
174+
#else
175+
# define DEPRECATEDIN_1_0_0(f)
176+
#endif
177+
178+
#if OPENSSL_API_COMPAT < 0x00908000L
179+
# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)
180+
#else
181+
# define DEPRECATEDIN_0_9_8(f)
182+
#endif
183+
184+
/* Generate 80386 code? */
185+
#undef I386_ONLY
186+
187+
#undef OPENSSL_UNISTD
188+
#define OPENSSL_UNISTD <unistd.h>
189+
190+
#define OPENSSL_EXPORT_VAR_AS_FUNCTION
191+
192+
/*
193+
* The following are cipher-specific, but are part of the public API.
194+
*/
195+
#if !defined(OPENSSL_SYS_UEFI)
196+
# undef BN_LLONG
197+
/* Only one for the following should be defined */
198+
# undef SIXTY_FOUR_BIT_LONG
199+
# define SIXTY_FOUR_BIT
200+
# undef THIRTY_TWO_BIT
201+
#endif
202+
203+
#define RC4_INT unsigned int
204+
205+
#ifdef __cplusplus
206+
}
207+
#endif

0 commit comments

Comments
 (0)