3 # Configuration script, to be run before making examples
8 # User-changeable part -------------------------------
11 #LCG platform. Can be needed if external libraries are specified
12 if [ x$MYLCGPLATFORM = x ]; then
13 export MYLCGPLATFORM=x86_64-slc5-gcc43-opt
18 export PYTHIA8LOCATION=..
23 if [ "x$arg" = "x--enable-debug" ] ; then
25 elif [ "x$arg" = "x--enable-shared" ] ; then
27 elif [ "x$arg" = "x--help" ] ; then
28 echo "Usage: ./configure [options] , where options are:"
29 echo "--help : prints this help"
30 echo "--enable-debug : turns on debugging flags and turns off optimization"
31 echo "--enable-shared : use shared library (not yet implemented) (default no)"
32 echo "--lcgplatform=name : LCG platform name, default is slc4_ia32_gcc34"
33 echo "--with-pythia8=p8path : path to pythia8 installation dir to find libs, includes and pars (default is ..)"
34 echo "--with-lhapdf=lhapdfpath : path to LHAPDF libraries dir (LHAPDF must be version 5.3 or higher)"
35 echo "--with-lhapdfversion=v : LHAPDF version (simplified alternative when using CERN AFS MCGenerators, e.g. =5.5.1.a)"
36 echo "--with-lhapdflibname=n : lhapdf library name line (default is -lLHAPDF)"
37 echo "--with-lhapdfsets=path : path to LHAPDF data (default is lhapdfpath/../PDFsets, CERN AFS default is lhapdfpath/../../../share/PDFsets)"
38 echo "--with-fastjet=path : path to fastjet (default = /usr/local)"
39 echo "--with-fastjetversion=v : fastjet version (simplified alternative when using CERN AFS external, e.g. =2.3.3)"
41 elif [ x`echo x${arg} | grep "="` != x ] ; then
42 option=`echo ${arg} | awk -F = '{print $1}'`
43 value=`echo ${arg} | awk -F = '{print $2}'`
44 if [ "x${option}" = "x--lcgplatform" ] ; then
45 MYLCGPLATFORM=${value}
46 elif [ "x${option}" = "x--with-pythia8" ] ; then
47 PYTHIA8LOCATION=${value}
48 elif [ "x${option}" = "x--with-lhapdfversion" ] ; then
49 LHAPDFVERSION=${value}
50 elif [ "x${option}" = "x--with-lhapdf" ] ; then
51 LHAPDFLOCATION=${value}
52 elif [ "x${option}" = "x--with-lhapdflibname" ] ; then
53 LHAPDFLIBNAME=${value}
54 elif [ "x${option}" = "x--with-lhapdfsets" ] ; then
55 LHAPDFSETSLOCATION=${value}
56 elif [ "x${option}" = "x--with-fastjetversion" ] ; then
57 FASTJETVERSION=${value}
58 elif [ "x${option}" = "x--with-fastjet" ] ; then
59 FASTJETLOCATION=${value}
61 echo "${arg}: wrong option. Ignored." >&2
64 echo "${arg}: wrong option. Ignored." >&2
68 echo compilation mode is $COMPMODE
72 # The default values here correspond to CERN AFS (but you may want to change
73 # the version and/or platform).
75 if [ x${LHAPDFLOCATION} != x ]; then
76 if [ x${LHAPDFSETSLOCATION} = x ]; then
77 export LHAPDFSETSLOCATION=${LHAPDFLOCATION}/../PDFsets
78 if [ ! -d ${LHAPDFSETSLOCATION} ]; then
79 export LHAPDFSETSLOCATION=${LHAPDFLOCATION}/../../share/lhapdf/PDFsets
81 if [ ! -d ${LHAPDFSETSLOCATION} ]; then
82 export LHAPDFSETSLOCATION=${LHAPDFLOCATION}/../share/lhapdf/PDFsets
86 if [ x${LHAPDFVERSION} = x ]; then
87 export LHAPDFVERSION=5.7.0
89 if [ x${LHAPDFLOCATION} = x ]; then
90 export LHAPDFLOCATION=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/${LHAPDFVERSION}/${MYLCGPLATFORM}/lib/archive
91 if [ x${LHAPDFSETSLOCATION} = x ]; then
92 export LHAPDFSETSLOCATION=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/${LHAPDFVERSION}/share/PDFsets
96 if [ x${LHAPDFLOCATION} = x ]; then
97 export LHAPDFLOCATION=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/${LHAPDFVERSION}/${MYLCGPLATFORM}/lib/archive
99 if [ x${LHAPDFLIBNAME} = x ]; then
100 export LHAPDFLIBNAME="-lLHAPDF"
102 if [ x${LHAPDFSETSLOCATION} = x ]; then
103 export LHAPDFSETSLOCATION=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/${LHAPDFVERSION}/share/PDFsets
107 if [ x${FASTJETVERSION} != x ]; then
108 export FASTJETLOCATION=/afs/cern.ch/sw/lcg/external/fastjet/${FASTJETVERSION}/${MYLCGPLATFORM}
110 if [ x${FASTJETLOCATION} = x ]; then
111 export FASTJETLOCATION=/usr/local
115 # User-changeable part, experts -----------------------------
118 # export FFLAGS_OPT="-O2 -Wuninitialized"
119 # -Wuninitialized outputs many irrelevant warnings and therefore obscurs
120 export FFLAGS_OPT="-O2"
122 export CFLAGS_OPT=-O2
124 export CXXFLAGS_OPT="-O2 -ansi -pedantic -W -Wall"
125 export CXXFLAGS_DBG="-g -ansi -pedantic -W -Wall"
129 export ARCH0="`uname`"
131 export theGcc=`g++ --version | head -n 1 | awk '{print$3}' | awk -F . '{print $1}'`
132 if [ ${theGcc} = 4 ]; then
133 export ARCH=${ARCH}-gcc4
135 echo Platform is $ARCH
137 #default platform settings:
140 export FFLAGS="${FFLAGS_OPT}"
141 export CFLAGS="${CFLAGS_OPT}"
142 export CXXFLAGS="${CXXFLAGS_OPT}"
143 export FLIBS="-lfrtbegin -lg2c"
144 if [ ${COMPMODE} = OPT ]; then
145 export FFLAGS="${FFLAGS_OPT}"
146 export CFLAGS="${CFLAGS_OPT}"
147 export CXXFLAGS="${CXXFLAGS_OPT}"
149 if [ ${COMPMODE} = DBG ]; then
150 export FFLAGS="${FFLAGS_DBG}"
151 export CFLAGS="${CFLAGS_DBG}"
152 export CXXFLAGS="${CXXFLAGS_DBG}"
154 if [ $ARCH = Linux ]; then
156 export FFLAGS="${FFLAGS_OPT} -Wno-globals"
157 export CFLAGS="${CFLAGS_OPT}"
158 export CXXFLAGS="${CXXFLAGS_OPT}"
159 export FLIBS="-lfrtbegin -lg2c"
160 if [ ${COMPMODE} = OPT ]; then
161 export FFLAGS="${FFLAGS_OPT}"
162 export CFLAGS="${CFLAGS_OPT}"
163 export CXXFLAGS="${CXXFLAGS_OPT}"
165 if [ ${COMPMODE} = DBG ]; then
166 export FFLAGS="${FFLAGS_DBG} -Wno-globals"
167 export CFLAGS="${CFLAGS_DBG}"
168 export CXXFLAGS="${CXXFLAGS_DBG}"
171 # Linux platform with gcc4: new Fortran90 compiler.
172 if [ $ARCH = Linux-gcc4 ]; then
174 export FFLAGS="${FFLAGS_OPT}"
175 export CFLAGS="${CFLAGS_OPT}"
176 export CXXFLAGS="${CXXFLAGS_OPT}"
177 export FLIBS="-lgfortran -lgfortranbegin"
178 if [ ${COMPMODE} = OPT ]; then
179 export FFLAGS="${FFLAGS_OPT}"
180 export CFLAGS="${CFLAGS_OPT}"
181 export CXXFLAGS="${CXXFLAGS_OPT}"
183 if [ ${COMPMODE} = DBG ]; then
184 export FFLAGS="${FFLAGS_DBG}"
185 export CFLAGS="${CFLAGS_DBG}"
186 export CXXFLAGS="${CXXFLAGS_DBG}"
190 if [ $ARCH = Darwin-gcc4 ]; then
192 export FFLAGS="${FFLAGS_OPT}"
193 export CFLAGS="${CFLAGS_OPT}"
194 export CXXFLAGS="${CXXFLAGS_OPT}"
195 export FLIBS="-lgfortran"
196 if [ ${COMPMODE} = OPT ]; then
197 export FFLAGS="${FFLAGS_OPT}"
198 export CFLAGS="${CFLAGS_OPT}"
199 export CXXFLAGS="${CXXFLAGS_OPT}"
201 if [ ${COMPMODE} = DBG ]; then
202 export FFLAGS="${FFLAGS_DBG}"
203 export CFLAGS="${CFLAGS_DBG}"
204 export CXXFLAGS="${CXXFLAGS_DBG}"
207 # Mac-OSX with gcc3; is not tested
208 if [ $ARCH = Darwin ]; then
210 export FFLAGS="${FFLAGS_OPT}"
211 export CFLAGS="${CFLAGS_OPT}"
212 export CXXFLAGS="${CXXFLAGS_OPT}"
213 export FLIBS="-lfrtbegin -lg2c"
214 if [ ${COMPMODE} = OPT ]; then
215 export FFLAGS="${FFLAGS_OPT}"
216 export CFLAGS="${CFLAGS_OPT}"
217 export CXXFLAGS="${CXXFLAGS_OPT}"
219 if [ ${COMPMODE} = DBG ]; then
220 export FFLAGS="${FFLAGS_DBG}"
221 export CFLAGS="${CFLAGS_DBG}"
222 export CXXFLAGS="${CXXFLAGS_DBG}"
226 #Platform & opt/dbg - independent flags and variables:
230 # End of the user-changeable part ---------------------------
235 if [ ! -d ${PYTHIA8LOCATION}/lib ]; then
236 echo ERROR: pythia8 libraries not found at ${PYTHIA8LOCATION}/lib
240 if [ $?LHAPDFLOCATION ]; then
241 if [ x${LHAPDFLOCATION} != x ]; then
242 if [ ! -d ${LHAPDFLOCATION} ]; then
243 echo WARNING in LHAPDFLOCATION: directory ${LHAPDFLOCATION} does not exist
244 echo ...so you cannot run main programs that use LHAPDF
246 if [ ! -d ${LHAPDFSETSLOCATION} ]; then
247 echo WARNING in LHAPDFSETSLOCATION: directory ${LHAPDFSETSLOCATION} does not exist
248 echo ...so you cannot run main programs that use LHAPDF
254 if [ -x ${FASTJETLOCATION}/bin/fastjet-config ]; then
255 FASTJETVERSION1=`${FASTJETLOCATION}/bin/fastjet-config --version`
256 echo Found fastjet version ${FASTJETVERSION1} at ${FASTJETLOCATION}
258 echo WARNING: FastJet not found, the corresponding examples will not work
259 echo ...so you cannot run main programs that use FastJet
260 export FASTJETLOCATION=
265 echo SHELL = /bin/sh > config.mk
266 #echo ARCH = ${ARCH} >> config.mk
267 #echo MYLCGPLATFORM = ${MYLCGPLATFORM} >> config.mk
268 #echo FC = ${FC} >> config.mk
269 #echo CC = ${CC} >> config.mk
270 #echo FFLAGS = ${FFLAGS} >> config.mk
271 #echo CFLAGS = ${CFLAGS} >> config.mk
272 #echo CXXFLAGS = ${CXXFLAGS} >> config.mk
273 #echo FLIBS = ${FLIBS} >> config.mk
275 echo PYTHIA8LOCATION = ${PYTHIA8LOCATION} >> config.mk
276 if [ x${LHAPDFVERSION} != x ]; then
277 echo LHAPDFVERSION = ${LHAPDFVERSION} >> config.mk
279 if [ x${LHAPDFLOCATION} != x ]; then
280 echo LHAPDFLOCATION = ${LHAPDFLOCATION} >> config.mk
282 if [ "x${LHAPDFLIBNAME}" != "x" ]; then
283 echo "LHAPDFLIBNAME = ${LHAPDFLIBNAME}" >> config.mk
287 if [ "x${FASTJETLOCATION}" != "x" ]; then
288 echo "FASTJETLOCATION = ${FASTJETLOCATION}" >> config.mk
293 if [ ${PYTHIA8LOCATION} != .. ]; then
294 if [ ! -e config.csh ]; then
295 echo "#!/bin/csh" > config.csh
296 echo "setenv PYTHIA8DATA ${PYTHIA8LOCATION}/xmldoc" >> config.csh
297 echo "#!/bin/sh" > config.sh
298 echo "export PYTHIA8DATA=${PYTHIA8LOCATION}/xmldoc" >> config.sh
300 echo "setenv PYTHIA8DATA ${PYTHIA8LOCATION}/xmldoc" >> config.csh
301 echo "export PYTHIA8DATA=${PYTHIA8LOCATION}/xmldoc" >> config.sh
305 # For the moment we take archive libraries of lhapdf, so actions with
306 # LD_LIBRARY_PATH are not needed, this is for the future.
307 # Setting LHAPATH is always needed
309 if [ $ARCH0 != Darwin ]; then
310 if [ x${LHAPDFLOCATION} != x ]; then
311 if [ ! -e config.csh ]; then
312 echo "#!/bin/csh" > config.csh
313 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
314 echo " setenv LD_LIBRARY_PATH ${LHAPDFLOCATION}" >> config.csh
315 echo "else" >> config.csh
316 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.csh
317 echo "endif" >> config.csh
318 echo "setenv LHAPATH ${LHAPDFSETSLOCATION}" >> config.csh
319 echo "#!/bin/sh" > config.sh
320 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
321 echo " export LD_LIBRARY_PATH=${LHAPDFLOCATION}" >> config.sh
323 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
324 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
326 echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
328 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
329 echo " setenv LD_LIBRARY_PATH ${LHAPDFLOCATION}" >> config.csh
330 echo "else" >> config.csh
331 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.csh
332 echo "endif" >> config.csh
333 echo "setenv LHAPATH ${LHAPDFSETSLOCATION}" >> config.csh
334 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
335 echo " export LD_LIBRARY_PATH=${LHAPDFLOCATION}" >> config.sh
337 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
338 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
340 echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
343 if [ x${FASTJETLOCATION} != x ]; then
344 if [ ! -e config.csh ]; then
345 echo "#!/bin/csh" > config.csh
346 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
347 echo " setenv LD_LIBRARY_PATH ${FASTJETLOCATION}/lib" >> config.csh
348 echo "else" >> config.csh
349 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.csh
350 echo "endif" >> config.csh
351 echo "#!/bin/sh" > config.sh
352 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
353 echo " export LD_LIBRARY_PATH=${FASTJETLOCATION}/lib" >> config.sh
355 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
356 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh
359 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
360 echo " setenv LD_LIBRARY_PATH ${FASTJETLOCATION}/lib" >> config.csh
361 echo "else" >> config.csh
362 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.csh
363 echo "endif" >> config.csh
364 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
365 echo " export LD_LIBRARY_PATH=${FASTJETLOCATION}/lib" >> config.sh
367 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
368 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh
374 if [ x${LHAPDFLOCATION} != x ]; then
375 if [ ! -e config.csh ]; then
376 echo "#!/bin/csh" > config.csh
377 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
378 echo " setenv LD_LIBRARY_PATH ${LHAPDFLOCATION}" >> config.csh
379 echo "else" >> config.csh
380 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.csh
381 echo "endif" >> config.csh
382 echo "setenv LHAPATH ${LHAPDFSETSLOCATION}" >> config.csh
383 echo "#!/bin/sh" > config.sh
384 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
385 echo " export LD_LIBRARY_PATH=${LHAPDFLOCATION}" >> config.sh
387 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
388 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
390 echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
392 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
393 echo " setenv LD_LIBRARY_PATH ${LHAPDFLOCATION}" >> config.csh
394 echo "else" >> config.csh
395 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.csh
396 echo "endif" >> config.csh
397 echo "setenv LHAPATH ${LHAPDFSETSLOCATION}" >> config.csh
398 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
399 echo " export LD_LIBRARY_PATH=${LHAPDFLOCATION}" >> config.sh
401 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
402 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
404 echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
407 if [ x${FASTJETLOCATION} != x ]; then
408 if [ ! -e config.csh ]; then
409 echo "#!/bin/csh" > config.csh
410 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
411 echo " setenv LD_LIBRARY_PATH ${FASTJETLOCATION}/lib" >> config.csh
412 echo "else" >> config.csh
413 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.csh
414 echo "endif" >> config.csh
415 echo "#!/bin/sh" > config.sh
416 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
417 echo " export LD_LIBRARY_PATH=${FASTJETLOCATION}/lib" >> config.sh
419 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
420 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh
423 echo 'if( ! $?LD_LIBRARY_PATH ) then' >> config.csh
424 echo " setenv LD_LIBRARY_PATH ${FASTJETLOCATION}/lib" >> config.csh
425 echo "else" >> config.csh
426 echo " setenv LD_LIBRARY_PATH" '${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.csh
427 echo "endif" >> config.csh
428 echo 'if [ ! $?LD_LIBRARY_PATH ]; then' >> config.sh
429 echo " export LD_LIBRARY_PATH=${FASTJETLOCATION}/lib" >> config.sh
431 echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
432 echo " export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh