From 14ac365a3e90c02f9d2300b104fe5228751ff4d7 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 12 Jun 2026 17:51:22 +0200 Subject: [PATCH] s1 --- .github/workflows/non-native.yml | 99 ++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/.github/workflows/non-native.yml b/.github/workflows/non-native.yml index 6aca90bbdc..cb8358ab83 100644 --- a/.github/workflows/non-native.yml +++ b/.github/workflows/non-native.yml @@ -286,6 +286,105 @@ jobs: 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 !ssl i586" runs-on: ubuntu-latest