| [a0bcf1] | 1 | #                                               -*- Autoconf -*-
 | 
|---|
 | 2 | # Process this file with autoconf to produce a configure script.
 | 
|---|
 | 3 | 
 | 
|---|
 | 4 | AC_PREREQ(2.59)
 | 
|---|
 | 5 | AC_INIT(Molecuilder, 1.0, heber@ins.uni-bonn.de, molecuilder)
 | 
|---|
 | 6 | AC_CONFIG_AUX_DIR(config)
 | 
|---|
 | 7 | AC_CONFIG_SRCDIR([src/builder.cpp])
 | 
|---|
 | 8 | AC_CONFIG_HEADER([config.h])
 | 
|---|
 | 9 | 
 | 
|---|
 | 10 | AM_INIT_AUTOMAKE(dist-bzip2)
 | 
|---|
 | 11 | 
 | 
|---|
 | 12 | # Checks for programs.
 | 
|---|
 | 13 | AC_PROG_CXX
 | 
|---|
 | 14 | AC_PROG_CC
 | 
|---|
 | 15 | AM_MISSING_PROG([DOXYGEN], [doxygen])
 | 
|---|
 | 16 | 
 | 
|---|
 | 17 | 
 | 
|---|
 | 18 | # Checks for libraries.
 | 
|---|
 | 19 | AC_CHECK_LIB(m, sqrt, ,AC_MSG_ERROR([compatible libc math library not found]))
 | 
|---|
 | 20 | 
 | 
|---|
 | 21 | # Checks for header files.
 | 
|---|
 | 22 | AC_HEADER_STDC
 | 
|---|
 | 23 | AC_CHECK_HEADERS([sys/time.h])
 | 
|---|
 | 24 | AC_HEADER_STDBOOL
 | 
|---|
 | 25 | 
 | 
|---|
| [da83f8] | 26 | AC_FUNC_MALLOC
 | 
|---|
 | 27 | AC_FUNC_REALLOC
 | 
|---|
 | 28 | AC_CHECK_FUNCS([floor pow sqrt strchr])
 | 
|---|
 | 29 | 
 | 
|---|
| [a0bcf1] | 30 | # Checks for typedefs, structures, and compiler characteristics.
 | 
|---|
 | 31 | AC_C_CONST
 | 
|---|
 | 32 | AC_C_INLINE
 | 
|---|
 | 33 | AC_C_RESTRICT
 | 
|---|
 | 34 | AC_TYPE_SIZE_T
 | 
|---|
 | 35 | 
 | 
|---|
 | 36 | # Checks for library functions.
 | 
|---|
 | 37 | # check for GNU Scientific Library
 | 
|---|
| [201832] | 38 | AC_CHECK_LIB(blas,main)
 | 
|---|
| [a0bcf1] | 39 | AC_CHECK_LIB(gsl,main)
 | 
|---|
 | 40 | 
 | 
|---|
 | 41 | # debugging info
 | 
|---|
| [da83f8] | 42 | AC_ARG_ENABLE([debug],AS_HELP_STRING([--enable-debug],[Output debugging information, argument is yes or debugging level (default is no).]),
 | 
|---|
 | 43 |               [enable_debug=$enableval], [enable_debug=no])
 | 
|---|
 | 44 | if ! test x"$enable_debug" = xno; then
 | 
|---|
 | 45 |         if test x"${enable_debug}" = xyes; then
 | 
|---|
| [bdba3c] | 46 |                 CFLAGS="$CFLAGS -g3"
 | 
|---|
 | 47 |                 CXXFLAGS="$CXXFLAGS -g3"
 | 
|---|
| [da83f8] | 48 |         else
 | 
|---|
| [bdba3c] | 49 |                 CFLAGS="$CFLAGS -g${enable_debug}"
 | 
|---|
 | 50 |                 CXXFLAGS="$CXXFLAGS -g${enable_debug}"
 | 
|---|
| [da83f8] | 51 |         fi
 | 
|---|
| [bdba3c] | 52 |         dnl enable all warnings
 | 
|---|
 | 53 |         CFLAGS="$CFLAGS -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wredundant-decls -Wnested-externs -Wmissing-noreturn -Wformat-security -Wmissing-format-attribute -Winit-self"
 | 
|---|
 | 54 |         CXXFLAGS="$CXXFLAGS -Wall -W -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wredundant-decls -Wmissing-noreturn -Wformat-security -Wmissing-format-attribute -Winit-self"
 | 
|---|
| [a0bcf1] | 55 |   AC_DEFINE(HAVE_DEBUG,1, ["Output debugging info"])
 | 
|---|
 | 56 |   AC_SUBST(HAVE_DEBUG)
 | 
|---|
| [bdba3c] | 57 | else
 | 
|---|
 | 58 |         dnl even without debugging we want some minimal info of something's utterly wrong
 | 
|---|
 | 59 |         CFLAGS="$CFLAGS -Wall"
 | 
|---|
 | 60 |         CXXFLAGS="$CXXFLAGS -Wall"
 | 
|---|
| [a0bcf1] | 61 | fi
 | 
|---|
 | 62 | 
 | 
|---|
| [da83f8] | 63 | # optimization level
 | 
|---|
 | 64 | AC_ARG_ENABLE([optimization],AS_HELP_STRING([--enable-optimization],[Optimization level of compiler. Argument is yes or debugging level. (default is 2)]),
 | 
|---|
 | 65 |               [enable_optimization=$enableval], [enable_optimization=yes])
 | 
|---|
 | 66 | if test ! x"$enable_optimization" = xno; then
 | 
|---|
 | 67 |         if test x"$enable_debug" = xno; then
 | 
|---|
 | 68 |                 if test x"${enable_optimization}" = xyes; then
 | 
|---|
| [bdba3c] | 69 |                         CFLAGS="$CFLAGS -O2"
 | 
|---|
 | 70 |                         CXXFLAGS="$CXXFLAGS -O2"
 | 
|---|
| [da83f8] | 71 |                 else
 | 
|---|
| [bdba3c] | 72 |                         CFLAGS="$CFLAGS -O${enable_optimization}"
 | 
|---|
 | 73 |                         CXXFLAGS="$CXXFLAGS -O${enable_optimization}"
 | 
|---|
| [da83f8] | 74 |                 fi
 | 
|---|
| [bd7b85] | 75 | #       else
 | 
|---|
 | 76 | #               AC_MSG_WARN(["Already specified --enable-debug!"])
 | 
|---|
| [da83f8] | 77 |         fi
 | 
|---|
 | 78 | fi
 | 
|---|
 | 79 | 
 | 
|---|
| [a0bcf1] | 80 | # add replacement/saturation hydrogen or not 
 | 
|---|
 | 81 | AC_ARG_ENABLE([hydrogen],AS_HELP_STRING([--enable-hydrogen],[Adding saturation hydrogen (default is yes)]),
 | 
|---|
 | 82 |               [enable_hydrogen=$enableval], [enable_hydrogen=yes])
 | 
|---|
 | 83 | if test x"$enable_hydrogen" = xyes; then
 | 
|---|
 | 84 |   AC_DEFINE(ADDHYDROGEN,1, ["Adding saturation hydrogen"])
 | 
|---|
 | 85 |   AC_SUBST(ADDHYDROGEN)
 | 
|---|
 | 86 | fi
 | 
|---|
 | 87 | 
 | 
|---|
 | 88 | # Check for "extern inline", using a modified version
 | 
|---|
 | 89 | # of the test for AC_C_INLINE from acspecific.mt
 | 
|---|
 | 90 | AC_CACHE_CHECK([for extern inline], ac_cv_c_extern_inline,
 | 
|---|
 | 91 | [ac_cv_c_extern_inline=no
 | 
|---|
 | 92 | AC_TRY_COMPILE([extern $ac_cv_c_inline double foo(double x);
 | 
|---|
 | 93 | extern $ac_cv_c_inline double foo(double x) { return x+1.0; };
 | 
|---|
 | 94 | double foo (double x) { return x + 1.0; };], 
 | 
|---|
 | 95 | [  foo(1.0)  ],
 | 
|---|
 | 96 | [ac_cv_c_extern_inline="yes"])
 | 
|---|
 | 97 | ])
 | 
|---|
 | 98 | 
 | 
|---|
 | 99 | if test "$ac_cv_c_inline" != no ; then
 | 
|---|
 | 100 |   AC_DEFINE(HAVE_INLINE,1, ["May use inline routines"])
 | 
|---|
 | 101 |   AC_SUBST(HAVE_INLINE)
 | 
|---|
 | 102 | fi
 | 
|---|
 | 103 | 
 | 
|---|
| [b5279f0] | 104 | # test suite
 | 
|---|
 | 105 | AC_CONFIG_TESTDIR(tests)
 | 
|---|
 | 106 | AC_CONFIG_FILES([tests/atlocal tests/Makefile])
 | 
|---|
 | 107 | AC_CONFIG_FILES([tests/molecuilder], [chmod +x tests/molecuilder])
 | 
|---|
 | 108 | 
 | 
|---|
| [a0bcf1] | 109 | AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile])
 | 
|---|
 | 110 | AC_OUTPUT
 | 
|---|