X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=configure.ac;h=95562ae2374a5fee93ff09e10f78e9b0b4a9e4eb;hp=0c7790be773fcc6b7aa3585b04eddec1a67952a0;hb=f207955a7e325708d056d3dd912863dc9930a71c;hpb=5b1d628ac291d76978e00ceaa9d4930f0049703b diff --git a/configure.ac b/configure.ac index 0c7790b..95562ae 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,7 @@ dnl dnl Inspiration from http://autoconf-archive.cryp.to dnl tell automake the this script is for rrdtool -AC_INIT([rrdtool],[1.1.9901]) +AC_INIT([rrdtool],[1.2rc6]) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE AC_CONFIG_HEADERS([config.h]) @@ -20,8 +20,7 @@ dnl determine the type of system we are running on AC_SUBST(VERSION) -dnl where we install our stuff ... -AC_PREFIX_DEFAULT( /usr/local/rrdtool-1.1.0 ) +AC_PREFIX_DEFAULT( /usr/local/rrdtool-$PACKAGE_VERSION ) dnl Minimum Autoconf version required. AC_PREREQ(2.59) @@ -41,6 +40,7 @@ AH_TOP([ /* realloc does not support NULL as argument */ #undef NO_NULL_REALLOC + ]) AH_BOTTOM([ @@ -141,6 +141,19 @@ AC_PROG_CC AC_PROG_CPP AC_PROG_LIBTOOL +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.], +[RRD_DEFAULT_FONT=$withval],[ + if test -d ${WINDIR:-nodir}/cour.ttf ; then + RRD_DEFAULT_FONT=`cd $WINDIR;pwd`/cour.ttf + else + RRD_DEFAULT_FONT='$(fontsdir)/$(fonts_DATA)' + fi +]) + +AC_SUBST(RRD_DEFAULT_FONT) + dnl Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT @@ -151,9 +164,6 @@ AC_C_CONST AC_HEADER_TIME AC_STRUCT_TM -dnl substitute them in all the files listed in AC_OUTPUT -AC_SUBST(PERLFLAGS) - dnl Checks for libraries. AC_CHECK_FUNC(acos, , AC_CHECK_LIB(m, acos)) @@ -172,6 +182,16 @@ 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) +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], +[], +[enable_mmap=yes]) + +if test "x$enable_mmap" = xyes; then + AC_FUNC_MMAP +fi + dnl HP-UX 11.00 does not have finite but does have isfinite as a macro so we need dnl actual code to check if this works AC_CHECK_FUNCS(fpclassify, , @@ -200,21 +220,21 @@ AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0}, AC_ARG_ENABLE(rrdcgi,[ --disable-rrdcgi disable building of rrdcgi], [],[enable_rrdcgi=yes]) AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no]) - + if test $enable_rrdcgi != no; then -EX_CHECK_ALL(cgi, cgiInit, cgi.h, cgilib, 0.5, http://www.infodrom.org/projects/cgilib) +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/) -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/) +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) if test "$EX_CHECK_ALL_ERR" = "YES"; then AC_MSG_ERROR([Please fix the library issues listed above and try again.]) fi AC_LANG_PUSH(C) -dnl solaris has some odd define it need in order to propperly compile ctime_r +dnl solaris has some odd defines it needs in order to propperly compile ctime_r AC_MSG_CHECKING([if ctime_r need special care to act posixly correct]) AC_LINK_IFELSE( AC_LANG_PROGRAM( @@ -252,7 +272,8 @@ AC_SUBST(MULTITHREAD_LDFLAGS) AC_ARG_ENABLE(pthread,[ --disable-pthread disable multithread support], [],[enable_pthread=yes]) - + + if test $enable_pthread != no; then ACX_PTHREAD([ MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS @@ -261,34 +282,78 @@ if test $enable_pthread != no; then []) fi +dnl since we use lots of *_r functions all over the code we better +dnl make sure they are known + +if test "x$x_rflag" != "xno"; then + CPPFLAGS="$CPPFLAGS $x_rflag" +fi AM_CONDITIONAL(BUILD_MULTITHREAD,[test $enable_pthread != no]) dnl Check for Perl. AC_PATH_PROG(PERL, perl, no) -if test "x$PERL" = "xno"; then + +AC_ARG_ENABLE(perl,[ --disable-perl do not build the perl modules], +[],[enable_perl=yes]) + + +if test "x$PERL" = "xno" -o x$enable_perl = xno; then COMP_PERL= else COMP_PERL="perl_piped perl_shared" - AC_MSG_CHECKING(for shared library extension) - SO_EXT=`$PERL -e 'use Config; if (defined $Config{so} and $Config{so} ne 'a') {print "$Config{so}\n"} else {print "so\n"};'` - AC_MSG_RESULT($SO_EXT) + 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) - PROBLEMCC=`$PERL -e 'use Config; ($cc = $Config{cc}) =~ s/\s.*//; exit 0 if -x $cc; map {if (-x "$_/$cc"){exit 0}} split /:/, $ENV{PATH};print $Config{cc}'` - if test x$PROBLEMCC != x; then - AC_MSG_RESULT(no) - echo Could not find the Compiler: '"'$PROBLEMCC'"' - echo which has been used to build perl. You may have to compile - echo your own copy of perl to make this work. Binary perls often - echo exhibit this problem - exit 1 - else - AC_MSG_RESULT(found) + 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. +]) + COMP_PERL="perl_piped" + fi fi fi +AC_MSG_CHECKING(Perl Modules to build) +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 + +PERL_MAKE_OPTIONS="PREFIX=$ppref LIB=$ppref/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.], +[PERL_MAKE_OPTIONS=],[]) + +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 + option, interesting things may happen unless you know + what you are doing!], +[PERL_MAKE_OPTIONS=$withval]) + +AC_SUBST(PERL_MAKE_OPTIONS) +AC_SUBST(PERL) AC_SUBST(COMP_PERL) -AC_SUBST(SO_EXT) +AC_SUBST(PERL_VERSION) + dnl Check for Tcl. withval="" @@ -310,13 +375,6 @@ else . $tcl_config fi -dnl Pass additional perl options when generating Makefile from Makefile.PL -# Options to pass when configuring perl module -AC_ARG_WITH(perl-options, -[ --with-perl-options=[OPTIONS] options to pass on command-line when - generating Makefile from Makefile.PL], -[PERL_MAKE_OPTIONS=$withval]) -AC_SUBST(PERL_MAKE_OPTIONS) AM_CONDITIONAL(COMP_TCL, test x$found = x1 ) @@ -396,14 +454,21 @@ 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 +echo echo "Type 'make' to compile the software and use 'make install' to " echo "install everything to: $prefix." -echo -echo "If you want to install the perl" -echo "modules in site-perl, try 'make site-perl-install'." echo echo " ... that wishlist is NO JOKE. If you find RRDtool useful" -echo "make me happy. Go to http://people.ee.ethz.ch/~oetiker/wish and" +echo "make me happy. Go to http://people.ee.ethz.ch/oetiker/wish and" echo "place an order." echo echo " -- Tobi Oetiker "