/
curl.bat
122 lines (114 loc) · 3.85 KB
/
curl.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
@echo off && call %PATH_MODULES_COMMON%\init.bat %1 cmake nocxx
if %CURL_PATCH_WIN_OPENSSL% == 1 (
if %ARG_KEEPSRC% == 0 (
setlocal enabledelayedexpansion
set CURL_DESC=openssl using Windows CA store patch
cd /D %PATH_SRC%\%1
echo # apply curl_ca-win.patch
git apply --verbose --ignore-space-change --ignore-whitespace %PATH_MODULES%\curl_ca-win.patch
cd /D %PATH_BUILD%\%1
)
echo ^>^>^> !CURL_DESC!
)
REM set LIBCURL_TIMESTAMP
for /F "tokens=* USEBACKQ" %%F in (`%PATH_BIN_CYGWIN%\date -u`) do (set LIBCURL_TIMESTAMP=%%F)
sed -i 's/\[unreleased\]/%LIBCURL_TIMESTAMP%/g' %CYGPATH_SRC%/%1/include/curl/curlver.h
REM HTTP3 with openssl only - https://github.com/curl/curl/pull/12807
set QUIC=-DCURL_USE_SCHANNEL=ON
if %QUIC_BUILD% == 1 (
set QUIC=^
-DCURL_USE_SCHANNEL=OFF ^
-DUSE_NGTCP2=ON ^
-DUSE_NGHTTP3=ON ^
-DUSE_QUICHE=OFF ^
-DUSE_MSH3=OFF ^
-DNGTCP2_INCLUDE_DIR=%PATH_INSTALL:\=/%/include ^
-DNGTCP2_LIBRARY=%PATH_INSTALL:\=/%/lib/ngtcp2_crypto_quictls.lib;%PATH_INSTALL:\=/%/lib/ngtcp2.lib ^
-DNGHTTP3_INCLUDE_DIR=%PATH_INSTALL:\=/%/include ^
-DNGHTTP3_LIBRARY=%PATH_INSTALL:\=/%/lib/nghttp3.lib
)
REM light build for mod_md
set CURLCMAKEBUILD=
if "%2"=="mod_md" (
set CURLCMAKEBUILD=^
-DCURL_USE_SCHANNEL=OFF ^
-DCURL_BROTLI=OFF ^
-DENABLE_ARES=OFF ^
-DUSE_NGHTTP2=OFF ^
-DCURL_USE_LIBSSH2=OFF ^
-DCURL_ZSTD=OFF
) else (
set CURLCMAKEBUILD=^
-DBROTLIDEC_LIBRARY=%PATH_INSTALL:\=/%/lib/brotlidec.lib ^
-DBROTLICOMMON_LIBRARY=%PATH_INSTALL:\=/%/lib/brotlicommon.lib ^
-DBROTLI_INCLUDE_DIR=%PATH_INSTALL:\=/%/include ^
-DCURL_BROTLI=ON ^
-DCARES_LIBRARY=%PATH_INSTALL:\=/%/lib/cares.lib ^
-DCARES_INCLUDE_DIR=%PATH_INSTALL:\=/%/include ^
-DENABLE_ARES=ON ^
-DNGHTTP2_LIBRARY=%PATH_INSTALL:\=/%/lib/nghttp2.lib ^
-DNGHTTP2_INCLUDE_DIR=%PATH_INSTALL:\=/%/include ^
-DUSE_NGHTTP2=ON ^
-DLIBSSH2_LIBRARY=%PATH_INSTALL:\=/%/lib/libssh2.lib ^
-DLIBSSH2_INCLUDE_DIR=%PATH_INSTALL:\=/%/include ^
-DCURL_USE_LIBSSH2=ON ^
-DCURL_ZSTD=ON ^
%QUIC%
)
cmake %CMAKE_OPTS% -G %CMAKE_TGT_NINJA% ^
-DCMAKE_INSTALL_PREFIX=%PATH_INSTALL:\=/% ^
-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE% ^
-DCMAKE_STATIC_LIBRARY_SUFFIX=_static ^
-DOPENSSL_ROOT_DIR=%PATH_INSTALL_OSSL% ^
-DOPENSSL_INCLUDE_DIR=%PATH_INSTALL_OSSL%/include ^
-DZLIB_LIBRARY=%PATH_INSTALL:\=/%/lib/zlib.lib ^
-DZLIB_INCLUDE_DIR=%PATH_INSTALL:\=/%/include ^
-DBUILD_CURL_EXE=ON ^
-DBUILD_SHARED_LIBS=ON ^
-DBUILD_STATIC_LIBS=OFF ^
-DBUILD_STATIC_CURL=OFF ^
-DBUILD_TESTING=OFF ^
-DCURL_DISABLE_INSTALL=OFF ^
-DBUILD_LIBCURL_DOCS=OFF ^
-DENABLE_CURL_MANUAL=OFF ^
-DPICKY_COMPILER=OFF ^
-DCURL_HIDDEN_SYMBOLS=ON ^
-DCURL_WERROR=OFF ^
-DCURL_ENABLE_EXPORT_TARGET=ON ^
-DCURL_STATIC_CRT=OFF ^
-DCURL_LTO=ON ^
-DCURL_ENABLE_SSL=ON ^
-DCURL_USE_BEARSSL=OFF ^
-DCURL_USE_GSSAPI=OFF ^
-DCURL_USE_LIBPSL=OFF ^
-DCURL_USE_LIBSSH=OFF ^
-DCURL_USE_MBEDTLS=OFF ^
-DCURL_USE_OPENSSL=ON ^
-DCURL_USE_SECTRANSP=OFF ^
-DCURL_USE_WOLFSSL=OFF ^
-DCURL_USE_GNUTLS=OFF ^
-DCURL_WINDOWS_SSPI=ON ^
-DHTTP_ONLY=OFF ^
-DCURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG=OFF ^
-DENABLE_CURLDEBUG=OFF ^
-DENABLE_DEBUG=OFF ^
-DENABLE_IPV6=ON ^
-DENABLE_THREADED_RESOLVER=ON ^
-DENABLE_UNIX_SOCKETS=ON ^
-DENABLE_WEBSOCKETS=ON ^
-DUSE_WIN32_IDN=ON ^
-DUSE_WIN32_LDAP=ON ^
-DHAVE_LDAP_SSL=ON ^
-DENABLE_UNICODE=ON ^
-DUSE_LIBIDN2=OFF ^
%CURLCMAKEBUILD% ^
%PATH_SRC%\%1
%PATH_BIN_CYGWIN%\bash %CYGPATH_MODULES_COMMON%/ninja.sh "%AVX%" "%CYGPATH_BUILD%/%1" "%NUMBER_OF_PROCESSORS%"
for %%Y in (libcurl-target.cmake lib\cmake_install.cmake build.ninja) do (sed -i 's/libcurl_imp\.lib/libcurl\.lib/g' %CYGPATH_BUILD%/%1/%%Y)
%NINJA% install
xcopy /C /F /Y %PATH_BUILD%\%1\lib\libcurl.pdb %PATH_INSTALL%\bin\*
xcopy /C /F /Y %PATH_BUILD%\%1\src\curl.pdb %PATH_INSTALL%\bin\*
for %%E in (libcurl.dll curl.exe) do (
call do_php %PATH_UTILS%\sub\version.php %1 %PATH_INSTALL%\bin\%%E "%CURL_DESC%"
)
curl https://curl.se/ca/cacert.pem -o %PATH_INSTALL%\bin\curl-ca-bundle.crt