diff --git a/program/configure.ac b/program/configure.ac
index 9f59bb70de160544e9c0d3a8a54b92abe53663c0..eb3e53170ee36f38467608e15eefc3c075872a4b 100644 (file)
--- a/program/configure.ac
+++ b/program/configure.ac
dnl Created by Jeff Allen, Tobi Oetiker, Blair Zajac
dnl
dnl Inspiration from http://autoconf-archive.cryp.to
dnl Created by Jeff Allen, Tobi Oetiker, Blair Zajac
dnl
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
dnl tell automake the this script is for rrdtool
dnl the official version number is
dnl a.b.c
-AC_INIT([rrdtool],[1.2.11])
+AC_INIT([rrdtool],[1.2.12])
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
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.2011
+NUMVERS=1.2012
AC_SUBST(NUMVERS)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AC_SUBST(NUMVERS)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
#endif /* CONFIG_H */
])
#endif /* CONFIG_H */
])
+dnl Process Special Options
+dnl -----------------------------------
+dnl How the vertical axis label is printed
+AC_ARG_VAR(RRDGRAPH_YLEGEND_ANGLE,
+ [Vertical label angle: 90.0 (default) or 270.0])
+AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0},
+ [Vertical label angle: 90.0 (default) or 270.0])
-dnl Check for the compiler and static/shared library creation.
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_LIBTOOL
+AC_ARG_ENABLE(rrdcgi,[ --disable-rrdcgi disable building of rrdcgi],
+[],[enable_rrdcgi=yes])
dnl Check if we run on a system that has fonts
AC_ARG_WITH(rrd-default-font,
dnl Check if we run on a system that has fonts
AC_ARG_WITH(rrd-default-font,
fi
])
fi
])
+dnl Use mmap in rrd_update instead of seek+write
+AC_ARG_ENABLE([mmap],
+[ --disable-mmap disable mmap in rrd_update, use seek+write instead],
+[],
+[enable_mmap=yes])
+
+
+ AC_ARG_ENABLE(pthread,[ --disable-pthread disable multithread support],
+[],[enable_pthread=yes])
+
+
+
+CONFIGURE_PART(Audit Compilation Environment)
+
+
+dnl Check for the compiler and static/shared library creation.
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_LIBTOOL
+
+
AC_SUBST(RRD_DEFAULT_FONT)
AC_SUBST(RRD_DEFAULT_FONT)
+CONFIGURE_PART(Checking for Header Files)
+
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_DIRENT
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_DIRENT
eval `./libtool --config | grep pic_flag`
CFLAGS="$CFLAGS $pic_flag"
eval `./libtool --config | grep pic_flag`
CFLAGS="$CFLAGS $pic_flag"
+CONFIGURE_PART(Test Library Functions)
+
dnl Checks for library functions.
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
dnl Checks for library functions.
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
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)
-dnl Use mmap in rrd_update instead of seek+write
-AC_ARG_ENABLE([mmap],
-[ --disable-mmap disable mmap in rrd_update, use seek+write instead],
-[],
-[enable_mmap=yes])
if test "x$enable_mmap" = xyes; then
if test "x$enable_mmap" = xyes; then
- AC_FUNC_MMAP
+ case "$host" in
+ *cygwin*)
+ # the normal mmap test does not work in cygwin
+ AC_CHECK_FUNCS(mmap)
+ if [ "x${ac_cv_func_mmap}" = xyes ]; then
+ ac_cv_func_mmap_fixed_mapped=yes
+ fi
+ ;;
+ *)
+ AC_FUNC_MMAP
+ ;;
+ esac
fi
fi
+
+CONFIGURE_PART(IEEE Math Checks)
+
dnl HP-UX 11.00 does not have finite but does have isfinite as a macro so we need
dnl actual code to check if this works
AC_CHECK_FUNCS(fpclassify, ,
dnl HP-UX 11.00 does not have finite but does have isfinite as a macro so we need
dnl actual code to check if this works
AC_CHECK_FUNCS(fpclassify, ,
AC_FULL_IEEE
AC_FULL_IEEE
-AC_LANG_PUSH(C)
-dnl see if we have to include malloc/malloc.h
-AC_MSG_CHECKING([do we need malloc/malloc.h])
-AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [[#include <stdlib.h>]],
- [[malloc(1)]]
- ),
- [ AC_MSG_RESULT([nope, works out of the box]) ],
- [ AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [[#include <stdlib.h>
- #include <malloc/malloc.h>]],
- [[malloc(1)]]
- ),
- [AC_DEFINE(NEED_MALLOC_MALLOC_H)
- AC_MSG_RESULT([yes we do])],
- [AC_MSG_ERROR([Can't figure how to compile malloc])]
- )
- ]
-)
-AC_LANG_POP(C)
-
-dnl How the vertical axis label is printed
-AC_ARG_VAR(RRDGRAPH_YLEGEND_ANGLE,
- [Vertical label angle: 90.0 (default) or 270.0])
-AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0},
- [Vertical label angle: 90.0 (default) or 270.0])
-
+CONFIGURE_PART(Resolve Portability Issues)
-AC_ARG_ENABLE(rrdcgi,[ --disable-rrdcgi disable building of rrdcgi],
-[],[enable_rrdcgi=yes])
-AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no])
+dnl what does realloc do if it gets called with a NULL pointer
-EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, /usr/include/libart-2.0)
-EX_CHECK_ALL(z, zlibVersion, zlib.h, zlib, 1.2.2, http://www.gzip.org/zlib/, "")
-EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.8, http://prdownloads.sourceforge.net/libpng/, "")
-EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.9, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2)
+AC_CACHE_CHECK([if realloc can deal with NULL], rd_cv_null_realloc,
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
+ int main(void){
+ char *x = NULL;
+ x = realloc (x,10);
+ if (x==NULL) return 1;
+ return 0;
+ }]])],[rd_cv_null_realloc=yes],[rd_cv_null_realloc=nope],[:])])
-if test "$EX_CHECK_ALL_ERR" = "YES"; then
- AC_MSG_ERROR([Please fix the library issues listed above and try again.])
+if test x"$rd_cv_null_realloc" = xnope; then
+AC_DEFINE(NO_NULL_REALLOC)
fi
AC_LANG_PUSH(C)
fi
AC_LANG_PUSH(C)
AC_SUBST(MULTITHREAD_CFLAGS)
AC_SUBST(MULTITHREAD_LDFLAGS)
AC_SUBST(MULTITHREAD_CFLAGS)
AC_SUBST(MULTITHREAD_LDFLAGS)
-
-AC_ARG_ENABLE(pthread,[ --disable-pthread disable multithread support],
-[],[enable_pthread=yes])
-
-
if test $enable_pthread != no; then
ACX_PTHREAD([
MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS
if test $enable_pthread != no; then
ACX_PTHREAD([
MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS
CPPFLAGS="$CPPFLAGS $x_rflag"
fi
CPPFLAGS="$CPPFLAGS $x_rflag"
fi
-
AM_CONDITIONAL(BUILD_MULTITHREAD,[test $enable_pthread != no])
AM_CONDITIONAL(BUILD_MULTITHREAD,[test $enable_pthread != no])
+
+AC_LANG_PUSH(C)
+dnl see if we have to include malloc/malloc.h
+AC_MSG_CHECKING([do we need malloc/malloc.h])
+AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [[#include <stdlib.h>]],
+ [[malloc(1)]]
+ ),
+ [ AC_MSG_RESULT([nope, works out of the box]) ],
+ [ AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [[#include <stdlib.h>
+ #include <malloc/malloc.h>]],
+ [[malloc(1)]]
+ ),
+ [AC_DEFINE(NEED_MALLOC_MALLOC_H)
+ AC_MSG_RESULT([yes we do])],
+ [AC_MSG_ERROR([Can't figure how to compile malloc])]
+ )
+ ]
+)
+AC_LANG_POP(C)
+
+CONFIGURE_PART(Findr 3rd-Party Libraries)
+
+
+AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no])
+
+EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, /usr/include/libart-2.0)
+EX_CHECK_ALL(z, zlibVersion, zlib.h, zlib, 1.2.2, http://www.gzip.org/zlib/, "")
+EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.8, http://prdownloads.sourceforge.net/libpng/, "")
+EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.9, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2)
+
+if test "$EX_CHECK_ALL_ERR" = "YES"; then
+ AC_MSG_ERROR([Please fix the library issues listed above and try again.])
+fi
+
+
+CONFIGURE_PART(Prep for Building Language Bindings)
dnl Check for Perl.
AC_PATH_PROG(PERL, perl, no)
dnl Check for Perl.
AC_PATH_PROG(PERL, perl, no)
fi
fi
fi
fi
fi
fi
+
AC_MSG_CHECKING(Perl Modules to build)
AC_MSG_RESULT(${COMP_PERL:-No Perl Modules will be built})
AC_MSG_CHECKING(Perl Modules to build)
AC_MSG_RESULT(${COMP_PERL:-No Perl Modules will be built})
AC_SUBST(COMP_PERL)
AC_SUBST(PERL_VERSION)
AC_SUBST(COMP_PERL)
AC_SUBST(PERL_VERSION)
+enable_tcl_site=no
+
AC_ARG_ENABLE(tcl,[ --disable-tcl do not build the tcl modules],
[],[enable_tcl=yes])
AC_ARG_ENABLE(tcl,[ --disable-tcl do not build the tcl modules],
[],[enable_tcl=yes])
. $tcl_config
TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION"
fi
. $tcl_config
TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION"
fi
+ AC_ARG_ENABLE(tcl,[ --enable-tcl-site install the tcl extension in the tcl tree],
+ [],[enable_tcl_site=yes])
+
fi
AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" )
fi
AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" )
+AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" )
AC_SUBST(TCL_PREFIX)
AC_SUBST(TCL_SHLIB_CFLAGS)
AC_SUBST(TCL_PREFIX)
AC_SUBST(TCL_SHLIB_CFLAGS)
fi
fi
fi
fi
-dnl what does realloc do if it gets called with a NULL pointer
-
-AC_CACHE_CHECK([if realloc can deal with NULL], rd_cv_null_realloc,
-[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
- int main(void){
- char *x = NULL;
- x = realloc (x,10);
- if (x==NULL) return 1;
- return 0;
- }]])],[rd_cv_null_realloc=yes],[rd_cv_null_realloc=nope],[:])])
-
-if test x"$rd_cv_null_realloc" = xnope; then
-AC_DEFINE(NO_NULL_REALLOC)
-fi
-AC_CONFIG_FILES([examples/shared-demo.pl \
- examples/piped-demo.pl \
- examples/stripes.pl \
- examples/bigtops.pl \
- examples/minmax.pl \
- examples/cgi-demo.cgi \
- examples/4charts.pl \
- examples/Makefile \
- doc/Makefile \
- src/Makefile \
- bindings/Makefile \
- bindings/tcl/Makefile \
- bindings/tcl/ifOctets.tcl \
- bindings/python/Makefile \
- Makefile])
-AC_CONFIG_COMMANDS([default],[[\
- chmod +x examples/*.cgi examples/*.pl]],[[]])
+CONFIGURE_PART(Apply Configuration Information)
+
+AC_CONFIG_FILES([examples/shared-demo.pl])
+AC_CONFIG_FILES([examples/piped-demo.pl])
+AC_CONFIG_FILES([examples/stripes.pl])
+AC_CONFIG_FILES([examples/bigtops.pl])
+AC_CONFIG_FILES([examples/minmax.pl])
+AC_CONFIG_FILES([examples/cgi-demo.cgi])
+AC_CONFIG_FILES([examples/4charts.pl])
+AC_CONFIG_FILES([examples/Makefile])
+AC_CONFIG_FILES([doc/Makefile])
+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/*.cgi examples/*.pl]],[[]])
AC_OUTPUT
AC_MSG_CHECKING(in)
AC_OUTPUT
AC_MSG_CHECKING(in)