diff --git a/program/configure.ac b/program/configure.ac
index 1b3d3319f7be2760a275756b58933f2190cb3bdb..0bd4145828e3a87168e7d3484681fb85a8c6af86 100644 (file)
--- a/program/configure.ac
+++ b/program/configure.ac
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.4])
+AC_INIT([rrdtool],[1.3.9])
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.3004
+NUMVERS=1.3009
AC_SUBST(NUMVERS)
dnl for the linker to understand which versions the library are compatible with
dnl
dnl see http://sourceware.org/autobook/autobook/autobook_91.html
dnl
-LIBVERS=4:3:0
+LIBVERS=4:8:0
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_MACRO_DIR([m4])
AC_CONFIG_HEADERS([rrd_config.h])
dnl all our local stuff like install scripts and include files
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([
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
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)
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)
}],[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 ;;
- *-sun-solaris2.9) 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])
])
dnl the test does not seem to work on solaris 2.8/9
dnl so lets fix this by hand
case "${target}" in
- *-sun-solaris2.8) ac_cv_have_broken_isfinite=yes ;;
- *-sun-solaris2.9) 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
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 <unistd.h>],
+ [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="#"
+RRD_GETOPT_LONG="LIBC_HAS_GETOPT_LONG"
AC_CHECK_FUNC(getopt_long,[],[
RRD_GETOPT_LONG="getopt_long"
build_getopt=yes
AC_CONFIG_FILES([examples/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])
+AC_CONFIG_FILES([src/librrd.sym.in])
AC_CONFIG_FILES([src/librrd.pc])
AC_CONFIG_FILES([bindings/Makefile])
AC_CONFIG_FILES([bindings/tcl/Makefile])
AC_CONFIG_FILES([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)
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
echo " Libraries: $ALL_LIBS"
echo