diff --git a/.github/workflows/build-check-freebsd.yml b/.github/workflows/build-check-freebsd.yml
index 44b4ccc7..e50d7ce2 100644
--- a/.github/workflows/build-check-freebsd.yml
+++ b/.github/workflows/build-check-freebsd.yml
@@ -21,6 +21,6 @@ jobs:
sudo pkg install -y autoconf automake libtool
./automake.sh
./configure
- make
+ make -j"$(nproc)"
make check
make distcheck
\ No newline at end of file
diff --git a/.github/workflows/build-check-linux.yml b/.github/workflows/build-check-linux.yml
index 75f53b3c..6aec8d09 100644
--- a/.github/workflows/build-check-linux.yml
+++ b/.github/workflows/build-check-linux.yml
@@ -15,6 +15,6 @@ jobs:
run: |
./automake.sh
./configure
- make
+ make -j"$(nproc)"
make check
make distcheck
diff --git a/.github/workflows/build-check-macos.yml b/.github/workflows/build-check-macos.yml
index 4046fcf6..c9e5c305 100644
--- a/.github/workflows/build-check-macos.yml
+++ b/.github/workflows/build-check-macos.yml
@@ -18,6 +18,6 @@ jobs:
run: |
./automake.sh
./configure
- make
+ make -j"$(sysctl -n hw.ncpu)"
make check
make distcheck
diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml
index 02d4a0b6..dc6436ac 100644
--- a/.github/workflows/build-release.yml
+++ b/.github/workflows/build-release.yml
@@ -63,7 +63,7 @@ jobs:
run: |
./automake.sh
./configure ${{ matrix.configure_host }}
- make
+ make -j"$(nproc)"
- name: Upload binary artifact
uses: actions/upload-artifact@v7
@@ -117,11 +117,8 @@ jobs:
include:
- arch: amd64
xcxxflags: -arch x86_64 -mmacosx-version-min=10.13
- configure_host: --host=x86_64-apple-darwin
- arch: arm64
- xcxxflags: -mmacosx-version-min=11.0
- - arch: universal
- xcxxflags: -arch x86_64 -arch arm64 -mmacosx-version-min=10.13
+ xcxxflags: -arch arm64 -mmacosx-version-min=11.0
runs-on: macos-latest
@@ -131,13 +128,16 @@ jobs:
- name: prepare
run: brew install automake
+ # NOTE: setting CFLAGS/CXXFLAGS suppresses autoconf's default "-g -O2",
+ # so -O2 must be passed explicitly or the build ends up unoptimised.
- name: Build
env:
- CXXFLAGS: ${{ matrix.xcxxflags }}
+ CFLAGS: -O3 ${{ matrix.xcxxflags }}
+ CXXFLAGS: -O3 ${{ matrix.xcxxflags }}
run: |
./automake.sh
- ./configure ${{ matrix.configure_host }}
- make
+ ./configure
+ make -j"$(sysctl -n hw.ncpu)"
strip par2
- name: Upload binary artifact
@@ -148,6 +148,34 @@ jobs:
par2
retention-days: 5
+ build-macos-universal:
+ needs:
+ - build-macos
+
+ runs-on: macos-latest
+
+ steps:
+ - name: Download slices
+ uses: actions/download-artifact@v7
+ with:
+ pattern: par2cmdline-macos-*
+
+ - name: Create universal binary
+ run: |
+ lipo -create \
+ par2cmdline-macos-amd64/par2 \
+ par2cmdline-macos-arm64/par2 \
+ -output par2
+ lipo -info par2
+
+ - name: Upload binary artifact
+ uses: actions/upload-artifact@v7
+ with:
+ name: par2cmdline-macos-universal
+ path: |
+ par2
+ retention-days: 5
+
build-freebsd:
needs:
- build-check-freebsd
@@ -181,7 +209,7 @@ jobs:
sudo pkg install -y autoconf automake libtool
./automake.sh
./configure
- make
+ make -j"$(nproc)"
strip par2
- name: Upload binary artifact
diff --git a/libpar2.vcxproj b/libpar2.vcxproj
index 5e201779..3ee84908 100644
--- a/libpar2.vcxproj
+++ b/libpar2.vcxproj
@@ -35,7 +35,7 @@
StaticLibrary
Unicode
- v143
+ v145
diff --git a/par2cmdline.vcxproj b/par2cmdline.vcxproj
index 77795e32..85e0247f 100644
--- a/par2cmdline.vcxproj
+++ b/par2cmdline.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/commandline_test.vcxproj b/tests/commandline_test.vcxproj
index 16b2642c..43b34c09 100644
--- a/tests/commandline_test.vcxproj
+++ b/tests/commandline_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/crc_test.vcxproj b/tests/crc_test.vcxproj
index a32dcac5..475f2012 100644
--- a/tests/crc_test.vcxproj
+++ b/tests/crc_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/criticalpacket_test.vcxproj b/tests/criticalpacket_test.vcxproj
index 285beb50..59f80729 100644
--- a/tests/criticalpacket_test.vcxproj
+++ b/tests/criticalpacket_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/descriptionpacket_test.vcxproj b/tests/descriptionpacket_test.vcxproj
index bdc6df70..ae3e4f53 100644
--- a/tests/descriptionpacket_test.vcxproj
+++ b/tests/descriptionpacket_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/diskfile_test.vcxproj b/tests/diskfile_test.vcxproj
index 4ad53f2b..aa487ce4 100644
--- a/tests/diskfile_test.vcxproj
+++ b/tests/diskfile_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/galois_test.vcxproj b/tests/galois_test.vcxproj
index 8238f95f..18bbae7b 100644
--- a/tests/galois_test.vcxproj
+++ b/tests/galois_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/letype_test.vcxproj b/tests/letype_test.vcxproj
index ba9f1c99..90bd5306 100644
--- a/tests/letype_test.vcxproj
+++ b/tests/letype_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/libpar2_test.vcxproj b/tests/libpar2_test.vcxproj
index 00dd4f76..db3c26bd 100644
--- a/tests/libpar2_test.vcxproj
+++ b/tests/libpar2_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/md5_test.vcxproj b/tests/md5_test.vcxproj
index 5ef80c28..1eb48d05 100644
--- a/tests/md5_test.vcxproj
+++ b/tests/md5_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/reedsolomon_test.vcxproj b/tests/reedsolomon_test.vcxproj
index 6aa5194e..ebd8e1f7 100644
--- a/tests/reedsolomon_test.vcxproj
+++ b/tests/reedsolomon_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145
diff --git a/tests/utf8_test.vcxproj b/tests/utf8_test.vcxproj
index 2364fab1..66ad72a4 100644
--- a/tests/utf8_test.vcxproj
+++ b/tests/utf8_test.vcxproj
@@ -35,7 +35,7 @@
Application
Unicode
- v143
+ v145