@@ -131,19 +131,6 @@ 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-
147134int main () {
148135 printf ("[Preparing]\n" );
149136 prepare ();
@@ -171,10 +158,10 @@ int main() {
171158
172159
173160#ifdef IS_WINDOWS
174- /* We can use clang, but we currently do use cl.exe still */
175- build_windows ("clang" ,
176- "clang++" ,
177- "" ,
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 " ,
178165 OS ,
179166 X64 );
180167#else
0 commit comments