Select Git revision
albert-check.m4
albert-check.m4 5.53 KiB
AC_DEFUN([ALBERT_OPTIONS],
[
AC_ARG_ENABLE(el_index,
[ --enable-el_index use an EL_INDEX enabled version of the ALBERT
libraries (default is off)],
[ELINDEX=1],
ELINDEX=)
dnl
AC_ARG_ENABLE(debug,
[ --enable-debug use debug-enabled ALBERT libraries (default: off)],
[ALBERT_DEBUG=1],
ALBERT_DEBUG=0)
])
dnl
dnl Check for ALBERT libraries at given dimensions, taking ELINDEX and DEBUG
dnl into account. $1 is DIM, $2 ist DIM_OF_WORLD
dnl
AC_DEFUN([ALBERT_CHECK],
[AC_REQUIRE([ALBERT_TYPE_SIZES])
AC_REQUIRE([ALBERT_OPTIONS])
AC_REQUIRE([AC_SET_PREFIX])
dnl
dnl library location
dnl
AC_ARG_WITH(albert-libs,
[ --with-albert-libs=LOCATION use ALBERT libraries installed below LOCATION.
The library is expected under "LOCATION/".
Default is the value of the environment variable
ALBERT_LIB_PATH, if set, otherwise 'PREFIX/lib'],
[case "$withval" in
yes|no)
;;
*) ALBERT_LIB_PATH=${withval}
;;
esac],
[if test "x$ALBERT_LIB_PATH" = "x" ; then
ALBERT_LIB_PATH=`eval eval echo ${libdir}`
fi])
AC_SUBST(ALBERT_LIB_PATH)
dnl
dnl next for headers
dnl
AC_ARG_WITH(albert-includes,
[ --with-albert-includes=LOCATION use ALBERT includes installed below
LOCATION. Default is the value of the environment
variable ALBERT_INCLUDE_PATH, if set, otherwise
'PREFIX/include'],
[case "$withval" in
yes|no)
;;
*) ALBERT_INCLUDE_PATH=${withval}
;;
esac],
[if test "x$ALBERT_INCLUDE_PATH" = "x" ; then
ALBERT_INCLUDE_PATH=`eval eval echo ${includedir}`
fi])
AC_SUBST(ALBERT_INCLUDE_PATH)
dnl
dnl Now check for the library. Take into account that we might need
dnl gltools and PLOTansi
dnl
if test "x$_ALBERT_AUX_LIBS_CHECKED_" = "x" ; then
AC_CHECK_PKG(OpenGL, GL, /usr/X11R6/lib, ${X_LIBS} -lX11,
gl.h, /usr/X11R6/include/GL, optional)
AC_CHECK_PKG(PLOT, PLOTansi, $ALBERT_LIB_PATH, $OpenGL_LIB,
PLOTansi.h, $ALBERT_INCLUDE_PATH, optional)
AC_CHECK_PKG(gltools, gltools, `pwd`/../gltools-2-4, $OpenGL_LIB,
glwin.h,`pwd`/../gltools-2-4, optional)
AC_LANG_PUSH(Fortran 77)
AC_CHECK_LIB(blas, dnrm2,
[FLIBS="-lblas ${FLIBS}"
AC_DEFINE(HAVE_LIBBLAS, 1, [Define to 1 if you have libblas])],
[AC_MSG_ERROR([Required BLAS library was not found])])
AC_LANG_POP(Fortran 77)
AC_CHECK_PKG(albert_util, albert_util, $ALBERT_LIB_PATH, -lm,
albert_util.h, $ALBERT_INCLUDE_PATH, required)
AC_CHECK_PKG(csolver, csolver, $ALBERT_LIB_PATH, ${FLIBS} -lalbert_util -lm,
oem.h, $ALBERT_INCLUDE_PATH, required)
_ALBERT_AUX_LIBS_CHECKED_=checked
fi
dnl
dnl Now check for libALBERT_XXX itself
dnl
ALBERT_LIB_$1$2=ALBERT$1$2_${ALBERT_DEBUG}${ELINDEX}
ALBERT_LIB_$1$2_C=ac_cv_lib_ALBERT$1$2_${ALBERT_DEBUG}${ELINDEX}
ALBERT_GFX_LIBS_$1$2=""
AC_CHECK_LIB($ALBERT_LIB_$1$2, main,
[ALBERT_LIBS_$1$2="-L$ALBERT_LIB_PATH -l$ALBERT_LIB_$2$2 $csolver_LIB"],,
$csolver_LIB)
if test "x$ALBERT_LIBS_$1$2" = "x" ; then
if test "x$OpenGL_LIB" = "x" ; then :; else
AC_MSG_NOTICE([Trying again with OpenGL])
ALBERT_GFX_LIBS_$1$2="$OpenGL_LIB ${X_LIB} -lX11"
eval "unset ${ALBERT_LIB_$1$2_C}___main"
AC_CHECK_LIB($ALBERT_LIB_$1$2, main,
[ALBERT_LIBS_$1$2="-L$ALBERT_LIB_PATH -l$ALBERT_LIB_$1$2 $csolver_LIB"],,
$csolver_LIB $ALBERT_GFX_LIBS_$1$2)
if test "x$ALBERT_LIBS_$1$2" = "x" && \
test "x$gltools_LIB" != "x" ; then
AC_MSG_NOTICE([Trying again with gltools])
eval "unset ${ALBERT_LIB_$1$2_C}___main"
ALBERT_GFX_LIBS_$1$2="$gltools_LIB $OpenGL_LIB ${X_LIB} -lX11"
AC_CHECK_LIB($ALBERT_LIB_$1$2, main,
[ALBERT_LIBS_$1$2="-L$ALBERT_LIB_PATH -l$ALBERT_LIB_$1 $csolver_LIB"],,
$csolver_LIB $ALBERT_GFX_LIBS_$1$2)
fi
if test "x$ALBERT_LIBS_$1$2" = "x" && \
test "x$PLOT_LIB" != "x" ; then
AC_MSG_NOTICE([Trying again with PLOTansi])
eval "unset ${ALBERT_LIB_$1$2_C}___main"
ALBERT_GFX_LIBS_$1$2="$PLOT_LIB $OpenGL_LIB ${X_LIB} -lX11"
AC_CHECK_LIB($ALBERT_LIB_$1$2, main,
[ALBERT_LIBS_$1$2="-L$ALBERT_LIB_PATH -l$ALBERT_LIB_$1 $csolver_LIB"],,
$csolver_LIB $ALBERT_GFX_LIBS_$1$2)
fi
if test "x$ALBERT_LIBS_$1$2" = "x" && \
test "x$PLOT_LIB" != "x" && \
test "x$gltools_LIB" != "x" ; then
AC_MSG_NOTICE([Trying again with PLOTansi AND gltools])
eval "unset ${ALBERT_LIB_$1$2_C}___main"
ALBERT_GFX_LIBS_$1$2="$gltools_LIB $PLOT_LIB $OpenGL_LIB ${X_LIB} -lX11"
AC_CHECK_LIB($ALBERT_LIB_$1$2, main,
[ALBERT_LIBS_$1$2="-L$ALBERT_LIB_PATH -l$ALBERT_LIB_$1 $csolver_LIB"],,
$csolver_LIB $ALBERT_GFX_LIBS_$1$2)
fi
fi
fi
dnl
dnl search for albert.h header
dnl
AC_CACHE_CHECK(
[whether albert.h exist and works with DIM=$1 and DIM_OF_WORLD=$2],
[ac_cv_header_albert$1$2_h],
[ac_albert_save_CPPFLAGS="$CPPFLAGS"
unset ac_cv_header_albert_h
CPPFLAGS="-DDIM=$1 -DDIM_OF_WORLD=$2 -DEL_INDEX=${ELINDEX:-0} -I$ALBERT_INCLUDE_PATH $CPPFLAGS"
AC_CHECK_HEADERS(albert.h,
[unset ac_cv_header_albert_h
ac_cv_header_albert$1$2_h=yes],
[ac_cv_header_albert$1$2_h=no
AC_MSG_ERROR([Header file "albert.h" not found])])
CPPFLAGS="$ac_albert_save_CPPFLAGS"
])
if test $ac_cv_header_albert$1$2_h = yes; then
AC_DEFINE([HAVE_ALBERT$1$2_H], 1,
[Define if "albert.h" works with DIM=$1 and DIM_OF_WORLD=$2.])
fi
])