]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8170/examples/configure
Protection for dereferencing fTDCErrorBuffer. see ALIROOT-5749
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8170 / examples / configure
1 #!/bin/sh
2 #
3 # Configuration script, to be run before making examples
4 #
5 # Author: M. Kirsanov
6
7 #
8 # User-changeable part -------------------------------
9 #
10
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
14 fi
15
16 # Defaults
17 export COMPMODE=OPT
18 export PYTHIA8LOCATION=..
19
20 # check arguments
21
22 for arg in $* ; do
23   if [ "x$arg" = "x--enable-debug" ] ; then
24     COMPMODE=DBG
25   elif [ "x$arg" = "x--enable-shared" ] ; then
26     SHAREDLIBS=yes
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)"
40     exit
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}
60     else
61       echo "${arg}: wrong option. Ignored." >&2
62     fi
63   else
64     echo "${arg}: wrong option. Ignored." >&2
65   fi
66 done
67
68 echo compilation mode is $COMPMODE
69
70
71 # LHAPDF location
72 # The default values here correspond to CERN AFS (but you may want to change
73 # the version and/or platform).
74
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
80     fi
81     if [ ! -d ${LHAPDFSETSLOCATION} ]; then
82       export LHAPDFSETSLOCATION=${LHAPDFLOCATION}/../share/lhapdf/PDFsets
83     fi
84   fi
85 fi
86 if [ x${LHAPDFVERSION} = x ]; then
87   export LHAPDFVERSION=5.7.0
88 else
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
93     fi
94   fi
95 fi
96 if [ x${LHAPDFLOCATION} = x ]; then
97   export LHAPDFLOCATION=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/${LHAPDFVERSION}/${MYLCGPLATFORM}/lib/archive
98 fi
99 if [ x${LHAPDFLIBNAME} = x ]; then
100   export LHAPDFLIBNAME="-lLHAPDF"
101 fi
102 if [ x${LHAPDFSETSLOCATION} = x ]; then
103   export LHAPDFSETSLOCATION=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/${LHAPDFVERSION}/share/PDFsets
104 fi
105
106 # Fastjet location
107 if [ x${FASTJETVERSION} != x ]; then
108   export FASTJETLOCATION=/afs/cern.ch/sw/lcg/external/fastjet/${FASTJETVERSION}/${MYLCGPLATFORM}
109 fi
110 if [ x${FASTJETLOCATION} = x ]; then
111   export FASTJETLOCATION=/usr/local
112 fi
113
114 #
115 # User-changeable part, experts  -----------------------------
116 #
117
118 # export FFLAGS_OPT="-O2 -Wuninitialized"
119 # -Wuninitialized outputs many irrelevant warnings and therefore obscurs 
120 export FFLAGS_OPT="-O2"
121 export FFLAGS_DBG=-g
122 export CFLAGS_OPT=-O2
123 export CFLAGS_DBG=-g
124 export CXXFLAGS_OPT="-O2 -ansi -pedantic -W -Wall"
125 export CXXFLAGS_DBG="-g -ansi -pedantic -W -Wall"
126 #
127 # Find platform.
128 #
129 export ARCH0="`uname`"
130 export ARCH=${ARCH0}
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
134 fi
135 echo Platform is $ARCH
136
137 #default platform settings:
138 export FC=g77
139 export CC=gcc
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}"
148 fi
149 if [ ${COMPMODE} = DBG ]; then
150   export FFLAGS="${FFLAGS_DBG}"
151   export CFLAGS="${CFLAGS_DBG}"
152   export CXXFLAGS="${CXXFLAGS_DBG}"
153 fi
154 if [ $ARCH = Linux ]; then
155   export FC=g77
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}"
164   fi
165   if [ ${COMPMODE} = DBG ]; then
166     export FFLAGS="${FFLAGS_DBG} -Wno-globals"
167     export CFLAGS="${CFLAGS_DBG}"
168     export CXXFLAGS="${CXXFLAGS_DBG}"
169   fi
170 fi
171 # Linux platform with gcc4: new Fortran90 compiler.
172 if [ $ARCH = Linux-gcc4 ]; then
173   export FC=gfortran
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}"
182   fi
183   if [ ${COMPMODE} = DBG ]; then
184     export FFLAGS="${FFLAGS_DBG}"
185     export CFLAGS="${CFLAGS_DBG}"
186     export CXXFLAGS="${CXXFLAGS_DBG}"
187   fi
188 fi
189 # Mac-OSX with gcc4
190 if [ $ARCH = Darwin-gcc4 ]; then
191   export FC=gfortran
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}"
200   fi
201   if [ ${COMPMODE} = DBG ]; then
202     export FFLAGS="${FFLAGS_DBG}"
203     export CFLAGS="${CFLAGS_DBG}"
204     export CXXFLAGS="${CXXFLAGS_DBG}"
205   fi
206 fi
207 # Mac-OSX with gcc3; is not tested
208 if [ $ARCH = Darwin ]; then
209   export FC=g77
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}"
218   fi
219   if [ ${COMPMODE} = DBG ]; then
220     export FFLAGS="${FFLAGS_DBG}"
221     export CFLAGS="${CFLAGS_DBG}"
222     export CXXFLAGS="${CXXFLAGS_DBG}"
223   fi
224 fi
225
226 #Platform & opt/dbg - independent flags and variables:
227
228
229 #
230 # End of the user-changeable part ---------------------------
231 #
232 # Checks
233 #
234
235 if [ ! -d ${PYTHIA8LOCATION}/lib ]; then
236   echo ERROR: pythia8 libraries not found at ${PYTHIA8LOCATION}/lib
237   exit
238 fi
239
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 
245     fi
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 
249     fi
250   fi
251 fi
252
253 # Fastjet
254 if [ -x ${FASTJETLOCATION}/bin/fastjet-config ]; then
255   FASTJETVERSION1=`${FASTJETLOCATION}/bin/fastjet-config --version`
256   echo Found fastjet version ${FASTJETVERSION1} at ${FASTJETLOCATION}
257 else
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=
261 fi
262
263 rm -f config.mk
264
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
274 #
275 echo PYTHIA8LOCATION = ${PYTHIA8LOCATION} >> config.mk
276 if [ x${LHAPDFVERSION} != x ]; then
277   echo LHAPDFVERSION = ${LHAPDFVERSION} >> config.mk
278 fi
279 if [ x${LHAPDFLOCATION} != x ]; then
280   echo LHAPDFLOCATION = ${LHAPDFLOCATION} >> config.mk
281 fi
282 if [ "x${LHAPDFLIBNAME}" != "x" ]; then
283   echo "LHAPDFLIBNAME = ${LHAPDFLIBNAME}" >> config.mk
284 fi
285
286 # Fastjet
287 if [ "x${FASTJETLOCATION}" != "x" ]; then
288   echo "FASTJETLOCATION = ${FASTJETLOCATION}" >> config.mk
289 fi
290
291
292 #
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
299   else
300     echo "setenv PYTHIA8DATA ${PYTHIA8LOCATION}/xmldoc" >> config.csh
301     echo "export PYTHIA8DATA=${PYTHIA8LOCATION}/xmldoc" >> config.sh
302   fi
303 fi
304 #
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
308 # Linux platforms:
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
322       echo fi >> config.sh
323       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
324       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
325       echo fi >> config.sh
326       echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
327     else
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
336       echo fi >> config.sh
337       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
338       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
339       echo fi >> config.sh
340       echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
341     fi
342   fi
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
354       echo fi >> config.sh
355       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
356       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh
357       echo fi >> config.sh
358     else
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
366       echo fi >> config.sh
367       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
368       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh
369       echo fi >> config.sh
370     fi
371   fi
372 # Mac-OSX platforms:
373 else
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
386       echo fi >> config.sh
387       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
388       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
389       echo fi >> config.sh
390       echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
391     else
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
400       echo fi >> config.sh
401       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
402       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${LHAPDFLOCATION}" >> config.sh
403       echo fi >> config.sh
404       echo "export LHAPATH=${LHAPDFSETSLOCATION}" >> config.sh
405     fi
406   fi
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
418       echo fi >> config.sh
419       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
420       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh
421       echo fi >> config.sh
422     else
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
430       echo fi >> config.sh
431       echo 'if [ $?LD_LIBRARY_PATH ]; then' >> config.sh
432       echo "  export LD_LIBRARY_PATH="'${LD_LIBRARY_PATH}'":${FASTJETLOCATION}/lib" >> config.sh
433       echo fi >> config.sh
434     fi
435   fi
436 fi