Skip to content

Commit

Permalink
Merge branch 'master' into strtol_fix
Browse files Browse the repository at this point in the history
  • Loading branch information
tyler92 authored Oct 15, 2024
2 parents 2a8e91c + 6e3f769 commit d121ecc
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 12 deletions.
20 changes: 17 additions & 3 deletions .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ 'macos-12', 'macos-13', 'macos-latest' ]
os: [ 'macos-12', 'macos-13', 'macos-14', 'macos-15' ]
compiler: [ 'gcc', 'clang' ]
sanitizer: [ 'address', 'undefined', 'none' ]
tls: [ 'true', 'false' ]
Expand All @@ -44,9 +44,23 @@ jobs:
if: contains(matrix.os, 'macos')
run: |
if [ ${{ matrix.compiler }} = gcc ]; then compiler=g++; else compiler="clang lld ?exact-name(libclang-rt-dev)"; fi
brew update
brew install meson
# Avoid doing "brew update" - the brew formulas that are
# preinstalled on the github runner image are likely
# consistent with the pre-installed software on the image. If
# we do "brew upate", and then install something new with
# brew, and the "something new" depends on pre-installed
# software on the image, and there are new versions of the
# pre-installed software revealed by doing "brew update", then
# when we install the "something new" brew may try and also
# install a new version of the pre-installed software on which
# the "something new" depends, but that attempt to install a
# new version of the pre-installed software can fail as a
# result of being blocked by the software that is already
# installed.
if ! type "meson" > /dev/null; then brew install meson --overwrite; fi
brew install lcov
brew install --quiet --cask doxygen
brew install googletest
Expand Down
25 changes: 17 additions & 8 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -154,14 +154,23 @@ endif
# #1230.
# Note: If 'dl' is not available, per Meson it suggests that the
# functionality is provided by libc
has_dladdr_func = compiler.has_function('dladdr')
if not has_dladdr_func
libdl_dep += dependency('dl')
has_dladdr_func = compiler.has_function('dladdr', dependencies: libdl_dep)
if not has_dladdr_func
warning('Unable to find dladdr(), even when trying to link to libdl')
endif
libpistache_deps += libdl_dep

# It would be nice to use compiler.has_function('dladdr') to test if
# we need to add libdl, but unfortunately that approach seems to break
# certain Redhat builds, specifically the Redhat builds that use
# ubi-8. In such cases, it appears meson creates a test file that
# includes the comment:
# With some toolchains ... the compiler provides various builtins
# which are not really implemented... [If] the user provides a
# header, including the header didn't lead to the function being
# defined, and the function we are checking isn't a builtin itself,
# we assume the builtin is not functional and error out
# To avoid generating such an error, we take the simpler approach of
# trying to add libdl but making it optional (i.e. not required).
if meson.version().version_compare('>=0.62.0')
deps_libpistache += dependency('dl', required: false)
else
deps_libpistache += compiler.find_library('dl', required: false)
endif

version_array = []
Expand Down
2 changes: 1 addition & 1 deletion version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.4.7.20241013
0.4.8.20241014

0 comments on commit d121ecc

Please sign in to comment.