diff --git a/.github/workflows/test_build.yml b/.github/workflows/test_build.yml index f87e3eb4098..2e3b45a0300 100644 --- a/.github/workflows/test_build.yml +++ b/.github/workflows/test_build.yml @@ -118,8 +118,6 @@ jobs: echo `brew --prefix make `/libexec/gnubin >> $GITHUB_PATH echo `brew --prefix libtool`/libexec/gnubin >> $GITHUB_PATH echo `brew --prefix bison`/bin >> $GITHUB_PATH - echo "CPPFLAGS=-I$(brew --prefix)/include -I$(brew --prefix libomp)/include -I$(brew --prefix readline)/include" >> $GITHUB_ENV - echo "LDFLAGS= -L$(brew --prefix)/lib -L$(brew --prefix libomp)/lib -L$(brew --prefix readline)/lib" >> $GITHUB_ENV fi - uses: actions/cache@v4 diff --git a/M2/configure.ac b/M2/configure.ac index aed86c7dd26..ee6029b8135 100644 --- a/M2/configure.ac +++ b/M2/configure.ac @@ -352,6 +352,25 @@ AC_SUBST(SIZEOF_INT_P,$ac_cv_sizeof_int_p) AC_CHECK_SIZEOF([long]) AC_SUBST(SIZEOF_LONG,$ac_cv_sizeof_long) +dnl Check for Homebrew packages + +AC_CHECK_PROGS([BREW], [brew], [false]) + +dnl BREW_ADD_FLAG([FORMULA], [DIR], [FLAG], [PREFIX]) +dnl adds PREFIX$(brew --prefix FORMULA)/DIR (if it exists) to FLAG +AC_DEFUN([BREW_ADD_FLAG], + [AS_IF([test "x$BREW" = xbrew -a -d $($BREW --prefix $1)/$2], + [$3="$$3 $4$($BREW --prefix $1)/$2"])]) + +dnl BREW_ADD_FLAGS([FORMULA]) +dnl adds -L$(brew --prefix FORMULA)/lib to LDFLAGS and +dnl -I$(brew --prefix FORMULA)/include to CPPFLAGS +AC_DEFUN([BREW_ADD_FLAGS], + [BREW_ADD_FLAG([$1], [lib], [LDFLAGS], [-L]) + BREW_ADD_FLAG([$1], [include], [CPPFLAGS], [-I])]) + +BREW_ADD_FLAGS + AC_CHECK_HEADERS(sys/ioctl.h termios.h sys/mman.h sys/socket.h netdb.h netinet/in.h arpa/inet.h sys/time.h time.h sys/wait.h sys/resource.h io.h linux/personality.h stddef.h elf.h execinfo.h syscall.h math.h pthread.h assert.h alloca.h malloc.h dlfcn.h) AC_CHECK_HEADERS(winsock2.h) dnl used with ws2_32.dll under mingw64 dnl winsock2.h should be included before including windows.h @@ -577,6 +596,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ dnl Check for openmp and fail if it cannot be found. dnl This is required for building the library csdp and good for building the library normaliz AC_LANG(C++) +BREW_ADD_FLAGS([libomp]) # keg-only AC_OPENMP if test "$ac_cv_prog_cxx_openmp" = unsupported then AC_MSG_ERROR([OpenMP does not work, use a compiler that supports OpenMP]) @@ -1238,7 +1258,8 @@ fi AC_LANG(C) AC_SEARCH_LIBS(tgoto,curses tinfo ncurses,,AC_MSG_ERROR([[not found: library containing symbol tgoto; tried libcurses, libncurses, and libtinfo)]])) if test $BUILD_readline = no -then AC_CHECK_HEADER(readline/readline.h,,BUILD_readline=yes) +then BREW_ADD_FLAGS([readline]) # keg-only + AC_CHECK_HEADER(readline/readline.h,,BUILD_readline=yes) fi if test $BUILD_readline = no then AC_SEARCH_LIBS(rl_set_prompt,readline,,BUILD_readline=yes)