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

configure.ac

Blame
  • configure.ac 5.05 KiB
    # Process this file with autoconf to produce a configure script.
    
    AC_PREREQ(2.52)
    AC_INIT([albert], [1.1], [dani@mathematik.uni-freiburg.de])
    
    AC_CONFIG_SRCDIR([ALBERT/src/Common/albert.h])
    
    AC_CONFIG_FILES([Makefile BLAS/Makefile ALBERT_UTIL/Makefile
    		 SOLVER/Makefile SOLVER/src/Makefile
    		 PLOT_ANSI/Makefile PLOT_ANSI/src/Makefile
    		 DEMO/src/Makefile
    		 DEMO/src/1d/Makefile DEMO/src/2d/Makefile DEMO/src/3d/Makefile
    		 ALBERT/Makefile ALBERT/src/Makefile
    		 ALBERT/src/ALBERT11_0/Makefile ALBERT/src/ALBERT11_1/Makefile
    		 ALBERT/src/ALBERT12_0/Makefile ALBERT/src/ALBERT12_1/Makefile
    		 ALBERT/src/ALBERT22_0/Makefile ALBERT/src/ALBERT22_1/Makefile
    		 ALBERT/src/ALBERT23_0/Makefile ALBERT/src/ALBERT23_1/Makefile
    		 ALBERT/src/ALBERT33_0/Makefile ALBERT/src/ALBERT33_1/Makefile
    		 ALBERT/src/ALBERT11_01/Makefile ALBERT/src/ALBERT11_11/Makefile
    		 ALBERT/src/ALBERT12_01/Makefile ALBERT/src/ALBERT12_11/Makefile
    		 ALBERT/src/ALBERT22_01/Makefile ALBERT/src/ALBERT22_11/Makefile
    		 ALBERT/src/ALBERT23_01/Makefile ALBERT/src/ALBERT23_11/Makefile
    		 ALBERT/src/ALBERT33_01/Makefile ALBERT/src/ALBERT33_11/Makefile
    		 ALBERT/src/Common/Makefile ALBERT/src/Common/Makefile.albert])
    
    
    AM_INIT_AUTOMAKE([1.6])
    AM_CONFIG_HEADER([config.h])
    
    # Checks for programs.
    AC_PROG_INSTALL
    AC_PROG_LN_S
    AC_PROG_CC
    AC_PROG_F77
    
    AC_PROG_LIBTOOL
    
    # change the installation directory. This could surely be done more elegantly...
    AC_PREFIX_DEFAULT([`pwd`])
    
    # Checks for libraries.
    
    # Replace `main' with a function in -lm:
    AC_CHECK_LIB([m],[main],,
                 [AC_MSG_ERROR([no lm library, exiting...!])] )
    
    AC_CHECK_FUNCS([alarm pow sqrt strdup strchr strstr],,
    	       [AC_MSG_ERROR([Sorry, these are needed..])])
    
    AC_FUNC_MALLOC
    AC_FUNC_VPRINTF
    
    # look for X11 library paths AND sets all necessary flags (X_CFLAGS) e.g.
    AC_PATH_XTRA
    
    # Checks for header files.
    AC_HEADER_STDC
    AC_CHECK_HEADERS([malloc.h unistd.h X11/Xlib.h X11/Xutil.h],,
    		 [AC_MSG_ERROR([Exiting...])])
    AC_CHECK_HEADERS([GL/gl.h GL/glx.h rpc/xdr.h],,[AC_MSG_ERROR([Exiting...])])
    
    # Checks for typedefs, structures, and compiler characteristics.
    AC_C_CONST
    AC_TYPE_SIZE_T
    AC_TYPE_SIGNAL
    
    
    # ******************************************************************************
    # These are our own tests
    # ******************************************************************************
    
    plot_for_sun=true
    plot_for_ibm=false
    plot_for_tit=false
    
    case "$build_vendor" in
    *sgi*)	AC_MSG_RESULT([Building for SGI system, affects PLOT_Ansi...]);;
    *ibm*)	AC_MSG_RESULT([Building for IBM system, affects PLOT_Ansi...])
           	plot_for_ibm=true
           	plot_for_sun=false;;
    *sun*)	AC_MSG_RESULT([Building fo a SUN system, affects PLOT_Ansi and xdr-routines...])
    	AC_CHECK_LIB(nsl, main);;
    esac
    
    case "$build" in
    *titan*) AC_MSG_RESULT([Building for TITAN cpu/vendor/system?, affects PLOT_Ansi...])
           plot_for_tit=true
           plot_for_sun=false;;
    esac
    
    case "$build_os" in
    *linux*)
    	AC_CHECK_LIB(g2c, main)
    	AC_CHECK_LIB(blas, main,,
    		[AC_MSG_WARN([Problems with libblas, also tried lg2c for Linux...])
    		make_own_blas_lib=libblas.la],
    		[-lg2c])
    	AC_CHECK_LIB(X11, main,,
    		[AC_MSG_ERROR([Exiting...])],
    		[-L$x_libraries])
    	AC_CHECK_LIB(Xext, main,,
    		[AC_MSG_ERROR([Exiting...])],
    		[-L$x_libraries])
    	AC_CHECK_LIB(MesaGL, main,,
    		[AC_CHECK_LIB(GL,main)],
    		[-L$x_libraries])
    ;;
    *)
    	AC_CHECK_LIB(X11, main,,
    		[AC_MSG_ERROR(Exiting...)])
    	AC_CHECK_LIB(Xext, main,,
    		[AC_MSG_ERROR(Exiting...)])
    	AC_CHECK_LIB(gl, main)
    	AC_CHECK_LIB(GL, main)
    	AC_CHECK_LIB(blas, main,,
    		[AC_MSG_WARN([Problems with libblas, creating our own...])
    		make_own_blas_lib=libblas.la])
    ;;
    esac
    
    AC_CHECK_LIB(dl, main) 
    
    gltools_include=
    LIBGLTOOLS_PRESENT=
    AC_MSG_CHECKING([for libgltools.a])
    AC_ARG_WITH(gltools,
    [  --with-gltools=PATH     specify the absolute path of the gltools library],
    [if test -f $withval/gltools-2-3/libgltools.a; then
    	AC_MSG_RESULT([Found libgltools.a in specified directory $withval/gltools-2-3.])
    	gltools_include="-I$withval/gltools-2-3"
    	AC_DEFINE(HAVE_LIBGLTOOLS,1,
    		  [Define to 1 if you have the `gltools-2-3' library (-lgltools)])
    	
    	LIBGLTOOLS_PRESENT=1
    	LIBS="-L$withval/gltools-2-3 -lgltools $LIBS"
    else
    	AC_MSG_RESULT([*** No libgltools.a found in $withval/gltools-2-3.])
    fi],
    [if test -f ./gltools-2-3/libgltools.a; then
    	AC_MSG_RESULT([Found libgltools.a in default directory ./gltools-2-3])
    	gltools_include="-I`pwd`/gltools-2-3"
    	AC_DEFINE(HAVE_LIBGLTOOLS,1,
    		  [Define to 1 if you have the `gltools-2-3' library (-lgltools)])
    	LIBGLTOOLS_PRESENT=1
    	LIBS="-L`pwd`/gltools-2-3 -lgltools $LIBS"
    else
    	AC_MSG_RESULT([*** No libgltools.a found in ./gltools-2-3])
    fi])
    
    ELINDEX=
    AC_ARG_ENABLE(el_index,
    [  --enable-el_index       also build a version of ALBERT libraries using EL_INDEX=1 (default is off)],
    [ELINDEX=1])
    
    AM_CONDITIONAL(PLOT_FOR_SUN, test x$plot_for_sun = xtrue)
    AM_CONDITIONAL(PLOT_FOR_IBM, test x$plot_for_ibm = xtrue)
    AM_CONDITIONAL(PLOT_FOR_TIT, test x$plot_for_tit = xtrue)
    AM_CONDITIONAL(USE_GLTOOLS, test x$LIBGLTOOLS_PRESENT = x1)
    AM_CONDITIONAL(USE_EL_INDEX, test x$ELINDEX = x1)
    
    AC_SUBST(gltools_include)
    AC_SUBST(make_own_blas_lib)
    AC_SUBST(LIBGLTOOLS_PRESENT)
    
    AC_OUTPUT