• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: Autotools
2
3on: [push, pull_request]
4
5jobs:
6
7 AutoMakeBuild:
8    name: AutoMake/${{ matrix.config.name }}
9    runs-on: ${{ matrix.config.os }}
10    strategy:
11      fail-fast: false
12      matrix:
13        config:
14        - {
15            name: "Linux/GCC",
16            os: ubuntu-latest,
17            compiler: gcc,
18            automakeconfig:
19          }
20        - {
21            name: "Linux/GCC/EnableAssertions",
22            os: ubuntu-latest,
23            compiler: gcc,
24            buildconfig: --enable-assertions
25          }
26        - {
27            name: "Linux/GCC/EnableCustomModes",
28            os: ubuntu-latest,
29            compiler: gcc,
30            buildconfig: --enable-assertions --enable-custom-modes
31          }
32        - {
33            name: "Linux/GCC/EnableDNN",
34            os: ubuntu-latest,
35            compiler: gcc,
36            buildconfig: --enable-assertions --enable-custom-modes --enable-dred --enable-osce
37          }
38    steps:
39      - uses: actions/checkout@v3
40        # No AutoMake on Mac so let's install it
41      - name: Install AutoConf, AutoMake and LibTool on MacOSX
42        if: matrix.config.os == 'macos-latest'
43        run: brew install autoconf automake libtool
44      - name: Autogen
45        run: CC=${{ matrix.config.compiler }} ./autogen.sh
46      - name: Configure
47        run: CFLAGS="-mavx -mfma -mavx2 -O2 -ffast-math" ./configure --enable-float-approx ${{ matrix.config.buildconfig }}
48      - name: Build
49        run: make -j 2
50      - name: Test
51        run: make check -j 2
52