Rev 107 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 5 | garren | 1 | # ====================================================================== |
| 2 | # This is the HepMC configuration input file |
||
| 3 | # Process this file with autoconf to produce a configure script. |
||
| 4 | # ====================================================================== |
||
| 5 | |||
| 6 | |||
| 7 | # ---------------------------------------------------------------------- |
||
| 8 | # Identify the package and initialize the autotools: |
||
| 9 | # ---------------------------------------------------------------------- |
||
| 10 | |||
| 11 | AC_PREREQ(2.59) |
||
| 109 | garren | 12 | AC_INIT(HepMC, 2.01.02, https://savannah.cern.ch/projects/hepmc/, HepMC) |
| 5 | garren | 13 | AC_CANONICAL_TARGET |
| 14 | AC_CONFIG_SRCDIR([src/GenEvent.cc]) |
||
| 15 | AM_INIT_AUTOMAKE(1.9 foreign) |
||
| 16 | AC_PROG_INSTALL |
||
| 17 | AC_PROG_LN_S |
||
| 18 | AC_PROG_RANLIB |
||
| 19 | |||
| 20 | # ---------------------------------------------------------------------- |
||
| 21 | # --enable-shared and --enable-static |
||
| 22 | # both shared and static libraries are built by default |
||
| 23 | # ---------------------------------------------------------------------- |
||
| 24 | |||
| 25 | AC_ARG_ENABLE(shared, |
||
| 26 | AC_HELP_STRING([--disable-shared],[do not build shared libraries]), |
||
| 27 | [case "${enableval}" in |
||
| 28 | yes) build_shared="yes";; |
||
| 29 | no) build_shared="no";; |
||
| 30 | *) build_shared="yes";; |
||
| 31 | esac], |
||
| 32 | [build_shared="yes"]) |
||
| 33 | AC_ARG_ENABLE(static, |
||
| 34 | AC_HELP_STRING([--disable-static],[do not build static libraries]), |
||
| 35 | [case "${enableval}" in |
||
| 36 | yes) build_static="yes";; |
||
| 37 | no) build_static="no";; |
||
| 38 | *) build_static="yes";; |
||
| 39 | esac], |
||
| 40 | [build_static="yes"]) |
||
| 41 | AC_ARG_ENABLE(visual, |
||
| 42 | AC_HELP_STRING([--enable-visual],[on by default when using Visual C++]), |
||
| 43 | [case "${enableval}" in |
||
| 44 | yes) build_visual="yes";; |
||
| 45 | no) build_visual="no";; |
||
| 46 | *) build_visual="no";; |
||
| 47 | esac], |
||
| 48 | [build_visual="no"]) |
||
| 49 | |||
| 50 | AC_ARG_ENABLE(gmake, |
||
| 51 | AC_HELP_STRING([--enable-gmake],[use gmake (default is make)]), |
||
| 52 | [case "${enableval}" in |
||
| 53 | yes) use_gmake="yes";; |
||
| 54 | no) use_gmake="no";; |
||
| 55 | *) use_gmake="no";; |
||
| 56 | esac], |
||
| 57 | [use_gmake="no"]) |
||
| 58 | |||
| 59 | # ---------------------------------------------------------------------- |
||
| 43 | garren | 60 | # find CLHEP and/or GENSER: |
| 61 | # these are used ONLY in the examples |
||
| 5 | garren | 62 | # ---------------------------------------------------------------------- |
| 63 | |||
| 64 | AC_ARG_WITH(CLHEP, |
||
| 43 | garren | 65 | AC_HELP_STRING([--with-CLHEP],[--with-CLHEP=$CLHEP_DIR: CLHEP is used in the examples]), |
| 5 | garren | 66 | [CLHEPdir=${withval}],[CLHEPdir=" "]) |
| 67 | AC_SUBST(CLHEPdir) |
||
| 68 | |||
| 38 | garren | 69 | AC_ARG_WITH(GENSER, |
| 43 | garren | 70 | AC_HELP_STRING([--with-GENSER],[--with-GENSER=$GENSER_DIR: GENSER is used in the examples]), |
| 38 | garren | 71 | [GENSERdir=${withval}],[GENSERdir=" "]) |
| 72 | AC_SUBST(GENSERdir) |
||
| 73 | |||
| 5 | garren | 74 | # ---------------------------------------------------------------------- |
| 75 | # Identify the files that 'configure' is to produce: |
||
| 76 | # ---------------------------------------------------------------------- |
||
| 77 | |||
| 78 | # Header containing #defines: |
||
| 79 | AM_CONFIG_HEADER([HepMC/defs.h]) |
||
| 80 | |||
| 81 | # Makefiles: |
||
| 82 | AC_CONFIG_FILES([Makefile]) |
||
| 83 | AC_CONFIG_FILES([HepMC/Makefile]) |
||
| 84 | AC_CONFIG_FILES([fio/Makefile]) |
||
| 85 | AC_CONFIG_FILES([src/Makefile]) |
||
| 86 | AC_CONFIG_FILES([doc/Makefile]) |
||
| 17 | garren | 87 | AC_CONFIG_FILES([test/Makefile]) |
| 88 | AC_CONFIG_FILES([test/testHepMC.cc]) |
||
| 89 | AC_CONFIG_FILES([test/testHepMC.sh], [chmod +x test/testHepMC.sh]) |
||
| 107 | garren | 90 | AC_CONFIG_FILES([test/testMass.cc]) |
| 91 | AC_CONFIG_FILES([test/testMass.sh], [chmod +x test/testMass.sh]) |
||
| 88 | garren | 92 | AC_CONFIG_FILES([test/testHepMCIteration.cc]) |
| 93 | AC_CONFIG_FILES([test/testHepMCIteration.sh], [chmod +x test/testHepMCIteration.sh]) |
||
| 26 | garren | 94 | AC_CONFIG_FILES([test/testPrintBug.sh], [chmod +x test/testPrintBug.sh]) |
| 7 | garren | 95 | AC_CONFIG_FILES([examples/Makefile]) |
| 96 | AC_CONFIG_FILES([examples/GNUmakefile.example]) |
||
| 5 | garren | 97 | |
| 98 | |||
| 99 | # ---------------------------------------------------------------------- |
||
| 100 | # Capture post-install information: |
||
| 101 | # ---------------------------------------------------------------------- |
||
| 102 | |||
| 103 | # ---------------------------------------------------------------------- |
||
| 104 | # Supply boilerplate for HepMC/defs.h source header: |
||
| 105 | # ---------------------------------------------------------------------- |
||
| 106 | |||
| 107 | AH_TOP([#ifndef HEPMC_DEFS_H |
||
| 108 | #define HEPMC_DEFS_H]) |
||
| 109 | |||
| 110 | ## the undefs are converted by configure |
||
| 111 | AH_VERBATIM([PACKAGE],[/* Name of package */ |
||
| 112 | #ifndef PACKAGE |
||
| 113 | #undef PACKAGE |
||
| 114 | #endif]) |
||
| 115 | AH_VERBATIM([PACKAGE_BUGREPORT],[/* Define to the address where bug reports for this package should be sent. */ |
||
| 116 | #ifndef PACKAGE_BUGREPORT |
||
| 117 | #undef PACKAGE_BUGREPORT |
||
| 118 | #endif]) |
||
| 119 | AH_VERBATIM([PACKAGE_NAME],[/* Define to the full name of this package. */ |
||
| 120 | #ifndef PACKAGE_NAME |
||
| 121 | #undef PACKAGE_NAME |
||
| 122 | #endif]) |
||
| 123 | AH_VERBATIM([PACKAGE_STRING],[/* Define to the full name and version of this package. */ |
||
| 124 | #ifndef PACKAGE_STRING |
||
| 125 | #undef PACKAGE_STRING |
||
| 126 | #endif]) |
||
| 127 | AH_VERBATIM([PACKAGE_TARNAME],[/* Define to the one symbol short name of this package. */ |
||
| 128 | #ifndef PACKAGE_TARNAME |
||
| 129 | #undef PACKAGE_TARNAME |
||
| 130 | #endif]) |
||
| 131 | AH_VERBATIM([PACKAGE_VERSION],[/* Define to the version of this package. */ |
||
| 132 | #ifndef PACKAGE_VERSION |
||
| 133 | #undef PACKAGE_VERSION |
||
| 134 | #endif]) |
||
| 135 | AH_VERBATIM([VERSION],[/* Version number of package */ |
||
| 136 | #ifndef VERSION |
||
| 137 | #undef VERSION |
||
| 138 | #endif]) |
||
| 139 | |||
| 140 | AH_BOTTOM([#endif // HEPMC_DEFS_H]) |
||
| 141 | |||
| 142 | # ---------------------------------------------------------------------- |
||
| 143 | # Account for any user configuration options: |
||
| 144 | # ---------------------------------------------------------------------- |
||
| 145 | |||
| 146 | |||
| 147 | # ---------------------------------------------------------------------- |
||
| 148 | # Check for needed programs: |
||
| 149 | # ---------------------------------------------------------------------- |
||
| 150 | |||
| 53 | garren | 151 | # need latex to build documents |
| 78 | garren | 152 | #AC_ARG_VAR(LATEX,[set if latex is in the path]) |
| 153 | #AC_CHECK_PROG([LATEX],[latex],yes) |
||
| 154 | #AM_CONDITIONAL(HAVE_LATEX, test x$LATEX = xyes) |
||
| 155 | #AC_PATH_PROG([LATEXPATH],[latex]) |
||
| 156 | #AC_SUBST(LATEXPATH) |
||
| 53 | garren | 157 | |
| 5 | garren | 158 | # Locate a C++ compiler: |
| 26 | garren | 159 | AC_PROG_CXX(cl g++ g++4 c++ aCC CC cxx cc++ FCC KCC RCC xlC_r xlC gpp) |
| 5 | garren | 160 | |
| 161 | # Use it hereinafter: |
||
| 162 | AC_LANG(C++) |
||
| 163 | |||
| 164 | # Ensure we've found a preprocessor: |
||
| 165 | AC_REQUIRE_CPP |
||
| 166 | |||
| 167 | # copy and diff |
||
| 168 | case "$target" in |
||
| 169 | *-*-win32*) |
||
| 170 | COPY_P="copy -p";DIFF_Q="diff -q -b" |
||
| 171 | ;; |
||
| 172 | *-*-cygwin*) |
||
| 173 | COPY_P="cp -p";DIFF_Q="diff -q -b" |
||
| 174 | ;; |
||
| 175 | *-*-solaris*) |
||
| 176 | COPY_P="cp -p";DIFF_Q="diff -b" |
||
| 177 | use_gmake="yes" |
||
| 178 | ;; |
||
| 179 | *-*-linux*) |
||
| 180 | COPY_P="cp -p";DIFF_Q="diff -q -b" |
||
| 181 | ;; |
||
| 182 | *) |
||
| 183 | COPY_P="cp -p";DIFF_Q="diff -q -b" |
||
| 184 | esac |
||
| 185 | |||
| 186 | AM_CONDITIONAL(USE_GMAKE, test x$use_gmake = xyes) |
||
| 187 | |||
| 188 | AC_SUBST(COPY_P) |
||
| 189 | AC_SUBST(DIFF_Q) |
||
| 190 | |||
| 191 | # worry about compiler flags |
||
| 192 | case "$CXX" in |
||
| 193 | g++) |
||
| 194 | case "$target" in |
||
| 195 | *-*-linux*) |
||
| 196 | AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" |
||
| 197 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so |
||
| 198 | MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," |
||
| 199 | AR="ar"; ARFLAGS="cru" |
||
| 200 | ;; |
||
| 201 | *-*-darwin*) |
||
| 202 | AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" |
||
| 203 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-dynamiclib -single_module"; SHEXT=dylib |
||
| 204 | MY_SHNAME="-Wl,-install_name,"; MY_LD="-Wl,--rpath -Wl," |
||
| 205 | AR="ar"; ARFLAGS="cru" |
||
| 206 | build_shared="no" |
||
| 207 | ;; |
||
| 208 | *) |
||
| 209 | AM_CXXFLAGS="-O -ansi -pedantic -Wall" |
||
| 210 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so |
||
| 211 | MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," |
||
| 212 | AR="ar"; ARFLAGS="cru" |
||
| 213 | esac;; |
||
| 26 | garren | 214 | g++4) |
| 215 | case "$target" in |
||
| 216 | *-*-linux*) |
||
| 217 | AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" |
||
| 218 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so |
||
| 219 | MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," |
||
| 220 | AR="ar"; ARFLAGS="cru" |
||
| 221 | ;; |
||
| 222 | *-*-darwin*) |
||
| 223 | AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" |
||
| 224 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-dynamiclib -single_module"; SHEXT=dylib |
||
| 225 | MY_SHNAME="-Wl,-install_name,"; MY_LD="-Wl,--rpath -Wl," |
||
| 226 | AR="ar"; ARFLAGS="cru" |
||
| 227 | build_shared="no" |
||
| 228 | ;; |
||
| 229 | *) |
||
| 230 | AM_CXXFLAGS="-O -ansi -pedantic -Wall" |
||
| 231 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so |
||
| 232 | MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," |
||
| 233 | AR="ar"; ARFLAGS="cru" |
||
| 234 | esac;; |
||
| 5 | garren | 235 | c++) |
| 236 | case "$target" in |
||
| 237 | *-*-linux*) |
||
| 238 | AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" |
||
| 239 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so |
||
| 240 | MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," |
||
| 241 | AR="ar"; ARFLAGS="cru" |
||
| 242 | ;; |
||
| 243 | *-*-darwin*) |
||
| 244 | AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" |
||
| 245 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-dynamiclib -single_module"; SHEXT=dylib |
||
| 246 | MY_SHNAME="-Wl,-install_name,"; MY_LD="-Wl,--rpath -Wl," |
||
| 247 | AR="ar"; ARFLAGS="cru" |
||
| 248 | build_shared="no" |
||
| 249 | ;; |
||
| 250 | *) |
||
| 251 | AM_CXXFLAGS="-O -ansi -pedantic -Wall" |
||
| 252 | MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so |
||
| 253 | MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," |
||
| 254 | AR="ar"; ARFLAGS="cru" |
||
| 255 | esac;; |
||
| 256 | cl) |
||
| 257 | AM_CXXFLAGS="-EHsc -nologo -GR -GX -MD" |
||
| 258 | AR="ar"; ARFLAGS="cru" |
||
| 259 | MY_SHFLAGS=" "; MY_SHLINK="lib /NOLOGO"; SHEXT=lib |
||
| 260 | MY_SHNAME="/OUT:"; MY_LD=" " |
||
| 261 | build_static="no" |
||
| 262 | build_shared="yes" |
||
| 263 | build_visual="yes" |
||
| 264 | CXXFLAGS=" " |
||
| 265 | AC_SUBST(CXXFLAGS) |
||
| 266 | ;; |
||
| 267 | CC) |
||
| 268 | case "$target" in |
||
| 269 | *-*-solaris*) |
||
| 270 | AM_CXXFLAGS="-O" |
||
| 271 | MY_SHFLAGS="-KPIC -DPIC"; MY_SHLINK="-G"; SHEXT=so |
||
| 272 | MY_SHNAME="-h"; MY_LD="-R" |
||
| 273 | AM_LDFLAGS="-lsunmath" |
||
| 274 | AR="CC"; ARFLAGS="-xar -o" |
||
| 275 | build_shared="no" |
||
| 276 | ;; |
||
| 277 | *-*-hpux*) AM_CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit" |
||
| 278 | AR="ar"; ARFLAGS="cru" |
||
| 279 | build_shared="no" |
||
| 280 | ;; |
||
| 281 | *-*-irix*) AM_CXXFLAGS="-O -OPT:Olimit=0 -pta" |
||
| 282 | AR="ar"; ARFLAGS="cru" |
||
| 283 | build_shared="no" |
||
| 284 | ;; |
||
| 285 | *) echo UNEXPECTED CHOICE OF OPERATING SYSTEM FOR $CXX: $target |
||
| 286 | esac;; |
||
| 287 | aCC) |
||
| 288 | AM_CXXFLAGS="-O -Aa +DAportable +Onolimit" |
||
| 289 | AR="ar"; ARFLAGS="cru" |
||
| 290 | build_shared="no" |
||
| 291 | ;; |
||
| 292 | cxx) |
||
| 293 | AM_CXXFLAGS="-O -std strict_ansi -timplicit_local" |
||
| 294 | AR="ar"; ARFLAGS="cru" |
||
| 295 | build_shared="no" |
||
| 296 | ;; |
||
| 297 | xlC) |
||
| 298 | AM_CXXFLAGS="-O3 -qtwolink -+" |
||
| 299 | AR="ar"; ARFLAGS="cru" |
||
| 300 | build_shared="no" |
||
| 301 | ;; |
||
| 302 | *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX |
||
| 303 | esac |
||
| 304 | |||
| 305 | AM_CONDITIONAL(BUILD_SHARED, test x$build_shared = xyes) |
||
| 306 | AM_CONDITIONAL(BUILD_STATIC, test x$build_static = xyes) |
||
| 307 | AM_CONDITIONAL(BUILD_VISUAL, test x$build_visual = xyes) |
||
| 308 | |||
| 309 | AC_SUBST(AM_CXXFLAGS) |
||
| 310 | AC_SUBST(AM_LDFLAGS) |
||
| 311 | AC_SUBST(MY_SHFLAGS) |
||
| 312 | AC_SUBST(MY_SHLINK) |
||
| 313 | AC_SUBST(MY_SHNAME) |
||
| 314 | AC_SUBST(MY_LD) |
||
| 315 | AC_SUBST(SHEXT) |
||
| 316 | AC_SUBST(AR) |
||
| 317 | AC_SUBST(ARFLAGS) |
||
| 318 | |||
| 319 | # ---------------------------------------------------------------------- |
||
| 320 | # Set system-dependent options: |
||
| 321 | # ---------------------------------------------------------------------- |
||
| 322 | |||
| 323 | |||
| 324 | # ---------------------------------------------------------------------- |
||
| 325 | # Check for needed libraries: |
||
| 326 | # ---------------------------------------------------------------------- |
||
| 327 | |||
| 328 | |||
| 329 | # ---------------------------------------------------------------------- |
||
| 330 | # Check for needed header files: |
||
| 331 | # ---------------------------------------------------------------------- |
||
| 332 | |||
| 333 | # ---------------------------------------------------------------------- |
||
| 334 | # Check for needed typedefs, structures, and compiler characteristics: |
||
| 335 | # ---------------------------------------------------------------------- |
||
| 336 | |||
| 337 | AC_CHECK_TYPES([ptrdiff_t]) |
||
| 338 | |||
| 339 | # ---------------------------------------------------------------------- |
||
| 340 | # Check for needed library functions: |
||
| 341 | # ---------------------------------------------------------------------- |
||
| 342 | |||
| 343 | |||
| 344 | # ---------------------------------------------------------------------- |
||
| 345 | # Finish up: |
||
| 346 | # ---------------------------------------------------------------------- |
||
| 347 | |||
| 348 | AC_OUTPUT |
||
| 349 | |||
| 350 | |||
| 351 | # ====================================================================== |