with:
persist-credentials: false
- - name: run configure --with-openssl
+ - name: 'run configure --with-openssl'
run: |
autoreconf -fi
export PKG_CONFIG_DEBUG_SPEW=1
mkdir bld-am && cd bld-am && ../configure --enable-static=no --with-openssl --without-libpsl --without-brotli
- - name: run cmake
+ - name: 'run cmake'
run: |
cmake -B bld-cm -DCURL_USE_LIBPSL=OFF -DCURL_BROTLI=OFF
- name: 'cmake log'
run: cat bld-cm/CMakeFiles/CMakeConfigureLog.yaml 2>/dev/null || true
- - name: compare generated curl_config.h files
+ - name: 'compare generated curl_config.h files'
run: ./.github/scripts/cmp-config.pl bld-am/lib/curl_config.h bld-cm/lib/curl_config.h
- - name: compare generated libcurl.pc files
+ - name: 'compare generated libcurl.pc files'
run: ./.github/scripts/cmp-pkg-config.sh bld-am/libcurl.pc bld-cm/libcurl.pc
- - name: compare generated curl-config files
+ - name: 'compare generated curl-config files'
run: ./.github/scripts/cmp-pkg-config.sh bld-am/curl-config bld-cm/curl-config
check-macos:
runs-on: macos-latest
steps:
- - name: install packages
+ - name: 'install packages'
run: |
while [[ $? == 0 ]]; do for i in 1 2 3; do brew update && brew install libtool autoconf automake && break 2 || { echo Error: wait to try again; sleep 10; } done; false Too many retries; done
with:
persist-credentials: false
- - name: run configure --with-openssl
+ - name: 'run configure --with-openssl'
run: |
autoreconf -fi
export PKG_CONFIG_DEBUG_SPEW=1
mkdir bld-am && cd bld-am && ../configure --enable-static=no --with-openssl --without-libpsl --disable-ldap --with-zstd
- - name: run cmake
+ - name: 'run cmake'
run: |
cmake -B bld-cm -DCURL_USE_LIBPSL=OFF -DCURL_DISABLE_LDAP=ON \
-DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \
- name: 'cmake log'
run: cat bld-cm/CMakeFiles/CMakeConfigureLog.yaml 2>/dev/null || true
- - name: compare generated curl_config.h files
+ - name: 'compare generated curl_config.h files'
run: ./.github/scripts/cmp-config.pl bld-am/lib/curl_config.h bld-cm/lib/curl_config.h
- - name: compare generated libcurl.pc files
+ - name: 'compare generated libcurl.pc files'
run: ./.github/scripts/cmp-pkg-config.sh bld-am/libcurl.pc bld-cm/libcurl.pc
- - name: compare generated curl-config files
+ - name: 'compare generated curl-config files'
run: ./.github/scripts/cmp-pkg-config.sh bld-am/curl-config bld-cm/curl-config
check-windows:
env:
TRIPLET: 'x86_64-w64-mingw32'
steps:
- - name: install packages
+ - name: 'install packages'
run: sudo apt-get --quiet 2 --option Dpkg::Use-Pty=0 install mingw-w64
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- - name: run configure --with-schannel
+ - name: 'run configure --with-schannel'
run: |
autoreconf -fi
export PKG_CONFIG_DEBUG_SPEW=1
mkdir bld-am && cd bld-am && ../configure --enable-static=no --with-schannel --without-libpsl --host="${TRIPLET}"
- - name: run cmake
+ - name: 'run cmake'
run: |
cmake -B bld-cm -DCURL_USE_SCHANNEL=ON -DCURL_USE_LIBPSL=OFF \
-DCMAKE_SYSTEM_NAME=Windows \
- name: 'cmake log'
run: cat bld-cm/CMakeFiles/CMakeConfigureLog.yaml 2>/dev/null || true
- - name: compare generated curl_config.h files
+ - name: 'compare generated curl_config.h files'
run: ./.github/scripts/cmp-config.pl bld-am/lib/curl_config.h bld-cm/lib/curl_config.h
- - name: compare generated libcurl.pc files
+ - name: 'compare generated libcurl.pc files'
run: ./.github/scripts/cmp-pkg-config.sh bld-am/libcurl.pc bld-cm/libcurl.pc
- - name: compare generated curl-config files
+ - name: 'compare generated curl-config files'
run: ./.github/scripts/cmp-pkg-config.sh bld-am/curl-config bld-cm/curl-config
runs-on: ubuntu-latest
steps:
- - name: cache quictls
+ - name: 'cache quictls'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-quictls-no-deprecated
env:
path: ~/quictls/build
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.quictls-version }}-quic1
- - name: cache gnutls
+ - name: 'cache gnutls'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-gnutls
env:
path: ~/gnutls/build
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.gnutls-version }}
- - name: cache wolfssl
+ - name: 'cache wolfssl'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-wolfssl
env:
path: ~/wolfssl/build
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.wolfssl-version }}
- - name: cache nghttp3
+ - name: 'cache nghttp3'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-nghttp3
env:
path: ~/nghttp3/build
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.nghttp3-version }}
- - name: cache ngtcp2
+ - name: 'cache ngtcp2'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-ngtcp2
env:
path: ~/ngtcp2/build
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.ngtcp2-version }}-${{ env.quictls-version }}-${{ env.gnutls-version }}-${{ env.wolfssl-version }}
- - name: cache nghttp2
+ - name: 'cache nghttp2'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-nghttp2
env:
run: |
echo 'needs-build=true' >> $GITHUB_OUTPUT
- - name: install build prereqs
+ - name: 'install build prereqs'
if: steps.settings.outputs.needs-build == 'true'
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
echo 'CC=gcc-12' >> $GITHUB_ENV
echo 'CXX=g++-12' >> $GITHUB_ENV
- - if: steps.cache-quictls-no-deprecated.outputs.cache-hit != 'true'
+ - name: 'build quictls'
+ if: steps.cache-quictls-no-deprecated.outputs.cache-hit != 'true'
run: |
cd $HOME
git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl quictls
./config no-deprecated --prefix=$PWD/build --libdir=lib no-makedepend no-apps no-docs no-tests
make
make -j1 install_sw
- name: 'build quictls'
- - if: steps.cache-gnutls.outputs.cache-hit != 'true'
+ - name: 'build gnutls'
+ if: steps.cache-gnutls.outputs.cache-hit != 'true'
run: |
cd $HOME
git clone --quiet --depth=1 -b ${{ env.gnutls-version }} https://github.com/gnutls/gnutls.git
--disable-guile --disable-doc --disable-tests --disable-tools
make
make install
- name: 'build gnutls'
- - if: steps.cache-wolfssl.outputs.cache-hit != 'true'
+ - name: 'build wolfssl'
+ if: steps.cache-wolfssl.outputs.cache-hit != 'true'
run: |
cd $HOME
git clone --quiet --depth=1 -b v${{ env.wolfssl-version }}-stable https://github.com/wolfSSL/wolfssl.git
--disable-benchmark --disable-crypttests --disable-examples --prefix=$PWD/build
make
make install
- name: 'build wolfssl'
- - if: steps.cache-nghttp3.outputs.cache-hit != 'true'
+ - name: 'build nghttp3'
+ if: steps.cache-nghttp3.outputs.cache-hit != 'true'
run: |
cd $HOME
git clone --quiet --depth=1 -b v${{ env.nghttp3-version }} https://github.com/ngtcp2/nghttp3
--enable-lib-only
make
make install
- name: 'build nghttp3'
- - if: steps.cache-ngtcp2.outputs.cache-hit != 'true'
+ - name: 'build ngtcp2'
+ if: steps.cache-ngtcp2.outputs.cache-hit != 'true'
run: |
cd $HOME
git clone --quiet --depth=1 -b v${{ env.ngtcp2-version }} https://github.com/ngtcp2/ngtcp2
PKG_CONFIG_PATH="$HOME/quictls/build/lib/pkgconfig:$HOME/gnutls/build/lib/pkgconfig:$HOME/wolfssl/build/lib/pkgconfig" \
--enable-lib-only --with-openssl --with-gnutls --with-wolfssl
make install
- name: 'build ngtcp2'
- - if: steps.cache-nghttp2.outputs.cache-hit != 'true'
+ - name: 'build nghttp2'
+ if: steps.cache-nghttp2.outputs.cache-hit != 'true'
run: |
cd $HOME
git clone --quiet --depth=1 -b v${{ env.nghttp2-version }} https://github.com/nghttp2/nghttp2
LDFLAGS="-Wl,-rpath,$HOME/quictls/build/lib" \
--enable-http3
make install
- name: 'build nghttp2'
linux:
name: ${{ matrix.build.generate && 'CM' || 'AM' }} ${{ matrix.build.name }}
-DCURL_CA_FALLBACK=ON
steps:
- - run: |
+ - name: 'install prereqs'
+ run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update -y
sudo apt-get install -y --no-install-suggests --no-install-recommends \
python3 -m venv $HOME/venv
echo 'CC=gcc-12' >> $GITHUB_ENV
echo 'CXX=g++-12' >> $GITHUB_ENV
- name: 'install prereqs'
- - name: cache quictls
+ - name: 'cache quictls'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-quictls-no-deprecated
env:
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.quictls-version }}
fail-on-cache-miss: true
- - name: cache gnutls
+ - name: 'cache gnutls'
if: matrix.build.name == 'gnutls'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-gnutls
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.gnutls-version }}
fail-on-cache-miss: true
- - name: cache wolfssl
+ - name: 'cache wolfssl'
if: matrix.build.name == 'wolfssl'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-wolfssl
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.wolfssl-version }}
fail-on-cache-miss: true
- - name: cache nghttp3
+ - name: 'cache nghttp3'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-nghttp3
env:
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.nghttp3-version }}
fail-on-cache-miss: true
- - name: cache ngtcp2
+ - name: 'cache ngtcp2'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-ngtcp2
env:
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.ngtcp2-version }}-${{ env.quictls-version }}-${{ env.gnutls-version }}-${{ env.wolfssl-version }}
fail-on-cache-miss: true
- - name: cache nghttp2
+ - name: 'cache nghttp2'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-nghttp2
env:
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.nghttp2-version }}-${{ env.quictls-version }}-${{ env.ngtcp2-version }}-${{ env.nghttp3-version }}
fail-on-cache-miss: true
- - name: cache openssl
+ - name: 'cache openssl'
if: matrix.build.name == 'openssl-quic'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-openssl
make -j1 install_sw
cat exporters/openssl.pc
- - name: cache quiche
+ - name: 'cache quiche'
if: matrix.build.name == 'quiche'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
id: cache-quiche
path: ~/quiche
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.quiche-version }}
- - if: matrix.build.name == 'quiche' && steps.cache-quiche.outputs.cache-hit != 'true'
+ - name: 'build quiche and boringssl'
+ if: matrix.build.name == 'quiche' && steps.cache-quiche.outputs.cache-hit != 'true'
run: |
cd $HOME
git clone --quiet --depth=1 -b ${{ env.quiche-version }} --recursive https://github.com/cloudflare/quiche.git
# $HOME/quiche/quiche/deps/boringssl/src/include
# lib dir
# $HOME/quiche/quiche/deps/boringssl/src/lib
- name: 'build quiche and boringssl'
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- - run: autoreconf -fi
+ - name: 'autoreconf'
if: ${{ matrix.build.configure }}
- name: 'autoreconf'
+ run: autoreconf -fi
- name: 'configure'
run: |
make V=1
fi
- - run: ./src/curl -V
- name: 'check curl -V output'
+ - name: 'check curl -V output'
+ run: ./src/curl -V
- name: 'build tests'
run: |
container: 'alpine:3.18'
steps:
- - if: matrix.build.container == null && !contains(matrix.build.name, 'i686')
+ - name: 'install prereqs'
+ if: matrix.build.container == null && !contains(matrix.build.name, 'i686')
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update -y
libpsl-dev libbrotli-dev libzstd-dev \
${{ matrix.build.install_packages }}
python3 -m venv $HOME/venv
- name: 'install prereqs'
- - if: contains(matrix.build.name, 'i686')
+ - name: 'install prereqs'
+ if: contains(matrix.build.name, 'i686')
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo dpkg --add-architecture i386
libpsl-dev:i386 libbrotli-dev:i386 libzstd-dev:i386 \
${{ matrix.build.install_packages }}
python3 -m venv $HOME/venv
- name: 'install prereqs'
- - if: contains(matrix.build.install_steps, 'pytest')
+ - name: 'install prereqs for pytest'
+ if: contains(matrix.build.install_steps, 'pytest')
run: |
sudo apt-get install -y --no-install-suggests --no-install-recommends \
apache2 apache2-dev libnghttp2-dev vsftpd
- name: 'install prereqs for pytest'
- - if: startsWith(matrix.build.container, 'alpine')
+ - name: 'install dependencies'
+ if: startsWith(matrix.build.container, 'alpine')
run: |
apk add --no-cache build-base autoconf automake libtool perl openssl-dev libssh2-dev \
zlib-dev brotli-dev zstd-dev libidn2-dev openldap-dev heimdal-dev libpsl-dev \
py3-impacket py3-asn1 py3-six py3-pycryptodomex \
perl-time-hires openssh stunnel sudo git
- name: 'install dependencies'
- - name: 'Fix kernel mmap rnd bits'
+ - name: 'fix kernel mmap rnd bits'
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
cd rustls-ffi
make DESTDIR=$HOME/rustls install
- - if: contains(matrix.build.install_steps, 'intel')
+ - name: 'install Intel compilers'
+ if: contains(matrix.build.install_steps, 'intel')
run: |
cd /tmp
curl -sSf --compressed https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | sudo apt-key add -
sudo apt install --no-install-recommends intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
- name: 'install Intel compilers'
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- - run: autoreconf -fi
+ - name: 'autoreconf'
if: ${{ matrix.build.configure }}
- name: 'autoreconf'
+ run: autoreconf -fi
- name: 'configure'
run: |
if: ${{ matrix.build.make-custom-target != 'tidy' }}
run: ./src/curl -V
- - run: cmake --install . --prefix $HOME/curl --strip
+ - name: 'cmake install'
if: ${{ matrix.build.generate }}
- name: 'cmake install'
+ run: cmake --install . --prefix $HOME/curl --strip
- name: 'build tests'
if: ${{ matrix.build.install_steps != 'skipall' }}
CC+=" --target=$(uname -m)-apple-darwin"
fi
- if [ -n '${{ matrix.build.configure }}' ]; then
+ if [ -n '${{ matrix.build.generate }}' ]; then
+ [ -n '${{ matrix.build.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.build.macos-version-min }}'
+ cmake -B bld -G Ninja -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \
+ -DCMAKE_OSX_SYSROOT="${sysroot}" \
+ -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \
+ ${{ matrix.build.generate }} ${options}
+ else
export CFLAGS
if [[ '${{ matrix.compiler }}' = 'llvm'* ]]; then
options+=" --target=$(uname -m)-apple-darwin"
--disable-dependency-tracking \
--with-libpsl=$(brew --prefix libpsl) \
${{ matrix.build.configure }} ${options}
- else
- [ -n '${{ matrix.build.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.build.macos-version-min }}'
- cmake -B bld -G Ninja -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \
- -DCMAKE_OSX_SYSROOT="${sysroot}" \
- -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \
- ${{ matrix.build.generate }} ${options}
fi
- name: 'configure log'
- name: 'build-cert'
if: contains(matrix.build.generate, '-DCURL_USE_SECTRANSP=ON') || contains(matrix.build.configure, '--with-secure-transport')
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld/tests/certs clean-certs
- make -C bld/tests/certs build-certs -j1
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --target clean-certs
cmake --build bld --target build-certs --parallel 1
+ else
+ make -C bld/tests/certs clean-certs
+ make -C bld/tests/certs build-certs -j1
fi
- name: 'build'
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld V=1
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --verbose
+ else
+ make -C bld V=1
fi
- name: 'curl version'
- name: 'build tests'
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld V=1 -C tests
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --target testdeps
+ else
+ make -C bld V=1 -C tests
fi
- name: 'install test prereqs'
fi
source $HOME/venv/bin/activate
rm -f $HOME/.curlrc
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld V=1 ${{ matrix.build.torture && 'test-torture' || 'test-ci' }}
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --target ${{ matrix.build.torture && 'test-torture' || 'test-ci' }}
+ else
+ make -C bld V=1 ${{ matrix.build.torture && 'test-torture' || 'test-ci' }}
fi
- name: 'build examples'
if: ${{ contains(matrix.build.name, '+examples') }}
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld examples V=1
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --target curl-examples --verbose
+ else
+ make -C bld examples V=1
fi
combinations: # Test buildability with host OS, Xcode / SDK, compiler, target-OS, Secure Transport/not, built tool, combinations
CC+=" --target=$(uname -m)-apple-darwin"
fi
- if [ '${{ matrix.build }}' = 'autotools' ]; then
+ if [ '${{ matrix.build }}' = 'cmake' ]; then
+ [ '${{ matrix.config }}' = 'OpenSSL' ] && options+=' -DCURL_USE_OPENSSL=ON'
+ [ '${{ matrix.config }}' = 'SecureTransport' ] && options+=' -DCURL_USE_SECTRANSP=ON'
+ [ -n '${{ matrix.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.macos-version-min }}'
+ # would pick up nghttp2, libidn2, and libssh2
+ cmake -B bld -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \
+ -DCMAKE_OSX_SYSROOT="${sysroot}" \
+ -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \
+ -DCMAKE_IGNORE_PREFIX_PATH="$(brew --prefix)" \
+ -DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF \
+ -DUSE_NGHTTP2=OFF -DUSE_LIBIDN2=OFF \
+ -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF \
+ ${options}
+ else
export CFLAGS
if [[ '${{ matrix.compiler }}' = 'llvm'* ]]; then
options+=" --target=$(uname -m)-apple-darwin"
--without-nghttp2 --without-libidn2 \
--without-libpsl \
${options}
- else
- [ '${{ matrix.config }}' = 'OpenSSL' ] && options+=' -DCURL_USE_OPENSSL=ON'
- [ '${{ matrix.config }}' = 'SecureTransport' ] && options+=' -DCURL_USE_SECTRANSP=ON'
- [ -n '${{ matrix.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.macos-version-min }}'
- # would pick up nghttp2, libidn2, and libssh2
- cmake -B bld -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \
- -DCMAKE_OSX_SYSROOT="${sysroot}" \
- -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \
- -DCMAKE_IGNORE_PREFIX_PATH="$(brew --prefix)" \
- -DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF \
- -DUSE_NGHTTP2=OFF -DUSE_LIBIDN2=OFF \
- -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF \
- ${options}
fi
- name: 'configure log'
- name: 'configure'
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- mkdir bld && cd bld && ../configure --enable-unity --enable-test-bundles --enable-warnings --enable-werror \
- --disable-dependency-tracking \
- CFLAGS="-isysroot $(xcrun --sdk iphoneos --show-sdk-path 2>/dev/null)" \
- --host=aarch64-apple-darwin \
- --with-apple-idn \
- ${{ matrix.build.configure }}
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
export OPENSSL_DIR=/
# https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-ios-tvos-visionos-or-watchos
[ -n '${{ matrix.build.generator }}' ] && options='-G ${{ matrix.build.generator }}'
-DCMAKE_SYSTEM_NAME=iOS \
-DUSE_APPLE_IDN=ON \
${{ matrix.build.generate }} ${options}
+ else
+ mkdir bld && cd bld && ../configure --enable-unity --enable-test-bundles --enable-warnings --enable-werror \
+ --disable-dependency-tracking \
+ CFLAGS="-isysroot $(xcrun --sdk iphoneos --show-sdk-path 2>/dev/null)" \
+ --host=aarch64-apple-darwin \
+ --with-apple-idn \
+ ${{ matrix.build.configure }}
fi
- name: 'configure log'
- name: 'build'
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld V=1
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --verbose
+ else
+ make -C bld V=1
fi
- name: 'curl info'
- name: 'build tests'
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld V=1 -C tests
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --target testdeps --verbose
+ else
+ make -C bld V=1 -C tests
fi
- name: 'build examples'
run: |
- if [ -n '${{ matrix.build.configure }}' ]; then
- make -C bld examples V=1
- else
+ if [ -n '${{ matrix.build.generate }}' ]; then
cmake --build bld --target curl-examples --verbose
+ else
+ make -C bld examples V=1
fi
android: