X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.ac;h=902780267165b3be8096f04e80ba4f5354430498;hb=b5aa786e2c8c2ec11b658e063436205ccb676d4f;hp=a7ff714812cfacea22f437b8140c7a7e7862bc2b;hpb=b837c0527f117b54845242ee7626df6d88394444;p=rrdtool.git diff --git a/configure.ac b/configure.ac index a7ff714..9027802 100644 --- a/configure.ac +++ b/configure.ac @@ -6,11 +6,11 @@ dnl dnl dnl tell automake the this script is for rrdtool -AC_INIT(src/rrd_tool.c) -AC_CONFIG_AUX_DIR(config) -AC_CANONICAL_TARGET([]) -AM_INIT_AUTOMAKE(rrdtool, 1.1.0) +AC_INIT([rrdtool],[1.1.0]) +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE AM_CONFIG_HEADER(config.h) +# AC_CONFIG_AUX_DIR(config) dnl all our local stuff like install scripts and include files dnl is in there @@ -25,7 +25,7 @@ dnl where we install our stuff ... AC_PREFIX_DEFAULT( /usr/local/rrdtool-1.1.0 ) dnl Minimum Autoconf version required. -AC_PREREQ(2.52) +AC_PREREQ(2.58) dnl At the TOP of the HEADER @@ -158,9 +158,12 @@ AC_SUBST(PERLFLAGS) dnl Checks for libraries. AC_CHECK_FUNC(acos, , AC_CHECK_LIB(m, acos)) -AC_DEFUN(EX_CHECK_ALL, +AC_DEFUN([EX_CHECK_ALL], [ AC_CHECK_LIB($1,$2, - [ AC_CHECK_HEADER($3,[LIBS="-l$1 ${LIBS}"],AC_MSG_ERROR([Adjust CPPFLAGS so that the $4 header $3 gets found])) ], + [ AC_CHECK_HEADER($3,[LIBS="-l$1 ${LIBS}"],[ + [ $echo "#include <$3>" | $CC -E - > /dev/null ] + AC_MSG_ERROR([Adjust CPPFLAGS so that the $4 header $3 AND its dependencies gets found]) + ] ) ], [ AC_MSG_ERROR([ ############################################################################ I could not find a working copy of $4. Check config.log for hints on why @@ -180,12 +183,91 @@ The last tested version of $4 is $5. ] ) +dnl How the vertical axis label is printed +AC_ARG_VAR(RRDGRAPH_YLEGEND_ANGLE, + [Vertical label angle: 90.0 (default) or 270.0]) +AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0}, + [Vertical label angle: 90.0 (default) or 270.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) +fi EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart_lgpl, 2.3.16, 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.5, http://prdownloads.sourceforge.net/libpng/) EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype, 2.1.5, http://prdownloads.sourceforge.net/freetype/) - + +dnl Check for pthreads (pieces of code from Bert Driehuis) + +AC_SUBST(MULTITHREAD_CFLAGS) +AC_SUBST(MULTITHREAD_LDFLAGS) + +AC_DEFUN(AC_CHECK_PTHREAD, [ + AC_MSG_CHECKING([pthreads: trying no flags]) + AC_CACHE_VAL(ac_cv_flag_pthread,[ + AC_TRY_LINK([ + #include + ], + [pthread_exit(0);], + eval "ac_cv_flag_pthread=no", + [ + AC_MSG_RESULT([didn't work]) + AC_MSG_CHECKING([pthreads: trying to add -pthread]) + ac_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -pthread" + AC_TRY_LINK([ + #include + ], + [pthread_exit(0);], + eval "ac_cv_flag_pthread=yes", + AC_MSG_ERROR([Can't figure out pthreads]) + ) + CFLAGS="$ac_save_CFLAGS" + ]) + ]) + + if test "$ac_cv_flag_pthread" = "no"; then + AC_MSG_RESULT([good, -pthread flag not necessary]) + else + AC_MSG_RESULT([adding -pthread flag]) + MULTITHREAD_CFLAGS="-pthread" + fi + + AC_MSG_CHECKING([for libpthread]) + AC_CACHE_VAL(ac_cv_lib_pthread,[ + ac_save_LIBS="$LIBS" + LIBS="-lpthread" + AC_TRY_LINK([ + #include + ], + [pthread_exit(0);], + eval "ac_cv_lib_pthread=-lphtread", + eval "ac_cv_lib_pthread=no" + ) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib_pthread" = "no"; then + AC_MSG_RESULT([no -lpthread necessary]) + else + AC_MSG_RESULT([adding -lpthread to LIBS]) + MULTITHREAD_LDFLAGS="-lpthread" + fi +]) + +AC_ARG_ENABLE(pthread,[ --disable-pthread disable multithread support], +[],[enable_pthread=yes]) + +if test $enable_pthread != no; then + AC_CHECK_PTHREAD +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 @@ -259,9 +341,7 @@ if test "x$GCC" = "xyes"; then oCFLAGS=$CFLAGS CFLAGS="$CFLAGS -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_TRY_COMPILE( , return 0 , - rd_cv_gcc_opt=yes, - rd_cv_gcc_opt=no ) + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0 ]])],[rd_cv_gcc_opt=yes],[rd_cv_gcc_opt=no ]) ] ) if test $rd_cv_gcc_opt = no; then @@ -293,32 +373,28 @@ AC_CHECK_FUNCS(tzset opendir readdir chdir chroot getuid setlocale strerror stre dnl HP-UX 11.00 does not have finite but does have isfinite as a macro AC_CHECK_FUNCS(fpclassify, , [AC_MSG_CHECKING(for fpclassify with ) - AC_TRY_LINK([#include ], [float f = 0.0; fpclassify(f)], - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_FPCLASSIFY), AC_MSG_RESULT(no))]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[float f = 0.0; 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_TRY_LINK([#include ], [float f = 0.0; isfinite(f)], - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_ISFINITE), AC_MSG_RESULT(no))])]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[float f = 0.0; 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_TRY_LINK([#include ], [float f = 0.0; isinf(f)], - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_ISINF), AC_MSG_RESULT(no))]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[float f = 0.0; isinf(f)]])],[AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_ISINF)],[AC_MSG_RESULT(no)])]) dnl what does realloc do if it gets called with a NULL pointer AC_CACHE_CHECK([if realloc can deal with NULL], rd_cv_null_realloc, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include int main(void){ char *x = NULL; x = realloc (x,10); if (x==NULL) return 1; return 0; - }], - [rd_cv_null_realloc=yes],[rd_cv_null_realloc=nope],:)]) + }]])],[rd_cv_null_realloc=yes],[rd_cv_null_realloc=nope],[:])]) if test x"$rd_cv_null_realloc" = xnope; then AC_DEFINE(NO_NULL_REALLOC) @@ -330,10 +406,10 @@ dnl FUNCTION-BODY, [ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]) AC_C_BIGENDIAN -AC_DEFUN(AC_IEEE, +AC_DEFUN([AC_IEEE], AC_MSG_CHECKING([if IEEE math works $1]) AC_CACHE_VAL([rd_cv_ieee_$2], -[AC_TRY_RUN([$3 +[AC_RUN_IFELSE([AC_LANG_SOURCE([[$3 #if HAVE_MATH_H # include @@ -397,11 +473,7 @@ int main(void){ if (! inf > 0) {printf ("not inf > 0 ... "); return 1;} if (! -inf < 0) {printf ("not -inf < 0 ... "); return 1;} return 0; - }], - -rd_cv_ieee_$2=yes, -rd_cv_ieee_$2=no, -:)]) + }]])],[rd_cv_ieee_$2=yes],[rd_cv_ieee_$2=no],[:])]) dnl these we run regardles is cached or not if test x${rd_cv_ieee_$2} = "xyes"; then AC_MSG_RESULT(yes) @@ -451,6 +523,7 @@ AC_CONFIG_FILES([examples/shared-demo.pl \ examples/bigtops.pl \ examples/minmax.pl \ examples/cgi-demo.cgi \ + examples/4charts.pl \ examples/Makefile \ doc/Makefile \ src/Makefile \