Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update submodules #1

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7554457
Enable dependabot
larziwau Dec 19, 2024
5d51dfa
Bump ngtcp2 from `e2372a8` to `c8522f0`
dependabot[bot] Dec 19, 2024
c428256
Bump boringssl from `251b2c1` to `c361e27`
dependabot[bot] Dec 19, 2024
02aec7d
Bump nghttp3 from `e4f96f9` to `f24d533`
dependabot[bot] Dec 19, 2024
41dbe01
Bump curl from `fd567d4` to `87d9e54`
dependabot[bot] Dec 19, 2024
0163652
Bump nghttp2 from `d13a575` to `89f27a5`
dependabot[bot] Dec 19, 2024
44b4d40
Reformat btw
larziwau Dec 19, 2024
3da8565
Reformat also
larziwau Dec 19, 2024
65dac9b
Merge pull request #5 from larziwau/dependabot/submodules/nghttp2-89f…
larziwau Dec 19, 2024
41cfa47
Merge pull request #3 from larziwau/dependabot/submodules/nghttp3-f24…
larziwau Dec 19, 2024
f7c71e3
Merge pull request #4 from larziwau/dependabot/submodules/curl-87d9e54
larziwau Dec 19, 2024
96d3cca
Merge pull request #2 from larziwau/dependabot/submodules/boringssl-c…
larziwau Dec 19, 2024
1571859
Merge pull request #1 from larziwau/dependabot/submodules/ngtcp2-c8522f0
larziwau Dec 19, 2024
4301082
Update build_macos.sh
larziwau Dec 19, 2024
ca3858d
add spaces
larziwau Dec 19, 2024
32ec88f
update
larziwau Dec 19, 2024
eb8dc7a
readme
larziwau Dec 19, 2024
af08c0e
Bump nghttp2 from `89f27a5` to `5ca0bca`
dependabot[bot] Dec 23, 2024
aa23799
Bump boringssl from `c361e27` to `9938f09`
dependabot[bot] Dec 23, 2024
e9f4d66
Bump nghttp3 from `f24d533` to `dcec8f1`
dependabot[bot] Dec 23, 2024
6320194
Bump curl from `87d9e54` to `68bd759`
dependabot[bot] Dec 23, 2024
547ab4f
Bump ngtcp2 from `c8522f0` to `4a22dfc`
dependabot[bot] Dec 23, 2024
7ddd44a
Merge pull request #10 from larziwau/dependabot/submodules/ngtcp2-4a2…
larziwau Dec 27, 2024
1df4124
Merge pull request #9 from larziwau/dependabot/submodules/curl-68bd759
larziwau Dec 27, 2024
3331bfb
Merge pull request #8 from larziwau/dependabot/submodules/nghttp3-dce…
larziwau Dec 27, 2024
cc5aba3
Merge pull request #7 from larziwau/dependabot/submodules/boringssl-9…
larziwau Dec 27, 2024
f7ca494
Merge pull request #6 from larziwau/dependabot/submodules/nghttp2-5ca…
larziwau Dec 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
interval: "weekly"
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Networking Libs

Build curl (8.8.0) with
Build curl with
- TLS (BoringSSL)
- HTTP2 (nghttp2 1.62.1)
- HTTP3 (ngtcp2 1.5.0, nghttp3 1.3.0)
- HTTP2 (nghttp2)
- HTTP3 (ngtcp2, nghttp3)

## Cloning

Expand All @@ -23,4 +23,4 @@ BoringSSL links to `libc++` when compiling for android, macOS. `CMakeFiles.txt`

1. `project(CURL C)` -> `project(CURL C CXX)`
2. Add `include(CheckCXXSymbolExists)`
3. Locate `openssl_check_symbol_exists` and change `check_symbol_exists` to `check_cxx_symbol_exists` at the end
3. Locate `openssl_check_symbol_exists` and change `check_symbol_exists` to `check_cxx_symbol_exists` at the end
2 changes: 1 addition & 1 deletion boringssl
Submodule boringssl updated 2551 files
109 changes: 28 additions & 81 deletions build_android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,91 +2,38 @@

ROOT=$PWD
SDK_VER=23

# Uncomment a set of variables to compile for 32bit or 64bit

#ABI="armeabi-v7a"
#BUILD_PATH="$ROOT/build/android32"
#OUT_PATH="$ROOT/out/android32"

ABI="arm64-v8a"
BUILD_PATH="$ROOT/build/android64"
OUT_PATH="$ROOT/out/android64"

# Remove previous output files
build_library() {
local module_name=$1
local extra_cmake_flags=$2

echo "Building $module_name..."

rm -rf "$BUILD_PATH/$module_name"
mkdir -p "$BUILD_PATH/$module_name"
cd "$BUILD_PATH/$module_name"

cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$OUT_PATH" \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake" \
-DANDROID_ABI=$ABI \
-DANDROID_PLATFORM=android-$SDK_VER \
$extra_cmake_flags \
"$ROOT/$module_name"

make -j$(nproc)
make install
make clean
}

rm -rf "$OUT_PATH"

# Build BoringSSL

rm -rf "$BUILD_PATH/boringssl"
mkdir -p "$BUILD_PATH/boringssl"
cd "$BUILD_PATH/boringssl"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake" \
-DANDROID_ABI=$ABI -DANDROID_PLATFORM=android-$SDK_VER "$ROOT/boringssl"
make -j$(nproc)
make install
make clean

# Build nghttp2

rm -rf "$BUILD_PATH/nghttp2"
mkdir -p "$BUILD_PATH/nghttp2"
cd "$BUILD_PATH/nghttp2"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF \
-DBUILD_TESTING=OFF -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake" -DANDROID_ABI=$ABI \
-DANDROID_PLATFORM=android-$SDK_VER -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON "$ROOT/nghttp2"
make -j$(nproc)
make install
make clean

# Build ngtcp2

rm -rf "$BUILD_PATH/ngtcp2"
mkdir -p "$BUILD_PATH/ngtcp2"
cd "$BUILD_PATH/ngtcp2"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DBUILD_TESTING=OFF \
-DENABLE_BORINGSSL=ON -DBORINGSSL_INCLUDE_DIR="$OUT_PATH/include" \
-DBORINGSSL_LIBRARIES="$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a" \
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake" -DANDROID_ABI=$ABI \
-DANDROID_PLATFORM=android-$SDK_VER -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON "$ROOT/ngtcp2"
make -j$(nproc)
make install
make clean

# Build nghttp3

rm -rf "$BUILD_PATH/nghttp3"
mkdir -p "$BUILD_PATH/nghttp3"
cd "$BUILD_PATH/nghttp3"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF \
-DBUILD_TESTING=OFF -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake" -DANDROID_ABI=$ABI \
-DANDROID_PLATFORM=android-$SDK_VER -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON "$ROOT/nghttp3"
make -j$(nproc)
make install
make clean

# Build curl

rm -rf "$BUILD_PATH/curl"
mkdir -p "$BUILD_PATH/curl"
cd "$BUILD_PATH/curl"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DBUILD_CURL_EXE=OFF \
-DCURL_USE_OPENSSL=ON -DOPENSSL_INCLUDE_DIR="$OUT_PATH/include" \
-DOPENSSL_CRYPTO_LIBRARY="$OUT_PATH/lib/libcrypto.a" -DOPENSSL_SSL_LIBRARY="$OUT_PATH/lib/libssl.a" \
-DOPENSSL_LIBRARIES="$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a" \
-DUSE_NGHTTP2=ON -DNGHTTP2_INCLUDE_DIR="$OUT_PATH/include" -DNGHTTP2_LIBRARY="$OUT_PATH/lib/libnghttp2.a" \
-DUSE_NGTCP2=ON -DNGTCP2_INCLUDE_DIR="$OUT_PATH/include" -DNGTCP2_LIBRARY="$OUT_PATH/lib/libngtcp2.a" \
-Dngtcp2_crypto_boringssl_LIBRARY="$OUT_PATH/lib/libngtcp2_crypto_boringssl.a" \
-DNGHTTP3_INCLUDE_DIR="$OUT_PATH/include" -DNGHTTP3_LIBRARY="$OUT_PATH/lib/libnghttp3.a" \
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake" -DANDROID_ABI=$ABI \
-DANDROID_PLATFORM=android-$SDK_VER -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON "$ROOT/curl"
make -j$(nproc)
make install
make clean
build_library "boringssl"
build_library "nghttp2" "-DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON"
build_library "ngtcp2" "-DBUILD_TESTING=OFF -DENABLE_BORINGSSL=ON -DBORINGSSL_INCLUDE_DIR=$OUT_PATH/include -DBORINGSSL_LIBRARIES=$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON"
build_library "nghttp3" "-DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF -DBUILD_TESTING=OFF -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON"
build_library "curl" "-DBUILD_CURL_EXE=OFF -DCURL_USE_OPENSSL=ON -DOPENSSL_INCLUDE_DIR=$OUT_PATH/include -DOPENSSL_CRYPTO_LIBRARY=$OUT_PATH/lib/libcrypto.a -DOPENSSL_SSL_LIBRARY=$OUT_PATH/lib/libssl.a -DOPENSSL_LIBRARIES=$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a -DUSE_NGHTTP2=ON -DNGHTTP2_INCLUDE_DIR=$OUT_PATH/include -DNGHTTP2_LIBRARY=$OUT_PATH/lib/libnghttp2.a -DUSE_NGTCP2=ON -DNGTCP2_INCLUDE_DIR=$OUT_PATH/include -DNGTCP2_LIBRARY=$OUT_PATH/lib/libngtcp2.a -Dngtcp2_crypto_boringssl_LIBRARY=$OUT_PATH/lib/libngtcp2_crypto_boringssl.a -DNGHTTP3_INCLUDE_DIR=$OUT_PATH/include -DNGHTTP3_LIBRARY=$OUT_PATH/lib/libnghttp3.a"
89 changes: 20 additions & 69 deletions build_macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,74 +7,25 @@ OUT_PATH="$ROOT/out/macos"
export CMAKE_OSX_ARCHITECTURES="x86_64;arm64"
export MACOSX_DEPLOYMENT_TARGET="10.15"

# Remove previous output files

rm -rf "$OUT_PATH"

# Build BoringSSL

rm -rf "$BUILD_PATH/boringssl"
mkdir -p "$BUILD_PATH/boringssl"
cd "$BUILD_PATH/boringssl"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DCMAKE_POSITION_INDEPENDENT_CODE=ON "$ROOT/boringssl"
make -j$(sysctl -n hw.ncpu)
make install
make clean

# Build nghttp2

rm -rf "$BUILD_PATH/nghttp2"
mkdir -p "$BUILD_PATH/nghttp2"
cd "$BUILD_PATH/nghttp2"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF \
-DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON "$ROOT/nghttp2"
make -j$(sysctl -n hw.ncpu)
make install
make clean

# Build ngtcp2

rm -rf "$BUILD_PATH/ngtcp2"
mkdir -p "$BUILD_PATH/ngtcp2"
cd "$BUILD_PATH/ngtcp2"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DBUILD_TESTING=OFF \
-DENABLE_BORINGSSL=ON -DBORINGSSL_INCLUDE_DIR="$OUT_PATH/include" \
-DBORINGSSL_LIBRARIES="$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a" \
-DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON "$ROOT/ngtcp2"
make -j$(sysctl -n hw.ncpu)
make install
make clean

# Build nghttp3

rm -rf "$BUILD_PATH/nghttp3"
mkdir -p "$BUILD_PATH/nghttp3"
cd "$BUILD_PATH/nghttp3"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF \
-DBUILD_TESTING=OFF -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON "$ROOT/nghttp3"
make -j$(sysctl -n hw.ncpu)
make install
make clean

# Build curl

rm -rf "$BUILD_PATH/curl"
mkdir -p "$BUILD_PATH/curl"
cd "$BUILD_PATH/curl"

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -DBUILD_CURL_EXE=OFF \
-DCURL_DISABLE_LDAP=ON -DCURL_USE_OPENSSL=ON -DOPENSSL_INCLUDE_DIR="$OUT_PATH/include" \
-DOPENSSL_CRYPTO_LIBRARY="$OUT_PATH/lib/libcrypto.a" -DOPENSSL_SSL_LIBRARY="$OUT_PATH/lib/libssl.a" \
-DOPENSSL_LIBRARIES="$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a" \
-DUSE_NGHTTP2=ON -DNGHTTP2_INCLUDE_DIR="$OUT_PATH/include" -DNGHTTP2_LIBRARY="$OUT_PATH/lib/libnghttp2.a" \
-DUSE_NGTCP2=ON -DNGTCP2_INCLUDE_DIR="$OUT_PATH/include" -DNGTCP2_LIBRARY="$OUT_PATH/lib/libngtcp2.a" \
-Dngtcp2_crypto_boringssl_LIBRARY="$OUT_PATH/lib/libngtcp2_crypto_boringssl.a" \
-DNGHTTP3_INCLUDE_DIR="$OUT_PATH/include" -DNGHTTP3_LIBRARY="$OUT_PATH/lib/libnghttp3.a" \
-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON "$ROOT/curl"
make -j$(sysctl -n hw.ncpu)
make install
make clean
build_library() {
local project_name="$1"
local cmake_flags="$2"
local build_dir="$BUILD_PATH/$project_name"

rm -rf "$build_dir"
mkdir -p "$build_dir"
cd "$build_dir"

cmake $cmake_flags "$ROOT/$project_name"
make -j$(sysctl -n hw.ncpu)
make install
make clean
}

build_library "boringssl" "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$OUT_PATH\" -DCMAKE_POSITION_INDEPENDENT_CODE=ON"
build_library "nghttp2" "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$OUT_PATH\" -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON"
build_library "ngtcp2" "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$OUT_PATH\" -DBUILD_TESTING=OFF -DENABLE_BORINGSSL=ON -DBORINGSSL_INCLUDE_DIR=\"$OUT_PATH/include\" -DBORINGSSL_LIBRARIES=\"$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a\" -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON"
build_library "nghttp3" "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$OUT_PATH\" -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF -DBUILD_TESTING=OFF -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON"
build_library "curl" "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$OUT_PATH\" -DBUILD_CURL_EXE=OFF -DCURL_DISABLE_LDAP=ON -DCURL_USE_OPENSSL=ON -DOPENSSL_INCLUDE_DIR=\"$OUT_PATH/include\" -DOPENSSL_CRYPTO_LIBRARY=\"$OUT_PATH/lib/libcrypto.a\" -DOPENSSL_SSL_LIBRARY=\"$OUT_PATH/lib/libssl.a\" -DOPENSSL_LIBRARIES=\"$OUT_PATH/lib/libcrypto.a;$OUT_PATH/lib/libssl.a\" -DUSE_NGHTTP2=ON -DNGHTTP2_INCLUDE_DIR=\"$OUT_PATH/include\" -DNGHTTP2_LIBRARY=\"$OUT_PATH/lib/libnghttp2.a\" -DUSE_NGTCP2=ON -DNGTCP2_INCLUDE_DIR=\"$OUT_PATH/include\" -DNGTCP2_LIBRARY=\"$OUT_PATH/lib/libngtcp2.a\" -Dngtcp2_crypto_boringssl_LIBRARY=\"$OUT_PATH/lib/libngtcp2_crypto_boringssl.a\" -DNGHTTP3_INCLUDE_DIR=\"$OUT_PATH/include\" -DNGHTTP3_LIBRARY=\"$OUT_PATH/lib/libnghttp3.a\" -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON"
65 changes: 27 additions & 38 deletions build_windows.ps1
Original file line number Diff line number Diff line change
@@ -1,62 +1,54 @@
$ROOT=$PWD
$NPROC=(Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors
$ROOT = $PWD
$NPROC = (Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors

if ($env:PLATFORM -eq "x86") {
$BUILD_PATH="$ROOT/build/windows32"
$OUT_PATH="$ROOT/out/windows32"
$BUILD_PATH = "$ROOT/build/windows32"
$OUT_PATH = "$ROOT/out/windows32"
} elseif ($env:PLATFORM -eq "x64") {
$BUILD_PATH="$ROOT/build/windows64"
$OUT_PATH="$ROOT/out/windows64"
$BUILD_PATH = "$ROOT/build/windows64"
$OUT_PATH = "$ROOT/out/windows64"
} else {
"Invalid Platform!"
Exit
}

# Remove previous output files

if (Test-Path $OUT_PATH) {
Remove-Item -Path $OUT_PATH -Recurse | out-null
Remove-Item -Path $OUT_PATH -Recurse | Out-Null
}

# Build BoringSSL

if (Test-Path "$BUILD_PATH/boringssl") {
Remove-Item -Path "$BUILD_PATH/boringssl" -Recurse | out-null
Remove-Item -Path "$BUILD_PATH/boringssl" -Recurse | Out-Null
}

New-Item -Path $BUILD_PATH -Name "boringssl" -ItemType "directory" | out-null
Set-Location -Path "$BUILD_PATH/boringssl" | out-null
New-Item -Path $BUILD_PATH -Name "boringssl" -ItemType "directory" | Out-Null
Set-Location -Path "$BUILD_PATH/boringssl" | Out-Null

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -G Ninja "$ROOT/boringssl"
ninja -j $NPROC
ninja install
ninja clean

# Build nghttp2

if (Test-Path "$BUILD_PATH/nghttp2") {
Remove-Item -Path "$BUILD_PATH/nghttp2" -Recurse | out-null
Remove-Item -Path "$BUILD_PATH/nghttp2" -Recurse | Out-Null
}

New-Item -Path $BUILD_PATH -Name "nghttp2" -ItemType "directory" | out-null
Set-Location -Path "$BUILD_PATH/nghttp2" | out-null
New-Item -Path $BUILD_PATH -Name "nghttp2" -ItemType "directory" | Out-Null
Set-Location -Path "$BUILD_PATH/nghttp2" | Out-Null

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -G Ninja -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF `
-DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON "$ROOT/nghttp2"
ninja -j $NPROC
ninja install
ninja clean

# Build ngtcp2

if (Test-Path "$BUILD_PATH/ngtcp2") {
Remove-Item -Path "$BUILD_PATH/ngtcp2" -Recurse | out-null
Remove-Item -Path "$BUILD_PATH/ngtcp2" -Recurse | Out-Null
}

New-Item -Path $BUILD_PATH -Name "ngtcp2" -ItemType "directory" | out-null
Set-Location -Path "$BUILD_PATH/ngtcp2" | out-null
New-Item -Path $BUILD_PATH -Name "ngtcp2" -ItemType "directory" | Out-Null
Set-Location -Path "$BUILD_PATH/ngtcp2" | Out-Null

$BORINGSSL_LIB_PATHS = "$OUT_PATH/lib/crypto.lib;$OUT_PATH/lib/ssl.lib" -replace '[\\]','/'
$BORINGSSL_LIB_PATHS = "$OUT_PATH/lib/crypto.lib;$OUT_PATH/lib/ssl.lib" -replace '[\\]', '/'
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -G Ninja -DBUILD_TESTING=OFF `
-DCMAKE_TRY_COMPILE_CONFIGURATION=Release `
-DENABLE_BORINGSSL=ON -DBORINGSSL_INCLUDE_DIR="$OUT_PATH/include" -DBORINGSSL_LIBRARIES="$BORINGSSL_LIB_PATHS" `
Expand All @@ -65,32 +57,29 @@ ninja -j $NPROC
ninja install
ninja clean

# Build nghttp3

if (Test-Path "$BUILD_PATH/nghttp3") {
Remove-Item -Path "$BUILD_PATH/nghttp3" -Recurse | out-null
Remove-Item -Path "$BUILD_PATH/nghttp3" -Recurse | Out-Null
}

New-Item -Path $BUILD_PATH -Name "nghttp3" -ItemType "directory" | out-null
Set-Location -Path "$BUILD_PATH/nghttp3" | out-null
New-Item -Path $BUILD_PATH -Name "nghttp3" -ItemType "directory" | Out-Null
Set-Location -Path "$BUILD_PATH/nghttp3" | Out-Null

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -G Ninja -DENABLE_LIB_ONLY=ON -DENABLE_EXAMPLES=OFF `
-DBUILD_TESTING=OFF -DENABLE_SHARED_LIB=OFF -DENABLE_STATIC_LIB=ON "$ROOT/nghttp3"
ninja -j $NPROC
ninja install
ninja clean

# Build curl

if (Test-Path "$BUILD_PATH/curl") {
Remove-Item -Path "$BUILD_PATH/curl" -Recurse | out-null
Remove-Item -Path "$BUILD_PATH/curl" -Recurse | Out-Null
}

New-Item -Path $BUILD_PATH -Name "curl" -ItemType "directory" | out-null
Set-Location -Path "$BUILD_PATH/curl" | out-null
New-Item -Path $BUILD_PATH -Name "curl" -ItemType "directory" | Out-Null
Set-Location -Path "$BUILD_PATH/curl" | Out-Null

$env:CFLAGS = "-DNGHTTP2_STATICLIB -DNGTCP2_STATICLIB -DNGHTTP3_STATICLIB"
$env:CXXFLAGS = $env:CFLAGS

$env:CFLAGS="-DNGHTTP2_STATICLIB -DNGTCP2_STATICLIB -DNGHTTP3_STATICLIB"
$env:CXXFLAGS=$env:CFLAGS
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -G Ninja -DBUILD_CURL_EXE=OFF `
-D CURL_DISABLE_LDAP=ON -DCURL_USE_OPENSSL=ON -DOPENSSL_INCLUDE_DIR="$OUT_PATH/include" `
-DOPENSSL_CRYPTO_LIBRARY="$OUT_PATH/lib/crypto.lib" -DOPENSSL_SSL_LIBRARY="$OUT_PATH/lib/ssl.lib" `
Expand All @@ -101,4 +90,4 @@ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OUT_PATH" -G Ninja -DB
-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON "$ROOT/curl"
ninja -j $NPROC
ninja install
ninja clean
ninja clean
2 changes: 1 addition & 1 deletion curl
Submodule curl updated 2273 files
4 changes: 3 additions & 1 deletion make_ca_bundle.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
with open("ca_bundle.h", "w") as out:
out.write("#pragma once\n\n")
out.write("constexpr static char CA_BUNDLE_CONTENT[] =")

for line in content.split('\n'):
out.write(f'\n"{line}\\n"')
out.write(';')

out.write(';')
2 changes: 1 addition & 1 deletion nghttp2
Submodule nghttp2 updated 222 files
2 changes: 1 addition & 1 deletion nghttp3
Submodule nghttp3 updated 88 files
+65 −29 .clang-format
+1 −1 .clusterfuzzlite/build.sh
+24 −18 .github/workflows/build.yml
+1 −1 .github/workflows/stale.yaml
+5 −0 AUTHORS
+14 −12 CMakeLists.txt
+1 −1 Makefile.am
+15 −0 README.rst
+5 −2 cmakeconfig.h.in
+4 −2 configure.ac
+5 −5 examples/qpack.cc
+2 −2 examples/qpack.h
+13 −13 examples/qpack_decode.cc
+3 −3 examples/qpack_decode.h
+13 −14 examples/qpack_encode.cc
+2 −2 examples/qpack_encode.h
+2 −2 examples/template.h
+17 −12 examples/util.h
+1 −1 fuzz/fuzz_http3serverreq.cc
+10 −10 fuzz/fuzz_qpackdecoder.cc
+30 −0 gennmchartbl.py
+31 −0 lib/CMakeLists.txt
+1 −1 lib/Makefile.am
+3 −0 lib/config.cmake.in
+30 −30 lib/includes/nghttp3/nghttp3.h
+1 −1 lib/includes/nghttp3/version.h.in
+6 −6 lib/nghttp3_balloc.c
+6 −3 lib/nghttp3_balloc.h
+2 −2 lib/nghttp3_buf.h
+58 −58 lib/nghttp3_conn.c
+3 −3 lib/nghttp3_conn.h
+22 −17 lib/nghttp3_conv.c
+26 −28 lib/nghttp3_conv.h
+5 −5 lib/nghttp3_debug.c
+4 −4 lib/nghttp3_debug.h
+2 −2 lib/nghttp3_err.h
+1 −1 lib/nghttp3_frame.c
+3 −3 lib/nghttp3_frame.h
+31 −25 lib/nghttp3_gaptr.c
+7 −7 lib/nghttp3_gaptr.h
+522 −507 lib/nghttp3_http.c
+2 −2 lib/nghttp3_http.h
+2 −15 lib/nghttp3_idtr.c
+10 −23 lib/nghttp3_idtr.h
+154 −123 lib/nghttp3_ksl.c
+125 −45 lib/nghttp3_ksl.h
+29 −6 lib/nghttp3_macro.h
+95 −127 lib/nghttp3_map.c
+28 −38 lib/nghttp3_map.h
+2 −2 lib/nghttp3_mem.c
+4 −4 lib/nghttp3_mem.h
+14 −14 lib/nghttp3_objalloc.h
+2 −2 lib/nghttp3_opl.h
+28 −13 lib/nghttp3_pq.c
+38 −30 lib/nghttp3_pq.h
+484 −418 lib/nghttp3_qpack.c
+12 −12 lib/nghttp3_qpack.h
+5 −3 lib/nghttp3_qpack_huffman.c
+4 −4 lib/nghttp3_qpack_huffman.h
+4,948 −4,948 lib/nghttp3_qpack_huffman_data.c
+5 −3 lib/nghttp3_range.c
+3 −3 lib/nghttp3_range.h
+2 −2 lib/nghttp3_rcbuf.h
+17 −21 lib/nghttp3_ringbuf.c
+2 −2 lib/nghttp3_ringbuf.h
+64 −64 lib/nghttp3_str.c
+2 −2 lib/nghttp3_str.h
+41 −37 lib/nghttp3_stream.c
+5 −4 lib/nghttp3_stream.h
+3 −3 lib/nghttp3_tnode.c
+2 −2 lib/nghttp3_tnode.h
+4 −4 lib/nghttp3_unreachable.c
+6 −6 lib/nghttp3_unreachable.h
+2 −2 lib/nghttp3_vec.h
+6 −3 lib/nghttp3_version.c
+1 −1 lib/sfparse
+5 −7 tests/main.c
+328 −356 tests/nghttp3_conn_test.c
+29 −29 tests/nghttp3_conn_test.h
+2 −2 tests/nghttp3_conv_test.h
+128 −26 tests/nghttp3_http_test.c
+4 −4 tests/nghttp3_http_test.h
+90 −93 tests/nghttp3_qpack_test.c
+13 −13 tests/nghttp3_qpack_test.h
+8 −5 tests/nghttp3_test_helper.c
+6 −4 tests/nghttp3_test_helper.h
+4 −3 tests/nghttp3_tnode_test.c
+3 −3 tests/nghttp3_tnode_test.h
2 changes: 1 addition & 1 deletion ngtcp2
Submodule ngtcp2 updated 256 files