Skip to content
Snippets Groups Projects
Select Git revision
  • 72d56cfea95b56a5fd5fb7dcc9e9dca62e3c3fdb
  • master default protected
  • releases
  • releases/3.0.3
4 results

albert-check.m4

Blame
  • 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
    ])