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
60
61
# 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# 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
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
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])
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
-----------------------------------------------------"