source: configure.ac@ 5d6f38

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 5d6f38 was d0a719, checked in by Frederik Heber <heber@…>, 14 years ago

Added new testsuite called CodeChecks.

  • this testsuite is meant to capture coding pardigms and ascertain that they are adhered to.
  • the first test is on whether MemDebug.hpp is included in every source file which is quite necessary since we have set all unknown mem source to be ignored in counting and admonishing.
  • Property mode set to 100644
File size: 5.1 KB
Line 
1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ(2.59)
5AC_INIT(MoleCuilder, 1.0.0, heber@ins.uni-bonn.de, molecuilder)
6AC_CONFIG_AUX_DIR(config)
7AC_CONFIG_SRCDIR([src/builder.cpp])
8AC_CONFIG_HEADER([config.h libmolecuilder_config.h])
9AC_CONFIG_MACRO_DIR([m4])
10
11AM_INIT_AUTOMAKE([dist-bzip2 1.11 parallel-tests color-tests])
12
13# Checks for programs.
14AM_PATH_CPPUNIT(1.9.6)
15AC_PROG_CXX
16AC_PROG_CC
17AC_PROG_INSTALL
18AC_CHECK_PROG([LATEX],[latex],[latex],[:])
19AC_CHECK_PROG([BIBTEX],[bibtex],[bibtex],[:])
20AC_CHECK_PROG([DVIPS],[dvips],[dvips],[:])
21AC_CHECK_PROG([PDFLATEX],[pdflatex],[pdflatex],[:])
22AC_CHECK_PROG([XMLTO],[xmlto],[xmlto],[:])
23AM_MISSING_PROG([DOXYGEN], [doxygen])
24
25LT_INIT([disable-static])
26
27# Define these substitions here to keep all version information in one place.
28# For information on how to properly maintain the library version information,
29# refer to the libtool manual, section "Updating library version information":
30# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
31AC_SUBST([MOLECUILDER_SO_VERSION], [1:2:0])
32AC_SUBST([MOLECUILDER_API_VERSION], [1.0])
33
34# Checks for libraries.
35AC_CHECK_LIB(m, sqrt, , AC_MSG_ERROR([compatible libc math library not found]))
36
37# Boost libraries
38AX_BOOST_BASE([1.40])
39AX_BOOST_PROGRAM_OPTIONS
40AX_BOOST_SYSTEM
41AX_BOOST_FILESYSTEM
42AX_BOOST_THREAD
43#AX_BOOST_SERIALIZATION
44
45#QT4 libraries
46gw_CHECK_QT4
47AX_CHECK_GLU
48AC_MSG_NOTICE(["GLU_CFLAGS: $GLU_CFLAGS, GLU_CXXFLAGS: $GLU_CXXFLAGS, GLU_LDFLAGS: $GLU_LDFLAGS, GLU_LIBS: $GLU_LIBS"])
49
50
51# Checks for header files.
52AC_HEADER_STDC
53AC_CHECK_HEADERS([sys/time.h])
54AC_HEADER_STDBOOL
55
56AC_FUNC_MALLOC
57AC_FUNC_REALLOC
58AC_CHECK_FUNCS([floor pow sqrt strchr])
59
60# Checks for typedefs, structures, and compiler characteristics.
61AC_C_CONST
62AC_C_INLINE
63AC_C_RESTRICT
64AC_TYPE_SIZE_T
65
66# Checks for library functions.
67# check for GNU Scientific Library
68AC_CHECK_HEADERS([gsl/gsl_blas.h])
69AC_SEARCH_LIBS(dnrm2, goto blas cblas gslblas gslcblas)
70AC_CHECK_LIB(gsl, main, [],
71 [AC_SEARCH_LIBS(cblas_dnrm2, blas cblas gslblas gslcblas)])
72AC_CHECK_LIB(gsl, gsl_blas_dnrm2, , [AC_MSG_ERROR(["No working BLAS found for GSL, stopping."])])
73
74# add replacement/saturation hydrogen or not
75AC_ARG_ENABLE([hydrogen],AS_HELP_STRING([--enable-hydrogen],[Adding saturation hydrogen (default is yes)]),
76 [enable_hydrogen=$enableval], [enable_hydrogen=yes])
77if test x"$enable_hydrogen" = xyes; then
78 AC_DEFINE(ADDHYDROGEN,1, ["Adding saturation hydrogen"])
79 AC_SUBST(ADDHYDROGEN)
80fi
81
82# use CppUnit TestRunner or not
83AC_ARG_ENABLE([ecut],AS_HELP_STRING([--enable-ecut],[Use ECut TestRunnerClient (default is no)]),
84 [enable_ecut=$enableval], [enable_ecut=no])
85if test x"$enable_ecut" = xyes; then
86 AC_DEFINE(HAVE_ECUT,1, ["Use ECut TestRunnerClient instead of our own."])
87 AC_SUBST(HAVE_ECUT)
88fi
89
90# with valgrinding testsuite or not
91AC_ARG_WITH([valgrind],AS_HELP_STRING([--with-valgrind],[Use Valgrind on the testsuite (default is no)]),
92 [with_valgrind=$withval], [with_valgrind=no])
93if test x"$with_valgrind" = xyes; then
94 AC_CHECK_HEADER([valgrind/valgrind.h],
95 [
96 # check header
97 AC_DEFINE(HAVE_VALGRIND_TESTSUITE,1, ["Use Valgrind to check the testsuite."])
98 # check path
99 AC_PATH_PROG(VALGRIND, [valgrind], [/bin/false])
100 # set variables
101 AC_SUBST(HAVE_VALGRIND_TESTSUITE)
102 AC_SUBST(VALGRIND)
103 ],
104 [
105 AC_MSG_ERROR(["Valgrind support requested but headers not available."])
106 ]
107 )
108fi
109
110# Check for "extern inline", using a modified version
111# of the test for AC_C_INLINE from acspecific.mt
112AC_CACHE_CHECK([for extern inline], ac_cv_c_extern_inline,
113[ac_cv_c_extern_inline=no
114AC_TRY_COMPILE([extern $ac_cv_c_inline double foo(double x);
115extern $ac_cv_c_inline double foo(double x) { return x+1.0; };
116double foo (double x) { return x + 1.0; };],
117[ foo(1.0) ],
118[ac_cv_c_extern_inline="yes"])
119])
120
121if test "$ac_cv_c_inline" != no ; then
122 AC_DEFINE(HAVE_INLINE,1, ["May use inline routines"])
123 AC_SUBST(HAVE_INLINE)
124fi
125
126#AC_MSG_NOTICE(["CFLAGS: $CFLAGS, CXXFLAGS: $CXXFLAGS, LDFLAGS: $LDFLAGS, CC: $CC, CXX:, $CXX, MPICC: $MPICC, MPILIBS: $MPILIBS, LIBS: $LIBS"])
127
128# test suite
129AC_CONFIG_TESTDIR(tests/regression)
130AC_CONFIG_FILES([
131 tests/Makefile
132 tests/regression/atlocal
133 tests/regression/Makefile])
134AC_CONFIG_FILES([tests/regression/molecuilder], [chmod +x tests/regression/molecuilder])
135AC_CONFIG_FILES([
136 tests/CodeChecks/atlocal
137 tests/CodeChecks/Makefile])
138AC_CONFIG_FILES([
139 tests/Tesselations/Makefile
140 tests/Tesselations/defs])
141AC_CONFIG_FILES([
142 doc/molecuilder.xml])
143AC_CONFIG_FILES([
144 molecuilder-${MOLECUILDER_API_VERSION}.pc:molecuilder.pc.in])
145AC_CONFIG_FILES([
146 Makefile
147 doc/Makefile
148 src/Makefile
149 src/Actions/Makefile
150 src/Exceptions/Makefile
151 src/Helpers/Makefile
152 src/LinearAlgebra/Makefile
153 src/Parser/Makefile
154 src/UIElements/Makefile
155])
156AC_CONFIG_FILES([
157 src/unittests/Makefile
158 src/Actions/unittests/Makefile
159 src/Descriptors/unittests/Makefile
160 src/Helpers/unittests/Makefile
161 src/LinearAlgebra/unittests/Makefile
162 src/Parser/unittests/Makefile
163 src/Patterns/unittests/Makefile
164 src/UIElements/Menu/unittests/Makefile
165])
166AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.