Newer
Older
# 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
# 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])
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 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])
# no mpi
AC_MSG_NOTICE([Intel compilation for $HOSTNAME])
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 @<:@<target>@:>@'
where the optional <target> 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
-----------------------------------------------------"