003e0ce7c8308fff91e2114fe156ddf67630e505
[rrdtool.git] / configure.ac
1
2 dnl RRDtool AutoConf script ... 
3 dnl ---------------------------
4 dnl
5 dnl Created by Jeff Allen, Tobi Oetiker, Blair Zajac
6 dnl
7 dnl Inspiration from http://autoconf-archive.cryp.to
8  
9 dnl tell automake the this script is for rrdtool
10 dnl the official version number is
11 dnl a.b.c
12 AC_INIT([rrdtool],[1.2.19])
13 dnl for testing a numberical version number comes handy
14 dnl the released version are
15 dnl a.bccc
16 dnl the devl versions will be something like
17 dnl a.b999yymmddhh 
18 NUMVERS=1.2019
19 AC_SUBST(NUMVERS)
20 AC_CANONICAL_TARGET
21 AM_INIT_AUTOMAKE
22 AC_CONFIG_HEADERS([rrd_config.h])
23
24 dnl all our local stuff like install scripts and include files
25 dnl is in there
26
27
28 dnl determine the type of system we are running on
29
30 AC_SUBST(VERSION)
31
32 AC_PREFIX_DEFAULT( /usr/local/rrdtool-$PACKAGE_VERSION )
33
34 dnl Minimum Autoconf version required.
35 AC_PREREQ(2.59)
36
37 dnl At the TOP of the HEADER
38
39 AH_TOP([
40
41 #ifndef RRD_CONFIG_H
42 #define RRD_CONFIG_H
43 /* IEEE can be prevented from raising signals with fpsetmask(0) */
44 #undef MUST_DISABLE_FPMASK
45
46 /* IEEE math only works if SIGFPE gets actively set to IGNORE */
47
48 #undef MUST_DISABLE_SIGFPE
49
50 /* realloc does not support NULL as argument */
51 #undef NO_NULL_REALLOC
52
53  ])
54
55 AH_BOTTOM([
56
57 /* define strrchr, strchr and memcpy, memmove in terms of bsd funcs
58    make sure you are NOT using bcopy, index or rindex in the code */
59       
60 #if STDC_HEADERS
61 # include <string.h>
62 #else
63 # ifndef HAVE_STRCHR
64 #  define strchr index
65 #  define strrchr rindex
66 # endif
67 char *strchr (), *strrchr ();
68 # ifndef HAVE_MEMMOVE
69 #  define memcpy(d, s, n) bcopy ((s), (d), (n))
70 #  define memmove(d, s, n) bcopy ((s), (d), (n))
71 # endif
72 #endif
73
74
75 #if NO_NULL_REALLOC
76 # define rrd_realloc(a,b) ( (a) == NULL ? malloc( (b) ) : realloc( (a) , (b) ))
77 #else
78 # define rrd_realloc(a,b) realloc((a), (b))
79 #endif      
80
81 #if NEED_MALLOC_MALLOC_H
82 #  include <malloc/malloc.h>
83 #endif
84
85 #if HAVE_MATH_H
86 #  include <math.h>
87 #endif
88
89 #if HAVE_FLOAT_H
90 #  include <float.h>
91 #endif
92
93 #if HAVE_IEEEFP_H
94 #  include <ieeefp.h>
95 #endif
96
97 #if HAVE_FP_CLASS_H
98 #  include <fp_class.h>
99 #endif
100
101 /* for Solaris */
102 #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS))
103 #  define HAVE_ISINF 1
104 #  define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF)
105 #endif
106
107 /* solaris 10 it defines isnan such that only forte can compile it ... bad bad  */
108 #if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS))
109 #  undef isnan
110 #  define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN)
111 #endif
112
113 /* for OSF1 Digital Unix */
114 #if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H))
115 #  define HAVE_ISINF 1
116 #  define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF)
117 #endif
118
119 #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF))
120 #  define HAVE_ISINF 1
121 #  define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF)
122 #endif
123
124 #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE))
125 #  define HAVE_ISINF 1
126 #  define isinf(a) (fpclassify(a) == FP_INFINITE)
127 #endif
128
129 /* for AIX */
130 #if (! defined(HAVE_ISINF) && defined(HAVE_CLASS))
131 #  define HAVE_ISINF 1
132 #  define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF)
133 #endif
134
135 #if (! defined (HAVE_FINITE) && defined (HAVE_ISFINITE))
136 #  define HAVE_FINITE 1
137 #  define finite(a) isfinite(a)
138 #endif
139
140 #if (! defined(HAVE_FINITE) && defined(HAVE_ISNAN) && defined(HAVE_ISINF))
141 #  define HAVE_FINITE 1
142 #  define finite(a) (! isnan(a) && ! isinf(a))
143 #endif
144
145 #ifndef HAVE_FINITE
146 #error "Can't compile without finite function"
147 #endif
148
149 #ifndef HAVE_ISINF
150 #error "Can't compile without isinf function"
151 #endif
152
153 #endif /* RRD_CONFIG_H */
154 ])
155
156 dnl Process Special Options
157 dnl -----------------------------------
158
159 dnl How the vertical axis label is printed
160 AC_ARG_VAR(RRDGRAPH_YLEGEND_ANGLE, 
161  [Vertical label angle: 90.0 (default) or 270.0])
162 AC_DEFINE_UNQUOTED(RRDGRAPH_YLEGEND_ANGLE,${RRDGRAPH_YLEGEND_ANGLE:-90.0},
163  [Vertical label angle: 90.0 (default) or 270.0])
164
165 AC_ARG_ENABLE(rrdcgi,[  --disable-rrdcgi        disable building of rrdcgi],
166 [],[enable_rrdcgi=yes])
167
168 dnl Check if we run on a system that has fonts
169 AC_ARG_WITH(rrd-default-font,
170 [  --with-rrd-default-font=[OPTIONS]  set the full path to your default font.],
171 [RRD_DEFAULT_FONT=$withval],[
172   if test -d ${WINDIR:-nodir}/cour.ttf ; then
173         RRD_DEFAULT_FONT=`cd $WINDIR;pwd`/cour.ttf
174   else
175         RRD_DEFAULT_FONT='$(fontsdir)/$(fonts_DATA)'
176   fi
177 ])
178
179 dnl Use mmap in rrd_update instead of seek+write
180 AC_ARG_ENABLE([mmap],
181 [  --disable-mmap          disable mmap in rrd_update, use seek+write instead],
182 [],
183 [enable_mmap=yes])
184
185
186  AC_ARG_ENABLE(pthread,[  --disable-pthread       disable multithread support],
187 [],[enable_pthread=yes])
188
189
190
191 CONFIGURE_PART(Audit Compilation Environment)
192
193
194 dnl Check for the compiler and static/shared library creation.
195 AC_PROG_CC
196 AC_PROG_CPP
197 AC_PROG_LIBTOOL
198
199 dnl which flags does the compile support?
200 if test "$GCC" = "yes"; then
201   for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -W; do
202     oCFLAGS=$CFLAGS
203     CFLAGS="$CFLAGS $flag"
204     cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[[^A-Za-z]]/_/g'`
205     AC_CACHE_CHECK([if gcc likes the $flag flag], $cachename,
206        [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0 ]])],[eval $cachename=yes],[eval $cachename=no])])
207     if eval test \$$cachename = no; then
208          CFLAGS=$oCFLAGS
209     fi
210   done
211 fi
212
213
214
215 AC_SUBST(RRD_DEFAULT_FONT)
216
217 CONFIGURE_PART(Checking for Header Files)
218  
219 dnl Checks for header files.
220 AC_HEADER_STDC
221 AC_HEADER_DIRENT
222 AC_CHECK_HEADERS(sys/stat.h sys/types.h fcntl.h time.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/time.h sys/times.h sys/param.h sys/resource.h float.h)
223
224 dnl Checks for typedefs, structures, and compiler characteristics.
225 AC_C_CONST
226 AC_HEADER_TIME
227 AC_STRUCT_TM
228
229 dnl Checks for libraries.
230 AC_CHECK_FUNC(acos, , AC_CHECK_LIB(m, acos))
231
232 dnl add pic flag in any case this makes sure all our code is relocatable
233 eval `./libtool --config | grep pic_flag`
234 CFLAGS="$CFLAGS $pic_flag"
235
236 CONFIGURE_PART(Test Library Functions)
237
238 dnl Checks for library functions.
239 AC_FUNC_STRFTIME
240 AC_FUNC_VPRINTF
241
242 AC_C_BIGENDIAN
243
244 dnl for each function found we get a definition in config.h 
245 dnl of the form HAVE_FUNCTION
246
247 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)
248
249
250 if test "x$enable_mmap" = xyes; then
251   case "$host" in
252     *cygwin*)
253        # the normal mmap test does not work in cygwin
254        AC_CHECK_FUNCS(mmap)
255        if [ "x${ac_cv_func_mmap}" = xyes ]; then
256          ac_cv_func_mmap_fixed_mapped=yes
257        fi
258     ;;
259     *)
260        AC_FUNC_MMAP
261     ;;
262   esac
263 fi
264
265
266 CONFIGURE_PART(IEEE Math Checks)
267  
268 dnl HP-UX 11.00 does not have finite but does have isfinite as a macro so we need
269 dnl actual code to check if this works
270 AC_CHECK_FUNCS(fpclassify, ,
271   [AC_MSG_CHECKING(for fpclassify with <math.h>)
272     AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>
273 volatile int x;volatile float f; ]], [[x = fpclassify(f)]])],[AC_MSG_RESULT(yes)
274       AC_DEFINE(HAVE_FPCLASSIFY)],[AC_MSG_RESULT(no)])])
275 AC_CHECK_FUNCS(finite, ,
276   [AC_CHECK_FUNCS(isfinite, ,
277     [AC_MSG_CHECKING(for isfinite with <math.h>)
278     AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>
279 volatile int x;volatile float f;  ]], [[x = isfinite(f)]])],[AC_MSG_RESULT(yes)
280       AC_DEFINE(HAVE_ISFINITE)],[AC_MSG_RESULT(no)])])])
281 AC_CHECK_FUNCS(isinf, ,
282   [AC_MSG_CHECKING(for isinf with <math.h>)
283     AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>
284 volatile int x;volatile float f;  ]], [[x = isinf(f)]])],[AC_MSG_RESULT(yes)
285       AC_DEFINE(HAVE_ISINF)],[AC_MSG_RESULT(no)])])
286
287 AC_FULL_IEEE
288
289 CONFIGURE_PART(Resolve Portability Issues)
290
291 dnl what does realloc do if it gets called with a NULL pointer
292
293 AC_CACHE_CHECK([if realloc can deal with NULL], rd_cv_null_realloc,
294 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
295               int main(void){
296               char *x = NULL;
297               x = realloc (x,10);
298               if (x==NULL) return 1;
299               return 0;
300              }]])],[rd_cv_null_realloc=yes],[rd_cv_null_realloc=nope],[:])])
301
302 if test x"$rd_cv_null_realloc" = xnope; then
303 AC_DEFINE(NO_NULL_REALLOC)
304 fi
305
306 AC_LANG_PUSH(C)
307 dnl solaris has some odd defines it needs in order to propperly compile ctime_r
308 AC_MSG_CHECKING([if ctime_r need special care to act posixly correct])
309 AC_LINK_IFELSE(
310     AC_LANG_PROGRAM(
311            [[#include <time.h>]],
312            [[ctime_r(NULL,NULL,0)]]
313                    ),
314     [ CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
315       AC_LINK_IFELSE(
316           AC_LANG_PROGRAM(
317                 [[#include <time.h>]],
318                 [[ctime_r(NULL,NULL)]]
319                          ),
320           [AC_MSG_RESULT([yes, this seems to be solaris style])],
321           [AC_MSG_ERROR([Can't figure how to compile ctime_r])]
322       )
323     ],  
324     [ AC_LINK_IFELSE(
325           AC_LANG_PROGRAM(
326                 [[#include <time.h>]],
327                 [[ctime_r(NULL,NULL)]]
328                          ),
329           [AC_MSG_RESULT(no)],
330           [AC_MSG_ERROR([Can't figure how to compile ctime_r])]
331       )
332     ]  
333 )
334 AC_LANG_POP(C)
335
336 dnl Check for pthreads
337 dnl http://autoconf-archive.cryp.to/acx_pthread.m4
338  
339 AC_SUBST(MULTITHREAD_CFLAGS)
340 AC_SUBST(MULTITHREAD_LDFLAGS)
341
342 if test $enable_pthread != no; then 
343  ACX_PTHREAD([
344     MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS
345     MULTITHREAD_LDFLAGS=$PTHREAD_LIBS
346              ],
347              [])
348 fi
349
350 dnl since we use lots of *_r functions all over the code we better
351 dnl make sure they are known
352
353 if test  "x$x_rflag" != "xno"; then
354    CPPFLAGS="$CPPFLAGS $x_rflag"
355 fi
356
357 AM_CONDITIONAL(BUILD_MULTITHREAD,[test $enable_pthread != no])
358
359 AC_LANG_PUSH(C)
360 dnl see if we have to include malloc/malloc.h
361 AC_MSG_CHECKING([do we need malloc/malloc.h])
362 AC_LINK_IFELSE(
363     AC_LANG_PROGRAM(
364            [[#include <stdlib.h>]],
365            [[malloc(1)]]
366                    ),
367     [ AC_MSG_RESULT([nope, works out of the box]) ],
368     [ AC_LINK_IFELSE(
369           AC_LANG_PROGRAM(
370                 [[#include <stdlib.h>
371                   #include <malloc/malloc.h>]],
372                 [[malloc(1)]]
373                          ),
374           [AC_DEFINE(NEED_MALLOC_MALLOC_H)
375            AC_MSG_RESULT([yes we do])],
376           [AC_MSG_ERROR([Can not figure how to compile malloc])]
377       )
378     ]  
379 )
380 AC_LANG_POP(C)
381
382 CONFIGURE_PART(Findr 3rd-Party Libraries)
383
384
385 AM_CONDITIONAL(BUILD_RRDCGI,[test $enable_rrdcgi != no])
386
387 CORE_LIBS="$LIBS"
388
389 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)
390 EX_CHECK_ALL(z,          zlibVersion,               zlib.h,                 zlib,        1.2.3,  http://www.gzip.org/zlib/, "")
391 EX_CHECK_ALL(png,        png_access_version_number, png.h,                  libpng,      1.2.10,  http://prdownloads.sourceforge.net/libpng/, "")
392 EX_CHECK_ALL(freetype,   FT_Init_FreeType,          ft2build.h,             freetype2,   2.1.10,  http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2)
393
394 if test "$EX_CHECK_ALL_ERR" = "YES"; then
395   AC_MSG_ERROR([Please fix the library issues listed above and try again.])
396 fi
397
398 ALL_LIBS="$LIBS"
399 LIBS=
400
401 AC_SUBST(CORE_LIBS)
402 AC_SUBST(ALL_LIBS)
403
404 CONFIGURE_PART(Prep for Building Language Bindings)
405   
406 dnl Check for Perl.
407 AC_PATH_PROG(PERL, perl, no)
408
409 AC_ARG_ENABLE(perl,[  --disable-perl          do not build the perl modules],
410 [],[enable_perl=yes])
411
412
413 AC_ARG_VAR(PERLCC, [[] C compiler for Perl modules])
414 AC_ARG_VAR(PERLCCFLAGS, [[] CC flags for Perl modules])
415 AC_ARG_VAR(PERLLD, [[same as PERLCC] Linker for Perl modules])
416 AC_ARG_VAR(PERLLDFLAGS, [[] LD flags for Perl modules])
417
418 if test "x$PERL" = "xno" -o  x$enable_perl = xno; then
419         COMP_PERL=
420 else
421         COMP_PERL="perl_piped perl_shared"
422         AC_MSG_CHECKING(for the perl version you are running)
423         PERL_VERSION=`$PERL -MConfig -e 'print $Config{version}'`
424         AC_MSG_RESULT($PERL_VERSION)
425         if test -z "$PERLCC"; then
426             AC_MSG_CHECKING(for the C compiler perl wants to use to build its modules)
427             perlcc=`$PERL -MConfig -e 'print $Config{cc}'`
428             AC_MSG_RESULT($perlcc)
429             if test ! -x "$perlcc"; then
430                 AC_PATH_PROG(PERL_CC, ${perlcc}, no)
431                 if test "$PERL_CC" = "no"; then
432                     AC_MSG_WARN([
433 I would not find the Compiler ($perlcc) that was originally used to compile
434 your perl binary. You should either make sure that this compiler is
435 available on your system, pick an other compiler and set PERLCC
436 appropriately, or use a different perl setup that was compiled locally.
437
438 I will disable the compilation of the RRDs perl module for now.
439 ])
440                     COMP_PERL="perl_piped"
441                 fi
442             fi    
443         fi
444 fi
445
446 AC_MSG_CHECKING(Perl Modules to build)
447 AC_MSG_RESULT(${COMP_PERL:-No Perl Modules will be built})
448
449 # Options to pass when configuring perl module
450 ppref=$prefix
451 test "$ppref" = "NONE" && ppref=$ac_default_prefix
452
453 PERL_MAKE_OPTIONS="PREFIX=$ppref LIB=$ppref/lib/perl/$PERL_VERSION"
454
455 dnl pass additional perl options when generating Makefile from Makefile.PL
456 AC_ARG_ENABLE(perl-site-install,
457 [  --enable-perl-site-install   by default the rrdtool perl modules are installed
458                           together with rrdtool in $prefix/lib/perl. You have to
459                           put a 'use lib qw($prefix/lib/perl)' into your scripts
460                           when you want to use them. When you set this option
461                           the perl modules will get installed wherever
462                           your perl setup thinks it is best.],
463 [PERL_MAKE_OPTIONS=],[])
464
465 if test ! -z "$PERLCC"; then
466    PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CC=$PERLCC"
467
468    if test ! -z "$PERLCCFLAGS"; then
469        PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CCFLAGS=$PERLCCFLAGS"
470    fi
471    
472    if test -z "$PERLLD"; then
473        PERLLD=$PERLCC
474    fi
475    PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LD=$PERLLD"
476   
477    if test ! -z "$PERLLDFLAGS"; then
478        PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LDFLAGS=$PERLLDFLAGS"
479    fi
480 fi
481         
482 AC_ARG_WITH(perl-options,
483 [  --with-perl-options=[OPTIONS]  options to pass on command-line when
484                           generating Makefile from Makefile.PL. If you set this
485                           option, interesting things may happen unless you know
486                           what you are doing!],
487 [PERL_MAKE_OPTIONS=$withval])
488
489 AC_SUBST(PERL_MAKE_OPTIONS)
490 AC_SUBST(PERL)
491 AC_SUBST(COMP_PERL)
492 AC_SUBST(PERL_VERSION)
493
494 dnl Check for Ruby.
495 AC_PATH_PROG(RUBY, ruby, no)
496
497 AC_ARG_ENABLE(ruby,[  --disable-ruby          do not build the ruby modules],
498 [],[enable_ruby=yes])
499
500 AC_MSG_CHECKING(if ruby modules can be built)
501
502 if test "x$RUBY" = "xno" -o  x$enable_ruby = xno; then
503         COMP_RUBY=
504         AC_MSG_RESULT(No .. Ruby not found or disabled)
505 else
506         if $RUBY -e 'require "mkmf"' >/dev/null 2>&1; then
507                 COMP_RUBY="ruby"
508                 AC_MSG_RESULT(YES)
509         else
510                 COMP_RUBY=
511                 AC_MSG_RESULT(Ruby found but mkmf is missing! Install the -dev package)         
512         fi                              
513 fi
514
515
516 dnl pass additional ruby options when generating Makefile from Makefile.PL
517 AC_ARG_ENABLE(ruby-site-install,
518 [  --enable-ruby-site-install   by default the rrdtool ruby modules are installed
519                           together with rrdtool in $prefix/lib/ruby. You have to
520                           add $prefix/lib/ruby/$ruby_version/$sitearch to you $: variable
521                           for ruby to find the RRD.so file.],
522 [RUBY_MAKE_OPTIONS=],[RUBY_MAKE_OPTIONS="sitedir=$prefix/lib/ruby"])
523
524     
525 AC_ARG_WITH(ruby-options,
526 [  --with-ruby-options=[OPTIONS]  options to pass on command-line when
527                           generating Makefile from extconf.rb. If you set this
528                           option, interesting things may happen unless you know
529                           what you are doing!],
530 [RUBY_MAKE_OPTIONS=$withval])
531
532 AC_SUBST(RUBY_MAKE_OPTIONS)
533 AC_SUBST(RUBY)
534 AC_SUBST(COMP_RUBY)
535
536
537 enable_tcl_site=no
538
539 AC_ARG_ENABLE(tcl,[  --disable-tcl           do not build the tcl modules],
540 [],[enable_tcl=yes])
541
542 if test  "$enable_tcl" = "yes"; then
543   dnl Check for Tcl.
544   withval=""
545   AC_ARG_WITH(tcllib,[  --with-tcllib=DIR       location of the tclConfig.sh])
546   enable_tcl=no
547   for dir in $withval /usr/lib /usr/local/lib; do
548     AC_MSG_CHECKING(for tclConfig.sh in $dir)
549     if test -f "$dir/tclConfig.sh" ; then
550         tcl_config=$dir/tclConfig.sh
551         enable_tcl=yes
552         AC_MSG_RESULT(yes)
553         break
554     else
555         AC_MSG_RESULT(no)
556     fi
557   done
558
559   if test "$enable_tcl" = "no"; then
560         AC_MSG_WARN([tclConfig.sh not found - Tcl interface won't be built])
561   else
562         . $tcl_config
563         TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION"
564   fi
565   AC_ARG_ENABLE(tcl,[  --enable-tcl-site        install the tcl extension in the tcl tree],
566   [],[enable_tcl_site=yes])
567
568 fi
569
570 AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" )
571 AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" )
572
573 AC_SUBST(TCL_PREFIX)
574 AC_SUBST(TCL_SHLIB_CFLAGS)
575 AC_SUBST(TCL_SHLIB_LD)
576 AC_SUBST(TCL_SHLIB_SUFFIX)
577 AC_SUBST(TCL_PACKAGE_PATH)
578 AC_SUBST(TCL_LD_SEARCH_FLAGS)
579 AC_SUBST(TCL_STUB_LIB_SPEC)
580 AC_SUBST(TCL_VERSION)
581 AC_SUBST(TCL_PACKAGE_DIR)
582
583 AC_ARG_ENABLE(python,[  --disable-python        do not build the python modules],
584 [],[enable_python=yes])
585
586 if test  "$enable_python" = "yes"; then
587 dnl Check for python
588 AM_PATH_PYTHON(2.3,[],[enable_python=no])
589 AM_CHECK_PYTHON_HEADERS(,[enable_python=no;AC_MSG_WARN(could not find Python headers)])
590 fi
591
592 if test  x$enable_python = xno; then
593         COMP_PYTHON=
594 else
595         COMP_PYTHON="python"
596 fi
597
598 AC_SUBST(COMP_PYTHON)
599
600 dnl Check for nroff
601 AC_PATH_PROGS(NROFF, gnroff nroff)
602 AC_PATH_PROGS(TROFF, groff troff)
603
604 AC_ARG_VAR(RRDDOCDIR, [[DATADIR/doc/PACKAGE-VERSION] Documentation directory])
605 if test -z "$RRDDOCDIR"; then
606    RRDDOCDIR='${datadir}/doc/${PACKAGE}-${VERSION}'; fi
607
608
609 CONFIGURE_PART(Apply Configuration Information)
610  
611 AC_CONFIG_FILES([examples/shared-demo.pl])
612 AC_CONFIG_FILES([examples/piped-demo.pl])
613 AC_CONFIG_FILES([examples/stripes.pl])
614 AC_CONFIG_FILES([examples/bigtops.pl])
615 AC_CONFIG_FILES([examples/minmax.pl])
616 AC_CONFIG_FILES([examples/4charts.pl])
617 AC_CONFIG_FILES([examples/perftest.pl])
618 AC_CONFIG_FILES([examples/Makefile])
619 AC_CONFIG_FILES([doc/Makefile])
620 AC_CONFIG_FILES([src/Makefile])
621 AC_CONFIG_FILES([bindings/Makefile])
622 AC_CONFIG_FILES([bindings/tcl/Makefile])
623 AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl])
624 AC_CONFIG_FILES([Makefile])          
625
626 AC_CONFIG_COMMANDS([default],[[ chmod +x examples/*.pl]],[[]])
627 AC_OUTPUT
628
629 AC_MSG_CHECKING(in)
630 AC_MSG_RESULT(and out again)
631
632 echo $ECHO_N "ordering CD from http://tobi.oetiker.ch/wish $ECHO_C" 1>&6
633 sleep 1
634 echo $ECHO_N ".$ECHO_C" 1>&6
635 sleep 1
636 echo $ECHO_N ".$ECHO_C" 1>&6
637 sleep 1
638 echo $ECHO_N ".$ECHO_C" 1>&6
639 sleep 1
640 echo $ECHO_N ".$ECHO_C" 1>&6
641 sleep 1
642 AC_MSG_RESULT([ just kidding ;-)])
643 echo
644 echo "----------------------------------------------------------------"
645 echo "Config is DONE!"
646 echo
647 echo "          With MMAP IO: $ac_cv_func_mmap_fixed_mapped"
648 echo "          Perl Modules: $COMP_PERL"
649 echo "           Perl Binary: $PERL"
650 echo "          Perl Version: $PERL_VERSION"
651 echo "          Perl Options: $PERL_MAKE_OPTIONS"
652 echo "          Ruby Modules: $COMP_RUBY"
653 echo "           Ruby Binary: $RUBY"
654 echo "          Ruby Options: $RUBY_MAKE_OPTIONS"
655 echo "    Build Tcl Bindings: $enable_tcl"
656 echo " Build Python Bindings: $enable_python"
657 echo "          Build rrdcgi: $enable_rrdcgi"
658 echo "       Build librrd MT: $enable_pthread"
659 echo
660 echo
661 echo "Type 'make' to compile the software and use 'make install' to "
662 echo "install everything to: $prefix."
663 echo 
664 echo "       ... that wishlist is NO JOKE. If you find RRDtool useful"
665 echo "make me happy. Go to http://tobi.oetiker.ch/wish and"
666 echo "place an order."
667 echo 
668 echo "                               -- Tobi Oetiker <tobi@oetiker.ch>"
669 echo "----------------------------------------------------------------"