configure.ac.in 37.9 KB
Newer Older
1
2
3
4
5
6
dnl configure.ac -- Main configuration script for WHIZARD
dnl
dnl Process this file with autoconf to produce a configure script.
dnl ************************************************************************
dnl configure.ac -- Main configuration script for WHIZARD
dnl configure.ac -- WHIZARD configuration
7
dnl
8
dnl Copyright (C) 1999-2021 by
9
10
11
12
13
dnl     Wolfgang Kilian <kilian@physik.uni-siegen.de>
dnl     Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
dnl     Juergen Reuter <juergen.reuter@desy.de>
dnl     with contributions from
dnl     cf. main AUTHORS file
14
dnl
15
dnl WHIZARD is free software; you can redistribute it and/or modify it
16
dnl under the terms of the GNU General Public License as published by
17
18
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
19
dnl
20
21
dnl WHIZARD is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
22
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
dnl GNU General Public License for more details.
24
dnl
25
26
27
28
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
dnl
29
dnl ***********************************************************************
30
31
32
dnl Environment variables that can be set by the user:
dnl   FC		Fortran compiler
dnl   FCFLAGS		Fortran compiler flags
33
dnl ***********************************************************************
34
35
dnl
dnl Start configuration
36
AC_INIT([XXXWHIZARDXXX],[3.0.1+])
37
AC_CONFIG_MACRO_DIR([m4])
38
39
40
41
42
43
44
45
46
47
48
49
50
51
AM_INIT_AUTOMAKE([1.12.2 color-tests parallel-tests])
AC_PREREQ([2.65])
AM_MAKE_INCLUDE

dnl Make make less verbose to improve signal/noise
AM_SILENT_RULES([yes])

########################################################################
### Package-specific initialization

AC_MSG_NOTICE([**************************************************************])
WO_CONFIGURE_SECTION([Start of package configuration])

### Further version information
52
PACKAGE_DATE="Jul 08 2021"
53
PACKAGE_STATUS="alpha"
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

AC_SUBST(PACKAGE_DATE)
AC_SUBST(PACKAGE_STATUS)

AC_MSG_NOTICE([**************************************************************])
AC_MSG_NOTICE([Package name: AC_PACKAGE_NAME()])
AC_MSG_NOTICE([Version:      AC_PACKAGE_VERSION()])
AC_MSG_NOTICE([Date:         $PACKAGE_DATE])
AC_MSG_NOTICE([Status:       $PACKAGE_STATUS])
AC_MSG_NOTICE([**************************************************************])

########################################################################
###---------------------------------------------------------------------
### shared library versioning (not the same as the package version!)

69
LIBRARY_VERSION="-version-info 2:1:0"
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
AC_SUBST([LIBRARY_VERSION])

########################################################################
###---------------------------------------------------------------------
### Define the main package variables

### Source directory, for testing purposes
SRCDIR=`cd $srcdir && pwd`
AC_SUBST([SRCDIR])

### Build directory, for testing purposes
BUILDDIR=`pwd`
AC_SUBST([BUILDDIR])

### Location of installed libraries and such
eval BINDIR=$bindir
case $BINDIR in
NONE*) eval BINDIR=$prefix/bin ;;
esac
case $BINDIR in
NONE*) BINDIR="\${prefix}/bin" ;;
esac
AC_SUBST([BINDIR])

eval INCLUDEDIR=$includedir
case $INCLUDEDIR in
NONE*) eval INCLUDEDIR=$prefix/include ;;
esac
case $INCLUDEDIR in
NONE*) INCLUDEDIR="\${prefix}/include" ;;
esac
AC_SUBST([INCLUDEDIR])

eval LIBDIR=$libdir
case $LIBDIR in
NONE*) eval LIBDIR=$prefix/lib ;;
esac
case $LIBDIR in
NONE*) eval LIBDIR=$ac_default_prefix/lib ;;
esac
AC_SUBST([LIBDIR])

### Location of installed libraries and such
eval PKGLIBDIR=$libdir/$PACKAGE
case $PKGLIBDIR in
NONE*) eval PKGLIBDIR=$prefix/lib/$PACKAGE ;;
esac
case $PKGLIBDIR in
NONE*) PKGLIBDIR="\${prefix}/lib/$PACKAGE" ;;
esac
AC_SUBST([PKGLIBDIR])

### Location of installed system-independent data
eval PKGDATADIR=$datarootdir/$PACKAGE
case $PKGDATADIR in
NONE*) eval PKGDATADIR=$prefix/share/$PACKAGE ;;
esac
case $PKGDATADIR in
NONE*) PKGDATADIR="\${prefix}/share/$PACKAGE" ;;
esac
AC_SUBST([PKGDATADIR])

### Location of installed TeX files and such
eval PKGTEXDIR=$datarootdir/texmf/$PACKAGE
case $PKGTEXDIR in
NONE*) eval PKGTEXDIR=$prefix/share/texmf/$PACKAGE ;;
esac
case $PKGTEXDIR in
NONE*) PKGTEXDIR="\${prefix}/share/texmf/$PACKAGE" ;;
esac
AC_SUBST([PKGTEXDIR])

142
143
144
### Parent location of installed .mod files
### To be used in Fortran source
FMODDIR=$prefix/lib/mod
145
146
147
case $FMODDIR in
NONE*) FMODDIR="\${prefix}/lib/mod" ;;
esac
148
149
150
151
152
153
154
AC_SUBST([FMODDIR])

### To be used in Makefile.am
### Don't use ${libdir} since lib may be changed to lib64 by configure
fmoddir="\${prefix}/lib/mod"
AC_SUBST([fmoddir])

155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
########################################################################
###---------------------------------------------------------------------
### Required programs and checks
### GNU Tools

WO_CONFIGURE_SECTION([Generic tools])

### Initialize LIBTOOL
LT_INIT(dlopen)

LT_PREREQ([2.4.1b])

AX_CHECK_GNU_MAKE()
AC_PROG_GREP()

AC_MSG_CHECKING([for the suffix of shared libraries])
case $host in
  *-darwin* | rhapsody*)
    SHRLIB_EXT="dylib"
    ;;
  cygwin* | mingw* | pw32* | cegcc* | os2*)
    SHRLIB_EXT="dll"
    ;;
  hpux9* | hpux10* | hpux11*)
    SHRLIB_EXT="sl"
    ;;
  *)
    SHRLIB_EXT="so"
    ;;
esac
if test "x$SHRLIB_EXT" != "x"; then
   SHRLIB_EXT=$SHRLIB_EXT
else
   SHRLIB_EXT="so"
fi
AC_MSG_RESULT([.$SHRLIB_EXT])
AC_SUBST(SHRLIB_EXT)

### Export whether the C compiler is GNU
AC_MSG_CHECKING([whether the C compiler is the GNU compiler])
if test "x$ac_cv_c_compiler_gnu" = "xyes"; then
   CC_IS_GNU=".true."
else
   CC_IS_GNU=".false."
fi
AC_MSG_RESULT([$ac_cv_c_compiler_gnu])
AC_SUBST([CC_IS_GNU])

AC_CHECK_HEADERS([quadmath.h])
if test "x$ac_cv_header_quadmath_h" = "xyes"; then
   CC_HAS_QUADMATH=".true."
else
   CC_HAS_QUADMATH=".false."
fi
AC_SUBST([CC_HAS_QUADMATH])

########################################################################
###---------------------------------------------------------------------
### Host system MAC OS X check for XCode

215
case $host in
216
217
     *-darwin*)
        WO_HLINE()
218
     	AC_MSG_NOTICE([Host is $host, checking for XCode])
219
220
221
222
223
224
225
226
227
228
        AC_PATH_PROG(XCODE_SELECT, xcode-select)
	# locate currently selected Xcode path
	if test "x$XCODE_SELECT" != "x"; then
	  AC_MSG_CHECKING(Xcode location)
	  DEVELOPER_DIR=`$XCODE_SELECT -print-path`
	  AC_MSG_RESULT([$DEVELOPER_DIR])
	else
	  DEVELOPER_DIR=/Developer
	fi
	AC_SUBST(DEVELOPER_DIR)
229

230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
	XCODEPLIST=$DEVELOPER_DIR/Applications/Xcode.app/Contents/version.plist
	if test -r "$XCODEPLIST"; then
	  AC_MSG_CHECKING(Xcode version)
	  if test "x$DEFAULTS" != "x"; then
	    XCODE_VERSION=`$DEFAULTS read $DEVELOPER_DIR/Applications/Xcode.app/Contents/version CFBundleShortVersionString`
	  else
	    XCODE_VERSION=`tr -d '\r\n' < $XCODEPLIST | sed -e 's/.*<key>CFBundleShortVersionString<\/key>.<string>\([[0-9.]]*\)<\/string>.*/\1/'`
	  fi
	  AC_MSG_RESULT([$XCODE_VERSION])
	  AC_SUBST(XCODE_VERSION)
	fi

	AC_MSG_NOTICE([checking for Security Integrity Protocol (SIP)])
	AC_PATH_PROG(CSRUTIL, csrutil)
	if test "x$CSRUTIL" != "x"; then
	   SIP_CHECK=`$CSRUTIL status | $SED "s/System Integrity Protection status: //"`
	   if test "$SIP_CHECK" = "enabled."; then
	      SIP_ACTIVE="yes"
	   else
	      SIP_ACTIVE="no"
 	   fi
	else
252
	   SIP_ACTIVE="no"
253
254
255
256
257
258
	fi
	AC_MSG_CHECKING([Checking whether MAC OS X SIP is activated])
	AC_MSG_RESULT([$SIP_ACTIVE])
	AC_SUBST([SIP_ACTIVE])

	WO_HLINE()
259
	;;
260
261
262
263
264
265
266
267
268
269
270
271
272
     *)
        ;;
     esac

########################################################################
###---------------------------------------------------------------------
### Enable the distribution tools
### (default: disabled, to speed up compilation)

AC_ARG_ENABLE([distribution],
  [AS_HELP_STRING([--enable-distribution],
    [build the distribution incl. all docu (developers only) [[no]]])])

273
AC_CACHE_CHECK([whether we want to build the distribution],
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
[wo_cv_distribution],
[dnl
if test "$enable_distribution" = "yes"; then
  wo_cv_distribution=yes
else
  wo_cv_distribution=no
fi])

AM_CONDITIONAL([DISTRIBUTION],
  [test "$enable_distribution" = "yes"])

### ONLY_FULL {{{
########################################################################
###---------------------------------------------------------------------

if test "$enable_shared" = no; then
  AC_MSG_ERROR([you've used --disable-shared which will not produce a working Whizard.])
fi
### ONLY_FULL }}}

########################################################################
###---------------------------------------------------------------------
### We include the m4 macro tool here

AC_PATH_PROG(M4,m4,false)
if test "$M4" = false; then
   AM_CONDITIONAL([M4_AVAILABLE],[false])
else
   AM_CONDITIONAL([M4_AVAILABLE],[true])
fi

########################################################################
###---------------------------------------------------------------------
### Dynamic runtime linking

WO_CONFIGURE_SECTION([Dynamic runtime linking])

### Look for libdl (should provide 'dlopen' and friends)
AC_PROG_CC()
WO_PROG_DL()

### Define the conditional for static builds

if test "$enable_static" = yes; then
   AM_CONDITIONAL([STATIC_AVAILABLE],[true])
else
   AM_CONDITIONAL([STATIC_AVAILABLE],[false])
fi

########################################################################
###---------------------------------------------------------------------
### Noweb

WO_CONFIGURE_SECTION([Checks for 'noweb' system])

### Enable/disable noweb and determine locations of notangle, cpif, noweave
WO_PROG_NOWEB()

########################################################################
###---------------------------------------------------------------------
### LaTeX

WO_CONFIGURE_SECTION([Checks for 'LaTeX' system])

### Determine whether LaTeX is present
AC_PROG_LATEX()
AC_PROG_DVIPS()
AC_PROG_PDFLATEX()
AC_PROG_MAKEINDEX()
AC_PROG_PS2PDF()
AC_PROG_EPSPDF()
AC_PROG_EPSTOPDF()
if test "$EPSPDF" = "no" -a "$EPSTOPDF" = "no"; then
   AC_MSG_NOTICE([*********************************************************])
   AC_MSG_NOTICE([WARNING: eps(to)pdf n/a; O'Mega documentation will crash!])
   AC_MSG_NOTICE([WARNING:  this applies only to the svn developer version!])
   AC_MSG_NOTICE([*********************************************************])
fi
AC_PROG_SUPP_PDF()
AC_PROG_GZIP()
AC_PATH_PROG(ACROREAD,acroread,false)
AC_PATH_PROG(GHOSTVIEW,gv ghostview,false)
356
AC_PROG_DOT()
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386

### Determine whether Metapost is present and whether event display is possible
AC_PROG_MPOST()
WO_CHECK_EVENT_ANALYSIS_METHODS()

### We put here the check for HEVEA components as well
WO_PROG_HEVEA()

########################################################################
###---------------------------------------------------------------------
### Fortran compiler

WO_CONFIGURE_SECTION([Fortran compiler checks])

### Determine default compiler to use
user_FCFLAGS="${FCFLAGS}"
AC_PROG_FC()

### Choose FC standard for PYTHIA6 F77 files
AC_PROG_F77([$FC])

### Determine compiler vendor and version
WO_FC_GET_VENDOR_AND_VERSION()

### Veto against old gfortran 4 versions
WO_FC_VETO_GFORTRAN_4()

### Veto against buggy gfortran 6.5.0 version
WO_FC_VETO_GFORTRAN_65()

387
### Veto against ifort 15/16/17
388
WO_FC_VETO_IFORT_15_18()
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433

### Veto against ifort 19.0.0/1/2
WO_FC_VETO_IFORT_190012()

### Require extension '.f90' for all compiler checks
AC_FC_SRCEXT([f90])

### Determine flags and extensions
WO_FC_PARAMETERS()

### Determine flags for linking the Fortran runtime library
WO_FC_LIBRARY_LDFLAGS()

### Check for Fortran 95 features
WO_FC_CHECK_F95()

### Check for allocatable subobjects (TR15581)
WO_FC_CHECK_TR15581()

### Check for allocatable scalars
WO_FC_CHECK_ALLOCATABLE_SCALARS()

### Check for ISO C binding support
WO_FC_CHECK_C_BINDING()

### Check for procedures pointers and abstract interfaces
WO_FC_CHECK_PROCEDURE_POINTERS()

### Check for type extension and further OO features
WO_FC_CHECK_OO_FEATURES()

### Check for submodules (not yet used)
WO_FC_CHECK_TR19767()

### Check for F2003 command-line interface
WO_FC_CHECK_CMDLINE()

### Check for F2003-style access to environment variables
WO_FC_CHECK_ENVVAR()

### Check for the flush statement
WO_FC_CHECK_FLUSH()

### Check for iso_fortran_env
WO_FC_CHECK_ISO_FORTRAN_ENV()
434
WO_FC_CHECK_ISO_FORTRAN_ENV_2008()
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449

### Turn on/off master switch for debugging features
WO_FC_SET_DEBUG()

### OpenMP threading activated upon request
AC_OPENMP()
WO_FC_SET_OPENMP()

### Profiling compilation enforced upon request
WO_FC_SET_PROFILING()

### Impure subroutines enforced upon request
WO_FC_SET_OMEGA_IMPURE()

### Find the extension of Fortran module files
450
WO_FC_MODULE_FILE([FC_MODULE_NAME], [FCMOD], [$FC], [f90])
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478

###---------------------------------------------------------------------
### Check for the requested precision

WO_FC_CONFIGURE_KINDS([src/basics/kinds.f90])
### ONLY_FULL {{{
AC_PROG_INSTALL()
${INSTALL} -d circe1/src
cp -a src/basics/kinds.f90 circe1/src
${INSTALL} -d circe2/src
cp -a src/basics/kinds.f90 circe2/src
${INSTALL} -d omega/src
cp -a src/basics/kinds.f90 omega/src
${INSTALL} -d vamp/src
cp -a src/basics/kinds.f90 vamp/src
### ONLY_FULL }}}

### ONLY_VAMP_AND_FULL {{{
########################################################################
# VAMP Fortran options for the configure script
########################################################################

WO_FC_SET_MPI()

### ONLY_VAMP_AND_FULL }}}

########################################################################
###---------------------------------------------------------------------
479
### OCaml
480
481
482
483
484
485

WO_CONFIGURE_SECTION([Objective Caml checks])

### Check for ocamlc and its relatives
AC_PROG_OCAML()
if test "$enable_ocaml" != "no"; then
486
   AC_OCAML_VERSION_CHECK(405000)
487
488
489
   AC_PROG_OCAMLLEX()
   AC_PROG_OCAMLYACC()
   AC_PROG_OCAMLCP()
490
   AC_OCAML_BIGARRAY_MODULE()
491
492
493
494
495
496
497
   ### Ocamlweb is required to be newer than v0.9
   AC_PROG_OCAMLWEB(009000)
   AC_PROG_OCAML_LABLGTK()
   AC_PATH_PROGS([OCAMLDOT],[ocamldot],[no])
   AM_CONDITIONAL([OCAMLDOT_AVAILABLE],[test "$OCAMLDOT" != "no"])
   AC_PATH_PROGS([OCAMLDEP],[ocamldep],[no])
   AM_CONDITIONAL([OCAMLDEP_AVAILABLE],[test "$OCAMLDEP" != "no"])
498
   AC_PATH_PROGS([OCAMLDEFUN],[ocamldefun],[no])
499
else
500
   AC_MSG_NOTICE([WARNING: OCaml and O'Mega matrix elements disabled by request!])
501
502
   AM_CONDITIONAL([OCAMLWEB_AVAILABLE],[false])
   AM_CONDITIONAL([OCAMLDOT_AVAILABLE],[false])
503
   AM_CONDITIONAL([OCAMLDEP_AVAILABLE],[false])
504
505
506
507
508
509
510
511
512
513
fi

########################################################################
###---------------------------------------------------------------------
### C++

WO_CONFIGURE_SECTION([C++ compiler checks])
AC_PROG_CXX()
AC_CXX_LIBRARY_LDFLAGS()

514
515
516
517
518
519
########################################################################
###---------------------------------------------------------------------
### Checks for external interfaces

WO_CONFIGURE_SECTION([Checking for PYTHON / PYTHON API])

520
AX_PYTHON_DEVEL([>= '3.5'])
521
522
WO_PROG_PYTHON_API()

523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
### ONLY_OMEGA_AND_FULL {{{
########################################################################
# O'Mega options for the configure script
########################################################################

########################################################################
###---------------------------------------------------------------------
### O'Mega UFO file paths

WO_CONFIGURE_SECTION([O'Mega UFO file paths])

AC_ARG_ENABLE([default-UFO-dir],
[  --enable-default-UFO-dir=directory
                          Read precomputed model tables from this directory,
                          which will be populated by an administrator at
                          install time [[default=$datadir/UFO, enabled]].],
[case "$enableval" in
   no) OMEGA_DEFAULT_UFO_DIR="."
       ;;
    *) OMEGA_DEFAULT_UFO_DIR="$enableval"
       ;;
esac],
[### use eval b/c $datadir defaults to unexpanded ${datarootdir}
case "$OMEGA_DEFAULT_UFO_DIR" in
   "") OMEGA_DEFAULT_UFO_DIR="${prefix}/omega/share/UFO"
      ;;
   *) eval OMEGA_DEFAULT_UFO_DIR="$datadir/UFO"
      ;;
esac])
AC_SUBST([OMEGA_DEFAULT_UFO_DIR])

case "$OMEGA_DEFAULT_UFO_DIR" in
  .|""|NONE*) OMEGA_DEFAULT_UFO_DIR="."
              ;;
           *) AC_MSG_NOTICE([Creating default UFO directory $OMEGA_DEFAULT_UFO_DIR])
              $MKDIR_P "$OMEGA_DEFAULT_UFO_DIR" 2>/dev/null
              chmod u+w "$OMEGA_DEFAULT_UFO_DIR" 2>/dev/null
              ;;
esac

###---------------------------------------------------------------------
### Recola

WO_CONFIGURE_SECTION([RECOLA])

WO_PROG_RECOLA()

### ONLY_OMEGA_AND_FULL }}}

### ONLY_FULL {{{
########################################################################
###---------------------------------------------------------------------
### Libraries

###---------------------------------------------------------------------
### LHAPDF

WO_CONFIGURE_SECTION([LHAPDF])

WO_PROG_LHAPDF()

584
585
586
587
588
589
590
###---------------------------------------------------------------------
### ROOT

WO_CONFIGURE_SECTION([ROOT])

WO_ROOT_PATH(,[
        AC_DEFINE([HAVE_ROOT],,[Root library])
591
        AC_CHECK_LIB([dl],[dlopen],[],AC_MSG_WARN([Root libraries not linking properly]))
592
593
        ],AC_MSG_RESULT([The ROOT support of HepMC might not be working properly]))

594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
###---------------------------------------------------------------------
### HepMC

WO_CONFIGURE_SECTION([HepMC])

WO_PROG_HEPMC()

###---------------------------------------------------------------------
### STDHEP

WO_CONFIGURE_SECTION([STDHEP])

WO_PROG_TIRPC()

AC_MSG_NOTICE([StdHEP v5.06.01 is included internally])

###---------------------------------------------------------------------
### LCIO

WO_CONFIGURE_SECTION([LCIO])

WO_PROG_LCIO()

617
618
619
620
621
622
623
###---------------------------------------------------------------------
### HDF5 (for events, grids etc.)

WO_CONFIGURE_SECTION([HDF5])

WO_PROG_HDF5(1.8.0,no)

624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
###---------------------------------------------------------------------
### PYTHIA6, PYTHIA8 etc

WO_CONFIGURE_SECTION([SHOWERS PYTHIA6 PYTHIA8 MPI])

WO_PROG_QCD()

WO_PROG_PYTHIA8()

###---------------------------------------------------------------------
### HOPPET

WO_CONFIGURE_SECTION([HOPPET])

WO_PROG_HOPPET()

###---------------------------------------------------------------------
### FASTJET

WO_CONFIGURE_SECTION([FASTJET])

WO_PROG_FASTJET()

###---------------------------------------------------------------------
### GoSam

WO_CONFIGURE_SECTION([GOSAM])

WO_PROG_GOSAM()

###---------------------------------------------------------------------
### OpenLoops

WO_CONFIGURE_SECTION([OPENLOOPS])

WO_PROG_OPENLOOPS()

###---------------------------------------------------------------------
662
### LoopTools
663

664
WO_CONFIGURE_SECTION([LOOPTOOLS])
665
666
667
668
669
670

WO_PROG_LOOPTOOLS()

### ONLY_FULL }}}

########################################################################
671
###---------------------------------------------------------------------
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
### Extra flags for helping the linker finding libraries

WO_CONFIGURE_SECTION([Handle linking with C++ libraries])

WO_PROG_STDCPP()

### ONLY_FULL {{{
########################################################################
###---------------------------------------------------------------------
### Miscellaneous

WO_CONFIGURE_SECTION([Numerical checks])

### Disable irrelevant optimization for parameter files
### (default: disabled, to speed up compilation)

AC_ARG_ENABLE([optimization-for-parameter-files],
  [AS_HELP_STRING([--enable-optimization-for-parameter-files],
    [enable (useless) optimization for parameter files [[no]]])])

692
AC_CACHE_CHECK([whether we want optimization for parameter files],
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
[wo_cv_optimization_for_parfiles],
[dnl
if test "$enable_optimization_for_parameter_files" = "yes"; then
  wo_cv_optimization_for_parfiles=yes
else
  wo_cv_optimization_for_parfiles=no
fi])

AM_CONDITIONAL([OPTIMIZATION_FOR_PARFILES],
  [test "$enable_optimization_for_parameter_files" = "yes"])

### ONLY_FULL }}}

########################################################################
###---------------------------------------------------------------------
### Wrapup

WO_CONFIGURE_SECTION([Finalize configuration])

### Main directory

AC_CONFIG_FILES([Makefile])

### ONLY_FULL {{{
###---------------------------------------------------------------------
### Subdirectory src

AC_CONFIG_FILES([src/Makefile])

722
723
724
725
726
727
728
729
###---------------------------------------------------------------------
### Subdirectory python: WHIZARD's PYTHON/CYTHON interface

AC_CONFIG_FILES([python/Makefile])
AC_CONFIG_FILES([python/setup.py], [chmod u+x python/setup.py])
AC_CONFIG_LINKS([python/whizard_python.pyx:python/whizard_python.pyx])
AC_CONFIG_LINKS([python/cwhizard.pxd:python/cwhizard.pxd])

730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
###---------------------------------------------------------------------
### Subdirectory src/hepmc

AC_CONFIG_FILES([src/hepmc/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/lcio

AC_CONFIG_FILES([src/lcio/Makefile])

###---------------------------------------------------------------------
### Subdirectory pythia6: WHIZARD's internal PYTHIA6 version

AC_CONFIG_FILES([pythia6/Makefile])

###---------------------------------------------------------------------
### Subdirectory tauola: WHIZARD's internal TAUOLA version

AC_CONFIG_FILES([tauola/Makefile])

###---------------------------------------------------------------------
### Subdirectory stdhep: WHIZARD's internal StdHep version

AC_CONFIG_FILES([mcfio/Makefile])
AC_CONFIG_FILES([stdhep/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/muli: multiple interactions

AC_CONFIG_FILES([src/muli/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/lhapdf5: dummy library as LHAPDF5 replacement

AC_CONFIG_FILES([src/lhapdf5/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/lhapdf: LHAPDF v6

AC_CONFIG_FILES([src/lhapdf/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/pdf_builtin: Builtin PDFs

AC_CONFIG_FILES([src/pdf_builtin/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/pdf_builtin: Electron PDFs

AC_CONFIG_FILES([src/qed_pdf/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/tauola

AC_CONFIG_FILES([src/tauola/Makefile])

###---------------------------------------------------------------------
787
### Subdirectory src/xdr: XDR reader
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841

AC_CONFIG_FILES([src/xdr/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/hoppet

AC_CONFIG_FILES([src/hoppet/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/fastjet

AC_CONFIG_FILES([src/fastjet/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/looptools

AC_CONFIG_FILES([src/looptools/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/shower: shower and all that

AC_CONFIG_FILES([src/pythia8/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/shower: shower and all that

AC_CONFIG_FILES([src/shower/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/noweb-frame: frame for whizard Noweb sources

AC_CONFIG_FILES([src/noweb-frame/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/basics: numeric kinds, strings

AC_CONFIG_FILES([src/basics/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/utilities: simple utilities

AC_CONFIG_FILES([src/utilities/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/testing: unit-test support

AC_CONFIG_FILES([src/testing/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/system: modules related to local setup and OS issues

AC_CONFIG_FILES([src/system/Makefile])

AC_CONFIG_FILES([src/system/system_dependencies.f90], [
842
843
844
845
846
847
848
849
850
851
852
853
854
# Be cautious: Special handling of brackets due to M4!
# 1. Configure lines containing @VARIABLE@ must be indented by exactly 7 spaces
#    to be split (^[[[:space:]]]\{7\}), the first non-space character has to
#    be an double-quote (\"). and the line has to have at least 110 characters where the
#    111th must not be a double quote, a whitespace, a slash or an ampersand ([^\" \/&]).
# 2. Appeand each 110-wide character block (\(.\{110\}[[^\"]]\), refer to a block as \1)
#    (without a trailing double-quote) with an ampersand, a literal newline character,
#    seven white-spaces and another ampersand. Repeat with remaining pattern space (be greedy).
# Note: The greedy options also allows us to parse the line beginning from each character
#       again with the search pattern.
   $SED "/^[[[:space:]]]\{7\}\".\{110,\}[[^\"]]/ s/\(.\{110\}[[^\" \/&]]\)/\1\&\\n       \&/g" \
      < src/system/system_dependencies.f90 \
      > src/system/system_dependencies.tmp
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
   mv -f src/system/system_dependencies.tmp src/system/system_dependencies.f90
])

AC_CONFIG_FILES([src/system/debug_master.f90])

###---------------------------------------------------------------------
### Subdirectory src/combinatorics: standard algorithms

AC_CONFIG_FILES([src/combinatorics/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/parsing: text-handling and parsing

AC_CONFIG_FILES([src/parsing/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/rng: random-number generation

AC_CONFIG_FILES([src/rng/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/expr_base: abstract expressions

AC_CONFIG_FILES([src/expr_base/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/physics: particle-physics related functions

AC_CONFIG_FILES([src/physics/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/qft: quantum (field) theory concepts as data types

AC_CONFIG_FILES([src/qft/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/types: HEP and other types for common use

AC_CONFIG_FILES([src/types/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/matrix_elements: process code and libraries

AC_CONFIG_FILES([src/matrix_elements/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/me_methods: specific process code and interface

AC_CONFIG_FILES([src/me_methods/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/particles: particle objects

AC_CONFIG_FILES([src/particles/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/beams: beams and beam structure

AC_CONFIG_FILES([src/beams/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/events: generic events and event I/O

AC_CONFIG_FILES([src/events/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/vegas: VEGAS Monte Carlo adaptive integration

AC_CONFIG_FILES([src/vegas/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/mci: multi-channel integration and event generation

AC_CONFIG_FILES([src/mci/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/phase_space: parameterization and evaluation

AC_CONFIG_FILES([src/phase_space/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/blha: BLHA support (NLO data record)

AC_CONFIG_FILES([src/blha/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/gosam: GoSAM support (NLO amplitudes)

AC_CONFIG_FILES([src/gosam/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/openloops: OpenLoops support (NLO amplitudes)

AC_CONFIG_FILES([src/openloops/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/recola: Recola support (NLO amplitudes)

AC_CONFIG_FILES([src/recola/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/fks: FKS subtraction algorithm

AC_CONFIG_FILES([src/fks/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/matching: matching algorithms

AC_CONFIG_FILES([src/matching/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/variables: Implementation of variable lists

AC_CONFIG_FILES([src/variables/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/model_features: Model access and methods

AC_CONFIG_FILES([src/model_features/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/models: Model-specific code

AC_CONFIG_FILES([src/models/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/threshold

AC_CONFIG_FILES([src/threshold/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/models/threeshl_bundle

AC_CONFIG_FILES([src/models/threeshl_bundle/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/process_integration

AC_CONFIG_FILES([src/process_integration/Makefile])

###---------------------------------------------------------------------
### Subdirectory src/transforms: event transforms and event API

AC_CONFIG_FILES([src/transforms/Makefile])

###---------------------------------------------------------------------
For faster browsing, not all history is shown. View entire blame