X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=configure.ac;h=453d9817fa9d881348fb82dc113e923ec3fe54ea;hp=594e02a3568469a7f6266de172b1c8a270c9c11e;hb=0968ff5f36bf9f979e0a0e8b15dd764425eced73;hpb=1eb9f174c8668a68287a1dcb305c1e0da1ae2de2 diff --git a/configure.ac b/configure.ac index 594e02a..453d981 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,6 @@ dnl RRDtool AutoConf script ... dnl --------------------------- +dnl $Id$ dnl dnl Created by Jeff Allen, Tobi Oetiker, Blair Zajac dnl @@ -7,16 +8,19 @@ dnl Inspiration from http://autoconf-archive.cryp.to dnl tell automake the this script is for rrdtool +dnl Minimum Autoconf version required. +AC_PREREQ(2.59) + dnl the official version number is dnl a.b.c -AC_INIT([rrdtool],[1.3.999]) +AC_INIT([rrdtool],[1.4.3]) dnl for testing a numberical version number comes handy dnl the released version are dnl a.bccc dnl the devel versions will be something like dnl a.b999yymmddhh -NUMVERS=1.3999 +NUMVERS=1.4003 AC_SUBST(NUMVERS) dnl for the linker to understand which versions the library are compatible with @@ -27,14 +31,17 @@ dnl - if any functionality was removed do c++,r=0,a=0. dnl dnl see http://sourceware.org/autobook/autobook/autobook_91.html dnl -LIBVERS=5:0:1 +LIBVERS=5:3:1 AC_SUBST(LIBVERS) AC_CANONICAL_TARGET -AC_USE_SYSTEM_EXTENSIONS -AM_INIT_AUTOMAKE([silent-rules]) +m4_version_prereq(2.60, [AC_USE_SYSTEM_EXTENSIONS], [#]) +AM_INIT_AUTOMAKE AM_MAINTAINER_MODE -AM_SILENT_RULES([yes]) +# Enable silent build rules by default, requires at least +# Automake-1.11. Disable by either passing --disable-silent-rules to +# configure or passing V=1 to make +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_HEADERS([rrd_config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -46,10 +53,7 @@ dnl determine the type of system we are running on AC_SUBST(VERSION) -AC_PREFIX_DEFAULT( /usr/local/rrdtool-$PACKAGE_VERSION ) - -dnl Minimum Autoconf version required. -AC_PREREQ(2.59) +AC_PREFIX_DEFAULT( /opt/rrdtool-$PACKAGE_VERSION ) dnl At the TOP of the HEADER @@ -81,7 +85,7 @@ AH_BOTTOM([ # include #endif -#include +#include "src/rrd_config_bottom.h" #endif ]) @@ -98,6 +102,28 @@ AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0}, AC_ARG_ENABLE(rrdcgi,AS_HELP_STRING([--disable-rrdcgi],[disable building of rrdcgi]), [],[enable_rrdcgi=yes]) +AC_ARG_ENABLE(libwrap, + AS_HELP_STRING([--disable-libwrap], + [do not build in support for libwrap (tcp wrapper)]), + [have_libwrap=no],[ + XXX=$LIBS + LIBS="$LIBS -lwrap" + AC_MSG_CHECKING(for libwrap) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include "tcpd.h"]], [[hosts_access(NULL)]]) + ],[AC_DEFINE(HAVE_LIBWRAP,[1],[have got libwrap installed]) + AC_MSG_RESULT([yes]) + have_libwrap=yes + ],[LIBS=$XXX + AC_MSG_RESULT([no]) + have_libwrap=no + ] + ) +]) +AM_CONDITIONAL(BUILD_LIBWRAP,[test $have_libwrap != no]) + +AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no]) + dnl Check if we run on a system that has fonts AC_ARG_WITH(rrd-default-font, [ --with-rrd-default-font=[OPTIONS] set the full path to your default font.], @@ -157,7 +183,7 @@ AC_SUBST(WERROR) dnl which flags does the compiler support? if test "x$GCC" = "xyes"; then - for flag in -fno-strict-aliasing -Wall -std=c99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition -W; do + for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition -W; do oCFLAGS="$CFLAGS" CFLAGS="$CFLAGS $flag" cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[[^A-Za-z]]/_/g'` @@ -178,7 +204,7 @@ CONFIGURE_PART(Checking for Header Files) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT -AC_CHECK_HEADERS(libgen.h features.h 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 signal.h float.h stdio.h stdlib.h errno.h string.h ctype.h) +AC_CHECK_HEADERS(langinfo.h stdint.h inttypes.h libgen.h features.h sys/stat.h sys/types.h fcntl.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h signal.h float.h stdio.h stdlib.h errno.h string.h ctype.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -188,7 +214,8 @@ AC_STRUCT_TM CONFIGURE_PART(Test Library Functions) dnl Checks for libraries. -AC_CHECK_FUNC(acos, , AC_CHECK_LIB(m, acos)) +AC_CHECK_FUNC(acos, , AC_CHECK_LIB(m, acos)) +AC_CHECK_FUNC(round, , AC_CHECK_LIB(m, round)) dnl add pic flag in any case this makes sure all our code is relocatable @@ -205,7 +232,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 fsync mbstowcs opendir readdir chdir chroot getuid setlocale strerror snprintf vsnprintf vasprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday) +AC_CHECK_FUNCS(nl_langinfo tzset fsync mbstowcs opendir readdir chdir chroot getuid strerror snprintf vsnprintf vasprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday) AC_FUNC_STRERROR_R @@ -220,6 +247,12 @@ AC_CHECK_FUNCS(fdatasync, [], AC_CHECK_LIB(rt, fdatasync, [LIBS="${LIBS} -lrt"; dnl if there is no fdatasync we may get lucky with fsync AC_CHECK_FUNCS(fsync) +dnl check for socket and nsl solaris again ... we need this for the new rrd_daemon stuff + +AC_CHECK_FUNCS(socket, [], AC_CHECK_LIB(socket, socket, [LIBS="${LIBS} -lsocket"; AC_DEFINE(HAVE_SOCKET)],[])) +AC_CHECK_FUNCS(getaddrinfo, [], AC_CHECK_LIB(nsl, getaddrinfo, [LIBS="${LIBS} -lnsl"; AC_DEFINE(HAVE_GETADDRINFO)],[])) + + dnl XXX: dunno about windows.. add AC_CHECK_FUNCS(munmap) there too? if test "x$enable_mmap" = "xyes"; then @@ -263,8 +296,8 @@ AC_CHECK_FUNCS(posix_fadvise) CONFIGURE_PART(Libintl Processing) -AM_GNU_GETTEXT_VERSION(0.14.4) -AM_GNU_GETTEXT() +AM_GNU_GETTEXT_VERSION(0.18) +AM_GNU_GETTEXT(external) CONFIGURE_PART(IEEE Math Checks) @@ -335,6 +368,12 @@ CONFIGURE_PART(Resolve Portability Issues) CHECK_FOR_WORKING_MS_ASYNC +dnl do we have nl_langinfo(_NL_TIME_WEEK_1STDAY) +AC_CHECK_FUNCS(_NL_TIME_WEEK_1STDAY, , + [AC_MSG_CHECKING([for nl_langinfo(_NL_TIME_WEEK_1STDAY) with langinfo.h]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[nl_langinfo(_NL_TIME_WEEK_1STDAY)]])],[AC_MSG_RESULT(yes) + AC_DEFINE(HAVE__NL_TIME_WEEK_1STDAY)],[AC_MSG_RESULT(no)])]) + dnl Do we need getopt_long dnl even when including our own getopt implementation @@ -448,6 +487,33 @@ AC_LINK_IFELSE( ) ] ) + +dnl is time_t 32 of 64 bit ? +AC_DEFINE([TIME_T_IS_32BIT], [], [time_t is 32bit]) +AC_DEFINE([TIME_T_IS_64BIT], [], [time_t is 64bit]) +AC_MSG_CHECKING([the type of time_t]) +AC_RUN_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[if (sizeof(time_t) != 4) return 1; ]] + ), + [ AC_MSG_RESULT([time_t is 32 bit]) + AC_DEFINE([TIME_T_IS_32BIT]) + ], + [ AC_RUN_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[if (sizeof(time_t) != 8) return 1; ]] + ), + [ + AC_MSG_RESULT([time_t is 64 bit]) + AC_DEFINE([TIME_T_IS_64BIT]) + ], + [AC_MSG_ERROR([can not figure type of time_t])] + ) + ] +) + AC_LANG_POP(C) CONFIGURE_PART(Find 3rd-Party Libraries) @@ -471,7 +537,6 @@ AC_ARG_ENABLE(libdbi,AS_HELP_STRING([--disable-libdbi],[do not build in support ]) AM_CONDITIONAL(BUILD_LIBDBI,[test $have_libdbi != no]) -AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no]) CORE_LIBS="$LIBS" @@ -485,7 +550,7 @@ EX_CHECK_ALL(cairo, cairo_svg_surface_create, cairo-svg.h, EX_CHECK_ALL(cairo, cairo_pdf_surface_create, cairo-pdf.h, cairo-pdf, 1.4.6, http://cairographics.org/releases/, "") EX_CHECK_ALL(cairo, cairo_ps_surface_create, cairo-ps.h, cairo-ps, 1.4.6, http://cairographics.org/releases/, "") EX_CHECK_ALL(glib-2.0, glib_check_version, glib.h, glib-2.0, 2.12.12, ftp://ftp.gtk.org/pub/glib/2.12/, "") -EX_CHECK_ALL(pango-1.0, pango_cairo_context_set_font_options, pango/pango.h, pangocairo, 1.17, http://ftp.gnome.org/pub/GNOME/sources/pango/1.17, "") +EX_CHECK_ALL(pangocairo-1.0, pango_cairo_context_set_font_options, pango/pango.h, pangocairo, 1.17, http://ftp.gnome.org/pub/GNOME/sources/pango/1.17, "") EX_CHECK_ALL(xml2, xmlParseFile, libxml/parser.h, libxml-2.0, 2.6.31, http://xmlsoft.org/downloads.html, /usr/include/libxml2) if test "$EX_CHECK_ALL_ERR" = "YES"; then @@ -512,10 +577,10 @@ AC_ARG_ENABLE(perl,AS_HELP_STRING([--disable-perl],[do not build the perl module [],[enable_perl=yes]) -AC_ARG_VAR(PERLCC, [[] C compiler for Perl modules]) -AC_ARG_VAR(PERLCCFLAGS, [[] CC flags for Perl modules]) -AC_ARG_VAR(PERLLD, [[same as PERLCC] Linker for Perl modules]) -AC_ARG_VAR(PERLLDFLAGS, [[] LD flags for Perl modules]) +AC_ARG_VAR(PERLCC, [C compiler for Perl modules]) +AC_ARG_VAR(PERLCCFLAGS, [CC flags for Perl modules]) +AC_ARG_VAR(PERLLD, [Linker for Perl modules]) +AC_ARG_VAR(PERLLDFLAGS, [LD flags for Perl modules]) if test "x$PERL" = "xno" -o x$enable_perl = xno; then COMP_PERL= @@ -799,7 +864,7 @@ if test "$enable_tcl" = "yes"; then TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR" fi fi - AC_ARG_ENABLE(tcl,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]), + AC_ARG_ENABLE(tcl-site,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]), [],[enable_tcl_site=yes]) fi @@ -858,7 +923,6 @@ AC_CONFIG_FILES([examples/Makefile]) AC_CONFIG_FILES([examples/rrdcached/Makefile]) AC_CONFIG_FILES([doc/Makefile]) AC_CONFIG_FILES([po/Makefile.in]) -AC_CONFIG_FILES([intl/Makefile]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([src/librrd.sym.in]) AC_CONFIG_FILES([src/librrd.pc]) @@ -869,6 +933,10 @@ AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([bindings/lua/Makefile]) AC_CONFIG_COMMANDS([default],[[ chmod +x examples/*.pl]],[[]]) + +dnl intl requires our config to be called config.h. indulge it. +AC_CONFIG_COMMANDS_POST([ test -f config.h || ln -s rrd_config.h config.h ]) + AC_OUTPUT AC_MSG_CHECKING(in) @@ -914,6 +982,7 @@ echo " Build rrdcgi: $enable_rrdcgi" echo " Build librrd MT: $enable_pthread" echo " Use gettext: $USE_NLS" echo " With libDBI: $have_libdbi" +echo " With libwrap: $have_libwrap" echo echo " Libraries: $ALL_LIBS" echo