X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.ac;h=8e64c11a93831303510248901aa37838b6bc4c7f;hb=f3df7df77761c610c9ba328fac01619f4e7b563f;hp=56b9532f802ac979f25d84ef3304e913260a47e3;hpb=7f408c1ae7d1011c489fbd9123b1dd03d869e088;p=rrdtool.git diff --git a/configure.ac b/configure.ac index 56b9532..8e64c11 100644 --- a/configure.ac +++ b/configure.ac @@ -8,17 +8,17 @@ 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.15]) +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.2015 +NUMVERS=1.2023 AC_SUBST(NUMVERS) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE -AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_HEADERS([rrd_config.h]) dnl all our local stuff like install scripts and include files dnl is in there @@ -37,8 +37,8 @@ dnl At the TOP of the HEADER AH_TOP([ -#ifndef CONFIG_H -#define CONFIG_H +#ifndef RRD_CONFIG_H +#define RRD_CONFIG_H /* IEEE can be prevented from raising signals with fpsetmask(0) */ #undef MUST_DISABLE_FPMASK @@ -56,7 +56,7 @@ AH_BOTTOM([ /* 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 #else # ifndef HAVE_STRCHR @@ -70,30 +70,34 @@ char *strchr (), *strrchr (); # endif #endif +/* enable posix_fadvise on linux */ +#ifdef HAVE_POSIX_FADVISE +#define __USE_XOPEN2K 1 +#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 -#if NEED_MALLOC_MALLOC_H +#ifdef NEED_MALLOC_MALLOC_H # include #endif -#if HAVE_MATH_H +#ifdef HAVE_MATH_H # include #endif -#if HAVE_FLOAT_H +#ifdef HAVE_FLOAT_H # include #endif -#if HAVE_IEEEFP_H +#ifdef HAVE_IEEEFP_H # include #endif -#if HAVE_FP_CLASS_H +#ifdef HAVE_FP_CLASS_H # include #endif @@ -103,6 +107,12 @@ char *strchr (), *strrchr (); # define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) #endif +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + /* for OSF1 Digital Unix */ #if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) # define HAVE_ISINF 1 @@ -143,7 +153,7 @@ char *strchr (), *strrchr (); #error "Can't compile without isinf function" #endif -#endif /* CONFIG_H */ +#endif /* RRD_CONFIG_H */ ]) dnl Process Special Options @@ -237,7 +247,7 @@ 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) if test "x$enable_mmap" = xyes; then @@ -366,7 +376,7 @@ AC_LINK_IFELSE( ), [AC_DEFINE(NEED_MALLOC_MALLOC_H) AC_MSG_RESULT([yes we do])], - [AC_MSG_ERROR([Can't figure how to compile malloc])] + [AC_MSG_ERROR([Can not figure how to compile malloc])] ) ] ) @@ -377,6 +387,8 @@ CONFIGURE_PART(Findr 3rd-Party Libraries) AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no]) +CORE_LIBS="$LIBS" + 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.3, http://www.gzip.org/zlib/, "") EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.10, http://prdownloads.sourceforge.net/libpng/, "") @@ -386,6 +398,11 @@ if test "$EX_CHECK_ALL_ERR" = "YES"; then AC_MSG_ERROR([Please fix the library issues listed above and try again.]) fi +ALL_LIBS="$LIBS" +LIBS= + +AC_SUBST(CORE_LIBS) +AC_SUBST(ALL_LIBS) CONFIGURE_PART(Prep for Building Language Bindings) @@ -413,7 +430,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 @@ -477,6 +494,49 @@ AC_SUBST(PERL) AC_SUBST(COMP_PERL) AC_SUBST(PERL_VERSION) +dnl Check for Ruby. +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 + 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 + + +dnl pass additional ruby options when generating Makefile from Makefile.PL +AC_ARG_ENABLE(ruby-site-install, +[ --enable-ruby-site-install by default the rrdtool ruby modules are installed + together with rrdtool in $prefix/lib/ruby. You have to + add $prefix/lib/ruby/$ruby_version/$sitearch to you $: variable + for ruby to find the RRD.so file.], +[RUBY_MAKE_OPTIONS=],[RUBY_MAKE_OPTIONS="sitedir=$prefix/lib/ruby"]) + + +AC_ARG_WITH(ruby-options, +[ --with-ruby-options=[OPTIONS] options to pass on command-line when + generating Makefile from extconf.rb. If you set this + option, interesting things may happen unless you know + what you are doing!], +[RUBY_MAKE_OPTIONS=$withval]) + +AC_SUBST(RUBY_MAKE_OPTIONS) +AC_SUBST(RUBY) +AC_SUBST(COMP_RUBY) + + enable_tcl_site=no AC_ARG_ENABLE(tcl,[ --disable-tcl do not build the tcl modules], @@ -532,7 +592,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) @@ -550,24 +616,23 @@ 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/perftest.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_CONFIG_COMMANDS([default],[[ chmod +x examples/*.pl]],[[]]) AC_OUTPUT AC_MSG_CHECKING(in) AC_MSG_RESULT(and out again) -echo $ECHO_N "ordering CD from http://people.ee.ethz.ch/oetiker/wish $ECHO_C" 1>&6 +echo $ECHO_N "ordering CD from http://tobi.oetiker.ch/wish $ECHO_C" 1>&6 sleep 1 echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 @@ -587,6 +652,9 @@ echo " Perl Modules: $COMP_PERL" echo " Perl Binary: $PERL" echo " Perl Version: $PERL_VERSION" echo " Perl Options: $PERL_MAKE_OPTIONS" +echo " Ruby Modules: $COMP_RUBY" +echo " Ruby Binary: $RUBY" +echo " Ruby Options: $RUBY_MAKE_OPTIONS" echo " Build Tcl Bindings: $enable_tcl" echo " Build Python Bindings: $enable_python" echo " Build rrdcgi: $enable_rrdcgi" @@ -597,7 +665,7 @@ echo "Type 'make' to compile the software and use 'make install' to " echo "install everything to: $prefix." echo echo " ... that wishlist is NO JOKE. If you find RRDtool useful" -echo "make me happy. Go to http://people.ee.ethz.ch/oetiker/wish and" +echo "make me happy. Go to http://tobi.oetiker.ch/wish and" echo "place an order." echo echo " -- Tobi Oetiker "