# ====================================================================== # This is the CLHEP configuration input file # Process this file with autoconf to produce a configure script. # ====================================================================== # ---------------------------------------------------------------------- # Identify the package and initialize the autotools: # ---------------------------------------------------------------------- AC_PREREQ(2.59) AC_INIT(CLHEP, 2.0.4.7, http://savannah.cern.ch/projects/clhep/ ) AC_CANONICAL_TARGET AC_CONFIG_SRCDIR([Vector/src/AxisAngle.cc]) AM_INIT_AUTOMAKE(1.9 foreign) AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_RANLIB # ---------------------------------------------------------------------- # subpackages # ---------------------------------------------------------------------- AC_CONFIG_SUBDIRS(Units Vector Evaluator GenericFunctions Geometry Random Matrix RandomObjects RefCount Cast Exceptions) # ---------------------------------------------------------------------- # --enable-exceptions or --disable-exceptions # --disable-exceptions is the default # ---------------------------------------------------------------------- AC_ARG_ENABLE(exceptions, AC_HELP_STRING([--enable-exceptions],[use CLHEP/Exceptions (off by default)]), [case "${enableval}" in yes) AC_SUBST(use_exceptions,["#define ENABLE_ZOOM_EXCEPTIONS"]) ;; no) AC_SUBST(use_exceptions,["#undef ENABLE_ZOOM_EXCEPTIONS"]) ;; *) AC_SUBST(use_exceptions,["#define ENABLE_ZOOM_EXCEPTIONS"]) ;; esac], [AC_SUBST(use_exceptions,["#undef ENABLE_ZOOM_EXCEPTIONS"])]) AC_ARG_ENABLE(shared, AC_HELP_STRING([--disable-shared],[do not build shared libraries]), [case "${enableval}" in yes) build_shared="yes";; no) build_shared="no";; *) build_shared="yes";; esac], [build_shared="yes"]) AC_ARG_ENABLE(static, AC_HELP_STRING([--disable-static],[do not build static libraries]), [case "${enableval}" in yes) build_static="yes";; no) build_static="no";; *) build_static="yes";; esac], [build_static="yes"]) AC_ARG_ENABLE(visual, AC_HELP_STRING([--enable-visual],[on by default when using Visual C++]), [case "${enableval}" in yes) build_visual="yes";; no) build_visual="no";; *) build_visual="no";; esac], [build_visual="no"]) AC_ARG_ENABLE(gmake, AC_HELP_STRING([--enable-gmake],[use gmake (default is make)]), [case "${enableval}" in yes) use_gmake="yes";; no) use_gmake="no";; *) use_gmake="no";; esac], [use_gmake="no"]) # ---------------------------------------------------------------------- # Identify the files that 'configure' is to produce: # ---------------------------------------------------------------------- # Makefiles: AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([getObjectList], [chmod +x getObjectList]) # tarball scripts AC_CONFIG_FILES([makeSourceDist], [chmod +x makeSourceDist]) AC_CONFIG_FILES([makeBinaryTar], [chmod +x makeBinaryTar]) # build clheplib AC_CONFIG_FILES([build-clheplib], [chmod +x build-clheplib]) # build ClhepVersion.h AC_CONFIG_FILES([build-header], [chmod +x build-header]) # Configuration inquiry program/script: AC_CONFIG_FILES([clhep-config], [chmod +x clhep-config]) # ---------------------------------------------------------------------- # Capture post-install information: # ---------------------------------------------------------------------- # ---------------------------------------------------------------------- # Check for needed programs: # ---------------------------------------------------------------------- # Locate a C++ compiler: AC_PROG_CXX(cl g++ g++4 c++ icc aCC CC cxx cc++ FCC RCC xlC_r xlC gpp) # Use it hereinafter: AC_LANG(C++) # Ensure we've found a preprocessor: AC_REQUIRE_CPP # copy and diff case "$target" in *-*-win32*) COPY_P="copy -p";DIFF_Q="diff -q -b" ;; *-*-cygwin*) COPY_P="cp -p";DIFF_Q="diff -q -b" ;; *-*-solaris*) COPY_P="cp -p";DIFF_Q="diff -b" use_gmake="yes" ;; *-*-linux*) COPY_P="cp -p";DIFF_Q="diff -q -b" ;; *) COPY_P="cp -p";DIFF_Q="diff -q -b" esac AM_CONDITIONAL(USE_GMAKE, test x$use_gmake = xyes) AC_SUBST(COPY_P) AC_SUBST(DIFF_Q) # worry about compiler flags case "$CXX" in g++) case "$target" in *-*-linux*) AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" MY_SHFLAGS="-fPIC -DPIC" MY_SHLINK="-shared -Wl,--no-undefined" MY_SHNAME="-Wl,-soname," MY_LD="-Wl,--rpath -Wl," SHEXT=so AR="ar"; ARFLAGS="cru" ;; *-*-darwin*) AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" MY_SHFLAGS=""; MY_SHLINK="-dynamiclib -single_module -undefined dynamic_lookup"; SHEXT=dylib MY_SHNAME="-Wl,-install_name,"; MY_LD="-bind_at_load -Wl,--rpath -Wl," AR="ar"; ARFLAGS="cru" ;; *-*-cygwin*) AM_CXXFLAGS="-O -ansi -pedantic -Wall" MY_SHFLAGS="-DPIC"; SHEXT=dll MY_SHLINK="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive" MY_SHLINKEXTRA="-Wl,--no-whole-archive" MY_SHNAME="-Wl,-out-implib="; MY_LD="-Wl,--rpath -Wl," AR="ar"; ARFLAGS="cru" build_static="yes" build_shared="no" ;; *) AM_CXXFLAGS="-O -ansi -pedantic -Wall" MY_SHFLAGS="-fPIC -DPIC" MY_SHLINK="-shared -Wl,--no-undefined" MY_SHNAME="-Wl,-soname," MY_LD="-Wl,--rpath -Wl," SHEXT=so AR="ar"; ARFLAGS="cru" esac;; g++4) case "$target" in *-*-linux*) AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" MY_SHFLAGS="-fPIC -DPIC" MY_SHLINK="-shared -Wl,--no-undefined" MY_SHNAME="-Wl,-soname," MY_LD="-Wl,--rpath -Wl," SHEXT=so AR="ar"; ARFLAGS="cru" ;; *) AM_CXXFLAGS="-O -ansi -pedantic -Wall" MY_SHFLAGS="-fPIC -DPIC" MY_SHLINK="-shared -Wl,--no-undefined" MY_SHNAME="-Wl,-soname," MY_LD="-Wl,--rpath -Wl," SHEXT=so AR="ar"; ARFLAGS="cru" esac;; c++) case "$target" in *-*-linux*) AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" MY_SHFLAGS="-fPIC -DPIC" MY_SHLINK="-shared -Wl,--no-undefined" MY_SHNAME="-Wl,-soname," MY_LD="-Wl,--rpath -Wl," SHEXT=so AR="ar"; ARFLAGS="cru" ;; *-*-darwin*) AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE" MY_SHFLAGS=""; MY_SHLINK="-dynamiclib -single_module -undefined dynamic_lookup"; SHEXT=dylib MY_SHNAME="-Wl,-install_name,"; MY_LD="-bind_at_load -Wl,--rpath -Wl," AR="ar"; ARFLAGS="cru" ;; *-*-cygwin*) AM_CXXFLAGS="-O -ansi -pedantic -Wall" MY_SHFLAGS="-DPIC"; SHEXT=dll MY_SHLINK="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive" MY_SHLINKEXTRA="-Wl,--no-whole-archive" MY_SHNAME="-Wl,-out-implib="; MY_LD="-Wl,--rpath -Wl," AR="ar"; ARFLAGS="cru" build_static="yes" build_shared="no" ;; *) AM_CXXFLAGS="-O -ansi -pedantic -Wall" MY_SHFLAGS="-fPIC -DPIC" MY_SHLINK="-shared -Wl,--no-undefined" MY_SHNAME="-Wl,-soname," MY_LD="-Wl,--rpath -Wl," SHEXT=so AR="ar"; ARFLAGS="cru" esac;; icc) case "$target" in *-*-linux*) AM_CXXFLAGS="-O -ansi -fp-model precise -no-gcc -w1" AM_LDFLAGS="-lstdc++" MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," AR="xiar"; ARFLAGS="cru" ;; *) AM_CXXFLAGS="-O -ansi -fp-model precise -no-gcc -w1" AM_LDFLAGS="-lstdc++" MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl," AR="xiar"; ARFLAGS="cru" esac;; cl) AM_CXXFLAGS="-EHsc -nologo -GR -MD" AR="ar"; ARFLAGS="cru" MY_SHFLAGS=" "; MY_SHLINK="lib /NOLOGO"; SHEXT=lib MY_SHNAME="/OUT:"; MY_LD=" " build_static="no" build_shared="yes" build_visual="yes" CXXFLAGS=" " AC_SUBST(CXXFLAGS) ;; CC) case "$target" in *-*-solaris*) AM_CXXFLAGS="-O" MY_SHFLAGS="-KPIC -DPIC"; MY_SHLINK="-G"; SHEXT=so MY_SHNAME="-h"; MY_LD="-R" AM_LDFLAGS="-lsunmath" AR="CC"; ARFLAGS="-xar -o" build_shared="no" ;; *-*-hpux*) AM_CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit" AR="ar"; ARFLAGS="cru" build_shared="no" ;; *-*-irix*) AM_CXXFLAGS="-O -OPT:Olimit=0 -pta" AR="ar"; ARFLAGS="cru" build_shared="no" ;; *) echo UNEXPECTED CHOICE OF OPERATING SYSTEM FOR $CXX: $target esac;; aCC) AM_CXXFLAGS="-O -Aa +DAportable +Onolimit" AR="ar"; ARFLAGS="cru" build_shared="no" ;; cxx) AM_CXXFLAGS="-O -std strict_ansi -timplicit_local" AR="ar"; ARFLAGS="cru" build_shared="no" ;; xlC) AM_CXXFLAGS="-O3 -qtwolink -+" AR="ar"; ARFLAGS="cru" build_shared="no" ;; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac AM_CONDITIONAL(BUILD_SHARED, test x$build_shared = xyes) AM_CONDITIONAL(BUILD_STATIC, test x$build_static = xyes) AM_CONDITIONAL(BUILD_VISUAL, test x$build_visual = xyes) AC_SUBST(AM_CXXFLAGS) AC_SUBST(AM_LDFLAGS) AC_SUBST(MY_SHFLAGS) AC_SUBST(MY_SHLINK) AC_SUBST(MY_SHNAME) AC_SUBST(MY_LD) AC_SUBST(SHEXT) AC_SUBST(AR) AC_SUBST(ARFLAGS) # ---------------------------------------------------------------------- # Check for supported link flags # ---------------------------------------------------------------------- AC_CHECK_LIB([c -Wl,--as-needed],open,[MY_SHEXTRA="-Wl,--as-needed"]) AC_SUBST(MY_SHEXTRA) # ---------------------------------------------------------------------- # Finish up: # ---------------------------------------------------------------------- AC_OUTPUT # ======================================================================