diff --git a/.github/workflows/distcheck.yml b/.github/workflows/distcheck.yml index 82fd141..bcd04d3 100644 --- a/.github/workflows/distcheck.yml +++ b/.github/workflows/distcheck.yml @@ -28,9 +28,49 @@ jobs: cd .. - name: Configure run: | - autoreconf -i + chmod +x autogen.sh + ./autogen.sh ASAN_OPTIONS=detect_leaks=0 CFLAGS="-fsanitize=address" ./configure --enable-debug - name: Check run: ASAN_OPTIONS=detect_leaks=0 make -j $JOBS check - name: Distcheck run: make -j $JOBS distcheck + + windows: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - name: Check out + uses: actions/checkout@v4 + - name: Install prerequisites + uses: msys2/setup-msys2@v2 + with: + msystem: UCRT64 + update: true + install: >- + mingw-w64-ucrt-x86_64-gcc + mingw-w64-ucrt-x86_64-autotools + mingw-w64-ucrt-x86_64-libtool + mingw-w64-ucrt-x86_64-pkg-config + git + make + - name: Install M4RI + run: | + git clone https://github.com/malb/m4ri + cd m4ri + autoreconf -i + ./configure --prefix=/ucrt64 + make -j $JOBS + make install + cd .. + - name: Configure + run: | + chmod +x autogen.sh + ./autogen.sh + ./configure --enable-debug + - name: Check + run: make -j $JOBS check + - name: Distcheck + run: make -j $JOBS distcheck diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b60d21b..19bf275 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,8 @@ jobs: cd .. - name: Configure run: | - autoreconf -i + chmod +x autogen.sh + ./autogen.sh ./configure - name: Compile run: make -j $JOBS diff --git a/INSTALL b/INSTALL index 7d1c323..59a6da0 100644 --- a/INSTALL +++ b/INSTALL @@ -14,7 +14,7 @@ Basic Installation Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for +more detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not diff --git a/README.md b/README.md index 00d615f..28c8cbe 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ M4RIE is a library for fast arithmetic with dense matrices over GF(2^e) for 2 * asymptotically fast TRiangular System solving with Matrices (upper left, lower left), -* support for Linux, OpenSolaris and OS X (all GCC). +* support for Linux, OpenSolaris and OS X (all GCC). Support for Windows (MSYS2/MinGW) is provided on a best effort basis and may disappear any time. See [Further Reading](https://bitbucket.org/malb/m4rie/wiki/Further%20Reading) for implemented algorithms. @@ -34,7 +34,7 @@ https://github.com/malb/m4ri you need to first run the following command: - autoreconf --install + ./autogen.sh Then do the usual diff --git a/autogen.sh b/autogen.sh new file mode 100644 index 0000000..10b2735 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -e +rm -rf m4rie +ln -sf src m4rie +autoreconf --install diff --git a/m4rie b/m4rie deleted file mode 120000 index e831038..0000000 --- a/m4rie +++ /dev/null @@ -1 +0,0 @@ -src \ No newline at end of file