new trunk based on current 1.2
[rrdtool.git] / configure.ac
index ca95a1b..09e0260 100644 (file)
@@ -8,13 +8,13 @@ dnl Inspiration from http://autoconf-archive.cryp.to
 dnl tell automake the this script is for rrdtool
 dnl the official version number is
 dnl a.b.c
-AC_INIT([rrdtool],[1.2.19])
+AC_INIT([rrdtool],[1.2.23])
 dnl for testing a numberical version number comes handy
 dnl the released version are
 dnl a.bccc
 dnl the devl versions will be something like
 dnl a.b999yymmddhh 
-NUMVERS=1.2019
+NUMVERS=1.2023
 AC_SUBST(NUMVERS)
 AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE
@@ -52,11 +52,16 @@ AH_TOP([
  ])
 
 AH_BOTTOM([
+/* enable posix_fadvise on linux */
+#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H)
+#define _XOPEN_SOURCE 600
+#include <fcntl.h>
+#endif
 
 /* define strrchr, strchr and memcpy, memmove in terms of bsd funcs
    make sure you are NOT using bcopy, index or rindex in the code */
       
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <string.h>
 #else
 # ifndef HAVE_STRCHR
@@ -70,30 +75,29 @@ char *strchr (), *strrchr ();
 # endif
 #endif
 
-
-#if NO_NULL_REALLOC
+#ifdef NO_NULL_REALLOC
 # define rrd_realloc(a,b) ( (a) == NULL ? malloc( (b) ) : realloc( (a) , (b) ))
 #else
 # define rrd_realloc(a,b) realloc((a), (b))
-#endif      
+#endif
 
-#if NEED_MALLOC_MALLOC_H
+#ifdef NEED_MALLOC_MALLOC_H
 #  include <malloc/malloc.h>
 #endif
 
-#if HAVE_MATH_H
+#ifdef HAVE_MATH_H
 #  include <math.h>
 #endif
 
-#if HAVE_FLOAT_H
+#ifdef HAVE_FLOAT_H
 #  include <float.h>
 #endif
 
-#if HAVE_IEEEFP_H
+#ifdef HAVE_IEEEFP_H
 #  include <ieeefp.h>
 #endif
 
-#if HAVE_FP_CLASS_H
+#ifdef HAVE_FP_CLASS_H
 #  include <fp_class.h>
 #endif
 
@@ -218,7 +222,7 @@ CONFIGURE_PART(Checking for Header Files)
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_HEADER_DIRENT
-AC_CHECK_HEADERS(sys/stat.h sys/types.h fcntl.h time.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/time.h sys/times.h sys/param.h sys/resource.h float.h)
+AC_CHECK_HEADERS(sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -243,8 +247,12 @@ AC_C_BIGENDIAN
 dnl for each function found we get a definition in config.h 
 dnl of the form HAVE_FUNCTION
 
-AC_CHECK_FUNCS(tzset mbstowcs opendir readdir chdir chroot getuid setlocale strerror strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday)
+AC_CHECK_FUNCS(tzset mbstowcs opendir readdir chdir chroot getuid setlocale strerror strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday posix_fadvise madvise)
 
+AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
+AC_CHECK_DECLS(posix_fadvise, [], [], [#define _XOPEN_SOURCE 600
+#include <fcntl.h>])
+AC_CHECK_DECLS(madvise, [], [], [#include <sys/mman.h>])
 
 if test "x$enable_mmap" = xyes; then
   case "$host" in
@@ -378,7 +386,7 @@ AC_LINK_IFELSE(
 )
 AC_LANG_POP(C)
 
-CONFIGURE_PART(Findr 3rd-Party Libraries)
+CONFIGURE_PART(Find 3rd-Party Libraries)
 
 
 AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no])
@@ -426,7 +434,7 @@ else
            perlcc=`$PERL -MConfig -e 'print $Config{cc}'`
            AC_MSG_RESULT($perlcc)
            if test ! -x "$perlcc"; then
-               AC_PATH_PROG(PERL_CC, "${perlcc}", no)
+               AC_PATH_PROG(PERL_CC, ${perlcc}, no)
                if test "$PERL_CC" = "no"; then
                     AC_MSG_WARN([
 I would not find the Compiler ($perlcc) that was originally used to compile
@@ -496,16 +504,21 @@ AC_PATH_PROG(RUBY, ruby, no)
 AC_ARG_ENABLE(ruby,[  --disable-ruby          do not build the ruby modules],
 [],[enable_ruby=yes])
 
+AC_MSG_CHECKING(if ruby modules can be built)
 
 if test "x$RUBY" = "xno" -o  x$enable_ruby = xno; then
        COMP_RUBY=
+       AC_MSG_RESULT(No .. Ruby not found or disabled)
 else
-       COMP_RUBY="ruby"
-
+       if $RUBY -e 'require "mkmf"' >/dev/null 2>&1; then
+               COMP_RUBY="ruby"
+               AC_MSG_RESULT(YES)
+       else
+               COMP_RUBY=
+               AC_MSG_RESULT(Ruby found but mkmf is missing! Install the -dev package)         
+       fi                              
 fi
 
-AC_MSG_CHECKING(Ruby Modules to build)
-AC_MSG_RESULT(${COMP_RUBY:-No Ruby Modules will be built})
 
 dnl pass additional ruby options when generating Makefile from Makefile.PL
 AC_ARG_ENABLE(ruby-site-install,
@@ -583,7 +596,13 @@ AM_PATH_PYTHON(2.3,[],[enable_python=no])
 AM_CHECK_PYTHON_HEADERS(,[enable_python=no;AC_MSG_WARN(could not find Python headers)])
 fi
 
-AM_CONDITIONAL(BUILD_PYTHON,[test "$enable_python" = "yes"])
+if test  x$enable_python = xno; then
+       COMP_PYTHON=
+else
+       COMP_PYTHON="python"
+fi
+
+AC_SUBST(COMP_PYTHON)
 
 dnl Check for nroff
 AC_PATH_PROGS(NROFF, gnroff nroff)
@@ -609,7 +628,6 @@ AC_CONFIG_FILES([src/Makefile])
 AC_CONFIG_FILES([bindings/Makefile])
 AC_CONFIG_FILES([bindings/tcl/Makefile])
 AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl])
-AC_CONFIG_FILES([bindings/python/Makefile])
 AC_CONFIG_FILES([Makefile])          
 
 AC_CONFIG_COMMANDS([default],[[ chmod +x examples/*.pl]],[[]])