X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=configure.ac;h=2f4be2cd0720f2ab969a9f81406b89aa551813e7;hp=77c20d518aafe855b6883569bae86ccf1751f506;hb=cf0430b5c1d80f3de44d420643620ddc6b1e428f;hpb=030487e28a7637089a3bbaf5329faecdf84a4d3d diff --git a/configure.ac b/configure.ac index 77c20d5..2f4be2c 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.2]) +AC_INIT([rrdtool],[1.3.999]) 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.3002 +NUMVERS=1.3999 AC_SUBST(NUMVERS) dnl for the linker to understand which versions the library are compatible with @@ -27,14 +31,16 @@ 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=4:1:0 +LIBVERS=5:0:1 AC_SUBST(LIBVERS) AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE +m4_version_prereq(2.60, [AC_USE_SYSTEM_EXTENSIONS], [#]) +AM_INIT_AUTOMAKE(m4_version_prereq(2.63, [silent-rules], [[]])) AM_MAINTAINER_MODE - +m4_version_prereq(2.63, [AM_SILENT_RULES([yes])], [#]) AC_CONFIG_HEADERS([rrd_config.h]) +AC_CONFIG_MACRO_DIR([m4]) dnl all our local stuff like install scripts and include files dnl is in there @@ -46,9 +52,6 @@ AC_SUBST(VERSION) AC_PREFIX_DEFAULT( /usr/local/rrdtool-$PACKAGE_VERSION ) -dnl Minimum Autoconf version required. -AC_PREREQ(2.59) - dnl At the TOP of the HEADER AH_TOP([ @@ -93,7 +96,7 @@ AC_ARG_VAR(RRDGRAPH_YLEGEND_ANGLE, AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0}, [Vertical label angle: -90.0 (default) or 90.0]) -AC_ARG_ENABLE(rrdcgi,[ --disable-rrdcgi disable building of rrdcgi], +AC_ARG_ENABLE(rrdcgi,AS_HELP_STRING([--disable-rrdcgi],[disable building of rrdcgi]), [],[enable_rrdcgi=yes]) dnl Check if we run on a system that has fonts @@ -109,15 +112,15 @@ AC_ARG_WITH(rrd-default-font, 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], +AS_HELP_STRING([--disable-mmap],[disable mmap in rrd_update, use seek+write instead]), [], [enable_mmap=yes]) -AC_ARG_ENABLE(pthread,[ --disable-pthread disable multithread support], +AC_ARG_ENABLE(pthread,AS_HELP_STRING([--disable-pthread],[disable multithread support]), [],[enable_pthread=yes]) AC_ARG_ENABLE(static-programs, - [ --enable-static-programs Build static programs], + AS_HELP_STRING([--enable-static-programs],[Build static programs]), [case "${enableval}" in yes) staticprogs=yes ;; no) staticprogs=no ;; @@ -139,7 +142,7 @@ dnl Try to detect/use GNU features CFLAGS="$CFLAGS -D_GNU_SOURCE" dnl check for -Werror separatly -dnl (quite a few autotool checks don't work with -Werror; also, the +dnl (quite a few autotool checks do not work with -Werror; also, the dnl check for -Werror fails after checking and adding the other flags) AC_CACHE_CHECK([if gcc likes the -Werror flag], rd_cv_gcc_flag__Werror, [AC_COMPILE_IFELSE( @@ -176,7 +179,7 @@ CONFIGURE_PART(Checking for Header Files) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT -AC_CHECK_HEADERS(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(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) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -203,7 +206,9 @@ 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 strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday) +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_FUNC_STRERROR_R CONFIGURE_PART(Map/Fadvis/Madvise checking) @@ -259,45 +264,8 @@ AC_CHECK_FUNCS(posix_fadvise) CONFIGURE_PART(Libintl Processing) - -dnl gettext -GETTEXT_PACKAGE=rrdtool -AC_SUBST(GETTEXT_PACKAGE) -AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package]) - -AM_GLIB_GNU_GETTEXT() - -AC_ARG_ENABLE(libintl,[ --disable-libintl i18n support (libintl)], -[],[enable_libintl=yes]) - -if test x$enable_libintl = xyes; then - IT_PROG_INTLTOOL([0.35.0],[no-xml]) -fi - -if test x$enable_libintl = xyes -a x$MSGFMT = xno; then - AC_MSG_WARN(I could not find msgfmt. Diabeling libintl build.) - enable_libintl=no -fi - -if test x$enable_libintl = xyes; then - AC_CHECK_HEADERS(libintl.h,[],[AC_MSG_RESULT(disabeling libintl build); enable_libintl=no]) -fi - -if test x$enable_libintl = xyes ; then - dnl it seems bsd synstems need to link against libintl - dnl when compiling rrdupdate. lets check - AC_CHECK_LIB(intl, libintl_gettext,[LIB_LIBINTL="-lintl"]) -fi - -dnl use for linking rrdupdate -AC_SUBST(LIB_LIBINTL) - -dnl do not touch the po stuff if we are not going to build intl -AM_CONDITIONAL(BUILD_LIBINTL,[test x$enable_libintl = xyes]) - -if test x$enable_libintl = xyes; then - AC_DEFINE([BUILD_LIBINTL], [], [Use this in code sections to mark them for libintl build]) -fi +AM_GNU_GETTEXT_VERSION(0.14.4) +AM_GNU_GETTEXT() CONFIGURE_PART(IEEE Math Checks) @@ -338,7 +306,8 @@ return 0; }],[ac_cv_have_broken_isfinite=no],[ac_cv_have_broken_isfinite=yes],[ case "${target}" in hppa*-*-hpux*) ac_cv_have_broken_isfinite=yes ;; - *-sun-solaris2.8) ac_cv_have_broken_isfinite=yes ;; + *-solaris2.8) ac_cv_have_broken_isfinite=yes ;; + *-solaris2.9) ac_cv_have_broken_isfinite=yes ;; *) ac_cv_have_broken_isfinite=no ;; esac]) ]) @@ -346,7 +315,8 @@ esac]) dnl the test does not seem to work on solaris 2.8 dnl so lets fix this by hand case "${target}" in - *-sun-solaris2.8) ac_cv_have_broken_isfinite=yes ;; + *-solaris2.8) ac_cv_have_broken_isfinite=yes ;; + *-solaris2.9) ac_cv_have_broken_isfinite=yes ;; esac if test "x$ac_cv_have_broken_isfinite" = "xno"; then @@ -364,8 +334,23 @@ AC_FULL_IEEE CONFIGURE_PART(Resolve Portability Issues) +CHECK_FOR_WORKING_MS_ASYNC + dnl Do we need getopt_long +dnl even when including our own getopt implementation +dnl we may want to make sure we use the external +dnl defined by libc to not run into linker resolve trouble + +AC_CACHE_CHECK([for opterr], rd_cv_var_int_opterr, +[AC_TRY_LINK([#include ], + [extern int opterr; opterr = 1;], + [rd_cv_var_int_opterr=yes], + [rd_cv_var_int_opterr=no])]) +if test x"$rd_cv_var_int_opterr" = x"yes"; then + AC_DEFINE(HAVE_INT_OPTERR, 1, [Define to 1 if you have the global variable 'int opterr'.]) +fi + build_getopt=no RRD_GETOPT_LONG="LIBC_HAS_GETOPT_LONG" AC_CHECK_FUNC(getopt_long,[],[ @@ -468,6 +453,24 @@ AC_LANG_POP(C) CONFIGURE_PART(Find 3rd-Party Libraries) +AC_ARG_ENABLE(libdbi,AS_HELP_STRING([--disable-libdbi],[do not build in support for libdbi]),[have_libdbi=no],[ + XXX=$LIBS + LIBS="$LIBS -ldbi -ldl" + AC_MSG_CHECKING(for libdbi) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[dbi_initialize(NULL)]] + ) + ],[AC_DEFINE(HAVE_LIBDBI,[1],[have got libdbi installed]) + AC_MSG_RESULT([yes]) + have_libdbi=yes + ],[LIBS=$XXX + AC_MSG_RESULT([no]) + have_libdbi=no + ] + ) +]) +AM_CONDITIONAL(BUILD_LIBDBI,[test $have_libdbi != no]) AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no]) @@ -506,7 +509,7 @@ AC_PATH_PROG(POD2MAN, pod2man, no) AC_PATH_PROG(POD2HTML, pod2html, no) -AC_ARG_ENABLE(perl,[ --disable-perl do not build the perl modules], +AC_ARG_ENABLE(perl,AS_HELP_STRING([--disable-perl],[do not build the perl modules]), [],[enable_perl=yes]) @@ -548,19 +551,14 @@ AC_MSG_RESULT(${COMP_PERL:-No Perl Modules will be built}) # Options to pass when configuring perl module langpref=$prefix -test "$langpref" = "$(DESTDIR)NONE" && langpref='$(DESTDIR)'$ac_default_prefix +test "$langpref" = '$(DESTDIR)NONE' && langpref='$(DESTDIR)'$ac_default_prefix test "$langpref" = "NONE" && langpref=$ac_default_prefix PERL_MAKE_OPTIONS="PREFIX=$langpref LIB=$langpref/lib/perl/$PERL_VERSION" dnl pass additional perl options when generating Makefile from Makefile.PL AC_ARG_ENABLE(perl-site-install, -[ --enable-perl-site-install by default the rrdtool perl modules are installed - together with rrdtool in $prefix/lib/perl. You have to - put a 'use lib qw($prefix/lib/perl)' into your scripts - when you want to use them. When you set this option - the perl modules will get installed wherever - your perl setup thinks it is best.], +AS_HELP_STRING([--enable-perl-site-install],[by default the rrdtool perl modules are installed together with rrdtool in $prefix/lib/perl. You have to put a 'use lib qw($prefix/lib/perl)' into your scripts when you want to use them. When you set this option the perl modules will get installed wherever your perl setup thinks it is best.]), [PERL_MAKE_OPTIONS=],[]) if test ! -z "$PERLCC"; then @@ -595,7 +593,7 @@ 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], +AC_ARG_ENABLE(ruby,AS_HELP_STRING([--disable-ruby],[do not build the ruby modules]), [],[enable_ruby=yes]) AC_MSG_CHECKING(if ruby modules can be built) @@ -615,10 +613,7 @@ 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 your $: variable - for ruby to find the RRD.so file.], +AS_HELP_STRING([--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 your $: variable for ruby to find the RRD.so file.]), [RUBY_MAKE_OPTIONS=],[RUBY_MAKE_OPTIONS="sitedir=$langpref/lib/ruby"]) @@ -636,7 +631,7 @@ AC_SUBST(COMP_RUBY) dnl Check for Lua. AC_PATH_PROG(LUA, lua, no) -AC_ARG_ENABLE(lua,[ --disable-lua do not build the lua modules], +AC_ARG_ENABLE(lua,AS_HELP_STRING([--disable-lua],[do not build the lua modules]), [],[enable_lua=yes]) COMP_LUA= @@ -746,16 +741,7 @@ LUA_EOF dnl if lua-site-install is not set, overwrite LUA_INSTALL_CMOD already dnl found and install together with RRDtool, under $langpref. AC_ARG_ENABLE(lua-site-install, - [ --enable-lua-site-install by default the lua module is installed - together with rrdtool in $prefix/lib/lua/$lua_version. - You have to add $prefix/lib/lua/$lua_version/?.so to - package.cpath for lua to find 'rrd.so'. For lua 5.0 - you may also need to change LUA_PATH to the same dir, - to require 'compat-5.1'. When you set this option the - lua modules will get installed wherever your Lua - setup thinks it is best. - WARNING: if you set this option, system lua modules - compat-5.1.lua and rrd.so, if any, may be overwritten.], + AS_HELP_STRING([--enable-lua-site-install],[by default the lua module is installed together with rrdtool in $prefix/lib/lua/$lua_version. You have to add $prefix/lib/lua/$lua_version/?.so to package.cpath for lua to find 'rrd.so'. For lua 5.0 you may also need to change LUA_PATH to the same dir, to require 'compat-5.1'. When you set this option the lua modules will get installed wherever your Lua setup thinks it is best. WARNING: if you set this option, system lua modules compat-5.1.lua and rrd.so, if any, may be overwritten.]), [], [LUA_INSTALL_CMOD="$LUA_RRD_LIBDIR"; LUA_INSTALL_LMOD="$LUA_RRD_LIBDIR"]) @@ -785,7 +771,7 @@ AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"]) enable_tcl_site=no -AC_ARG_ENABLE(tcl,[ --disable-tcl do not build the tcl modules], +AC_ARG_ENABLE(tcl,AS_HELP_STRING([--disable-tcl],[do not build the tcl modules]), [],[enable_tcl=yes]) if test "$enable_tcl" = "yes"; then @@ -814,7 +800,7 @@ if test "$enable_tcl" = "yes"; then TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR" fi fi - AC_ARG_ENABLE(tcl,[ --enable-tcl-site install the tcl extension in the tcl tree], + AC_ARG_ENABLE(tcl,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]), [],[enable_tcl_site=yes]) fi @@ -834,7 +820,7 @@ AC_SUBST(TCL_VERSION) AC_SUBST(TCL_PACKAGE_DIR) AC_SUBST(TCL_INCLUDE_SPEC) -AC_ARG_ENABLE(python,[ --disable-python do not build the python modules], +AC_ARG_ENABLE(python,AS_HELP_STRING([--disable-python],[do not build the python modules]), [],[enable_python=yes]) if test "$enable_python" = "yes"; then @@ -870,8 +856,10 @@ AC_CONFIG_FILES([examples/minmax.pl]) AC_CONFIG_FILES([examples/4charts.pl]) AC_CONFIG_FILES([examples/perftest.pl]) 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([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]) @@ -879,9 +867,7 @@ AC_CONFIG_FILES([bindings/Makefile]) AC_CONFIG_FILES([bindings/tcl/Makefile]) AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl]) AC_CONFIG_FILES([Makefile]) -if test "$enable_lua" = "yes"; then - AC_CONFIG_FILES([bindings/lua/Makefile]) -fi +AC_CONFIG_FILES([bindings/lua/Makefile]) AC_CONFIG_COMMANDS([default],[[ chmod +x examples/*.pl]],[[]]) AC_OUTPUT @@ -927,7 +913,8 @@ echo " Build Tcl Bindings: $enable_tcl" echo " Build Python Bindings: $enable_python" echo " Build rrdcgi: $enable_rrdcgi" echo " Build librrd MT: $enable_pthread" -echo " Link with libintl: $enable_libintl" +echo " Use gettext: $USE_NLS" +echo " With libDBI: $have_libdbi" echo echo " Libraries: $ALL_LIBS" echo