Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
62
63
64
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Process this file with autoconf to produce a configure script.
#AC_INIT(tracy/src/t2elem.cc)
AC_INIT([Tracy], [3.0], [nadolski@synchrotron-soleil.fr])
AC_CONFIG_AUX_DIR(config)
AC_CANONICAL_SYSTEM
#INIT AUTOMAKE
AM_INIT_AUTOMAKE([-Wall])
# Configuration for autoconf
AC_CONFIG_SRCDIR([tracy/src/t2elem.cc])
AC_CONFIG_HEADER([config.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 make
AC_PROG_MAKE_SET
#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])
# 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="-O2 -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
AC_MSG_NOTICE([Intel compilation for $HOSTNAME])
CC=icc
F77=ifort
CXX=icpc
fi
fi;;
apple-darwin);;
*)
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}
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
-----------------------------------------------------"