diff --git a/.github/workflows/clang-analyzer.yml b/.github/workflows/clang-analyzer.yml index 9c85c47..4dd1c6e 100644 --- a/.github/workflows/clang-analyzer.yml +++ b/.github/workflows/clang-analyzer.yml @@ -25,7 +25,7 @@ jobs: name: Clang static analysis runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 - run: | set -x sudo apt-get update diff --git a/.github/workflows/coverity-scan.yml b/.github/workflows/coverity-scan.yml index 75ff84e..a40200d 100644 --- a/.github/workflows/coverity-scan.yml +++ b/.github/workflows/coverity-scan.yml @@ -9,7 +9,7 @@ jobs: scan-latest: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 - name: Fetch Dependencies run: | set -x @@ -19,7 +19,8 @@ jobs: - name: Download Coverity Build Tool run: | - wget -q https://scan.coverity.com/download/linux64 --post-data "token=$TOKEN&project=GrumpyOldTroll%2Flibmcrx" -O cov-analysis-linux64.tar.gz + test -n "$TOKEN" + wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=GrumpyOldTroll/libmcrx" -O cov-analysis-linux64.tar.gz mkdir coverity-tools tar xzf cov-analysis-linux64.tar.gz --strip 1 -C coverity-tools rm cov-analysis-linux64.tar.gz diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5913736..f10ddc5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,17 +21,17 @@ on: pull_request: jobs: build_and_test: - name: Autotools build on ${{matrix.os}} using ${{matrix.cc}} ${{matrix.posix}} + name: Autotools build on ${{ matrix.os }} using ${{ matrix.cc }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ubuntu-20.04, macos-11] + os: [ubuntu-24.04, macos-15] cc: [gcc, clang] env: CC: ${{ matrix.cc }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 - name: Fetch Dependencies run: | if [ "$RUNNER_OS" == "Linux" ]; then @@ -42,7 +42,7 @@ jobs: fi if [ "$RUNNER_OS" == "macOS" ]; then set -x - brew install automake autoconf automake libtool + brew install automake autoconf libtool fi - name: Build and Clean run: | diff --git a/Makefile.am b/Makefile.am index df5b812..baa12f9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,7 +79,8 @@ MOSTLYCLEANFILES += $(LINTTARGETS) EXTRA_DIST += src/libmcrx.sym libmcrx_la_LDFLAGS = $(AM_LDFLAGS) \ - -version-info $(LIBMCRX_CURRENT):$(LIBMCRX_REVISION):$(LIBMCRX_AGE) + $(macos_shlib_ldflags) \ + -version-info $(LIBMCRX_CURRENT):$(LIBMCRX_REVISION):$(LIBMCRX_AGE) libmcrx_la_DEPENDENCIES = ${top_srcdir}/src/libmcrx.sym pkgconfigdir = $(libdir)/pkgconfig diff --git a/configure.ac b/configure.ac index fbdac40..51d8cbc 100644 --- a/configure.ac +++ b/configure.ac @@ -82,6 +82,16 @@ my_CFLAGS="-pedantic -Wall -Wextra \ -Wformat-security" AC_SUBST([my_CFLAGS]) +case "$host_os" in + darwin*) + macos_shlib_ldflags="-Wl,-not_for_dyld_shared_cache" + ;; + *) + macos_shlib_ldflags="" + ;; +esac +AC_SUBST([macos_shlib_ldflags]) + AC_CONFIG_FILES([ Makefile ])