# Process this file with autoconf to produce a configure script. AC_INIT([Tracy], [3.10], [nadolski@synchrotron-soleil.fr]) # Set auxilliary directory for config files AC_CONFIG_AUX_DIR(config) # Set system variables build host target AC_CANONICAL_SYSTEM #INIT AUTOMAKE AM_INIT_AUTOMAKE([-Wall]) # Configuration for autoconf AC_CONFIG_SRCDIR([tracy/src/t2elem.cc]) # Important header files #AC_CONFIG_HEADER([config.h]) AC_HEADER_RESOLV AC_CHECK_HEADERS([config.h sys/time.h malloc.h memory.h stdio.h stddef.h time.h]) # Checks for programs. # Check for AWK AC_PROG_AWK #Check for C compile AC_PROG_CC([mpicc gcc icc cc]) #Check for standard C compiler AM_PROG_CC_STDC #Check for install AC_PROG_INSTALL #Check for ln -s AC_PROG_LN_S #Check for C preprocessor AC_PROG_CPP #Check for ranlib AC_PROG_RANLIB #Check for C++ compiler AC_PROG_CXX #Check for compiler AC_PROG_F77(gfortran) # Configure option: --enable-debug[=no] AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], [enable debug code (default is no)])], [debug="$withval"], [debug=no]) # Configure option: --enable-mpi-exec AC_ARG_ENABLE([mpi_exec], [ --enable-mpi-exec enable mpi exec], [mpi_exec=${enableval}], [mpi_exec=no]) # Checks for libraries. AC_SEARCH_LIBS([mpi_init], [mpichcxx], [have_pthreads=yes]) # Force malloc(0) to be NULL pointer AC_FUNC_MALLOC # NR #AC_SEARCH_LIBS([dsvbk], [recipes_c_icc]) # Checks for header files. AC_CHECK_HEADERS([stdlib.h string.h]) # If MPI compitation asked, check whether header is available if test "x${mpi_exec}" = xyes; then have_mpi=no # seems not working on the Cluser WHY AC_CHECK_HEADERS([mpi.h], [have_mpi=yes], [have_mpi=no]) if test "x${have_mpi}" = xno; then AC_MSG_WARN([ ------------------------------------------- Unable to find mpi library on this system. Check 'config.log' for more information. -----------------------------------------]) else AC_MSG_NOTICE([ ------------------------------------------- mpi library found on this system. Building parallel version Check 'config.log' for more information. -----------------------------------------]) AC_DEFINE([MPI_EXEC], 1, [mpi executation enabled]) fi # BUG sur ISEI pas possible trouver mpi.h AC_DEFINE([MPI_EXEC], 1, [mpi executation enabled]) have_mpi=yes fi # Configure supported platforms case $target_os in linux-gnu) #Compilation optionss CXXFLAGS="$CXXFLAGS -Wall -fno-implicit-templates " # C++ options CFLAGS="$CFLAGS -Wall-fno-implicit-templates " # C options FFLAGS="$FFLAGS -Wall -fbounds-check" # Fortran options if test "x$HOSTNAME" = xisei; then #Define isei special compilers if test "x$have_mpi" = xyes; then # mpi compilers AC_MSG_NOTICE([MPI compilation available for $HOSTNAME]) CC=mpiicc F77=mpiifort CXX=mpiicpc else # no mpi AC_MSG_NOTICE([Intel compilation for $HOSTNAME]) CC=icc F77=ifort CXX=icpc fi fi;; apple-darwin);; #INSTALL-DATA-EXEC=$(HOME)/bin :q *) CC=gcc;; esac # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T # Checks for library functions. AC_CONFIG_FILES(Makefile TPSA/Makefile tracy/Makefile tracy/src/Makefile tools/Makefile) AC_OUTPUT echo \ "----------------------------------------------------- ${PACKAGE_NAME} Version ${PACKAGE_VERSION} SYNCHROTRON SOLEIL Prefix.........: ${prefix} Compiler.......: ${CC} ${CFLAGS} ${CPPFLAGS} Compiler C++...: ${CXX} ${CXXFLAGS} ${CPPFLAGS} Debug Build....: ${debug} Libraries......: ${LIBS} Extra argument: --enable-mpi-exec=yes/no Package features: Parallel computation using mpi: ${mpi_exec} Now type 'make @<:@@:>@' where the optional is: all - build all binaries check - run simple test file install - (to be done) distclean - Clean distribution dist - make tar.gz (to me done) distcheck - check -----------------------------------------------------"