Skip to content
Snippets Groups Projects
Commit fa0480ad authored by Claus-Justus Heine's avatar Claus-Justus Heine
Browse files

Fixed to work with both versions of ALBERTA (w/o variable DIM)

parent 8b28791d
No related branches found
No related tags found
No related merge requests found
dnl
dnl Check for ALBERTA libraries at given dimensions, taking EL_INDEX and DEBUG
dnl into account. $1 is dimension, $2 is DIM_OF_WORLD.
dnl
dnl old style (ALBERTA-1.2)
dnl
dnl ALBERTA_CHECK(DIM, DIM_OF_WORLD)
dnl
dnl New style: library name is
dnl
dnl libALBERTA<DIM><DOW>_<DEBUG>[EL_INDEX]
dnl
dnl EL_INDEX is present ONLY if it is non-zero
dnl
dnl
dnl
dnl new style (DIM is variable)
dnl
dnl ALBERTA_CHECK(DIM_OF_WORLD)
dnl
dnl New style: library name is
dnl
dnl libALBERTA<DOW>_<DEBUG><EL_INDEX>
dnl
dnl
dnl Check for ALBERTA libraries at given dimensions, taking EL_INDEX and DEBUG
dnl into account. $1 is dimension, $2 is DIM_OF_WORLD.
dnl
AC_DEFUN([ALBERTA_CHECK],
[AC_REQUIRE([ALBERTA_TYPE_SIZES])
AC_REQUIRE([ALBERTA_OPTIONS])
AC_REQUIRE([AC_SET_PREFIX])
AC_REQUIRE([ALBERTA_AUX_CHECK])
#
# Now check for libALBERTA_XXX itself
#
# BIG FAT NOTE:
#
m4_if($#,1,[ALBERTA_CHECK_NEWLIBS($1)],[ALBERTA_CHECK_OLDLIBS($1,$2)])
])
dnl
dnl New-style, only DIM_OF_WORLD is fixed.
dnl
dnl DIM_OF_WORLD is passed in $1
dnl
AC_DEFUN([ALBERTA_CHECK_NEWLIBS],
[
ALBERTA_LIB_$1=ALBERTA$1_${ALBERTA_DEBUG}${EL_INDEX}
ALBERTA_LIB_$1_C=ac_cv_lib_ALBERTA$1_${ALBERTA_DEBUG}${EL_INDEX}
#
AC_CACHE_CHECK([for additional libraries needed to link],
[ac_cv_libalberta$1_gfxlibs],
[ac_cv_libalberta$1_gfxlibs=unset
for GFX_LIBS in "" \
"$OPENGL_LIB ${X_LIBS} -lX11" \
"$GLTOOLS_LIB $OPENGL_LIB ${X_LIBS} -lX11" \
"$PLOT_LIB $OPENGL_LIB ${X_LIBS} -lX11" \
"$GLTOOLS_LIB $PLOT_LIB $OPENGL_LIB ${X_LIBS} -lX11"
do
eval "unset ${ALBERTA_LIB_$1_C}___main"
AC_CHECK_LIB($ALBERTA_LIB_$1, main,
[ac_cv_libalberta$1_gfxlibs="$GFX_LIBS"
break],,
[$CSOLVER_ALL_LIB $GFX_LIBS])
done])
if test "$ac_cv_libalberta$1_gfxlibs" = unset; then
AC_MSG_ERROR([Unable to link a program with lib$ALBERTA_LIB_$1!])
else
ALBERTA_LIBS_$1="-L$ALBERTA_LIB_PATH -l$ALBERTA_LIB_$1 $CSOLVER_ALL_LIB $ac_cv_libalberta$1_gfxlibs"
fi
AC_SUBST([ALBERTA_LIBS_$1])
dnl
dnl search for alberta.h header
dnl
AC_CACHE_CHECK(
[whether alberta.h exist and works with DIM_OF_WORLD=$1],
[ac_cv_header_alberta$1_h],
[ac_alberta_save_CPPFLAGS="$CPPFLAGS"
unset ac_cv_header_alberta_h
CPPFLAGS="-DDIM_OF_WORLD=$1 -DEL_INDEX=${EL_INDEX} -I$ALBERTA_INCLUDE_PATH $CPPFLAGS"
AC_CHECK_HEADERS(alberta.h,
[unset ac_cv_header_alberta_h
ac_cv_header_alberta$1_h=yes],
[ac_cv_header_alberta$1_h=no
AC_MSG_ERROR([Header file "alberta.h" not found])])
CPPFLAGS="$ac_alberta_save_CPPFLAGS"
])
if test $ac_cv_header_alberta$1_h = yes; then
AC_DEFINE([HAVE_ALBERTA$1_H], 1,
[Define if "alberta.h" works with DIM_OF_WORLD=$1.])
fi
])
dnl
dnl Old-style, DIM _and_ DIM_OF_WORLD is fixed.
dnl
dnl DIM is passed in $1
dnl DIM_OF_WORLD is passed in $2
dnl
AC_DEFUN([ALBERTA_CHECK_OLDLIBS],
[
if test "${EL_INDEX}" = "0"; then
ALBERTA_LIB_$1$2=ALBERTA$1$2_${ALBERTA_DEBUG}
ALBERTA_LIB_$1$2_C=ac_cv_lib_ALBERTA$1$2_${ALBERTA_DEBUG}
else
ALBERTA_LIB_$1$2=ALBERTA$1$2_${ALBERTA_DEBUG}${EL_INDEX}
ALBERTA_LIB_$1$2_C=ac_cv_lib_ALBERTA$1$2_${ALBERTA_DEBUG}${EL_INDEX}
fi
#
AC_CACHE_CHECK([for additional libraries needed to link],
[ac_cv_libalberta$1$2_gfxlibs],
[ac_cv_libalberta$1$2_gfxlibs=unset
for GFX_LIBS in "" \
"$OPENGL_LIB ${X_LIBS} -lX11" \
"$GLTOOLS_LIB $OPENGL_LIB ${X_LIBS} -lX11" \
"$PLOT_LIB $OPENGL_LIB ${X_LIBS} -lX11" \
"$GLTOOLS_LIB $PLOT_LIB $OPENGL_LIB ${X_LIBS} -lX11"
do
eval "unset ${ALBERTA_LIB_$1$2_C}___main"
AC_CHECK_LIB($ALBERTA_LIB_$1$2, main,
[ac_cv_libalberta$1$2_gfxlibs="$GFX_LIBS"
break],,
[$CSOLVER_ALL_LIB $GFX_LIBS])
done])
if test "$ac_cv_libalberta$1$2_gfxlibs" = unset; then
AC_MSG_ERROR([Unable to link a program with lib$ALBERTA_LIB_$1$2!])
else
ALBERTA_LIBS_$1$2="-L$ALBERTA_LIB_PATH -l$ALBERTA_LIB_$1$2 $CSOLVER_ALL_LIB $ac_cv_libalberta$1$2_gfxlibs"
fi
AC_SUBST([ALBERTA_LIBS_$1$2])
dnl
dnl search for alberta.h header
dnl
AC_CACHE_CHECK(
[whether alberta.h exist and works with DIM=$1, DIM_OF_WORLD=$2],
[ac_cv_header_alberta$1$2_h],
[ac_alberta_save_CPPFLAGS="$CPPFLAGS"
unset ac_cv_header_alberta_h
CPPFLAGS="-DDIM=$1 -DDIM_OF_WORLD=$2 -DEL_INDEX=${EL_INDEX} -I$ALBERTA_INCLUDE_PATH $CPPFLAGS"
AC_CHECK_HEADERS(alberta.h,
[unset ac_cv_header_alberta_h
ac_cv_header_alberta$1$2_h=yes],
[ac_cv_header_alberta$1$2_h=no
AC_MSG_ERROR([Header file "alberta.h" not found])])
CPPFLAGS="$ac_alberta_save_CPPFLAGS"
])
if test $ac_cv_header_alberta$1$2_h = yes; then
AC_DEFINE([HAVE_ALBERTA$1$2_H], 1,
[Define if "alberta.h" works with DIM=$1 and DIM_OF_WORLD=$2.])
fi
])
dnl dnl
dnl Define this outside ALBERTA_CHECK() so that it can be AC_REQUIRE'd dnl Define this outside ALBERTA_CHECK() so that it can be AC_REQUIRE'd
dnl dnl
...@@ -23,33 +179,6 @@ dnl ...@@ -23,33 +179,6 @@ dnl
AC_DEFUN([ALBERTA_AUX_CHECK], AC_DEFUN([ALBERTA_AUX_CHECK],
[AC_REQUIRE([AC_PATH_X]) [AC_REQUIRE([AC_PATH_X])
AC_REQUIRE([AC_PATH_XTRA]) AC_REQUIRE([AC_PATH_XTRA])
ALBERTA_CHECK_PACKAGE(OpenGL, GL, ${x_libraries}, ${X_LIBS} -lX11,
gl.h, ${x_includes}/GL , optional)
ALBERTA_CHECK_PACKAGE(PLOT, PLOTansi, $ALBERTA_LIB_PATH, $OpenGL_LIB,
PLOTansi.h, $ALBERTA_INCLUDE_PATH, optional)
ALBERTA_CHECK_PACKAGE(gltools, gltools,, $OpenGL_LIB,
glwin.h,, 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)
ALBERTA_CHECK_PACKAGE(alberta_util, alberta_util, $ALBERTA_LIB_PATH, -lm,
alberta_util.h, $ALBERTA_INCLUDE_PATH, required)
ALBERTA_CHECK_PACKAGE(csolver, csolver, $ALBERTA_LIB_PATH,
${FLIBS} -lalberta_util -lm,
oem.h, $ALBERTA_INCLUDE_PATH, required)
])
dnl
dnl Check for ALBERTA libraries at given dimensions, taking EL_INDEX and DEBUG
dnl into account. $1 is dimension, $2 is DIM_OF_WORLD.
dnl
AC_DEFUN([ALBERTA_CHECK],
[AC_REQUIRE([ALBERTA_TYPE_SIZES])
AC_REQUIRE([ALBERTA_OPTIONS])
AC_REQUIRE([AC_SET_PREFIX])
dnl dnl
dnl library location dnl library location
dnl dnl
...@@ -87,55 +216,27 @@ esac], ...@@ -87,55 +216,27 @@ esac],
fi]) fi])
AC_SUBST(ALBERTA_INCLUDE_PATH) AC_SUBST(ALBERTA_INCLUDE_PATH)
dnl dnl
dnl Now check for the library. Take into account that we might need dnl Now check for the libraries ALBERTA might depend on. Take into
dnl gltools and PLOTansi dnl account that we might need gltools and PLOTansi and OpenGL
dnl
AC_REQUIRE([ALBERTA_AUX_CHECK])
dnl dnl
dnl Now check for libALBERTA_XXX itself ALBERTA_CHECK_PACKAGE(OpenGL, GL, ${x_libraries}, ${X_LIBS} -lX11,
dnl gl.h, ${x_includes}/GL ,, optional)
ALBERTA_LIB_$1=ALBERTA$1_${ALBERTA_DEBUG}${EL_INDEX} ALBERTA_CHECK_PACKAGE(PLOT, PLOTansi, $ALBERTA_LIB_PATH, $OPENGL_LIB,
ALBERTA_LIB_$1_C=ac_cv_lib_ALBERTA$1_${ALBERTA_DEBUG}${EL_INDEX} PLOTansi.h, $ALBERTA_INCLUDE_PATH,, optional)
AC_CACHE_CHECK([for additional libraries needed to link], ALBERTA_CHECK_PACKAGE(gltools, gltools,, $OPENGL_LIB,
[ac_cv_libalberta$1_gfxlibs], glwin.h,,, optional)
[ac_cv_libalberta$1_gfxlibs=unset AC_LANG_PUSH(Fortran 77)
for GFX_LIBS in "" \ AC_CHECK_LIB(blas, dnrm2,
"$OpenGL_LIB ${X_LIBS} -lX11" \ [FLIBS="-lblas ${FLIBS}"
"$gltools_LIB $OpenGL_LIB ${X_LIBS} -lX11" \ AC_DEFINE(HAVE_LIBBLAS, 1, [Define to 1 if you have libblas])],
"$PLOT_LIB $OpenGL_LIB ${X_LIBS} -lX11" \ [AC_MSG_ERROR([Required BLAS library was not found])])
"$gltools_LIB $PLOT_LIB $OpenGL_LIB ${X_LIBS} -lX11" AC_LANG_POP(Fortran 77)
do # Cache check-point
eval "unset ${ALBERTA_LIB_$1_C}___main" AC_CACHE_SAVE
AC_CHECK_LIB($ALBERTA_LIB_$1, main, ALBERTA_CHECK_PACKAGE(alberta_util, alberta_util, $ALBERTA_LIB_PATH, -lm,
[ac_cv_libalberta$1_gfxlibs="$GFX_LIBS" alberta_util.h, $ALBERTA_INCLUDE_PATH,, required)
break],, ALBERTA_CHECK_PACKAGE(csolver, csolver, $ALBERTA_LIB_PATH,
[$csolver_LIB $GFX_LIBS]) ${FLIBS} -lalberta_util -lm,
done]) oem.h, $ALBERTA_INCLUDE_PATH,, required)
if test "$ac_cv_libalberta$1_gfxlibs" = unset; then
AC_MSG_ERROR([Unable to link a program with lib$ALBERTA_LIB_$1!])
else
ALBERTA_LIBS_$1="-L$ALBERTA_LIB_PATH -l$ALBERTA_LIB_$1 $csolver_LIB $ac_cv_libalberta$1_gfxlibs"
fi
AC_SUBST([ALBERTA_LIBS_$1])
dnl
dnl search for alberta.h header
dnl
AC_CACHE_CHECK(
[whether alberta.h exist and works with DIM_OF_WORLD=$2],
[ac_cv_header_alberta$2_h],
[ac_alberta_save_CPPFLAGS="$CPPFLAGS"
unset ac_cv_header_alberta_h
CPPFLAGS="-DDIM_OF_WORLD=$2 -DEL_INDEX=${EL_INDEX} -I$ALBERTA_INCLUDE_PATH $CPPFLAGS"
AC_CHECK_HEADERS(alberta.h,
[unset ac_cv_header_alberta_h
ac_cv_header_alberta$2_h=yes],
[ac_cv_header_alberta$2_h=no
AC_MSG_ERROR([Header file "alberta.h" not found])])
CPPFLAGS="$ac_alberta_save_CPPFLAGS"
])
if test $ac_cv_header_alberta$2_h = yes; then
AC_DEFINE([HAVE_ALBERTA$2_H], 1,
[Define if "alberta.h" works with DIM_OF_WORLD=$2.])
fi
]) ])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment