X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=configure.ac;h=ba0853710ee04f15f763ac1c391bb0b91036ca68;hp=8fa3c0075bcb9d23a0f212061aa1dcddb5ad1e91;hb=24a688e090d4a51a52fdc120a8cee1ab411ce7a0;hpb=264a94560ae83c638e05b0b93b85fd6285b07dac diff --git a/configure.ac b/configure.ac index 8fa3c00..ba08537 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,7 @@ dnl the released version are dnl a.bccc dnl the devel versions will be something like dnl a.b999yymmddhh -NUMVERS=1.299907052400 +NUMVERS=1.299907061100 AC_SUBST(NUMVERS) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE @@ -101,8 +101,7 @@ AH_BOTTOM([ # include #endif -/* enable posix_fadvise on linux */ -#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H) +#ifdef HAVE_FCNTL_H #include #endif @@ -276,9 +275,9 @@ dnl ----------------------------------- dnl How the vertical axis label is printed AC_ARG_VAR(RRDGRAPH_YLEGEND_ANGLE, - [Vertical label angle: 90.0 (default) or 270.0]) + [Vertical label angle: -90.0 (default) or 90.0]) AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0}, - [Vertical label angle: 90.0 (default) or 270.0]) + [Vertical label angle: -90.0 (default) or 90.0]) AC_ARG_ENABLE(rrdcgi,[ --disable-rrdcgi disable building of rrdcgi], [],[enable_rrdcgi=yes]) @@ -290,7 +289,7 @@ AC_ARG_WITH(rrd-default-font, if test -d ${WINDIR:-nodir}/cour.ttf ; then RRD_DEFAULT_FONT=`cd $WINDIR;pwd`/cour.ttf else - RRD_DEFAULT_FONT='$(fontsdir)/$(fonts_DATA)' + RRD_DEFAULT_FONT='"DejaVu Sans Mono,Bitstream Vera Sans Mono,monospace,Courier"' fi ]) @@ -299,14 +298,24 @@ AC_ARG_ENABLE([mmap], [ --disable-mmap disable mmap in rrd_update, use seek+write instead], [], [enable_mmap=yes]) + +dnl will most likely not work on compressed filesystems, i think.. *shrug* AC_ARG_ENABLE([direct-io], -[ --enable-direct-io enable O_DIRECT], -[], -[enable_direct_io=yes]) +[ --enable-direct-io enable O_DIRECT if available], +[enable_direct_io=yes], +[]) - AC_ARG_ENABLE(pthread,[ --disable-pthread disable multithread support], +AC_ARG_ENABLE(pthread,[ --disable-pthread disable multithread support], [],[enable_pthread=yes]) +AC_ARG_ENABLE(static-programs, + [ --enable-static-programs Build static programs], + [case "${enableval}" in + yes) staticprogs=yes ;; + no) staticprogs=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-static-programs) ;; + esac],[staticprogs=no]) +AM_CONDITIONAL(STATIC_PROGRAMS,[test "x$staticprogs" = "xyes"]) CONFIGURE_PART(Audit Compilation Environment) @@ -317,9 +326,12 @@ AC_PROG_CC AC_PROG_CPP AC_PROG_LIBTOOL +dnl Try to detect/use GNU features +CFLAGS="$CFLAGS -D_GNU_SOURCE" + dnl which flags does the compiler support? if test "x$GCC" = "xyes"; then - for flag in -fno-strict-aliasing -Wall -std=c99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -W; do + for flag in -fno-strict-aliasing -Wall -std=c99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wc++-compat -Wold-style-definition -W; do oCFLAGS="$CFLAGS" CFLAGS="$CFLAGS $flag" cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[[^A-Za-z]]/_/g'` @@ -342,6 +354,26 @@ 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) +if test "x$enable_direct_io" = "xyes"; then +AC_CACHE_CHECK([for O_DIRECT flag to open(2)],rrd_cv_HAVE_OPEN_O_DIRECT,[ +AC_TRY_COMPILE([ +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif], +[int fd = open("/dev/null", O_DIRECT);], +rrd_cv_HAVE_OPEN_O_DIRECT=yes,rrd_cv_HAVE_OPEN_O_DIRECT=no)]) + if test "x$rrd_cv_HAVE_OPEN_O_DIRECT" = "xyes"; then + AC_DEFINE(USE_DIRECT_IO,1,[Whether the open(2) accepts O_DIRECT]) + else + enable_direct_io="no" + fi +else + enable_direct_io="no" +fi + dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_HEADER_TIME @@ -365,12 +397,10 @@ 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 mbstowcs opendir readdir chdir chroot getuid setlocale strerror strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday posix_fadvise) +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 Could use these to know if we need to provide a prototype dnl AC_CHECK_DECLS(fdatasync, [], [], [#include ]) -dnl AC_CHECK_DECLS(posix_fadvise, [], [], [#define _XOPEN_SOURCE 600 -dnl #include ]) dnl XXX: dunno about windows.. add AC_CHECK_FUNCS(munmap) there too? if test "x$enable_mmap" = "xyes"; then @@ -403,14 +433,16 @@ if test "x$enable_mmap" = "xyes"; then if test "x$ac_cv_func_mmap" != "xyes"; then AC_MSG_ERROR([--enable-mmap requested but mmap() was not detected]) +dnl enable_mmap="no" fi fi +dnl can we use posix_fadvise +AC_CHECK_DECLS(posix_fadvise, [], [], [#define _XOPEN_SOURCE 600 +#include ]) +AC_CHECK_FUNCS(posix_fadvise) + -dnl if test "x$enable_direct_io" = "xyes"; then -dnl check for working O_DIRECT -dnl fi -AC_SUBST([USE_DIRECT_IO]) CONFIGURE_PART(IEEE Math Checks) @@ -568,10 +600,13 @@ AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no]) CORE_LIBS="$LIBS" -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.3, http://www.gzip.org/zlib/, "") -EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.10, http://prdownloads.sourceforge.net/libpng/, "") -EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2) +dnl EX_CHECK_ALL(z, zlibVersion, zlib.h, zlib, 1.2.3, http://www.gzip.org/zlib/, "") +dnl EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.10, http://prdownloads.sourceforge.net/libpng/, "") +dnl EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2) +dnl EX_CHECK_ALL(fontconfig, FcInit, fontconfig.h, fontconfig, 2.3.1, http://fontconfig.org/release/, /usr/include) +EX_CHECK_ALL(cairo, cairo_font_options_create, cairo.h, cairo-png, 1.4.6, http://cairographics.org/releases/, "") +dnl EX_CHECK_ALL(glib-2.0, glib_check_version, glib.h, glib-2.0, 2.12.12, ftp://ftp.gtk.org/pub/glib/2.12/, "") +EX_CHECK_ALL(pango-1.0, pango_cairo_context_set_font_options, pango/pango.h, pangocairo, 1.17, http://ftp.gnome.org/pub/GNOME/sources/pango/1.17, "") if test "$EX_CHECK_ALL_ERR" = "YES"; then AC_MSG_ERROR([Please fix the library issues listed above and try again.]) @@ -726,7 +761,7 @@ if test "$enable_tcl" = "yes"; then 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 + for dir in $withval /usr/lib /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do AC_MSG_CHECKING(for tclConfig.sh in $dir) if test -f "$dir/tclConfig.sh" ; then tcl_config=$dir/tclConfig.sh @@ -761,6 +796,7 @@ AC_SUBST(TCL_LD_SEARCH_FLAGS) AC_SUBST(TCL_STUB_LIB_SPEC) AC_SUBST(TCL_VERSION) AC_SUBST(TCL_PACKAGE_DIR) +AC_SUBST(TCL_INC_DIR) AC_ARG_ENABLE(python,[ --disable-python do not build the python modules], [],[enable_python=yes]) @@ -826,7 +862,9 @@ echo echo "----------------------------------------------------------------" echo "Config is DONE!" echo -echo " With MMAP IO: $ac_cv_func_mmap_fixed_mapped" +echo " With MMAP IO: $enable_mmap" +echo " Use O_DIRECT: $enable_direct_io" +echo " Static programs: $staticprogs" echo " Perl Modules: $COMP_PERL" echo " Perl Binary: $PERL" echo " Perl Version: $PERL_VERSION"