Skip to content

Commit bf8245f

Browse files
Restore
1 parent 5b7e8ec commit bf8245f

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

build.c

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,19 @@ void copy_files() {
131131
#endif
132132
}
133133

134+
/* Special case for windows */
135+
void build_windows(char *compiler, char *cpp_compiler, char *cpp_linker, char *os, const char *arch) {
136+
137+
char *c_shared = "-target x86_64-pc-windows-msvc -DWIN32_LEAN_AND_MEAN -DLIBUS_USE_LIBUV -DLIBUS_USE_QUIC -IuWebSockets/uSockets/lsquic/include -IuWebSockets/uSockets/lsquic/wincompat -IuWebSockets/uSockets/boringssl/include -DLIBUS_USE_OPENSSL -O3 -c -IuWebSockets/uSockets/src uWebSockets/uSockets/src/*.c uWebSockets/uSockets/src/eventing/*.c uWebSockets/uSockets/src/crypto/*.c";
138+
char *cpp_shared = "-target x86_64-pc-windows-msvc -DWIN32_LEAN_AND_MEAN -DUWS_WITH_PROXY -DLIBUS_USE_LIBUV -DLIBUS_USE_QUIC -IuWebSockets/uSockets/lsquic/include -IuWebSockets/uSockets/lsquic/wincompat -IuWebSockets/uSockets/boringssl/include -DLIBUS_USE_OPENSSL -O3 -c -std=c++20 -IuWebSockets/uSockets/src -IuWebSockets/src src/addon.cpp uWebSockets/uSockets/src/crypto/sni_tree.cpp";
139+
140+
for (unsigned int i = 0; i < sizeof(versions) / sizeof(struct node_version); i++) {
141+
run("%s %s -Itargets/node-%s/include/node", compiler, c_shared, versions[i].name);
142+
run("%s %s -Itargets/node-%s/include/node", cpp_compiler, cpp_shared, versions[i].name);
143+
run("%s -target x86_64-pc-windows-msvc -O3 *.o uWebSockets/uSockets/boringssl/%s/ssl/ssl.lib uWebSockets/uSockets/boringssl/%s/crypto/crypto.lib uWebSockets/uSockets/lsquic/src/liblsquic/Debug/lsquic.lib targets/node-%s/node.lib -ladvapi32 -std=c++20 -shared -o dist/uws_win32_%s_%s.node", cpp_linker, arch, arch, versions[i].name, arch, versions[i].abi);
144+
}
145+
}
146+
134147
int main() {
135148
printf("[Preparing]\n");
136149
prepare();
@@ -158,10 +171,10 @@ int main() {
158171

159172

160173
#ifdef IS_WINDOWS
161-
/* Windows build using clang with MSVC ABI */
162-
build("clang -target x86_64-pc-windows-msvc -IuWebSockets/uSockets/lsquic/wincompat",
163-
"clang++ -target x86_64-pc-windows-msvc -IuWebSockets/uSockets/lsquic/wincompat",
164-
"-target x86_64-pc-windows-msvc uWebSockets/uSockets/boringssl/%s/ssl/ssl.lib uWebSockets/uSockets/boringssl/%s/crypto/crypto.lib uWebSockets/uSockets/lsquic/src/liblsquic/Debug/lsquic.lib targets/node-%s/node.lib -ladvapi32 -o dist/uws_win32_%s_%s.node",
174+
/* We can use clang, but we currently do use cl.exe still */
175+
build_windows("clang",
176+
"clang++",
177+
"",
165178
OS,
166179
X64);
167180
#else
@@ -193,4 +206,3 @@ int main() {
193206

194207
copy_files();
195208
}
196-

0 commit comments

Comments
 (0)