Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F9501360
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
26 KB
Subscribers
None
View Options
diff --git a/Utilities/Makefile.am b/Utilities/Makefile.am
--- a/Utilities/Makefile.am
+++ b/Utilities/Makefile.am
@@ -1,31 +1,33 @@
SUBDIRS = XML Statistics
noinst_LTLIBRARIES = libHwUtils.la
pkglib_LTLIBRARIES = libHwRunDirectories.la
libHwUtils_la_SOURCES = \
EnumParticles.h \
Interpolator.tcc Interpolator.h \
Kinematics.cc Kinematics.h \
Smearing.cc Smearing.h \
Maths.h Maths.cc \
StandardSelectors.cc StandardSelectors.h\
Histogram.cc Histogram.fh Histogram.h \
GaussianIntegrator.cc GaussianIntegrator.h \
GaussianIntegrator.tcc \
Statistic.h HerwigStrategy.cc HerwigStrategy.h \
GSLIntegrator.h GSLIntegrator.tcc \
GSLBisection.h GSLBisection.tcc GSLHelper.h
libHwRunDirectories_la_SOURCES = \
RunDirectories.h RunDirectories.cc
libHwUtils_la_LIBADD = \
XML/libHwXML.la \
Statistics/libHwStatistics.la
CLEANFILES=
include $(srcdir)/Makefile.am.versionstring
check_PROGRAMS = utilities_test
utilities_test_SOURCES = tests/utilitiesTests.cc
-utilities_test_LDADD = $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) libHwUtils.la
+utilities_test_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_FILESYSTEM_LIBS) $(BOOST_SYSTEM_LIBS) $(THEPEGLIB) -ldl libHwUtils.la
+utilities_test_LDFLAGS = $(AM_LDFLAGS) -export-dynamic $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(THEPEGLDFLAGS)
+utilities_test_CPPFLAGS = $(AM_CPPFLAGS) $(BOOST_CPPFLAGS) -DHERWIG_PKGDATADIR="\"$(pkgdatadir)\"" -DHERWIG_PKGLIBDIR="\"$(pkglibdir)\"" -DTHEPEG_PKGLIBDIR="\"$(THEPEGLIBPATH)\""
TESTS = utilities_test
diff --git a/Utilities/XML/Makefile.am b/Utilities/XML/Makefile.am
--- a/Utilities/XML/Makefile.am
+++ b/Utilities/XML/Makefile.am
@@ -1,11 +1,13 @@
noinst_LTLIBRARIES = libHwXML.la
libHwXML_la_SOURCES = \
Element.cc \
Element.h \
ElementIO.cc \
ElementIO.h \
ElementIO.tcc
check_PROGRAMS = xml_test
xml_test_SOURCES = tests/xmlTests.cc
-xml_test_LDADD = $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) libHwXML.la
+xml_test_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_FILESYSTEM_LIBS) $(BOOST_SYSTEM_LIBS) libHwXML.la
+xml_test_LDFLAGS = $(AM_LDFLAGS) -export-dynamic $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS)
+xml_test_CPPFLAGS = $(AM_CPPFLAGS) $(BOOST_CPPFLAGS) -DHERWIG_PKGDATADIR="\"$(pkgdatadir)\"" -DHERWIG_PKGLIBDIR="\"$(pkglibdir)\"" -DTHEPEG_PKGLIBDIR="\"$(THEPEGLIBPATH)\""
TESTS = xml_test
diff --git a/Utilities/XML/tests/xmlTests.cc b/Utilities/XML/tests/xmlTests.cc
--- a/Utilities/XML/tests/xmlTests.cc
+++ b/Utilities/XML/tests/xmlTests.cc
@@ -1,197 +1,199 @@
// -*- C++ -*-
//
// xmlTests.cc is a part of myXML
// Copyright (C) 2015 Simon Plaetzer, Marco A. Harrendorf
//
// myXML is licenced under version 2 of the GPL, see COPYING for details.
//
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MAIN
+#include <boost/test/unit_test.hpp>
+#define BOOST_TEST_MODULE xmlTest
#include "Herwig++/Utilities/XML/Element.h"
#include "Herwig++/Utilities/XML/ElementIO.h"
-#define BOOST_TEST_MODULE xmlTest
-#include <boost/test/included/unit_test.hpp>
/*
* Fixture which defines the common variables for testing Element class
*/
struct Fix1 {
Fix1() : elementUnknown(XML::ElementTypes::Unknown,""),
elementRoot(XML::ElementTypes::Root,"Root"),
elementEmpty(XML::ElementTypes::EmptyElement,""),
elementElement(XML::ElementTypes::Element, "Element"),
elementProcessingInstruction(XML::ElementTypes::ProcessingInstruction, "ProcessingInstruction"),
elementCharacterData(XML::ElementTypes::CharacterData, "CharacterData"),
elementParsedCharacterData(XML::ElementTypes::ParsedCharacterData, "ParsedCharacterData"),
elementComment(XML::ElementTypes::Comment, "Comment"),
elementGrids(XML::ElementTypes::Element,"Grids")
{BOOST_TEST_MESSAGE( "setup fixture for xmlTest" ); }
~Fix1() { BOOST_TEST_MESSAGE( "teardown fixture for xmlTest" ); }
XML::Element elementUnknown;
XML::Element elementRoot;
XML::Element elementEmpty;
XML::Element elementElement;
XML::Element elementProcessingInstruction;
XML::Element elementCharacterData;
XML::Element elementParsedCharacterData;
XML::Element elementComment;
XML::Element elementGrids;
};
//____________________________________________________________________________//
/*
* Start of boost unit tests
* @todo Implement tests for ElementIO
*/
BOOST_FIXTURE_TEST_SUITE(xmlTestElement, Fix1 )
/*
* Boost unit tests for Element.h
* @todo Implement further tests for child operations
*/
BOOST_AUTO_TEST_CASE(elementTypes)
{
BOOST_CHECK_EQUAL(elementUnknown.type(), -1);
BOOST_CHECK_EQUAL(elementRoot.type(), 0);
BOOST_CHECK_EQUAL(elementEmpty.type(), 1);
BOOST_CHECK_EQUAL(elementElement.type(), 2);
BOOST_CHECK_EQUAL(elementGrids.type(), 2);
BOOST_CHECK_EQUAL(elementProcessingInstruction.type(), 3);
BOOST_CHECK_EQUAL(elementCharacterData.type(), 4);
BOOST_CHECK_EQUAL(elementParsedCharacterData.type(), 5);
BOOST_CHECK_EQUAL(elementComment.type(), 6);
}
BOOST_AUTO_TEST_CASE(constructors)
{
BOOST_CHECK(elementUnknown == XML::Element());
BOOST_CHECK(elementComment == XML::Element(XML::ElementTypes::Comment, "Comment"));
BOOST_CHECK(elementUnknown != elementComment);
XML::Element elementCopy = elementComment;
BOOST_CHECK(elementCopy == elementComment);
XML::Element elementAssignment = XML::Element();
elementAssignment = elementGrids;
BOOST_CHECK(elementAssignment == elementGrids);
}
BOOST_AUTO_TEST_CASE(combineOperator)
{
BOOST_CHECK(elementElement + elementElement == elementElement);
BOOST_CHECK_THROW((elementElement + elementComment), std::logic_error);
XML::Element elementName1 = XML::Element(XML::ElementTypes::Element, "Name1") ;
XML::Element elementName2 = XML::Element(XML::ElementTypes::Element, "Name2") ;
BOOST_CHECK_THROW(elementElement + elementGrids, std::logic_error);
XML::Element elementWithBothChildren = XML::Element(elementElement);
elementWithBothChildren.append(elementComment);
elementWithBothChildren.append(elementParsedCharacterData);
XML::Element elementWithChild1 = XML::Element(elementElement);
elementWithChild1.append(elementComment);
XML::Element elementWithChild2 = XML::Element(elementElement);
elementWithChild2.append(elementParsedCharacterData);
BOOST_CHECK(elementWithChild1 + elementWithChild2 == elementWithBothChildren);
XML::Element elementWithBothAttributes = XML::Element(elementElement);
elementWithBothAttributes.appendAttribute("Entry1", "Value1");
elementWithBothAttributes.appendAttribute("Entry2", "Value2");
XML::Element elementWithAttribute1 = XML::Element(elementElement);
elementWithAttribute1.appendAttribute("Entry1", "Value1");
XML::Element elementWithAttribute2 = XML::Element(elementElement);
elementWithAttribute2.appendAttribute("Entry2", "Value2");
BOOST_CHECK(elementWithAttribute1 + elementWithAttribute2 == elementWithBothAttributes);
}
BOOST_AUTO_TEST_CASE(type)
{
BOOST_CHECK(elementUnknown.type() != elementGrids.type());
BOOST_CHECK_EQUAL(elementGrids.type(), XML::ElementTypes::Element);
}
BOOST_AUTO_TEST_CASE(name)
{
BOOST_CHECK(elementElement.name() != elementEmpty.name());
BOOST_CHECK_EQUAL(elementGrids.name(), "Grids");
}
BOOST_AUTO_TEST_CASE(content)
{
BOOST_CHECK_EQUAL(elementProcessingInstruction.content(), "ProcessingInstruction");
BOOST_CHECK_EQUAL(elementCharacterData.content(), "CharacterData");
BOOST_CHECK_EQUAL(elementParsedCharacterData.content(), "ParsedCharacterData");
BOOST_CHECK_EQUAL(elementComment.content(), "Comment");
XML::Element elementAppendContent = XML::Element(elementComment);
elementAppendContent << std::string("Test");
BOOST_CHECK_EQUAL(elementAppendContent.content(), "CommentTest");
}
BOOST_AUTO_TEST_CASE(attributes)
{
BOOST_CHECK(elementEmpty.hasAttributes());
BOOST_CHECK(elementElement.hasAttributes());
BOOST_CHECK(elementGrids.hasAttributes());
XML::Element elementEmptyWithAttributes = XML::Element(elementEmpty);
elementEmptyWithAttributes.appendAttribute("Entry1", "Value1");
BOOST_CHECK(elementEmptyWithAttributes.hasAttribute("Entry1"));
XML::Element elementElementWithAttributes = XML::Element(elementElement);
XML::Element::Attribute elementAttribute = XML::Element::Attribute("Entry2","Value2");
elementElementWithAttributes << elementAttribute;
elementElementWithAttributes.appendAttribute("Entry3","Value3");
BOOST_CHECK(elementElementWithAttributes.hasAttribute("Entry2"));
BOOST_CHECK(elementElementWithAttributes.hasAttribute("Entry3"));
std::map<std::string,std::string> comparisonAttributes;
comparisonAttributes.insert(std::pair<std::string,std::string>("Entry2", "Value2"));
comparisonAttributes.insert(std::pair<std::string,std::string>("Entry3", "Value3"));
std::map<std::string,std::string> elementElementWithAttributesMap = elementElementWithAttributes.attributes();
BOOST_CHECK(comparisonAttributes == elementElementWithAttributesMap);
BOOST_CHECK_EQUAL(elementElementWithAttributes.attribute("Entry3"), "Value3");
std::string elementAttributeOutput;
elementElementWithAttributes.getFromAttribute("Entry3", elementAttributeOutput);
BOOST_CHECK_EQUAL(elementAttributeOutput, "Value3");
XML::Element::Attribute elementAttribute4 = XML::Element::Attribute("Entry4","Value4");
XML::Element::Attribute elementAttribute5 = XML::Element::Attribute("Entry5","Value5");
BOOST_CHECK(elementAttribute4 == XML::Element::Attribute("Entry4","Value4"));
BOOST_CHECK(elementAttribute4 != XML::Element::Attribute("Entry4",""));
BOOST_CHECK(elementAttribute4 != XML::Element::Attribute("","Value4"));
BOOST_CHECK(elementAttribute4 != elementAttribute5);
}
BOOST_AUTO_TEST_CASE(children)
{
BOOST_CHECK(elementRoot.hasChildren());
BOOST_CHECK(elementElement.hasChildren());
BOOST_CHECK(elementGrids.hasChildren());
std::list<XML::Element> listWithoutElement;
BOOST_CHECK(elementRoot.children() == listWithoutElement);
BOOST_CHECK(elementElement.children() == listWithoutElement);
std::list<XML::Element> listWithElement;
listWithElement.push_back(elementComment);
listWithElement.push_front(elementParsedCharacterData);
XML::Element elementWithChildren = XML::Element(elementElement);
elementWithChildren.append(elementComment);
elementWithChildren.prepend(elementParsedCharacterData);
BOOST_CHECK(elementWithChildren.children() == listWithElement);
elementWithChildren << elementGrids;
listWithElement.push_back(elementGrids);
BOOST_CHECK(elementWithChildren.children() == listWithElement);
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/Utilities/tests/utilitiesTests.cc b/Utilities/tests/utilitiesTests.cc
--- a/Utilities/tests/utilitiesTests.cc
+++ b/Utilities/tests/utilitiesTests.cc
@@ -1,195 +1,211 @@
// -*- C++ -*-
//
// utilitiesTest.cc is a part of Herwig++ - A multi-purpose Monte Carlo event generator
// Copyright (C) 2002-2011 The Herwig Collaboration, 2015 Marco A. Harrendorf
//
// Herwig++ is licenced under version 2 of the GPL, see COPYING for details.
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
//
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MAIN
+#include <boost/test/unit_test.hpp>
+#define BOOST_TEST_MODULE utilitiesTest
+
+
+
#include "Herwig++/Utilities/Kinematics.h"
#include "Herwig++/Utilities/Maths.h"
#include "Herwig++/Utilities/Statistic.h"
-#define BOOST_TEST_MODULE utilitiesTest
-#include <boost/test/included/unit_test.hpp>
+#include "ThePEG/Repository/StandardRandom.h"
+#include "ThePEG/Repository/UseRandom.h"
+
+struct FixKinematics1 {
+ FixKinematics1()
+ {BOOST_TEST_MESSAGE( "setup fixture for utilitiesKinematicsTestTest" ); }
+
+ ~FixKinematics1() { BOOST_TEST_MESSAGE( "teardown fixture for utilitiesKinematicsTest" ); }
+};
/*
* Start of boost unit tests for Kinematics.h
*
*/
BOOST_AUTO_TEST_SUITE(utilitiesKinematicsTest)
/*
* Boost unit tests
* @todo solve problem with linking to ThePEG library
*/
-/*
-BOOST_AUTO_TEST_CASE(generateAngles)
+
+BOOST_FIXTURE_TEST_CASE(generateAnglestest, FixKinematics1)
{
+ ThePEG::StandardRandom randomNumberStandardGenerator = ThePEG::StandardRandom();
+ ThePEG::UseRandom testUseRandom = ThePEG::UseRandom(&randomNumberStandardGenerator);
double flatMinusPiToPlusPi, flatNullToTwoPi;
for(int i = 0; i < 100; ++i) {
Herwig::Kinematics::generateAngles(flatMinusPiToPlusPi, flatNullToTwoPi);
- //BOOST_CHECK( -M_PI <= flatMinusPiToPlusPi );
- //BOOST_CHECK( flatMinusPiToPlusPi <= M_PI);
- //BOOST_CHECK( 0. <= flatNullToTwoPi);
- //BOOST_CHECK(flatNullToTwoPi <= M_PI);
+ BOOST_CHECK( -M_PI <= flatMinusPiToPlusPi );
+ BOOST_CHECK( flatMinusPiToPlusPi <= M_PI);
+ BOOST_CHECK( 0. <= flatNullToTwoPi);
+ BOOST_CHECK(flatNullToTwoPi <= 2*M_PI);
}
}
-*/
+
BOOST_AUTO_TEST_SUITE_END()
//____________________________________________________________________________//
/*
* Start of boost unit tests for Maths.h
*
*/
BOOST_AUTO_TEST_SUITE(utilitiesMathsTest)
/*
* Boost unit tests
*
*/
BOOST_AUTO_TEST_CASE(dilogFunction)
{
BOOST_CHECK_EQUAL(Herwig::Math::Li2(0.), 0.);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(-1).real(), -1./12. * M_PI * M_PI, 1e-5);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(-1).imag(), 0., 1e-5);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(1).real(), 1./6. * M_PI * M_PI, 1e-5);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(1).imag(), 0., 1e-5);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(Herwig::Complex(0.5, 1)).real(), 0.203354, 2e-4);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(Herwig::Complex(0.5, 1)).imag(), 1.13194, 1e-4);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(Herwig::Complex(-0.5, -1)).real(), -0.578503, 1e-4);
BOOST_CHECK_CLOSE(Herwig::Math::Li2(Herwig::Complex(-0.5, -1)).imag(), -0.772714, 1e-4);
}
BOOST_AUTO_TEST_CASE(realDilogFunction)
{
BOOST_CHECK_EQUAL(Herwig::Math::ReLi2(0.), 0.);
BOOST_CHECK_CLOSE(Herwig::Math::ReLi2(-1), -1./12. * M_PI * M_PI, 1e-5);
BOOST_CHECK_CLOSE(Herwig::Math::ReLi2(1), 1./6. * M_PI * M_PI, 1e-5);
}
BOOST_AUTO_TEST_CASE(angleZeroTo2Pi)
{
BOOST_CHECK_EQUAL(Herwig::Math::angleZeroTo2Pi(0.), 0.);
BOOST_CHECK_EQUAL(Herwig::Math::angleZeroTo2Pi(-0.5*M_PI), 1.5*M_PI);
BOOST_CHECK_EQUAL(Herwig::Math::angleZeroTo2Pi(-2.5*M_PI), 1.5*M_PI);
BOOST_CHECK_EQUAL(Herwig::Math::angleZeroTo2Pi( 2.5*M_PI), 0.5*M_PI);
BOOST_CHECK(Herwig::Math::angleZeroTo2Pi( 2.5*M_PI) != 1*M_PI);
}
BOOST_AUTO_TEST_CASE(angleMinusPiToPi)
{
BOOST_CHECK_EQUAL(Herwig::Math::angleMinusPiToPi(0.), 0.);
BOOST_CHECK_EQUAL(Herwig::Math::angleMinusPiToPi(-0.5*M_PI), -0.5*M_PI);
BOOST_CHECK_EQUAL(Herwig::Math::angleMinusPiToPi(-2.5*M_PI), -0.5*M_PI);
BOOST_CHECK_EQUAL(Herwig::Math::angleMinusPiToPi( 2.5*M_PI), 0.5*M_PI);
BOOST_CHECK(Herwig::Math::angleMinusPiToPi( 2.5*M_PI) != 1*M_PI);
}
BOOST_AUTO_TEST_CASE(median)
{
std::vector<double> medianTest1;
medianTest1.push_back(10);
medianTest1.push_back(-1);
medianTest1.push_back(5);
BOOST_CHECK_EQUAL(Herwig::Math::median<double>(medianTest1), 5);
std::vector<double> medianTest2;
medianTest2.push_back(-10);
medianTest2.push_back(-1);
medianTest2.push_back(-5);
medianTest2.push_back(-6);
BOOST_CHECK_EQUAL(Herwig::Math::median<double>(medianTest2), -6);
}
BOOST_AUTO_TEST_SUITE_END()
//____________________________________________________________________________//
/*
* Fixture which defines the common variables for testing Statistic class
*/
struct FixStatistic1 {
FixStatistic1() : statisticDefault(), statisticTest()
{BOOST_TEST_MESSAGE( "setup fixture for utilitiesStatisticTest" ); }
~FixStatistic1() { BOOST_TEST_MESSAGE( "teardown fixture for utilitiesStatisticTest" ); }
Herwig::Statistic statisticDefault;
Herwig::Statistic statisticTest;
};
/*
* Start of boost unit tests for Statistic.h
*
*/
BOOST_FIXTURE_TEST_SUITE(utilitiesStatisticTest, FixStatistic1 )
/*
* Boost unit tests
*
*/
BOOST_AUTO_TEST_CASE(defaultConstructor)
{
BOOST_CHECK_EQUAL(statisticDefault.numberOfPoints(), static_cast<unsigned int>(0));
BOOST_CHECK_EQUAL(statisticDefault.total(), 0.);
BOOST_CHECK_EQUAL(statisticDefault.mean(), 0.);
BOOST_CHECK_EQUAL(statisticDefault.minimum(), -1e100);
BOOST_CHECK_EQUAL(statisticDefault.maximum(), 1e100);
BOOST_CHECK_EQUAL(statisticDefault.var(), 0);
BOOST_CHECK_EQUAL(statisticDefault.mean_var(), 0);
}
BOOST_AUTO_TEST_CASE(operations)
{
statisticTest += 2;
BOOST_CHECK_EQUAL(statisticTest.minimum(), 2);
BOOST_CHECK_EQUAL(statisticTest.maximum(), 2);
statisticTest += -2;
BOOST_CHECK_EQUAL(statisticTest.numberOfPoints(), static_cast<unsigned int>(2));
BOOST_CHECK_EQUAL(statisticTest.total(), 0.);
BOOST_CHECK_EQUAL(statisticTest.mean(), 0.);
BOOST_CHECK_EQUAL(statisticTest.minimum(), -2);
BOOST_CHECK_EQUAL(statisticTest.maximum(), 2);
BOOST_CHECK_EQUAL(statisticTest.var(), 8);
BOOST_CHECK_EQUAL(statisticTest.stdDev(), sqrt(8));
BOOST_CHECK_EQUAL(statisticTest.mean_var(), 4);
BOOST_CHECK_EQUAL(statisticTest.mean_stdDev(), 2);
statisticTest += 2;
BOOST_CHECK_EQUAL(statisticTest.numberOfPoints(), static_cast<unsigned int>(3));
BOOST_CHECK_EQUAL(statisticTest.total(), 2.);
BOOST_CHECK_EQUAL(statisticTest.mean(), 2./3.);
BOOST_CHECK_EQUAL(statisticTest.minimum(), -2);
BOOST_CHECK_EQUAL(statisticTest.maximum(), 2);
BOOST_CHECK_EQUAL(statisticTest.var(), 16./3.);
BOOST_CHECK_EQUAL(statisticTest.stdDev(), sqrt(16./3.));
BOOST_CHECK_EQUAL(statisticTest.mean_var(), 16./9.);
BOOST_CHECK_EQUAL(statisticTest.mean_stdDev(), sqrt(16./9.));
statisticTest += 4.5;
BOOST_CHECK_EQUAL(statisticTest.minimum(), -2);
BOOST_CHECK_EQUAL(statisticTest.maximum(), 4.5);
statisticTest += -3.5;
BOOST_CHECK_EQUAL(statisticTest.minimum(), -3.5);
BOOST_CHECK_EQUAL(statisticTest.maximum(), 4.5);
}
BOOST_AUTO_TEST_CASE(fail)
{
- // BOOST_FAIL("Ende");
+ //BOOST_FAIL("Ende");
}
BOOST_AUTO_TEST_SUITE_END()
//____________________________________________________________________________//
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1,278 +1,279 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.63])
AC_INIT([Herwig++],[devel],[herwig@projects.hepforge.org],[Herwig++])
AC_CONFIG_SRCDIR([Utilities/HerwigStrategy.cc])
AC_CONFIG_AUX_DIR([Config])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([Config/config.h])
dnl AC_PRESERVE_HELP_ORDER
AC_CANONICAL_HOST
case "${host}" in
*-darwin[[0156]].*)
AC_MSG_ERROR([Herwig++ requires OS X 10.3 or later])
;;
*-darwin7.*)
if test "x$MACOSX_DEPLOYMENT_TARGET" != "x10.3"; then
AC_MSG_ERROR(
[Please add 'MACOSX_DEPLOYMENT_TARGET=10.3' to the configure line.])
fi
;;
esac
dnl === disable debug symbols by default =====
if test "x$CXXFLAGS" = "x"; then
CXXFLAGS=-O3
fi
if test "x$CFLAGS" = "x"; then
CFLAGS=-O3
fi
AC_LANG([C++])
AM_INIT_AUTOMAKE([1.11 subdir-objects gnu dist-bzip2 no-dist-gzip -Wall])
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([g++])
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!)]),
[],
[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 POSIX
AC_CHECK_HEADER([unistd.h],[],
[AC_MSG_ERROR([Herwig++ needs "unistd.h". Non-POSIX systems are not supported.])])
dnl Checks for programs.
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_LN_S
dnl modified search order
AC_PROG_FC([gfortran g95 g77])
dnl xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn xlf90 f90 pgf90 pghpf epcf90 xlf f77 frt pgf77 cf77 fort77 fl32 af77])
AC_LANG_PUSH([Fortran])
AC_MSG_CHECKING([if the Fortran compiler ($FC) works])
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([],[ print *[,]"Hello"]),
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])
AC_MSG_ERROR([A Fortran compiler is required to build Herwig++.])
]
)
AC_LANG_POP([Fortran])
LT_PREREQ([2.2.6])
LT_INIT([disable-static dlopen pic-only])
dnl ####################################
dnl ####################################
dnl for Doc/fixinterfaces.pl
AC_PATH_PROG(PERL, perl)
dnl for Models/Feynrules
AM_PATH_PYTHON([2.6],, [:])
AM_CONDITIONAL([HAVE_PYTHON], [test "x$PYTHON" != "x:"])
HERWIG_CHECK_GSL
HERWIG_CHECK_THEPEG
BOOST_REQUIRE([1.41])
BOOST_FIND_HEADER([boost/array.hpp])
BOOST_FIND_HEADER([boost/numeric/ublas/io.hpp])
BOOST_FIND_HEADER([boost/numeric/ublas/matrix.hpp])
BOOST_FIND_HEADER([boost/numeric/ublas/matrix_proxy.hpp])
BOOST_FIND_HEADER([boost/numeric/ublas/matrix_sparse.hpp])
BOOST_FIND_HEADER([boost/numeric/ublas/symmetric.hpp])
BOOST_FIND_HEADER([boost/numeric/ublas/vector.hpp])
BOOST_FIND_HEADER([boost/operators.hpp])
BOOST_FIND_HEADER([boost/progress.hpp])
BOOST_FIND_HEADER([boost/scoped_array.hpp])
BOOST_FIND_HEADER([boost/scoped_ptr.hpp])
BOOST_FIND_HEADER([boost/utility.hpp])
BOOST_FILESYSTEM([mt])
+BOOST_TEST()
HERWIG_CHECK_VBFNLO
HERWIG_CHECK_NLOJET
HERWIG_CHECK_NJET
HERWIG_CHECK_GOSAM
HERWIG_CHECK_GOSAM_CONTRIB
HERWIG_CHECK_OPENLOOPS
HERWIG_CHECK_HEJ
HERWIG_CHECK_MADGRAPH
HERWIG_COMPILERFLAGS
HERWIG_LOOPTOOLS
HERWIG_PDF_PATH
FASTJET_CHECK_FASTJET
HERWIG_VERSIONSTRING
HERWIG_CHECK_ABS_BUG
HERWIG_ENABLE_MODELS
SHARED_FLAG=-shared
AM_CONDITIONAL(NEED_APPLE_FIXES,
[test "xx${host/darwin/foundit}xx" != "xx${host}xx"])
if test "xx${host/darwin/foundit}xx" != "xx${host}xx"; then
APPLE_DSO_FLAGS=-Wl,-undefined,dynamic_lookup
SHARED_FLAG=-bundle
fi
AC_SUBST([APPLE_DSO_FLAGS])
AC_SUBST([SHARED_FLAG])
AC_CONFIG_FILES([UnderlyingEvent/Makefile
Models/Makefile
Models/StandardModel/Makefile
Models/RSModel/Makefile
Models/General/Makefile
Models/Susy/Makefile
Models/Susy/NMSSM/Makefile
Models/Susy/RPV/Makefile
Models/UED/Makefile
Models/LH/Makefile
Models/LHTP/Makefile
Models/Transplanckian/Makefile
Models/Leptoquarks/Makefile
Models/Zprime/Makefile
Models/TTbAsymm/Makefile
Models/Feynrules/Makefile
Models/Feynrules/python/Makefile-FR
Models/ADD/Makefile
Models/Sextet/Makefile
Decay/Makefile
Decay/FormFactors/Makefile
Decay/Tau/Makefile
Decay/Baryon/Makefile
Decay/VectorMeson/Makefile
Decay/Perturbative/Makefile
Decay/ScalarMeson/Makefile
Decay/TensorMeson/Makefile
Decay/WeakCurrents/Makefile
Decay/Partonic/Makefile
Decay/General/Makefile
Decay/Radiation/Makefile
Doc/refman.conf
Doc/refman.h
PDT/Makefile
PDF/Makefile
MatrixElement/Makefile
MatrixElement/General/Makefile
MatrixElement/Lepton/Makefile
MatrixElement/Hadron/Makefile
MatrixElement/DIS/Makefile
MatrixElement/Powheg/Makefile
MatrixElement/Gamma/Makefile
MatrixElement/Matchbox/Makefile
MatrixElement/Matchbox/Base/Makefile
MatrixElement/Matchbox/Utility/Makefile
MatrixElement/Matchbox/Phasespace/Makefile
MatrixElement/Matchbox/Dipoles/Makefile
MatrixElement/Matchbox/InsertionOperators/Makefile
MatrixElement/Matchbox/Matching/Makefile
MatrixElement/Matchbox/Cuts/Makefile
MatrixElement/Matchbox/Scales/Makefile
MatrixElement/Matchbox/Scales/MatchboxScale.cc
MatrixElement/Matchbox/ColorFull/Makefile
MatrixElement/Matchbox/CVolver/Makefile
MatrixElement/Matchbox/Builtin/Makefile
MatrixElement/Matchbox/Builtin/Amplitudes/Makefile
MatrixElement/Matchbox/Tests/Makefile
MatrixElement/Matchbox/External/Makefile
MatrixElement/Matchbox/External/BLHAGeneric/Makefile
MatrixElement/Matchbox/External/NLOJet/Makefile
MatrixElement/Matchbox/External/NLOJet/Amplitudes/Makefile
MatrixElement/Matchbox/External/NLOJet/PP2Jets/Makefile
MatrixElement/Matchbox/External/VBFNLO/Makefile
MatrixElement/Matchbox/External/HEJ/Makefile
MatrixElement/Matchbox/External/NJet/Makefile
MatrixElement/Matchbox/External/GoSam/Makefile
MatrixElement/Matchbox/External/OpenLoops/Makefile
MatrixElement/Matchbox/External/MadGraph/Makefile
MatrixElement/Matchbox/External/MadGraph/mg2Matchbox.py
Sampling/Makefile
Sampling/CellGrids/Makefile
Shower/Makefile
Shower/Matching/Makefile
DipoleShower/Makefile
DipoleShower/Base/Makefile
DipoleShower/Kernels/Makefile
DipoleShower/Kinematics/Makefile
DipoleShower/Utility/Makefile
DipoleShower/AlphaS/Makefile
Utilities/Makefile
Utilities/XML/Makefile
Utilities/Statistics/Makefile
Hadronization/Makefile
lib/Makefile
include/Makefile
src/Makefile
src/defaults/Makefile
src/snippets/Makefile
src/Matchbox/Makefile
src/herwig-config
Doc/Makefile
Doc/HerwigDefaults.in
Looptools/Makefile
Analysis/Makefile
src/Makefile-UserModules
src/defaults/Analysis.in
src/defaults/MatchboxDefaults.in
src/defaults/setup.gosam.in
src/Matchbox/LO-DefaultShower.in
src/Matchbox/LO-DipoleShower.in
src/Matchbox/MCatLO-DefaultShower.in
src/Matchbox/MCatLO-DipoleShower.in
src/Matchbox/LO-NoShower.in
src/Matchbox/MCatNLO-DefaultShower.in
src/Matchbox/MCatNLO-DipoleShower.in
src/Matchbox/NLO-NoShower.in
src/Matchbox/Powheg-DefaultShower.in
src/Matchbox/Powheg-DipoleShower.in
Contrib/Makefile
Contrib/make_makefiles.sh
Tests/Makefile
Makefile])
AC_CONFIG_LINKS([Doc/BSMlibs.in:Doc/BSMlibs.in])
AC_CONFIG_FILES([Doc/fixinterfaces.pl],[chmod +x Doc/fixinterfaces.pl])
HERWIG_OVERVIEW
AC_CONFIG_COMMANDS([summary],[cat config.herwig])
AC_OUTPUT
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Feb 23, 2:24 PM (15 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4486542
Default Alt Text
(26 KB)
Attached To
R563 testingHerwigHG
Event Timeline
Log In to Comment