make -C bld examples
fi
- amiga:
- name: "AmigaOS, ${{ matrix.build == 'cmake' && 'CM' || 'AM' }} gcc AmiSSL m68k"
- runs-on: 'ubuntu-latest'
- timeout-minutes: 5
- env:
- MAKEFLAGS: -j 5
- amissl-version: 5.18
- strategy:
- matrix:
- build: [autotools, cmake]
- fail-fast: false
- steps:
- - name: 'install compiler'
- if: ${{ steps.cache-compiler.outputs.cache-hit != 'true' }}
- run: |
- cd "${HOME}" || exit 1
- curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 3 \
- --location https://github.com/bebbo/amiga-gcc/releases/download/Mechen/amiga-gcc.tgz | tar -xz
- cd opt/appveyor || exit 1
- curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 \
- --location https://github.com/jens-maus/amissl/releases/download/${{ env.amissl-version }}/AmiSSL-${{ env.amissl-version }}-SDK.lha --output bin.lha
- 7z x -bd -y bin.lha
- rm -f bin.lha
- mv "$HOME/opt/appveyor" /opt
-
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- persist-credentials: false
-
- - name: 'configure'
- run: |
- if [ '${{ matrix.build }}' = 'cmake' ]; then
- cmake -B bld -G Ninja \
- -DAMIGA=1 \
- -DCMAKE_SYSTEM_NAME=Generic \
- -DCMAKE_SYSTEM_PROCESSOR=m68k \
- -DCMAKE_C_COMPILER_TARGET=m68k-unknown-amigaos \
- -DCMAKE_C_COMPILER=/opt/appveyor/build-agent/opt/amiga/bin/m68k-amigaos-gcc \
- -DCMAKE_C_FLAGS='-O0 -msoft-float -mcrt=clib2' \
- -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON \
- -DCURL_WERROR=ON \
- -DCURL_USE_LIBPSL=OFF \
- -DAMISSL_INCLUDE_DIR=/opt/appveyor/AmiSSL/Developer/include \
- -DAMISSL_STUBS_LIBRARY=/opt/appveyor/AmiSSL/Developer/lib/AmigaOS3/libamisslstubs.a \
- -DAMISSL_AUTO_LIBRARY=/opt/appveyor/AmiSSL/Developer/lib/AmigaOS3/libamisslauto.a
- else
- autoreconf -fi
- mkdir bld && cd bld && ../configure --disable-dependency-tracking --enable-unity --enable-test-bundles --enable-warnings --enable-werror \
- CC=/opt/appveyor/build-agent/opt/amiga/bin/m68k-amigaos-gcc \
- AR=/opt/appveyor/build-agent/opt/amiga/bin/m68k-amigaos-ar \
- RANLIB=/opt/appveyor/build-agent/opt/amiga/bin/m68k-amigaos-ranlib \
- --host=m68k-amigaos \
- --disable-shared \
- --without-libpsl \
- --with-amissl \
- LDFLAGS=-L/opt/appveyor/AmiSSL/Developer/lib/AmigaOS3 \
- CPPFLAGS=-I/opt/appveyor/AmiSSL/Developer/include \
- CFLAGS='-O0 -msoft-float -mcrt=clib2' \
- LIBS='-lnet -lm -latomic'
- fi
-
- - name: 'configure log'
- if: ${{ !cancelled() }}
- run: cat bld/config.log bld/CMakeFiles/CMake*.yaml 2>/dev/null || true
-
- - name: 'curl_config.h'
- run: |
- echo '::group::raw'; cat bld/lib/curl_config.h || true; echo '::endgroup::'
- grep -F '#define' bld/lib/curl_config.h | sort || true
-
- - name: 'build'
- run: |
- if [ '${{ matrix.build }}' = 'cmake' ]; then
- cmake --build bld
- else
- make -C bld
- fi
-
- - name: 'curl info'
- run: find . -type f \( -name curl -o -name '*.a' \) -exec file '{}' \;
-
- - name: 'build tests'
- if: ${{ matrix.build == 'cmake' }} # skip for autotools to save time
- run: |
- if [ '${{ matrix.build }}' = 'cmake' ]; then
- cmake --build bld --target testdeps
- else
- make -C bld -C tests
- fi
-
- - name: 'build examples'
- if: ${{ matrix.build == 'cmake' }} # skip for autotools to save time
- run: |
- if [ '${{ matrix.build }}' = 'cmake' ]; then
- cmake --build bld --target curl-examples
- else
- make -C bld examples
- fi
-
msdos:
name: "MS-DOS, ${{ matrix.build == 'cmake' && 'CM' || 'AM' }} djgpp openssl i586"
runs-on: 'ubuntu-latest'