Build on macOS 14 arm64

This commit is contained in:
Eduardo Arias 2024-05-20 21:41:12 +00:00
parent f04dcc0262
commit e31ff7e60b
4 changed files with 60 additions and 24 deletions

View File

@ -78,7 +78,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [macos-12] os: [macos-14]
configure: configure:
- {label: "with parser generation", opt: "--enable-parser-generation" } - {label: "with parser generation", opt: "--enable-parser-generation" }
- {label: "wo curl", opt: "--without-curl" } - {label: "wo curl", opt: "--without-curl" }
@ -91,10 +91,12 @@ jobs:
- {label: "with pcre2", opt: "--with-pcre2" } - {label: "with pcre2", opt: "--with-pcre2" }
steps: steps:
- name: Setup Dependencies - name: Setup Dependencies
# autoconf, curl, pcre2 not installed because they're already # curl, pcre2 not installed because they're already
# included in the image # included in the image
run: | run: |
brew install automake \ brew install autoconf \
automake \
libtool \
yajl \ yajl \
lmdb \ lmdb \
lua \ lua \

View File

@ -27,6 +27,16 @@ else
AC_MSG_CHECKING([for libpcre config script]) AC_MSG_CHECKING([for libpcre config script])
AC_CHECK_PROG([PCRE_CONFIG_IN_ENV], [pcre-config], [yes], [no])
if test "$PCRE_CONFIG_IN_ENV" = "yes"; then
AC_MSG_NOTICE([pcre-config found in envinronment])
PCRE_CONFIG=pcre-config
pcre_path="no"
else
AC_MSG_NOTICE([pcre-config not found in environment. checking known paths])
for x in ${test_paths}; do for x in ${test_paths}; do
dnl # Determine if the script was specified and use it directly dnl # Determine if the script was specified and use it directly
if test ! -d "$x" -a -e "$x"; then if test ! -d "$x" -a -e "$x"; then
@ -51,6 +61,7 @@ else
break break
fi fi
done done
fi
if test -n "${pcre_path}"; then if test -n "${pcre_path}"; then
if test "${pcre_path}" != "no"; then if test "${pcre_path}" != "no"; then

View File

@ -78,6 +78,29 @@ else
# fi # fi
fi fi
# FIX: if the include directory in CFLAGS ends with "include/yajl",
# remove the suffix "/yajl". the library header files are included
# using the prefix (for example, #include <yajl/yajl_tree.h>), and
# this is even the case for the library itself (for example,
# yajl_tree.h includes yajl/yajl_common.h).
new_cflags=""
for flag in $YAJL_CFLAGS; do
case "$flag" in
-I*/include/yajl)
new_flag="${flag%/yajl}"
new_cflags="$new_cflags $new_flag"
;;
*)
new_cflags="$new_cflags $flag"
;;
esac
done
YAJL_CFLAGS="$new_cflags"
if test -z "${YAJL_LDADD}"; then if test -z "${YAJL_LDADD}"; then
if test -z "${YAJL_MANDATORY}"; then if test -z "${YAJL_MANDATORY}"; then
if test -z "${YAJL_DISABLED}"; then if test -z "${YAJL_DISABLED}"; then

View File

@ -164,8 +164,8 @@ AC_CHECK_HEADERS([iostream])
AC_CHECK_HEADERS([sys/utsname.h]) AC_CHECK_HEADERS([sys/utsname.h])
# ?? # Initialize libtool
LT_INIT([dlopen]) LT_INIT
# Identify platform # Identify platform
AC_CANONICAL_HOST AC_CANONICAL_HOST