X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=configure.ac;h=1388dc220589784f6d95e3192488a10d6dce803f;hp=843e5b249da49ecd04c00b129174251754d50971;hb=15a6a9daa43842107b430edeb535d0e8e3baadb0;hpb=7002f39fe85f0d540dd97659f18ca5347bef90f1 diff --git a/configure.ac b/configure.ac index 843e5b2..1388dc2 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.4.1]) 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.4001 AC_SUBST(NUMVERS) dnl for the linker to understand which versions the library are compatible with @@ -27,14 +31,19 @@ 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:1:1 AC_SUBST(LIBVERS) AC_CANONICAL_TARGET +m4_version_prereq(2.60, [AC_USE_SYSTEM_EXTENSIONS], [#]) AM_INIT_AUTOMAKE AM_MAINTAINER_MODE - +# 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]) dnl all our local stuff like install scripts and include files dnl is in there @@ -44,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 @@ -79,7 +85,7 @@ AH_BOTTOM([ # include #endif -#include +#include "src/rrd_config_bottom.h" #endif ]) @@ -139,7 +145,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 +182,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(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 @@ -203,7 +209,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 fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday) +AC_CHECK_FUNCS(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 @@ -218,6 +224,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 @@ -261,45 +273,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,AS_HELP_STRING([--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) @@ -372,6 +347,19 @@ 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,[],[ @@ -470,6 +458,33 @@ AC_LINK_IFELSE( ) ] ) + +dnl is time_t long or long long ? +AC_DEFINE([TIME_T_IS_LONG], [], [time_t is long]) +AC_DEFINE([TIME_T_IS_LONG_LONG], [], [time_t is long long]) +AC_MSG_CHECKING([the type of time_t]) +AC_RUN_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[if (sizeof(long) != sizeof(time_t)) return 1; ]] + ), + [ AC_MSG_RESULT([time_t is long]) + AC_DEFINE([TIME_T_IS_LONG]) + ], + [ AC_RUN_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[if (sizeof(long long) != sizeof(time_t)) return 1; ]] + ), + [ + AC_MSG_RESULT([time_t is long long]) + AC_DEFINE([TIME_T_IS_LONG_LONG]) + ], + [AC_MSG_ERROR([can not figure type of time_t])] + ) + ] +) + AC_LANG_POP(C) CONFIGURE_PART(Find 3rd-Party Libraries) @@ -534,10 +549,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= @@ -572,7 +587,7 @@ 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" @@ -879,7 +894,8 @@ 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]) @@ -890,6 +906,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) @@ -933,7 +953,7 @@ 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"