chiark / gitweb /
added common random-number generation and timer utilities
[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 dnl -----------------------------------------------------------------------
85
86 AC_CONFIG_FILES([
87    Makefile
88    nlopt.pc
89    api/Makefile
90    util/Makefile
91    direct/Makefile
92    stogo/Makefile
93    lbfgs/Makefile
94    subplex/Makefile
95    test/Makefile
96 ])
97
98 AC_OUTPUT