chiark / gitweb /
add initial re-implementation of DIRECT (still too slow because convex hull is re...
[nlopt.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT(nlopt, 0.1, stevenj@alum.mit.edu)
3 AC_CONFIG_SRCDIR(api/nlopt.h)
4 SHARED_VERSION_INFO="0:0:0" # CURRENT:REVISION:AGE
5
6 AM_INIT_AUTOMAKE(1.7)
7 AM_CONFIG_HEADER(config.h)
8 AM_MAINTAINER_MODE
9 AC_SUBST(SHARED_VERSION_INFO)
10 AC_DISABLE_SHARED dnl to hell with shared libraries
11
12 dnl Checks for programs.
13 AC_PROG_CC
14 AC_PROG_CXX
15 AC_PROG_CC_STDC
16 AC_PROG_INSTALL
17 AC_PROG_LN_S
18 AC_PROG_MAKE_SET
19 AC_LIBTOOL_WIN32_DLL
20 AC_PROG_LIBTOOL
21
22 dnl Checks for typedefs, structures, and compiler characteristics.
23 AC_HEADER_STDC
24 AC_HEADER_TIME
25 AC_CHECK_HEADERS([unistd.h getopt.h stdint.h])
26 AC_C_CONST
27 AC_C_INLINE
28
29 dnl find 32-bit unsigned integer type for random-number generator
30 AC_CHECK_SIZEOF(unsigned int)
31 AC_CHECK_SIZEOF(unsigned long)
32 AC_CHECK_TYPES(uint32_t, [], [], [$ac_includes_default
33 #ifdef HAVE_STDINT_H
34 #  include <stdint.h>
35 #endif])
36
37 dnl Checks for libraries and functions
38 AC_CHECK_LIB(m, sin)
39 AC_CHECK_FUNCS([BSDgettimeofday gettimeofday time])
40
41 AC_MSG_CHECKING([for isnan])
42 AC_TRY_LINK([#include <math.h>
43 ], if (!isnan(3.14159)) isnan(2.7183);, ok=yes, ok=no)
44 if test "$ok" = "yes"; then
45         AC_DEFINE(HAVE_ISNAN,1,[Define if the isnan() function/macro is available.])
46 fi
47 AC_MSG_RESULT(${ok})
48
49 AC_MSG_CHECKING([for isinf])
50 AC_TRY_LINK([#include <math.h>
51 ], if (!isinf(3.14159)) isinf(2.7183);, ok=yes, ok=no)
52 if test "$ok" = "yes"; then
53         AC_DEFINE(HAVE_ISINF,1,[Define if the isinf() function/macro is available.])
54 fi
55 AC_MSG_RESULT(${ok})
56
57 dnl -----------------------------------------------------------------------
58 dnl Debugging
59
60 AC_ARG_ENABLE(debug, [AC_HELP_STRING([--enable-debug],[compile with extra runtime checks for debugging])], ok=$enableval, ok=no)
61 if test "$ok" = "yes"; then
62         AC_DEFINE(DEBUG,1,[Define to enable extra debugging code.])
63 fi
64
65 dnl override CFLAGS selection when debugging
66 if test "${enable_debug}" = "yes"; then
67         CFLAGS="-g"
68         CXXFLAGS="-g"
69         FFLAGS="-g"
70 fi
71
72 dnl add gcc warnings, in debug/maintainer mode only
73 if test "$enable_debug" = yes || test "$USE_MAINTAINER_MODE" = yes; then
74 if test $ac_cv_prog_gcc = yes; then
75    if test "$ac_test_CFLAGS" != "set"; then
76       CFLAGS="$CFLAGS -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -Wshadow -Wbad-function-cast -Wwrite-strings -Wstrict-prototypes -Wredundant-decls -Wnested-externs -Wundef -Wconversion -Wmissing-prototypes -Wmissing-declarations"
77    fi
78    if test "$ac_test_CXXFLAGS" != "set"; then
79       CXXFLAGS="$CXXFLAGS -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -Wshadow -Wwrite-strings -Wredundant-decls -Wundef -Wconversion"
80    fi
81 fi
82 fi
83
84 vers=`echo ${VERSION}.0.0 | cut -d. -f1`
85 AC_DEFINE_UNQUOTED(MAJOR_VERSION, $vers, [Major version number.])
86 vers=`echo ${VERSION}.0.0 | cut -d. -f2`
87 AC_DEFINE_UNQUOTED(MINOR_VERSION, $vers, [Minor version number.])
88 vers=`echo ${VERSION}.0.0 | cut -d. -f3`
89 AC_DEFINE_UNQUOTED(BUGFIX_VERSION, $vers, [Bugfix version number.])
90
91 dnl -----------------------------------------------------------------------
92
93 AC_CONFIG_FILES([
94    Makefile
95    nlopt.pc
96    api/Makefile
97    util/Makefile
98    direct/Makefile
99    cdirect/Makefile
100    stogo/Makefile
101    lbfgs/Makefile
102    subplex/Makefile
103    test/Makefile
104 ])
105
106 AC_OUTPUT