43 lines
1.5 KiB
Plaintext
43 lines
1.5 KiB
Plaintext
dnl Attempt to locate boost libraries.
|
|
dnl
|
|
dnl We explicitly do not use ax_boost_* macros aside from the version checks
|
|
dnl because they are catastrophically broken for any remotely complex setup,
|
|
dnl and I will just end up punching someone if I have to look at any more
|
|
dnl broken M4.
|
|
dnl
|
|
dnl $1 version required
|
|
dnl $2 space delimited list of components required
|
|
dnl
|
|
dnl sets BOOST_LDFLAGS and BOOST_CPPFLAGS
|
|
|
|
AC_DEFUN([NC_BOOST], [
|
|
AC_REQUIRE([NC_BOOST_BASE])
|
|
|
|
for _nc_boost_lib in $2; do
|
|
AS_CASE([$_nc_boost_lib],
|
|
["system"], [NC_BOOST_SYSTEM],
|
|
["thread"], [NC_BOOST_THREAD],
|
|
["filesystem"], [NC_BOOST_FILESYSTEM],
|
|
[AC_MSG_ERROR([unknown boost library $_nc_boost_lib])]
|
|
)
|
|
|
|
dnl find what the variable name is for this package's CPPFLAGS/LIBS
|
|
_NAME="$(echo $_nc_boost_lib | tr "[a-z]" "[A-Z]")"
|
|
_CPPFLAGS_NAME="BOOST_${_NAME}_CPPFLAGS"
|
|
_LDFLAGS_NAME="BOOST_${_NAME}_LDFLAGS"
|
|
|
|
dnl extract the aforementioned variable's values
|
|
_CPPFLAGS="$(eval "echo \$$_CPPFLAGS_NAME")"
|
|
_LDFLAGS="$(eval "echo \$$_LDFLAGS_NAME")"
|
|
|
|
dnl append flags and libs if they don't already exist
|
|
for flag in $_CPPFLAGS; do
|
|
[[[ ! " $BOOST_CPPFLAGS " =~ " $flag " ]]] && BOOST_CPPFLAGS="$BOOST_CPPFLAGS $flag"
|
|
done
|
|
|
|
for lib in $_LDFLAGS; do
|
|
[[[ ! " $BOOST_LDFLAGS " =~ " $lib " ]]] && BOOST_LDFLAGS="$BOOST_LDFLAGS $lib"
|
|
done
|
|
done
|
|
])
|