X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=configure.ac;h=e2d5c6af5f646870fd4263678095093dfab85d88;hp=95562ae2374a5fee93ff09e10f78e9b0b4a9e4eb;hb=ca8d9c109d76e8c024f21edd10474e0e5d29b892;hpb=6c5e7f32e3052259aa5e14053cb4bab04346ea94 diff --git a/configure.ac b/configure.ac index 95562ae..e2d5c6a 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,16 @@ dnl dnl Inspiration from http://autoconf-archive.cryp.to dnl tell automake the this script is for rrdtool -AC_INIT([rrdtool],[1.2rc6]) +dnl the official version number is +dnl a.b.c +AC_INIT([rrdtool],[1.2.11]) +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.2011 +AC_SUBST(NUMVERS) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE AC_CONFIG_HEADERS([config.h]) @@ -180,7 +189,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 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) dnl Use mmap in rrd_update instead of seek+write AC_ARG_ENABLE([mmap], @@ -196,16 +205,19 @@ dnl HP-UX 11.00 does not have finite but does have isfinite as a macro so we nee dnl actual code to check if this works AC_CHECK_FUNCS(fpclassify, , [AC_MSG_CHECKING(for fpclassify with ) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[float f = 0.0; fpclassify(f)]])],[AC_MSG_RESULT(yes) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +volatile int x;volatile float f; ]], [[x = fpclassify(f)]])],[AC_MSG_RESULT(yes) AC_DEFINE(HAVE_FPCLASSIFY)],[AC_MSG_RESULT(no)])]) AC_CHECK_FUNCS(finite, , [AC_CHECK_FUNCS(isfinite, , [AC_MSG_CHECKING(for isfinite with ) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[float f = 0.0; isfinite(f)]])],[AC_MSG_RESULT(yes) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +volatile int x;volatile float f; ]], [[x = isfinite(f)]])],[AC_MSG_RESULT(yes) AC_DEFINE(HAVE_ISFINITE)],[AC_MSG_RESULT(no)])])]) AC_CHECK_FUNCS(isinf, , [AC_MSG_CHECKING(for isinf with ) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[float f = 0.0; isinf(f)]])],[AC_MSG_RESULT(yes) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +volatile int x;volatile float f; ]], [[x = isinf(f)]])],[AC_MSG_RESULT(yes) AC_DEFINE(HAVE_ISINF)],[AC_MSG_RESULT(no)])]) AC_FULL_IEEE @@ -221,13 +233,30 @@ AC_ARG_ENABLE(rrdcgi,[ --disable-rrdcgi disable building of rrdcgi], [],[enable_rrdcgi=yes]) AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no]) +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.2, http://www.gzip.org/zlib/, "") +EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.8, http://prdownloads.sourceforge.net/libpng/, "") +EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.9, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2) + +save_LIBS=${LIBS} +save_CPPFLAGS=${CPPFLAGS} +save_LDFLAGS=${LDFLAGS} + if test $enable_rrdcgi != no; then EX_CHECK_ALL(cgi, cgiInit, cgi.h, cgilib, 0.5, http://www.infodrom.org/projects/cgilib, "") fi -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.1, http://www.gzip.org/zlib/, "") -EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.8, http://prdownloads.sourceforge.net/libpng/, "") -EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.9, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2) + +CGI_LIBS=${LIBS} +CGI_CPPFLAGS=${CPPFLAGS} +CGI_LDFLAGS=${LDFLAGS} + +AC_SUBST(CGI_LIBS) +AC_SUBST(CGI_CPPFLAGS) +AC_SUBST(CGI_LDFLAGS) + +LIBS=${save_LIBS} +CPPFLAGS=${save_CPPFLAGS} +LDFLAGS=${save_LDFLAGS} if test "$EX_CHECK_ALL_ERR" = "YES"; then AC_MSG_ERROR([Please fix the library issues listed above and try again.]) @@ -256,7 +285,7 @@ AC_LINK_IFELSE( [[#include ]], [[ctime_r(NULL,NULL)]] ), - [AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)], [AC_MSG_ERROR([Can't figure how to compile ctime_r])] ) ] @@ -295,10 +324,15 @@ AM_CONDITIONAL(BUILD_MULTITHREAD,[test $enable_pthread != no]) dnl Check for Perl. AC_PATH_PROG(PERL, perl, no) -AC_ARG_ENABLE(perl,[ --disable-perl do not build the perl modules], +AC_ARG_ENABLE(perl,[ --disable-perl do not build the perl modules], [],[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]) + if test "x$PERL" = "xno" -o x$enable_perl = xno; then COMP_PERL= else @@ -306,21 +340,24 @@ else AC_MSG_CHECKING(for the perl version you are running) PERL_VERSION=`$PERL -MConfig -e 'print $Config{version}'` AC_MSG_RESULT($PERL_VERSION) - AC_MSG_CHECKING(for the C compiler perl wants to use to build its modules) - perlcc=`$PERL -MConfig -e 'print $Config{cc}'` - AC_MSG_RESULT($perlcc) - if test ! -x $perlcc; then - AC_PATH_PROG(PERLCC, ${perlcc}, no) - if test -x $"x$PERLCC" = "xno"; then - AC_MSG_WARN([ -I would not find the Compiler ($perlcc) that was originally used to compile your -perl binary. You should either make sure that this compiler is available on your -system, or use a different perl setup that was compiled with $CC. - -I will disable the compilation of the RRDs perl module. + if test -z "$PERLCC"; then + AC_MSG_CHECKING(for the C compiler perl wants to use to build its modules) + perlcc=`$PERL -MConfig -e 'print $Config{cc}'` + AC_MSG_RESULT($perlcc) + if test ! -x "$perlcc"; then + 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 +your perl binary. You should either make sure that this compiler is +available on your system, pick an other compiler and set PERLCC +appropriately, or use a different perl setup that was compiled locally. + +I will disable the compilation of the RRDs perl module for now. ]) - COMP_PERL="perl_piped" - fi + COMP_PERL="perl_piped" + fi + fi fi fi AC_MSG_CHECKING(Perl Modules to build) @@ -328,7 +365,7 @@ AC_MSG_RESULT(${COMP_PERL:-No Perl Modules will be built}) # Options to pass when configuring perl module ppref=$prefix -test "x$ppref" = xNONE && ppref=$ac_default_prefix +test "$ppref" = "NONE" && ppref=$ac_default_prefix PERL_MAKE_OPTIONS="PREFIX=$ppref LIB=$ppref/lib/perl/$PERL_VERSION" @@ -342,6 +379,23 @@ AC_ARG_ENABLE(perl-site-install, your perl setup thinks it is best.], [PERL_MAKE_OPTIONS=],[]) +if test ! -z "$PERLCC"; then + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CC=$PERLCC" + + if test ! -z "$PERLCCFLAGS"; then + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CCFLAGS=$PERLCCFLAGS" + fi + + if test -z "$PERLLD"; then + PERLLD=$PERLCC + fi + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LD=$PERLLD" + + if test ! -z "$PERLLDFLAGS"; then + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LDFLAGS=$PERLLDFLAGS" + fi +fi + AC_ARG_WITH(perl-options, [ --with-perl-options=[OPTIONS] options to pass on command-line when generating Makefile from Makefile.PL. If you set this @@ -354,29 +408,35 @@ AC_SUBST(PERL) AC_SUBST(COMP_PERL) AC_SUBST(PERL_VERSION) - -dnl Check for Tcl. -withval="" -AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh]) -found=0 -AC_MSG_CHECKING(for tclConfig.sh in $withval) -if test -f "$withval/tclConfig.sh" ; then - tcl_config=$withval/tclConfig.sh - found=1 +AC_ARG_ENABLE(tcl,[ --disable-tcl do not build the tcl modules], +[],[enable_tcl=yes]) + +if test "$enable_tcl" = "yes"; then + dnl Check for Tcl. + withval="" + AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh]) + enable_tcl=no + for dir in $withval /usr/lib /usr/local/lib; do + AC_MSG_CHECKING(for tclConfig.sh in $dir) + if test -f "$dir/tclConfig.sh" ; then + tcl_config=$dir/tclConfig.sh + enable_tcl=yes AC_MSG_RESULT(yes) break -else + else AC_MSG_RESULT(no) -fi + fi + done -if test $found -eq 0 ; then + if test "$enable_tcl" = "no"; then AC_MSG_WARN([tclConfig.sh not found - Tcl interface won't be built]) -else + else . $tcl_config + TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION" + fi fi - -AM_CONDITIONAL(COMP_TCL, test x$found = x1 ) +AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" ) AC_SUBST(TCL_PREFIX) AC_SUBST(TCL_SHLIB_CFLAGS) @@ -384,17 +444,33 @@ AC_SUBST(TCL_SHLIB_LD) AC_SUBST(TCL_SHLIB_SUFFIX) AC_SUBST(TCL_PACKAGE_PATH) AC_SUBST(TCL_LD_SEARCH_FLAGS) +AC_SUBST(TCL_STUB_LIB_SPEC) +AC_SUBST(TCL_VERSION) +AC_SUBST(TCL_PACKAGE_DIR) +AC_ARG_ENABLE(python,[ --disable-python do not build the python modules], +[],[enable_python=yes]) +if test "$enable_python" = "yes"; then +dnl Check for python +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"]) dnl Check for nroff AC_PATH_PROGS(NROFF, gnroff nroff) AC_PATH_PROGS(TROFF, groff troff) +AC_ARG_VAR(RRDDOCDIR, [[DATADIR/doc/PACKAGE-VERSION] Documentation directory]) +if test -z "$RRDDOCDIR"; then + RRDDOCDIR='${datadir}/doc/${PACKAGE}-${VERSION}'; fi + dnl Does the compiler like -Wall and -pedantic? -if test "x$GCC" = "xyes"; then +if test "$GCC" = "yes"; then oCFLAGS=$CFLAGS - CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -W" + CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -W" AC_CACHE_CHECK(if we can use GCC-specific compiler options, rd_cv_gcc_opt, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0 ]])],[rd_cv_gcc_opt=yes],[rd_cv_gcc_opt=no ]) ] @@ -431,6 +507,8 @@ AC_CONFIG_FILES([examples/shared-demo.pl \ src/Makefile \ bindings/Makefile \ bindings/tcl/Makefile \ + bindings/tcl/ifOctets.tcl \ + bindings/python/Makefile \ Makefile]) AC_CONFIG_COMMANDS([default],[[\ chmod +x examples/*.cgi examples/*.pl]],[[]]) @@ -454,14 +532,15 @@ echo echo "----------------------------------------------------------------" echo "Config is DONE!" echo -echo " With MMAP IO: $ac_cv_func_mmap_fixed_mapped" -echo " Perl Modules: $COMP_PERL" -echo " Perl Binary: $PERL" -echo " Perl Version: $PERL_VERSION" -echo " Perl Options: $PERL_MAKE_OPTIONS" -echo " Tcl Config: $tcl_config" -echo " Build rrdcgi: $enable_rrdcgi" -echo " Build librrd MT: $enable_pthread" +echo " With MMAP IO: $ac_cv_func_mmap_fixed_mapped" +echo " Perl Modules: $COMP_PERL" +echo " Perl Binary: $PERL" +echo " Perl Version: $PERL_VERSION" +echo " Perl Options: $PERL_MAKE_OPTIONS" +echo " Build Tcl Bindings: $enable_tcl" +echo " Build Python Bindings: $enable_python" +echo " Build rrdcgi: $enable_rrdcgi" +echo " Build librrd MT: $enable_pthread" echo echo echo "Type 'make' to compile the software and use 'make install' to "