diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1,196 +1,199 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.59])
 AC_INIT([ThePEG],[2.0.0],[http://www.thep.lu.se/ThePEG/],[ThePEG])
 AC_CONFIG_AUX_DIR([Config])
 AC_CONFIG_MACRO_DIR([m4])
 
 THEPEG_LIBTOOL_VERSION_INFO(18,1,0)
 
 AC_CONFIG_SRCDIR([EventRecord/SubProcess.h])
 AC_CONFIG_HEADERS([Config/config.h Config/LWH.h Config/ThePEG_Qty.h:Config/ThePEG_Qty.h.a:Config/ThePEG_Qty.h.in:Config/ThePEG_Qty.h.b])
 
 AC_CANONICAL_HOST
 
 case "${host}" in
   *-darwin[[0156]].*) 
     AC_MSG_ERROR([ThePEG requires OS X 10.3 or later])
     ;;
   *-darwin7.*) 
     if test "x$MACOSX_DEPLOYMENT_TARGET" != "x10.3"; then 
        AC_MSG_ERROR(
        [Please export the MACOSX_DEPLOYMENT_TARGET variable, set to 10.3]) 
     fi 
-    ;;	
+    ;;  
 esac
 
 AC_LANG(C++)
 AM_INIT_AUTOMAKE([1.9 gnu dist-bzip2 subdir-objects -Wall])
 dnl also include std-options once --version and --help exist
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 
 dnl Checks for C++ compiler. Handle C++11 flags.
 AC_PROG_CXX
 
 dnl this block can go once we decide to have C++11 always on
 AC_MSG_CHECKING([whether to include C++11 flag for testing])
 AC_ARG_ENABLE(stdcxx11,
         AC_HELP_STRING([--enable-stdcxx11],
-	[turn on C++11 flag (only for testing, do not use in production!)]),
+    [turn on C++11 flag (only for testing, do not use in production!)]),
         [],
         [enable_stdcxx11=no]
         )
 
 
 if test "x$enable_stdcxx11" = "xyes"; then
 AC_MSG_RESULT([yes])
 dnl remove the wrapper if block and "optional" once we decide to have C++11 always on
 AX_CXX_COMPILE_STDCXX_11([noext],[optional])
 if test "x$HAVE_CXX11" != "x1"; then
 AC_MSG_ERROR([compiler does not recognize requested c++11 option])
 fi
 else
 AC_MSG_RESULT([no])
 fi
 
 dnl check for unistd
 AC_CHECK_HEADER([unistd.h],[],
       [AC_MSG_ERROR([ThePEG needs "unistd.h". Check your system is POSIX-compliant.])])
 
 dnl Checks for programs.
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 AC_PROG_LN_S
 
 LT_PREREQ([2.2])
 LT_INIT([disable-static dlopen pic-only])
 
 VL_LIB_READLINE
 
 THEPEG_UNIT_CHECKING
 THEPEG_CHECK_GSL
 THEPEG_SEARCH_LHAPDF
 THEPEG_CHECK_HEPMC
 THEPEG_CHECK_RIVET
 FASTJET_CHECK_FASTJET
 
 AX_CHECK_ZLIB
 
 dnl AX_CHECK_BZ2LIB
 
 THEPEG_DEFINE_ENVDEFAULT(ThePEG_GZREAD_FILE,GZREAD_FILE,gunzip -c,[The command which, taking the name of a gzipped file as argument, unzips it and prints it to stdout. Default is "gunzip -c"])
 
 THEPEG_DEFINE_ENVDEFAULT(ThePEG_GZWRITE_FILE,GZWRITE_FILE,[gzip -c > ],[The command which, taking the name of a gzipped file as argument, reads stdin, zips it and writes it to the file. Default is "gzip -c > ".])
 
 THEPEG_DEFINE_ENVDEFAULT(ThePEG_BZ2READ_FILE,BZ2READ_FILE,bunzip2 -c,[The command which, taking the name of a bzipped file as argument, unzips it and prints it to stdout. Default is "bunzip2 -c".])
 
 THEPEG_DEFINE_ENVDEFAULT(ThePEG_BZ2WRITE_FILE,BZ2WRITE_FILE,[bzip2 -c > ],[The command which, taking the name of a bzipped file as argument, reads stdin, zips it and writes it to the file. Default is "bzip2 -c > ".])
 
 THEPEG_CHECK_EXPM1
 THEPEG_CHECK_LOG1P
 THEPEG_CHECK_DLOPEN
+
+AX_COMPILER_VENDOR
+case "${ax_cv_cxx_compiler_vendor}" in
+    clang)
+        case "${host}" in
+            *linux*)
+                AC_MSG_WARN([
+*****************************************************************************
+ clang/LLVM ignores the CPU floating-point environment. 
+ All floating point exception trapping will be disabled.
+*****************************************************************************])
+                ;;
+        esac
+esac
 THEPEG_CHECK_FPUCONTROL
 THEPEG_CHECK_FENV
+
 THEPEG_CHECK_AIDA
 
 AM_CPPFLAGS="-I\$(top_builddir)/include \$(GSLINCLUDE)"
 
-AX_COMPILER_VENDOR
-
 case "${ax_cv_cxx_compiler_vendor}" in
      gnu)
-	AM_CXXFLAGS="-ansi -pedantic -Wall -W"
-	;;
+    AM_CXXFLAGS="-ansi -pedantic -Wall -W"
+    ;;
      clang)
-        case "${host}" in
-	     *linux*)
-		AC_MSG_WARN([
-*****************************************************************************
- WARNING
- Usage of clang on Linux is currently not recommended.
- Please use a different compiler if possible.
-*****************************************************************************])
-	     ;;
-	esac	
-	AM_CXXFLAGS="-ansi -pedantic -Wall -Wno-overloaded-virtual -Wno-unused-function"
+    AM_CXXFLAGS="-ansi -pedantic -Wall -Wno-overloaded-virtual -Wno-unused-function"
 dnl  -Wno-unneeded-internal-declaration 
-	;;
+    ;;
      intel)
-	AM_CXXFLAGS="-strict-ansi -Wall -wd13000,1418,981,444,383,1599,1572,2259,980" 
-	;;
+    AM_CXXFLAGS="-strict-ansi -Wall -wd13000,1418,981,444,383,1599,1572,2259,980" 
+    ;;
 esac
 
 THEPEG_CHECK_ABS_BUG
 
 AC_SUBST(AM_CPPFLAGS)
 AC_SUBST(AM_CXXFLAGS)
 
 dnl do an actual capability check on ld instead of this workaround
 case "${host}" in
   *-darwin*) 
      ;;
   *)
      AM_LDFLAGS="-Wl,--enable-new-dtags"
      ;;
 esac
 
 AC_SUBST(AM_LDFLAGS)
 
 THEPEG_EMPTY_SUBST
 
 AC_PATH_PROG(PERL, perl)
 
 AC_ARG_WITH(javagui,
             [  --with-javagui          Compile and install the java-based GUI.])
 
 if test "x$with_javagui" != "xno"; then
   THEPEG_HAS_JAVA([1.4], [], [with_javagui=no; AC_MSG_NOTICE([Java GUI disabled])])
 fi
 
 AM_CONDITIONAL([JAVAGUI], [test "x$with_javagui" != "xno"])
 
 AC_CONFIG_FILES([Helicity/Makefile
 Helicity/WaveFunction/Makefile
 Helicity/Vertex/Makefile
 Helicity/Vertex/Scalar/Makefile
 Helicity/Vertex/Vector/Makefile
 Helicity/Vertex/Tensor/Makefile
 Utilities/Makefile
 include/Makefile
 Interface/Makefile
 LesHouches/Makefile
 Vectors/Makefile
 PDT/Makefile
 PDF/Makefile
 Persistency/Makefile
 Config/Makefile
 Handlers/Makefile
 MatrixElement/Makefile
 Pointer/Makefile
 lib/Makefile
 lib/Makefile.common.install
 src/Makefile
 ACDC/Makefile
 Repository/Makefile
 EventRecord/Makefile
 StandardModel/Makefile
 Cuts/Makefile
 Analysis/Makefile
 Doc/Makefile
 Doc/MakeDocs.in
 Doc/refman.h
 Doc/refman.conf
 java/Makefile
 Makefile])
 AC_CONFIG_FILES([Doc/fixinterfaces.pl],[chmod +x Doc/fixinterfaces.pl])
 
 BOOST_REQUIRE([1.41],[AC_SUBST([BOOST_NOT_FOUND],[true])])
 BOOST_TEST()
 THEPEG_BOOST_UNIT_TEST
 
 THEPEG_OVERVIEW
 
 AC_CONFIG_COMMANDS([summary],[cat config.thepeg])
 
 AC_OUTPUT
diff --git a/m4/thepeg.m4 b/m4/thepeg.m4
--- a/m4/thepeg.m4
+++ b/m4/thepeg.m4
@@ -1,478 +1,492 @@
 # check for gcc bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34130
 AC_DEFUN([THEPEG_CHECK_ABS_BUG],
 [
 if test "$GCC" = "yes"; then
 AC_MSG_CHECKING([for gcc abs bug])
 AC_RUN_IFELSE([
 	AC_LANG_PROGRAM(
 		[[ int foo (int i) { return -2 * __builtin_abs(i - 2); }	]],
 		[[ if ( foo(1) != -2 || foo(3) != -2 ) return 1; ]]
 	)],
 	[ AC_MSG_RESULT([not found. Compiler is ok.]) ],
 	[
 	AC_MSG_RESULT([found. Builtin abs() is buggy.])
 	AC_MSG_CHECKING([if -fno-builtin-abs works])
 	oldcxxflags=$CXXFLAGS
 	CXXFLAGS="$CXXFLAGS -fno-builtin-abs"
 	AC_RUN_IFELSE([
 		AC_LANG_PROGRAM(
 			[[
 			#include <cstdlib>
 			int foo (int i) { return -2 * std::abs(i - 2); }
 			]],
 			[[
 			if (foo(1) != -2 || foo(3) != -2) return 1; 
 			]]
 		)],
 		[
 		AC_MSG_RESULT([yes. Setting -fno-builtin-abs.])
 		AM_CXXFLAGS="$AM_CXXFLAGS -fno-builtin-abs"
 		AM_CFLAGS="$AM_CFLAGS -fno-builtin-abs"
 		],
 		[
 		AC_MSG_RESULT([no. Setting -fno-builtin.])
 		AC_MSG_WARN([
 *****************************************************************************
 For this version of gcc, -fno-builtin-abs alone did not work to avoid the 
 gcc abs() bug. Instead, all gcc builtin functions are now disabled.
 Update gcc if possible.
 *****************************************************************************])
 		AM_CXXFLAGS="$AM_CXXFLAGS -fno-builtin"
 		AM_CFLAGS="$AM_CFLAGS -fno-builtin"
 		]
 	)
 	CXXFLAGS=$oldcxxflags
 	]
 )
 fi
 ])
 
 
 # Check for ThePEG.
 AC_DEFUN([THEPEG_CHECK_THEPEG],
 [THEPEGBUILD="no"
 
 AC_MSG_CHECKING([if THEPEGPATH is set])
 if test -z "$THEPEGPATH"; then
   if test -f "../ThePEG/Config/config.h"; then
     THEPEGPATH="\$(top_builddir)/../ThePEG"
     THEPEGBUILD="yes"
     AC_MSG_RESULT([no (using ../ThePEG)])
     AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_builddir)/../ThePEG/include "
     SETUPTHEPEG="$THEPEGPATH/src/setupThePEG -L $THEPEGPATH/lib"
     RUNTHEPEG="$THEPEGPATH/src/runThePEG -L $THEPEGPATH/lib"
     THEPEGDOC="\$(top_builddir)/../ThePEG/Doc"
     THEPEGLIB="\$(top_builddir)/../ThePEG/lib"
   else
     if test "x$prefix" == "xNONE"; then
       THEPEGPATH=$ac_default_prefix
     else
       THEPEGPATH=$prefix
     fi
     AC_MSG_RESULT([no (using $THEPEGPATH)])
   fi
 else
   AC_MSG_RESULT([yes ($THEPEGPATH)])
 fi
 
 if test "$THEPEGBUILD" == "no"; then
   AM_CPPFLAGS="-I\$(top_builddir)/include -I$THEPEGPATH/include "
   SETUPTHEPEG="$THEPEGPATH/bin/setupThePEG"
   RUNTHEPEG="$THEPEGPATH/bin/runThePEG"
   THEPEGDOC="$THEPEGPATH/share/ThePEG/Doc"
   THEPEGLIB="$THEPEGPATH/lib/ThePEG"
   AC_MSG_CHECKING([if the installed ThePEG works])
   if test -x $SETUPTHEPEG && $SETUPTHEPEG /dev/null; then
     AC_MSG_RESULT(yes)
   else
     AC_MSG_RESULT(no)
     AC_MSG_ERROR(ThePEG must be installed and THEPEGPATH set properly.)
   fi
 fi
 AC_ARG_VAR(THEPEGPATH,[The path to where ThePEG is installed. Default is $prefix unless we are working in a sister of the build directory of ThePEG.])
 
 pkglibdir="\$(libdir)/ThePEG"
 AC_SUBST(pkglibdir)
 AC_SUBST(THEPEGPATH)
 AC_SUBST(THEPEGINCLUDE)
 AC_SUBST(THEPEGDOC)
 AC_SUBST(THEPEGLIB)
 AC_SUBST(SETUPTHEPEG)
 AC_SUBST(RUNTHEPEG)
 AC_SUBST(AM_CPPFLAGS)
 ])
 
 # Search for ThePEG in standard places.
 AC_DEFUN([THEPEG_SEARCH_THEPEG],
 [THEPEGBUILD="no"
 
 AC_MSG_CHECKING([if THEPEGPATH is set])
 if test -z "$THEPEGPATH"; then
   if test -f "../ThePEG/Config/config.h"; then
     THEPEGPATH="\$(top_builddir)/../ThePEG"
     THEPEGBUILD="yes"
     AC_MSG_RESULT([no (found ../ThePEG)])
     AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_builddir)/../ThePEG/include "
     SETUPTHEPEG="$THEPEGPATH/src/setupThePEG -L $THEPEGPATH/lib"
     RUNTHEPEG="$THEPEGPATH/src/runThePEG -L $THEPEGPATH/lib"
     THEPEGDOC="\$(top_builddir)/../ThePEG/Doc"
     THEPEGLIB="\$(top_builddir)/../ThePEG/lib"
   else
     for dirbase in / /usr $ac_default_prefix $prefix; do
       if test -f $dirbase/include/ThePEG/Config/config.h; then
         THEPEGPATH=$dirbase
       fi
     done
     if test -z "$THEPEGPATH"; then
       AC_MSG_RESULT([no])
       AC_MSG_ERROR(Could not find a valid ThePEG installation or build directory)
     else
       AC_MSG_RESULT([no (found $THEPEGPATH)])
     fi
   fi
 else
   AC_MSG_RESULT([yes ($THEPEGPATH)])
 fi
 
 if test "$THEPEGBUILD" == "no"; then
   AM_CPPFLAGS="-I\$(top_builddir)/include -I$THEPEGPATH/include "
   SETUPTHEPEG="$THEPEGPATH/bin/setupThePEG"
   RUNTHEPEG="$THEPEGPATH/bin/runThePEG"
   THEPEGDOC="$THEPEGPATH/share/ThePEG/Doc"
   THEPEGLIB="$THEPEGPATH/lib/ThePEG"
   AC_MSG_CHECKING([if the installed ThePEG works])
   if test -x $SETUPTHEPEG && $SETUPTHEPEG /dev/null; then
     AC_MSG_RESULT(yes)
   else
     AC_MSG_RESULT(no)
     AC_MSG_ERROR(ThePEG must be installed and THEPEGPATH set properly.)
   fi
 fi
 AC_ARG_VAR(THEPEGPATH,[The path to where ThePEG is installed. Default is $prefix unless we are working in a sister of the build directory of ThePEG.])
 
 pkglibdir="\$(libdir)/ThePEG"
 AC_SUBST(pkglibdir)
 AC_SUBST(THEPEGPATH)
 AC_SUBST(THEPEGINCLUDE)
 AC_SUBST(THEPEGDOC)
 AC_SUBST(THEPEGLIB)
 AC_SUBST(SETUPTHEPEG)
 AC_SUBST(RUNTHEPEG)
 AC_SUBST(AM_CPPFLAGS)
 ])
 
 AC_DEFUN([THEPEG_EMPTY_SUBST],
 [EMPTY=""
 AC_SUBST(EMPTY)
 ])
 
 AC_DEFUN([THEPEG_SEARCH_PREFIXDIR_FILES],
 [AC_MSG_CHECKING([if $1 and $2 is set])
 if test -z "$$1"; then
   for dirbase in / /usr $ac_default_prefix $prefix; do
     if test -z "$$2"; then
       for filename in $4; do
         if test -f $dirbase/$3/$filename; then
           $1=$dirbase/$3
 	  $2=$filename
         fi
       done
     else
       if test -f $dirbase/$3/$$2; then
         $1=$dirbase/$3
       fi
     fi
   done
   if test -z "$$1" -o -z "$$2"; then
     AC_MSG_ERROR(no. Could not guess appropriate value for $1 and $2)
   else
     AC_MSG_RESULT([no (found $$1 and $$2)])
   fi
 else
   if test -z "$$2"; then
     for filename in $4; do
       if test -f $$1/$filename; then
 	  $2=$filename
       fi
     done
     AC_MSG_RESULT([no (found $$1 and $$2)])
   else
     if test -f $$1/$$2; then
       AC_MSG_RESULT([yes ($$1 and $$2)])
     else
       AC_MSG_ERROR(no. Could not guess appropriate value for $1 and $2)
     fi
   fi
 fi
 AC_ARG_VAR($1,[$5])
 AC_ARG_VAR($2,[$6])
 ])
 
 AC_DEFUN([THEPEG_CHECK_PREFIXDIR],
 [AC_MSG_CHECKING([if $1 is set])
 if test -z "$$1"; then
    if test -d $prefix/$2; then
       $1=$prefix/$2
    elif test -d $ac_default_prefix/$2; then
       $1=$ac_default_prefix/$2
    elif test -d /usr/$2; then
       $1=/usr/$2
    elif test -d /$2; then
       $1=/$2
    else
      AC_MSG_ERROR(no. Could not guess appropriate value for $1)
    fi
    AC_MSG_RESULT([no (using $$1)])
 else
   AC_MSG_RESULT([yes ($$1)])
 fi
 AC_ARG_VAR($1,[$3])
 ])
 
 
 AC_DEFUN([THEPEG_CHECK_ENVDEFAULT],
 [AC_MSG_CHECKING([if $1 is set])
 if test -z "$$1"; then
   $1="$2"
   AC_MSG_RESULT([no (using $$1)])
 else
   AC_MSG_RESULT([yes ($$1)])
 fi
 AC_ARG_VAR($1,[$3])
 ])
 
 AC_DEFUN([THEPEG_DEFINE_ENVDEFAULT],
 [AC_MSG_CHECKING([if $2 is set])
 if test -z "$$2"; then
   $2="$3"
   AC_MSG_RESULT([no (using $$2)])
 else
   AC_MSG_RESULT([yes ($$2)])
 fi
 AC_ARG_VAR($2,[$4])
 AC_DEFINE_UNQUOTED($1,"$$2",[$4])
 ])
 
 AC_DEFUN([THEPEG_CHECK_EXPM1],
 [echo $ECHO_N "checking for expm1... $ECHO_C" 1>&6
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <cmath>
 ]], [[expm1(1.0);
 ]])],[AC_DEFINE(ThePEG_HAS_EXPM1,1,define if expm1 is available)
 echo "${ECHO_T}yes" 1>&6
 ],[echo "${ECHO_T}no" 1>&6])])
 
 AC_DEFUN([THEPEG_CHECK_LOG1P],
 [echo $ECHO_N "checking for log1p... $ECHO_C" 1>&6
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <cmath>
 ]], [[log1p(1.0);
 ]])],[AC_DEFINE(ThePEG_HAS_LOG1P,1,define if log1p is available)
 echo "${ECHO_T}yes" 1>&6
 ],[echo "${ECHO_T}no" 1>&6])])
 
 AC_DEFUN([THEPEG_CHECK_AIDA],
 [
 AC_REQUIRE([THEPEG_CHECK_RIVET])
 echo $ECHO_N "checking for installed AIDA headers... $ECHO_C" 1>&6
 dnl if test "x$with_rivet" != "xno"; then
 dnl    echo "using rivet aida"
 dnl    LWHINCLUDE="\$(RIVETINCLUDE)/LWH"
 dnl else
 LWHINCLUDE="-I\$(top_builddir)/include/ThePEG/Analysis/LWH"
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "AIDA/IAnalysisFactory.h"
 ]], [[AIDA::IAnalysisFactory * af;
 ]])],[AC_DEFINE(LWH_USING_AIDA,1,define if AIDA headers are installed)
 echo "${ECHO_T}yes" 1>&6
 ],[echo "${ECHO_T}no" 1>&6])
 dnl fi
 AC_SUBST([LWHINCLUDE])
 ])
 
 AC_DEFUN([THEPEG_CHECK_DLOPEN],
 [echo $ECHO_N "checking for dlopen... $ECHO_C" 1>&6
 # do this with libtool!
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <dlfcn.h>
 ]], [[dlopen("", 1);
 ]])],[AC_DEFINE(ThePEG_HAS_DLOPEN,1,define if dlopen is available)
 echo "${ECHO_T}yes" 1>&6
 ],[echo "${ECHO_T}no" 1>&6])])
 
 AC_DEFUN([THEPEG_CHECK_SSTREAM],
 [echo $ECHO_N "checking for <sstream>... $ECHO_C" 1>&6
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sstream>
 ]], [[std::ostringstream os;
 ]])],[AC_DEFINE(ThePEG_HAS_SSTREAM,1,define if sstream is available)
 echo "${ECHO_T}yes" 1>&6
 ],[echo "${ECHO_T}no" 1>&6])])
 
 AC_DEFUN([THEPEG_CHECK_FPUCONTROL],
-[echo $ECHO_N "checking for <fpu_control>... $ECHO_C" 1>&6
+[
+AC_REQUIRE([AX_COMPILER_VENDOR])
+echo $ECHO_N "checking for <fpu_control>... $ECHO_C" 1>&6
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <fpu_control.h>
 ]], [[fpu_control_t cw; _FPU_GETCW(cw); cw &= ~(_FPU_MASK_IM|_FPU_MASK_DM|_FPU_MASK_ZM|_FPU_MASK_OM); _FPU_SETCW(cw);
-]])],[AC_DEFINE(ThePEG_HAS_FPU_CONTROL,1,define if fpucontrol is available)
+]])],[
+if test "${ax_cv_cxx_compiler_vendor}" == "clang"; then
+echo "${ECHO_T}not useable with clang/llvm" 1>&6
+else
+AC_DEFINE(ThePEG_HAS_FPU_CONTROL,1,define if fpucontrol is available)
 echo "${ECHO_T}yes" 1>&6
+fi
 ],[echo "${ECHO_T}no" 1>&6])])
 
 AC_DEFUN([THEPEG_CHECK_FENV],
-[echo $ECHO_N "checking for <fenv.h>... $ECHO_C" 1>&6
+[
+AC_REQUIRE([AX_COMPILER_VENDOR])
+echo $ECHO_N "checking for <fenv.h>... $ECHO_C" 1>&6
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <fenv.h>
-]], [[feenableexcept(FE_DIVBYZERO|FE_OVERFLOW|FE_INVALID);]])],[AC_DEFINE(ThePEG_HAS_FENV,1,define if fenv is available)
+]], [[feenableexcept(FE_DIVBYZERO|FE_OVERFLOW|FE_INVALID);]])],[
+if test "${ax_cv_cxx_compiler_vendor}" == "clang"; then
+echo "${ECHO_T}not useable with clang/llvm" 1>&6
+else
+AC_DEFINE(ThePEG_HAS_FENV,1,define if fenv is available)
 echo "${ECHO_T}yes" 1>&6
+fi
 ],[echo "${ECHO_T}no" 1>&6])])
 
 AC_DEFUN([THEPEG_ADD_THEPEG_PATH],
 [if test "$THEPEGBUILD" == "yes"; then
   if test -f "../$2/Config/config.h"; then
     $1="\$(top_builddir)/../$2/lib"
     SETUPTHEPEG="$SETUPTHEPEG -L\$(top_builddir)/../$2/lib"
     RUNTHEPEG="$RUNTHEPEG -L\$(top_builddir)/../$2/lib"
     AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_builddir)/../$2/include"
   fi
 else
   $1="$THEPEGLIB"
 fi
 AC_SUBST($1)
 ])
 
 AC_DEFUN([THEPEG_HAS_JAVA],
 [  hasjava=yes
    AC_PATH_PROG(JAVAC, javac)
    AC_PATH_PROG(JAVA, java)
    AC_PATH_PROG(JAR, jar)
    if test -z "$JAR" -o -z "$JAVA" -o -z "$JAVAC"; then hasjava=no; else
      AC_MSG_CHECKING([if java works])
      echo 'public class conftest { public static void main(String[[]]arg){}}' > conftest.java
      $JAVAC -source $1 conftest.java 1>&5 2>&5
      if test $? -ne 0; then hasjava=no; fi
      echo "Main-Class: conftest" > conftest.manifest
      $JAR cmf conftest.manifest conftest.jar conftest.class 1>&5 2>&5
      if test $? -ne 0; then hasjava=no; fi
      $JAVA -jar conftest.jar 1>&5 2>&5
      if test $? -ne 0; then hasjava=no; fi
      rm -f conftest.java conftest.err conftest.class conftest.manifest conftest.jar
    fi
    if test "x$hasjava" != "xno"; then
      AC_MSG_RESULT([yes])
      $2
    else
      AC_MSG_RESULT([no])
      $3
    fi
 ])
 
 AC_DEFUN([THEPEG_LIBTOOL_VERSION_INFO],
 [  LIBTOOLVERSIONINFO="-version-info $1:$2:$3"
    AC_SUBST(LIBTOOLVERSIONINFO)])
 
 AC_DEFUN([THEPEG_UNIT_CHECKING],
 [
 AC_MSG_CHECKING([whether to include dimension checking])
 AC_ARG_ENABLE(unitchecks,
         AC_HELP_STRING([--enable-unitchecks],[turns on dimension checking for physical quantities.]),
         [],
         [enable_unitchecks=no]
         )
 AC_MSG_RESULT([$enable_unitchecks])
 if test "x$enable_unitchecks" = "xyes"; then
    AC_DEFINE([ThePEG_HAS_UNITS_CHECKING],[1],[define if units should be checked])
 fi
 ])
 
 AC_DEFUN([THEPEG_CHECK_GSL],
 [
 AC_MSG_CHECKING([for gsl location])
 GSLINCLUDE=""
 GSLLIBS=""
 
 AC_ARG_WITH(gsl,
         AC_HELP_STRING([--with-gsl=path],[location of gsl installation. Default: system lib]),
         [],
 	[with_gsl=system])
 
 if test "x$with_gsl" = "xno"; then
 AC_MSG_ERROR([libgsl is required. Please install the GNU scientific library and header files.])
 fi
 
 if test "x$with_gsl" = "xsystem"; then
 	AC_MSG_RESULT([in system libraries])
 	oldlibs="$LIBS"
 	AC_CHECK_LIB(m,sqrt)
 	AC_CHECK_LIB(gslcblas,cblas_srot)
 	AC_CHECK_LIB(gsl,gsl_ran_poisson,[],
 			[
 			AC_MSG_ERROR([Cannot find libgsl. Please install the GNU scientific library.])
 			]
 		     )
 	GSLLIBS="$LIBS"
 	LIBS=$oldlibs
 	GSLPATH="$with_gsl"
 else
 	if test "`uname -m`" = "x86_64" -a -e "$with_gsl/lib64/libgsl.a" -a -d "$with_gsl/include/gsl"; then
 		AC_MSG_RESULT([found in $with_gsl])
 		GSLLIBS="-L$with_gsl/lib64 -R$with_gsl/lib64 -lgsl -lgslcblas"
 		GSLINCLUDE="-I$with_gsl/include"
 	        GSLPATH="$with_gsl"
 	elif test -e "$with_gsl/lib/libgsl.a" -a -d "$with_gsl/include/gsl"; then
 		AC_MSG_RESULT([found in $with_gsl])
 		GSLLIBS="-L$with_gsl/lib -R$with_gsl/lib -lgsl -lgslcblas"
 		GSLINCLUDE="-I$with_gsl/include"
 	        GSLPATH="$with_gsl"
 	else
 		AC_MSG_RESULT([not found])
 		AC_MSG_ERROR([Can't find $with_gsl/lib/libgsl.a or the headers in $with_gsl/include])
 	fi
 fi
 
 dnl AM_CONDITIONAL(HAVE_GSL,[test "x$with_HepMC" != "xno"])
 AC_SUBST(GSLINCLUDE)
 AC_SUBST(GSLLIBS)
 AC_SUBST(GSLPATH)
 ])
 
 AC_DEFUN([THEPEG_BOOST_UNIT_TEST],
 [
 AC_REQUIRE([BOOST_REQUIRE])
 if test "x$BOOST_NOT_FOUND" = "xtrue"; then
 	BOOSTMESSAGE="Deactived, BOOST was not found."
 	AC_SUBST([BOOST_ACTIVATE_UNIT_TESTS],[false])
 elif test -z "$BOOST_UNIT_TEST_FRAMEWORK_LDPATH"; then 
 	BOOSTMESSAGE="Deactivated, BOOST unit test libs were not found."
 	AC_SUBST([BOOST_ACTIVATE_UNIT_TESTS],[false])
 	AC_SUBST([BOOST_NOT_FOUND],[false])
 else
 	BOOSTMESSAGE="Activated, BOOST unit test libs found at $BOOST_UNIT_TEST_FRAMEWORK_LDPATH"
 	AC_SUBST([BOOST_ACTIVATE_UNIT_TESTS],[true])
 	AC_SUBST([BOOST_NOT_FOUND],[false])
 fi
 AC_SUBST(BOOSTMESSAGE)
 AM_CONDITIONAL([COND_BOOSTTEST], [test "x$BOOST_ACTIVATE_UNIT_TESTS" = "xtrue"])
 ])
 
 
 AC_DEFUN([THEPEG_OVERVIEW],
 [
 CXXSTRING=`$CXX --version | head -1`
 cat << _THEPEG_EOF_ > config.thepeg
 *****************************************************
 *** $PACKAGE_STRING configuration summary
 *** Please include this information in bug reports!
 ***--------------------------------------------------
 *** Prefix:		$prefix
 ***
 *** Dimension checks:	$enable_unitchecks
 ***
 *** GSL:		$with_gsl
 ***
 *** LHAPDF:		$lhaconfig ($lhapdf_version) $warnlhapdf
 *** HepMC:		$with_hepmc
 *** Rivet:		$with_rivet
 *** FastJet:		$fjconfig $warnfastjet
 ***
 *** Boost Unit Tests:	${BOOSTMESSAGE}
 ***
 *** Host:		$host
 *** CXX:		$CXXSTRING
 ***
 *** CXXFLAGS:		$CXXFLAGS
 *****************************************************
 _THEPEG_EOF_
 ])