From 412b079ae92adc47a82bfc6a27de37a537420a26 Mon Sep 17 00:00:00 2001 From: Sebastian Harl Date: Sun, 18 May 2008 19:39:16 +0200 Subject: [PATCH] Imported upstream version 1.3rc4. --- CHANGES | 5432 +++++++++++-------- CONTRIBUTORS | 9 +- Makefile.am | 20 +- Makefile.in | 84 +- NEWS | 78 + acinclude.m4 | 4 +- aclocal.m4 | 668 +++ bindings/Makefile.in | 62 +- bindings/perl-piped/RRDp.pm | 12 +- bindings/perl-shared/Makefile.PL | 3 +- bindings/perl-shared/RRDs.pm | 8 +- bindings/perl-shared/RRDs.xs | 17 + bindings/python/rrd_extra.h | 25 +- bindings/python/rrdtoolmodule.c | 301 +- bindings/python/setup.py | 2 +- bindings/ruby/main.c | 274 +- bindings/tcl/Makefile.am | 2 +- bindings/tcl/Makefile.in | 65 +- bindings/tcl/tclrrd.c | 812 +-- configure | 8692 +++++++++++++++++++++--------- configure.ac | 301 +- doc/Makefile.am | 4 +- doc/Makefile.in | 66 +- doc/RRDs.html | 5 + doc/bin_dec_hex.1 | 2 +- doc/bin_dec_hex.txt | 2 +- doc/cdeftutorial.1 | 2 +- doc/cdeftutorial.txt | 2 +- doc/rpntutorial.1 | 2 +- doc/rpntutorial.txt | 2 +- doc/rrd-beginners.1 | 2 +- doc/rrd-beginners.txt | 2 +- doc/rrdbuild.1 | 313 +- doc/rrdbuild.html | 315 +- doc/rrdbuild.pod | 271 +- doc/rrdbuild.txt | 263 +- doc/rrdcgi.1 | 2 +- doc/rrdcgi.txt | 2 +- doc/rrdcreate.1 | 126 +- doc/rrdcreate.html | 120 +- doc/rrdcreate.pod | 118 +- doc/rrdcreate.txt | 405 +- doc/rrddump.1 | 12 +- doc/rrddump.html | 13 +- doc/rrddump.pod | 12 +- doc/rrddump.txt | 12 +- doc/rrdfetch.1 | 2 +- doc/rrdfetch.txt | 2 +- doc/rrdfirst.1 | 2 +- doc/rrdfirst.txt | 2 +- doc/rrdgraph.1 | 144 +- doc/rrdgraph.html | 163 +- doc/rrdgraph.pod | 135 +- doc/rrdgraph.txt | 314 +- doc/rrdgraph_data.1 | 2 +- doc/rrdgraph_data.txt | 2 +- doc/rrdgraph_examples.1 | 68 +- doc/rrdgraph_examples.html | 72 + doc/rrdgraph_examples.pod | 76 +- doc/rrdgraph_examples.txt | 70 +- doc/rrdgraph_graph.1 | 293 +- doc/rrdgraph_graph.html | 380 +- doc/rrdgraph_graph.pod | 318 +- doc/rrdgraph_graph.txt | 276 +- doc/rrdgraph_rpn.1 | 25 +- doc/rrdgraph_rpn.html | 33 +- doc/rrdgraph_rpn.pod | 25 +- doc/rrdgraph_rpn.txt | 26 +- doc/rrdinfo.1 | 2 +- doc/rrdinfo.txt | 2 +- doc/rrdlast.1 | 2 +- doc/rrdlast.txt | 2 +- doc/rrdlastupdate.1 | 2 +- doc/rrdlastupdate.txt | 2 +- doc/rrdresize.1 | 2 +- doc/rrdresize.txt | 2 +- doc/rrdrestore.1 | 2 +- doc/rrdrestore.txt | 2 +- doc/rrdthreads.1 | 2 +- doc/rrdthreads.txt | 2 +- doc/rrdtool.1 | 2 +- doc/rrdtool.txt | 2 +- doc/rrdtune.1 | 27 +- doc/rrdtune.html | 31 +- doc/rrdtune.pod | 27 +- doc/rrdtune.txt | 36 +- doc/rrdtutorial.1 | 4 +- doc/rrdtutorial.html | 2 +- doc/rrdtutorial.pod | 2 +- doc/rrdtutorial.txt | 4 +- doc/rrdupdate.1 | 2 +- doc/rrdupdate.txt | 2 +- doc/rrdxport.1 | 2 +- doc/rrdxport.txt | 2 +- examples/Makefile.am | 4 +- examples/Makefile.in | 66 +- examples/perftest.pl.in | 99 +- intltool-extract.in | 875 +++ intltool-merge.in | 1506 ++++++ intltool-update.in | 1164 ++++ netware/Makefile | 26 +- po/ChangeLog | 1 + po/LINGUAS | 2 + po/Makefile.in.in | 218 + po/POTFILES.in | 2 + po/de.po | 334 ++ rrd_config.h.in | 133 +- rrdtool.spec | 21 +- src/DejaVuSansMono-Roman.ttf | Bin 60444 -> 0 bytes src/Makefile.am | 76 +- src/Makefile.in | 333 +- src/art_rgba_svp.c | 333 -- src/art_rgba_svp.h | 17 - src/fnv.h | 18 +- src/hash_32.c | 40 +- src/parsetime.c | 1212 +++-- src/pngsize.c | 63 +- src/rrd.h | 250 +- src/rrd_afm.c | 287 - src/rrd_afm.h | 54 - src/rrd_afm_data.c | 3338 ------------ src/rrd_afm_data.h | 191 - src/rrd_cgi.c | 2244 ++++---- src/rrd_create.c | 1012 ++-- src/rrd_diff.c | 104 +- src/rrd_dump.c | 693 ++- src/rrd_error.c | 113 +- src/rrd_fetch.c | 592 +- src/rrd_first.c | 118 +- src/rrd_format.c | 64 +- src/rrd_format.h | 393 +- src/rrd_getopt.c | 1240 ++--- src/rrd_getopt.h | 90 +- src/rrd_getopt1.c | 214 +- src/rrd_gfx.c | 2713 +--------- src/rrd_gfx.h | 135 - src/rrd_graph.c | 6403 ++++++++++++---------- src/rrd_graph.h | 595 +- src/rrd_graph_helper.c | 1518 +++--- src/rrd_hw.c | 1266 ++--- src/rrd_hw.h | 74 +- src/rrd_hw_math.c | 143 + src/rrd_hw_math.h | 132 + src/rrd_hw_update.c | 474 ++ src/rrd_hw_update.h | 44 + src/rrd_i18n.h | 31 + src/rrd_info.c | 514 +- src/rrd_is_thread_safe.h | 7 +- src/rrd_last.c | 37 +- src/rrd_lastupdate.c | 69 +- src/rrd_nan_inf.c | 32 +- src/rrd_nan_inf.h | 5 - src/rrd_not_thread_safe.c | 30 +- src/rrd_open.c | 727 ++- src/rrd_resize.c | 302 +- src/rrd_restore.c | 1676 +++--- src/rrd_rpncalc.c | 1296 ++--- src/rrd_rpncalc.h | 89 +- src/rrd_thread_safe.c | 45 +- src/rrd_thread_safe_nt.c | 134 +- src/rrd_tool.c | 1550 +++--- src/rrd_tool.h | 240 +- src/rrd_tune.c | 718 +-- src/rrd_update.c | 3315 +++++++----- src/rrd_version.c | 16 +- src/rrd_xport.c | 445 +- src/rrd_xport.h | 4 +- src/rrdupdate.c | 39 +- src/strftime.c | 397 +- src/strftime.h | 10 +- src/unused.h | 7 +- src/win32comp.c | 95 +- win32/Makefile | 33 +- win32/config.h | 7 +- 174 files changed, 37078 insertions(+), 27374 deletions(-) create mode 100644 intltool-extract.in create mode 100644 intltool-merge.in create mode 100644 intltool-update.in create mode 100644 po/ChangeLog create mode 100644 po/LINGUAS create mode 100644 po/Makefile.in.in create mode 100644 po/POTFILES.in create mode 100644 po/de.po delete mode 100644 src/DejaVuSansMono-Roman.ttf delete mode 100644 src/art_rgba_svp.c delete mode 100644 src/art_rgba_svp.h delete mode 100644 src/rrd_afm.c delete mode 100644 src/rrd_afm.h delete mode 100644 src/rrd_afm_data.c delete mode 100644 src/rrd_afm_data.h delete mode 100644 src/rrd_gfx.h create mode 100644 src/rrd_hw_math.c create mode 100644 src/rrd_hw_math.h create mode 100644 src/rrd_hw_update.c create mode 100644 src/rrd_hw_update.h create mode 100644 src/rrd_i18n.h delete mode 100644 src/rrd_nan_inf.h diff --git a/CHANGES b/CHANGES index cf537f8..3e0cbc7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3441 +1,4111 @@ -2008-02-17 10:09 oetiker - - * rrdtool-1.2-release: prepare for the release of rrdtool-1.2.27 - -2008-02-17 10:08 oetiker - - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, - src/gdpng.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prepare for - 1.2.27 release - -2008-02-14 07:25 oetiker - - * doc/rrdcreate.pod, doc/rrdgraph.pod, doc/rrdgraph_graph.pod, - doc/rrdgraph_rpn.pod, doc/rrdtutorial.pod: fixes for better web - rendering - -2008-02-04 18:17 oetiker - - * COPYRIGHT: added ZPL 2.1 to floss exception - -2008-02-01 06:52 oetiker - - * src/rrd_graph.c, trunk/program/src/rrd_graph.c: fixed parsing of - fontnames with embeded spaces - -2008-01-14 16:47 oetiker - - * bindings/tcl/tclrrd.c, configure.ac, src/rrd_cgi.c: * fix fadvice - and madvice inclusion ... again * fix rrdcgi warning * fix - warnings in tcl bindings -- Peter Breitenlohner peb mppmu.mpg.de - -2008-01-12 18:36 oetiker - - * src/rrd_graph.c: weekday and time are too tight - -2007-12-08 22:17 oetiker - - * configure.ac: fixing the solaris build - -2007-11-23 18:18 oetiker - - * netware/Makefile, src/rrd_update.c, win32/Makefile: updates for - netware and mingw32 ... allows for crosscompilation - -2007-11-22 12:33 oetiker - - * src/rrd_update.c: make update compile for mingw32 3.4.5 - -2007-11-21 10:51 oetiker - - * configure.ac: fixedspellingfor netbsd - -2007-11-21 06:57 oetiker - - * bindings/perl-shared/Makefile.PL, configure.ac, src/rrd_tool.h, - src/rrd_update.c: * improve portability of compile environment to - netbsd and solaris - -2007-11-20 00:15 oetiker - - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, - src/gdpng.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prepare for the - release of rrdtool-1.2.26 - -2007-11-19 23:40 oetiker - - * src/rrd_graph.c: when checking if min and max were equal, the - action aplied was not working for negative values of min and max. - -2007-11-19 23:40 oetiker - - * configure.ac, src/rrd_tool.h: strings was not included ev if it - was around - -2007-11-19 16:50 oetiker - - * src/rrd_gfx.c: fix pointer in png image - -2007-11-14 13:53 oetiker - - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prepare for the - release of rrdtool-1.2.25 - -2007-11-14 13:53 oetiker - - * src/pngsize.c: make aix users happy and compile there too - -2007-11-14 13:53 oetiker - - * src/rrd_open.c: don't exit when fadvise does not work .. after all - we can live without it ... - -2007-11-13 02:21 oetiker +2008-05-18 13:06 oetiker * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, src/pngsize.c, - src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, + configure.ac, doc/rrdbuild.pod, rrdtool-1.3-release, rrdtool.spec, + src/pngsize.c, src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, + src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, + src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c: prepare for the release of rrdtool-1.2.24 - -2007-11-13 02:18 oetiker - - * configure.ac: updated for 1.2.24 - -2007-11-13 02:16 oetiker - - * src/rrd_create.c: revert the dontneed fadvise patch this is only - for 1.3 - -2007-11-13 02:13 oetiker - - * src/rrd_fetch.c: revert the dontneed patch ... this is for 1.3 - exclusively - -2007-11-08 10:13 oetiker - - * bindings/ruby/main.c: must use int2num to prevent overflows -- - Mike Perham mperham gmail.com - -2007-09-02 16:47 oetiker - - * doc/rrdgraph_graph.pod: horizontal is the correct spelling - -2007-08-01 15:25 oetiker - - * src/rrd_xport.c: fixed 64bit portability error ... unigned long is - not equal to int - -2007-07-25 20:32 oetiker - - * src/rrd_update.c: check if intput is integer in any case not only - when the previouse value wave != U - -2007-07-16 06:34 oetiker - - * bindings/ruby/main.c: fixed rrd_featch and added rrd_info to ruby - bindings - -2007-07-12 20:33 oetiker - - * doc/rrdtutorial.pod: improved wording - -2007-07-11 23:06 oetiker - - * src/rrd_create.c: stop rrd_create from leaking on failure ... vito - caputo - -2007-07-05 15:14 oetiker - - * src/rrd_graph_helper.c: fix potential segfault ... if time_t is - not a %li 5~ - -2007-07-05 15:14 oetiker - - * bindings/tcl/Makefile.am: fix tcl build system - -2007-06-15 21:41 oetiker - - * rrdtool.spec: rrdtool.spec from Jarod "redhat" Wilson - -2007-06-13 16:50 oetiker - - * bindings/ruby/main.c: be more helpful when raising rb_eTypeError - in string_arr string_arr_new(VALUE rb_strings). This patch - indicates which index is in error as well as the type you are - erroneously passing. --anonymous - -2007-05-30 11:26 oetiker - - * src/rrd_update.c: dropping cache after update does not help (in - this implementation) - -2007-05-22 20:46 oetiker - - * configure.ac: fixed spelling - -2007-05-22 20:44 oetiker - - * configure.ac, src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c: * - better tests for madvise, fadvise and fdatasync * fix inclusion of - fcntl.h * clenups for configure.ac -- Bernhard Fischer rep dot nop - gmail com - -2007-05-19 05:47 oetiker - - * configure.ac: update defines according to manual pageentry - -2007-05-18 16:40 oetiker - - * configure.ac, src/rrd_update.c: added madvise MADV_RANDOM is - rrd_update uses mmap - -2007-05-18 11:56 oetiker - - * configure.ac, src/rrd_create.c, src/rrd_fetch.c, src/rrd_update.c: - * dropping in rrd_update is probably overkill since we may be - dropping too much. * in create we have to flush before dropping. * - read fcntl.h after defining the __USE_XOPEN2K * fix drop code in - fetch ... - -2007-05-17 11:38 oetiker - - * configure.ac, src/rrd_create.c, src/rrd_fetch.c, src/rrd_open.c, - src/rrd_update.c: now the fadvise code actually compiles ... let - the testing begin. - -2007-05-17 08:44 oetiker - - * examples/perftest.pl.in: new better ? performance test ... work in - progress - -2007-05-17 08:44 oetiker - - * configure.ac, src/Makefile.am, src/rrd_create.c, src/rrd_fetch.c, - src/rrd_open.c, src/rrd_update.c: added posix_fadvise support - (untested) ... this should help performance by stopping read-ahead - and droping buffer cache for all rrd data except the file header - portion. Newly created files are fdsynced to disk and released - from cache after creation, to soften the blow on buffer cache by - creating new rrds. - -2007-05-16 20:35 oetiker - - * src/rrd_open.c: remove tabs and replace with 8 spaces - -2007-05-15 08:39 oetiker + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc4 - * bindings/Makefile.am: use libdir instead of exec_prefix/lib ... - maybe someone wants their libraries in another place +2008-05-18 13:04 oetiker -2007-05-15 08:36 oetiker + * src/rrd_tool.c, src/rrdupdate.c: fix year - * bindings/Makefile.am, bindings/python/setup.py: yet another - attempt to make the python build environment REALY cool +2008-05-18 12:53 oetiker -2007-05-09 15:26 oetiker + * src/rrd_graph.c: PRINT returns from rrd_graph did not work due to + an off by one error - * bindings/Makefile.am, bindings/python/setup.py: make sure the - python extension gets the final resting place of the rrdlibrary - compiled in ... +2008-05-18 08:42 oetiker -2007-05-08 15:10 oetiker + * doc/rrdbuild.pod: updated build instructions to latest libraries - * bindings/Makefile.am: ruby complained about finding a previous - copy of the rrdtool extension ... very odd thing actually ... - adding RUBYARCHDIR= seems to help ... +2008-05-18 06:37 oetiker -2007-05-06 19:38 oetiker + * NEWS, configure.ac, src/rrd_i18n.h, src/rrd_tool.c: improved + handling of libintl issues - * src/rrd_graph.c: don't use round since it is c99 ... use - floor(x+0.5) for positive numbers instead. - -2007-05-06 08:50 oetiker - - * src/rrd_hw.c: print the name of the HW cf in debug mode -- Helge - Oldach - -2007-05-03 12:49 oetiker - - * src/rrd_graph.c: added some more rounding for int to float - comparisons - -2007-05-03 12:43 oetiker - - * src/rrd_graph.c: Testing an double and an integer for equality is - bound to produce odd results on times. Don't do it! -- - rrdtool@oldach.net - -2007-05-02 18:06 oetiker +2008-05-16 12:29 oetiker * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c: prepare for the release of rrdtool-1.2.23 + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc3 -2007-05-02 18:05 oetiker +2008-05-16 12:28 oetiker - * bindings/Makefile.am: fix python install for virgin systems + * doc/rrddump.pod, src/rrd_dump.c: added --no-header to + documentation and fixed implementation -2007-05-02 15:31 oetiker +2008-05-16 12:20 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, - src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, - src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c: prepare for the release of rrdtool-1.2.22 + * src/rrd_dump.c: fixed dump_opt implementation -2007-05-02 15:31 oetiker +2008-05-16 12:18 oetiker - * README, bindings/perl-shared/RRDs.ppd, - bindings/perl-shared/ntmake.pl, debian/copyright, debian/watch, - doc/rrdtutorial.es.pod, doc/rrdtutorial.pod, doc/see_also.inc: - fixed old urls in code + * NEWS, src/rrd_dump.c: added no-header option to rrd_dump -2007-05-02 15:23 oetiker +2008-05-16 12:07 oetiker - * bindings/Makefile.am: fix python for staged installs + * src/rrd_graph.c: fix handling of values <= zero for logarithmic + display -2007-05-02 05:08 oetiker +2008-05-15 22:39 oetiker - * bindings/tcl/tclrrd.c: fixed path to rrd_format.h in tcl bindings + * rrdtool-1.3-release: prepare for the release of rrdtool-1.3rc2 -2007-05-01 20:41 oetiker +2008-05-15 22:39 oetiker * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c: prepare for the release of rrdtool-1.2.21 - -2007-05-01 20:40 oetiker - - * src/rrd_graph.c: if the graph goes 'down' minval must be hanged - instead - -2007-05-01 16:36 oetiker - - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, - src/gdpng.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prepare for the - release of rrdtool-1.2.20 - -2007-05-01 16:24 oetiker - - * netware/Makefile, win32/Makefile: updated win32 and netware - Makefiles -- Guenter Knauf - -2007-05-01 16:23 oetiker - - * src/rrd_create.c, src/rrd_update.c: added some const casts + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc2 -2007-05-01 16:19 oetiker +2008-05-15 22:37 oetiker - * doc/rrdgraph.pod, src/rrd_graph.c, src/rrd_graph.h: added - --alt-autoscale-min (see --alt-autoscale-max) -- Helge Oldach + * Makefile.am, configure.ac, rrdtool-1.3-release, src/Makefile.am: + fix portability to mac osx and freebsd -- tobi -2007-04-10 05:43 oetiker +2008-05-12 23:10 oetiker - * src/rrd_graph.c: untabified rrd_graph.c + * configure.ac: add solaris pod2man location last -2007-04-10 05:41 oetiker +2008-05-12 23:03 oetiker - * src/rrd_graph.c: use the shorthand for vidx ... + * configure.ac, doc/Makefile.am, doc/rrdbuild.pod: some changes to + make things work on opensolaris 2008.05 -2007-04-10 05:27 oetiker +2008-05-12 22:42 oetiker - * src/rrd_graph.c, src/rrd_graph.h: the rrd_graph_check_vname - function is not used anywhere in the code ... + * bindings/tcl/Makefile.am: for some reason tclrrd.c does not get + picked up using $< at least on opensolaris -2007-04-06 07:28 oetiker +2008-05-12 22:23 oetiker - * src/rrd_gfx.c: release font resources after thy have been used ... - -- Travis Spencer + * src/Makefile.am, src/rrd_graph.h, src/rrd_info.c, + src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_tool.c: allow + rrd_rpncalc to build without cairo dependencies ... fix warnings -2007-04-02 06:21 oetiker +2008-05-12 21:14 oetiker - * doc/rrdthreads.pod, src/fnv.h, src/hash_32.c, src/rrd.h, - src/rrd_create.c, src/rrd_fetch.c, src/rrd_format.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_tool.h, - src/rrd_update.c: new function rrd_fetch_r() (and make the strings - const char* instead of char*). The only difference between - rrd_fetch_r() and rrd_fetch_fn() is that rrd_fetch_r() receives - the consolidation function as a string (instead of an enum cf_en) - and is thread-safe -- Sam Umbach + * Makefile.am: add intltool*in files to dist -2007-04-02 06:18 oetiker +2008-05-12 16:15 oetiker - * src/rrd_restore.c: make xml2rrd more robust on invalid input -- - Florian Forster + * bindings/python/rrdtoolmodule.c, src/rrd_update.c: fixed indenting -2007-03-29 19:08 oetiker +2008-05-12 16:15 oetiker - * doc/rrdruby.pod: added vardef + * src/rrd_graph.c, src/rrd_hw.c, src/rrd_open.c, src/rrd_rpncalc.c, + src/win32comp.c: removed c++ comments // -2007-03-15 21:10 oetiker +2008-05-12 16:09 oetiker - * src/rrd_tool.c: fix the snprintf call for vtag ... it was using - the wrong size -- kili + * NEWS: added notes about rewrites in this release -2007-03-15 21:03 oetiker +2008-05-12 16:08 oetiker - * src/rrd_thread_safe.c: fixed strerror_r usage ... #85 + * configure.ac, src/Makefile.am: improved handling of library + versioning -2007-03-11 13:08 oetiker +2008-05-12 15:35 oetiker - * Makefile.am, bindings/Makefile.am, doc/Makefile.am, - examples/Makefile.am, netware/Makefile, win32/Makefile, - win32/rrd.dsp, win32/rrdtool.dsp: fix netware and win32 makefiles - for new getopt names + * src/rrd_update.c: should not leave debug enabled -2007-03-11 13:04 oetiker +2008-05-12 15:33 oetiker - * src/art_rgba_svp.h, src/fnv.h, src/gdpng.c, src/hash_32.c, - src/parsetime.c, src/parsetime.h, src/pngsize.c, src/rrd.h, - src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_getopt.c, - src/rrd_getopt.h, src/rrd_getopt1.c, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c, - src/rrd_hw.c, src/rrd_hw.h, src/rrd_info.c, - src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, - src/rrd_nan_inf.c, src/rrd_nan_inf.h, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, - src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, - src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c, src/strftime.c, src/strftime.h, src/unused.h, - src/win32comp.c: enable ID keyword in all source files + * branches/1.2/program/doc/rrdcreate.pod, + branches/1.2/program/src/rrd_update.c, doc/rrdcreate.pod, + src/rrd_update.c: Fixed handling of unknown data at PDP build + time. There was a long standing (even documented) missfeature in + rrdtool which caused uknown-data to be accepted as long as it was + less than the mrhb. This was never the intended behaviour and had + interesting side effects + (http://oss.oetiker.ch/rrdtool-trac/ticket/125): If you have a 60 + Second step with 59s unknown data and 1 second of known data the + whole become known data as long as the mrhb was > step. The + intended behaviour was that a step should become unknown as soon + as it contains more than 50% of unknown data. The patch fixes both + the documentation and the code. -2007-03-11 12:57 oetiker +2008-05-12 13:22 oetiker - * examples/Makefile.am: do not use gnuisms in Makefile rules ($<) + * src/rrd_create.c: the last_ds value fuer unknown is 'U' and not + 'UNKN' -2007-03-11 12:41 oetiker +2008-05-04 18:59 oetiker - * netware/Makefile: use Guenters latest Netware Makefile ... + * src/rrd_getopt.c, src/rrd_getopt1.c: fix for sun sudio 11 + incompatibility + http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=38555 -2007-03-10 17:44 oetiker +2008-05-01 23:23 oetiker - * configure.ac: axe the double quotes on $perlcc in configure to - allow for program names with arguments. + * bindings/ruby/main.c, src/rrd.h, src/rrd_info.c, src/rrd_tool.c: + indenting fixes -2007-03-10 17:36 oetiker +2008-05-01 23:23 oetiker - * src/rrd_update.c: integers can be negative ... fixed the test for - this in rrd_update -- rians cc usu edu + * src/rrd_graph.c: make sure properties are shown via graph_v even + in --graph-only mode -2007-03-03 11:03 oetiker +2008-05-01 06:56 oetiker - * Makefile.am, bindings/ruby/extconf.rb, configure.ac: * build - extensions last since this seems to be most likely to fail * do - more testing before building the ruby extension + * MakeMakefile: Make the MakeMakefile script a bit more robust -2007-02-24 17:23 oetiker +2008-04-22 21:40 oetiker - * src/rrd_dump.c, src/rrd_info.c, src/rrd_tune.c: fix memmory - problem in rrd_dump.c + * bindings/python/rrd_extra.h, bindings/python/rrdtoolmodule.c: fix + for #148 -2007-02-14 18:54 oetiker +2008-04-20 22:46 oetiker - * doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, src/rrd_rpncalc.h: new - operator ABS added -- + * CONTRIBUTORS, NEWS, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.xs, bindings/ruby/main.c, + doc/rrdgraph.pod, src/rrd.h, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_info.c, src/rrd_tool.c, src/rrd_tool.h: Introduced a + alternated interface to rrd_graph using rrd_info style return + values: rrd_graph_v The graph_v interface returnes additional + information about the graph including the location of the graphing + area within the image. When called with '-' as filename it will + even return the image data. The new interface is supported in the + rrdtool command line, RRDs perl and ruby bindings. -2007-02-14 18:48 oetiker +2008-04-17 07:54 oetiker - * src/Makefile.am, src/getopt.c, src/getopt.h, src/getopt1.c, - src/rrd_getopt.c, src/rrd_getopt.h, src/rrd_getopt1.c, - src/rrd_tool.h: renamed getopt to rrd_getopt to avoid confusion on - some systems ... + * trunk/talks/nordic-nagios-08, + trunk/talks/nordic-nagios-08/abstract-rrdtut.txt: added bullets -2007-02-14 18:47 oetiker +2008-04-17 05:35 oetiker - * src/rrd_tool.c: cosmetic fix for usage message -- günter knauff + * src/rrd_update.c: indent fix -2007-02-14 18:46 oetiker +2008-04-17 05:35 oetiker - * Makefile.am: added new win32 component to the release tarball + * src/rrd_tune.c: do not reset the last_ds store unless the data + source type is actually changed. -2007-02-14 18:46 oetiker +2008-04-16 15:50 oetiker - * src/get_ver.awk, win32/rrd.dsp, win32/rrd_config.h.msvc, - win32/rrdtool.dsp: updates to the windows build system by guenter - knauff + * branches/1.2/program/doc/rrdgraph.pod, doc/rrdgraph.pod: fixed 2. + x-grid example ... since the lable is valid for the whole day, it + must be 86400 wide. --tobi -2007-02-14 06:53 oetiker +2008-04-12 09:29 oetiker - * doc/rrdgraph.pod, src/rrd_graph.c, src/rrd_graph.h: allow - --units-length to reserve label space even when --y-grid=none is - in effect [#75], tobi + * MakeMakefile, configure.ac: alter order of header inclusion for + FreeBSD 4.8 compatibility -2007-02-14 06:33 oetiker +2008-04-12 09:21 oetiker - * src/parsetime.c: parsing absolute time should not send us 30,000 - years into the future -- Tatsuki Makino tatsuki_makino hotmail.com + * branches/1.2/program/src/parsetime.c, src/parsetime.c: do not mess + with dst status after running localtime, the system gets confused + otherwhise when it comes to times during the switch over periode + as DST changes to non DST. -- tobi -2007-02-14 06:31 oetiker +2008-03-25 23:02 oetiker - * src/rrd_cgi.c: Printstrftime on rrd_cgi.c returns an illegal - value. It causes segmentation fault error. -- Tatsuki Makino - tatsuki_makino hotmail.com + * src/rrd_dump.c: added missing " escapes to xml header in + rrd_tool.c -2007-02-09 22:19 oetiker +2008-03-25 22:59 oetiker - * netware/Makefile, src/rrd_tool.h, win32/Makefile: more build - patches from Günter Knauf + * CONTRIBUTORS: added Florian octo Forster to contrib list -2007-02-08 06:01 oetiker +2008-03-25 22:59 oetiker - * netware/Makefile, win32/Makefile: updates for Win32 and NW - Makefiles -- Guenter Knauf + * doc/rrdgraph_examples.pod: added missing =back for propper pod + syntax -2007-02-08 05:54 oetiker +2008-03-25 22:58 oetiker - * src/Makefile.am: added get_ver.awk to release + * src/rrd_dump.c: fix indent -2007-02-08 05:51 oetiker +2008-03-25 22:58 oetiker - * configure.ac: there is no Makefile.in for python anymore! + * src/rrd_restore.c: fix broken header comment section -- Florian + octo Forster -2007-02-07 21:35 oetiker +2008-03-25 22:57 oetiker - * src/rrd_gfx.c: DPRINTF may not be the ideal define ... use - something more RRDish ... like RRDPRINTF + * src/rrd_graph.c: cast size_t to int to avoid warning -- Florian + octo Forster -2007-02-07 21:35 oetiker +2008-03-25 22:56 oetiker - * Makefile.am, configure.ac: use setup.py for python install and - build work instad of trying todo it on our own + * src/rrd_open.c: do not declare DEBUG functions unless compiled in + DEBUG mode -- Florian octo Forster -2007-02-07 21:31 oetiker +2008-03-25 22:55 oetiker - * bindings/Makefile.am: added Makefile targets for python + * src/rrd_tool.c: make helptexts read only memory -2007-02-07 21:30 oetiker +2008-03-25 22:55 oetiker - * bindings/python/Makefile.am, bindings/python/Setup.in, - bindings/python/setup.py: python does no get built externally + * src/rrd_update.c: stop complaints about unused variables if not + running DEBUG -2007-02-02 18:22 oetiker +2008-03-25 22:49 oetiker - * COPYRIGHT: added IBM Public License to the list of Exceptions + * MakeMakefile: Added check for intltool version. Use Makefile for + cleanup. -- Florian octo Forster -2007-02-02 12:19 oetiker +2008-03-23 13:43 oetiker - * src/rrd_gfx.c, src/rrd_rpncalc.c: increasse portability (no // - comment, no ... arguments for cpp) + * src/rrd_dump.c: added pointer to florian forsters dtd to the rrd + dumpt -2007-02-01 22:00 oetiker +2008-03-19 23:36 oetiker - * bindings/tcl/tclrrd.c: we should use the headers from the local - rrdtool setup and not the system ones! + * configure.ac: fix pkgconfig file name -2007-02-01 05:51 oetiker +2008-03-15 10:39 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool-1.2-release, rrdtool.spec, - src/gdpng.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + * ., .indent.pro, 00README, CONTRIBUTORS, COPYING, COPYRIGHT, + MakeMakefile, Makefile.am, NEWS, PROJECTS, README, THREADS, TODO, + WIN32-BUILD-TIPS.txt, acinclude.m4, bindings, + bindings/Makefile.am, bindings/perl-piped, + bindings/perl-piped/MANIFEST, bindings/perl-piped/Makefile.PL, + bindings/perl-piped/README, bindings/perl-piped/RRDp.pm, + bindings/perl-piped/leaktest.pl, bindings/perl-piped/rrdpl.dsp, + bindings/perl-piped/rrdpl.dsw, bindings/perl-piped/t, + bindings/perl-piped/t/base.t, bindings/perl-shared, + bindings/perl-shared/MANIFEST, bindings/perl-shared/Makefile.PL, + bindings/perl-shared/README, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.ppd, bindings/perl-shared/RRDs.xs, + bindings/perl-shared/ntmake.pl, bindings/perl-shared/t, + bindings/perl-shared/t/base.t, bindings/python, + bindings/python/ACKNOWLEDGEMENT, bindings/python/AUTHORS, + bindings/python/COPYING, bindings/python/README, + bindings/python/rrd_extra.h, bindings/python/rrdtoolmodule.c, + bindings/python/setup.py, bindings/ruby, bindings/ruby/CHANGES, + bindings/ruby/README, bindings/ruby/extconf.rb, + bindings/ruby/main.c, bindings/ruby/test.rb, bindings/tcl, + bindings/tcl/Makefile.am, bindings/tcl/README, + bindings/tcl/ifOctets.tcl.in, bindings/tcl/tclrrd.c, configure.ac, + debian, debian/README.Debian, debian/build_freetype.sh, + debian/changelog, debian/control, debian/copyright, + debian/librrd0-dev.files, debian/librrd0.files, + debian/librrd0.postinst, debian/librrd0.postrm, + debian/librrd0.shlibs, debian/librrdp-perl.files, + debian/librrds-perl.files, debian/rrdtool-tcl.files, + debian/rrdtool.files, debian/rules, debian/watch, doc, + doc/Makefile.am, doc/bin_dec_hex.pod, doc/cdeftutorial.pod, + doc/name.inc, doc/rpntutorial.pod, doc/rrd-beginners.pod, + doc/rrdbuild.pod, doc/rrdcgi.pod, doc/rrdcreate.pod, + doc/rrddump.pod, doc/rrdfetch.pod, doc/rrdfirst.pod, + doc/rrdgraph-old.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod, + doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, + doc/rrdgraph_rpn.pod, doc/rrdinfo.pod, doc/rrdlast.pod, + doc/rrdlastupdate.pod, doc/rrdpython.pod, doc/rrdresize.pod, + doc/rrdrestore.pod, doc/rrdruby.pod, doc/rrdthreads.pod, + doc/rrdtool-dump.dtd, doc/rrdtool-xport.dtd, doc/rrdtool.pod, + doc/rrdtune.pod, doc/rrdtutorial.es.pod, doc/rrdtutorial.pod, + doc/rrdupdate.pod, doc/rrdxport.pod, examples, + examples/4charts.pl.in, examples/Makefile.am, + examples/bigtops.pl.in, examples/cgi-demo.cgi.in, + examples/minmax.pl.in, examples/perftest.pl.in, + examples/piped-demo.pl.in, examples/shared-demo.pl.in, + examples/stripes.pl.in, favicon.ico, netware, netware/Makefile, + po, po/ChangeLog, po/LINGUAS, po/POTFILES.in, po/de.po, + rrdtool-1.2-release, rrdtool-1.3-release, rrdtool.spec, src, + src/Makefile.am, src/compile_afm.pl, src/fnv.h, src/get_ver.awk, + src/hash_32.c, src/parsetime.c, src/parsetime.h, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, + src/rrd_getopt.c, src/rrd_getopt.h, src/rrd_getopt1.c, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, src/rrd_open.c, + src/rrd_hw_math.c, src/rrd_hw_math.h, src/rrd_hw_update.c, + src/rrd_hw_update.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_nan_inf.c, src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, + src/rrd_rpncalc.h, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prepare for the - release of rrdtool-1.2.19 - -2007-02-01 05:45 oetiker - - * bindings/python/Makefile.am: libtool builds shared libraries - anyway, no need for extra LDFLAGS that bite non GNU ld versions - -2007-01-29 16:47 oetiker - - * src/rrd_tool.c: resolve snprintf overflow warning by using sizeof - -- Anna Bernathova suse cz - -2007-01-23 20:54 oetiker - - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, - src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, - src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c: prepare for the release of rrdtool-1.2.18 - -2007-01-23 20:52 oetiker - - * src/rrd_fetch.c: the change from R920 to fetch was not helping ... - no low res got prefered in non full coverage situations .. - -2007-01-23 17:30 oetiker - - * src/rrd_graph.c: another control sequence that got lost ... - -2007-01-23 08:28 oetiker - - * src/rrd_graph_helper.c: read up to full potential length of - gdp->rrd + src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c, src/strftime.c, + src/strftime.h, src/unused.h, src/win32comp.c, svn2cl.xsl, win32, + win32/Makefile, win32/config.h, win32/rrd.dsp, win32/rrd.vcproj, + win32/rrd_config.h.msvc, win32/rrdtool.dsp, win32/rrdtool.dsw, + win32/rrdtool.vcproj: reindent aded id keyword substitution -2007-01-22 16:34 oetiker +2008-03-15 10:32 oetiker - * doc/rrdgraph_graph.pod: added missing B formatting instruction + * src/rrd_rpncalc.c: reat nan as FALSE in an IF CDEF -2007-01-22 10:49 oetiker +2008-03-07 08:57 oetiker - * rrdtool-1.2-release: create non version link + * doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, src/rrd_rpncalc.h: a + nan-safe add operator (ADDNAN) into rrd. I used it to add several + incomplete graphs. NaN + NaN => NaN x + NaN => x NaN + y => y x + + y => x + y -- Timo Stripf tstripf gmx.de -2007-01-22 10:33 oetiker +2008-03-02 15:38 oetiker - * src/rrd_graph.c: prepare for the release of rrdtool-1.2.17 + * src/rrd_graph.c: Fix error "cairo_restore without matching + cairo_save" when zero-time point is out of graph -2007-01-22 10:29 oetiker +2008-02-25 07:11 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, - src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, - src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c: prepare for the release of rrdtool-1.2.17 - -2007-01-22 10:28 oetiker - - * doc/rrdgraph_graph.pod, src/rrd_graph.c: introduced \n as an alias - for \l since people seem to be using it despite the documentation - not talking about this ... so now it is official and I bet there - will soon be people asking why this was only working at the end of - a line. -- tobi - -2007-01-21 22:22 oetiker - - * doc/rrdgraph_examples.pod: removed mentiones of \n ... - -2007-01-20 22:54 oetiker - - * bindings/Makefile.am: prepare for the release of rrdtool-1.2.16 + * branches/1.2/program/src/rrd_fetch.c, src/rrd_fetch.c: Ignore + RRA-end when comparing. coverage. -2007-01-20 22:48 oetiker +2008-02-24 14:27 oetiker - * bindings/Makefile.am: prepare for the release of rrdtool-1.2.16 + * src/rrd_create.c, src/rrd_graph_helper.c, src/rrd_i18n.h, + src/rrd_info.c, src/rrd_restore.c, src/rrd_tool.c: fix indents + gone out of kileter by patching ... -2007-01-20 22:22 oetiker +2008-02-24 14:26 oetiker - * bindings/Makefile.am: prepare for the release of rrdtool-1.2.16 + * src/rrd_dump.c, src/rrd_tool.c: get rid of a few type cast + warnings -2007-01-20 20:19 oetiker +2008-02-24 14:26 oetiker - * rrdtool-1.2-release: prepare for the release of rrdtool-1.2.16 + * src/rrd_restore.c: fix one segfault while trying to restore an + invalid xml file. -- tobi -2007-01-20 20:17 oetiker - - * rrdtool-1.2-release: prepare for the release of rrdtool-1.2.16 - -2007-01-20 20:16 oetiker - - * rrdtool-1.2-release: prepare for the release of rrdtool-1.2.16 - -2007-01-20 20:03 oetiker - - * bindings/tcl/tclrrd.c: this did not compile after integrating the - new fetchlast command -- Andy Riebs - -2007-01-20 16:41 oetiker - - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool-1.2-release, rrdtool.spec, - src/Makefile.am, src/gdpng.c, src/pngsize.c, src/rrd.h, - src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, - src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_stat.c, - src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, - src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, - src/rrdupdate.c: prepare for the release of rrdtool-1.2.16 +2008-02-21 07:20 oetiker -2007-01-20 16:39 oetiker + * configure.ac: make ruby obey destdir - * Makefile.am, configure.ac, rrdtool-1.2-release: get ready for - 1.2.16 release +2008-02-21 07:18 oetiker -2007-01-18 23:43 oetiker + * po/ChangeLog: initial - * doc/rrdlastupdate.pod: aargh another missing bit from lastupdate - added ... +2008-02-21 07:12 oetiker -2007-01-17 23:35 oetiker + * MakeMakefile, configure.ac, po/LINGUAS, po/de.po, src/rrd_tool.c: + make inbternationalized version actually build - * netware/Makefile, src/rrd_lastupdate.c, win32/Makefile: finish - integration of lastupdate commmand ... +2008-02-21 06:59 oetiker -2007-01-17 21:31 oetiker + * po, po/LINGUAS, po/POTFILES.in, src/rrd_i18n.h: added missing bits + from internationalization - * acinclude.m4, bindings/tcl/tclrrd.c, doc/Makefile.am, - src/Makefile.am, src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c: - New functions lastupdate to efficiently get the last values fed - into the rrd ... this also changes that the last values get stored - even for ABSOLUTE and GAUGE data sources ... -- andy.riebs hp.com +2008-02-19 12:56 oetiker -2006-12-16 16:14 oetiker + * branches/1.2/program/src/rrd_create.c, + branches/1.2/program/src/rrd_info.c, + branches/1.2/program/src/rrd_restore.c, src/rrd_create.c, + src/rrd_info.c, src/rrd_restore.c: Generate a random cur_row for + each RRA during create/restore operations. This effectively + randomizes the block crossings among RRDs created around the same + time. Previously, RRDs that were created/restored en masse would + cross block boundaries simultaneously, which is sub-optimal. Also, + this patch enables the user to see the RRA's cur_row pointer via + rrdinfo. This was useful during debugging. -- kevin brintnall + kbrint qwest.net - * src/rrd_error.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c: - add missing \0 to the end of several strncpy strings +2008-02-18 15:04 oetiker -2006-12-16 16:13 oetiker + * MakeMakefile, Makefile.am, configure.ac, rrdtool.spec, + src/Makefile.am, src/rrd_getopt.c, src/rrd_tool.c: Added I18N + support for messages printed by rrd_tool.c -- + http://oss.oetiker.ch/rrdtool-trac/ticket/144 - * src/rrd_update.c: replace malloc/strncpy by strdup add \0 to the - end of several strncpy strings add missing free fix error string - rendering :... makes no sense here +2008-02-15 08:49 oetiker -2006-12-16 16:11 oetiker + * configure.ac: check for pdf as well - * src/rrd.h: move headers around to make more sense +2008-02-15 08:44 oetiker -2006-12-16 16:10 oetiker + * configure.ac: check for cairo-ps and cairo-svg explicitly - * src/rrd_not_thread_safe.c: init the context on first call +2008-02-06 00:12 oetiker -2006-12-16 16:05 oetiker + * configure.ac: ready for beta 4 - * src/rrd_graph.h: make sure there is ample space in the static - strings +2008-02-06 00:10 oetiker -2006-12-16 16:04 oetiker + * src/rrd_graph.c, src/rrd_graph_helper.c: * replaced strtok with + strtok_r for thread safety * fixed im initialization broken after + the introduction of dashes ... - * src/rrd_graph.c: oops 99 is the last item +2008-02-04 22:34 oetiker -2006-12-16 16:02 oetiker + * src/rrd_create.c: in rrd_create we do not use mmaping and thus + need to free rrd struct members in any case ... - * src/rrd_graph.c: it is sufficient to set the last item to 0 +2008-02-04 22:16 oetiker -2006-12-16 16:02 oetiker + * src/rrd_update.c: this should help with the memory leak - * src/Makefile.am: getopt is required for rrdupdate too (there are - platforms where this is not in libc ... eg solaris) +2008-02-04 18:18 oetiker -2006-12-16 16:01 oetiker + * COPYRIGHT: added zpl 2.1 to floss exception - * src/rrdupdate.c: we have 2006 now - -2006-12-16 15:56 oetiker +2008-02-01 06:52 oetiker - * src/rrd_not_thread_safe.c: it makes no sense allocating an array - and then asiging it to a fixed string ... this caused stuff to - crash badly as long error strings were assigned. + * branches/1.2/program/src/rrd_graph.c, src/rrd_graph.c: fixed + parsing of fontnames with embeded spaces -2006-12-11 19:11 oetiker +2008-01-14 17:11 oetiker - * doc/rrdbuild.pod: added note on alternate CFLAGS for Forte + * configure.ac: remove c++ warnings flag .. this is not c++ after + all -2006-12-07 19:51 oetiker +2008-01-14 16:52 oetiker - * src/rrd_graph.c: c is a valid formatting character + * src/rrd_cgi.c, src/rrd_create.c: fixed indenting -2006-11-19 11:15 oetiker +2008-01-14 16:51 oetiker - * src/rrd_graph.c: fixed typo + * src/rrd_gfx.c: fix indents -2006-11-06 06:53 oetiker +2008-01-14 16:50 oetiker - * src/rrd_fetch.c: when fetching, don't pick a higher res rra just - because it's coverage at the 'end' of the requested range is - better ... -- Sebastian Pachuta seba123 seba123.webd.pl + * bindings/tcl/tclrrd.c, configure.ac, src/parsetime.c, + src/rrd_cgi.c, src/rrd_create.c, src/rrd_nan_inf.c: * fixed + madvise/fadvise detection * fixed many compiler warnings -- Peter + Breitenlohner peb mppmu.mpg.de -2006-10-27 14:03 oetiker +2008-01-13 11:07 oetiker - * examples/perftest.pl.in: use integer time + * trunk/tutorial/htwchur/about-oss.odp, + trunk/tutorial/htwchur/m7am.odp, + trunk/tutorial/htwchur/rrd-exercises.tex: initial -2006-10-26 22:26 oetiker +2008-01-12 18:37 oetiker - * configure.ac, examples/Makefile.am, examples/perftest.pl.in: added - perftest tool + * src/rrd_graph.c: weekday and time are too tight -2006-10-25 17:19 oetiker +2008-01-04 22:53 oetiker - * src/Makefile.am: do not distribute windows files anymore ... + * src/rrd_gfx.c, src/rrd_graph.c: fontmap resolution was not + matching scaled_font resolution ... this killed layouting ... much + better now -2006-10-25 17:18 oetiker +2008-01-03 21:30 oetiker - * Makefile.am: distribute win32 and netware build files too + * doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, + src/rrd_graph_helper.c: get rid of DASHED, only use dashes syntax. + less redundancy -- thomas.gutzler gmail.com -2006-10-25 17:17 oetiker +2008-01-02 22:11 oetiker - * MakeMakefile: do not remove Makefiles from win32 and netware build - dirs + * CONTRIBUTORS, NEWS, doc/rrdgraph_examples.pod, + doc/rrdgraph_graph.pod, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: support for dashed lines in graphs -2006-10-25 17:12 oetiker +2008-01-02 22:06 oetiker - * MakeMakefile, bindings/Makefile.am, bindings/ruby/main.c: fix - build procedure for ruby (clean target) don't run autoreconf at - the end of MakeMakefiles as this has a tendency todo the wrong - things + * src/pngsize.c, src/rrd_graph.c: fix indenting -2006-10-25 16:39 oetiker +2008-01-02 22:06 oetiker - * MakeMakefile: added path to sepp + * doc/Makefile.am: ignore errors with txt doc building -2006-10-25 16:30 oetiker +2007-12-11 23:41 oetiker - * MakeMakefile: aclocal expects a space after -I ... + * Makefile.am, doc/rrdbuild.pod: building the docs depends on the + presence of pod2man ... which does not seem to be installed + necessarily -2006-10-25 16:24 oetiker +2007-12-08 22:15 oetiker - * MakeMakefile: tell aclocal where to find its config ... + * doc/rrdbuild.pod: added shared library locations into the docs -2006-10-25 16:11 oetiker +2007-12-08 21:35 oetiker - * MakeMakefile: aclocal show know where it's stuff is ... + * src/rrd_cgi.c: include stdlib since putenv is in there on solaris -2006-10-22 21:20 oetiker +2007-12-08 16:57 oetiker - * src/parsetime.c: make time paring more robust ... it can now deal - with time date date time time date + xxx date time + xxx + * configure.ac, doc/rrdbuild.pod, src/rrd_getopt.c: fixing solaris + portability * isinf and isnan definitions fixed * check if rt must + be linked * ordering must be read write in getopt * updated build + instructions -2006-10-22 21:09 oetiker +2007-12-02 17:11 oetiker - * src/rrd_graph.c: check if valid control codes are in use + * trunk/tutorial/htwchur/abstract-rrdtut.txt: fixed spelling -2006-10-22 16:01 oetiker +2007-12-02 16:59 oetiker - * bindings/ruby/test.rb: fixed ruby demo + * trunk/tutorial/htwchur, + trunk/tutorial/htwchur/abstract-rrdtut.txt, + trunk/tutorial/htwchur/m7am.odp: initial text -2006-10-22 16:01 oetiker +2007-11-26 20:12 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm: fixed - address + * bindings/python/setup.py: fix libdir for python build -2006-10-03 07:52 oetiker +2007-11-21 10:51 oetiker - * src/rrdupdate.c: added missing file + * configure.ac: fixed NetBSD spelling -2006-09-28 12:38 oetiker +2007-11-21 06:56 oetiker - * doc/rrdruby.pod: fixed doc regarding site install + * configure.ac: define bsd source to get access to chroot -2006-09-27 21:48 oetiker +2007-11-21 06:47 oetiker - * bindings/Makefile.am, bindings/ruby, bindings/ruby/CHANGES, - bindings/ruby/README, bindings/ruby/extconf.rb, - bindings/ruby/main.c, bindings/ruby/test.rb, configure.ac: added - ruby bindings ... thanks to Loïs LHERBIER lois.lherbier covadis.ch + * bindings/perl-shared/Makefile.PL, configure.ac: make perlbuild + more portable -2006-09-27 21:46 oetiker +2007-11-21 05:54 oetiker - * src/Makefile.am, src/rrd_update.c: make rrdupdate realy light as - it was intended in the first place -- Peter Breitenlohner peb - mppmu.mpg.de + * trunk/talks/rrdtooltipsandtricks, + trunk/talks/rrdtooltipsandtricks/abstract.odt, + trunk/talks/rrdtooltipsandtricks/bio.txt, + trunk/talks/rrdtooltipsandtricks/rrdtipsandtricks.odp: initial + checkin -2006-09-27 21:45 oetiker +2007-11-20 22:22 oetiker - * src/parsetime.c: tod can come after the date as well as before the - date + * configure.ac: enable madvise defines in netbsd -2006-09-18 05:45 oetiker +2007-11-20 00:17 oetiker - * netware/Makefile: fix faild netware makefile merge -- Guenter - Knauf + * trunk/status/2007-11-19.txt: added 1.2.26 -2006-09-17 21:08 oetiker +2007-11-20 00:08 oetiker - * src/rrd_update.c: make mvs stop complaining about uninitialized - variables ... -- norman wheeler bigpond.com + * src/rrd_format.h, src/rrd_graph.c, src/rrd_nan_inf.c: remove last + traces of rrd_nan_inf.h fix handling of min==max where min < 0 -2006-09-17 21:05 oetiker +2007-11-19 19:05 oetiker - * doc/rrd-beginners.pod: fixed spelling -- Peter Breitenlohner + * trunk/status/2007-11-19.txt: spell checked -2006-09-17 20:46 oetiker +2007-11-19 19:02 oetiker - * configure.ac, examples/Makefile.am: fix generation of cgi-demo.cgi - -- Peter Breitenlohner peb mppmu.mpg.de + * trunk/status/2007-11-19.txt: added report -2006-09-17 20:31 oetiker +2007-11-15 14:39 oetiker - * MakeMakefile, bindings/Makefile.am, bindings/perl-shared/RRDs.xs, - configure.ac, netware/Makefile, src/getopt.c, src/getopt1.c, - src/rrd_afm.c, src/rrd_tool.h, win32/Makefile: make rrdtool use - rrd_config.h instead of config.h since this is just bound to lead - to confusion when the wrong config.h gets sourced -- Guenter Knauf - fix clean target in bindings directory + * bindings/ruby/main.c, src/rrd.h, src/rrd_create.c, src/rrd_dump.c, + src/rrd_format.h, src/rrd_graph.c, src/rrd_hw.c, src/rrd_info.c, + src/rrd_open.c, src/rrd_restore.c, src/rrd_tune.c, + src/rrd_update.c, src/rrd_xport.c: re-indented files that have + gone out of indent-style over the last few weeks -2006-09-10 19:30 oetiker +2007-11-15 14:36 oetiker - * win32/rrd.dsp, win32/rrd.vcproj, win32/rrdtool.dsp, - win32/rrdtool.dsw, win32/rrdtool.plg: the msvc files need dos file - endings ... + * src/Makefile.am, src/rrd.h, src/rrd_nan_inf.h: integrate + rrd_nan_inf header -2006-09-10 19:26 oetiker +2007-11-15 14:35 oetiker - * src/rrd_rpncalc.c: we want an int, so lets tell the compiler to - make it not complain + * src/rrd_open.c: Improve layout of documentation. -- Bernhard + Fischer -2006-09-10 19:20 oetiker +2007-11-15 14:34 oetiker - * netware/Makefile, win32/Makefile: netware und win32 fixes from - guenter + * src/rrd_update.c: * rrd_update(): Unify error path. * + parse_template(): Likewise. * allocate_data_structures(): Make + error strings use consistent punctuation. -- bernhard fischer -2006-09-05 19:55 oetiker +2007-11-15 14:32 oetiker - * doc/rrdfetch.pod: we do not need an extra echo there + * src/pngsize.c: make sure this compiles with aix -2006-09-05 18:34 oetiker +2007-11-13 01:45 oetiker - * confignt, netware, netware/Makefile, src/Makefile.NetWare, - src/Makefile.Win32, src/rrd.dsp, src/rrd.vcproj, src/rrd_afm.c, - src/rrd_dump.c, src/rrd_gfx.c, src/rrd_graph.c, src/rrd_tool.h, - src/rrdtool.dsp, src/rrdtool.dsw, src/rrdtool.sln, - src/rrdtool.vcproj, src/win32comp.c, win32, win32/Makefile, - win32/config.h, win32/rrd.dsp, win32/rrd.vcproj, - win32/rrdtool.dsp, win32/rrdtool.dsw, win32/rrdtool.plg, - win32/rrdtool.vcproj: put all the architecture specific stuff in - separate subdirectories ... one for netwara and one for win32 -- - Guenter Knauf + * trunk/tutorial/lisa2007/m7am.odp: lisa update -2006-09-05 18:19 oetiker +2007-11-08 10:16 oetiker - * src/gifsize.c: noone needs this anymore + * NEWS, bindings/ruby/main.c, doc/rrdruby.pod: fixed start end time + in ruby fetch and added step size -- Mike Perham mperham gmail -2006-09-04 21:10 oetiker +2007-11-06 21:27 oetiker - * src/rrd_graph.c: in logarithmic mode minval must not be <= 0 + * doc/rrdbuild.pod: updated build instructions -2006-08-24 04:14 oetiker +2007-11-04 21:56 oetiker - * doc/cdeftutorial.pod: add more submission encuragement -- alex + * bindings/perl-piped/RRDp.pm: handle errors properly ... in RRDp + read call -2006-08-21 11:41 oetiker +2007-10-08 14:36 oetiker - * NT-BUILD-TIPS.txt, WIN32-BUILD-TIPS.txt, src/Makefile.NetWare, - src/Makefile.Win32: updated windows build instructions from - guenter + * trunk/tutorial/lisa2007/m7am.odp, + trunk/tutorial/lisa2007/rrdtutorial.odp: fixed name for release -2006-08-16 06:07 oetiker +2007-10-08 14:36 oetiker - * src/rrd_graph.c: contain a potential problem with log grid - painting Bug #54 + * trunk/tutorial/lisa2007/abstract-rrdtut.txt, + trunk/tutorial/lisa2007/rrdtutorial.odp: getting ready for release -2006-08-15 05:51 oetiker +2007-09-16 15:35 oetiker - * src/rrd_first.c: do not loose filedescriptors when rrd_first - errors out + * src/rrd_open.c: no reason to die when posixfadvise is not + sucessful -2006-08-15 05:44 oetiker +2007-09-11 06:28 oetiker - * src/rrd_graph_helper.c: catch empty XXXX: commands in graph + * doc/rrdcreate.pod, doc/rrdtune.pod, src/rrd_create.c, + src/rrd_dump.c, src/rrd_format.h, src/rrd_hw.c, src/rrd_info.c, + src/rrd_restore.c, src/rrd_tune.c: Allow to the the smoothing + window size other thatn the default 5%. -- Evan Miller emiller + imvu.com -2006-08-15 05:24 oetiker +2007-09-11 06:16 oetiker - * Makefile.am, WIN32-BUILD-TIPS.txt: windows is not NT anymore ... - lets call it WIN32 + * configure.ac, src/rrd_open.c: added msync before unmap -2006-08-13 16:41 oetiker +2007-09-08 05:23 oetiker - * src/get_ver.awk: use unix fileendings here! + * CONTRIBUTORS, doc/rrdgraph_rpn.pod, src/rrd_graph.c, + src/rrd_graph.h: added STDEV aggregation function for VDEF. -- + Patrick J Cherry patrick bytemark.co.uk -2006-08-13 16:40 oetiker +2007-09-07 22:53 oetiker - * src/Makefile.NetWare, src/Makefile.Win32: new version added by - Guenter Knauf + * Makefile.am, examples/Makefile.am, examples/perftest.pl.in: a few + leanups -- Bernhard Fischer -2006-08-13 16:25 oetiker +2007-09-06 09:06 oetiker - * src/rrd.h, src/rrd_version.c: added new rrdstrversion function -- - Guenter Knauf + * src/rrd_open.c: added missing ; -2006-08-13 16:22 oetiker +2007-09-06 08:42 oetiker - * src/rrd_graph.c, src/strftime.c, src/strftime.h: use th OS - provided timezone names for %Z this should make things more - flexile will only work on windows, but since we are using - strftime.c on windows only this should not be a problem -- Guenter - Knauf + * src/rrd_open.c: * mimic write() and read() even better -- Bernhard + Fischer -2006-08-13 16:13 oetiker +2007-09-06 08:40 oetiker - * src/rrd_graph.c: include strftime.h for windows builds -- Guenter - Knauff + * src/rrd_open.c: rrd_open.c (rrd_read): Mimicing read() behaviour + for EOF case and NULL buffer case. -- Bernhard Fischer -2006-08-13 16:10 oetiker +2007-09-02 16:55 oetiker - * src/rrd_tool.h: removed mscv defines to confignt/config.h - completely -- Guenter Knauf + * doc/rrdgraph_graph.pod: fixed speling of horizon -2006-08-13 16:09 oetiker +2007-08-29 06:43 oetiker - * confignt/config.h: working windows config.h + * examples/perftest.pl.in: a better performance tester -2006-08-13 16:07 oetiker +2007-08-16 07:31 oetiker - * src/rrd_tool.c: can't define new variables in the middle of the - code (unless everyone was using c99 which is not the case) + * doc/rrdgraph_examples.pod: added holt winters example back into + the examples documentation -2006-08-13 15:21 oetiker +2007-08-14 21:59 oetiker - * src/rrd_graph.c: added special labeling for LONGTERM graphs -- - Paul Boven p.boven sara.nl + * src/rrd_update.c: Fix for HoltWinters phase-shift bug described + below. When one or more primary data point times were missed, the + SEASONAL and DEVSEASONAL archives were marked as being up-to-date, + so that they would not be written to. It was correct not to write + to these archives, but the code failed to advance the pointers + within the SEASONAL and DEVSEASONAL archives so that future + updates would go to the correct location in the archives. Rather + than mark these archives as up-to-date (by setting + rra_step_cnt[rra_idx] = 0), my patch allocates a new "skip_update" + array that is set to 1 for SEASONAL and DEVSEASONAL archives that + have missed one or more primary data points. When an RRA is + written to, the cur_row pointer advancement happens for all + archives, but the skip_update array is checked just before + actually writing out the changes. Please give it a whirl! -- Evan + Miller emiller imvu.com -2006-08-10 07:46 oetiker +2007-08-13 20:06 oetiker - * acinclude.m4: it seems some headers have nan predefined ... so - lets just use other variable names + * src/rrd_update.c: Refactored rrd_update code in preparation of + finding the HW update problem -- Evan Miller -2006-08-04 15:06 oetiker +2007-08-07 15:02 oetiker - * acinclude.m4: copy of the solaris isnan hack from configure.ac + * doc/rrdbuild.pod: updated build instructions for 1.3 -2006-08-03 22:21 oetiker +2007-08-03 23:46 oetiker - * configure.ac: solaris 10 has isnan defined as a sun forte builtin - ... gcc can not deal with this this will replace isnan with an - fpclass expression hopefully working around the problem + * trunk/talks/rrdtool13/rrdtool13.odp: initial talk -2006-08-02 15:05 oetiker +2007-08-03 21:27 oetiker - * bindings/python/rrdtoolmodule.c: fixing python bindings ... Jarod - Wilson jwilson redhat.com + * trunk/talks/rrdtool13/rrdtool13.odp: addded details -2006-08-01 13:08 oetiker +2007-08-03 19:46 oetiker - * doc/rrdxport.pod, src/rrd_tool.c, src/rrd_xport.c: unknownaszero - was not a good idea ... bye bye + * svn2cl.xsl: prepare for the release of rrdtool-1.2.99907080300 -2006-07-31 22:48 oetiker +2007-08-03 19:45 oetiker - * doc/rrdxport.pod, src/rrd_tool.c, src/rrd_xport.c: new options - --enumds and --unknwonaszero for xport + * libraries, src/DejaVuSansMono-Roman.ttf, src/VeraMono.ttf: remove + some things we do not need anymore in 1.3 -2006-07-14 12:11 oetiker +2007-08-03 19:43 oetiker * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, + doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h: prepare for - the release of rrdtool-1.2.15 + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of + rrdtool-1.2.99907080300 -2006-07-14 12:06 oetiker +2007-08-03 19:43 oetiker - * src/rrd_tool.c: we were leaking directory handles ... + * configure.ac, rrdtool-1.3-release: prepare for 1.3 beta 1 -2006-07-14 11:34 oetiker +2007-08-03 19:26 oetiker - * doc/rrdbuild.pod: remove an excess =over + * src/Makefile.am: continue with the revision numbering -2006-07-14 11:32 oetiker +2007-08-03 19:17 oetiker - * doc/rrdbuild.pod: added missing =over + * doc/rrdgraph_graph.pod: added notes on pango inline formatting -2006-07-14 11:12 oetiker +2007-08-02 18:21 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, - src/gdpng.c, src/gifsize.c, src/pngsize.c, src/rrd.h, - src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.14 + * trunk/talks/rrdtool13, trunk/talks/rrdtool13/rrdtool13.odp, + trunk/talks/rrdtoolfast/monitoring-en.ppt, + trunk/talks/rrdtoolfast/onlineusv-de.ppt: talk updates -2006-07-14 09:47 oetiker +2007-08-01 15:29 oetiker - * src/rrd_graph.c: do not reset im->gdes[i].step blindly. We - initialize it to im->step at allocation time already ... the fix - in r291 was over the top. -- niels weaklogic.com + * src/rrd_graph.c: only release cairo stuff if we ever initialized + it. -2006-07-14 08:56 oetiker +2007-08-01 15:28 oetiker - * doc/rrdtool.pod, src/rrd_tool.c: added pwd command for remote - server reset errno to zero before each loop -- Damien.Stuart - usi.net + * src/rrd_xport.c: fix for 64bit portability problem ... unsigned + long is not int -2006-07-13 08:44 oetiker +2007-07-31 04:53 oetiker - * src/Makefile.NetWare, src/Makefile.Win32: fixed makefiles without - libcgi ... guenter knauf + * bindings/ruby/main.c: reindented -2006-07-07 22:37 oetiker +2007-07-30 22:29 oetiker - * CONTRIBUTORS, bindings/python/rrdtoolmodule.c: added first - function to python bindings ... -- Ulf Lilleengen lulf pvv.ntnu.no + * trunk/tutorial/lisa2007/abstract-rrdtut.txt: added toppics -2006-07-05 22:00 oetiker +2007-07-25 20:38 oetiker - * src/Makefile.NetWare, src/Makefile.Win32: we have no cgilib - anymore .... + * src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c, + src/rrd_format.h, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_open.c, src/rrd_restore.c, src/rrd_rpncalc.c, + src/rrd_tool.h, src/rrd_tune.c: fixed indenting -2006-07-04 21:04 oetiker +2007-07-25 20:38 oetiker - * src/rrd_restore.c: let rrdtool understand headers in - rrdtool restore input + * src/rrd_update.c: make sure we check input even when the previous + update was a 'U' ... and some indenting fixes -2006-06-18 21:21 oetiker +2007-07-24 20:35 oetiker - * doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, src/rrd_rpncalc.h: Added - AVG function to CDEF language. Martin Sperl martin sperl.org + * trunk/contrib/php4/rrdtool_logo.h: added missing header -2006-06-15 22:16 oetiker +2007-07-22 15:51 oetiker - * doc/rrdbuild.pod: fixed libpng link + * src/rrd_format.h: new consolidation functions must be added last + or this will break binary compatibility -2006-06-15 07:44 oetiker +2007-07-22 15:50 oetiker - * doc/rrdbuild.pod: added hint for RHEL + * src/rrd_update.c: don't force data out ... let cache management do + this -2006-06-13 21:20 oetiker +2007-07-22 09:47 oetiker - * rrdtool.spec: added missing tcl files + * NEWS, src/rrd_create.c, src/rrd_dump.c, src/rrd_format.h, + src/rrd_restore.c: Only create version 4 rrd files if the new + holtwinters MHW.. CF is used. -2006-06-07 21:01 oetiker +2007-07-21 19:55 oetiker - * doc/cdeftutorial.pod: fix calc of fahrenheit ... + * src/rrd_open.c: * remove some experimental code from rrd_open * + rrd_dontneed will release all data except for header blocks and + RRA hot blocks which are going to be updated withing 10 minutes. -2006-06-06 13:25 oetiker +2007-07-21 19:53 oetiker - * doc/rrdbuild.pod: additional AIX hints from zoran.majcenic inet.hr + * src/rrd_fetch.c: for now, do not release fetched data ... in the + future we may call rrd_dontneed and let the users decied with an + option if they want to keep the data in cache ... -2006-06-06 08:16 oetiker +2007-07-21 19:52 oetiker - * rrdtool.spec: new, working rrdtool.spec file from Jarod Wilson - jwilson redhat.com + * src/Makefile.am: the fonts are now taken from the system. we do + not distribute them anympore -2006-05-27 05:44 oetiker +2007-07-21 19:37 oetiker - * bindings/python/rrdtoolmodule.c: python uses the name of the - module for loding, so this should better match up -- Duncan Webb - duncan dwebb ch + * NEWS: not on update rrd version -2006-05-25 15:13 oetiker +2007-07-20 22:20 oetiker - * doc/rrdbuild.pod: addeed AIX instructions + * src/rrd_format.h: we have a new holtwinders aggregation fucntion, + so we have a new version ... -2006-05-23 06:52 oetiker +2007-07-20 22:19 oetiker - * src/rrd_graph.c: adjust label spacing to make sure labels don't - overlap for the default font. + * configure.ac: check for fadvise all the time -2006-05-21 22:14 oetiker +2007-07-20 22:16 oetiker - * doc/rrdgraph_data.pod: add note about variable name picking as - suggested by alex + * doc/rrdcreate.pod: better docs on the aggregate functions -2006-05-21 22:07 oetiker +2007-07-18 22:02 oetiker - * src/Makefile.NetWare, src/Makefile.Win32: another Makefile update - from guenter + * NEWS: added note on locale -2006-05-21 22:06 oetiker +2007-07-18 21:59 oetiker - * src/Makefile.NetWare, src/Makefile.Win32: tiny updates to netware - and win32 makefiles -- Guenter Knauf + * src/rrd_graph_helper.c: some more piechart removed -2006-05-21 21:53 oetiker +2007-07-18 21:47 oetiker - * doc/rrd-beginners.pod: fixed type hte->the + * src/rrd_create.c, src/rrd_graph.c, src/rrd_rpncalc.c, + src/rrd_tune.c, src/rrd_update.c: make sure all ascii to float + parsing uses LC_NUMERIC = C so that we do not stuble on locales + confusing the , with a . -2006-05-21 21:47 oetiker +2007-07-18 00:30 oetiker - * src/rrd_graph.c: make vdef time part available in the data_calc - stage so that the legend printer can decide properly + * src/rrd_create.c, src/rrd_open.c, src/rrd_tool.h, + src/rrd_update.c: * rrd_open: rrd_close does not purge file from + cache * rrd_open: new function rrd_dontneed for purging un-needed + pages from core * rrd_open: in linux at least only fadivse + DONTNEED has the power to purge pages from cache, so letst call + madvise as well as fadvise * rrd_create: uses open/write/close + now, flushes file to disk and keeps only hot pages in core * + rrd_update: keeps only hot pages in core * configure enables + FADVISE even when mmap is in use -2006-05-21 21:15 oetiker +2007-07-17 21:46 oetiker - * doc/rrdgraph_graph.pod, src/rrd_graph.c, src/rrd_graph.h, - src/rrd_graph_helper.c: new GPRINT option :strftime to print time - associated with a VDEF value + * src/rrd_open.c, src/rrd_resize.c: added comment on float cookie -2006-05-21 20:20 oetiker +2007-07-16 06:37 oetiker - * configure.ac: make configure test which flags gcc actually accepts - ... + * bindings/ruby/main.c: fix for fetch in ruby bindings and support + for info added. -2006-05-21 13:08 oetiker +2007-07-14 13:26 oetiker - * doc/rrdgraph_graph.pod: don't deprecate HRULE anymore + * trunk/status/2007-07-14.txt: added report -2006-05-21 12:37 oetiker +2007-07-12 20:33 oetiker - * src/rrd_rpncalc.c: allow DS names starting with the same letters - as operators + * doc/rrdtutorial.pod: improve wording -2006-05-12 13:26 oetiker +2007-07-12 20:33 oetiker - * src/Makefile.am: we wan't to dist thread_save_nt too + * configure.ac: fix tcl build settup -2006-05-11 11:11 oetiker +2007-07-12 20:33 oetiker - * src/rrd_nan_inf.c: make DNAN and DINF faster by caching the result - of the first calculation -- pascal.gloor spale.com + * trunk/tutorial/emanics/rrd-exercises.tex, + trunk/tutorial/emanics/rrdtutorial.odp, + trunk/tutorial/linuxforum2007/rrdtutorial.odp: monor updates -2006-05-11 07:37 oetiker +2007-07-11 23:08 oetiker - * bindings/perl-shared/Makefile.PL: tell Makefile.PL how to store an - rpath under aix + * src/rrd_create.c: usr rrd_free for freeing the rrd structs ... + vito caputo -2006-05-10 20:51 oetiker +2007-07-10 05:31 oetiker - * src/rrd_graph.c: improved scaling for --logarithmic mode ... -- - beat.zahnd space.unibe.ch + * trunk/tutorial/emanics/rrd-exercises.tex: fixed linebreak -2006-05-09 18:46 oetiker +2007-07-09 20:18 oetiker - * src/rrd_create.c: don't panic if the user forgets to specify the - name of the rrd file + * trunk/tutorial/emanics/rrd-exercises.tex: remove the 3.5h comment -2006-05-07 10:46 oetiker +2007-07-06 14:05 oetiker - * src/rrd_graph.c: make legend spacing more reliable. handle the - fact that some graph comands do not contribute to the legend -- - tobi + * trunk/tutorial/emanics, trunk/tutorial/emanics/rrd-exercises.tex, + trunk/tutorial/emanics/rrdtutorial.odp: initial emanics versions -2006-05-06 13:29 oetiker +2007-07-05 15:19 oetiker - * doc/Makefile.am: lets have index.html -- Peter Breitenlohner + * src/rrd_graph_helper.c: prevent potential segfaults on boxes where + time_t is not long -2006-05-06 13:28 oetiker +2007-06-24 11:42 oetiker - * src/rrd.h, src/rrd_dump.c: Avoid gcc warning (discards qualifier) - in tclrrd.c -- Peter Breitenlohner + * trunk/tutorial/lisa2007/abstract-rrdtut.txt: add halfday -2006-05-06 13:28 oetiker +2007-06-24 11:41 oetiker - * src/rrd_graph.c: Avoid gcc warning ("static not first") -- Peter - Breitenlohner + * trunk/tutorial/lisa2007/abstract-rrdtut.txt: fritz fix -2006-05-06 13:24 oetiker +2007-06-19 06:26 oetiker - * configure.ac: Avoid gcc warnings about use of "long long" -- Peter - Breitenlohner + * trunk/tutorial/lisa2007: updated for lisa -2006-05-06 13:21 oetiker +2007-06-18 18:25 oetiker - * bindings/tcl/Makefile.am: Use tclpkgdir instead of pkglibdir in - order to avoid automake warning -- Peter Breitenlohner + * src/rrd_cgi.c, src/rrd_graph.c, src/rrd_tune.c, src/rrd_xport.c: + fix indentation -2006-05-06 13:20 oetiker +2007-06-18 16:05 oetiker - * bindings/python/Makefile.am: The rrdtoolmodule.so should be - installed in pyexecdir instead of pythondir (they differ if - prefix!=exec_prefix) -- Peter Breitenlohner + * configure.ac, src/parsetime.c, src/rrd_cgi.c, src/rrd_create.c, + src/rrd_fetch.c, src/rrd_first.c, src/rrd_getopt.c, + src/rrd_getopt1.c, src/rrd_graph.c, src/rrd_open.c, + src/rrd_restore.c, src/rrd_thread_safe.c, src/rrd_tune.c, + src/rrd_update.c, src/rrd_xport.c: Bernhard Fischer: - move + several static struct option out of loops and makes them + non-static - moves some functions from old-style definitions into + new-style definitions -2006-05-04 20:41 oetiker +2007-06-16 23:20 oetiker - * src/Makefile.am, src/rrd_error.c, src/rrd_restore.c, - src/rrd_rpncalc.c: fix for debian bug 359071 ... reporting the - long cdef in the error message was too much ... plus some other - small cleanups in this context + * CONTRIBUTORS: Bernhard is not Benrard -2006-05-04 13:26 oetiker +2007-06-16 05:32 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, - src/gdpng.c, src/gifsize.c, src/pngsize.c, src/rrd.h, - src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.13 + * trunk/contrib/php4/config.m4, trunk/contrib/php4/configure, + trunk/contrib/php4/ltconfig, trunk/contrib/php4/php_rrdtool.h, + trunk/contrib/php4/rrdtool.c: lets have just a single rrdtool + extension annd not two ... -- Jarod Wilson -2006-05-04 13:24 oetiker +2007-06-15 21:49 oetiker - * PROJECTS, README, acinclude.m4, configure.ac, doc/rrdbuild.pod, - doc/rrdcgi.pod, doc/rrdcreate.pod, doc/rrddump.pod, - doc/rrdfetch.pod, doc/rrdgraph-old.pod, doc/rrdgraph.pod, - doc/rrdgraph_data.pod, doc/rrdgraph_examples.pod, - doc/rrdgraph_graph.pod, doc/rrdgraph_rpn.pod, doc/rrdinfo.pod, - doc/rrdrestore.pod, doc/rrdtool.pod, doc/rrdtune.pod, - doc/rrdtutorial.pod, doc/rrdupdate.pod, doc/rrdxport.pod: fix my - mail address + * NEWS: notes on evans contribs -2006-05-04 13:12 oetiker +2007-06-15 21:41 oetiker - * src/rrd_create.c, src/rrd_open.c, src/rrd_restore.c: fewer double - frees ... -- slamb slamb.org + * rrdtool.spec: rrdtool.spec from Jarod "redhat" Wilson -2006-05-04 13:02 oetiker +2007-06-15 08:09 oetiker + + * CONTRIBUTORS: updated contributors + +2007-06-15 08:01 oetiker + + * NEWS: added note on TEXTALIGN + +2007-06-15 07:59 oetiker + + * doc/rrdcreate.pod, doc/rrdtune.pod, src/Makefile.am, + src/rrd_create.c, src/rrd_dump.c, src/rrd_format.c, + src/rrd_format.h, src/rrd_graph.c, src/rrd_hw.c, + src/rrd_hw_math.c, src/rrd_hw_math.h, src/rrd_hw_update.c, + src/rrd_hw_update.h, src/rrd_info.c, src/rrd_restore.c, + src/rrd_tune.c, src/rrd_update.c: There are two popular variants + of the Holt-Winters forecasting method; RRDtool supports the + "additive" method, which means that seasonal variation is simply + added to the baseline. For our application, it would be more + appropriate to use the "multiplicative" Holt-Winters method, where + seasonal variation is a coefficient multiplied by the baseline. + Quick example to illustrate the difference: if the average doubles + season-over-season, the additive method would predict the delta + between min and max to be constant, whereas the multiplicative + method would predict the delta to double as well. Attached is a + patch against trunk to support the multiplicative method. I've + done this with a new consolidation function, MHWPREDICT, which is + essentially interchangeable with HWPREDICT. There is a noticeable + improvement in prediction deviations for certain types of + functions; the attachments show HWPREDICT and MHWPREDICT + predictions for a function with an x*sin(x) component. Because + HWPREDICT and MHWPREDICT differ only in their equations, I've + factored out their math into rrd_hw_math.c. The appropriate + smoothing functions are passed to the update functions in a + container of function pointers, which are called where + appropriate. Thus the additive and multiplicative methods use the + same update functions, and the right equations are evaluated + without having flag checks everywhere. This approach, I think, + makes the algorithms quite clear, with minimal duplicate code. I + have moved update_hwpredict, update_seasonal, update_devpredict, + update_devseasonal, and update_failures into a separate file, + rrd_hw_update.c, with some slight refactoring related to + rrd_hw_math.c. I ran some regression tests against trunk to make + sure I didn't break anything with the existing HWPREDICT code. + MHWPREDICT uses the same deviation smoothing and failure detection + algorithms as HWPREDICT. Some helpful references on the + multiplicative Holt-Winters method: + http://www.it.iitb.ac.in/~praj/acads/seminar/04329008_ExponentialSmoothing.pdf + (a student's quick overview of additive vs. multiplicative HW) + http://ideas.repec.org/p/msh/ebswps/1999-1.html (paper on + variations to the multiplicative Holt-Winters, including variance + calculations; FYI, my implementation uses "Model 1") My employer + and the owner of this patch (IMVU, Inc.) is happy to license it + under the same terms as RRDtool, i.e. give it to the project. -- + Evan Miller emiller imvu.com + +2007-06-15 06:43 oetiker + + * src/rrd.h: oops missed to update the in memory output interface + here + +2007-06-15 06:28 oetiker + + * src/rrd.h, src/rrd_graph.c, src/rrd_graph.h: added interface to + get rendered image via a pointer to allocated memory ... Evan + Miller emmiller gmail.com + +2007-06-15 06:12 oetiker + + * configure.ac: improve fontnaming + +2007-06-14 20:30 oetiker + + * bindings/ruby/main.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_rpncalc.c: fixed indentation + +2007-06-14 20:28 oetiker - * src/rrd_restore.c: * fixed argument parsing for long options * no - more doublefree on abort * enable restore of xml dumps created - with rrdtool 1.0.x + * doc/rrdgraph_graph.pod, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: added TEXTALIGN command to change the + default text alignment -2006-05-04 12:11 oetiker +2007-06-13 16:53 oetiker - * src/rrd_fetch.c: if end % step == 0 we should still fetch a full - step ... no need for special handling + * bindings/tcl/Makefile.am, bindings/tcl/tclrrd.c: fixed tcl + includes -2006-05-04 07:48 oetiker +2007-06-13 16:51 oetiker - * src/rrd_update.c: updated handling of subsecond resolution in - connection with unknown data ... bugreport #38 pointed out that - the old handling where the seconds were rounded could lead to - cases where the data stored was higher than the data input ... now - I always floor the unknown seconds and this will lead to the same - or lower data but not higher ... -- tobi + * bindings/ruby/main.c: be more helpful when raising rb_eTypeError + in string_arr string_arr_new(VALUE rb_strings). This patch + indicates which index is in error as well as the type you are + erroneously passing. -- anonymous -2006-05-02 20:52 oetiker +2007-06-12 20:36 oetiker - * src/rrd_graph.c: variables should be defined at the bein of the - block ... else we loose portability! + * src/rrd_update.c: Bernhard Fischer: - fix nulling the updvals - + cosmetic change to move the option struct out of the loop. - need + to operate on a copy of optarg -2006-04-29 08:57 oetiker +2007-06-11 19:45 oetiker - * doc/rrdbuild.pod: fixed spelling + * doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, src/rrd_rpncalc.h: added + TRENDNAN function -- Timo Stripf -2006-04-27 06:37 oetiker +2007-06-11 19:45 oetiker - * CONTRIBUTORS, doc/rrdgraph.pod, src/rrd_graph.c, src/rrd_graph.h: - new units=si option -- wim.heirmann elis.urgent.be + * src/rrd_graph.c: allow output to stdout -- Timo Stripf -2006-04-25 21:00 oetiker +2007-06-11 16:49 oetiker - * src/rrd_gfx.c: compile without multibyte support + * NEWS: added more news -2006-04-25 20:59 oetiker +2007-06-11 16:34 oetiker - * src/Makefile.am: lets have proper dependencies + * doc/rrdgraph.pod, src/rrd_graph.c: fixed indentation, added + documentation note on gridfitting. -2006-04-24 15:14 oetiker +2007-06-11 16:33 oetiker - * src/rrd_graph.c: make sure things are initialised ... + * src/rrd_graph.c: fix arrow locations -2006-04-18 05:29 oetiker +2007-06-11 16:20 oetiker - * rrdtool.spec: shared should be share ! + * src/rrd_graph.c: disable gridfitting for vector formats -2006-04-17 20:25 oetiker +2007-06-11 16:14 oetiker - * src/rrd_graph.c: Add a second label to the Y axis if there is only - going to be one -- Jason A. Smith smithj4 X bnl.gov + * src/rrd_graph.c, src/rrd_graph.h: make pdf output work -2006-04-14 10:17 oetiker +2007-06-11 15:32 oetiker - * acinclude.m4, doc/rrdbuild.pod: no more people links! + * NEWS: added detail -2006-04-14 09:22 oetiker +2007-06-11 15:11 oetiker - * bindings/python/setup.py, debian/copyright, rrdtool.spec: remove - people references + * NEWS, configure.ac, doc/rrdgraph.pod, src/Makefile.am, + src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: --font-render-mode is back, and there is + also --graph-render-mode now. It allows to enable mono graphs that + look strikingly like rrdtool 1.0.x --tobi -2006-04-07 14:37 oetiker +2007-06-11 13:36 oetiker - * doc/rrdbuild.pod: add solaris hint to bild procedure + * NEWS, src/rrd_update.c: Bernhard Fischer: - NEWS mention the new + file accessors - rrd_update.c: remove unused some cruft -2006-04-04 18:46 oetiker +2007-06-11 10:09 oetiker - * CONTRIBUTORS, src/rrd_tool.c: allow for input lines of arbitrary - length in rrdtool pipe mode -- roger.meier terreactive.ch + * src/rrd_update.c: Bernhard Fischer: - fix maintaining our file-pos + when we have to wrap the rra_ptr in update(). - no need to update + the header-data a second time for the mmap case. -2006-04-01 15:36 oetiker +2007-06-11 00:23 oetiker - * CONTRIBUTORS, doc/rrdgraph.pod, src/rrd_graph.c, src/rrd_graph.h, - src/rrd_tool.c: watermartk feature for rrdgraph by Ronan Mullally + * NEWS: updated news -2006-03-26 14:36 oetiker +2007-06-11 00:22 oetiker - * src/rrd_rpncalc.c: vnames can be up to MAX_VNAME_LEN long ... not - only 30 chars ... -- Ulf Harnhammar metaur telia.com + * configure.ac, doc/rrdgraph.pod, src/Makefile.am: * added some + documentation * updated version number -2006-03-26 14:29 oetiker +2007-06-10 23:55 oetiker - * src/rrd_graph.c: potential bufferoverflow throught large windir - avoided + * acinclude.m4, configure.ac, src/Makefile.am, src/art_rgba_svp.c, + src/art_rgba_svp.h, src/rrd_afm.c, src/rrd_afm.h, + src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_gfx.c, + src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: switched graphics library from arts to + cairo+pango -2006-03-14 14:59 oetiker +2007-06-04 11:15 oetiker - * NEWS: added note on the fact that no OK will be printed in rrdtool - pipe mode if an error occures. + * configure.ac, src/Makefile.am: Bernhard Fischer: - new configure + option --enable-static-programs -2006-03-14 07:11 oetiker +2007-06-01 19:11 oetiker - * doc/rrdtool.pod: RRDtool in remote mode will either print an ERROR - line or an OK line not both. + * src/rrd_open.c, src/rrd_resize.c: Bernhard: - implement resize + SHRINK for FD (mmap is to be done) - indent -2006-03-13 23:21 oetiker +2007-06-01 17:59 oetiker - * src/rrd_tool.c: in pipe mode, make rrd_tool send errors to STDOUT - (most of the time) -- tobi + * src/rrd_graph.c: --full-size-mode with and without --no-legend + should work now -- Matthew Chambers -2006-03-06 07:15 oetiker +2007-06-01 17:35 oetiker - * src/rrd_graph.c: at least freebsd will not do utf8 bits properly - without this + * src/rrd_open.c, src/rrd_resize.c: Bernhard - fill the file with + DNAN and add the remaining data in after the fact ... -2006-03-03 23:11 oetiker +2007-06-01 17:34 oetiker - * doc/rrdgraph_graph.pod, src/rrd_graph.c, src/rrd_graph_helper.c: * - simplify code for STACK function ... there were two code paths - (new as well as legacy from 1.0.x) * make TICK work for negative - fractions + * src/rrd_open.c, src/rrd_resize.c: Bernhard Fischer - implement + resize, growing part. truncation is to be done. -2006-03-03 23:10 oetiker +2007-06-01 09:10 oetiker - * configure.ac: remove ~ from my wishlist address ... + * src/rrd_cgi.c, src/rrd_graph_helper.c, src/rrd_open.c: Bernhard + Fischer - use 'z' length modifier when printing size_t - add a + cast to __rrd_read and document why it is there - add RANDOM hint + for the header -2006-03-03 23:10 oetiker +2007-05-31 18:47 oetiker - * src/rrd_gfx.c: make this compile even when HAVE_MBSTOWCS is not - set + * src/rrd_open.c: Bernhard: - plug tiny mem-leak in error path of + rrd_close where freeing the rrd_file was forgotten. - improve two + error messages - use CHECK_MADVISE_OVERLAPS per default -2006-02-23 07:26 oetiker +2007-05-30 19:56 oetiker - * src/rrd_fetch.c: separate matching of full and partial match - evaluation for better result stability. The fetch result was - dependent on the RRA ordering before. -- Jo Rhett jrhett - svcolo.com + * src/rrd_open.c, src/rrd_update.c: fix rrd_write -- Bernhard + Fischer -2006-02-20 06:20 oetiker +2007-05-30 12:41 oetiker - * doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod: YYYYMMDDhhmm is - not supported ... only YYYYMMDD + * src/rrd_fetch.c, src/rrd_first.c, src/rrd_graph.c, + src/rrd_graph.h, src/rrd_info.c, src/rrd_lastupdate.c, + src/rrd_open.c, src/rrd_resize.c: fix indenting ... again -2006-02-08 11:35 oetiker +2007-05-30 12:39 oetiker - * doc/rrdcgi.pod, src/rrd_cgi.c: OS and COPYRIGHT removed from the - rrdcgi INTERNAL function since we do not have this info + * src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_info.c, src/rrd_last.c, + src/rrd_lastupdate.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_tune.c, src/rrd_update.c: From Bernhard Fischer - + rrd_close(): call close on the file and use rrd_close consistently + - clean up some error paths. The fadvise error path is leaking + memory (see XXX in these spots). -2006-02-06 19:49 oetiker +2007-05-30 09:28 oetiker - * doc/rrdcgi.pod, src/rrd_cgi.c: new rrdcgi function RRD::INTERNAL - for accessing VERSION, COPYRIGHT, COMPILETIME, OS -- Guenter Knauf - gk gknw.de + * trunk/contrib/php4/examples/rrd_fetch.php, + trunk/contrib/php4/php_rrdtool.h, trunk/contrib/php4/rrdtool.c: + make this work on recent php4 versions -- Bernhard Fischer -2006-02-06 19:46 oetiker +2007-05-30 05:23 oetiker - * COPYRIGHT, rrdtool-1.2-release, src/rrd_tool.c: we have 2006 now - so let's show it + * CONTRIBUTORS, doc/rrdgraph.pod, src/rrd_graph.c, src/rrd_graph.h: + switch for rrd_graph to specify the outer-size of the graph and + not just the size of the canvas: --full-size-mode -- + matthew.chambers vanderbilt.edu + +2007-05-29 21:29 oetiker + + * configure.ac, examples/perftest.pl.in, src/rrd_hw.c, + src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_open.c, + src/rrd_resize.c, src/rrd_tool.c, src/rrd_tune.c, + src/rrd_update.c: More updates from Bernhard Fischer - flag + rrd_resize's old file with RRD_COPY - cleanup error-handling + pathes in rrd_update and fix a few typos in comments - + rrd_close(): implement printing mincore results for the rrd if + DEBUG=2 was defined - rrd_open(): madvise start addresses need to + be page-aligned; implement alternative path to the fine-grained + (i.e. exact) madvise by flagging just the first two pages as + needed (see TWO_PAGES). Implement alternative path that records + the last madvise()ed area to avoid redundant calls to madvise() on + identical areas (due to page-alignment constraints) -- see + CHECK_MADVISE_OVERLAPS. Implement path for USE_DIRECT_IO. - + configure: add check for O_DIRECT flag to open(2). Add option + --enable-direct-io. Add _GNU_SOURCE to CFLAGS to silence warnings + about chroot which is marked LEGACY since SUSv2 and is a non POSIX + extension. Make checks for posix_fadvise() dependant on + --disable-mmap, since we do not need fadvise for the mmap case. + +2007-05-25 15:24 oetiker + + * src/rrd_stat.c: tobis old cruft removal program ... + +2007-05-25 13:14 oetiker + + * src/rrd_dump.c, src/rrd_fetch.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_update.c: updates from Bernhard Fischer rep dot nop gmail + com - add some more rrd_sterror calls to failure paths. - make + rrdtool updatev work like 1.2.23 (i.e. multiple values are still + broken, but at least updating a single value works; see + http://oss.oetiker.ch/rrdtool-trac/ticket/8) - indent touched + files. + +2007-05-25 13:12 oetiker + + * .indent.pro, Makefile.am, configure.ac, examples/perftest.pl.in, + src/rrd_dump.c, src/rrd_fetch.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_tool.h, src/rrd_update.c: Updates from Bernhard Fischer + rep dot nop gmail com - fix typo in rrd_fetch where rrd_read + result was checked against an incorrect size. - in rrd_fetch, drop + rrd_head_size in favour of rrd_file->header_len - in rrd_fetch, + make the message "post fetch" unambiguous (now past vs. post). - + change usage of param rdwr of rrd_open: allow for RRD_READONLY, + RRD_READWRITE, RRD_CREAT, RRD_READAHEAD; adjust callers + accordingly: + rrd_resize needs CREAT + rrd_dump may want + READAHEAD - implement FD based I/O in rrd_open, rrd_read, + rrd_write, rrd_seek. - in rrd_update, unify write_RRA_row(). - + sort | uniq the -T in .indent.pro (info_t was duplicated) - add + stub of an option to use O_DIRECT to the configury - in + Makefile.am, simplify the "indent" invocation of find: My find may + not support "-o" resp. "-or" nor braces. Using -name "*.[ch]" + works everywhere, AFAIK. + +2007-05-24 08:26 oetiker + + * configure.ac: use proper preprocessor directives for the + config-checks. -- tobi + +2007-05-24 07:21 oetiker + + * configure.ac: fixed version number for development + +2007-05-24 06:16 oetiker + + * .indent.pro, Makefile.am, bindings/python/rrd_extra.h, + bindings/python/rrdtoolmodule.c, bindings/ruby/main.c, + bindings/tcl/tclrrd.c, libraries/afm/test-afm.c, src/.indent.pro, + src/hash_32.c, src/parsetime.c, src/rrd.h, src/rrd_afm.c, + src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c, src/rrd_gfx.c, + src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_info.c, src/rrd_open.c, + src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_tool.h, + src/rrd_update.c, src/rrd_xport.c, win32/config.h: indent all the + rest of the code, and add some typedefs to indent.pro there is now + a indent makefile target -2006-01-29 23:28 oetiker +2007-05-23 21:40 oetiker - * src/Makefile.NetWare, src/Makefile.Win32: more makefile cleanup - from Guenter Knauf gk gknw.de + * src/gdpng.c: removed superfluouse code -2006-01-25 19:09 oetiker +2007-05-23 21:39 oetiker - * bindings/perl-piped/RRDp.pm: allow RRDp to catch errors + * src/.indent.pro: added more indenting rules -2006-01-22 12:02 oetiker +2007-05-23 21:33 oetiker - * doc/rrdcreate.pod: clarified the documentation of xff -- Michael - Bunk mb computer-leipzig.com + * src/.indent.pro, src/art_rgba_svp.c, src/art_rgba_svp.h, + src/fnv.h, src/gdpng.c, src/hash_32.c, src/parsetime.c, + src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, + src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, + src/rrd_create.c, src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, + src/rrd_fetch.c, src/rrd_first.c, src/rrd_format.c, + src/rrd_format.h, src/rrd_getopt.c, src/rrd_getopt.h, + src/rrd_getopt1.c, src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, + src/rrd_graph.h, src/rrd_graph_helper.c, src/rrd_hw.c, + src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, + src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_nan_inf.c, + src/rrd_nan_inf.h, src/rrd_not_thread_safe.c, src/rrd_open.c, + src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, + src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, + src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, + src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, + src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c, src/strftime.c, + src/strftime.h, src/win32comp.c: reindented everything according + to .indent.pro -2006-01-22 11:00 oetiker +2007-05-23 20:57 oetiker - * doc/rrdgraph_rpn.pod: the operator in the example is * not + -- - Nick Sharp njsharp bigpond.net.au + * .indent.pro, src/.indent.pro: profile must be in the source + directory to work -2006-01-15 13:31 oetiker +2007-05-23 20:57 oetiker - * bindings/perl-shared/RRDs.xs: make sure we pickup the correct - config.h ... -- Blair Zajac blair orcaware.com + * .indent.pro: tabs be gone! -2006-01-15 12:31 oetiker +2007-05-23 20:42 oetiker - * src/rrd_tool.c: make sure the image size only gets printed from - rrd_tool when --imageinfo is NOT set. + * configure.ac, src/Makefile.am, src/rrd.h, src/rrd_dump.c, + src/rrd_fetch.c, src/rrd_first.c, src/rrd_hw.c, src/rrd_hw.h, + src/rrd_info.c, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, + src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_tool.h, + src/rrd_tune.c, src/rrd_update.c, src/unused.h: * progress in + moving all the fileaccess over to a wrapper system that can do fd + based and mmap based fileaccess transparently ... * small fixes + left and right to improve code quality and stability. -- Bernhard + Fischer rep dot nop gmail com -2006-01-15 12:25 oetiker +2007-05-23 16:10 oetiker - * src/rrd_graph.c: make sure gcc does not thing gridind may be - undefined + * .indent.pro: we are going to use indent from now on to keep code + indenting consistent throughout the project -2006-01-15 11:12 oetiker +2007-05-23 16:08 oetiker - * doc/rrdcreate.pod: HWPREDICT without reference number will - implicitly create the other Holt-Winters RRAs. + * .: new trunk based on current 1.2 -2006-01-15 09:03 oetiker +2007-05-23 16:07 oetiker - * src/Makefile.NetWare, src/Makefile.Win32, src/rrd_tool.h: updated - NetWare and Cygwin Builds + * .: restarting trynk for 1.2 -2006-01-15 08:55 oetiker +2007-05-22 11:03 oetiker - * src/rrd_graph.c: make sure gridind is defined under all conditions + * trunk/talks/rrdtoolfast/onlineusv-de.ppt: initial -2006-01-14 09:10 oetiker +2007-05-22 09:27 oetiker - * CONTRIBUTORS, bindings/perl-shared/RRDs.pm, bindings/tcl/tclrrd.c, - doc/rrddump.pod, src/rrd.h, src/rrd_dump.c: add perlbindings and - optional export filename to rrd_dump -- Nicola Worthington nicolaw - arwen.tfb.net + * trunk/talks/rrdtoolfast/fasttalk.ppt, + trunk/talks/rrdtoolfast/samfs-de.ppt: renamed -2006-01-05 20:39 oetiker +2007-04-10 13:49 oetiker - * bindings/Makefile.am, bindings/perl-shared/Makefile.PL: let the - building of the perl extension be more reliable ... + * trunk/status/2007-04-10.txt: added sponsors -2006-01-05 20:07 oetiker +2007-04-10 13:29 oetiker - * src/rrd_gfx.c: remove redundant if statement in rrd_gfx pdf code - ... -- NormW + * trunk/status/2007-04-10.txt: second reading ... -2006-01-04 22:07 oetiker +2007-04-10 13:14 oetiker - * src/Makefile.NetWare, src/Makefile.Win32, src/get_ver.awk, - src/rrd_tool.h: Compile time improvments for NetWare and Win32 -- - Guenter Knauf gk.gknw.de + * trunk/status, trunk/status/2007-04-10.txt: status report initial + version -2006-01-04 20:12 oetiker +2007-03-19 22:01 oetiker - * src/rrd_gfx.c: make sure this actually compiles with HAVE_MBSTOWCS - is not defined + * trunk/articles/rrdtool-infoweek-2007-03.doc: infoweek artikel + initial -2005-12-30 14:36 oetiker +2007-03-19 14:24 oetiker - * src/rrd_tool.c: only use getuid if it is actually available ... + * trunk/articles, trunk/articles/rrdtool-infoweek-2007-03.doc: + initial -2005-12-26 16:01 oetiker +2007-03-02 06:38 oetiker - * doc/rrdcreate.pod: added heartbeat grahics + * trunk/talks/rrdtoolfast/monitoring-en.ppt: added english version -2005-12-19 12:28 oetiker +2007-02-20 06:53 oetiker - * bindings/tcl/Makefile.am, bindings/tcl/tclrrd.c, configure.ac: fix - tcl issues ... build with pre tcl8.4 ... do not try to install - into the tcl tree unless --enable-tcl-site is given -- tobi + * trunk/tutorial/linuxforum2007/rrdtutorial.odp: ready for + presentation at linuxforum -2005-12-18 20:30 oetiker +2007-01-31 08:29 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h: prepare for - the release of rrdtool-1.2.12 + * trunk/talks/rrdtoolfast/fasttalk.ppt: updated for samfs -2005-12-18 20:29 oetiker +2007-01-30 08:36 oetiker - * COPYRIGHT: added FLOSS exception from - http://www.mysql.com/company/legal/licensing/foss-exception.html - in order to not end up in license incompatibility hell -- tobi + * trunk/talks/rrdtoolfast/fasttalk.ppt: added fasttalk for samfs -2005-11-30 09:19 oetiker +2007-01-30 08:34 oetiker - * src/rrd_graph_helper.c: if called with --lazy we still want to - PRINT ... -- Bartek Szady bszx from bszx.eu.org + * trunk/talks, trunk/talks/rrdtoolfast: initial -2005-11-28 21:59 oetiker +2007-01-22 17:20 oetiker - * src/rrd_update.c: we should still consider the mrhb ... + * trunk/tutorial, trunk/tutorial/linuxforum2007, + trunk/tutorial/linuxforum2007/abstract-rrdtut.txt, + trunk/tutorial/linuxforum2007/rrdtutorial.odp, + trunk/tutorial/linuxforum2007/tobi-2006.jpg: initial -2005-11-20 10:16 oetiker +2006-02-13 14:40 oetiker - * src/Makefile.Win32: improve win32 compilation -- Norm + * NEWS: removed extra line from top -2005-11-18 20:38 oetiker +2005-04-04 22:15 oetiker - * src/get_ver.awk: deal with versions ending in letters + * trunk/meta/plan-1.2.txt: plan for 1.2 is now in the 1.2 branche -2005-11-16 13:14 oetiker +2005-04-03 12:44 oetiker - * configure.ac: have indivitudal lines for generating output files, - so that cygwin does not choke + * trunk/meta/plan-1.2.txt: verified operation on debian -2005-11-14 23:07 oetiker +2005-04-03 12:44 oetiker - * configure.ac: make mmap test a little saver + * README, configure.ac: update build instructions and configure + output. -2005-11-14 11:46 oetiker +2005-04-03 11:44 oetiker - * configure.ac: cygwin can actually do mmap ... -- larryjadams with - comcast.net + * doc/rrdgraph_graph.src, src/rrd_graph_helper.c: paramters in SHIFT + are separated by : like everywhere else -2005-11-14 07:32 oetiker +2005-04-03 11:36 oetiker - * src/rrd_update.c: guess the option should still be called template - :-) + * doc/rrdgraph_graph.src, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: the piechart code does not produce release + ready results ... hide it behind WITH_PIECHART define -2005-11-13 18:32 oetiker +2005-04-03 11:11 oetiker - * acinclude.m4, configure.ac: improve screen apperance of configure - output as suggested by Dale -- tobi + * src/rrd_gfx.c: improve png writing speed by lowering the + compression -2005-11-13 18:31 oetiker +2005-04-03 11:11 oetiker - * bindings/python/Makefile.am: don't use clean: target ... automake - wants this to be clean-local: + * src/rrd_graph.c: make sure the font path is shorter than the + buffer -2005-11-12 23:36 oetiker +2005-04-03 10:10 oetiker - * src/rrd_gfx.c: add xmlns declaration to svg output -- R.P. Aditya - + * CONTRIBUTORS, src/rrd_graph.c, src/rrd_graph.h: fix graph layout + ... especially consider text propperties propperly -2005-11-12 23:30 oetiker +2005-04-03 09:37 oetiker - * bindings/Makefile.am: clean target was broken + * src/rrd_graph_helper.c: the legend string of a PRINT command gets + renderd later by runnning it through printf. -2005-11-12 23:10 oetiker +2005-04-03 09:35 oetiker - * configure.ac, doc/rrdbuild.pod, src/Makefile.am, src/rrd_cgi.c: * - integrate necessary cgi functionality into rrd_cgi.c so that - libcgi is not required anymore ... -- D. Walsh * check if we have to include malloc/malloc.h - to make malloc work ... -- tobi + * configure.ac, src/rrd_update.c: MMAP support for rrdtool this is + suposed to speed-up uptime 4 times. -- Radoslaw Karas + -2005-11-07 19:12 oetiker +2005-03-20 21:17 oetiker - * src/rrd_update.c: the variable template has to generic a name, it - clashes with other things in some environments. + * bindings/Makefile.am: revert to last working version -2005-10-28 05:55 oetiker +2005-03-20 21:11 oetiker - * doc/rrdbuild.pod: added openbsd note + * bindings/Makefile.am: fix quoting -2005-10-24 20:55 oetiker +2005-03-20 21:00 oetiker - * bindings/tcl/Makefile.am, bindings/tcl/tclrrd.c: use multithreded - version of librrd -- Oleg Derevenetz + * bindings/Makefile.am: quote sed expression -2005-10-11 17:09 oetiker +2005-03-20 20:59 oetiker - * src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c, - src/rrd_rpncalc.c, src/rrd_rpncalc.h: improved error messages for - rrd_graph commandline parsing -- Alex + * doc/rrdgraph.src, doc/rrdgraph_graph.src: document tabbing support + by adding in the textformatting notes document --tabwidth argument + document AXIS color -2005-10-11 16:51 oetiker +2005-03-20 20:58 oetiker - * examples/minmax.pl.in: fix file generation + * src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c: * allow + configuration of the default tab width * added new configurable + color AXIS * made tabbing support work with legend elements * use + propper font for the legend: LEGEND * fix apperance by makeing + grid more transparent * draw axis over the graph not under it. -2005-10-11 16:41 oetiker +2005-03-20 20:56 oetiker - * examples/4charts.pl.in, examples/bigtops.pl.in, - examples/minmax.pl.in, examples/shared-demo.pl.in, - examples/stripes.pl.in: die on error! -- Alex + * src/rrd_gfx.c, src/rrd_gfx.h: added tabbig support -2005-10-11 16:37 oetiker +2005-03-20 20:55 oetiker - * examples/4charts.pl.in, examples/bigtops.pl.in, - examples/minmax.pl.in: the images should be written to the current - directory ... -- Alex + * configure.ac: include the thread defs after they have been found + not before -2005-10-11 16:32 oetiker +2005-03-20 20:54 oetiker - * configure.ac: do not complain about strict aliasing issues -- Alex + * trunk/meta/plan-1.2.txt: sync with reality -2005-10-08 21:58 oetiker +2005-03-13 16:34 oetiker - * bindings/tcl/tclrrd.c: allow rrd::graph to write directly to a tcl - stream ... by Dave Bodenstab + * bindings/perl-shared/RRDs.xs: propperly integrate rrd_first -2005-10-07 07:48 oetiker +2005-03-13 16:13 oetiker - * CONTRIBUTORS, bindings/tcl/Makefile.am, bindings/tcl/tclrrd.c, - configure.ac: updates for tcl bindings by -- Dave Bodenstab + * MakeMakefile: autotools still run after configure this is not good + ... run autoreconf at the end of MakeMakefile. Maybe this will + help -2005-10-07 07:48 oetiker +2005-03-13 16:09 oetiker - * Makefile.am, favicon.ico: included favicon in distro + * configure.ac: set install patch to version -2005-09-26 20:33 oetiker +2005-03-13 16:08 oetiker - * src/rrd_gfx.c: plugged two memmory leaks happening when a - requested font is not found. + * MakeMakefile: re-run autotools to make sure dependent dates are + correct -2005-09-23 23:06 oetiker +2005-03-13 16:00 oetiker - * src/rrd_graph.c: hmpf its the gdef step we are talking about not - the image step ! + * MakeMakefile: reintroduce final header regen -2005-09-22 20:18 oetiker +2005-03-13 15:57 oetiker - * src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c: do not - 'reload' data if you already have it! + * MakeMakefile: still trying to get the order of calling autotools + right -2005-09-22 20:17 oetiker +2005-03-13 15:54 oetiker - * src/rrd_restore.c: the -r option should not expect an argument + * MakeMakefile: create aclocal.m4 before libtoolize -2005-09-19 07:42 oetiker +2005-03-13 15:51 oetiker - * src/rrd_restore.c: do not free stuff that gets freed later anyway + * MakeMakefile: make the headers first -2005-09-18 18:28 oetiker +2005-03-13 15:16 oetiker - * src/Makefile.NetWare: Netware Build Updates --- Guenter Knauf + * doc/rrdfirst.pod: add the documentation for first -2005-09-18 16:59 oetiker +2005-03-13 15:14 oetiker - * src/rrd_fetch.c: allocate memory for one more row ... fetch can - not return 0 reows ... + * src/Makefile.am: ntconfig is no more -2005-09-18 15:39 oetiker +2005-03-13 15:12 oetiker - * src/rrd_graph.c: comparing floating point numbers is dangerouse - ... don't do this directly! + * src/rrd_first.c: missed the actual code for first -2005-09-01 21:23 oetiker +2005-03-12 17:06 oetiker - * src/rrd_tool.c: since we use firstdir even without CHROOT it - should better be defined in any case -- Guenter Knauf + * bindings/perl-shared/RRDs.xs, doc/Makefile.am, src/Makefile.am, + src/rrd.h, src/rrd_tool.c: rrd_first code contributed by Burton + Strauss -2005-08-30 05:52 oetiker +2005-03-10 17:04 oetiker - * src/rrd_graph.c, src/rrd_graph.h: When selecting the x-axis label - take the length of the time shown in the graph into consideration - just showing %H:%M in a two day presentation is a problem ... -- - LAUKENS Niels + * trunk/meta/plan-1.2.txt: updated plan ... -2005-08-28 07:33 oetiker +2005-03-10 17:03 oetiker - * doc/rrdbuild.pod: fixed location of example scripts + * README, acinclude.m4, bindings/Makefile.am, configure.ac, + examples/4charts.pl.in, examples/bigtops.pl.in, + examples/cgi-demo.cgi.in, examples/minmax.pl.in, + examples/piped-demo.pl.in, examples/shared-demo.pl.in, + examples/stripes.pl.in, src/rrd.h, src/rrd_last.c, src/rrd_tool.h: + * Updated perl compile system. It now uses Makefile.PL for + everything, but gets it to install the perl module in + @prefix@/lib/perl such that you can use the same use lib line for + whatever platform and perlversion you install into this directory. + They all live neatly next to each other. * fixed examples to work + with new perl install system. Added a few exec_prefix lines where + appropriate * fixed piped demo * fixed VeraMono.ttf file. This + somehow got damaged by cvs ... * added thread defines to normal + compile run, so that _r functions to not through errors. * tested + compilation and installation -2005-08-27 21:29 oetiker +2005-03-04 23:53 oetiker - * src/rrd_update.c: resolve subsecond resolution logging and - handling of unknown values by starting off with an unknown value - when building a pdp instead of starting out with 0 and then - turning it into unknown later on if the number of uknown seconds - is equal or larger than the interval ... + * acinclude.m4, configure.ac: revamped configure system ... lots + more stuff is in acinclude now still a bit of a mess, but better + than before ... if configure does not find the dependent libraries + and header it will not try to get help from pkg-config. If you + know where your libraries are it is best to just use CPPFLAGS and + LDFLAGS to specify their location. -2005-08-27 20:55 oetiker +2005-03-04 00:12 oetiker - * examples/piped-demo.pl.in: the rrdtool binary one more level up - the path ... + * MakeMakefile, acinclude.m4, bindings/Makefile.am, configure.ac, + src/Makefile.am: Big autotool update: * Upgraded to the latest + version of autoconf, automake and libtool * replaced pthread + detection code in configure with a more effective one * added a + test to see if special solaris defines are required for ctime_r to + behave posixly correct. * Fixed lots of warnings from autotools * + started adding support for pkg-config ... this will eventually + make the whole library finding much simpler -2005-08-27 20:52 oetiker +2005-03-04 00:05 oetiker - * examples/piped-demo.pl.in: update for new prefix setting + * trunk/meta/plan-1.2.txt: added warning cleanup -2005-08-25 20:43 oetiker +2005-03-03 13:56 oetiker - * src/rrd_resize.c: when resize converts a v1 rrd to v3 it should - also change the version number in the head ... + * trunk/meta/plan-1.2.txt: added notes about including stuff -2005-08-23 21:18 oetiker +2005-03-03 13:48 oetiker - * Makefile.am, src/Makefile.NetWare, src/Makefile.Win32, - src/Makefile.am, src/get_ver.awk, src/rrd_afm.c, src/rrd_dump.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c, src/rrdtool.dsp, - src/rrdtool.vcproj: fixes for compiling rrdtool with win32 mingw - and netware -- Guenter Knauf + * trunk/meta/plan-1.2.txt: spelled -2005-08-16 05:30 oetiker +2005-03-03 13:46 oetiker - * doc/rrdgraph_data.pod, doc/rrdgraph_examples.pod, - doc/rrdgraph_rpn.pod: added notes about VDEF expressions not being - general purpose + * trunk/meta/plan-1.2.txt: initial -2005-08-11 19:18 oetiker +2005-03-03 13:34 oetiker - * src/rrd_tool.c: only bomb is there is no chroot and someone tries - to use it. + * trunk/contrib/php4/.cvsignore, trunk/meta, + trunk/meta/plan-1.2.txt, ., .cvsignore, bindings/.cvsignore, + bindings/perl-piped/.cvsignore, bindings/perl-shared/.cvsignore, + bindings/tcl/.cvsignore, doc/.cvsignore, examples/.cvsignore, + libraries/.cvsignore, src/.cvsignore: ignorelists are a propperty + of an svn directory not a file -2005-08-04 05:08 oetiker +2005-03-03 13:21 oetiker - * doc/rrdgraph_rpn.pod, src/rrd_graph.c, src/rrd_graph.h: New VDEF - functions for least squares slope, intercept & correlation for - simple forecasting -- Trent Burkard + * branches/gnu, branches/gpl, trunk/CVSROOT, trunk/rrdtool: post + cvs2svn conversion cleanup -2005-08-04 04:59 oetiker +2005-02-27 22:00 oetiker - * src/rrd_update.c: fix rounding issues that prevented UNKNOWN to - work as soon as subsecond resolution was used + * src/rrd_cgi.c: do not complain when setting environemnt variable + sucessfully. -- hunter@mimuw.edu.pl -2005-08-04 04:58 oetiker +2005-02-13 16:13 oetiker - * src/rrd_graph.c: avoid drawing lines where two points are in the - same spot. this mai be confusing libart + * CONTRIBUTORS, bindings/perl-shared/RRDs.xs, bindings/tcl/tclrrd.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_tool.c: let rrd_graph return the actual value range it + picked ... -- Henrik Stoerner -2005-08-02 15:54 oetiker +2005-01-28 14:02 oetiker - * bindings/Makefile.am: make sure clean works even when the perl - Makefile is broken + * src/rrd_hw.c: fix for memory leak. Rene Gallati -2005-07-26 09:13 oetiker +2005-01-03 22:25 oetiker - * src/rrd_graph.c: initialize font to empty string for deault font - case. + * TODO: update todo -2005-07-25 14:12 oetiker +2004-10-25 22:22 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.11 + * doc/rrdgraph.src, src/rrd_graph.c, src/rrd_graph.h: * + fore-rules-legend option -- author name missing -2005-07-25 14:07 oetiker +2004-10-25 22:21 oetiker - * configure.ac, src/Makefile.am: prepared for release + * src/rrd_tool.c: fixed segmentation falt problem in rrd_tool -- + Yasuhiro Sumi -2005-07-22 13:16 oetiker +2004-10-21 19:21 oetiker - * src/rrd_tool.c: do not quit so easily when runing in interactive - mode + * src/rrd_tool.c: fix return codes in the error case -- Haroon + Rafique -2005-07-22 13:16 oetiker +2004-09-24 21:11 oetiker - * src/rrd_graph.c: init ytr after all the changes have happened + * CONTRIBUTORS, doc/rrdgraph_data.src, doc/rrdgraph_rpn.src, + src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c, + src/rrd_resize.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_xport.c: misc fixed and TREND and reduce functionality by + -- David M. Grimes -2005-07-22 13:10 oetiker +2004-08-24 05:26 oetiker - * src/rrd_graph.c: make --no-gridfit with --only-graph work + * CONTRIBUTORS, doc/rrdgraph_rpn.src, src/rrd_graph.c, + src/rrd_graph.h, src/rrd_graph_helper.c, src/rrd_rpncalc.c, + src/rrd_rpncalc.h, src/rrd_xport.c: CDEF operators SHIFT, SQRT, + SORT, and REV (reverse). See documentation for what they do. This + included removal of redundant code in the rrd_xport path, replaced + with a call to rrd_graph_script(). -- David M. Grimes + -2005-07-21 22:23 oetiker +2004-08-09 08:38 oetiker - * src/rrd_graph.c: when stacking known on unknown, then we asume - unknown was zero ... + * doc/rrdcgi.pod: added note on escaping : -2005-07-20 07:20 oetiker +2004-08-08 21:54 oetiker - * configure.ac: make sure gcc-4.0 does not optimize our tests away - :-) + * src/rrd_cgi.c: port forward of fixes from the stable version of + rrd_cgi -2005-07-19 10:00 oetiker +2004-08-07 23:46 oetiker - * src/rrd_graph.c: fixed some corner cases in drawing code to get - the same results as before with way more performance + * src/rrd_graph.c: when moving the data pointers we should take into + account how fahr off they are. Found by David M. Grimes + -2005-07-11 22:49 oetiker +2004-08-05 21:24 oetiker - * src/rrd_graph.c: optimized drawing routines ... up to 6 times - faster (in the case of smokeping) + * bindings/perl-piped/MANIFEST, bindings/perl-shared/MANIFEST: + removed nonexisting files from manifest -2005-07-07 10:27 oetiker +2004-07-30 00:30 jake - * doc/rrdgraph.pod: colors start with # not : + * NT-BUILD-TIPS.txt, bindings/perl-shared/RRDs.ppd, + bindings/perl-shared/ntmake.pl, bindings/perl-shared/rrdpl.dsp, + bindings/perl-shared/rrdpl.dsw, confignt/config.h, src/rd_cgi.dsp, + src/rrd.dsp, src/rrd.dsw, src/rrd.vcproj, src/rrd_afm.c, + src/rrd_cgi.dsp, src/rrd_cgi.vcproj, src/rrd_restore.c, + src/rrdtool.dsp, src/rrdtool.dsw, src/rrdtool.sln, + src/rrdtool.suo, src/rrdtool.vcproj: Fix the Win32 build for + executable and perl-shared library. See NT-BUILD-TIPS.txt for step + by step instructions. Remove VC++ project files not being + maintained by anyone. -2005-07-04 18:49 oetiker +2004-07-14 10:55 oetiker - * src/rrd_graph.c: make setting just the size and not the font work - -- Havard Eidnes + * CONTRIBUTORS: added Peter Speck -2005-06-28 21:03 oetiker +2004-06-26 09:03 oetiker - * bindings/Makefile.am, bindings/python/Makefile.am, - bindings/tcl/Makefile.am, configure.ac, doc/Makefile.am, - examples/Makefile.am: * the makefiles should not depend on gnumake - features * make the perl module compilation environement - configurable -- Stan Sinyagin ssinyagin on yahoo.com + * rrdtool.spec: allow building rpm from cvs where there is not + ChangeLog (this gets generated when the distribution tar is built) + -- Tobi and Mike Slifcak -2005-06-25 05:24 oetiker +2004-06-23 20:36 oetiker - * doc/rrdbuild.pod: added GNUMAKE and EGREP hints + * src/rrd_graph.c: It's quie enough that the title is placed on the + top of the graph, there's no need to emphasize it more. -- + Stanislav Sinyagin -2005-06-20 09:15 oetiker +2004-06-23 08:39 oetiker - * src/rrd_graph.c: x-axis labels should be aligned to their baseline - alt-y-grid labels without fractionals should have no fractionals - when printed + * src/Makefile.am: reverted ... $< does not work -2005-06-17 09:05 oetiker +2004-06-22 22:09 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h: prepare for - the release of rrdtool-1.2.10 + * src/Makefile.am: The "$^" variable is GNU make-specific, and fails + to compile under FreeBSD 4.10. Please change it to $<, which is + more compatible. -- Stanislav Sinyagin -2005-06-16 22:09 oetiker +2004-06-17 22:09 oetiker - * src/rrd_graph.c: when building the sgridstep in alt-y-grid mode, - take the --base into consideration. + * src/rrd_graph.h: fixed type for text_prop_conv prototype -2005-06-13 21:56 oetiker +2004-06-07 19:07 oetiker - * src/rrd_graph.c: simplify code for generating y axis labels a bit. + * debian/changelog, debian/control, debian/rules: Fix for debian + freetype linking -- Peter Hirdina -2005-06-13 13:20 oetiker +2004-05-26 22:11 oetiker - * src/rrd_gfx.c: wide chars should better be unsigned + * src/fnv.h, src/parsetime.c, src/pngsize.c, src/rrd.h, + src/rrd_afm.c, src/rrd_afm_data.c, src/rrd_afm_data.h, + src/rrd_cgi.c, src/rrd_gfx.c, src/rrd_graph.c, + src/rrd_graph_helper.c, src/rrd_last.c, src/rrd_open.c, + src/rrd_resize.c, src/rrd_restore.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c: + reduce compiler warnings. Many small fixes. -- Mike Slifcak + -2005-06-13 12:56 oetiker +2004-05-26 22:10 oetiker - * src/rrd_gfx.c: fall back to assuming latin1 encoding if mbtowchar - conversion fails + * rrdtool.spec: improve redhat/fedora building -- Mike Slifcak -2005-06-13 05:43 oetiker +2004-05-26 22:09 oetiker - * doc/rrdgraph_data.pod, src/rrd_graph_helper.c: allow for VNAMES - starting with a number and add documentation -- Alex + * debian/rules: update debian build instructions -- Mike Slifcak -2005-06-13 05:43 oetiker +2004-05-25 22:08 oetiker - * doc/rrdgraph.pod: add notes about small numbers for --alt-y-grid + * examples/shared-demo.pl.in: The counter was the only variable + which needed to be an integer. -- Mike Slifcak -2005-06-12 20:01 oetiker +2004-05-25 22:07 oetiker - * src/rrd_update.c: kill the last stored counter value if the - updates comes after mrhb to make sure it does not get taken into - account accedenly later on. + * rrdtool.spec: The rrdtool RPM package was depending on the + rrdtool-perl package. These changes move the examples, which are + primarily perl scripts, in with the rrdtool-perl RPM package, + thereby de-coupling the rest of the RRDtool from Perl. Perhaps + this is silliness ? If there is no need for rrdtool separate from + the Perl modules, let me know, then I'll just create an rrdtool + and an rrdtool-devel RPM package (that would be a cleaner build + and scripting, anyway). -- Mike Slifcak -2005-06-12 20:00 oetiker +2004-05-25 22:03 oetiker - * src/rrd_graph.c: make --alt-y-grid work properly in many more - cases than before + * doc/Makefile.am, doc/rrdtool-dump.dtd, doc/rrdtool-xport.dtd: + added dtd descriptsion s or rrdtool xml output -- Wolfgang Schrimm + -2005-06-11 19:03 oetiker +2004-05-25 21:06 oetiker - * src/rrd_open.c: be more careful when checking if a file is an - rrdfile + * bindings/perl-shared/RRDs.xs: added dump and restore ... Mike + Schilli -2005-06-11 06:17 oetiker +2004-05-25 21:01 oetiker - * doc/Makefile.am: distribute all generated documentation install in - share and not shared drop index.html link + * CONTRIBUTORS: added some contributors -2005-06-11 06:14 oetiker +2004-05-25 21:00 oetiker - * examples/Makefile.am: install examples in an rrdtool specific - subdirectory if the prefix does not contain rrd -- Peter - Breitenlohner + * doc/rrdupdate.pod: fixed time stamp in example -- Mike Slifcak -2005-06-11 05:41 oetiker +2004-05-25 20:59 oetiker - * bindings/Makefile.am, bindings/perl-piped/t/base.t: avoid problems - when building with VPATH set and --disable-perl fix make test for - perl-piped -- Peter Breitenlohner + * rrdtool.spec: more fixes for rpm spec -- Mike Slifcak -2005-06-11 05:40 oetiker +2004-05-25 20:58 oetiker - * bindings/python/Makefile.am, doc/Makefile.am: let 'out-of tree' - builds work for everythin but the perl module -- Peter - Breitenlohner + * doc/rrdtutorial.pod: single word fix -- Mike Slifcak -2005-06-11 05:37 oetiker +2004-05-25 20:57 oetiker - * src/rrd_gfx.c: defined DPRINTF in a more compatible way -- Peter - Breitenlohner + * src/rrd_xport.c: Clear out previous legend array contents before + freeing legend array. Problem could manifest under extreme + resource limits. Not tested. -- Mike Slifcak -2005-06-11 05:31 oetiker +2004-05-25 20:55 oetiker - * acinclude.m4, configure.ac, src/Makefile.am: link libcgi only - against rrd_cgi since it is only needed there -- Peter - Breitenlohner + * doc/rrdcreate.pod: subordinate term was improperly formed -- Mike + Slifcak -2005-06-11 05:29 oetiker +2004-05-25 20:53 oetiker - * acinclude.m4, configure.ac: Make sure librrd_th properly depends - on libpthread. -- Peter Breitenlohner + * src/rrd_create.c, src/rrd_dump.c: prevent small leak when + resources are exhausted -- Mike Slifcak -2005-06-11 05:27 oetiker +2004-05-25 20:52 oetiker - * src/rrd_create.c: avoid gcc (3.4.3) warnings char format, - different type arg -- Peter Breitenlohner + * THREADS, doc/rrdthreads.pod, doc/rrdtutorial.pod, + doc/rrdupdate.pod, src/rrd_cgi.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_tool.c, src/rrd_update.c: fix spelling + and syntax, especially in messages that are printed -- Mike + Slifcak -2005-06-11 05:26 oetiker +2004-05-25 20:51 oetiker - * bindings/tcl/Makefile.am, bindings/tcl/ifOctets.tcl, - bindings/tcl/ifOctets.tcl.in, bindings/tcl/tclrrd.c, configure.ac: - fix various problems with the tcl bindings -- Peter Breitenlohner + * src/rrd_cgi.c, src/rrd_dump.c, src/rrd_restore.c, src/rrd_tool.c, + src/rrd_update.c: Update displayed copyright messages to be + consistent. -- Mike Slifcak -2005-06-11 05:22 oetiker +2004-05-25 20:51 oetiker - * CONTRIBUTORS: added peter breitenlohner + * doc/Makefile.am: don't process the old rrdgraph single file + document -- Mike Slifcak -2005-06-11 05:20 oetiker +2004-05-25 20:50 oetiker - * src/rrd_cgi.c: remove various gcc (3.4.3) warnings such as - discards qualifier all due to 'char **' vs. 'const char **' - discrepancies. -- Peter Breitenlohner peb with mppmu.mpg.de + * rrdtool.spec: fix rpm rules -- Mike Slifcak -2005-06-11 05:15 oetiker +2004-05-25 20:50 oetiker - * src/rrd_first.c: re-innitializing sort of defeats the purpose + * debian/control: fixed debian dependencies -- Mike Slifcak -2005-06-11 05:03 oetiker +2004-05-25 16:51 oetiker - * src/rrd_open.c: be more carefull in checking for sucessful open + * src/rrd_rpncalc.c: The expression's head was first checking for + LT, and then for LTIME, and the latter was never reached. -- + Stanislav Sinyagin -2005-06-10 19:25 oetiker +2004-05-19 05:11 oetiker - * doc/rrdgraph_data.pod: vnames MUST start with a letter + * doc/rrd-beginners.pod: integrated from debian -2005-06-10 19:24 oetiker +2004-05-18 18:54 oetiker - * src/rrd_gfx.c: kill another warning + * src/parsetime.c: its 365 days in a year .... -- Mike Slifcak -2005-06-10 18:44 oetiker +2004-05-18 18:53 oetiker - * doc/rrdgraph.pod, src/rrd_graph.c: make --font more flexible: * - TITLE:30: just alter the size of the title * - DEFAULT:0:/tmp/funfont.ttf alter the font but not the size + * CONTRIBUTORS, NEWS, README, TODO, bindings/perl-piped/README, + bindings/perl-piped/RRDp.pm, bindings/perl-piped/t/base.t, + bindings/perl-shared/RRDs.pm, bindings/tcl/README, + doc/bin_dec_hex.pod, doc/cdeftutorial.pod, doc/rpntutorial.pod, + doc/rrdcgi.pod, doc/rrdcreate.pod, doc/rrddump.pod, + doc/rrdfetch.pod, doc/rrdgraph-old.pod, doc/rrdgraph.src, + doc/rrdgraph_data.src, doc/rrdgraph_examples.src, + doc/rrdgraph_graph.src, doc/rrdgraph_rpn.src, doc/rrdinfo.pod, + doc/rrdresize.pod, doc/rrdrestore.pod, doc/rrdthreads.pod, + doc/rrdtool.pod, doc/rrdtune.pod, doc/rrdtutorial.es.pod, + doc/rrdtutorial.pod, doc/rrdupdate.pod, src/parsetime.c, + src/rrd_fetch.c, src/rrd_format.c, src/rrd_gfx.c, src/rrd_graph.c: + big spell checking patch -- slif@bellsouth.net -2005-06-10 08:42 oetiker +2004-05-18 18:51 oetiker - * doc/rrdbuild.pod: added missing cd and replace one path with a - variable + * src/rrd_restore.c: make force option work -2005-06-07 22:10 oetiker +2004-05-18 18:51 oetiker - * src/rrd_afm.c, src/rrd_afm.h, src/rrd_gfx.c: make pdf/eps/svg - formats utf8 aware too -- Peter Speck + * doc/Makefile.am: added beginners guide off debian -- + slif@bellsouth.net -2005-06-06 05:32 oetiker +2004-05-18 18:49 oetiker - * rrdtool.spec: sync up with Dag Wieers version from - http://dag.wieers.com/packages/rrdtool/rrdtool.spec + * configure.ac, examples/4charts.pl.in, examples/Makefile.am, + examples/shared-demo.pl.in, examples/stripes.pl.in: add 4chars and + fix two examples -- Mike Slifcak -2005-06-05 22:23 oetiker +2004-05-18 18:40 oetiker - * doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, src/rrd_rpncalc.h: New - functions for CDEF ATAN2 RAD2DEG and DEG2RAD -- Simon Melhuish - + * debian, debian/README.Debian, debian/build_freetype.sh, + debian/changelog, debian/control, debian/copyright, + debian/librrd0-dev.files, debian/librrd0.files, + debian/librrd0.postinst, debian/librrd0.postrm, + debian/librrd0.shlibs, debian/librrdp-perl.files, + debian/librrds-perl.files, debian/rrdtool-tcl.files, + debian/rrdtool.files, debian/rules, debian/watch: initial debian + build system added -- Mike Slifcak -2005-05-31 06:22 oetiker +2004-05-18 18:36 oetiker - * doc/rrd-beginners.pod: fixed epoch + * src/Makefile.am: fix library numbering -- Mike Slifcak -2005-05-28 13:01 oetiker +2004-05-18 18:25 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool-1.2-release, rrdtool.spec, - src/Makefile.am, src/gdpng.c, src/gifsize.c, src/pngsize.c, - src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.9 + * doc/Makefile.am: better cleaning -- Mike Slifcak -2005-05-28 12:53 oetiker +2004-05-12 21:57 oetiker - * doc/rrdbuild.pod: add notes on building on Mac OS X + * bindings/Makefile.am, doc/Makefile.am: locate the mkinstalldirs + script at top level accept "configure --mandir=" settings -- Mike + Slifcak -2005-05-28 12:52 oetiker +2004-05-04 21:01 oetiker - * src/rrd_gfx.c, src/rrd_update.c: kill a few warnings + * doc/rrdgraph_rpn.src, src/rrd_rpncalc.c, src/rrd_rpncalc.h: Added + the ATAN function. This is being used to convert a DS for each + vector component of wind direction into a single direction for + graphing. + CDEF:avdir=yavg,xavg,/,ATAN,57.296,*,xavg,0,LT,180,0,IF,+,DUP,0,LT,360,0,IF,+ + -- Daniel Shiels -2005-05-28 12:52 oetiker +2004-05-04 20:54 oetiker - * bindings/perl-shared/Makefile.PL: make the bindings work on os x + * rrdtool.spec: updated spec file -- Chris Adams + -2005-05-27 19:17 oetiker +2004-05-04 05:25 oetiker - * doc/rrdgraph_data.pod: add note on variable names + * MakeMakefile: die only after all the version checks are done and + not for each one -- Alex van den Bogaerdt -2005-05-27 19:12 oetiker +2004-05-03 14:05 oetiker - * src/rrd_graph_helper.c: remove one more warning + * Makefile.am, configure.ac, src/Makefile.am: * Allows rrdtool 1.1.x + (2004-04-29) to compile on freebsd. * Add configure options + --disable-rrdcgi disable building of rrdcgi --disable-pthread + disable multithread support -- Stanislav Sinyagin + -2005-05-27 19:12 oetiker +2004-05-02 21:10 oetiker - * src/rrd_graph.h: there is realy no reason to have the vnames - constraind so much + * configure.ac, src/rrd_graph.c: See the patch, attached. It changes + the default angle to 90, and allows one to change it from + configure command line: ./configure RRDGRAPH_YLEGEND_ANGLE=270.0 + -- Stanislav Sinyagin -2005-05-27 19:01 oetiker +2004-04-18 10:21 oetiker - * src/rrd_gfx.c: only print ttf font errors when compiled with - -DDEBUG + * src/rrd_restore.c: fixed O_BINARY -2005-05-22 22:29 oetiker +2004-03-23 21:34 oetiker - * src/rrd_gfx.c: don't go into an endless loop upon finding a bad - character in a truetype font + * src/rrd_restore.c: make sure fole is opened binary on restore ... + to make things work on windows -- "Girod, Laurent" + -2005-05-20 06:20 oetiker +2004-03-21 11:40 oetiker - * doc/rrdbuild.pod: go into rrdbuild too if we use tcsh + * doc/rrdgraph.src, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_tool.c: Added --only-graph option -- Piotr Kodzis + -2005-05-20 05:48 oetiker +2004-03-14 20:58 oetiker - * rrdtool-1.2-release: initial checking + * MakeMakefile, acinclude.m4, bindings/Makefile.am, + bindings/perl-shared/Makefile.PL, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/t/base.t, configure.ac, doc/Makefile.am: make + MakeMaker work on debian and fix some leftovers from the library + rip-out transition -- Tobi -2005-05-20 05:46 oetiker +2004-01-19 23:41 oetiker - * doc/bin_dec_hex.pod, doc/cdeftutorial.pod, doc/rpntutorial.pod, - doc/rrd-beginners.pod, doc/rrdbuild.pod, doc/rrdcgi.pod, - doc/rrdcreate.pod, doc/rrddump.pod, doc/rrdfetch.pod, - doc/rrdfirst.pod, doc/rrdgraph-old.pod, doc/rrdgraph.pod, - doc/rrdgraph_data.pod, doc/rrdgraph_graph.pod, - doc/rrdgraph_rpn.pod, doc/rrdpython.pod, doc/rrdresize.pod, - doc/rrdthreads.pod, doc/rrdtool.pod, doc/rrdtune.pod, - doc/rrdtutorial.es.pod, doc/rrdtutorial.pod, doc/rrdupdate.pod, - doc/rrdxport.pod: remove extra whitespace at the end of lines + * src/VeraMono.ttf, src/compile_afm.pl: initial -2005-05-20 05:43 oetiker +2004-01-19 23:39 oetiker - * doc/rrdbuild.pod: introduce builddir + * config: kill -2005-05-20 05:14 oetiker +2004-01-19 23:39 oetiker - * configure.ac: iconf is not needed so to not check for it + * config/Makefile.am: remove -2005-05-19 23:21 oetiker +2004-01-19 23:37 oetiker - * src/Makefile.am, src/rrd_tool.c: added propper numeric version - number to version + * libraries/cgilib-0.4: kill it -2005-05-19 23:21 oetiker +2004-01-19 23:35 oetiker - * configure.ac, src/rrd_gfx.c: add multibyte to wide char conversion - ability. Now every string users input should should be handled - propperly by rrdtool, whatever your locale says will work. + * libraries/Makefile.am, libraries/cgilib-0.4/Makefile.am, + libraries/cgilib-0.4/cgi.5, libraries/cgilib-0.4/cgi.c, + libraries/cgilib-0.4/cgi.h, libraries/cgilib-0.4/cgiDebug.3, + libraries/cgilib-0.4/cgiGetValue.3, + libraries/cgilib-0.4/cgiHeader.3, libraries/cgilib-0.4/cgiInit.3, + libraries/cgilib-0.4/cgiRedirect.3, + libraries/cgilib-0.4/cgilib.dsp, libraries/cgilib-0.4/cgilib.dsw, + libraries/cgilib-0.4/cgilib.vcproj, + libraries/cgilib-0.4/cgitest.c, libraries/cgilib-0.4/jumpto.c, + libraries/cgilib-0.4/readme, libraries/freetype-2.0.5-import.txt, + libraries/libart_lgpl-2.3.7, libraries/libpng-1.2.0, + libraries/libpng-1.2.0-import.txt, libraries/zlib-1.1.4: killem -2005-05-19 23:19 oetiker +2004-01-19 23:27 oetiker - * src/rrd_create.c: windows at least stores null terminated char - strings in dummychar1 -- Philippe + * libraries/freetype-2.0.5: all must go -2005-05-18 20:20 oetiker +2004-01-19 23:17 oetiker - * bindings/tcl/Makefile.am, bindings/tcl/tclrrd.c: make tcl compile - again ... don't know if it will work though + * MakeMakefile, Makefile.am, NEWS, README, bindings/Makefile.am, + bindings/perl-shared/Makefile.PL, bindings/perl-shared/RRDs.xs, + bindings/tcl/Makefile.am, configure.ac, doc/rrdcgi.pod, + libraries/Makefile.am: misc fixes to get rrdtool working without + included libraries. -2005-05-18 19:43 oetiker +2004-01-19 23:16 oetiker - * src/rrd.h: fix rrd_version prototype + * src/Makefile.am, src/rrd_gfx.h: modifications for 'no more local + libaries' -2005-05-18 19:41 oetiker +2004-01-15 18:14 oetiker - * configure.ac, src/Makefile.am, src/rrd.h, src/rrd_gfx.c, - src/rrd_is_thread_safe.h, src/rrd_tool.c, src/rrd_update.c, - src/rrd_version.c: cleaned up version number code and added new - function rrd_version -- partly by Burton Strauss + * bindings/perl-shared/RRDs.pm, bindings/perl-shared/RRDs.xs: + addition of RRDs::times -- Christophe Kalt -2005-05-18 19:18 oetiker +2003-12-26 16:54 oetiker - * bindings/perl-shared/Makefile.PL: help building perl on hpux + * src/rrd_graph.c: using --riggid it is possible to get a case where + minval is bigger than maxval ... this breaks the horizontal grid + ... -2005-05-16 20:56 oetiker +2003-11-27 06:31 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.8 + * bindings/perl-shared/RRDs.xs: Stop RRDs for segfaulting on invalid + graph input -- Ian Holsman -2005-05-16 20:55 oetiker +2003-11-27 06:30 oetiker - * bindings/Makefile.am, bindings/python/Makefile.am, - bindings/tcl/Makefile.am, configure.ac: redo --disable-* options - for python and tcl add some more quotes to protect potentially - empty variables in tests which should make configure more robust. + * src/rrd_cgi.c: make rrd_cgi build again ... Ian Holsman + -2005-05-16 20:04 oetiker +2003-11-23 12:55 oetiker - * bindings/Makefile.am, configure.ac: if python stuff does not work, - do not die, just do not compile python + * doc/rrdcgi.pod, src/rrd_cgi.c: New recursive parser for rrdcgi by + Arend-Jan Wijtzes -2005-05-16 20:02 oetiker +2003-11-19 07:06 oetiker - * configure.ac: fix extra argument when testing for PERLCC problem - -- Simon Leinen + * src/rrd_gfx.c: Adding attributions: * xml fix was by Ian Holsman + * font rotation was by Chris + Turbeville -2005-05-16 12:18 oetiker +2003-11-19 06:58 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.7 + * src/rrd_gfx.c: fixed svg generation -2005-05-16 12:14 oetiker +2003-11-17 11:43 oetiker - * NEWS: added note about --alt-y-mrtg + * src/rrd_restore.c: more correct usage added -- Eldad Zack + -2005-05-16 10:12 oetiker +2003-11-14 23:10 oetiker - * src/rrd_graph.c, src/rrd_graph_helper.c: fix the color square - spacing so that it works regardles of the fontsize and with - transparend backgrounds. + * src/rrd_cgi.c: handle NULL pointers gracefully -2005-05-16 09:01 oetiker +2003-11-12 22:14 oetiker - * src/rrd_graph.c: added alt-y-mrtg option as a dummy so that old - apps who use it do not crash when doing so. + * bindings/perl-shared/RRDs.xs, src/rrd.h, src/rrd_cgi.c, + src/rrd_graph.c, src/rrd_graph.h, src/rrd_tool.c: allow to pass an + open filehandle into rrd_graph as an extra argument -2005-05-16 06:33 oetiker +2003-11-12 22:13 oetiker - * doc/rrdgraph.pod, src/rrd_graph.c, src/rrd_graph.h: reintroduced - the FRAME color ... somehow it was lost from 1.0.x + * src/rrd_create.c: make create much faster .. -- David M. Grimes + -2005-05-15 14:16 oetiker +2003-11-11 21:19 oetiker - * src/rrd_graph.c: make transparent backgrounds work propperly + * doc/rrdrestore.pod, src/rrd_restore.c, src/rrd_tool.c: Allow to + force overwrite when restoring from xml to rrd. -- Eldad Zack + -2005-05-14 21:57 oetiker +2003-11-11 19:46 oetiker - * src/getopt.c, src/rrd_afm.c, src/rrd_cgi.c, src/rrd_graph.c, - src/rrd_nan_inf.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c, src/rrd_xport.c: - it seems that _WIN32 is more commonly defined thatn WIN32 on win32 - ... (gifford.hesketh on gmail.com) + * src/fnv.h, src/parsetime.c, src/rrd.h, src/rrd_cgi.c, + src/rrd_create.c, src/rrd_fetch.c, src/rrd_graph.c, + src/rrd_graph_helper.c, src/rrd_update.c, src/rrd_xport.c: + replaced time_value with rrd_time_value as MacOS X introduced a + struct of that name in their standard headers -2005-05-14 17:32 oetiker +2003-11-11 19:38 oetiker - * src/rrd_restore.c: added a note to dump old rrd files with a - current rrdtool dump to get the upgraded on the fly. Adding 001 - support should not be all that tough though. Any takers ? + * src/rrd_update.c: rrd files should NOT change size ever ... bulk + update code wa buggy. -- David M. Grimes -2005-05-14 15:07 oetiker +2003-11-04 22:20 oetiker - * src/rrd_open.c: check cookie read for success + * src/rrd_tool.c: 20 chars max in a ds name -- Kuba Filipowicz + -2005-05-14 09:35 oetiker +2003-10-26 19:29 oetiker - * src/rrd_graph.c: if the y value is out of bounds, make it just a - wee bit larger or smaller than the bound so that the code can - detect this by comparing it with the bound, but make it so small - that it is not visible. + * src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c: added rotation ... -2005-05-12 22:27 oetiker +2003-09-04 13:16 oetiker - * acinclude.m4: one sed is quite enough + * src/rrd_update.c: should not assigne but compare ... grrrrr -2005-05-12 22:22 oetiker +2003-09-02 21:58 oetiker - * acinclude.m4: [ must be quoted by [ ... + * src/rrd_update.c: be pickier about what we accept in rrd_update. + Complain if things do not work out -2005-05-12 22:12 oetiker +2003-08-28 21:48 oetiker - * acinclude.m4: add global option + * configure.ac: make sure we get only 1 flag -- Chris Turbeville + -2005-05-12 22:06 oetiker +2003-07-28 21:59 oetiker - * acinclude.m4: fox sed line for unsetting header cache + * bindings/Makefile.am, libraries/freetype-2.0.5/Makefile.am, + src/Makefile.am: I was just taking a look at the development + RRDtool build (I'm looking forward to SVG support), and had a few + problems with an out-of-tree build. I find using a separate build + directory makes things much easier to manage, especially when + building for multiple architectures. I've attached the minor + patches for the progress that I made (I couldn't get the Perl + modules to work, but the main binaries seem okay), and would be + grateful if you could commit them (or something like them!). -- + Joseph Walton -2005-05-12 22:03 oetiker +2003-07-24 14:51 jake - * acinclude.m4, configure.ac: make sure the header gets tested twice + * src/rrd_graph.h: Allow hyphen character in DEF_NAM_FMT to match + DS_NAM_FMT. -2005-05-12 22:03 oetiker +2003-07-16 23:41 jake - * doc/rrdpython.pod: add notes on python error, and install location + * confignt/config.h, libraries/cgilib-0.4/cgilib.vcproj, + libraries/freetype-2.0.5/freetype.vcproj, + libraries/libart_lgpl-2.3.7/libart.vcproj, + libraries/libpng-1.2.0/png.vcproj, + libraries/zlib-1.1.4/zlib.vcproj, src/rrd.vcproj, + src/rrd_cgi.vcproj, src/rrd_graph.c, src/rrdtool.sln, + src/rrdtool.vcproj: Updated MS Visual C++ files from 7.0 to 7.1. + Add code to rrd_graph.c: rrd_graph_init() to use %windir% + environment variable to find the default font at runtime. -2005-05-12 11:32 oetiker +2003-07-15 00:58 jake - * src/rrd_graph.c: allow 3/4 component color rrdtool graph --color - too -- Alex + * src/rrd_rpncalc.h: Moved OP_COUNT to the end of the enumeration. -2005-05-12 11:28 oetiker +2003-05-20 20:51 oetiker - * src/rrd_graph.c: make the areas a little bigger still for propper - overlapping + * doc/rrdcgi.pod, src/rrd_cgi.c: I've made a patch to rrdcgi to add + which allows you to re-format start and + end-time at-style times using strftime. This allows easy timespans + in the graph (e.g. -2weeks) to be formatted into more usual times. + -- "Erskine, Thomas" -2005-05-12 11:22 oetiker +2003-05-03 15:41 oetiker - * src/rrd_create.c: make parsing of DS arguments more robust and - give more sensible error messages. -- Alex + * src/rrd_create.c: small patch to rrd_create.c that corrects + problem with the version number of the newly created files. -- + Sasha Mikheev -2005-05-12 08:38 oetiker +2003-04-29 21:56 oetiker - * src/rrd_graph.c: make the areas that makeup the graphs a little - larger, so that they overlap a bit and do not exhibit white lines - when touching each other. + * src/rrd_open.c: readline in rrd_open.c reads the file in 8 KB + blocks, and calls realloc for each block. realloc is very slow in + Mac OS X for huge blocks, e.g. when restoring databases from huge + xml files. This patch finds the size of the file, and starts out + with malloc'ing the full size. -- Peter Speck -2005-05-12 05:48 oetiker +2003-04-29 19:37 oetiker - * bindings/python/Makefile.am, bindings/python/Makefile.in, - bindings/python/rrdtoolmodule.c: some more warning fixes + * doc/rrdfetch.pod: added comment on iso -2005-05-12 05:41 oetiker +2003-04-29 19:14 jake - * bindings/python/rrd_format.h, bindings/python/rrdtoolmodule.c: add - unused to prevent warnings about self + * MakeMakefile, doc/rrdupdate.pod, src/rrd_update.c: Change updatev + RRA return from index_number to cf_nam, pdp_cnt. Also revert + accidental addition of -I to aclocal MakeMakefile. -2005-05-11 18:31 oetiker +2003-04-26 05:11 oetiker - * doc/rrdpython.pod: intial python bindings documentation + * src/rrd_restore.c: only restore V2 and larger. -2005-05-11 12:09 oetiker +2003-04-25 18:35 jake - * doc/rrdcreate.pod: fix wording for min/max ... they are not - optional + * MakeMakefile, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.xs, doc/rrdtool.pod, doc/rrdupdate.pod, + src/rrd.h, src/rrd_create.c, src/rrd_info.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_update.c: Alternate update interface, + updatev. Returns info about CDPs written to disk as result of + update. Output format is similar to rrd_info, a hash of + key-values. -2005-05-10 20:19 oetiker +2003-04-23 22:47 oetiker - * bindings/python/rrdtoolmodule.c: second installment with warning - fixes from alan + * src/rrd_restore.c: fixed version checks to only complain if xml + version is > than current RRD version -2005-05-10 18:52 oetiker +2003-04-11 19:43 oetiker - * CONTRIBUTORS, Makefile.am, acinclude.m4, bindings/Makefile.am, - bindings/python, bindings/python/ACKNOWLEDGEMENT, - bindings/python/AUTHORS, bindings/python/COPYING, - bindings/python/Makefile.am, bindings/python/Makefile.in, - bindings/python/README, bindings/python/Setup.in, - bindings/python/rrd_extra.h, bindings/python/rrd_format.h, - bindings/python/rrdtoolmodule.c, bindings/python/setup.py, - configure.ac, rrdtool.spec: python bindings add -- Alan Milligan - alan from balclutha.org + * doc/rrdcreate.pod, doc/rrdgraph-old.pod, doc/rrdgraph_rpn.src, + src/rrd_open.c, src/rrd_restore.c, src/rrd_rpncalc.c, + src/rrd_rpncalc.h, src/rrd_tool.c: New special value COUNT which + allows calculations based on the position of a value within a data + set. Bug fix in rrd_rpncalc.c. PREV returned erroneus value for + the second value. Bug fix in rrd_restore.c. Bug causing seek error + when accesing an RRD restored from an xml that holds an RRD + version <3. -- Ruben Justo -2005-05-10 18:35 oetiker +2003-04-04 20:51 oetiker - * src/rrd_gfx.c: fix for character escaping in EPS -- Peter Speck + * src/rrd_gfx.c: I think I found a very small bug in rrd graph PDF + output : the is_stream member of pdf_buffer is not initialized, + making bad PDF sometimes (I found a case where is_stream was != 0 + for the font initialization). -- lhoudard@netcourrier.com -2005-05-10 06:07 oetiker +2003-04-01 22:52 jake - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph_helper.c, - src/rrd_hw.c, src/rrd_hw.h, src/rrd_info.c, - src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.6 + * THREADS, bindings/perl-shared/ntmake.pl, src/rrd.dsp, src/rrd.h, + src/rrd.vcproj, src/rrd_graph.c, src/rrd_nan_inf.c, + src/rrd_not_thread_safe.c, src/rrd_thread_safe_nt.c, + src/rrd_tool.h, src/rrdtool.dsp: Fix Win32 build. VC++ 6.0 and 7.0 + now use the thread-safe code. -2005-05-10 06:06 oetiker +2003-03-31 21:22 oetiker - * src/rrd_gfx.c: I guess the pdf entities want to be escaped chars - not just control caracters with a prepended backslash ... + * src/rrd_format.h, src/rrd_open.c, src/rrd_update.c: enables + RRDtool updates with microsecond or in case of windows millisecond + precision. This is needed to reduce time measurement error when + archive step is small. (<30s) -- Sasha Mikheev + -2005-05-10 05:18 oetiker +2003-03-25 22:29 oetiker - * src/rrd_afm.c: we should not use C++ comments in c files + * bindings/perl-shared/ntmake.pl: use the environment variable + VCINSTALLDIR -- Ian Holsman -2005-05-10 04:14 oetiker +2003-03-24 22:08 oetiker - * src/Makefile.am: we should distribute unused.h if we use it :-) + * src/rrd_thread_safe.c: strerror should not turn us recursive here + ... -- Peter Stamfest -2005-05-09 20:15 oetiker +2003-03-24 22:05 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, - src/gdpng.c, src/gifsize.c, src/pngsize.c, src/rrd.h, - src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h: prepare for the release of rrdtool-1.2.5 + * src/rrd_not_thread_safe.c: strerror must not become recursive -- + Peter Stamfest -2005-05-09 20:13 oetiker +2003-03-12 20:39 oetiker - * src/art_rgba_svp.c, src/rrd_afm.c, src/rrd_gfx.c, - src/rrd_update.c, src/rrd_xport.c, src/unused.h: silence warnings - for UNUSED variables without changeing the funtion interfaces -- - Alex + * doc/rrdresize.pod: remove ^M -2005-05-09 19:32 oetiker +2003-03-10 00:30 oetiker - * src/rrd_graph.c: allow decimal positions y axis labels as soon as - the max entry is < 10 + * src/rrd_diff.c: handle cases with two negative numbers -- Sasha + Mikheev -2005-05-09 19:11 oetiker +2003-03-08 18:44 oetiker - * src/rrd_graph.c, src/rrd_graph_helper.c: fix rendering of the - color spots especially when proportional fonts are in use. + * src/rrd_graph.c: don't display legends for [HV]RULEs out of graph + bounds (rrdgraph) -- Christophe Kalt -2005-05-09 14:01 oetiker +2003-03-01 22:25 oetiker - * src/rrd_afm.c, src/rrd_afm.h, src/rrd_gfx.c: EPS/SVG/PDF code ... - more comments and better font finder including removal of - hardcoded SVG font. -- Peter Speck speck from vitality.dk + * src/rrd_tool.c: realy suppress size output when talking to stdout. + Patch from Mat Zimmerman @ debian -2005-05-09 13:22 oetiker +2003-02-24 18:26 oetiker - * src/rrd_afm.c, src/rrd_gfx.c: * switch to courier if the font is - unknown * fix font positioning + * examples/piped-demo.pl.in: fix for : in piped demo -2005-05-09 05:39 oetiker +2003-02-22 21:57 oetiker - * bindings/perl-shared/Makefile.PL: perls $^O is set to linux not - Linux + * doc/rrdthreads.pod: Initial checkin -- Peter Stamfest + -2005-05-08 22:02 oetiker +2003-02-22 21:57 oetiker - * src/rrd_gfx.c: svg/pdf/eps rendering improvements. There are still - issues though ... -- peter speck + * doc/Makefile.am, src/Makefile.am, src/rrd_error.c: a patch to + avoid a memory leak and a Makefile.am patch to distribute all + required source files -- Peter Stamfest -2005-05-08 21:25 oetiker +2003-02-21 22:40 oetiker - * libraries/afm/compile_afm.pl, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h: added support for getting - ascent/descent size info for ps fonts -- Peter Speck + * examples/piped-demo.pl.in: colons must be escaped -2005-05-08 20:15 oetiker +2003-02-20 21:48 oetiker - * src/art_rgb_affine_private.h, src/art_rgba_rgba_affine.c, - src/art_rgba_rgba_affine.h: we do not actually need these files - ... goodbye + * libraries/libpng-1.2.0/Makefile.am, src/Makefile.am: make the + threading work and compile, fix linking to libpng and update the + timestaps int the files -2005-05-08 16:59 oetiker +2003-02-20 21:27 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, - src/gdpng.c, src/gifsize.c, src/pngsize.c, src/rrd.h, - src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h: prepare for the release of rrdtool-1.2.4 + * src/Makefile.am, src/rrd_thread_safe.c, src/rrd_tool.c: updated + copyrigh dates removed error.h from threaded variant added + compiletime to rrdtool -2005-05-08 16:22 oetiker +2003-02-16 12:32 oetiker - * src/rrd_graph.c: * adjust spacing at the left border of the graph. - use less white space * increasse minimal grid spacing and label - spacing + * src/rrd_restore.c: if output is - there is not need to deref the + handler -2005-05-08 16:02 oetiker +2003-02-16 12:31 oetiker - * src/rrd_graph.c: increase minimal vertical spacing for y-axis - lables + * src/parsetime.c: expect seems to exist on some systems in the + system inc files -2005-05-08 16:01 oetiker +2003-02-13 07:05 oetiker - * src/rrd_graph.c: shorten space for y-axis labels a bit + * Makefile.am, THREADS, configure.ac, src/Makefile.am, + src/parsetime.c, src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, + src/rrd_dump.c, src/rrd_error.c, src/rrd_format.c, + src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_restore.c, + src/rrd_rpncalc.c, src/rrd_stat.c, src/rrd_thread_safe.c, + src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c: Find attached + the patch I promised to send to you. Please note that there are + three new source files (src/rrd_is_thread_safe.h, + src/rrd_thread_safe.c and src/rrd_not_thread_safe.c) and the + introduction of librrd_th. This library is identical to librrd, + but it contains support code for per-thread global variables + currently used for error information only. This is similar to how + errno per-thread variables are implemented. librrd_th must be + linked alongside of libpthred There is also a new file "THREADS", + holding some documentation. -- Peter Stamfest -2005-05-08 15:40 oetiker +2003-02-12 07:06 oetiker - * src/rrd_tool.c: remove the premature fox for the unused parameter - in xport + * CONTRIBUTORS, bindings/Makefile.am, bindings/perl-shared/MANIFEST, + libraries/Makefile.am, src/Makefile.am: improved dist target -- + Peter Stamfest -2005-05-08 15:30 oetiker +2003-02-11 10:16 oetiker - * README: sync with reality + * doc/rrdgraph_graph.src: removed lg we do not allow this in the + code at th moment -2005-05-08 15:19 oetiker +2003-02-05 18:16 oetiker - * src/rrd_tool.c: be more portable with shorter strings + * src/rrd_resize.c: rrd resize SHRINK was broken :-) -- Scott Mace + -2005-05-08 15:18 oetiker +2003-01-31 06:46 oetiker - * src/Makefile.am: we do not use the affine functions + * src/rrd_graph.c: The NaN check should only use lastgdes when + following a STACK -- Scott Mace -2005-05-08 15:07 oetiker +2003-01-30 21:39 oetiker - * configure.ac, src/rrd_graph_helper.c: removed extra $ from from - PERLCC test + * src/rrd_graph.c: fix stak+nan error ... Scott Mace + -2005-05-08 08:20 oetiker +2003-01-29 07:17 oetiker - * doc/rrdbuild.pod: fix rendering errors by removing single spaces + * src/rrd_graph.c: fixed the processing of + TICK:vname#color:frac:legend -- Scott Mace -2005-05-07 23:54 oetiker +2003-01-25 22:50 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_xport.c, src/rrd_xport.h: prepare for the release of - rrdtool-1.2.3 + * CONTRIBUTORS, examples/4charts.pl.in, src/rrd_graph.c, + src/rrd_graph.h: added function (--no-minor) to turn off minor + gridlines on graphs -- Travis Brown -2005-05-07 23:26 oetiker +2003-01-16 23:27 oetiker - * src/art_rgba_rgba_affine.c, src/art_rgba_rgba_affine.h: fix some - more y0, y1 complaints + * src/rrd_fetch.c: fix border condition in rra selection of + rrd_fetch -- Stanislav Sinyagin -2005-05-07 23:26 oetiker +2003-01-15 19:24 oetiker - * src/rrd_graph_helper.c: When encountering an empty legend, do NOT - make space for drawing the color spats in front of it. + * doc/rrdcreate.pod, doc/rrdgraph-old.pod, doc/rrdgraph.src, + doc/rrdgraph_graph.src, src/rrd_graph.c: * single letter variants + for all graph options -- James Overbeck -2005-05-07 15:57 oetiker +2002-12-14 22:30 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_xport.c, src/rrd_xport.h: prep for 1.2.2 release + * configure.ac: fix rrdtool compile on solaris where CC for perl is + "gcc -B/usr/ccs/bin/" -- Russell Van Tassell + -2005-05-07 15:51 oetiker +2002-11-29 11:57 oetiker - * src/Makefile.am: increment library revision + * doc/rrdtool.pod: note on info added -2005-05-07 15:45 oetiker +2002-11-19 22:33 oetiker - * src/art_rgba_svp.c, src/rrd_gfx.c, src/rrd_gfx.h: fix these - annoying y0 warnings. + * doc/rrdgraph-old.pod, doc/rrdgraph_graph.src, src/rrd_graph.c: + added g as valid string format value -2005-05-07 15:45 oetiker +2002-11-18 23:37 oetiker - * src/rrd_graph.c: add rrdtool attribution string back using a - transparent version of the font color + * configure.ac: check for -OPT:IEEE_NaN_inf=ON on SGI C compiler -- + Albert Chin-A-Young -2005-05-07 15:23 oetiker +2002-11-03 15:07 oetiker - * doc/Makefile.am, doc/rrdbuild.pod, doc/rrdgraph_graph.pod: added - build instructions + * MakeMakefile: fixed -2005-05-07 10:38 oetiker +2002-10-24 21:17 oetiker - * src/rrd_gfx.c: fix for rotation code in pdf,eps,svg formats -- - Peter Speck + * src/rrd_cgi.c: added patch for apache 2 compatibility -2005-05-07 10:34 oetiker +2002-10-07 06:22 oetiker - * src/rrd_graph.c, src/rrd_rpncalc.c: fix handling of PREV(x) - command + * MakeMakefile: keep up with the jhonses -2005-05-06 23:00 oetiker +2002-10-07 06:21 oetiker - * src/rrd_graph.c: * added RRDTOOL/TOBI OETIKER back in * in riggid - mode, cut data and 'min' and 'max' not two above * gibt ytop0 a - default value + * src/rrd_graph.c: -z does not take an option -- Tomoyuki Murakami + -2005-05-06 22:59 oetiker +2002-09-02 18:41 oetiker - * src/rrd_tool.c: fixed documentation strings for rrdgraph + * src/rrd_graph.c: fixed leak in VDEF_PERCENT handlin -- Perry Stoll + -2005-05-06 22:03 oetiker +2002-08-01 05:42 oetiker - * doc/rrdgraph.pod: added doc for new slope-mode + * src/rrd_graph.c: fix for segfault condition in print_calc -- Paul + Clifford -2005-05-06 21:52 oetiker +2002-07-31 05:42 oetiker - * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h: since the drawing - code is now much simpler we do not need to perturbe the points or - rewind the graph anymore this saves quite some time ... + * doc/rrdfetch.pod: improved fetch explanation -- + Nenad.Antic@era.ericsson.se -2005-05-06 15:44 oetiker +2002-07-13 18:35 oetiker - * src/rrd_graph_helper.c: * allow for 3(4) letter color names * - better debugging code * fix tick, line, stack parsing -- Alex van - den Bogaerdt + * src/rrd_graph.h, src/rrd_rpncalc.c, src/rrd_rpncalc.h: fixed + DEF_NAM_FMT definition added double include protection the + rrd_graph.h and rrd_rpncalc.h -2005-05-06 15:24 oetiker +2002-07-12 11:20 oetiker - * src/rrd_graph.c: if stacking on nothing we should not try to - figure out WHAT we stacked on since this will result in a segfault - ... -- Alex van den Bogaerdt + * src/rrd_rpncalc.c: fixed PREV parsing ... Gonzalo Augusto Arana + Tagle -2005-05-05 22:15 oetiker +2002-07-06 15:45 oetiker - * doc/rrdgraph_graph.pod: clarify LINE/AREA syntax -- Alex van den - Bogaerdt alex with ergens.op.het.net + * src/rrd_rpncalc.h: new operators must be added at the END of the + sequence ... -2005-05-05 09:07 oetiker +2002-07-05 18:57 oetiker - * src/rrd_create.c: better not to write into argv elements ... - Henrik Stoerner + * doc/cdeftutorial.pod, doc/rrdgraph_rpn.src, src/rrd_graph.c, + src/rrd_rpncalc.c, src/rrd_rpncalc.h: new operand on rrdgraph + CDEFs: PREV(xxxx) -- Gonzalo Augusto Arana Tagle + -2005-05-03 20:23 oetiker +2002-07-05 18:47 oetiker - * src/rrd_tool.c: do not die upon wront input when in remote mode + * bindings/perl-shared/RRDs.pm: explain tzset -2005-05-03 18:10 oetiker +2002-07-02 10:35 oetiker - * doc/Makefile.am: install documentation into - $PREFIX/shared/doc/rrdtool-$VERSION/{txt,html} but drop the - rrdtool-$VERSION/ bit if $PREFIX matches on rrd assuming that the - tool is being installed into a custom directory anyway. + * src/rrd_nan_inf.c: fixed DINF for win32 -2005-05-03 17:24 oetiker +2002-06-29 15:33 alex - * doc/rrdgraph.pod, src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c: - new options to tune how fontsmoothing works: -R/--font-render-mode - {normal,light,mono} and -B/--font-smoothing-threshold size -- John - yffffffff4271ef37 at f4n.org + * doc/rrdgraph.src, doc/rrdgraph_data.src, doc/rrdgraph_graph.src: + Changed DEF:... -2005-05-03 17:22 oetiker +2002-06-29 15:24 alex - * NT-BUILD-TIPS.txt: note about win32comp + * src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c: Changed + parsing again. Added a DEBUG prefix to all grapher commands -2005-05-02 20:27 oetiker +2002-06-29 14:55 alex - * confignt/config.h, src/win32comp.c: files that help getting that - native windows port going -- Philippe.Simonet with swisscom.com + * src/rrd_graph_helper.h: Not needed anymore -2005-05-02 19:47 oetiker +2002-06-27 19:34 alex - * src/rrd_gfx.c: when walking the bytes use the pitch not the width + * src/rrd_graph.c, src/rrd_graph.h: DEF now takes "--start" and + "--end" LINEx, AREA and such now take parameter "STACK" -2005-05-02 19:33 oetiker +2002-06-23 23:13 alex - * src/strftime.c: pow is alreay used as a function ... so lets call - it power instead + * doc/rrdgraph_data.src, doc/rrdgraph_examples.src: Updated docs for + the "DEF ... :step=nnnn" case -2005-05-02 19:32 oetiker +2002-06-23 22:29 alex - * src/rrd_graph_helper.c: no infinite line width please + * src/Makefile.am, src/rrd_fetch.c, src/rrd_graph.c, + src/rrd_resize.c: Added "step=1800" and such to "DEF" Cleaned some + of the signed vs. unsigned problems -2005-05-01 22:07 oetiker +2002-06-23 22:28 alex - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h: prep for 1.2.1 release + * src/rrd_format.h, src/rrd_nan_inf.c, src/rrd_nan_inf.h: In stead + of a zillion warnings, only one place gives a warning for DNAN -2005-05-01 22:04 oetiker +2002-06-20 00:21 jake - * src/rrd_graph.c: add some more vertical space above the graph if - no title is available + * NT-BUILD-TIPS.txt, bindings/perl-shared/RRDs.xs, + bindings/perl-shared/ntmake.pl, confignt/config.h, + libraries/freetype-2.0.5/freetype.dsp, + libraries/libart_lgpl-2.3.7/libart.dsp, + libraries/libpng-1.2.0/png.dsp, libraries/zlib-1.1.4/zlib.dsp, + src/rrd.dsp, src/rrd_open.c, src/rrd_tool.h, src/rrdtool.dsp, + src/rrdtool.ncb: More Win32 build changes; thanks to Kerry + Calvert. -2005-05-01 21:24 oetiker +2002-06-14 12:15 oetiker - * src/rrd_gfx.c: use the pen to determine string length, do not look - at the realy length, or space will get ignored. + * doc/rrdresize.pod: better explanations -- "Shipway, Steve" + -2005-05-01 21:16 oetiker +2002-05-22 15:25 jake - * src/DejaVuSansMono-Roman.ttf, src/Makefile.am, src/rrd_graph.c: - DejaVuSansMono-Roman is a variant of VeraMono with lots of added - unicode glyphes ... check out http://dejavu.sourceforge.net + * doc/rrdtune.pod: Changed intercept to slope for beta parameter in + rrdtune doc. -2005-05-01 20:49 oetiker +2002-05-22 05:35 oetiker - * src/rrd_graph.c: fix spaceing ... more space for the title and - more space the the left of the yaxis lable + * bindings/perl-shared/ntmake.pl, + libraries/cgilib-0.4/cgilib.vcproj, + libraries/freetype-2.0.5/freetype.vcproj, + libraries/libart_lgpl-2.3.7/libart.vcproj, + libraries/libpng-1.2.0/png.vcproj, + libraries/zlib-1.1.4/zlib.vcproj, src/rrd.vcproj, + src/rrd_cgi.vcproj, src/rrdtool.ncb, src/rrdtool.sln, + src/rrdtool.suo, src/rrdtool.vcproj: VC++ .NET (7.0) project files + -- Eric Chamberlain -2005-05-01 13:19 oetiker +2002-05-16 19:18 oetiker - * src/rrd_gfx.c: the multibyte support tried did not work ... - takeing it out again + * configure.ac: added -W ... lets have some more warnings ... with + gcc 3.1 985 -2005-05-01 13:18 oetiker +2002-05-15 06:14 oetiker - * configure.ac: update tested library version + * libraries/afm/compile_afm.pl, src/rrd_afm_data.c: afm fixes -- + Peter Speck -2005-05-01 11:02 oetiker +2002-05-14 21:52 jake - * src/pngsize.c: undef jmpbuf to make compile work on AIX 5.1 + * NT-BUILD-TIPS.txt, confignt/config.h, + libraries/libart_lgpl-2.3.7/libart.dsp, src/rrd.dsp, + src/rrd_tool.c, src/rrdtool.dsp: Fix Win32 Build compatibility. -2005-05-01 11:00 oetiker +2002-05-14 21:48 oetiker - * src/Makefile.am: increasse revision of shared library number since - the library source code has changed + * src/rrd_restore.c: double free fixed -2005-05-01 11:00 oetiker +2002-05-14 05:28 oetiker - * src/rrd_gfx.c: add wide character support + * configure.ac, src/rrd_tool.c: make opendir readdir chdir chroot + and thus the serverfunctionality a conditional compile depending + on the presence of the necessary function calls. -2005-05-01 10:42 oetiker +2002-05-11 09:09 oetiker - * src/rrd_graph.c: do not make the graph wider if the title does not - fit ... this is wagging the dog the graph is not ABOUT the title + * configure.ac, src/rrd_tool.c, src/rrd_tool.h: make dirent + sys/types and sys/stat autoconfable .... -2005-05-01 10:37 oetiker +2002-05-08 20:34 oetiker - * doc/rrdgraph_graph.pod: fix description of VRULE + * doc/rrdtool.pod, src/rrd_tool.c, src/rrd_tool.h: Add funtionality + to rrdtool to run it as a 'server' -- Hartmut.Vogler@epost.de -2005-05-01 10:23 oetiker +2002-05-07 21:58 oetiker - * bindings/perl-shared/RRDs.xs, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_fetch.c, src/rrd_first.c, src/rrd_graph.c, - src/rrd_restore.c, src/rrd_tool.c, src/rrd_tune.c, - src/rrd_update.c, src/rrd_xport.c: reset optind opterr inside the - function calls ... + * CONTRIBUTORS, bindings/perl-shared/RRDs.xs, doc/Makefile.am, + doc/rrdtool.pod, doc/rrdxport.pod, examples/shared-demo.pl.in, + src/Makefile.am, src/rrd.h, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_tool.c, src/rrd_xport.c, src/rrd_xport.h: new command + rrdtool xport integrated -- Wolfgang Schrimm + -2005-05-01 10:22 oetiker +2002-05-02 13:23 oetiker - * doc/rrdgraph_graph.pod: fixed documentation regarding floating - point line width + * doc/rrdcreate.pod: typo fixed -2005-05-01 10:20 oetiker +2002-04-29 17:11 oetiker - * src/rrd_graph_helper.c: relax parsing of LINE commands LINE: is - valid as well as LINE: eg. LINE1.2323: + * src/rrd_graph.c: badformat parser fixed ... for good this time I + hope -2005-05-01 09:16 oetiker +2002-04-28 19:13 oetiker - * src/rrd_gfx.c: allow for characters over 127 + * src/rrd_graph.c: inserted PRINT checker at the wrong point ... -2005-04-30 09:56 oetiker +2002-04-28 14:14 oetiker - * doc/rrdgraph_graph.pod: added notes on escaping colons in COMMENT - and put deprecated forms of command to the back and not to the - front + * src/rrd_graph.c: It's nice and simple, the error checker for the + PRINT stuff which is passed to printf() is not allowing certain + valid printf() style operations which make text alignment much + more fun. -- Richard A Steenbergen -2005-04-30 09:51 oetiker +2002-04-24 21:04 oetiker - * src/rrd_open.c, src/rrd_update.c: always open with rb/wb when it - is a binary file ... unix and windows will work alike with this - ... + * examples/cgi-demo.cgi, libraries/libart_lgpl-2.3.7/art_config.h, + src/rrd_graph.c: fixed setlocale issues -2005-04-30 09:48 oetiker +2002-04-24 20:54 oetiker - * src/rrdupdate.c: this file is not required ... + * configure.ac, doc/rrdgraph.src: fixed adress for wishlist -2005-04-30 09:41 oetiker +2002-04-24 20:49 oetiker - * src/rrd_open.c: even better lets have rb for CYGWIN too ... one - never knows it is windows after all. + * src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c: Patch for + supporting PDF as output format -2005-04-30 09:40 oetiker +2002-04-24 20:49 oetiker - * src/rrd_open.c: oops inverted code here ... windows needs rb unix - not + * src/rrd_graph.c, src/rrd_graph.h: Modification of rrd_graph.c/h so + it uses dashes for gridlines much like rrdtool 1.0 Avoids drawing + minor vertical gridlines where a major gridline is to avoid + artifacts from having the grey line beneath the red one. Patches + src/rrd_graph.c and src/rrd_graph.h -- Peter Speck -2005-04-26 22:08 oetiker +2002-04-24 20:43 oetiker - * doc/rrdtool.pod: use pod syntax not html syntax in pod :-) + * src/rrd_graph.c: fixed setlocale issues -2005-04-26 22:04 oetiker +2002-04-16 05:00 oetiker - * doc/cdeftutorial.pod, doc/rrd-beginners.pod, doc/rrdcreate.pod, - doc/rrdgraph.pod: more fixes by fritz + * doc/rrdgraph.src: doc for gridfit by peter -2005-04-26 05:33 oetiker +2002-04-15 21:29 oetiker - * CONTRIBUTORS: obfuscate email addresses + * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h: Evenly-spaced + y-axis gridlines. I had to split horizontal_grid() into + calc_horizontal_grid and draw_horizontal_grid as the calculated + info is needed in the adjustment code. My previous patch had the + problem that it adjusted the y-axis too late, e.g. after the data + lines was drawn. The result of the calc is stored in struct + ygrid_scale_t which image_desc_t has as a member. --no-gridfit is + implemented. The round-to-integer coordinates for png is moved to + the libart code in rrd_gfx. The 'close path' code is cleaned up so + the node list is left unchanged if you want to save the same graph + in multiple formats in one run. The rounding is done on the scaled + coordinates (zoom). I have made a simple version for logarithmic y + scales as such a scale might have 5 gridlines with 4 difference + spacings. This version only uses y = 10^x values for modifying the + scale. -- Peter Speck -2005-04-26 05:30 oetiker +2002-04-09 21:35 oetiker - * doc/rrdtool.pod: * remove jakes old address * add security warning + * doc/rrdcgi.pod: remove boguos description of goodfor and refresh -2005-04-25 22:55 oetiker +2002-04-09 21:34 oetiker - * doc/rpntutorial.pod: remove pdf link + * bindings/perl-shared/RRDs.xs: removed tzset as it is in rrd_graph + now -2005-04-25 22:18 oetiker +2002-04-09 21:34 oetiker - * src/parsetime.c: use time_t to improve portability to 64bit - systems -- John R Mocho + * configure.ac, src/rrd_graph.c: added tzset and setlocale to + rrd_graph -2005-04-25 21:01 oetiker +2002-04-07 22:07 oetiker - * NEWS: added new state + * src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, + src/rrd_afm_data.h: added missing files from peters patch -2005-04-25 20:45 oetiker +2002-04-07 20:20 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, doc/rrdgraph_graph.pod, rrdtool.spec, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prep for 1.2.0 - release + * configure.ac, doc/rrdgraph.src, examples/4charts.pl.in, + examples/bigtops.pl, examples/piped-demo.pl, + examples/shared-demo.pl, examples/stripes.pl, + libraries/Makefile.am, libraries/afm, libraries/afm/COPYRIGHT.txt, + libraries/afm/Courier-Bold.afm, + libraries/afm/Courier-BoldOblique.afm, + libraries/afm/Courier-Oblique.afm, libraries/afm/Courier.afm, + libraries/afm/Helvetica-Bold.afm, + libraries/afm/Helvetica-BoldOblique.afm, + libraries/afm/Helvetica-Oblique.afm, libraries/afm/Helvetica.afm, + libraries/afm/Makefile.am, libraries/afm/Symbol.afm, + libraries/afm/Times-Bold.afm, libraries/afm/Times-BoldItalic.afm, + libraries/afm/Times-Italic.afm, libraries/afm/Times-Roman.afm, + libraries/afm/ZapfDingbats.afm, libraries/afm/compile_afm.pl, + libraries/afm/glyphlist.txt, libraries/afm/test-afm.c, + libraries/libart_lgpl-2.3.7/Makefile.in, + libraries/libpng-1.2.0/Makefile.in, src/Makefile.am, + src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, src/rrd_tool.c: 3 + patches, #3 depends on #1 as EPS uses AFM for stringwidth too. + src/rrd_afm.[ch], src/rrd_afm_data.[ch] and changes to + rrd_gfx.[ch] to use AFM for stringwidth in SVG output. + libraries/afm with .afm files for the standard 14 postscript fonts + and perl script to create src/rrd_afm_data.c Includes small test + program to show examples of calculated stringwidth and actual + stringwidth. Adds EPS output support. Modifies rrd_tool.c as + rrd_graph() changes the argv pointer, and rrd_tool then always + wrote the 200x100 output line to the file (which probably doesn't + do anything for png images, but eps files fail having it after the + %%EOF marker). -- Peter Speck -2005-04-25 19:07 oetiker +2002-04-06 12:40 alex - * doc/rpntutorial.pod, doc/rrdcgi.pod, doc/rrdfetch.pod, - doc/rrdgraph_data.pod, doc/rrdgraph_examples.pod, - doc/rrdgraph_graph.pod, doc/rrdgraph_rpn.pod, doc/rrdtutorial.pod: - resolved all XXX situations + * src/rrd_graph.c: Different default font when WIN32 is defined -2005-04-25 17:31 oetiker +2002-04-06 12:25 alex - * doc/bin_dec_hex.pod, doc/rpntutorial.pod, doc/rrdcgi.pod, - doc/rrdfetch.pod, doc/rrdgraph_data.pod, - doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, - doc/rrdgraph_rpn.pod, doc/rrdtool.pod, doc/rrdtune.pod, - doc/rrdtutorial.pod, doc/rrdupdate.pod, doc/rrdxport.pod: another - batch of fixes from fritz + * NT-BUILD-TIPS.txt, bindings/perl-shared/Makefile.PL, + bindings/perl-shared/RRDs.pm, bindings/perl-shared/ntmake.pl, + bindings/perl-shared/t/base.t, doc/Makefile.am, + doc/cdeftutorial.pod, doc/rrdgraph-old.pod, + doc/rrdgraph_graph.src, doc/rrdtutorial.es.pod, + examples/cgi-demo.cgi, examples/cgi-demo.cgi.in, + examples/piped-demo.pl, examples/piped-demo.pl.in, + examples/shared-demo.pl, examples/shared-demo.pl.in, + src/rrd_cgi.c, src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, + src/rrd_graph.h, src/rrd_tool.h: Removed references to GIF Changed + y0 and such into Y0 and so -2005-04-24 22:21 oetiker +2002-04-05 23:51 jake - * CONTRIBUTORS: fixed contributiors listing + * NT-BUILD-TIPS.txt, bindings/perl-shared/RRDs.xs, + bindings/perl-shared/ntmake.pl, confignt, confignt/config.h, + libraries/freetype-2.0.5/freetype.dsp, + libraries/libart_lgpl-2.3.7/libart.dsp, + libraries/libpng-1.2.0/png.dsp, libraries/zlib-1.1.4/zlib.dsp, + src/ntconfig.h, src/rrd.dsp, src/rrd_gfx.c, src/rrd_graph.c, + src/rrd_tool.h, src/rrdtool.dsp, src/rrdtool.dsw: Updated/added + MVSC++ 6.0 project files for compilation of rrd.lib and + rrdtool.exe on Win32. Changes for RRDs compilation on Win32. Moved + src/ntconfig.h to confignt/config.h. -2005-04-24 17:23 oetiker +2002-04-03 14:52 oetiker - * doc/rrddump.pod, doc/rrdfirst.pod, doc/rrdinfo.pod, - doc/rrdlast.pod, doc/rrdresize.pod, doc/rrdrestore.pod, - doc/rrdthreads.pod, doc/rrdtool-xport.dtd, doc/rrdtutorial.pod: - big patch-up for the 1.2. Documents Revisited by Fritz Zaucker + * src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph.h: As + gfx_canvas_t now has excatly the same lifespan as image_desc_t, + I've made 'gfx_canvas_t canvas' a member of image_desc_t and + dropped it as a separate parameter in all function calls. + imgformat, interlaced and zoom are moved to gfx_canvas_t. I have + dropped my old fontlib-enum as imgformat contains that + information. The gfx_render_xxx switch is moved to rrd_gfx so + rrd_graph is (almost) only bothered with image formats in cmd line + parsing. gfx_close_path is added. gfx_new_dashed_line is added + with 2 new arguments: length of a dash and length between dashes. + gfx_new_line is still there for plain lines. Having dash-length == + 0 creates normal line. rrd_graph.c is not updated for dashed + lines. It's not decided how one should specify which and how lines + are dashed. An extension of the color specification? svg is + updated for dashes and opacity, but libart code is not. I've fixed + indent in SVG, all lines had a space before func decl. etc. Misc + small fixes, e.g. sscanf of gfx_color_t, position of x-axis arrow. + --- Peter Speck -2005-04-22 18:35 oetiker +2002-04-03 05:32 oetiker - * NEWS, bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/Makefile.am, src/gdpng.c, - src/gifsize.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, - src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, - src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, - src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, - src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, - src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, - src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, - src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, - src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, - src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, - src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, - src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc9 - release + * src/rrd_restore.c: i suck. sorry. add ,0666 to the open(). -- Paul + Vixie -2005-04-19 21:09 oetiker +2002-04-02 21:32 oetiker - * doc/rrddump.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod, - doc/rrdgraph_graph.pod, doc/rrdinfo.pod, doc/rrdresize.pod: fix - titles + * bindings/perl-shared/RRDs.xs: added call to tzset to activate TZ + settings -- Paul A Vixie -2005-04-19 21:05 oetiker +2002-04-02 21:31 oetiker - * doc/bin_dec_hex.pod: fixed title + * src/rrd_restore.c: aded missing fcntl.h -2005-04-18 22:39 oetiker +2002-04-02 19:37 oetiker - * doc/Makefile.am, doc/cdeftutorial.pod, doc/rrd-beginners.pod, - doc/rrdgraph.pod, doc/rrdgraph.src, doc/rrdgraph_data.pod, - doc/rrdgraph_data.src, doc/rrdgraph_examples.pod, - doc/rrdgraph_examples.src, doc/rrdgraph_graph.pod, - doc/rrdgraph_graph.src, doc/rrdgraph_rpn.pod, - doc/rrdgraph_rpn.src, doc/rrdinfo.pod, doc/rrdlast.pod, - doc/rrdresize.pod, doc/rrdrestore.pod, doc/rrdtune.pod, - doc/rrdtutorial.pod, doc/rrdupdate.pod, doc/rrdxport.pod: src - moved back to pod. this include thing was a neat idea but it just - adds another twist to things which is not necessary. fixed some - pod errors + * src/rrd_restore.c: rrd restore should not burn down existing files + -- Paul Vixie -2005-04-18 22:13 oetiker +2002-04-01 18:32 oetiker - * doc/rrdcgi.pod, doc/rrdcreate.pod, doc/rrddump.pod, - doc/rrdfetch.pod, doc/rrdfirst.pod, doc/rrdgraph.src, - doc/rrdgraph_data.src, doc/rrdgraph_examples.src, - doc/rrdgraph_graph.src, doc/rrdgraph_rpn.src, doc/rrdtool.pod: - misc fixes for better display + * NEWS: merged svg update -2005-04-18 11:07 oetiker +2002-04-01 18:31 oetiker - * doc/rrdgraph_graph.src, branches/1.2/website, - branches/1.2/website/bin, branches/1.2/website/doc, - branches/1.2/website/tut: fixed format + * src/rrd_diff.c: "!" takes a higher preference than "||" this means + rrd_update N:: would segfault -- Oliver Cook -2005-04-17 22:43 oetiker +2002-03-28 17:33 jake - * doc/bin_dec_hex.pod, doc/rrd-beginners.pod, doc/rrdcgi.pod, - doc/rrdcreate.pod, doc/rrddump.pod, doc/rrdfetch.pod, - doc/rrdfirst.pod, doc/rrdgraph.src, doc/rrdgraph_data.src, - doc/rrdgraph_examples.src, doc/rrdgraph_graph.src, - doc/rrdgraph_rpn.src, doc/rrdinfo.pod, doc/rrdlast.pod, - doc/rrdresize.pod, doc/rrdrestore.pod, doc/rrdthreads.pod, - doc/rrdtune.pod, doc/rrdupdate.pod, doc/rrdxport.pod: fixed many - pod bugs while creating the new website + * MakeMakefile: Added comment suggesting use of -I flag with + aclocal. -2005-04-17 17:29 oetiker +2002-03-26 07:02 oetiker - * doc/rrdgraph.src: make sure argument descriptions comply with Bold - = fixed and Italics = variable + * doc/rrdgraph.src, src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.h: + added SVG support -- Peter Speck -2005-04-17 16:26 oetiker +2002-03-23 20:41 alex - * doc/rrdcreate.pod: fix use of =item commands + * src/rrd_graph.c: Better positioning of the pie when it is alone on + the canvas -2005-04-17 16:25 oetiker +2002-03-23 20:01 alex - * doc/Makefile.am: allow to build pods (for website) + * NEWS: Modified rrd_graph -2005-04-13 22:00 oetiker +2002-03-23 19:59 alex - * src/rrd_graph.c: * draw the axis last to have them always on top * - use a smaller font for labeling the axis + * src/rrd_graph.c, src/rrd_graph.h: Changes in rrd_graph; see NEWS -2005-04-13 19:53 oetiker +2002-03-23 09:05 oetiker - * src/rrd_gfx.c: have better default compression + * doc/rrdcgi.pod, doc/rrdgraph.src, doc/rrdtutorial.pod: removed + reference to GIF -2005-04-13 19:53 oetiker +2002-03-23 09:01 oetiker - * src/rrd_graph.c: tune fontsizes and spacing to be more in line - with rrdtool 1.0 + * src/Makefile.am, src/rrd_graph.c, src/rrd_graph.h, src/rrd_tool.c: + remove all traces of GIF and make PNG the default -2005-04-12 21:52 oetiker +2002-03-23 08:53 oetiker - * src/rrd_graph.c: prep for 1.2rc8 release + * src/rrd_graph.c: Move CDEF start pointers if start of cdef is a + step ahead of the start of the data -- Ashok Mandala + -2005-04-12 21:10 oetiker +2002-03-21 22:39 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc8 release + * src/rrd_graph.c: fixed color area in legend and fixed color area + in 3d border -2005-04-12 20:56 oetiker +2002-03-21 12:00 alex - * src/rrd_graph.c, src/rrd_graph.h: * better fix for units-exponent - issue ... now the whole scaling happens only at print time ... - this is more stable -- tobi * remove the newline from ctime (%c) - in VDEF -- alex + * src/rrd_graph.c, src/rrd_graph.h: Pie charts didn't have + anti-aliasing; building them clockwise seems to solve this + problem. -2005-04-11 23:23 oetiker +2002-03-20 22:48 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc7 release + * src/rrd_rpncalc.c: fixed longstanding bug affection CDEFS where + values from rrds with different resolutions got mixed .. -2005-04-11 23:22 oetiker +2002-03-17 22:40 alex - * doc/rrdgraph.src, src/rrd_graph.c, src/rrd_graph.h, - src/rrd_tool.c: * adjusted element spacing within the graph * - re-intruduced --units-length option * stabilized --units-exponent - option by jumping to alt-y-grid mode once the default autogrid can - not cope with the data anymore. + * src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c: Changed the way + circle sections are drawn. -2005-04-11 23:20 oetiker +2002-03-13 02:58 alex - * NEWS: added note about incompatible changes + * src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c: New, hopefully + better, implementation of PART drawing -2005-04-11 12:29 oetiker +2002-03-12 07:19 oetiker - * NEWS: started change log + * libraries/zlib-1.1.3: realy remove zlibe 1.1.3 dir -2005-04-11 12:17 oetiker +2002-03-12 07:18 oetiker - * doc/rrdgraph_rpn.src: added notes on INF + * MakeMakefile, configure.ac, examples/bigtops.pl, + examples/piped-demo.pl, examples/shared-demo.pl, + examples/stripes.pl: updated -2005-04-11 09:51 oetiker +2002-03-12 07:17 oetiker - * src/Makefile.am, src/art_rgb_affine_private.h, - src/art_rgba_rgba_affine.c, src/art_rgba_rgba_affine.h, - src/art_rgba_svp.c, src/art_rgba_svp.h, src/rrd_gfx.c, - src/rrd_gfx.h, src/rrd_graph.c: * we are now creating true RGBA - pngs * removed all memory leeks from rrd_gfx + * libraries/libart_lgpl-2.3.7, + libraries/libart_lgpl-2.3.7/.cvsignore: ignore generated files -2005-04-10 22:02 oetiker +2002-03-12 07:16 oetiker - * NEWS: started updating for 1.2 release + * libraries/libart_lgpl-2.3.7/libart_lgpl_2.la, + libraries/zlib-1.1.4, libraries/zlib-1.1.4/.cvsignore, + libraries/zlib-1.1.4/Makefile, libraries/zlib-1.1.4/Makefile.in: + missing bits -2005-04-10 18:11 oetiker +2002-03-12 06:43 oetiker - * doc/rrdresize.pod: clarified output -- alex + * configure.ac: updated to zlib 1.1.4 -2005-04-10 18:10 oetiker +2002-03-12 06:42 oetiker - * doc/name.inc, doc/rrdgraph.src, doc/rrdgraph_data.src, - doc/rrdgraph_examples.src, doc/rrdgraph_graph.src, - doc/rrdgraph_rpn.src: get the docs ready for the 1.2 release. - remove notes about things that never got implemented. -- alex + * libraries/zlib-1.1.3/ChangeLog, libraries/zlib-1.1.3/FAQ, + libraries/zlib-1.1.3/INDEX, libraries/zlib-1.1.3/Makefile.am, + libraries/zlib-1.1.3/README, libraries/zlib-1.1.3/README.rrdtool, + libraries/zlib-1.1.3/adler32.c, + libraries/zlib-1.1.3/algorithm.txt, + libraries/zlib-1.1.3/compress.c, libraries/zlib-1.1.3/crc32.c, + libraries/zlib-1.1.3/deflate.c, libraries/zlib-1.1.3/deflate.h, + libraries/zlib-1.1.3/descrip.mms, libraries/zlib-1.1.3/example.c, + libraries/zlib-1.1.3/gzio.c, libraries/zlib-1.1.3/infblock.c, + libraries/zlib-1.1.3/infblock.h, libraries/zlib-1.1.3/infcodes.c, + libraries/zlib-1.1.3/infcodes.h, libraries/zlib-1.1.3/inffast.c, + libraries/zlib-1.1.3/inffast.h, libraries/zlib-1.1.3/inffixed.h, + libraries/zlib-1.1.3/inflate.c, libraries/zlib-1.1.3/inftrees.c, + libraries/zlib-1.1.3/inftrees.h, libraries/zlib-1.1.3/infutil.c, + libraries/zlib-1.1.3/infutil.h, libraries/zlib-1.1.3/maketree.c, + libraries/zlib-1.1.3/minigzip.c, libraries/zlib-1.1.3/trees.c, + libraries/zlib-1.1.3/trees.h, libraries/zlib-1.1.3/uncompr.c, + libraries/zlib-1.1.3/zconf.h, libraries/zlib-1.1.3/zlib.3, + libraries/zlib-1.1.3/zlib.dsp, libraries/zlib-1.1.3/zlib.dsw, + libraries/zlib-1.1.3/zlib.h, libraries/zlib-1.1.3/zutil.c, + libraries/zlib-1.1.3/zutil.h, libraries/zlib-1.1.4, + libraries/zlib-1.1.4/ChangeLog, libraries/zlib-1.1.4/FAQ, + libraries/zlib-1.1.4/INDEX, libraries/zlib-1.1.4/Make_vms.com, + libraries/zlib-1.1.4/Makefile, libraries/zlib-1.1.4/Makefile.am, + libraries/zlib-1.1.4/Makefile.am~, + libraries/zlib-1.1.4/Makefile.in, + libraries/zlib-1.1.4/Makefile.riscos, libraries/zlib-1.1.4/README, + libraries/zlib-1.1.4/adler32.c, + libraries/zlib-1.1.4/algorithm.txt, + libraries/zlib-1.1.4/compress.c, libraries/zlib-1.1.4/crc32.c, + libraries/zlib-1.1.4/deflate.c, libraries/zlib-1.1.4/deflate.h, + libraries/zlib-1.1.4/descrip.mms, libraries/zlib-1.1.4/example.c, + libraries/zlib-1.1.4/gzio.c, libraries/zlib-1.1.4/infblock.c, + libraries/zlib-1.1.4/infblock.h, libraries/zlib-1.1.4/infcodes.c, + libraries/zlib-1.1.4/infcodes.h, libraries/zlib-1.1.4/inffast.c, + libraries/zlib-1.1.4/inffast.h, libraries/zlib-1.1.4/inffixed.h, + libraries/zlib-1.1.4/inflate.c, libraries/zlib-1.1.4/inftrees.c, + libraries/zlib-1.1.4/inftrees.h, libraries/zlib-1.1.4/infutil.c, + libraries/zlib-1.1.4/infutil.h, libraries/zlib-1.1.4/maketree.c, + libraries/zlib-1.1.4/minigzip.c, libraries/zlib-1.1.4/trees.c, + libraries/zlib-1.1.4/trees.h, libraries/zlib-1.1.4/uncompr.c, + libraries/zlib-1.1.4/zconf.h, libraries/zlib-1.1.4/zlib.3, + libraries/zlib-1.1.4/zlib.h, libraries/zlib-1.1.4/zlib.html, + libraries/zlib-1.1.4/zutil.c, libraries/zlib-1.1.4/zutil.h: + replace zlib 1.1.3 with zlib 1.1.4 -2005-04-10 18:05 oetiker +2002-03-10 23:08 alex - * src/rrd_graph.c: do not draw AREAS that have no hight (done - right). draw an arrow on the positiv y axis. + * doc/rrdgraph_graph.src, src/rrd_graph.c, src/rrd_graph.h: Pie + chart support added to rrdtool graph -2005-04-10 15:35 oetiker +2002-03-10 22:49 oetiker - * doc/rrdtutorial.pod: updated for 1.2 release -- alex + * MakeMakefile: added quotes to echo -2005-04-10 14:00 oetiker +2002-03-10 16:22 alex - * src/rrd_gfx.c: fixed typo -- alex + * src/rrd_rpncalc.c: Realigned function rpn_calc() Stack checking + now done using a macro -2005-04-10 13:57 oetiker +2002-03-10 14:58 alex - * doc/rrdcgi.pod: G does not exist E does + * doc/rrdgraph.src, doc/rrdgraph_rpn.src: Fixed some typos/errors + Updated for the NE and ISINF operators in RPN -2005-04-10 12:12 oetiker +2002-03-10 14:53 alex - * doc/rrdcreate.pod, doc/rrdxport.pod, src/rrd_graph_helper.c, - src/rrd_tool.c: fixed spelling and working -- Alex van den - Bogaerdt alex at ergens.op.het.net + * src/rrd_graph.c: Using the font option resulted in a segfault. + Needs more care, the current change is just a hack -2005-04-10 11:53 oetiker +2002-03-10 14:48 alex - * NT-BUILD-TIPS.txt, confignt/config.h, src/strftime.c, - src/strftime.h: added extra strftime.[ch] which supports ISO 8601 - week numbers, together with instructions in the NT-BUILD-TIPPS - file + * src/rrd_rpncalc.c, src/rrd_rpncalc.h: Added NE and ISINF operands + to RPN -2005-04-10 11:33 oetiker +2002-03-10 12:28 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc6 release + * MakeMakefile: better version check -2005-04-10 11:31 oetiker +2002-03-08 22:14 alex - * src/rrd_graph.c: remove excess comment + * doc/rrdtutorial.pod: Needed to escape a wildcard -2005-04-10 11:30 oetiker +2002-03-08 22:11 alex - * configure.ac, src/Makefile.am: make --disable-perl work allow - configuration of the default font at configure time + * doc/rrdtutorial.pod: Fixed some typos -2005-04-10 11:29 oetiker +2002-02-18 21:52 oetiker - * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c: revamped - drawing routines to be less complex and more stable. be kind to - libart + * MakeMakefile, examples/bigtops.pl: added autotools version check + to MakeMakefiles -2005-04-10 09:38 oetiker +2002-02-09 06:21 oetiker - * src/rrd_graph.c: allow --color arguments with RRGGBB and not only - RRGGBBAA + * src/rrd_gfx.c: do propper error checking and release memmory when + it is not required anymore -2005-04-10 09:16 oetiker +2002-02-08 18:40 oetiker - * bindings/perl-shared/Makefile.PL: everyone has other names for - their shared libraries, so lets drop the dependency + * src/rrd_cgi.c: allow rrd_cgi to deal with umlauts -- Alexander + Schwartz -2005-04-10 09:15 oetiker +2002-02-03 08:10 oetiker - * bindings/perl-shared/RRDs.pm: mention updatev in the synopsis + * doc/rrdcreate.pod: fixed spelling -2005-04-09 14:21 oetiker +2002-02-02 14:36 oetiker - * TODO: we do have 95% + * src/rrd_graph.c: fixed data pointer storage -2005-04-07 21:35 oetiker +2002-02-01 20:34 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, + * src/gdpng.c, src/gifsize.c, src/pngsize.c, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc5 release + src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_format.c, src/rrd_graph.c, src/rrd_hw.c, src/rrd_info.c, + src/rrd_last.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_stat.c, + src/rrd_tool.c, src/rrd_tune.c, src/rrd_update.c: fixed version + number and date/time -2005-04-07 21:31 oetiker +2002-02-01 20:29 oetiker + + * libraries/libart_lgpl-2.3.7/Makefile, + libraries/libpng-1.2.0/Makefile, src/rrd_graph.c: *** empty log + message *** + +2002-01-31 22:44 oetiker + + * acinclude.m4: this file and all the external libraries + configurability was contributed by mat zimmermann + +2002-01-31 22:43 oetiker + + * acinclude.m4, configure.ac, examples/minmax.pl, + libraries/Makefile.am, src/Makefile.am, src/rrd_graph.c: allow use + of libraries already installed on the system + +2002-01-31 11:56 oetiker + + * src/parsetime.c: make "18:00 yesterday" work Pavel Mores + + +2002-01-31 07:23 oetiker + + * src/rrd_graph.c: weeknumber is not %V which is more appropriate + than %W + +2002-01-31 06:36 oetiker + + * MakeMakefile: copy ltmain.sh + +2002-01-17 20:31 oetiker + + * libraries/libpng-1.0.9: this also + +2002-01-17 20:30 oetiker + + * config/libtool, libraries/gd1.3, libraries/libpng-1.0.9/ANNOUNCE, + libraries/libpng-1.0.9/CHANGES, libraries/libpng-1.0.9/INSTALL, + libraries/libpng-1.0.9/KNOWNBUG, libraries/libpng-1.0.9/LICENSE, + libraries/libpng-1.0.9/Makefil, + libraries/libpng-1.0.9/Makefile.am, libraries/libpng-1.0.9/README, + libraries/libpng-1.0.9/README.rrdtool, + libraries/libpng-1.0.9/TODO, libraries/libpng-1.0.9/Y2KINFO, + libraries/libpng-1.0.9/example.c, libraries/libpng-1.0.9/libpng.3, + libraries/libpng-1.0.9/libpng.txt, + libraries/libpng-1.0.9/libpngpf.3, libraries/libpng-1.0.9/png.5, + libraries/libpng-1.0.9/png.c, libraries/libpng-1.0.9/png.dsp, + libraries/libpng-1.0.9/png.dsw, libraries/libpng-1.0.9/png.h, + libraries/libpng-1.0.9/pngasmrd.h, + libraries/libpng-1.0.9/pngbar.jpg, + libraries/libpng-1.0.9/pngbar.png, + libraries/libpng-1.0.9/pngconf.h, + libraries/libpng-1.0.9/pngerror.c, + libraries/libpng-1.0.9/pnggccrd.c, + libraries/libpng-1.0.9/pngget.c, libraries/libpng-1.0.9/pngmem.c, + libraries/libpng-1.0.9/pngnow.png, + libraries/libpng-1.0.9/pngpread.c, + libraries/libpng-1.0.9/pngread.c, libraries/libpng-1.0.9/pngrio.c, + libraries/libpng-1.0.9/pngrtran.c, + libraries/libpng-1.0.9/pngrutil.c, + libraries/libpng-1.0.9/pngset.c, libraries/libpng-1.0.9/pngtest.c, + libraries/libpng-1.0.9/pngtest.png, + libraries/libpng-1.0.9/pngtrans.c, + libraries/libpng-1.0.9/pngvcrd.c, libraries/libpng-1.0.9/pngwio.c, + libraries/libpng-1.0.9/pngwrite.c, + libraries/libpng-1.0.9/pngwtran.c, + libraries/libpng-1.0.9/pngwutil.c: this is not needed anymore + +2002-01-17 20:28 oetiker + + * libraries/gd1.3/.cvsignore: killing remains + +2002-01-16 23:11 oetiker + + * MakeMakefile: added places for download + +2002-01-15 22:58 oetiker + + * ., .cvsignore, config, config/.cvsignore: ignore irrelevant things + +2002-01-15 22:53 oetiker + + * libraries/freetype-2.0.5, libraries/freetype-2.0.5/.cvsignore, + libraries/libart_lgpl-2.3.7, + libraries/libart_lgpl-2.3.7/.cvsignore, libraries/libpng-1.2.0, + libraries/libpng-1.2.0/.cvsignore: added new .cvsignore files + +2002-01-15 22:51 oetiker + + * CONTRIBUTORS, MakeMakefile, Makefile.am, NEWS, config/acconfig.h, + config/aclocal.m4, config/config.guess, config/config.h.in, + config/config.sub, config/install-sh, config/ltconfig, + config/ltmain.sh, config/missing, config/mkinstalldirs, + config/stamp-h, config/stamp-h.in, configure.ac, configure.in, + doc/rrdgraph.src, doc/rrdgraph_graph.src, examples/4charts.pl.in, + examples/bigtops.pl, examples/bigtops.pl.in, + examples/cgi-demo.cgi, examples/minmax.pl, examples/minmax.pl.in, + examples/piped-demo.pl, examples/piped-demo.pl.in, + examples/shared-demo.pl, examples/shared-demo.pl.in, + examples/stripes.pl, examples/stripes.pl.in, + libraries/Makefile.am, libraries/cgilib-0.4/Makefile.am, + libraries/freetype-2.0.5, libraries/freetype-2.0.5-import.txt, + libraries/freetype-2.0.5/Makefile.am, + libraries/freetype-2.0.5/README, + libraries/freetype-2.0.5/ahangles.c, + libraries/freetype-2.0.5/ahglobal.c, + libraries/freetype-2.0.5/ahglyph.c, + libraries/freetype-2.0.5/ahhint.c, + libraries/freetype-2.0.5/ahmodule.c, + libraries/freetype-2.0.5/ahoptim.c, + libraries/freetype-2.0.5/autohint.c, + libraries/freetype-2.0.5/cff.c, + libraries/freetype-2.0.5/cffdrivr.c, + libraries/freetype-2.0.5/cffgload.c, + libraries/freetype-2.0.5/cffload.c, + libraries/freetype-2.0.5/cffobjs.c, + libraries/freetype-2.0.5/cffparse.c, + libraries/freetype-2.0.5/cidgload.c, + libraries/freetype-2.0.5/cidload.c, + libraries/freetype-2.0.5/cidobjs.c, + libraries/freetype-2.0.5/cidparse.c, + libraries/freetype-2.0.5/cidriver.c, + libraries/freetype-2.0.5/ftbase.c, + libraries/freetype-2.0.5/ftbbox.c, + libraries/freetype-2.0.5/ftcache.c, + libraries/freetype-2.0.5/ftcalc.c, + libraries/freetype-2.0.5/ftcchunk.c, + libraries/freetype-2.0.5/ftcglyph.c, + libraries/freetype-2.0.5/ftcimage.c, + libraries/freetype-2.0.5/ftcmanag.c, + libraries/freetype-2.0.5/ftcsbits.c, + libraries/freetype-2.0.5/ftdebug.c, + libraries/freetype-2.0.5/ftextend.c, + libraries/freetype-2.0.5/ftglyph.c, + libraries/freetype-2.0.5/ftgrays.c, + libraries/freetype-2.0.5/ftinit.c, + libraries/freetype-2.0.5/ftlist.c, + libraries/freetype-2.0.5/ftlru.c, + libraries/freetype-2.0.5/ftmac.c, libraries/freetype-2.0.5/ftmm.c, + libraries/freetype-2.0.5/ftnames.c, + libraries/freetype-2.0.5/ftobjs.c, + libraries/freetype-2.0.5/ftoutln.c, + libraries/freetype-2.0.5/ftraster.c, + libraries/freetype-2.0.5/ftrend1.c, + libraries/freetype-2.0.5/ftsmooth.c, + libraries/freetype-2.0.5/ftstream.c, + libraries/freetype-2.0.5/ftsynth.c, + libraries/freetype-2.0.5/ftsystem.c, + libraries/freetype-2.0.5/fttrigon.c, + libraries/freetype-2.0.5/include, + libraries/freetype-2.0.5/include/Makefile.am, + libraries/freetype-2.0.5/include/ahangles.h, + libraries/freetype-2.0.5/include/aherrors.h, + libraries/freetype-2.0.5/include/ahglobal.h, + libraries/freetype-2.0.5/include/ahglyph.h, + libraries/freetype-2.0.5/include/ahhint.h, + libraries/freetype-2.0.5/include/ahloader.h, + libraries/freetype-2.0.5/include/ahmodule.h, + libraries/freetype-2.0.5/include/ahoptim.h, + libraries/freetype-2.0.5/include/ahtypes.h, + libraries/freetype-2.0.5/include/cffdrivr.h, + libraries/freetype-2.0.5/include/cfferrs.h, + libraries/freetype-2.0.5/include/cffgload.h, + libraries/freetype-2.0.5/include/cffload.h, + libraries/freetype-2.0.5/include/cffobjs.h, + libraries/freetype-2.0.5/include/cffparse.h, + libraries/freetype-2.0.5/include/cfftoken.h, + libraries/freetype-2.0.5/include/ciderrs.h, + libraries/freetype-2.0.5/include/cidgload.h, + libraries/freetype-2.0.5/include/cidload.h, + libraries/freetype-2.0.5/include/cidobjs.h, + libraries/freetype-2.0.5/include/cidparse.h, + libraries/freetype-2.0.5/include/cidriver.h, + libraries/freetype-2.0.5/include/cidtoken.h, + libraries/freetype-2.0.5/include/fnterrs.h, + libraries/freetype-2.0.5/include/freetype, + libraries/freetype-2.0.5/include/freetype/Makefile.am, + libraries/freetype-2.0.5/include/freetype/cache, + libraries/freetype-2.0.5/include/freetype/cache/Makefile.am, + libraries/freetype-2.0.5/include/freetype/cache/ftcchunk.h, + libraries/freetype-2.0.5/include/freetype/cache/ftcglyph.h, + libraries/freetype-2.0.5/include/freetype/cache/ftcimage.h, + libraries/freetype-2.0.5/include/freetype/cache/ftcmanag.h, + libraries/freetype-2.0.5/include/freetype/cache/ftcsbits.h, + libraries/freetype-2.0.5/include/freetype/cache/ftlru.h, + libraries/freetype-2.0.5/include/freetype/config, + libraries/freetype-2.0.5/include/freetype/config/Makefile.am, + libraries/freetype-2.0.5/include/freetype/config/ftconfig.h, + libraries/freetype-2.0.5/include/freetype/config/ftheader.h, + libraries/freetype-2.0.5/include/freetype/config/ftmodule.h, + libraries/freetype-2.0.5/include/freetype/config/ftoption.h, + libraries/freetype-2.0.5/include/freetype/freetype.h, + libraries/freetype-2.0.5/include/freetype/ftbbox.h, + libraries/freetype-2.0.5/include/freetype/ftcache.h, + libraries/freetype-2.0.5/include/freetype/ftchapters.h, + libraries/freetype-2.0.5/include/freetype/fterrors.h, + libraries/freetype-2.0.5/include/freetype/ftglyph.h, + libraries/freetype-2.0.5/include/freetype/ftimage.h, + libraries/freetype-2.0.5/include/freetype/ftlist.h, + libraries/freetype-2.0.5/include/freetype/ftmac.h, + libraries/freetype-2.0.5/include/freetype/ftmm.h, + libraries/freetype-2.0.5/include/freetype/ftmoderr.h, + libraries/freetype-2.0.5/include/freetype/ftmodule.h, + libraries/freetype-2.0.5/include/freetype/ftoutln.h, + libraries/freetype-2.0.5/include/freetype/ftrender.h, + libraries/freetype-2.0.5/include/freetype/ftsizes.h, + libraries/freetype-2.0.5/include/freetype/ftsnames.h, + libraries/freetype-2.0.5/include/freetype/ftsynth.h, + libraries/freetype-2.0.5/include/freetype/ftsystem.h, + libraries/freetype-2.0.5/include/freetype/fttrigon.h, + libraries/freetype-2.0.5/include/freetype/fttypes.h, + libraries/freetype-2.0.5/include/freetype/internal, + libraries/freetype-2.0.5/include/freetype/internal/Makefile.am, + libraries/freetype-2.0.5/include/freetype/internal/autohint.h, + libraries/freetype-2.0.5/include/freetype/internal/cfftypes.h, + libraries/freetype-2.0.5/include/freetype/internal/fnttypes.h, + libraries/freetype-2.0.5/include/freetype/internal/ftcalc.h, + libraries/freetype-2.0.5/include/freetype/internal/ftdebug.h, + libraries/freetype-2.0.5/include/freetype/internal/ftdriver.h, + libraries/freetype-2.0.5/include/freetype/internal/ftextend.h, + libraries/freetype-2.0.5/include/freetype/internal/ftmemory.h, + libraries/freetype-2.0.5/include/freetype/internal/ftobjs.h, + libraries/freetype-2.0.5/include/freetype/internal/ftstream.h, + libraries/freetype-2.0.5/include/freetype/internal/internal.h, + libraries/freetype-2.0.5/include/freetype/internal/pcftypes.h, + libraries/freetype-2.0.5/include/freetype/internal/psaux.h, + libraries/freetype-2.0.5/include/freetype/internal/psnames.h, + libraries/freetype-2.0.5/include/freetype/internal/sfnt.h, + libraries/freetype-2.0.5/include/freetype/internal/t1types.h, + libraries/freetype-2.0.5/include/freetype/internal/tttypes.h, + libraries/freetype-2.0.5/include/freetype/t1tables.h, + libraries/freetype-2.0.5/include/freetype/ttnameid.h, + libraries/freetype-2.0.5/include/freetype/tttables.h, + libraries/freetype-2.0.5/include/freetype/tttags.h, + libraries/freetype-2.0.5/include/ft2build.h, + libraries/freetype-2.0.5/include/ftcerror.h, + libraries/freetype-2.0.5/include/ftgrays.h, + libraries/freetype-2.0.5/include/ftraster.h, + libraries/freetype-2.0.5/include/ftrend1.h, + libraries/freetype-2.0.5/include/ftsmerrs.h, + libraries/freetype-2.0.5/include/ftsmooth.h, + libraries/freetype-2.0.5/include/pcf.h, + libraries/freetype-2.0.5/include/pcfdriver.h, + libraries/freetype-2.0.5/include/pcferror.h, + libraries/freetype-2.0.5/include/pcfutil.h, + libraries/freetype-2.0.5/include/psauxerr.h, + libraries/freetype-2.0.5/include/psauxmod.h, + libraries/freetype-2.0.5/include/psmodule.h, + libraries/freetype-2.0.5/include/psnamerr.h, + libraries/freetype-2.0.5/include/psobjs.h, + libraries/freetype-2.0.5/include/pstables.h, + libraries/freetype-2.0.5/include/rasterrs.h, + libraries/freetype-2.0.5/include/sfdriver.h, + libraries/freetype-2.0.5/include/sferrors.h, + libraries/freetype-2.0.5/include/sfobjs.h, + libraries/freetype-2.0.5/include/t1afm.h, + libraries/freetype-2.0.5/include/t1decode.h, + libraries/freetype-2.0.5/include/t1driver.h, + libraries/freetype-2.0.5/include/t1errors.h, + libraries/freetype-2.0.5/include/t1gload.h, + libraries/freetype-2.0.5/include/t1load.h, + libraries/freetype-2.0.5/include/t1objs.h, + libraries/freetype-2.0.5/include/t1parse.h, + libraries/freetype-2.0.5/include/t1tokens.h, + libraries/freetype-2.0.5/include/ttcmap.h, + libraries/freetype-2.0.5/include/ttdriver.h, + libraries/freetype-2.0.5/include/tterrors.h, + libraries/freetype-2.0.5/include/ttgload.h, + libraries/freetype-2.0.5/include/ttinterp.h, + libraries/freetype-2.0.5/include/ttload.h, + libraries/freetype-2.0.5/include/ttobjs.h, + libraries/freetype-2.0.5/include/ttpload.h, + libraries/freetype-2.0.5/include/ttpost.h, + libraries/freetype-2.0.5/include/ttsbit.h, + libraries/freetype-2.0.5/include/winfnt.h, + libraries/freetype-2.0.5/license.txt, + libraries/freetype-2.0.5/pcf.c, + libraries/freetype-2.0.5/pcfdriver.c, + libraries/freetype-2.0.5/pcfread.c, + libraries/freetype-2.0.5/pcfutil.c, + libraries/freetype-2.0.5/psaux.c, + libraries/freetype-2.0.5/psauxmod.c, + libraries/freetype-2.0.5/psmodule.c, + libraries/freetype-2.0.5/psnames.c, + libraries/freetype-2.0.5/psobjs.c, + libraries/freetype-2.0.5/raster.c, + libraries/freetype-2.0.5/sfdriver.c, + libraries/freetype-2.0.5/sfnt.c, + libraries/freetype-2.0.5/sfobjs.c, + libraries/freetype-2.0.5/smooth.c, + libraries/freetype-2.0.5/t1afm.c, + libraries/freetype-2.0.5/t1decode.c, + libraries/freetype-2.0.5/t1driver.c, + libraries/freetype-2.0.5/t1gload.c, + libraries/freetype-2.0.5/t1load.c, + libraries/freetype-2.0.5/t1objs.c, + libraries/freetype-2.0.5/t1parse.c, + libraries/freetype-2.0.5/test_bbox.c, + libraries/freetype-2.0.5/test_trig.c, + libraries/freetype-2.0.5/truetype.c, + libraries/freetype-2.0.5/ttcmap.c, + libraries/freetype-2.0.5/ttdriver.c, + libraries/freetype-2.0.5/ttgload.c, + libraries/freetype-2.0.5/ttinterp.c, + libraries/freetype-2.0.5/ttload.c, + libraries/freetype-2.0.5/ttobjs.c, + libraries/freetype-2.0.5/ttpload.c, + libraries/freetype-2.0.5/ttpost.c, + libraries/freetype-2.0.5/ttsbit.c, + libraries/freetype-2.0.5/type1.c, + libraries/freetype-2.0.5/type1cid.c, + libraries/freetype-2.0.5/winfnt.c, libraries/libart_lgpl-2.3.7, + libraries/libart_lgpl-2.3.7/AUTHORS, + libraries/libart_lgpl-2.3.7/COPYING, + libraries/libart_lgpl-2.3.7/ChangeLog, + libraries/libart_lgpl-2.3.7/INSTALL, + libraries/libart_lgpl-2.3.7/Makefile, + libraries/libart_lgpl-2.3.7/Makefile.am, + libraries/libart_lgpl-2.3.7/Makefile.in, + libraries/libart_lgpl-2.3.7/NEWS, + libraries/libart_lgpl-2.3.7/README, + libraries/libart_lgpl-2.3.7/art_affine.c, + libraries/libart_lgpl-2.3.7/art_affine.h, + libraries/libart_lgpl-2.3.7/art_alphagamma.c, + libraries/libart_lgpl-2.3.7/art_alphagamma.h, + libraries/libart_lgpl-2.3.7/art_bpath.c, + libraries/libart_lgpl-2.3.7/art_bpath.h, + libraries/libart_lgpl-2.3.7/art_config.h, + libraries/libart_lgpl-2.3.7/art_filterlevel.h, + libraries/libart_lgpl-2.3.7/art_gray_svp.c, + libraries/libart_lgpl-2.3.7/art_gray_svp.h, + libraries/libart_lgpl-2.3.7/art_misc.c, + libraries/libart_lgpl-2.3.7/art_misc.h, + libraries/libart_lgpl-2.3.7/art_pathcode.h, + libraries/libart_lgpl-2.3.7/art_pixbuf.c, + libraries/libart_lgpl-2.3.7/art_pixbuf.h, + libraries/libart_lgpl-2.3.7/art_point.h, + libraries/libart_lgpl-2.3.7/art_rect.c, + libraries/libart_lgpl-2.3.7/art_rect.h, + libraries/libart_lgpl-2.3.7/art_rect_svp.c, + libraries/libart_lgpl-2.3.7/art_rect_svp.h, + libraries/libart_lgpl-2.3.7/art_rect_uta.c, + libraries/libart_lgpl-2.3.7/art_rect_uta.h, + libraries/libart_lgpl-2.3.7/art_render.c, + libraries/libart_lgpl-2.3.7/art_render.h, + libraries/libart_lgpl-2.3.7/art_render_gradient.c, + libraries/libart_lgpl-2.3.7/art_render_gradient.h, + libraries/libart_lgpl-2.3.7/art_render_svp.c, + libraries/libart_lgpl-2.3.7/art_render_svp.h, + libraries/libart_lgpl-2.3.7/art_rgb.c, + libraries/libart_lgpl-2.3.7/art_rgb.h, + libraries/libart_lgpl-2.3.7/art_rgb_a_affine.c, + libraries/libart_lgpl-2.3.7/art_rgb_a_affine.h, + libraries/libart_lgpl-2.3.7/art_rgb_affine.c, + libraries/libart_lgpl-2.3.7/art_rgb_affine.h, + libraries/libart_lgpl-2.3.7/art_rgb_affine_private.c, + libraries/libart_lgpl-2.3.7/art_rgb_affine_private.h, + libraries/libart_lgpl-2.3.7/art_rgb_bitmap_affine.c, + libraries/libart_lgpl-2.3.7/art_rgb_bitmap_affine.h, + libraries/libart_lgpl-2.3.7/art_rgb_pixbuf_affine.c, + libraries/libart_lgpl-2.3.7/art_rgb_pixbuf_affine.h, + libraries/libart_lgpl-2.3.7/art_rgb_rgba_affine.c, + libraries/libart_lgpl-2.3.7/art_rgb_rgba_affine.h, + libraries/libart_lgpl-2.3.7/art_rgb_svp.c, + libraries/libart_lgpl-2.3.7/art_rgb_svp.h, + libraries/libart_lgpl-2.3.7/art_rgba.c, + libraries/libart_lgpl-2.3.7/art_rgba.h, + libraries/libart_lgpl-2.3.7/art_svp.c, + libraries/libart_lgpl-2.3.7/art_svp.h, + libraries/libart_lgpl-2.3.7/art_svp_intersect.c, + libraries/libart_lgpl-2.3.7/art_svp_intersect.h, + libraries/libart_lgpl-2.3.7/art_svp_ops.c, + libraries/libart_lgpl-2.3.7/art_svp_ops.h, + libraries/libart_lgpl-2.3.7/art_svp_point.c, + libraries/libart_lgpl-2.3.7/art_svp_point.h, + libraries/libart_lgpl-2.3.7/art_svp_render_aa.c, + libraries/libart_lgpl-2.3.7/art_svp_render_aa.h, + libraries/libart_lgpl-2.3.7/art_svp_vpath.c, + libraries/libart_lgpl-2.3.7/art_svp_vpath.h, + libraries/libart_lgpl-2.3.7/art_svp_vpath_stroke.c, + libraries/libart_lgpl-2.3.7/art_svp_vpath_stroke.h, + libraries/libart_lgpl-2.3.7/art_svp_wind.c, + libraries/libart_lgpl-2.3.7/art_svp_wind.h, + libraries/libart_lgpl-2.3.7/art_uta.c, + libraries/libart_lgpl-2.3.7/art_uta.h, + libraries/libart_lgpl-2.3.7/art_uta_ops.c, + libraries/libart_lgpl-2.3.7/art_uta_ops.h, + libraries/libart_lgpl-2.3.7/art_uta_rect.c, + libraries/libart_lgpl-2.3.7/art_uta_rect.h, + libraries/libart_lgpl-2.3.7/art_uta_svp.c, + libraries/libart_lgpl-2.3.7/art_uta_svp.h, + libraries/libart_lgpl-2.3.7/art_uta_vpath.c, + libraries/libart_lgpl-2.3.7/art_uta_vpath.h, + libraries/libart_lgpl-2.3.7/art_vpath.c, + libraries/libart_lgpl-2.3.7/art_vpath.h, + libraries/libart_lgpl-2.3.7/art_vpath_bpath.c, + libraries/libart_lgpl-2.3.7/art_vpath_bpath.h, + libraries/libart_lgpl-2.3.7/art_vpath_dash.c, + libraries/libart_lgpl-2.3.7/art_vpath_dash.h, + libraries/libart_lgpl-2.3.7/art_vpath_svp.c, + libraries/libart_lgpl-2.3.7/art_vpath_svp.h, + libraries/libart_lgpl-2.3.7/gen_art_config.c, + libraries/libart_lgpl-2.3.7/install-sh, + libraries/libart_lgpl-2.3.7/libart-2.0.pc.in, + libraries/libart_lgpl-2.3.7/libart-config.in, + libraries/libart_lgpl-2.3.7/libart-features.c, + libraries/libart_lgpl-2.3.7/libart-features.h, + libraries/libart_lgpl-2.3.7/libart-features.h.in, + libraries/libart_lgpl-2.3.7/libart.h, + libraries/libart_lgpl-2.3.7/libart_lgpl_2.la, + libraries/libart_lgpl-2.3.7/missing, + libraries/libart_lgpl-2.3.7/mkinstalldirs, + libraries/libart_lgpl-2.3.7/stamp-h.in, + libraries/libart_lgpl-2.3.7/testart.c, + libraries/libart_lgpl-2.3.7/testuta.c, libraries/libpng-1.2.0, + libraries/libpng-1.2.0-import.txt, + libraries/libpng-1.2.0/ANNOUNCE, libraries/libpng-1.2.0/CHANGES, + libraries/libpng-1.2.0/INSTALL, libraries/libpng-1.2.0/KNOWNBUG, + libraries/libpng-1.2.0/LICENSE, libraries/libpng-1.2.0/Makefile, + libraries/libpng-1.2.0/Makefile.am, + libraries/libpng-1.2.0/Makefile.in, libraries/libpng-1.2.0/README, + libraries/libpng-1.2.0/TODO, libraries/libpng-1.2.0/Y2KINFO, + libraries/libpng-1.2.0/example.c, libraries/libpng-1.2.0/libpng.3, + libraries/libpng-1.2.0/libpng.txt, + libraries/libpng-1.2.0/libpngpf.3, libraries/libpng-1.2.0/png.5, + libraries/libpng-1.2.0/png.c, libraries/libpng-1.2.0/png.h, + libraries/libpng-1.2.0/pngasmrd.h, + libraries/libpng-1.2.0/pngbar.jpg, + libraries/libpng-1.2.0/pngbar.png, + libraries/libpng-1.2.0/pngconf.h, + libraries/libpng-1.2.0/pngerror.c, + libraries/libpng-1.2.0/pnggccrd.c, + libraries/libpng-1.2.0/pngget.c, libraries/libpng-1.2.0/pngmem.c, + libraries/libpng-1.2.0/pngnow.png, + libraries/libpng-1.2.0/pngpread.c, + libraries/libpng-1.2.0/pngread.c, libraries/libpng-1.2.0/pngrio.c, + libraries/libpng-1.2.0/pngrtran.c, + libraries/libpng-1.2.0/pngrutil.c, + libraries/libpng-1.2.0/pngset.c, libraries/libpng-1.2.0/pngtest.c, + libraries/libpng-1.2.0/pngtest.png, + libraries/libpng-1.2.0/pngtrans.c, + libraries/libpng-1.2.0/pngvcrd.c, libraries/libpng-1.2.0/pngwio.c, + libraries/libpng-1.2.0/pngwrite.c, + libraries/libpng-1.2.0/pngwtran.c, + libraries/libpng-1.2.0/pngwutil.c, src/Makefile.am, + src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, + src/rrd_graph.h, src/rrd_tool.c, src/rrd_tool.h: The BIG graph + update * Replace libgd with libart * Added freetype * Updated zlib + and libpng * rrd_gfx.c intrduced as libart wrapper * LINE takes + now a float as argument * rrdtool uses truetype for fonts * thanks + to libart there is now full alpha transparenc and antialiasing. * + the new option --font lets customize the font and size for various + graph elements * Updated to -> libtool 1.4.2 automake 2.12 + autoconf 2.52 * new --zoom commandline option for zoom ans + shrinking -- tobias oetiker + +2002-01-04 01:11 alex + + * src/rrd_graph.c, src/rrd_graph.h: Reworked rrd_graph_script() + +2001-12-24 06:51 alex + + * src/rrd_fetch.c, src/rrd_graph.c, src/rrd_graph.h, src/rrd_tool.c: + A patch of size 44Kbytes... in short: Found and repaired the + off-by-one error in rrd_fetch_fn(). As a result I had to remove + the hacks in rrd_fetch_fn(), rrd_tool.c, vdef_calc(), data_calc(), + data_proc() and reduce_data(). There may be other places which I + didn't find so be careful. Enhanced debugging in rrd_fetch_fn(), + it shows the RRA selection process. Added the ability to print + VDEF timestamps. At the moment it is a hack, I needed it now to + fix the off-by-one error. If the format string is "%c" (and + nothing else!), the time will be printed by both ctime() and as a + long int. Moved some code around (slightly altering it) from + rrd_graph() initializing now in rrd_graph_init() options parsing + now in rrd_graph_options() script parsing now in + rrd_graph_script() + +2001-12-22 02:49 alex + + * src/rrd_graph.c: Somehow eight lines were missing from function + rrd_graph(). Also fixed minor bug in vdef_calc(). + +2001-12-17 12:48 oetiker + + * src/rrd_fetch.c: fix overflow error ... + +2001-12-11 22:55 jake + + * src/rrd_info.c: Fixed uninitialized ptr causing seg fault invoking + info for COMPUTE data sources. + +2001-11-18 08:41 oetiker + + * src/rrd_cgi.c: return "" instead of NULL for -- Michael + +2001-11-17 16:57 oetiker + + * bindings/Makefile.am: fixed path to mkinstalldirs -- Laurent + Saehyun Kim� + +2001-09-08 18:25 oetiker + + * doc/cdeftutorial.pod, doc/rrdtutorial.pod: spelling updates by + Martin Schulze + +2001-08-22 22:29 jake + + * doc/rrdtune.pod, src/rrd_create.c, src/rrd_hw.c, src/rrd_hw.h, + src/rrd_rpncalc.c, src/rrd_tool.c, src/rrd_tune.c: Contents of + this patch: (1) Adds/revises documentation for rrd tune in + rrd_tool.c and pod files. (2) Moves some initialization code from + rrd_create.c to rrd_hw.c. (3) Adds another pass to smoothing for + SEASONAL and DEVSEASONAL RRAs. This pass computes the coefficients + as deviations from an average; the average is added the baseline + coefficient of HWPREDICT. Statistical texts suggest this to + preserve algorithm stability. It will not invalidate RRD files + created and smoothed with the old code. (4) Adds the + aberrant-reset flag to rrd tune. This operation, which is + specified for a single data source, causes the holt-winters + algorithm to forget everthing it has learned and start over. (5) + Fixes a few out-of-date code comments. + +2001-08-13 18:58 oetiker + + * src/rrd_graph.c: spell fix for si units (only in comments) + +2001-07-28 22:34 alex + + * doc/rrdgraph.pod, doc/rrdgraph_data.pod, + doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, + doc/rrdgraph_rpn.pod: Removing rrdgraph*.pod from the cvs - * src/rrd_graph.c: fix implementation of --only-graph +2001-07-28 22:21 alex -2005-04-07 21:31 oetiker + * doc/Makefile.am, doc/name.inc, doc/rrdgraph.pod, + doc/rrdgraph_graph.src, doc/rrdgraph_rpn.src: Edited Makefile.am + and the rrdgraph_*.src files. By mistake the previous update was + made on the rrdgraph_*.pod files however they are not to be + edited. This is now corrected. - * src/rrd_gfx.c: make libart happy by NOT adjusting coordinates and - by using the ART_WIND_RULE_NONZERO winding rule +2001-07-26 02:27 alex -2005-04-07 21:30 oetiker + * src/rrd_graph_helper.c, src/rrd_graph_helper.h: Supporting + functions for rrd_graph. Functions that are used frequently and/or + from different places should be added here in stead of repeating + them in rrd_graph.c over and over again. - * src/rrd_tool.c: return propper exit codes +2001-07-26 02:25 alex -2005-04-07 20:07 oetiker + * src/rrd_graph.h: Moved most typedefs etc. from rrd_graph.c to this + file - * src/rrd_graph.h: fix bitpatterns of extraflags so that they do not - interfear +2001-07-26 02:22 alex -2005-04-06 23:58 oetiker + * src/rrd_graph.c: Added VDEF TOTAL Moved most typedefs etc. to + rrd_graph.h - * bindings/Makefile.am: prep for 1.2rc4 release +2001-07-26 02:19 alex -2005-04-06 23:24 oetiker + * src/Makefile.am: Added rrd_graph_helper - * Makefile.am, bindings/Makefile.am, bindings/perl-piped/RRDp.pm, - bindings/perl-shared/Makefile.PL, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc4 release +2001-07-26 02:15 alex -2005-04-06 23:18 oetiker + * doc/rrdgraph_rpn.pod: Updated for VDEF TOTAL - * doc/rrdgraph.src: document RRD_DEFAULT_FONT environment variable +2001-07-26 02:11 alex -2005-04-06 22:40 oetiker + * NEWS: Announce of VDEF in rrd_graph - * src/rrd_afm.c, src/rrd_cgi.c, src/rrd_graph.c, src/rrd_nan_inf.c, - src/rrd_open.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c, src/rrd_xport.c, - src/rrdupdate.c: make sure WIN32 sections do NOT kick in for - cygwin compiles +2001-07-21 18:17 alex -2005-04-05 22:49 oetiker + * doc/rrdgraph_graph.pod, src/rrd_graph.c: Made PRINT and GPRINT + aware of VDEF statements - * src/rrd_gfx.c: only unwind the areas, the lines should be fine by - themselves! +2001-07-20 22:34 oetiker -2005-04-05 20:32 oetiker + * doc/rrdgraph_data.pod, doc/rrdgraph_examples.pod, + doc/rrdgraph_graph.pod, doc/rrdgraph_rpn.pod: missing + documentation ... -- Alex van den Bogaerdt + - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec, src/gdpng.c, src/gifsize.c, - src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, - src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, - src/rrd_create.c, src/rrd_datalang.c, src/rrd_diff.c, - src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc3 release +2001-07-20 22:34 oetiker -2005-04-05 20:17 oetiker + * src/rrd_datalang.c: only a comment - * src/rrd_gfx.c, src/rrd_graph.c: * fix transparency rendering by - rewinding the paths propperly * fix x-axis label drawing by - considering label precision +2001-07-20 22:33 oetiker -2005-04-05 19:14 oetiker + * src/rrd_graph.c: small fixes -- Alex van den Bogaerdt + - * src/VeraMono.ttf: new originaly copy +2001-07-18 22:30 oetiker -2005-04-05 19:12 oetiker + * src/rrd_graph.c, src/rrd_rpncalc.c: VDEF and VRULE are comig along + -- Alex van den Bogaerdt - * src/VeraMono.ttf: fixed propperties to have a RAW font +2001-06-05 13:42 oetiker -2005-04-04 21:56 oetiker + * doc/rrdupdate.pod: spell fix - * configure.ac: make configure work even when no prefix is specified +2001-05-09 05:31 oetiker -2005-04-04 21:40 oetiker + * NEWS, doc/rrdcreate.pod, src/rrd_update.c: Bug fix: when update of + multiple PDP/CDP RRAs coincided with interpolation of multiple + PDPs an incorrect value was stored as the CDP. Especially evident + for GAUGE data sources. Minor changes to rrdcreate.pod. -- Jake + Brutlag - * src/gdpng.c, src/gifsize.c, src/pngsize.c, src/rrd.h, - src/rrd_afm.c, src/rrd_afm.h, src/rrd_afm_data.c, - src/rrd_afm_data.h, src/rrd_cgi.c, src/rrd_create.c, - src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, - src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, - src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, src/rrd_gfx.h, - src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, - src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, - src/rrd_last.c, src/rrd_not_thread_safe.c, src/rrd_open.c, - src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, - src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, - src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, - src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, - src/rrd_xport.h, src/rrdupdate.c: prep for 1.2rc2 release +2001-03-31 15:21 oetiker -2005-04-04 21:22 oetiker + * Makefile.am: added 'all' dependancy to site-perl-install rule as + many seem to skip this step when instaling cricket ... probably an + incomplete cricket doku. - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, - configure.ac, rrdtool.spec: prepared for 1.2rc2 release +2001-03-15 19:43 oetiker -2005-04-04 21:21 oetiker + * PROJECTS: added PROJECTS file - * configure.ac: prepared for 1.2rc1 release +2001-03-11 12:03 oetiker -2005-04-04 21:12 oetiker + * src/rrd_rpncalc.c, src/rrd_rpncalc.h: reindented - * acinclude.m4, configure.ac: prepared for 1.2rc1 release +2001-03-11 11:49 oetiker -2005-04-04 21:07 oetiker + * src/rrd_create.c: reindented the cource for better readability - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm: - prepared for 1.2rc1 release +2001-03-10 23:54 oetiker -2005-04-04 21:05 oetiker + * NEWS, doc/rrdcreate.pod, doc/rrdinfo.pod, doc/rrdtune.pod, + doc/rrdupdate.pod, src/Makefile.am, src/rrd_create.c, + src/rrd_dump.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_graph.c, src/rrd_hw.c, src/rrd_hw.h, src/rrd_info.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_tool.h, src/rrd_update.c: Support for COMPUTE data sources + (CDEF data sources). Removes the RPN parser and calculator from + rrd_graph and puts then in a new file, rrd_rpncalc.c. Changes to + core files rrd_create and rrd_update. Some clean-up of aberrant + behavior stuff, including a bug fix. Documentation update + (rrdcreate.pod, rrdupdate.pod). Change xml format. -- Jake Brutlag + + +2001-03-07 21:21 oetiker + + * NEWS, doc, doc/.cvsignore, doc/Makefile.am, doc/name.inc, + doc/rrdgraph-old.pod, doc/rrdgraph.pod, doc/rrdgraph.src, + doc/rrdgraph_data.src, doc/rrdgraph_examples.src, + doc/rrdgraph_graph.src, doc/rrdgraph_rpn.src, doc/see_also.inc, + src/rrd_tune.c: complete rewrite of rrdgraph documentation. This + also includs info on upcomming/planned changes to the rrdgraph + interface and functionality -- Alex van den Bogaerdt + + +2001-03-04 14:06 oetiker + + * trunk/CVSROOT/history: want to keep a history of events + +2001-03-04 13:50 oetiker - * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm: - prepared for 1.2rc1 release + * NEWS: fidex jackes adderss -2005-04-04 20:56 oetiker +2001-03-04 13:12 oetiker - * configure.ac: fixed prefix detection code again + * doc/rrdcreate.pod: added note on counter vs derive -- Don BAARDA + -2005-04-04 20:53 oetiker +2001-03-04 13:01 oetiker - * configure.ac: fixed autoprefix + * NEWS, doc/rrdcreate.pod, doc/rrdgraph.pod, doc/rrdtool.pod, + doc/rrdtune.pod, src/Makefile.am, src/fnv.h, src/hash_32.c, + src/rrd_create.c, src/rrd_dump.c, src/rrd_format.h, + src/rrd_graph.c, src/rrd_hw.c, src/rrd_info.c, src/rrd_open.c, + src/rrd_restore.c, src/rrd_tool.h, src/rrd_tune.c, + src/rrd_update.c, src/rrdupdate.c: Aberrant Behavior Detection + support. A brief overview added to rrdtool.pod. Major updates to + rrd_update.c, rrd_create.c. Minor update to other core files. This + is backwards compatible! But new files using the Aberrant stuff + are not readable by old rrdtool versions. See + http://cricket.sourceforge.net/aberrant/rrd_hw.htm -- Jake Brutlag + + +2001-03-04 13:00 oetiker + + * examples, examples/.cvsignore: another do not report Makefile and + Makefile.in + +2001-03-04 12:51 oetiker + + * src/memtest.c: this file has no purpose + +2001-03-04 12:32 oetiker + + * src/rrdupdate.c: rrdupdate is a generated file it has no place in + cvs + +2001-03-04 11:31 oetiker + + * ., .cvsignore, CHANGES, bindings, bindings/.cvsignore, + bindings/perl-piped, bindings/perl-piped/.cvsignore, + bindings/perl-shared, bindings/perl-shared/.cvsignore, + bindings/tcl, bindings/tcl/.cvsignore, config, config.log, + config.status, config/.cvsignore, doc, doc/.cvsignore, libraries, + libraries/.cvsignore, libraries/cgilib-0.4, + libraries/cgilib-0.4/.cvsignore, libraries/gd1.3, + libraries/gd1.3/.cvsignore, libraries/libpng-1.0.9, + libraries/libpng-1.0.9/.cvsignore, libraries/zlib-1.1.3, + libraries/zlib-1.1.3/.cvsignore, libtool, src, src/.cvsignore: + repository cleanup + +2001-03-04 11:14 oetiker + + * doc/rrdupdate.pod, src/rrd_tool.c, src/rrd_update.c: added + at-style-time@value:value syntax to rrd_update -- Dave Bodenstab + + +2001-03-04 10:29 oetiker + + * src/rrd_open.c: fixed filedescriptor leak -- Mike Franusich + + +2001-03-02 22:48 oetiker + + * configure.in, libraries/zlib-1.1.3/Makefile.am: added test for + hpux. if matched, compile zlib with -fpic instead of -fPIC + +2001-03-01 21:37 oetiker + + * configure.in: added check for the presence of the compiler used to + build perl modules + +2001-02-25 23:18 oetiker + + * config/config.h, configure, doc/test1.ps, doc/test2.ps: they do + not belong into cvs ad they are autogenerated + +2001-02-25 22:57 oetiker + + * doc/Makefile.am: Fixed ln for modules + +2001-02-25 22:53 oetiker + + * Makefile.am: fixed compile order ... src before bindings + +2001-02-25 22:30 oetiker + + * trunk/contrib, trunk/contrib/README, trunk/contrib/add_ds, + trunk/contrib/add_ds/README, trunk/contrib/add_ds/add_ds.pl, + trunk/contrib/add_ds/batch.pl, trunk/contrib/killspike, + trunk/contrib/killspike/README, + trunk/contrib/killspike/killspike.pl, + trunk/contrib/killspike/killspike.pl.in, trunk/contrib/log2rrd, + trunk/contrib/log2rrd/README, trunk/contrib/log2rrd/log2rrd.pl, + trunk/contrib/log2rrd/log2rrd.pl.in, trunk/contrib/php3, + trunk/contrib/php3/INSTALL, trunk/contrib/php3/Makefile, + trunk/contrib/php3/README, trunk/contrib/php3/USAGE, + trunk/contrib/php3/VERSION, trunk/contrib/php3/examples, + trunk/contrib/php3/examples/rrd_create.php, + trunk/contrib/php3/examples/rrd_fetch.php, + trunk/contrib/php3/examples/rrd_graph.php, + trunk/contrib/php3/examples/rrd_last.php, + trunk/contrib/php3/examples/rrd_update.php, + trunk/contrib/php3/php3_rrdtool.c, + trunk/contrib/php3/php3_rrdtool.h, trunk/contrib/php4, + trunk/contrib/php4/.cvsignore, trunk/contrib/php4/INSTALL, + trunk/contrib/php4/Makefile.in, trunk/contrib/php4/README, + trunk/contrib/php4/USAGE, trunk/contrib/php4/acinclude.m4, + trunk/contrib/php4/aclocal.m4, trunk/contrib/php4/build, + trunk/contrib/php4/build/dynlib.mk, + trunk/contrib/php4/build/fastgen.sh, + trunk/contrib/php4/build/library.mk, + trunk/contrib/php4/build/ltlib.mk, + trunk/contrib/php4/build/program.mk, + trunk/contrib/php4/build/rules.mk, + trunk/contrib/php4/build/shtool, trunk/contrib/php4/config.guess, + trunk/contrib/php4/config.m4, trunk/contrib/php4/config.sub, + trunk/contrib/php4/configure, trunk/contrib/php4/configure.in, + trunk/contrib/php4/dynlib.m4, trunk/contrib/php4/examples, + trunk/contrib/php4/examples/rrd_create.php, + trunk/contrib/php4/examples/rrd_fetch.php, + trunk/contrib/php4/examples/rrd_graph.php, + trunk/contrib/php4/examples/rrd_last.php, + trunk/contrib/php4/examples/rrd_update.php, + trunk/contrib/php4/install-sh, trunk/contrib/php4/ltconfig, + trunk/contrib/php4/ltmain.sh, trunk/contrib/php4/missing, + trunk/contrib/php4/mkinstalldirs, + trunk/contrib/php4/php_config.h.in, + trunk/contrib/php4/php_rrdtool.h, trunk/contrib/php4/rrdtool.c, + trunk/contrib/rrd-file-icon, trunk/contrib/rrd-file-icon/README, + trunk/contrib/rrd-file-icon/rrd.png, trunk/contrib/rrdexplorer, + trunk/contrib/rrdexplorer/README.txt, + trunk/contrib/rrdexplorer/map.cgi, + trunk/contrib/rrdexplorer/png.cgi, trunk/contrib/rrdfetchnames, + trunk/contrib/rrdfetchnames/README, + trunk/contrib/rrdfetchnames/rrdfetchnames.pl, + trunk/contrib/rrdlastds, trunk/contrib/rrdlastds/README, + trunk/contrib/rrdlastds/rrdlastds.pl, trunk/contrib/rrdproc, + trunk/contrib/rrdproc/README, trunk/contrib/rrdproc/rrdproc.c, + trunk/contrib/rrdview, trunk/contrib/rrdview/README, + trunk/contrib/rrdview/rrdview.cgi, trunk/contrib/snmpstats, + trunk/contrib/snmpstats/README, + trunk/contrib/snmpstats/SNMPstats.pl, trunk/contrib/trytime, + trunk/contrib/trytime/.deps, + trunk/contrib/trytime/.deps/trytime.P, + trunk/contrib/trytime/Makefile, trunk/contrib/trytime/Makefile.am, + trunk/contrib/trytime/Makefile.in, trunk/contrib/trytime/README, + trunk/contrib/trytime/trytime.c, trunk/website, + trunk/website/.img, trunk/website/.img/.imgdot-1x1-transp.gif, + trunk/website/.pics, trunk/website/.pics/CAIDAlogo.120.gif, + trunk/website/.pics/CAIDAlogo.120.png, + trunk/website/.pics/CAIDAlogo.gif, + trunk/website/.pics/CAIDAlogo.png, + trunk/website/.pics/CAIDAlogo.spons.png, + trunk/website/.pics/CAIDAlogo.xpm, + trunk/website/.pics/CAIDAlogo2.gif, + trunk/website/.pics/CAIDAlogo_small.gif, + trunk/website/.pics/b.gif, trunk/website/.pics/b.png, + trunk/website/.pics/background.xcf, trunk/website/.pics/bbo.gif, + trunk/website/.pics/bbo.png, trunk/website/.pics/bco.gif, + trunk/website/.pics/bco.png, trunk/website/.pics/border.gif, + trunk/website/.pics/bro.gif, trunk/website/.pics/bro.png, + trunk/website/.pics/ecke.gif, trunk/website/.pics/logo-apache.gif, + trunk/website/.pics/logo-apache.small.gif, + trunk/website/.pics/logo-extra.gif, + trunk/website/.pics/logo-linux.gif, + trunk/website/.pics/logo-wml.gif, trunk/website/.pics/rrddemo.gif, + trunk/website/.pics/rrdlogdemo.gif, + trunk/website/.pics/rrdtool.gif, trunk/website/.pics/rrdtool.xar, + trunk/website/.pics/unten.gif, trunk/website/.ttf, + trunk/website/.ttf/futurab.ttf, trunk/website/.ttf/futurabc.ttf, + trunk/website/.ttf/futurabi.ttf, trunk/website/.ttf/futurah.ttf, + trunk/website/.ttf/futurahi.ttf, trunk/website/.ttf/futurak.ttf, + trunk/website/.ttf/futural.ttf, trunk/website/.ttf/futuralc.ttf, + trunk/website/.ttf/futurali.ttf, trunk/website/.ttf/futuram.ttf, + trunk/website/.ttf/futuramc.ttf, trunk/website/.ttf/futurami.ttf, + trunk/website/.ttf/futuran.ttf, trunk/website/.ttf/futurani.ttf, + trunk/website/.ttf/futuraxk.ttf, trunk/website/.ttf/futurbci.ttf, + trunk/website/.ttf/futurlci.ttf, trunk/website/.ttf/futurmci.ttf, + trunk/website/.ttf/futurxkc.ttf, trunk/website/.ttf/futurxki.ttf, + trunk/website/.ttf/futuxkci.ttf, trunk/website/.ttf/trebuc.ttf, + trunk/website/.ttf/trebucbd.ttf, trunk/website/.ttf/trebucbi.ttf, + trunk/website/.ttf/trebucit.ttf, trunk/website/.ttf/zinjaron.ttf, + trunk/website/.wml, trunk/website/.wml/navbar.inc, + trunk/website/.wml/nestednavbar.inc, + trunk/website/.wml/template.inc, trunk/website/.wml/tobis.inc, + trunk/website/.wmlrc, trunk/website/compiling.wml, + trunk/website/contributors.wml, trunk/website/developers.wml, + trunk/website/download.wml, trunk/website/frontends, + trunk/website/frontends/bigsister.wml, + trunk/website/frontends/bronc.wml, + trunk/website/frontends/cricket.wml, + trunk/website/frontends/flowscan.wml, + trunk/website/frontends/fwgold.wml, + trunk/website/frontends/hoth.wml, + trunk/website/frontends/index.wml, + trunk/website/frontends/nmis.wml, trunk/website/frontends/nrg.wml, + trunk/website/frontends/ntop.wml, + trunk/website/frontends/orca.wml, + trunk/website/frontends/remstats.wml, + trunk/website/frontends/rrgrapher.wml, + trunk/website/frontends/slamon.wml, trunk/website/gallery, + trunk/website/gallery/alex-01.bash, + trunk/website/gallery/alex-01.png, + trunk/website/gallery/alex-01.wml, + trunk/website/gallery/bkw-01.gif, trunk/website/gallery/bkw-01.pl, + trunk/website/gallery/bkw-01.wml, + trunk/website/gallery/blair-01-a.png, + trunk/website/gallery/blair-01-b.png, + trunk/website/gallery/blair-01-c.png, + trunk/website/gallery/blair-01-d.png, + trunk/website/gallery/blair-01-e.png, + trunk/website/gallery/blair-01-f.png, + trunk/website/gallery/blair-01.wml, + trunk/website/gallery/chris-01.wml, + trunk/website/gallery/chris-01temp.png, + trunk/website/gallery/chris-01wind.png, + trunk/website/gallery/colleen-01.gif, + trunk/website/gallery/colleen-01.wml, + trunk/website/gallery/edvard-01.png, + trunk/website/gallery/edvard-01.wml, + trunk/website/gallery/index.wml, + trunk/website/gallery/jeff-01.png, + trunk/website/gallery/jeff-01.wml, + trunk/website/gallery/neal-01.png, + trunk/website/gallery/neal-01.wml, + trunk/website/gallery/simon-01.png, + trunk/website/gallery/simon-01.wml, + trunk/website/gallery/steve-01.gif, + trunk/website/gallery/steve-01.wml, trunk/website/index.wml, + trunk/website/license.wml, trunk/website/mailinglists.wml, + trunk/website/manual, trunk/website/manual/bin_dec_hex.wml, + trunk/website/manual/cdeftutorial.wml, + trunk/website/manual/index.wml, + trunk/website/manual/rpntutorial.wml, + trunk/website/manual/rrdcgi.wml, + trunk/website/manual/rrdcreate.wml, + trunk/website/manual/rrddump.wml, + trunk/website/manual/rrdfetch.wml, + trunk/website/manual/rrdgraph.wml, + trunk/website/manual/rrdinfo.wml, + trunk/website/manual/rrdlast.wml, + trunk/website/manual/rrdresize.wml, + trunk/website/manual/rrdrestore.wml, + trunk/website/manual/rrdtune.wml, + trunk/website/manual/rrdtutorial.es.wml, + trunk/website/manual/rrdtutorial.wml, + trunk/website/manual/rrdupdate.wml, trunk/website/news.wml, + trunk/website/perlbind, trunk/website/perlbind/RRDp.wml, + trunk/website/perlbind/RRDs.wml, trunk/website/perlbind/index.wml, + trunk/website/rrdcgi.wml, trunk/website/screen.wml, + trunk/website/site-sync, trunk/website/tutorial, + trunk/website/tutorial/bin_dec_hex.wml, + trunk/website/tutorial/cdeftutorial.wml, + trunk/website/tutorial/index.wml, + trunk/website/tutorial/rpntutorial.wml, + trunk/website/tutorial/rrdtutorial.es.wml, + trunk/website/tutorial/rrdtutorial.ps, + trunk/website/tutorial/rrdtutorial.wml: Initial revision + +2001-02-25 22:25 oetiker + + * ., 00README, CHANGES, CONTRIBUTORS, COPYING, COPYRIGHT, + MakeMakefile, Makefile.am, NT-BUILD-TIPS.txt, README, TODO, + bindings, bindings/Makefile.am, bindings/perl-piped, + bindings/perl-piped/MANIFEST, bindings/perl-piped/Makefile.PL, + bindings/perl-piped/README, bindings/perl-piped/RRDp.pm, + bindings/perl-piped/leaktest.pl, bindings/perl-piped/rrdpl.dsp, + bindings/perl-piped/rrdpl.dsw, bindings/perl-piped/t, + bindings/perl-piped/t/base.t, bindings/perl-shared, + bindings/perl-shared/MANIFEST, bindings/perl-shared/Makefile.PL, + bindings/perl-shared/README, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.xs, bindings/perl-shared/ntmake.pl, + bindings/perl-shared/rrdpl.dsp, bindings/perl-shared/rrdpl.dsw, + bindings/perl-shared/t, bindings/perl-shared/t/base.t, + bindings/tcl, bindings/tcl/Makefile.am, bindings/tcl/README, + bindings/tcl/ifOctets.tcl, bindings/tcl/tclrrd.c, config, + config.log, config.status, config/Makefile.am, config/acconfig.h, + config/aclocal.m4, config/config.guess, config/config.h, + config/config.h.in, config/config.sub, config/install-sh, + config/libtool, config/libtool/libtool.m4, config/ltconfig, + config/ltmain.sh, config/missing, config/mkinstalldirs, + config/stamp-h, config/stamp-h.in, configure, configure.in, doc, + doc/Makefile.am, doc/bin_dec_hex.pod, doc/cdeftutorial.pod, + doc/rpntutorial.pod, doc/rrdcgi.pod, doc/rrdcreate.pod, + doc/rrddump.pod, doc/rrdfetch.pod, doc/rrdgraph.pod, + doc/rrdinfo.pod, doc/rrdlast.pod, doc/rrdresize.pod, + doc/rrdrestore.pod, doc/rrdtool.pod, doc/rrdtune.pod, + doc/rrdtutorial.es.pod, doc/rrdtutorial.pod, doc/rrdupdate.pod, + doc/test1.ps, doc/test2.ps, examples, examples/4charts.pl.in, + examples/Makefile.am, examples/bigtops.pl, examples/bigtops.pl.in, + examples/cgi-demo.cgi, examples/cgi-demo.cgi.in, + examples/minmax.pl, examples/minmax.pl.in, examples/piped-demo.pl, + examples/piped-demo.pl.in, examples/shared-demo.pl, + examples/shared-demo.pl.in, examples/stripes.pl, + examples/stripes.pl.in, libraries, libraries/Makefile.am, + libraries/cgilib-0.4, libraries/cgilib-0.4/Makefile.am, + libraries/cgilib-0.4/cgi.5, libraries/cgilib-0.4/cgi.c, + libraries/cgilib-0.4/cgi.h, libraries/cgilib-0.4/cgiDebug.3, + libraries/cgilib-0.4/cgiGetValue.3, + libraries/cgilib-0.4/cgiHeader.3, libraries/cgilib-0.4/cgiInit.3, + libraries/cgilib-0.4/cgiRedirect.3, + libraries/cgilib-0.4/cgilib.dsp, libraries/cgilib-0.4/cgilib.dsw, + libraries/cgilib-0.4/cgitest.c, libraries/cgilib-0.4/jumpto.c, + libraries/cgilib-0.4/readme, libraries/gd1.3, + libraries/gd1.3/Makefile.am, libraries/gd1.3/README.rrdtool, + libraries/gd1.3/demoin.gif, libraries/gd1.3/gd.c, + libraries/gd1.3/gd.dsp, libraries/gd1.3/gd.dsw, + libraries/gd1.3/gd.h, libraries/gd1.3/gddemo.c, + libraries/gd1.3/gdfontg.c, libraries/gd1.3/gdfontg.h, + libraries/gd1.3/gdfontl.c, libraries/gd1.3/gdfontl.h, + libraries/gd1.3/gdfontmb.c, libraries/gd1.3/gdfontmb.h, + libraries/gd1.3/gdfonts.c, libraries/gd1.3/gdfonts.h, + libraries/gd1.3/gdfontt.c, libraries/gd1.3/gdfontt.h, + libraries/gd1.3/gdlucidab10.c, libraries/gd1.3/gdlucidab10.h, + libraries/gd1.3/gdlucidab12.c, libraries/gd1.3/gdlucidab12.h, + libraries/gd1.3/gdlucidab14.c, libraries/gd1.3/gdlucidab14.h, + libraries/gd1.3/gdlucidan10.c, libraries/gd1.3/gdlucidan10.h, + libraries/gd1.3/gdlucidan12.c, libraries/gd1.3/gdlucidan12.h, + libraries/gd1.3/gdlucidan14.c, libraries/gd1.3/gdlucidan14.h, + libraries/gd1.3/giftogd.c, libraries/gd1.3/index.html, + libraries/gd1.3/mathmake.c, libraries/gd1.3/mtables.c, + libraries/gd1.3/readme.txt, libraries/gd1.3/webgif.c, + libraries/libpng-1.0.9, libraries/libpng-1.0.9/ANNOUNCE, + libraries/libpng-1.0.9/CHANGES, libraries/libpng-1.0.9/INSTALL, + libraries/libpng-1.0.9/KNOWNBUG, libraries/libpng-1.0.9/LICENSE, + libraries/libpng-1.0.9/Makefil, + libraries/libpng-1.0.9/Makefile.am, libraries/libpng-1.0.9/README, + libraries/libpng-1.0.9/README.rrdtool, + libraries/libpng-1.0.9/TODO, libraries/libpng-1.0.9/Y2KINFO, + libraries/libpng-1.0.9/example.c, libraries/libpng-1.0.9/libpng.3, + libraries/libpng-1.0.9/libpng.txt, + libraries/libpng-1.0.9/libpngpf.3, libraries/libpng-1.0.9/png.5, + libraries/libpng-1.0.9/png.c, libraries/libpng-1.0.9/png.dsp, + libraries/libpng-1.0.9/png.dsw, libraries/libpng-1.0.9/png.h, + libraries/libpng-1.0.9/pngasmrd.h, + libraries/libpng-1.0.9/pngbar.jpg, + libraries/libpng-1.0.9/pngbar.png, + libraries/libpng-1.0.9/pngconf.h, + libraries/libpng-1.0.9/pngerror.c, + libraries/libpng-1.0.9/pnggccrd.c, + libraries/libpng-1.0.9/pngget.c, libraries/libpng-1.0.9/pngmem.c, + libraries/libpng-1.0.9/pngnow.png, + libraries/libpng-1.0.9/pngpread.c, + libraries/libpng-1.0.9/pngread.c, libraries/libpng-1.0.9/pngrio.c, + libraries/libpng-1.0.9/pngrtran.c, + libraries/libpng-1.0.9/pngrutil.c, + libraries/libpng-1.0.9/pngset.c, libraries/libpng-1.0.9/pngtest.c, + libraries/libpng-1.0.9/pngtest.png, + libraries/libpng-1.0.9/pngtrans.c, + libraries/libpng-1.0.9/pngvcrd.c, libraries/libpng-1.0.9/pngwio.c, + libraries/libpng-1.0.9/pngwrite.c, + libraries/libpng-1.0.9/pngwtran.c, + libraries/libpng-1.0.9/pngwutil.c, libraries/zlib-1.1.3, + libraries/zlib-1.1.3/ChangeLog, libraries/zlib-1.1.3/FAQ, + libraries/zlib-1.1.3/INDEX, libraries/zlib-1.1.3/Makefile.am, + libraries/zlib-1.1.3/README, libraries/zlib-1.1.3/README.rrdtool, + libraries/zlib-1.1.3/adler32.c, + libraries/zlib-1.1.3/algorithm.txt, + libraries/zlib-1.1.3/compress.c, libraries/zlib-1.1.3/crc32.c, + libraries/zlib-1.1.3/deflate.c, libraries/zlib-1.1.3/deflate.h, + libraries/zlib-1.1.3/descrip.mms, libraries/zlib-1.1.3/example.c, + libraries/zlib-1.1.3/gzio.c, libraries/zlib-1.1.3/infblock.c, + libraries/zlib-1.1.3/infblock.h, libraries/zlib-1.1.3/infcodes.c, + libraries/zlib-1.1.3/infcodes.h, libraries/zlib-1.1.3/inffast.c, + libraries/zlib-1.1.3/inffast.h, libraries/zlib-1.1.3/inffixed.h, + libraries/zlib-1.1.3/inflate.c, libraries/zlib-1.1.3/inftrees.c, + libraries/zlib-1.1.3/inftrees.h, libraries/zlib-1.1.3/infutil.c, + libraries/zlib-1.1.3/infutil.h, libraries/zlib-1.1.3/maketree.c, + libraries/zlib-1.1.3/minigzip.c, libraries/zlib-1.1.3/trees.c, + libraries/zlib-1.1.3/trees.h, libraries/zlib-1.1.3/uncompr.c, + libraries/zlib-1.1.3/zconf.h, libraries/zlib-1.1.3/zlib.3, + libraries/zlib-1.1.3/zlib.dsp, libraries/zlib-1.1.3/zlib.dsw, + libraries/zlib-1.1.3/zlib.h, libraries/zlib-1.1.3/zutil.c, + libraries/zlib-1.1.3/zutil.h, libtool, rrdtool.spec, src, + src/Makefile.am, src/gdpng.c, src/getopt.c, src/getopt.h, + src/getopt1.c, src/gifsize.c, src/memtest.c, src/ntconfig.h, + src/parsetime.c, src/parsetime.h, src/pngsize.c, src/rd_cgi.dsp, + src/rrd.dsp, src/rrd.dsw, src/rrd.h, src/rrd_cgi.c, + src/rrd_cgi.dsp, src/rrd_create.c, src/rrd_diff.c, src/rrd_dump.c, + src/rrd_error.c, src/rrd_fetch.c, src/rrd_format.c, + src/rrd_format.h, src/rrd_graph.c, src/rrd_info.c, src/rrd_last.c, + src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, + src/rrd_stat.c, src/rrd_tool.c, src/rrd_tool.h, src/rrd_tune.c, + src/rrd_update.c, src/rrdtool.dsp, src/rrdtool.dsw, + src/rrdupdate.c: Initial revision -2005-04-04 20:48 oetiker +2001-02-25 16:09 oetiker - * configure.ac: fixed config script for prefixing + * trunk/rrdtool, trunk/rrdtool/README: Initial revision -2005-04-04 20:37 oetiker +2001-02-25 15:29 cvs - * 00README, COPYRIGHT, NEWS, PROJECTS, README, TODO, acinclude.m4, - configure.ac, rrdtool.spec: get ready for 1.2 + * trunk/CVSROOT, trunk/CVSROOT/checkoutlist, + trunk/CVSROOT/commitinfo, trunk/CVSROOT/config, + trunk/CVSROOT/cvswrappers, trunk/CVSROOT/editinfo, + trunk/CVSROOT/loginfo, trunk/CVSROOT/modules, + trunk/CVSROOT/notify, trunk/CVSROOT/rcsinfo, + trunk/CVSROOT/taginfo, trunk/CVSROOT/verifymsg: initial checkin -2005-04-04 19:55 oetiker +2001-02-25 15:29 - * branches/1.2: branche for 1.2 + * branches, tags, trunk: New repository initialized by cvs2svn. diff --git a/CONTRIBUTORS b/CONTRIBUTORS index aaf7718..3a33ebe 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -7,7 +7,8 @@ Alex van den Bogaerdt (rrd_resize.c and more) Amos Shapira Andreas Kroomaa Andrew Turner (LAST consolidator) -Bernard Fischer 64bit stuff and --alt-autoscale-max +Bernard Fischer 64bit stuff, --alt-autoscale-max +Bernhard Fischer MMAP rewrite Bill Fenner Blair Zajac Bruce Campbell @@ -18,7 +19,9 @@ Dan Dunn Dave Bodenstab AT style time in update, tclfixes David Grimes SQRT/SORT/REV/SHIFT/TREND David L. Barker xport function bug fixes +Evan Miller Multiplicative HW Enhancements Frank Strauss TCL bindings +Florian octo Forster rrd_restore libxml2 rewrite Henrik Storner functions for min/max values of data in graph Hermann Hueni (SunOS porting) Jakob Ilves HPUX 11 @@ -30,11 +33,14 @@ Joey Miller php3 and php4 bindings Jost.Krieger Kai Siering Larry Leszczynski +Mark Plaksin rrd_graph_v +Matt Chambers --full-size-mode for rrdgraph McCreary mccreary with xoanon.colorado.edu Mike Mitchell Mike Slifcak many rrdtool-1.1.x fixes Oleg Cherevko Otmar Lendl (lots of bugfixes) +Patrick Cherry Paul Joslin Peter Speck eps/svg/pdf file format code in rrdtool-1.x Peter Stamfest initial multi-thread support @@ -58,6 +64,7 @@ Steve Harris AIX portability Steve Rader (rrd_cgi debugging and LAST) Terminator rAT Tobias Weingartner +Thomas Gutzler dashed lines Tom Crawley (GCC&HP configuration) Travis Brown Tuc diff --git a/Makefile.am b/Makefile.am index 4bbab3e..9f20a78 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,12 +2,20 @@ RSYNC = rsync --rsh=ssh # build the following subdirectories -SUBDIRS = src doc examples bindings +if BUILD_LIBINTL +PO=po +else +PO= +endif - # the following files are not mentioned in any other Makefile +SUBDIRS = $(PO) src examples doc bindings + + # the following files are not mentioned in any other Makefile EXTRA_DIST = COPYRIGHT CHANGES WIN32-BUILD-TIPS.txt TODO CONTRIBUTORS THREADS \ - rrdtool.spec favicon.ico win32/config.h win32/rrd.dsp win32/rrd.vcproj \ - win32/rrdtool.dsp win32/rrdtool.dsw win32/rrdtool.vcproj win32/Makefile \ + intltool-extract.in intltool-merge.in intltool-update.in \ + rrdtool.spec favicon.ico win32/config.h win32/rrd.dsp \ + win32/rrd.vcproj win32/rrdtool.dsp win32/rrdtool.dsw \ + win32/rrdtool.vcproj win32/Makefile \ win32/rrd_config.h.msvc netware/Makefile @@ -47,4 +55,8 @@ site-tcl-install: all site-python-install: all cd bindings/python && $(PYTHON) setup.py install +# find . -name "*.c" -or -name "*.h" | xargs perl -0777 -n -e 'while (s/typedef\s+(?:unsigned\s+|signed\s+|unival\s+)?\S+\s+\*?([^{}\s;(]+)//){print "-T$1\n"}' +indent: + find ./ -name "*.[ch]" | xargs indent + ##END## diff --git a/Makefile.in b/Makefile.in index 0fd1890..549bcbd 100644 --- a/Makefile.in +++ b/Makefile.in @@ -60,7 +60,7 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ uninstall-recursive ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) +DIST_SUBDIRS = po src examples doc bindings DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -74,6 +74,7 @@ distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LIBS = @ALL_LIBS@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ @@ -82,6 +83,8 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BUILD_LIBINTL_FALSE = @BUILD_LIBINTL_FALSE@ +BUILD_LIBINTL_TRUE = @BUILD_LIBINTL_TRUE@ BUILD_MULTITHREAD_FALSE = @BUILD_MULTITHREAD_FALSE@ BUILD_MULTITHREAD_TRUE = @BUILD_MULTITHREAD_TRUE@ BUILD_RRDCGI_FALSE = @BUILD_RRDCGI_FALSE@ @@ -90,6 +93,8 @@ BUILD_TCL_FALSE = @BUILD_TCL_FALSE@ BUILD_TCL_SITE_FALSE = @BUILD_TCL_SITE_FALSE@ BUILD_TCL_SITE_TRUE = @BUILD_TCL_SITE_TRUE@ BUILD_TCL_TRUE = @BUILD_TCL_TRUE@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -104,6 +109,7 @@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ @@ -114,18 +120,57 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ GREP = @GREP@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_ICONV = @INTLTOOL_ICONV@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_MSGFMT = @INTLTOOL_MSGFMT@ +INTLTOOL_MSGMERGE = @INTLTOOL_MSGMERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XGETTEXT = @INTLTOOL_XGETTEXT@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIBVERS = @LIBVERS@ +LIB_LIBINTL = @LIB_LIBINTL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@ MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@ NROFF = @NROFF@ @@ -148,6 +193,12 @@ PERL_CC = @PERL_CC@ PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@ PERL_VERSION = @PERL_VERSION@ PKGCONFIG = @PKGCONFIG@ +POD2HTML = @POD2HTML@ +POD2MAN = @POD2MAN@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -165,7 +216,10 @@ RUBY = @RUBY@ RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +STATIC_PROGRAMS_FALSE = @STATIC_PROGRAMS_FALSE@ +STATIC_PROGRAMS_TRUE = @STATIC_PROGRAMS_TRUE@ STRIP = @STRIP@ +TCL_INC_DIR = @TCL_INC_DIR@ TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@ TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ @@ -176,7 +230,9 @@ TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ TCL_VERSION = @TCL_VERSION@ TROFF = @TROFF@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ @@ -234,12 +290,16 @@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ RSYNC = rsync --rsh=ssh +@BUILD_LIBINTL_FALSE@PO = # build the following subdirectories -SUBDIRS = src doc examples bindings +@BUILD_LIBINTL_TRUE@PO = po +SUBDIRS = $(PO) src examples doc bindings EXTRA_DIST = COPYRIGHT CHANGES WIN32-BUILD-TIPS.txt TODO CONTRIBUTORS THREADS \ - rrdtool.spec favicon.ico win32/config.h win32/rrd.dsp win32/rrd.vcproj \ - win32/rrdtool.dsp win32/rrdtool.dsw win32/rrdtool.vcproj win32/Makefile \ + intltool-extract.in intltool-merge.in intltool-update.in \ + rrdtool.spec favicon.ico win32/config.h win32/rrd.dsp \ + win32/rrd.vcproj win32/rrdtool.dsp win32/rrdtool.dsw \ + win32/rrdtool.vcproj win32/Makefile \ win32/rrd_config.h.msvc netware/Makefile CLEANFILES = config.cache @@ -255,7 +315,7 @@ all: rrd_config.h .SUFFIXES: am--refresh: @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -282,9 +342,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) rrd_config.h: stamp-h1 @@ -296,7 +356,7 @@ rrd_config.h: stamp-h1 stamp-h1: $(srcdir)/rrd_config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status rrd_config.h -$(srcdir)/rrd_config.h.in: $(am__configure_deps) +$(srcdir)/rrd_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ @@ -449,7 +509,7 @@ distclean-tags: distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) - $(mkdir_p) $(distdir)/bindings/tcl $(distdir)/examples $(distdir)/netware $(distdir)/win32 + $(mkdir_p) $(distdir)/bindings/tcl $(distdir)/examples $(distdir)/netware $(distdir)/po $(distdir)/win32 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ @@ -686,7 +746,7 @@ uninstall-info: uninstall-info-recursive tags tags-recursive uninstall uninstall-am uninstall-info-am - # the following files are not mentioned in any other Makefile + # the following files are not mentioned in any other Makefile #AUTOHEADER = @AUTOHEADER@ --localdir=$(top_srcdir)/config #AUTOCONF = @AUTOCONF@ --localdir=$(top_srcdir)/config @@ -713,6 +773,10 @@ site-tcl-install: all site-python-install: all cd bindings/python && $(PYTHON) setup.py install + +# find . -name "*.c" -or -name "*.h" | xargs perl -0777 -n -e 'while (s/typedef\s+(?:unsigned\s+|signed\s+|unival\s+)?\S+\s+\*?([^{}\s;(]+)//){print "-T$1\n"}' +indent: + find ./ -name "*.[ch]" | xargs indent # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/NEWS b/NEWS index 156864e..2d2abf7 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,81 @@ +RRDTOOL NEWS +============ +Major Changes between 1.2.x and 1.3.x + +RRdtool dump / restore Incompatibilities +---------------------------------------- +rrdtool dump 1.3 does emit completely legal xml. Basically this means that +it contains an xml header and a DOCTYPE definition. Unfortunately this +causes older versions of rrdtool restore to be unhappy. + +To restore a new dump with ann old rrdtool restore version, either remove +the xml header and the doctype by hand (both on the first line of the dump) +or use rrdtool dump --no-header. + +NEW File access methods (Bernhard Fischer) +------------------- +* introduced file-accessor functions rrd_read/rrd_seek/rrd_write +* implemented full mmap-based file access with madvise hints for improved + scalability, much reduced memory-footprint and much less blocking on + disk +* implemented optional full file-descriptor access instead of FILE* access + +NEW Graphing (Tobi Oetiker) +-------- +* libart has been replaced by cairo/pango +* pango markup is supported +* full gridfitting +* --graph-render-mode=mono for non antialiased graphing +* --font-render-mode=mono for non antialiased fonts +* fonts come through fontconfig, use the Pango fontnameing + scheme -> 'Times 20' ... it is not possible to use + truetype fonts directly anymore. +* Tabs are position independent. +* TRENDNAN filter that ignores NAN values while caculating the TREND data. (Timo Stripf) +* --full-size-mode to specify the outer border of the image and not just of the graphing canvas (Matthew Chambers) +* TEXTALIGN command to alter default text alignment behaviour +* C API in-memory graphing with rrd_graph_v (Evan Miller) +* draw dashed lines in graphs (Thomas Gutzler) +* new interface graphv which returns inforamation using the rrd_info + interface (Tobi Oetiker and Mark Plaksin) + +NEW Forecasting (Evan Miller) +----------- +* the new MHWPREDICT consolidation function uses a variation of the Holt-Winters + method. It is a drop-in replacement for HWPREDICT, and is better suited for + data whose seasonal variations grow or shrink in proportion to the average. + +* If you create an RRD with the new MHWPREDICT function, the resulting + rrdfile will be version 0004 and can only be used in rrdtool 1.3. + +Rewrites +-------- +* rrd_restore now uses libxml for parsing which makes things much more + tolerant towards xml variations. The old code could mostly just parse the + xml as it was output by rrdtool dump. See also: 'incompatibilities' at the + top of this document. (by Florian octo Forster) + +* rrd_update rewritten to make it more modular. Fixed two longstanding + HW bugs in the process (Evan Miller) + +Internationalization (Takao Fujiwara and Tobi Oetiker) +-------------------- +* The help output by rrdtool has been internationalized. There are no real + translations included with rrdtool yet, contributions are welcome. +* The internationalization will only be compiled if libintl and friends are + available on your system. Use the configure option --disable-libintl if + you want to disable this feature + +Misc +---- +* ruby rrd_fetch will return step as a last property -- Mike Perham + +Locale Independent Numeric Input +-------------------------------- +* Regardles of locale you are in, rrdtool always expects input to be numbers + (LC_NUMERIC) in C or POSIX locale for numbers. (not 1,1 but 1.1) this is + necessary to make things like RPN work as it uses , as a separator. + RRDTOOL NEWS ============ Major Changes between 1.0.x and 1.2.x diff --git a/acinclude.m4 b/acinclude.m4 index b71fe8e..38ee0c2 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -36,9 +36,9 @@ AC_DEFUN([EX_CHECK_ALL], LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other $4` LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l $4` dnl remove the cached value and test again - unset ac_cv_lib_$1_$2 + unset ac_cv_lib_`echo $1 | sed ['s/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/']`_$2 AC_CHECK_LIB($1,$2,[ - unset ac_cv_header_`echo $3 | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` + unset ac_cv_header_`echo $3 | sed ['s/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/']` AC_CHECK_HEADER($3,[EX_CHECK_STATE=YES],[]) ],[]) else diff --git a/aclocal.m4 b/aclocal.m4 index 8401174..54e8388 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -11,6 +11,645 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +# Copyright (C) 1995-2002 Free Software Foundation, Inc. +# Copyright (C) 2001-2003,2004 Red Hat, Inc. +# +# This file is free software, distributed under the terms of the GNU +# General Public License. As a special exception to the GNU General +# Public License, this file may be distributed as part of a program +# that contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor , 12/15/1998 +# +# Major rework to remove unused code +# Owen Taylor , 12/11/2002 +# +# Added better handling of ALL_LINGUAS from GNU gettext version +# written by Bruno Haible, Owen Taylor 5/30/3002 +# +# Modified to require ngettext +# Matthias Clasen 08/06/2004 +# +# We need this here as well, since someone might use autoconf-2.5x +# to configure GLib then an older version to configure a package +# using AM_GLIB_GNU_GETTEXT +AC_PREREQ(2.53) + +dnl +dnl We go to great lengths to make sure that aclocal won't +dnl try to pull in the installed version of these macros +dnl when running aclocal in the glib directory. +dnl +m4_copy([AC_DEFUN],[glib_DEFUN]) +m4_copy([AC_REQUIRE],[glib_REQUIRE]) +dnl +dnl At the end, if we're not within glib, we'll define the public +dnl definitions in terms of our private definitions. +dnl + +# GLIB_LC_MESSAGES +#-------------------- +glib_DEFUN([GLIB_LC_MESSAGES], + [AC_CHECK_HEADERS([locale.h]) + if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi + fi]) + +# GLIB_PATH_PROG_WITH_TEST +#---------------------------- +dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + +# GLIB_WITH_NLS +#----------------- +glib_DEFUN([GLIB_WITH_NLS], + dnl NLS is obligatory + [AC_REQUIRE([AC_CANONICAL_HOST])dnl + USE_NLS=yes + AC_SUBST(USE_NLS) + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + AC_CHECK_HEADER(libintl.h, + [gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, + [AC_TRY_LINK([ +#include +], + [return !ngettext ("","", 1)], + gt_cv_func_ngettext_libc=yes, + gt_cv_func_ngettext_libc=no) + ]) + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, + [AC_TRY_LINK([ +#include +], + [return !dgettext ("","")], + gt_cv_func_dgettext_libc=yes, + gt_cv_func_dgettext_libc=no) + ]) + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CHECK_FUNCS(bind_textdomain_codeset) + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + AC_CHECK_LIB(intl, bindtextdomain, + [AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dgettext, + gt_cv_func_dgettext_libintl=yes)])]) + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + AC_MSG_CHECKING([if -liconv is needed to use gettext]) + AC_MSG_RESULT([]) + AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dcgettext, + [gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv], + :,-liconv)], + :,-liconv) + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + AC_CHECK_FUNCS(bind_textdomain_codeset) + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + AC_DEFINE(HAVE_GETTEXT,1, + [Define if the GNU gettext() function is already present or preinstalled.]) + GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + AC_CHECK_FUNCS(dcgettext) + MSGFMT_OPTS= + AC_MSG_CHECKING([if msgfmt accepts -c]) + GLIB_RUN_PROG([msgfmt -c -o /dev/null],[ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + AC_SUBST(MSGFMT_OPTS) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr], + [CATOBJEXT=.gmo + DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share and + dnl and CATOBJEXT=.gmo in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [CATOBJEXT=.gmo + DATADIRNAME=share], + [CATOBJEXT=.mo + DATADIRNAME=lib]) + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac]) + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + ]) + + if test "$gt_cv_have_gettext" = "yes" ; then + AC_DEFINE(ENABLE_NLS, 1, + [always defined to indicate that i18n is enabled]) + fi + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is not GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + AC_OUTPUT_COMMANDS( + [case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac]) + + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.in. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + dnl Make all variables we use known to autoconf. + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(DATADIRNAME) + AC_SUBST(GMOFILES) + AC_SUBST(INSTOBJEXT) + AC_SUBST(INTLLIBS) + AC_SUBST(PO_IN_DATADIR_TRUE) + AC_SUBST(PO_IN_DATADIR_FALSE) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) + +# AM_GLIB_GNU_GETTEXT +# ------------------- +# Do checks necessary for use of gettext. If a suitable implementation +# of gettext is found in either in libintl or in the C library, +# it will set INTLLIBS to the libraries needed for use of gettext +# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable +# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() +# on various variables needed by the Makefile.in.in installed by +# glib-gettextize. +dnl +glib_DEFUN([GLIB_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + + GLIB_LC_MESSAGES + GLIB_WITH_NLS + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but ($top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) + + dnl Generate list of files to be processed by xgettext which will + dnl be included in po/Makefile. + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + ]) + +# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) +# ------------------------------- +# Define VARIABLE to the location where catalog files will +# be installed by po/Makefile. +glib_DEFUN([GLIB_DEFINE_LOCALEDIR], +[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl +glib_save_prefix="$prefix" +glib_save_exec_prefix="$exec_prefix" +glib_save_datarootdir="$datarootdir" +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +datarootdir=`eval echo "${datarootdir}"` +if test "x$CATOBJEXT" = "x.mo" ; then + localedir=`eval echo "${libdir}/locale"` +else + localedir=`eval echo "${datadir}/locale"` +fi +prefix="$glib_save_prefix" +exec_prefix="$glib_save_exec_prefix" +datarootdir="$glib_save_datarootdir" +AC_DEFINE_UNQUOTED($1, "$localedir", + [Define the location where the catalogs will be installed]) +]) + +dnl +dnl Now the definitions that aclocal will find +dnl +ifdef(glib_configure_in,[],[ +AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) +AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) +])dnl + +# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) +# +# Create a temporary file with TEST-FILE as its contents and pass the +# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with +# 0 and perform ACTION-IF-FAIL for any other exit status. +AC_DEFUN([GLIB_RUN_PROG], +[cat >conftest.foo <<_ACEOF +$2 +_ACEOF +if AC_RUN_LOG([$1 conftest.foo]); then + m4_ifval([$3], [$3], [:]) +m4_ifvaln([$4], [else $4])dnl +echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD +sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD +fi]) + + + +dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) +# serial 35 IT_PROG_INTLTOOL +AC_DEFUN([IT_PROG_INTLTOOL], +[AC_PREREQ([2.50])dnl + +case "$am__api_version" in + 1.[01234]) + AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) + ;; + *) + ;; +esac + +if test -n "$1"; then + AC_MSG_CHECKING(for intltool >= $1) + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { print $ 2; }' ${ac_aux_dir}/intltool-update.in` + [INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($ 2, VERSION, "."); print VERSION[1] * 1000 + VERSION[2] * 100 + VERSION[3];}' ${ac_aux_dir}/intltool-update.in` + ] + AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + +AC_SUBST(INTLTOOL_DESKTOP_RULE) +AC_SUBST(INTLTOOL_DIRECTORY_RULE) +AC_SUBST(INTLTOOL_KEYS_RULE) +AC_SUBST(INTLTOOL_PROP_RULE) +AC_SUBST(INTLTOOL_OAF_RULE) +AC_SUBST(INTLTOOL_PONG_RULE) +AC_SUBST(INTLTOOL_SERVER_RULE) +AC_SUBST(INTLTOOL_SHEET_RULE) +AC_SUBST(INTLTOOL_SOUNDLIST_RULE) +AC_SUBST(INTLTOOL_UI_RULE) +AC_SUBST(INTLTOOL_XAM_RULE) +AC_SUBST(INTLTOOL_KBD_RULE) +AC_SUBST(INTLTOOL_XML_RULE) +AC_SUBST(INTLTOOL_XML_NOMERGE_RULE) +AC_SUBST(INTLTOOL_CAVES_RULE) +AC_SUBST(INTLTOOL_SCHEMAS_RULE) +AC_SUBST(INTLTOOL_THEME_RULE) +AC_SUBST(INTLTOOL_SERVICE_RULE) + +# Use the tools built into the package, not the ones that are installed. +AC_SUBST(INTLTOOL_EXTRACT, '$(top_builddir)/intltool-extract') +AC_SUBST(INTLTOOL_MERGE, '$(top_builddir)/intltool-merge') +AC_SUBST(INTLTOOL_UPDATE, '$(top_builddir)/intltool-update') + +AC_PATH_PROG(INTLTOOL_PERL, perl) +if test -z "$INTLTOOL_PERL"; then + AC_MSG_ERROR([perl not found; required for intltool]) +fi +if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then + AC_MSG_ERROR([perl 5.x required for intltool]) +fi +if test "x$2" != "xno-xml"; then + AC_MSG_CHECKING([for XML::Parser]) + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + AC_MSG_RESULT([ok]) + else + AC_MSG_ERROR([XML::Parser perl module is required for intltool]) + fi +fi + +AC_PATH_PROG(INTLTOOL_ICONV, iconv, iconv) +AC_PATH_PROG(INTLTOOL_MSGFMT, msgfmt, msgfmt) +AC_PATH_PROG(INTLTOOL_MSGMERGE, msgmerge, msgmerge) +AC_PATH_PROG(INTLTOOL_XGETTEXT, xgettext, xgettext) + +# Substitute ALL_LINGUAS so we can use it in po/Makefile +AC_SUBST(ALL_LINGUAS) + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr], + [DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share + dnl in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [DATADIRNAME=share], [DATADIRNAME=lib]) + ;; + *) + [DATADIRNAME=lib] + ;; + esac]) +fi +AC_SUBST(DATADIRNAME) + +IT_PO_SUBDIR([po]) + +dnl The following is very similar to +dnl +dnl AC_CONFIG_FILES([intltool-extract intltool-merge intltool-update]) +dnl +dnl with the following slight differences: +dnl - the *.in files are in ac_aux_dir, +dnl - if the file haven't changed upon reconfigure, it's not touched, +dnl - the evaluation of the third parameter enables a hack which computes +dnl the actual value of $libdir, +dnl - the user sees "executing intltool commands", instead of +dnl "creating intltool-extract" and such. +dnl +dnl Nothing crucial here, and we could use AC_CONFIG_FILES, if there were +dnl a reason for it. + +AC_CONFIG_COMMANDS([intltool], [ + +for file in intltool-extract intltool-merge intltool-update; do + sed -e "s|@INTLTOOL_EXTRACT@|`pwd`/intltool-extract|g" \ + -e "s|@INTLTOOL_LIBDIR@|${INTLTOOL_LIBDIR}|g" \ + -e "s|@INTLTOOL_ICONV@|${INTLTOOL_ICONV}|g" \ + -e "s|@INTLTOOL_MSGFMT@|${INTLTOOL_MSGFMT}|g" \ + -e "s|@INTLTOOL_MSGMERGE@|${INTLTOOL_MSGMERGE}|g" \ + -e "s|@INTLTOOL_XGETTEXT@|${INTLTOOL_XGETTEXT}|g" \ + -e "s|@INTLTOOL_PERL@|${INTLTOOL_PERL}|g" \ + < ${ac_aux_dir}/${file}.in > ${file}.out + if cmp -s ${file} ${file}.out 2>/dev/null; then + rm -f ${file}.out + else + mv -f ${file}.out ${file} + fi + chmod ugo+x ${file} + chmod u+w ${file} +done + +], +[INTLTOOL_PERL='${INTLTOOL_PERL}' ac_aux_dir='${ac_aux_dir}' +prefix="$prefix" exec_prefix="$exec_prefix" INTLTOOL_LIBDIR="$libdir" +INTLTOOL_EXTRACT='${INTLTOOL_EXTRACT}' INTLTOOL_ICONV='${INTLTOOL_ICONV}' +INTLTOOL_MSGFMT='${INTLTOOL_MSGFMT}' INTLTOOL_MSGMERGE='${INTLTOOL_MSGMERGE}' +INTLTOOL_XGETTEXT='${INTLTOOL_XGETTEXT}']) + +]) + + +# IT_PO_SUBDIR(DIRNAME) +# --------------------- +# All po subdirs have to be declared with this macro; the subdir "po" is +# declared by IT_PROG_INTLTOOL. +# +AC_DEFUN([IT_PO_SUBDIR], +[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. +dnl +dnl The following CONFIG_COMMANDS should be exetuted at the very end +dnl of config.status. +AC_CONFIG_COMMANDS_PRE([ + AC_CONFIG_COMMANDS([$1/stamp-it], [ + rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" + >"$1/stamp-it.tmp" + [sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" + ] + if test ! -f "$1/Makefile"; then + AC_MSG_ERROR([$1/Makefile is not ready.]) + fi + mv "$1/Makefile" "$1/Makefile.tmp" + [sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r $1/POTFILES + } + ' "$1/Makefile.tmp" >"$1/Makefile"] + rm -f "$1/Makefile.tmp" + mv "$1/stamp-it.tmp" "$1/stamp-it" + ]) +])dnl +]) + + +# deprecated macros +AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) +# A hint is needed for aclocal from Automake <= 1.9.4: +# AC_DEFUN([AC_PROG_INTLTOOL], ...) + + # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL @@ -6858,6 +7497,35 @@ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. diff --git a/bindings/Makefile.in b/bindings/Makefile.in index ce62cd1..968822c 100644 --- a/bindings/Makefile.in +++ b/bindings/Makefile.in @@ -60,6 +60,7 @@ DIST_SUBDIRS = tcl DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LIBS = @ALL_LIBS@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ @@ -68,6 +69,8 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BUILD_LIBINTL_FALSE = @BUILD_LIBINTL_FALSE@ +BUILD_LIBINTL_TRUE = @BUILD_LIBINTL_TRUE@ BUILD_MULTITHREAD_FALSE = @BUILD_MULTITHREAD_FALSE@ BUILD_MULTITHREAD_TRUE = @BUILD_MULTITHREAD_TRUE@ BUILD_RRDCGI_FALSE = @BUILD_RRDCGI_FALSE@ @@ -76,6 +79,8 @@ BUILD_TCL_FALSE = @BUILD_TCL_FALSE@ BUILD_TCL_SITE_FALSE = @BUILD_TCL_SITE_FALSE@ BUILD_TCL_SITE_TRUE = @BUILD_TCL_SITE_TRUE@ BUILD_TCL_TRUE = @BUILD_TCL_TRUE@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -90,6 +95,7 @@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ @@ -100,18 +106,57 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ GREP = @GREP@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_ICONV = @INTLTOOL_ICONV@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_MSGFMT = @INTLTOOL_MSGFMT@ +INTLTOOL_MSGMERGE = @INTLTOOL_MSGMERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XGETTEXT = @INTLTOOL_XGETTEXT@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIBVERS = @LIBVERS@ +LIB_LIBINTL = @LIB_LIBINTL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@ MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@ NROFF = @NROFF@ @@ -134,6 +179,12 @@ PERL_CC = @PERL_CC@ PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@ PERL_VERSION = @PERL_VERSION@ PKGCONFIG = @PKGCONFIG@ +POD2HTML = @POD2HTML@ +POD2MAN = @POD2MAN@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -151,7 +202,10 @@ RUBY = @RUBY@ RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +STATIC_PROGRAMS_FALSE = @STATIC_PROGRAMS_FALSE@ +STATIC_PROGRAMS_TRUE = @STATIC_PROGRAMS_TRUE@ STRIP = @STRIP@ +TCL_INC_DIR = @TCL_INC_DIR@ TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@ TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ @@ -162,7 +216,9 @@ TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ TCL_VERSION = @TCL_VERSION@ TROFF = @TROFF@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ @@ -231,7 +287,7 @@ EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-p all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -256,9 +312,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: diff --git a/bindings/perl-piped/RRDp.pm b/bindings/perl-piped/RRDp.pm index bc95a12..e37104b 100644 --- a/bindings/perl-piped/RRDp.pm +++ b/bindings/perl-piped/RRDp.pm @@ -120,7 +120,7 @@ sub cmd (@); sub end (); sub read (); -$VERSION=1.2027; +$VERSION=1.299908051800; sub start ($){ croak "rrdtool is already running" @@ -146,7 +146,6 @@ sub read () { my $buffer; my $nfound; my $timeleft; - my $ERR = 0; vec($inmask,fileno(RRDreadHand),1) = 1; # setup select mask for Reader while (1) { my $rout; @@ -163,11 +162,14 @@ sub read () { $RRDp::error = undef; if ($line =~ m|^ERROR|) { $RRDp::error_mode eq 'catch' ? $RRDp::error = $line : croak $line; - $ERR = 1; + $RRDp::sys = undef; + $RRDp::user = undef; + $RRDp::real = undef; + return undef; } - elsif ($line =~ m|^OK u:([\d\.]+) s:([\d\.]+) r:([\d\.]+)|){ + elsif ($line =~ m|^OK(?: u:([\d\.]+) s:([\d\.]+) r:([\d\.]+))?|){ ($RRDp::sys,$RRDp::user,$RRDp::real)=($1,$2,$3); - return $ERR == 1 ? undef : \$buffer; + return \$buffer; } else { $buffer .= $line. "\n"; } diff --git a/bindings/perl-shared/Makefile.PL b/bindings/perl-shared/Makefile.PL index c31f3b9..8793dd8 100644 --- a/bindings/perl-shared/Makefile.PL +++ b/bindings/perl-shared/Makefile.PL @@ -30,11 +30,10 @@ WriteMakefile( 'VERSION_FROM' => 'RRDs.pm', # finds $VERSION 'DEFINE' => "-DPERLPATCHLEVEL=$Config{PATCHLEVEL}", 'INC' => '-I../../src', - 'LIBS' => '-lm -lpng -lz -lfreetype', # Perl will figure out which one is valid #'dynamic_lib' => {'OTHERLDFLAGS' => "$librrd -lm"}, 'depend' => {'RRDs.c' => "../../src/librrd.la"}, - 'LDFROM' => '$(OBJECT) '.$librrd, + 'LDFROM' => '$(OBJECT) '.$librrd, 'realclean' => {FILES => 't/demo?.rrd t/demo?.png' } ); diff --git a/bindings/perl-shared/RRDs.pm b/bindings/perl-shared/RRDs.pm index 44b4d8c..b75c9f0 100644 --- a/bindings/perl-shared/RRDs.pm +++ b/bindings/perl-shared/RRDs.pm @@ -7,7 +7,7 @@ use vars qw(@ISA $VERSION); require DynaLoader; -$VERSION=1.2027; +$VERSION=1.299908051800; bootstrap RRDs $VERSION; @@ -98,6 +98,12 @@ the values of the properties. print "$key = $$hash{$key}\n"; } +B takes the same paramters as B but it returns a +pointer to hash. The hash returned contains meta information about the +graph. Like its size as well as the position of the graph area on the image. +When calling with and empty filename than the contents of the graph will be +returned in the hash as well (key 'image'). + B also returns a pointer to hash. The keys of the hash are concatenated strings of a timestamp, RRA index, and data source name for each consolidated data point (CDP) written to disk as a result of the diff --git a/bindings/perl-shared/RRDs.xs b/bindings/perl-shared/RRDs.xs index f84efef..5eeba18 100644 --- a/bindings/perl-shared/RRDs.xs +++ b/bindings/perl-shared/RRDs.xs @@ -99,6 +99,10 @@ extern "C" { hvs(newSVpv(data->value.u_str,0)); \ rrd_freemem(data->value.u_str); \ break; \ + case RD_I_BLO: \ + hvs(newSVpv(data->value.u_blo.ptr,data->value.u_blo.size)); \ + rrd_freemem(data->value.u_blo.ptr); \ + break; \ } \ rrd_freemem(data->key); \ data = data->next; \ @@ -407,6 +411,19 @@ rrd_updatev(...) OUTPUT: RETVAL +SV* +rrd_graphv(...) + PROTOTYPE: @ + PREINIT: + info_t *data,*save; + int i; + char **argv; + HV *hash; + CODE: + rrdinfocode(rrd_graph_v); + OUTPUT: + RETVAL + int rrd_dump(...) PROTOTYPE: @ diff --git a/bindings/python/rrd_extra.h b/bindings/python/rrd_extra.h index 99b5aa0..2af673b 100644 --- a/bindings/python/rrd_extra.h +++ b/bindings/python/rrd_extra.h @@ -28,7 +28,7 @@ * *****************************************************************************/ #ifdef __cplusplus -extern "C" { +extern "C" { #endif #ifndef _RRD_EXTRA_H @@ -37,19 +37,28 @@ extern "C" { #include "rrd_format.h" #ifndef WIN32 -#ifndef isnan /* POSIX */ -int isnan(double value); +#ifndef isnan /* POSIX */ + int isnan( + double value); #endif -#else /* Windows only */ +#else /* Windows only */ #include #define isnan _isnan #endif -void rrd_free(rrd_t *rrd); -void rrd_init(rrd_t *rrd); + void rrd_free( + rrd_t *rrd); + void rrd_init( + rrd_t *rrd); -int rrd_open(char *file_name, FILE **in_file, rrd_t *rrd, int rdwr); -int readfile(char *file, char **buffer, int skipfirst); + int rrd_open( + char *file_name, + rrd_t *rrd, + int rdwr); + int readfile( + char *file, + char **buffer, + int skipfirst); #define RRD_READONLY 0 #define RRD_READWRITE 1 diff --git a/bindings/python/rrdtoolmodule.c b/bindings/python/rrdtoolmodule.c index 6f5b36c..f829734 100644 --- a/bindings/python/rrdtoolmodule.c +++ b/bindings/python/rrdtoolmodule.c @@ -48,16 +48,22 @@ extern int optind; extern int opterr; /* forward declaration to keep compiler happy */ -void initrrdtool(void); - -static int -create_args(char *command, PyObject *args, int *argc, char ***argv) +void initrrdtool( + void); + +static int create_args( + char *command, + PyObject * args, + int *argc, + char ***argv) { - PyObject *o; - int size, i; - - size = PyTuple_Size(args); - *argv = PyMem_New(char *, size + 1); + PyObject *o; + int size, i; + + size = PyTuple_Size(args); + *argv = PyMem_New(char *, + size + 1); + if (*argv == NULL) return -1; @@ -80,25 +86,26 @@ create_args(char *command, PyObject *args, int *argc, char ***argv) return 0; } -static void -destroy_args(char ***argv) +static void destroy_args( + char ***argv) { PyMem_Del(*argv); *argv = NULL; } static char PyRRD_create__doc__[] = -"create(args..): Set up a new Round Robin Database\n\ + "create(args..): Set up a new Round Robin Database\n\ create filename [--start|-b start time] \ [--step|-s step] [DS:ds-name:DST:heartbeat:min:max] \ [RRA:CF:xff:steps:rows]"; -static PyObject * -PyRRD_create(PyObject UNUSED(*self), PyObject *args) +static PyObject *PyRRD_create( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - char **argv; - int argc; + PyObject *r; + char **argv; + int argc; if (create_args("create", args, &argc, &argv) < 0) return NULL; @@ -117,16 +124,17 @@ PyRRD_create(PyObject UNUSED(*self), PyObject *args) } static char PyRRD_update__doc__[] = -"update(args..): Store a new set of values into the rrd\n" -" update filename [--template|-t ds-name[:ds-name]...] " -"N|timestamp:value[:value...] [timestamp:value[:value...] ...]"; + "update(args..): Store a new set of values into the rrd\n" + " update filename [--template|-t ds-name[:ds-name]...] " + "N|timestamp:value[:value...] [timestamp:value[:value...] ...]"; -static PyObject * -PyRRD_update(PyObject UNUSED(*self), PyObject *args) +static PyObject *PyRRD_update( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - char **argv; - int argc; + PyObject *r; + char **argv; + int argc; if (create_args("update", args, &argc, &argv) < 0) return NULL; @@ -145,19 +153,20 @@ PyRRD_update(PyObject UNUSED(*self), PyObject *args) } static char PyRRD_fetch__doc__[] = -"fetch(args..): fetch data from an rrd.\n" -" fetch filename CF [--resolution|-r resolution] " -"[--start|-s start] [--end|-e end]"; + "fetch(args..): fetch data from an rrd.\n" + " fetch filename CF [--resolution|-r resolution] " + "[--start|-s start] [--end|-e end]"; -static PyObject * -PyRRD_fetch(PyObject UNUSED(*self), PyObject *args) +static PyObject *PyRRD_fetch( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - rrd_value_t *data, *datai; - unsigned long step, ds_cnt; - time_t start, end; - int argc; - char **argv, **ds_namv; + PyObject *r; + rrd_value_t *data, *datai; + unsigned long step, ds_cnt; + time_t start, end; + int argc; + char **argv, **ds_namv; if (create_args("fetch", args, &argc, &argv) < 0) return NULL; @@ -169,10 +178,10 @@ PyRRD_fetch(PyObject UNUSED(*self), PyObject *args) r = NULL; } else { /* Return : - ((start, end, step), (name1, name2, ...), [(data1, data2, ..), ...]) */ - PyObject *range_tup, *dsnam_tup, *data_list, *t; - unsigned long i, j, row; - rrd_value_t dv; + ((start, end, step), (name1, name2, ...), [(data1, data2, ..), ...]) */ + PyObject *range_tup, *dsnam_tup, *data_list, *t; + unsigned long i, j, row; + rrd_value_t dv; row = ((end - start) / step + 1); @@ -186,14 +195,14 @@ PyRRD_fetch(PyObject UNUSED(*self), PyObject *args) datai = data; - PyTuple_SET_ITEM(range_tup, 0, PyInt_FromLong((long)start)); - PyTuple_SET_ITEM(range_tup, 1, PyInt_FromLong((long)end)); - PyTuple_SET_ITEM(range_tup, 2, PyInt_FromLong((long)step)); + PyTuple_SET_ITEM(range_tup, 0, PyInt_FromLong((long) start)); + PyTuple_SET_ITEM(range_tup, 1, PyInt_FromLong((long) end)); + PyTuple_SET_ITEM(range_tup, 2, PyInt_FromLong((long) step)); for (i = 0; i < ds_cnt; i++) PyTuple_SET_ITEM(dsnam_tup, i, PyString_FromString(ds_namv[i])); - for (i = 0; i < row; i ++) { + for (i = 0; i < row; i++) { t = PyTuple_New(ds_cnt); PyList_SET_ITEM(data_list, i, t); @@ -203,14 +212,14 @@ PyRRD_fetch(PyObject UNUSED(*self), PyObject *args) PyTuple_SET_ITEM(t, j, Py_None); Py_INCREF(Py_None); } else { - PyTuple_SET_ITEM(t, j, PyFloat_FromDouble((double)dv)); + PyTuple_SET_ITEM(t, j, PyFloat_FromDouble((double) dv)); } } } for (i = 0; i < ds_cnt; i++) free(ds_namv[i]); - free(ds_namv); /* rrdtool don't use PyMem_Malloc :) */ + free(ds_namv); /* rrdtool don't use PyMem_Malloc :) */ free(data); } @@ -219,54 +228,56 @@ PyRRD_fetch(PyObject UNUSED(*self), PyObject *args) } static char PyRRD_graph__doc__[] = -"graph(args..): Create a graph based on data from one or several RRD\n" -" graph filename [-s|--start seconds] " -"[-e|--end seconds] [-x|--x-grid x-axis grid and label] " -"[-y|--y-grid y-axis grid and label] [--alt-y-grid] [--alt-y-mrtg] " -"[--alt-autoscale] [--alt-autoscale-max] [--units-exponent] value " -"[-v|--vertical-label text] [-w|--width pixels] [-h|--height pixels] " -"[-i|--interlaced] " -"[-f|--imginfo formatstring] [-a|--imgformat GIF|PNG|GD] " -"[-B|--background value] [-O|--overlay value] " -"[-U|--unit value] [-z|--lazy] [-o|--logarithmic] " -"[-u|--upper-limit value] [-l|--lower-limit value] " -"[-g|--no-legend] [-r|--rigid] [--step value] " -"[-b|--base value] [-c|--color COLORTAG#rrggbb] " -"[-t|--title title] [DEF:vname=rrd:ds-name:CF] " -"[CDEF:vname=rpn-expression] [PRINT:vname:CF:format] " -"[GPRINT:vname:CF:format] [COMMENT:text] " -"[HRULE:value#rrggbb[:legend]] [VRULE:time#rrggbb[:legend]] " -"[LINE{1|2|3}:vname[#rrggbb[:legend]]] " -"[AREA:vname[#rrggbb[:legend]]] " -"[STACK:vname[#rrggbb[:legend]]]"; - -static PyObject * -PyRRD_graph(PyObject UNUSED(*self), PyObject *args) + "graph(args..): Create a graph based on data from one or several RRD\n" + " graph filename [-s|--start seconds] " + "[-e|--end seconds] [-x|--x-grid x-axis grid and label] " + "[-y|--y-grid y-axis grid and label] [--alt-y-grid] [--alt-y-mrtg] " + "[--alt-autoscale] [--alt-autoscale-max] [--units-exponent] value " + "[-v|--vertical-label text] [-w|--width pixels] [-h|--height pixels] " + "[-i|--interlaced] " + "[-f|--imginfo formatstring] [-a|--imgformat GIF|PNG|GD] " + "[-B|--background value] [-O|--overlay value] " + "[-U|--unit value] [-z|--lazy] [-o|--logarithmic] " + "[-u|--upper-limit value] [-l|--lower-limit value] " + "[-g|--no-legend] [-r|--rigid] [--step value] " + "[-b|--base value] [-c|--color COLORTAG#rrggbb] " + "[-t|--title title] [DEF:vname=rrd:ds-name:CF] " + "[CDEF:vname=rpn-expression] [PRINT:vname:CF:format] " + "[GPRINT:vname:CF:format] [COMMENT:text] " + "[HRULE:value#rrggbb[:legend]] [VRULE:time#rrggbb[:legend]] " + "[LINE{1|2|3}:vname[#rrggbb[:legend]]] " + "[AREA:vname[#rrggbb[:legend]]] " "[STACK:vname[#rrggbb[:legend]]]"; + +static PyObject *PyRRD_graph( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - char **argv, **calcpr; - int argc, xsize, ysize, i; - double ymin, ymax; + PyObject *r; + char **argv, **calcpr; + int argc, xsize, ysize, i; + double ymin, ymax; + if (create_args("graph", args, &argc, &argv) < 0) return NULL; - if (rrd_graph(argc, argv, &calcpr, &xsize, &ysize, NULL, &ymin, &ymax) == -1) { + if (rrd_graph(argc, argv, &calcpr, &xsize, &ysize, NULL, &ymin, &ymax) == + -1) { PyErr_SetString(ErrorObject, rrd_get_error()); rrd_clear_error(); r = NULL; } else { r = PyTuple_New(3); - PyTuple_SET_ITEM(r, 0, PyInt_FromLong((long)xsize)); - PyTuple_SET_ITEM(r, 1, PyInt_FromLong((long)ysize)); + PyTuple_SET_ITEM(r, 0, PyInt_FromLong((long) xsize)); + PyTuple_SET_ITEM(r, 1, PyInt_FromLong((long) ysize)); if (calcpr) { - PyObject *e, *t; - + PyObject *e, *t; + e = PyList_New(0); PyTuple_SET_ITEM(r, 2, e); - for(i = 0; calcpr[i]; i++) { + for (i = 0; calcpr[i]; i++) { t = PyString_FromString(calcpr[i]); PyList_Append(e, t); Py_DECREF(t); @@ -284,17 +295,18 @@ PyRRD_graph(PyObject UNUSED(*self), PyObject *args) } static char PyRRD_tune__doc__[] = -"tune(args...): Modify some basic properties of a Round Robin Database\n" -" tune filename [--heartbeat|-h ds-name:heartbeat] " -"[--minimum|-i ds-name:min] [--maximum|-a ds-name:max] " -"[--data-source-type|-d ds-name:DST] [--data-source-rename|-r old-name:new-name]"; - -static PyObject * -PyRRD_tune(PyObject UNUSED(*self), PyObject *args) + "tune(args...): Modify some basic properties of a Round Robin Database\n" + " tune filename [--heartbeat|-h ds-name:heartbeat] " + "[--minimum|-i ds-name:min] [--maximum|-a ds-name:max] " + "[--data-source-type|-d ds-name:DST] [--data-source-rename|-r old-name:new-name]"; + +static PyObject *PyRRD_tune( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - char **argv; - int argc; + PyObject *r; + char **argv; + int argc; if (create_args("tune", args, &argc, &argv) < 0) return NULL; @@ -313,14 +325,15 @@ PyRRD_tune(PyObject UNUSED(*self), PyObject *args) } static char PyRRD_first__doc__[] = -"first(filename): Return the timestamp of the first data sample in an RRD"; + "first(filename): Return the timestamp of the first data sample in an RRD"; -static PyObject * -PyRRD_first(PyObject UNUSED(*self), PyObject *args) +static PyObject *PyRRD_first( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - int argc, ts; - char **argv; + PyObject *r; + int argc, ts; + char **argv; if (create_args("first", args, &argc, &argv) < 0) return NULL; @@ -330,21 +343,22 @@ PyRRD_first(PyObject UNUSED(*self), PyObject *args) rrd_clear_error(); r = NULL; } else - r = PyInt_FromLong((long)ts); + r = PyInt_FromLong((long) ts); destroy_args(&argv); return r; } static char PyRRD_last__doc__[] = -"last(filename): Return the timestamp of the last data sample in an RRD"; + "last(filename): Return the timestamp of the last data sample in an RRD"; -static PyObject * -PyRRD_last(PyObject UNUSED(*self), PyObject *args) +static PyObject *PyRRD_last( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - int argc, ts; - char **argv; + PyObject *r; + int argc, ts; + char **argv; if (create_args("last", args, &argc, &argv) < 0) return NULL; @@ -354,22 +368,23 @@ PyRRD_last(PyObject UNUSED(*self), PyObject *args) rrd_clear_error(); r = NULL; } else - r = PyInt_FromLong((long)ts); + r = PyInt_FromLong((long) ts); destroy_args(&argv); return r; } static char PyRRD_resize__doc__[] = -"resize(args...): alters the size of an RRA.\n" -" resize filename rra-num GROW|SHRINK rows"; + "resize(args...): alters the size of an RRA.\n" + " resize filename rra-num GROW|SHRINK rows"; -static PyObject * -PyRRD_resize(PyObject UNUSED(*self), PyObject *args) +static PyObject *PyRRD_resize( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r; - char **argv; - int argc, ts; + PyObject *r; + char **argv; + int argc, ts; if (create_args("resize", args, &argc, &argv) < 0) return NULL; @@ -388,27 +403,25 @@ PyRRD_resize(PyObject UNUSED(*self), PyObject *args) } static char PyRRD_info__doc__[] = -"info(filename): extract header information from an rrd"; + "info(filename): extract header information from an rrd"; -static PyObject * -PyRRD_info(PyObject UNUSED(*self), PyObject *args) +static PyObject *PyRRD_info( + PyObject UNUSED(*self), + PyObject * args) { - PyObject *r, *t, *ds; - rrd_t rrd; - FILE *in_file; - char *filename; - unsigned long i, j; + PyObject *r, *t, *ds; + rrd_t rrd; + char *filename; + unsigned long i, j; - if (! PyArg_ParseTuple(args, "s:info", &filename)) + if (!PyArg_ParseTuple(args, "s:info", &filename)) return NULL; - if (rrd_open(filename, &in_file, &rrd, RRD_READONLY) == -1) { + if (!rrd_open(filename, &rrd, RRD_READONLY) == -1) { PyErr_SetString(ErrorObject, rrd_get_error()); rrd_clear_error(); return NULL; } - fclose(in_file); - #define DICTSET_STR(dict, name, value) \ t = PyString_FromString(value); \ PyDict_SetItemString(dict, name, t); \ @@ -437,7 +450,7 @@ PyRRD_info(PyObject UNUSED(*self), PyObject *args) Py_DECREF(ds); for (i = 0; i < rrd.stat_head->ds_cnt; i++) { - PyObject *d; + PyObject *d; d = PyDict_New(); PyDict_SetItemString(ds, rrd.ds_def[i].ds_nam, d); @@ -445,12 +458,14 @@ PyRRD_info(PyObject UNUSED(*self), PyObject *args) DICTSET_STR(d, "ds_name", rrd.ds_def[i].ds_nam); DICTSET_STR(d, "type", rrd.ds_def[i].dst); - DICTSET_CNT(d, "minimal_heartbeat", rrd.ds_def[i].par[DS_mrhb_cnt].u_cnt); + DICTSET_CNT(d, "minimal_heartbeat", + rrd.ds_def[i].par[DS_mrhb_cnt].u_cnt); DICTSET_VAL(d, "min", rrd.ds_def[i].par[DS_min_val].u_val); DICTSET_VAL(d, "max", rrd.ds_def[i].par[DS_max_val].u_val); DICTSET_STR(d, "last_ds", rrd.pdp_prep[i].last_ds); DICTSET_VAL(d, "value", rrd.pdp_prep[i].scratch[PDP_val].u_val); - DICTSET_CNT(d, "unknown_sec", rrd.pdp_prep[i].scratch[PDP_unkn_sec_cnt].u_cnt); + DICTSET_CNT(d, "unknown_sec", + rrd.pdp_prep[i].scratch[PDP_unkn_sec_cnt].u_cnt); } ds = PyList_New(rrd.stat_head->rra_cnt); @@ -458,7 +473,7 @@ PyRRD_info(PyObject UNUSED(*self), PyObject *args) Py_DECREF(ds); for (i = 0; i < rrd.stat_head->rra_cnt; i++) { - PyObject *d, *cdp; + PyObject *d, *cdp; d = PyDict_New(); PyList_SET_ITEM(ds, i, d); @@ -473,15 +488,17 @@ PyRRD_info(PyObject UNUSED(*self), PyObject *args) Py_DECREF(cdp); for (j = 0; j < rrd.stat_head->ds_cnt; j++) { - PyObject *cdd; + PyObject *cdd; cdd = PyDict_New(); PyList_SET_ITEM(cdp, j, cdd); DICTSET_VAL(cdd, "value", - rrd.cdp_prep[i*rrd.stat_head->ds_cnt+j].scratch[CDP_val].u_val); + rrd.cdp_prep[i * rrd.stat_head->ds_cnt + + j].scratch[CDP_val].u_val); DICTSET_CNT(cdd, "unknown_datapoints", - rrd.cdp_prep[i*rrd.stat_head->ds_cnt+j].scratch[CDP_unkn_pdp_cnt].u_cnt); + rrd.cdp_prep[i * rrd.stat_head->ds_cnt + + j].scratch[CDP_unkn_pdp_cnt].u_cnt); } } @@ -494,16 +511,16 @@ PyRRD_info(PyObject UNUSED(*self), PyObject *args) #define meth(name, func, doc) {name, (PyCFunction)func, METH_VARARGS, doc} static PyMethodDef _rrdtool_methods[] = { - meth("create", PyRRD_create, PyRRD_create__doc__), - meth("update", PyRRD_update, PyRRD_update__doc__), - meth("fetch", PyRRD_fetch, PyRRD_fetch__doc__), - meth("graph", PyRRD_graph, PyRRD_graph__doc__), - meth("tune", PyRRD_tune, PyRRD_tune__doc__), - meth("first", PyRRD_first, PyRRD_first__doc__), - meth("last", PyRRD_last, PyRRD_last__doc__), - meth("resize", PyRRD_resize, PyRRD_resize__doc__), - meth("info", PyRRD_info, PyRRD_info__doc__), - {NULL, NULL,0,NULL} + meth("create", PyRRD_create, PyRRD_create__doc__), + meth("update", PyRRD_update, PyRRD_update__doc__), + meth("fetch", PyRRD_fetch, PyRRD_fetch__doc__), + meth("graph", PyRRD_graph, PyRRD_graph__doc__), + meth("tune", PyRRD_tune, PyRRD_tune__doc__), + meth("first", PyRRD_first, PyRRD_first__doc__), + meth("last", PyRRD_last, PyRRD_last__doc__), + meth("resize", PyRRD_resize, PyRRD_resize__doc__), + meth("info", PyRRD_info, PyRRD_info__doc__), + {NULL, NULL, 0, NULL} }; #define SET_INTCONSTANT(dict, value) \ @@ -516,10 +533,10 @@ static PyMethodDef _rrdtool_methods[] = { Py_DECREF(t); /* Initialization function for the module */ -void -initrrdtool(void) +void initrrdtool( + void) { - PyObject *m, *d, *t; + PyObject *m, *d, *t; /* Create the module and add the functions */ m = Py_InitModule("rrdtool", _rrdtool_methods); diff --git a/bindings/python/setup.py b/bindings/python/setup.py index 7a41a11..83f35b6 100644 --- a/bindings/python/setup.py +++ b/bindings/python/setup.py @@ -32,7 +32,7 @@ from distutils.core import setup, Extension import sys, os RRDBASE = os.environ.get('LOCALBASE', '../../src') -library_dir = os.environ.get('BUILDLIBDIR', os.path.join(RRDBASE, 'lib')) +library_dir = os.environ.get('BUILDLIBDIR', os.path.join(RRDBASE, '.libs')) include_dir = os.environ.get('INCDIR', RRDBASE) setup(name = "py-rrdtool", diff --git a/bindings/ruby/main.c b/bindings/ruby/main.c index 8a762ad..b3922d4 100644 --- a/bindings/ruby/main.c +++ b/bindings/ruby/main.c @@ -1,4 +1,4 @@ -/* $Id: main.c 1212 2007-11-08 10:13:48Z oetiker $ +/* $Id: main.c 1335 2008-05-01 23:23:35Z oetiker $ * Substantial penalty for early withdrawal. */ @@ -7,33 +7,39 @@ #include "../../src/rrd_tool.h" typedef struct string_arr_t { - int len; - char **strings; + int len; + char **strings; } string_arr; -VALUE mRRD; -VALUE rb_eRRDError; +VALUE mRRD; +VALUE rb_eRRDError; + +typedef int ( + *RRDFUNC) ( + int argc, + char **argv); -typedef int (*RRDFUNC)(int argc, char ** argv); #define RRD_CHECK_ERROR \ if (rrd_test_error()) \ rb_raise(rb_eRRDError, rrd_get_error()); \ rrd_clear_error(); -string_arr string_arr_new(VALUE rb_strings) +string_arr string_arr_new( + VALUE rb_strings) { string_arr a; - char buf[64]; - int i; - + char buf[64]; + int i; + Check_Type(rb_strings, T_ARRAY); a.len = RARRAY(rb_strings)->len + 1; a.strings = malloc(a.len * sizeof(char *)); - a.strings[0] = "dummy"; /* first element is a dummy element */ + a.strings[0] = "dummy"; /* first element is a dummy element */ for (i = 0; i < a.len - 1; i++) { - VALUE v = rb_ary_entry(rb_strings, i); + VALUE v = rb_ary_entry(rb_strings, i); + switch (TYPE(v)) { case T_STRING: a.strings[i + 1] = strdup(STR2CSTR(v)); @@ -43,7 +49,9 @@ string_arr string_arr_new(VALUE rb_strings) a.strings[i + 1] = strdup(buf); break; default: - rb_raise(rb_eTypeError, "invalid argument - %s, expected T_STRING or T_FIXNUM on index %d", rb_class2name(CLASS_OF(v)), i); + rb_raise(rb_eTypeError, + "invalid argument - %s, expected T_STRING or T_FIXNUM on index %d", + rb_class2name(CLASS_OF(v)), i); break; } } @@ -51,9 +59,10 @@ string_arr string_arr_new(VALUE rb_strings) return a; } -void string_arr_delete(string_arr a) +void string_arr_delete( + string_arr a) { - int i; + int i; /* skip dummy first entry */ for (i = 1; i < a.len; i++) { @@ -63,14 +72,19 @@ void string_arr_delete(string_arr a) free(a.strings); } -void reset_rrd_state() +void reset_rrd_state( + ) { - optind = 0; + optind = 0; opterr = 0; rrd_clear_error(); } -VALUE rrd_call(RRDFUNC func, VALUE args) +/* Simple Calls */ + +VALUE rrd_call( + RRDFUNC func, + VALUE args) { string_arr a; @@ -79,38 +93,143 @@ VALUE rrd_call(RRDFUNC func, VALUE args) func(a.len, a.strings); string_arr_delete(a); - RRD_CHECK_ERROR - - return Qnil; + RRD_CHECK_ERROR return Qnil; } -VALUE rb_rrd_create(VALUE self, VALUE args) +VALUE rb_rrd_create( + VALUE self, + VALUE args) { return rrd_call(rrd_create, args); } -VALUE rb_rrd_dump(VALUE self, VALUE args) +VALUE rb_rrd_dump( + VALUE self, + VALUE args) { return rrd_call(rrd_dump, args); } -VALUE rb_rrd_fetch(VALUE self, VALUE args) +VALUE rb_rrd_resize( + VALUE self, + VALUE args) +{ + return rrd_call(rrd_resize, args); +} + +VALUE rb_rrd_restore( + VALUE self, + VALUE args) +{ + return rrd_call(rrd_restore, args); +} + +VALUE rb_rrd_tune( + VALUE self, + VALUE args) +{ + return rrd_call(rrd_tune, args); +} + +VALUE rb_rrd_update( + VALUE self, + VALUE args) +{ + return rrd_call(rrd_update, args); +} + + +/* Calls Returning Data via the Info Interface */ + +VALUE rb_rrd_infocall( + RRDFUNC func, + VALUE args) +{ + string_arr a; + info_t *p, *data; + VALUE result; + + a = string_arr_new(args); + data = func(a.len, a.strings); + string_arr_delete(a); + + RRD_CHECK_ERROR result = rb_hash_new(); + + while (data) { + VALUE key = rb_str_new2(data->key); + + switch (data->type) { + case RD_I_VAL: + if (isnan(data->value.u_val)) { + rb_hash_aset(result, key, Qnil); + } else { + rb_hash_aset(result, key, rb_float_new(data->value.u_val)); + } + break; + case RD_I_CNT: + rb_hash_aset(result, key, INT2FIX(data->value.u_cnt)); + break; + case RD_I_STR: + rb_hash_aset(result, key, rb_str_new2(data->value.u_str)); + free(data->value.u_str); + break; + case RD_I_BLO: + rb_hash_aset(result, key, + rb_str_new(data->value.u_blo.ptr, + data->value.u_blo.size)); + free(data->value.u_blo.ptr); + break; + } + p = data; + data = data->next; + free(p); + } + return result; +} + +VALUE rb_rrd_info( + VALUE self, + VALUE args) +{ + return rrd_infocall(rrd_info, args); +} + +VALUE rb_rrd_updatev( + VALUE self, + VALUE args) +{ + return rrd_infocall(rrd_update_v, args); +} + +VALUE rb_rrd_graphv( + VALUE self, + VALUE args) +{ + return rrd_infocall(rrd_graph_v, args); +} + + +/* Other Calls */ + +VALUE rb_rrd_fetch( + VALUE self, + VALUE args) { string_arr a; unsigned long i, j, k, step, ds_cnt; rrd_value_t *raw_data; - char **raw_names; - VALUE data, names, result; - time_t start, end; + char **raw_names; + VALUE data, names, result; + time_t start, end; a = string_arr_new(args); reset_rrd_state(); - rrd_fetch(a.len, a.strings, &start, &end, &step, &ds_cnt, &raw_names, &raw_data); + rrd_fetch(a.len, a.strings, &start, &end, &step, &ds_cnt, &raw_names, + &raw_data); string_arr_delete(a); - RRD_CHECK_ERROR + RRD_CHECK_ERROR names = rb_ary_new(); - names = rb_ary_new(); for (i = 0; i < ds_cnt; i++) { rb_ary_push(names, rb_str_new2(raw_names[i])); free(raw_names[i]); @@ -120,7 +239,8 @@ VALUE rb_rrd_fetch(VALUE self, VALUE args) k = 0; data = rb_ary_new(); for (i = start; i <= end; i += step) { - VALUE line = rb_ary_new2(ds_cnt); + VALUE line = rb_ary_new2(ds_cnt); + for (j = 0; j < ds_cnt; j++) { rb_ary_store(line, j, rb_float_new(raw_data[k])); k++; @@ -128,31 +248,33 @@ VALUE rb_rrd_fetch(VALUE self, VALUE args) rb_ary_push(data, line); } free(raw_data); - - result = rb_ary_new2(4); + + result = rb_ary_new2(5); rb_ary_store(result, 0, INT2NUM(start)); rb_ary_store(result, 1, INT2NUM(end)); rb_ary_store(result, 2, names); rb_ary_store(result, 3, data); + rb_ary_store(result, 4, INT2FIX(step)); return result; } -VALUE rb_rrd_graph(VALUE self, VALUE args) +VALUE rb_rrd_graph( + VALUE self, + VALUE args) { string_arr a; - char **calcpr, **p; - VALUE result, print_results; - int xsize, ysize; - double ymin, ymax; + char **calcpr, **p; + VALUE result, print_results; + int xsize, ysize; + double ymin, ymax; a = string_arr_new(args); reset_rrd_state(); rrd_graph(a.len, a.strings, &calcpr, &xsize, &ysize, NULL, &ymin, &ymax); string_arr_delete(a); - RRD_CHECK_ERROR + RRD_CHECK_ERROR result = rb_ary_new2(3); - result = rb_ary_new2(3); print_results = rb_ary_new(); p = calcpr; for (p = calcpr; p && *p; p++) { @@ -166,49 +288,13 @@ VALUE rb_rrd_graph(VALUE self, VALUE args) return result; } -VALUE rb_rrd_info(VALUE self, VALUE args) -{ - string_arr a; - info_t *p, *data; - VALUE result; - - a = string_arr_new(args); - data = rrd_info(a.len, a.strings); - string_arr_delete(a); - - RRD_CHECK_ERROR - result = rb_hash_new(); - while (data) { - VALUE key = rb_str_new2(data->key); - switch (data->type) { - case RD_I_VAL: - if (isnan(data->value.u_val)) { - rb_hash_aset(result, key, Qnil); - } - else { - rb_hash_aset(result, key, rb_float_new(data->value.u_val)); - } - break; - case RD_I_CNT: - rb_hash_aset(result, key, INT2FIX(data->value.u_cnt)); - break; - case RD_I_STR: - rb_hash_aset(result, key, rb_str_new2(data->value.u_str)); - free(data->value.u_str); - break; - } - p = data; - data = data->next; - free(p); - } - return result; -} - -VALUE rb_rrd_last(VALUE self, VALUE args) +VALUE rb_rrd_last( + VALUE self, + VALUE args) { string_arr a; - time_t last; + time_t last; a = string_arr_new(args); reset_rrd_state(); @@ -216,31 +302,11 @@ VALUE rb_rrd_last(VALUE self, VALUE args) string_arr_delete(a); RRD_CHECK_ERROR - - return rb_funcall(rb_cTime, rb_intern("at"), 1, INT2FIX(last)); -} - -VALUE rb_rrd_resize(VALUE self, VALUE args) -{ - return rrd_call(rrd_resize, args); -} - -VALUE rb_rrd_restore(VALUE self, VALUE args) -{ - return rrd_call(rrd_restore, args); -} - -VALUE rb_rrd_tune(VALUE self, VALUE args) -{ - return rrd_call(rrd_tune, args); -} - -VALUE rb_rrd_update(VALUE self, VALUE args) -{ - return rrd_call(rrd_update, args); + return rb_funcall(rb_cTime, rb_intern("at"), 1, INT2FIX(last)); } -void Init_RRD() +void Init_RRD( + ) { mRRD = rb_define_module("RRD"); rb_eRRDError = rb_define_class("RRDError", rb_eStandardError); @@ -255,4 +321,6 @@ void Init_RRD() rb_define_module_function(mRRD, "tune", rb_rrd_tune, -2); rb_define_module_function(mRRD, "update", rb_rrd_update, -2); rb_define_module_function(mRRD, "info", rb_rrd_info, -2); + rb_define_module_function(mRRD, "updatev", rb_rrd_updatev, -2); + rb_define_module_function(mRRD, "graphv", rb_rrd_graphv, -2); } diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am index 3e183c6..b30736b 100644 --- a/bindings/tcl/Makefile.am +++ b/bindings/tcl/Makefile.am @@ -46,7 +46,7 @@ $(TCL_RRD_LIB): tclrrd.o $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) tclrrd.o: tclrrd.c - $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c $< -DVERSION=\"$(VERSION)\" + $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" pkgIndex.tcl: echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in index 08fc714..3945c83 100644 --- a/bindings/tcl/Makefile.in +++ b/bindings/tcl/Makefile.in @@ -72,6 +72,7 @@ DATA = $(pkglib_DATA) $(tclpkg_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LIBS = @ALL_LIBS@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ @@ -80,6 +81,8 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BUILD_LIBINTL_FALSE = @BUILD_LIBINTL_FALSE@ +BUILD_LIBINTL_TRUE = @BUILD_LIBINTL_TRUE@ BUILD_MULTITHREAD_FALSE = @BUILD_MULTITHREAD_FALSE@ BUILD_MULTITHREAD_TRUE = @BUILD_MULTITHREAD_TRUE@ BUILD_RRDCGI_FALSE = @BUILD_RRDCGI_FALSE@ @@ -88,6 +91,8 @@ BUILD_TCL_FALSE = @BUILD_TCL_FALSE@ BUILD_TCL_SITE_FALSE = @BUILD_TCL_SITE_FALSE@ BUILD_TCL_SITE_TRUE = @BUILD_TCL_SITE_TRUE@ BUILD_TCL_TRUE = @BUILD_TCL_TRUE@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -102,6 +107,7 @@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ @@ -112,18 +118,57 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ GREP = @GREP@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_ICONV = @INTLTOOL_ICONV@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_MSGFMT = @INTLTOOL_MSGFMT@ +INTLTOOL_MSGMERGE = @INTLTOOL_MSGMERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XGETTEXT = @INTLTOOL_XGETTEXT@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIBVERS = @LIBVERS@ +LIB_LIBINTL = @LIB_LIBINTL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@ MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@ NROFF = @NROFF@ @@ -146,6 +191,12 @@ PERL_CC = @PERL_CC@ PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@ PERL_VERSION = @PERL_VERSION@ PKGCONFIG = @PKGCONFIG@ +POD2HTML = @POD2HTML@ +POD2MAN = @POD2MAN@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -163,7 +214,10 @@ RUBY = @RUBY@ RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +STATIC_PROGRAMS_FALSE = @STATIC_PROGRAMS_FALSE@ +STATIC_PROGRAMS_TRUE = @STATIC_PROGRAMS_TRUE@ STRIP = @STRIP@ +TCL_INC_DIR = @TCL_INC_DIR@ TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@ TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ @@ -174,7 +228,9 @@ TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ TCL_VERSION = @TCL_VERSION@ TROFF = @TROFF@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ @@ -233,7 +289,6 @@ target_os = @target_os@ target_vendor = @target_vendor@ EXTRA_DIST = README tclrrd.c AM_CFLAGS = @CFLAGS@ -TCL_INC_DIR = @TCL_INC_DIR@ CLEANFILES = tclrrd.o tclrrd.so SRC_DIR = $(top_srcdir)/src AM_CPPFLAGS = -I$(TCL_INC_DIR) -I$(SRC_DIR) -DUSE_TCL_STUBS @@ -256,7 +311,7 @@ lib_LIBRARIES = all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -281,9 +336,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ifOctets.tcl: $(top_builddir)/config.status $(srcdir)/ifOctets.tcl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ @@ -536,7 +591,7 @@ $(TCL_RRD_LIB): tclrrd.o $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) tclrrd.o: tclrrd.c - $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c $< -DVERSION=\"$(VERSION)\" + $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" pkgIndex.tcl: echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c index 0086cc8..0f3ba60 100644 --- a/bindings/tcl/tclrrd.c +++ b/bindings/tcl/tclrrd.c @@ -8,7 +8,7 @@ * See the file "COPYING" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * $Id: tclrrd.c 1268 2008-01-14 16:47:23Z oetiker $ + * $Id: tclrrd.c 1306 2008-03-15 10:39:48Z oetiker $ */ @@ -18,6 +18,7 @@ #include #include #include +#include #include "../../src/rrd_tool.h" #include "../../src/rrd_format.h" @@ -27,8 +28,10 @@ # define CONST84 #endif -extern int Tclrrd_Init(Tcl_Interp *interp); -extern int Tclrrd_SafeInit(Tcl_Interp *interp); +extern int Tclrrd_Init( + Tcl_Interp *interp); +extern int Tclrrd_SafeInit( + Tcl_Interp *interp); /* @@ -37,149 +40,161 @@ extern int Tclrrd_SafeInit(Tcl_Interp *interp); * Hence, we need to do some preparation before * calling the rrd library functions. */ -static char ** getopt_init(int argc, CONST84 char *argv[]) +static char **getopt_init( + int argc, + CONST84 char *argv[]) { - char **argv2; - int i; - + char **argv2; + int i; + argv2 = calloc(argc, sizeof(char *)); for (i = 0; i < argc; i++) { - argv2[i] = strdup(argv[i]); + argv2[i] = strdup(argv[i]); } return argv2; } -static void getopt_cleanup(int argc, char **argv2) +static void getopt_cleanup( + int argc, + char **argv2) { - int i; - + int i; + for (i = 0; i < argc; i++) { - if (argv2[i] != NULL) { - free(argv2[i]); - } + if (argv2[i] != NULL) { + free(argv2[i]); + } } free(argv2); } -static void getopt_free_element(argv2, argn) - char *argv2[]; - int argn; +static void getopt_free_element( + char *argv2[], + int argn) { if (argv2[argn] != NULL) { - free(argv2[argn]); - argv2[argn] = NULL; + free(argv2[argn]); + argv2[argn] = NULL; } } -static void getopt_squieeze(argc, argv2) - int *argc; - char *argv2[]; +static void getopt_squieeze( + int *argc, + char *argv2[]) { - int i, null_i = 0, argc_tmp = *argc; + int i, null_i = 0, argc_tmp = *argc; for (i = 0; i < argc_tmp; i++) { - if (argv2[i] == NULL) { - (*argc)--; - } else { - argv2[null_i++] = argv2[i]; - } + if (argv2[i] == NULL) { + (*argc)--; + } else { + argv2[null_i++] = argv2[i]; + } } } /* Thread-safe version */ -static int -Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Create( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - int argv_i; - char **argv2; - char *parsetime_error = NULL; - time_t last_up = time(NULL) - 10; - long int long_tmp; - unsigned long int pdp_step = 300; - struct rrd_time_value last_up_tv; - - (void) clientData; /* slience gcc */ + int argv_i; + char **argv2; + char *parsetime_error = NULL; + time_t last_up = time(NULL) - 10; + long int long_tmp; + unsigned long int pdp_step = 300; + struct rrd_time_value last_up_tv; argv2 = getopt_init(argc, argv); for (argv_i = 1; argv_i < argc; argv_i++) { - if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) { - if (argv_i++>=argc) { - Tcl_AppendResult(interp, "RRD Error: option '", - argv2[argv_i - 1], "' needs an argument", (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - if ((parsetime_error = parsetime(argv2[argv_i], &last_up_tv))) { - Tcl_AppendResult(interp, "RRD Error: invalid time format: '", - argv2[argv_i], "'", (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - if (last_up_tv.type == RELATIVE_TO_END_TIME || - last_up_tv.type == RELATIVE_TO_START_TIME) { - Tcl_AppendResult(interp, "RRD Error: specifying time relative to the 'start' ", - "or 'end' makes no sense here", (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - last_up = mktime(&last_up_tv.tm) + last_up_tv.offset; - if (last_up < 3600*24*365*10) { - Tcl_AppendResult(interp, "RRD Error: the first entry to the RRD should be after 1980", - (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - getopt_free_element(argv2, argv_i - 1); - getopt_free_element(argv2, argv_i); - } else if (!strcmp(argv2[argv_i], "--step") || !strcmp(argv2[argv_i], "-s")) { - if (argv_i++>=argc) { - Tcl_AppendResult(interp, "RRD Error: option '", - argv2[argv_i - 1], "' needs an argument", (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - long_tmp = atol(argv2[argv_i]); - if (long_tmp < 1) { - Tcl_AppendResult(interp, "RRD Error: step size should be no less than one second", - (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - pdp_step = long_tmp; - getopt_free_element(argv2, argv_i - 1); - getopt_free_element(argv2, argv_i); - } else if (!strcmp(argv2[argv_i], "--")) { - getopt_free_element(argv2, argv_i); - break; - } else if (argv2[argv_i][0]=='-') { - Tcl_AppendResult(interp, "RRD Error: unknown option '", - argv2[argv_i], "'", (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } + if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) { + if (argv_i++ >= argc) { + Tcl_AppendResult(interp, "RRD Error: option '", + argv2[argv_i - 1], "' needs an argument", + (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } + if ((parsetime_error = parsetime(argv2[argv_i], &last_up_tv))) { + Tcl_AppendResult(interp, "RRD Error: invalid time format: '", + argv2[argv_i], "'", (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } + if (last_up_tv.type == RELATIVE_TO_END_TIME || + last_up_tv.type == RELATIVE_TO_START_TIME) { + Tcl_AppendResult(interp, + "RRD Error: specifying time relative to the 'start' ", + "or 'end' makes no sense here", + (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } + last_up = mktime(&last_up_tv.tm) +last_up_tv.offset; + if (last_up < 3600 * 24 * 365 * 10) { + Tcl_AppendResult(interp, + "RRD Error: the first entry to the RRD should be after 1980", + (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } + getopt_free_element(argv2, argv_i - 1); + getopt_free_element(argv2, argv_i); + } else if (!strcmp(argv2[argv_i], "--step") + || !strcmp(argv2[argv_i], "-s")) { + if (argv_i++ >= argc) { + Tcl_AppendResult(interp, "RRD Error: option '", + argv2[argv_i - 1], "' needs an argument", + (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } + long_tmp = atol(argv2[argv_i]); + if (long_tmp < 1) { + Tcl_AppendResult(interp, + "RRD Error: step size should be no less than one second", + (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } + pdp_step = long_tmp; + getopt_free_element(argv2, argv_i - 1); + getopt_free_element(argv2, argv_i); + } else if (!strcmp(argv2[argv_i], "--")) { + getopt_free_element(argv2, argv_i); + break; + } else if (argv2[argv_i][0] == '-') { + Tcl_AppendResult(interp, "RRD Error: unknown option '", + argv2[argv_i], "'", (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } } getopt_squieeze(&argc, argv2); if (argc < 2) { - Tcl_AppendResult(interp, "RRD Error: needs rrd filename", - (char *) NULL); - getopt_cleanup(argc, argv2); - return TCL_ERROR; + Tcl_AppendResult(interp, "RRD Error: needs rrd filename", + (char *) NULL); + getopt_cleanup(argc, argv2); + return TCL_ERROR; } - rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, (const char **) argv2 + 2); + rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, argv2 + 2); getopt_cleanup(argc, argv2); - + if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; @@ -188,15 +203,16 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar /* Thread-safe version */ -static int -Rrd_Dump(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Dump( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - (void) clientData; /* slience gcc */ - if (argc < 2) { - Tcl_AppendResult(interp, "RRD Error: needs rrd filename", - (char *) NULL); - return TCL_ERROR; + Tcl_AppendResult(interp, "RRD Error: needs rrd filename", + (char *) NULL); + return TCL_ERROR; } rrd_dump_r(argv[1], NULL); @@ -204,10 +220,10 @@ Rrd_Dump(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv /* NOTE: rrd_dump() writes to stdout. No interaction with TCL. */ if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; @@ -216,26 +232,27 @@ Rrd_Dump(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv /* Thread-safe version */ -static int -Rrd_Last(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Last( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - (void) clientData; /* slience gcc */ + time_t t; - time_t t; - if (argc < 2) { - Tcl_AppendResult(interp, "RRD Error: needs rrd filename", - (char *) NULL); - return TCL_ERROR; + Tcl_AppendResult(interp, "RRD Error: needs rrd filename", + (char *) NULL); + return TCL_ERROR; } t = rrd_last_r(argv[1]); if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } Tcl_SetIntObj(Tcl_GetObjResult(interp), t); @@ -246,153 +263,159 @@ Rrd_Last(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv /* Thread-safe version */ -static int -Rrd_Update(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Update( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - int argv_i; - char **argv2, *template = NULL; - - (void) clientData; /* slience gcc */ + int argv_i; + char **argv2, *template = NULL; argv2 = getopt_init(argc, argv); for (argv_i = 1; argv_i < argc; argv_i++) { - if (!strcmp(argv2[argv_i], "--template") || !strcmp(argv2[argv_i], "-t")) { - if (argv_i++>=argc) { - Tcl_AppendResult(interp, "RRD Error: option '", - argv2[argv_i - 1], "' needs an argument", (char *) NULL); - if (template != NULL) { - free(template); - } - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - if (template != NULL) { - free(template); - } - template = strdup(argv2[argv_i]); - getopt_free_element(argv2, argv_i - 1); - getopt_free_element(argv2, argv_i); - } else if (!strcmp(argv2[argv_i], "--")) { - getopt_free_element(argv2, argv_i); - break; - } else if (argv2[argv_i][0]=='-') { - Tcl_AppendResult(interp, "RRD Error: unknown option '", - argv2[argv_i], "'", (char *) NULL); - if (template != NULL) { - free(template); - } - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } + if (!strcmp(argv2[argv_i], "--template") + || !strcmp(argv2[argv_i], "-t")) { + if (argv_i++ >= argc) { + Tcl_AppendResult(interp, "RRD Error: option '", + argv2[argv_i - 1], "' needs an argument", + (char *) NULL); + if (template != NULL) { + free(template); + } + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } + if (template != NULL) { + free(template); + } + template = strdup(argv2[argv_i]); + getopt_free_element(argv2, argv_i - 1); + getopt_free_element(argv2, argv_i); + } else if (!strcmp(argv2[argv_i], "--")) { + getopt_free_element(argv2, argv_i); + break; + } else if (argv2[argv_i][0] == '-') { + Tcl_AppendResult(interp, "RRD Error: unknown option '", + argv2[argv_i], "'", (char *) NULL); + if (template != NULL) { + free(template); + } + getopt_cleanup(argc, argv2); + return TCL_ERROR; + } } getopt_squieeze(&argc, argv2); if (argc < 2) { - Tcl_AppendResult(interp, "RRD Error: needs rrd filename", - (char *) NULL); - if (template != NULL) { - free(template); - } - getopt_cleanup(argc, argv2); - return TCL_ERROR; + Tcl_AppendResult(interp, "RRD Error: needs rrd filename", + (char *) NULL); + if (template != NULL) { + free(template); + } + getopt_cleanup(argc, argv2); + return TCL_ERROR; } - rrd_update_r(argv2[1], template, argc - 2, (const char **) argv2 + 2); + rrd_update_r(argv2[1], template, argc - 2, argv2 + 2); if (template != NULL) { - free(template); + free(template); } getopt_cleanup(argc, argv2); if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; } -static int -Rrd_Lastupdate(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Lastupdate( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - time_t last_update; - char **argv2; - char **ds_namv; - char **last_ds; - char s[30]; - Tcl_Obj *listPtr; - unsigned long ds_cnt, i; - - (void) clientData; /* slience gcc */ - - argv2 = getopt_init(argc, argv); - if (rrd_lastupdate(argc-1, argv2, &last_update, - &ds_cnt, &ds_namv, &last_ds) == 0) { - listPtr = Tcl_GetObjResult(interp); - for (i=0; iis< a Tcl fileID - */ - if (!(mode & TCL_WRITABLE)) { - Tcl_AppendResult(interp, "channel \"", argv[1], - "\" wasn't opened for writing", (char *) NULL); - return TCL_ERROR; - } - /* - * Must flush channel to make sure any buffered data is written before - * rrd_graph() writes to the stream - */ - if (Tcl_Flush(channel) != TCL_OK) { - Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ", - strerror(Tcl_GetErrno()), (char *) NULL); - return TCL_ERROR; - } - if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) { - Tcl_AppendResult(interp, "cannot get file descriptor associated with \"", - argv[1], "\"", (char *) NULL); - return TCL_ERROR; - } - /* - * Must dup() file descriptor so we can fclose(stream), otherwise the fclose() - * would close Tcl's file descriptor - */ - if ((fd2 = dup((int)fd1)) == -1) { - Tcl_AppendResult(interp, "dup() failed for file descriptor associated with \"", - argv[1], "\": ", strerror(errno), (char *) NULL); - return TCL_ERROR; - } - /* - * rrd_graph() wants a FILE* - */ - if ((stream = fdopen(fd2, "wb")) == NULL) { - Tcl_AppendResult(interp, "fdopen() failed for file descriptor associated with \"", - argv[1], "\": ", strerror(errno), (char *) NULL); - close(fd2); /* plug potential file descriptor leak */ - return TCL_ERROR; - } - - save = argv[1]; - argv[1] = "-"; - argv2 = getopt_init(argc, argv); - argv[1] = save; + /* + * It >is< a Tcl fileID + */ + if (!(mode & TCL_WRITABLE)) { + Tcl_AppendResult(interp, "channel \"", argv[1], + "\" wasn't opened for writing", (char *) NULL); + return TCL_ERROR; + } + /* + * Must flush channel to make sure any buffered data is written before + * rrd_graph() writes to the stream + */ + if (Tcl_Flush(channel) != TCL_OK) { + Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ", + strerror(Tcl_GetErrno()), (char *) NULL); + return TCL_ERROR; + } + if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) { + Tcl_AppendResult(interp, + "cannot get file descriptor associated with \"", + argv[1], "\"", (char *) NULL); + return TCL_ERROR; + } + /* + * Must dup() file descriptor so we can fclose(stream), otherwise the fclose() + * would close Tcl's file descriptor + */ + if ((fd2 = dup((int) fd1)) == -1) { + Tcl_AppendResult(interp, + "dup() failed for file descriptor associated with \"", + argv[1], "\": ", strerror(errno), (char *) NULL); + return TCL_ERROR; + } + /* + * rrd_graph() wants a FILE* + */ + if ((stream = fdopen(fd2, "wb")) == NULL) { + Tcl_AppendResult(interp, + "fdopen() failed for file descriptor associated with \"", + argv[1], "\": ", strerror(errno), (char *) NULL); + close(fd2); /* plug potential file descriptor leak */ + return TCL_ERROR; + } + + save = argv[1]; + argv[1] = "-"; + argv2 = getopt_init(argc, argv); + argv[1] = save; } else { - Tcl_ResetResult(interp); /* clear error from Tcl_GetChannel() */ - argv2 = getopt_init(argc, argv); + Tcl_ResetResult(interp); /* clear error from Tcl_GetChannel() */ + argv2 = getopt_init(argc, argv); } - rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin, &ymax); + rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin, + &ymax); getopt_cleanup(argc, argv2); if (stream != NULL) - fclose(stream); /* plug potential malloc & file descriptor leak */ + fclose(stream); /* plug potential malloc & file descriptor leak */ if (rc != -1) { sprintf(dimensions, "%d %d", xsize, ysize); Tcl_AppendResult(interp, dimensions, (char *) NULL); if (calcpr) { #if 0 - int i; - - for(i = 0; calcpr[i]; i++){ + int i; + + for (i = 0; calcpr[i]; i++) { printf("%s\n", calcpr[i]); free(calcpr[i]); - } + } #endif free(calcpr); } } if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; @@ -505,22 +533,23 @@ Rrd_Graph(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *arg -static int -Rrd_Tune(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Tune( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - char **argv2; - - (void) clientData; /* slience gcc */ + char **argv2; argv2 = getopt_init(argc, argv); rrd_tune(argc, argv2); getopt_cleanup(argc, argv2); if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; @@ -528,22 +557,23 @@ Rrd_Tune(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv -static int -Rrd_Resize(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Resize( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - char **argv2; - - (void) clientData; /* slience gcc */ + char **argv2; argv2 = getopt_init(argc, argv); rrd_resize(argc, argv2); getopt_cleanup(argc, argv2); if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; @@ -551,22 +581,23 @@ Rrd_Resize(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar -static int -Rrd_Restore(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) +static int Rrd_Restore( + ClientData clientData, + Tcl_Interp *interp, + int argc, + CONST84 char *argv[]) { - char **argv2; - - (void) clientData; /* slience gcc */ + char **argv2; argv2 = getopt_init(argc, argv); rrd_restore(argc, argv2); getopt_cleanup(argc, argv2); if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", - rrd_get_error(), (char *) NULL); + Tcl_AppendResult(interp, "RRD Error: ", + rrd_get_error(), (char *) NULL); rrd_clear_error(); - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; @@ -579,39 +610,40 @@ Rrd_Restore(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *a */ typedef struct { - char *name; /* Name of the command. */ - Tcl_CmdProc *proc; /* Procedure for command. */ - int hide; /* Hide if safe interpreter */ + char *name; /* Name of the command. */ + Tcl_CmdProc *proc; /* Procedure for command. */ + int hide; /* Hide if safe interpreter */ } CmdInfo; static CmdInfo rrdCmds[] = { - { "Rrd::create", Rrd_Create, 1 }, /* Thread-safe version */ - { "Rrd::dump", Rrd_Dump, 0 }, /* Thread-safe version */ - { "Rrd::last", Rrd_Last, 0 }, /* Thread-safe version */ - { "Rrd::lastupdate", Rrd_Lastupdate, 0 }, /* Thread-safe version */ - { "Rrd::update", Rrd_Update, 1 }, /* Thread-safe version */ - { "Rrd::fetch", Rrd_Fetch, 0 }, - { "Rrd::graph", Rrd_Graph, 1 }, /* Due to RRD's API, a safe - interpreter cannot create - a graph since it writes to - a filename supplied by the - caller */ - { "Rrd::tune", Rrd_Tune, 1 }, - { "Rrd::resize", Rrd_Resize, 1 }, - { "Rrd::restore", Rrd_Restore, 1 }, - { (char *) NULL, (Tcl_CmdProc *) NULL, 0 } + {"Rrd::create", Rrd_Create, 1}, /* Thread-safe version */ + {"Rrd::dump", Rrd_Dump, 0}, /* Thread-safe version */ + {"Rrd::last", Rrd_Last, 0}, /* Thread-safe version */ + {"Rrd::lastupdate", Rrd_Lastupdate, 0}, /* Thread-safe version */ + {"Rrd::update", Rrd_Update, 1}, /* Thread-safe version */ + {"Rrd::fetch", Rrd_Fetch, 0}, + {"Rrd::graph", Rrd_Graph, 1}, /* Due to RRD's API, a safe + interpreter cannot create + a graph since it writes to + a filename supplied by the + caller */ + {"Rrd::tune", Rrd_Tune, 1}, + {"Rrd::resize", Rrd_Resize, 1}, + {"Rrd::restore", Rrd_Restore, 1}, + {(char *) NULL, (Tcl_CmdProc *) NULL, 0} }; -static int -init(Tcl_Interp *interp, int safe) -{ - CmdInfo *cmdInfoPtr; +static int init( + Tcl_Interp *interp, + int safe) +{ + CmdInfo *cmdInfoPtr; Tcl_CmdInfo info; - if ( Tcl_InitStubs(interp,TCL_VERSION,0) == NULL ) - return TCL_ERROR; + if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL) + return TCL_ERROR; if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) { return TCL_ERROR; @@ -624,65 +656,65 @@ init(Tcl_Interp *interp, int safe) Tcl_SetVar2(interp, "rrd", "version", VERSION, TCL_GLOBAL_ONLY); for (cmdInfoPtr = rrdCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) { - /* - * Check if the command already exists and return an error - * to ensure we detect name clashes while loading the Rrd - * extension. - */ - if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) { - Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name, - "\" already exists", (char *) NULL); - return TCL_ERROR; - } - if (safe && cmdInfoPtr->hide) { + /* + * Check if the command already exists and return an error + * to ensure we detect name clashes while loading the Rrd + * extension. + */ + if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) { + Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name, + "\" already exists", (char *) NULL); + return TCL_ERROR; + } + if (safe && cmdInfoPtr->hide) { #if 0 - /* - * Turns out the one cannot hide a command in a namespace - * due to a limitation of Tcl, one can only hide global - * commands. Thus, if we created the commands without - * the Rrd:: namespace in a safe interpreter, then the - * "unsafe" commands could be hidden -- which would allow - * an owning interpreter either un-hiding them or doing - * an "interp invokehidden". If the Rrd:: namespace is - * used, then it's still possible for the owning interpreter - * to fake out the missing commands: - * - * # Make all Rrd::* commands available in master interperter - * package require Rrd - * set safe [interp create -safe] - * # Make safe Rrd::* commands available in safe interperter - * interp invokehidden $safe -global load ./tclrrd1.2.11.so - * # Provide the safe interpreter with the missing commands - * $safe alias Rrd::update do_update $safe - * proc do_update {which_interp $args} { - * # Do some checking maybe... - * : - * return [eval Rrd::update $args] - * } - * - * Our solution for now is to just not create the "unsafe" - * commands in a safe interpreter. - */ - if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) != TCL_OK) - return TCL_ERROR; + /* + * Turns out the one cannot hide a command in a namespace + * due to a limitation of Tcl, one can only hide global + * commands. Thus, if we created the commands without + * the Rrd:: namespace in a safe interpreter, then the + * "unsafe" commands could be hidden -- which would allow + * an owning interpreter either un-hiding them or doing + * an "interp invokehidden". If the Rrd:: namespace is + * used, then it's still possible for the owning interpreter + * to fake out the missing commands: + * + * # Make all Rrd::* commands available in master interperter + * package require Rrd + * set safe [interp create -safe] + * # Make safe Rrd::* commands available in safe interperter + * interp invokehidden $safe -global load ./tclrrd1.2.11.so + * # Provide the safe interpreter with the missing commands + * $safe alias Rrd::update do_update $safe + * proc do_update {which_interp $args} { + * # Do some checking maybe... + * : + * return [eval Rrd::update $args] + * } + * + * Our solution for now is to just not create the "unsafe" + * commands in a safe interpreter. + */ + if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) != + TCL_OK) + return TCL_ERROR; #endif - } - else - Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc, - (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL); + } else + Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc, + (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL); } if (Tcl_PkgProvide(interp, "Rrd", VERSION) != TCL_OK) { - return TCL_ERROR; + return TCL_ERROR; } return TCL_OK; } -int -Tclrrd_Init(Tcl_Interp *interp) -{ - return init(interp, 0); +int Tclrrd_Init( + Tcl_Interp *interp) +{ + return init(interp, 0); } /* @@ -690,8 +722,8 @@ Tclrrd_Init(Tcl_Interp *interp) * Using rrdtool in a safe interpreter has very limited functionality. It's * tempting to just return TCL_ERROR and forget about it. */ -int -Tclrrd_SafeInit(Tcl_Interp *interp) -{ - return init(interp, 1); +int Tclrrd_SafeInit( + Tcl_Interp *interp) +{ + return init(interp, 1); } diff --git a/configure b/configure index 105dfce..acfddca 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for rrdtool 1.2.27. +# Generated by GNU Autoconf 2.61 for rrdtool 1.3rc4. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. @@ -726,8 +726,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='rrdtool' PACKAGE_TARNAME='rrdtool' -PACKAGE_VERSION='1.2.27' -PACKAGE_STRING='rrdtool 1.2.27' +PACKAGE_VERSION='1.3rc4' +PACKAGE_STRING='rrdtool 1.3rc4' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/rrdtool-$PACKAGE_VERSION @@ -806,6 +806,7 @@ build_alias host_alias target_alias NUMVERS +LIBVERS build build_cpu build_vendor @@ -839,7 +840,12 @@ am__leading_dot AMTAR am__tar am__untar +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT RRDGRAPH_YLEGEND_ANGLE +STATIC_PROGRAMS_TRUE +STATIC_PROGRAMS_FALSE CC CFLAGS LDFLAGS @@ -875,6 +881,53 @@ FFLAGS ac_ct_F77 LIBTOOL RRD_DEFAULT_FONT +GETTEXT_PACKAGE +USE_NLS +MSGFMT +MSGFMT_OPTS +GMSGFMT +XGETTEXT +CATALOGS +CATOBJEXT +DATADIRNAME +GMOFILES +INSTOBJEXT +INTLLIBS +PO_IN_DATADIR_TRUE +PO_IN_DATADIR_FALSE +POFILES +POSUB +MKINSTALLDIRS +INTLTOOL_DESKTOP_RULE +INTLTOOL_DIRECTORY_RULE +INTLTOOL_KEYS_RULE +INTLTOOL_PROP_RULE +INTLTOOL_OAF_RULE +INTLTOOL_PONG_RULE +INTLTOOL_SERVER_RULE +INTLTOOL_SHEET_RULE +INTLTOOL_SOUNDLIST_RULE +INTLTOOL_UI_RULE +INTLTOOL_XAM_RULE +INTLTOOL_KBD_RULE +INTLTOOL_XML_RULE +INTLTOOL_XML_NOMERGE_RULE +INTLTOOL_CAVES_RULE +INTLTOOL_SCHEMAS_RULE +INTLTOOL_THEME_RULE +INTLTOOL_SERVICE_RULE +INTLTOOL_EXTRACT +INTLTOOL_MERGE +INTLTOOL_UPDATE +INTLTOOL_PERL +INTLTOOL_ICONV +INTLTOOL_MSGFMT +INTLTOOL_MSGMERGE +INTLTOOL_XGETTEXT +ALL_LINGUAS +LIB_LIBINTL +BUILD_LIBINTL_TRUE +BUILD_LIBINTL_FALSE MULTITHREAD_CFLAGS MULTITHREAD_LDFLAGS acx_pthread_config @@ -889,6 +942,8 @@ PKGCONFIG CORE_LIBS ALL_LIBS PERL +POD2MAN +POD2HTML PERLCC PERLCCFLAGS PERLLD @@ -913,6 +968,7 @@ TCL_LD_SEARCH_FLAGS TCL_STUB_LIB_SPEC TCL_VERSION TCL_PACKAGE_DIR +TCL_INC_DIR PYTHON PYTHON_VERSION PYTHON_PREFIX @@ -1453,7 +1509,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rrdtool 1.2.27 to adapt to many kinds of systems. +\`configure' configures rrdtool 1.3rc4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1524,16 +1580,19 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rrdtool 1.2.27:";; + short | recursive ) echo "Configuration of rrdtool 1.3rc4:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer --disable-rrdcgi disable building of rrdcgi --disable-mmap disable mmap in rrd_update, use seek+write instead --disable-pthread disable multithread support + --enable-static-programs Build static programs --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] @@ -1541,6 +1600,7 @@ Optional Features: --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --disable-libintl i18n support (libintl) --disable-perl do not build the perl modules --enable-perl-site-install by default the rrdtool perl modules are installed together with rrdtool in $prefix/lib/perl. You have to @@ -1577,7 +1637,7 @@ Optional Packages: Some influential environment variables: RRDGRAPH_YLEGEND_ANGLE - Vertical label angle: 90.0 (default) or 270.0 + Vertical label angle: -90.0 (default) or 90.0 CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a @@ -1660,7 +1720,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rrdtool configure 1.2.27 +rrdtool configure 1.3rc4 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1674,7 +1734,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rrdtool $as_me 1.2.27, which was +It was created by rrdtool $as_me 1.3rc4, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2027,7 +2087,12 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -NUMVERS=1.2027 + +NUMVERS=1.299908051800 + + +LIBVERS=3:2:1 + ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2472,7 +2537,7 @@ fi # Define the identity of the package. PACKAGE='rrdtool' - VERSION='1.2.27' + VERSION='1.3rc4' cat >>confdefs.h <<_ACEOF @@ -2618,6 +2683,31 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + ac_config_headers="$ac_config_headers rrd_config.h" @@ -2662,7 +2752,7 @@ else 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 fi @@ -2676,8 +2766,7 @@ else fi - - # Check whether --enable-pthread was given. +# Check whether --enable-pthread was given. if test "${enable_pthread+set}" = set; then enableval=$enable_pthread; else @@ -2685,6 +2774,29 @@ else fi +# Check whether --enable-static-programs was given. +if test "${enable_static_programs+set}" = set; then + enableval=$enable_static_programs; case "${enableval}" in + yes) staticprogs=yes ;; + no) staticprogs=no ;; + *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-static-programs" >&5 +echo "$as_me: error: bad value ${enableval} for --enable-static-programs" >&2;} + { (exit 1); exit 1; }; } ;; + esac +else + staticprogs=no +fi + + + +if test "x$staticprogs" = "xyes"; then + STATIC_PROGRAMS_TRUE= + STATIC_PROGRAMS_FALSE='#' +else + STATIC_PROGRAMS_TRUE='#' + STATIC_PROGRAMS_FALSE= +fi + @@ -4746,7 +4858,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4749 "configure"' > conftest.$ac_ext + echo '#line 4861 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7243,11 +7355,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7246: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7358: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7250: \$? = $ac_status" >&5 + echo "$as_me:7362: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7511,11 +7623,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7514: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7626: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7518: \$? = $ac_status" >&5 + echo "$as_me:7630: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7615,11 +7727,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7618: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7730: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7622: \$? = $ac_status" >&5 + echo "$as_me:7734: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9912,7 +10024,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:12463: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12355: \$? = $ac_status" >&5 + echo "$as_me:12467: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12452,11 +12564,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12455: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12567: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12459: \$? = $ac_status" >&5 + echo "$as_me:12571: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14013,11 +14125,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14016: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14128: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14020: \$? = $ac_status" >&5 + echo "$as_me:14132: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14117,11 +14229,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14120: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14232: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14124: \$? = $ac_status" >&5 + echo "$as_me:14236: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16304,11 +16416,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16307: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16419: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16311: \$? = $ac_status" >&5 + echo "$as_me:16423: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16572,11 +16684,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16575: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16687: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16579: \$? = $ac_status" >&5 + echo "$as_me:16691: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16676,11 +16788,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16679: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16791: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16683: \$? = $ac_status" >&5 + echo "$as_me:16795: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -19328,9 +19440,11 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool' -if test "$GCC" = "yes"; then - for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -W; do - oCFLAGS=$CFLAGS +CFLAGS="$CFLAGS -D_GNU_SOURCE" + +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 -Wold-style-definition -W; do + oCFLAGS="$CFLAGS" CFLAGS="$CFLAGS $flag" cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[^A-Za-z]/_/g'` { echo "$as_me:$LINENO: checking if gcc likes the $flag flag" >&5 @@ -19384,7 +19498,7 @@ ac_res=`eval echo '${'$cachename'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if eval test \$$cachename = no; then - CFLAGS=$oCFLAGS + CFLAGS="$oCFLAGS" fi done fi @@ -19845,7 +19959,12 @@ fi -for ac_header in 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 float.h strings.h + + + + + +for ac_header in 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 do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -20214,6 +20333,28 @@ _ACEOF fi + +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: result: ${T_MD}Test Library Functions${T_ME}" >&5 +echo "${ECHO_T}${T_MD}Test Library Functions${T_ME}" >&6; } + + { echo "$as_me:$LINENO: checking for acos" >&5 echo $ECHO_N "checking for acos... $ECHO_C" >&6; } if test "${ac_cv_func_acos+set}" = set; then @@ -20372,29 +20513,10 @@ fi fi -eval `./libtool --config | grep pic_flag` -CFLAGS="$CFLAGS $pic_flag" -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { echo "$as_me:$LINENO: result: " >&5 -echo "${ECHO_T}" >&6; } - { echo "$as_me:$LINENO: result: ${T_MD}Test Library Functions${T_ME}" >&5 -echo "${ECHO_T}${T_MD}Test Library Functions${T_ME}" >&6; } +eval `./libtool --config | grep pic_flag` +CFLAGS="$CFLAGS $pic_flag" @@ -21007,8 +21129,7 @@ esac - -for ac_func in 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 madvise +for ac_func in tzset fsync mbstowcs opendir readdir chdir chroot getuid setlocale strerror strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -21102,9 +21223,37 @@ fi done -{ echo "$as_me:$LINENO: checking whether fdatasync is declared" >&5 -echo $ECHO_N "checking whether fdatasync is declared... $ECHO_C" >&6; } -if test "${ac_cv_have_decl_fdatasync+set}" = set; then + +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: result: ${T_MD}Map/Fadvis/Madvise checking${T_ME}" >&5 +echo "${ECHO_T}${T_MD}Map/Fadvis/Madvise checking${T_ME}" >&6; } + + + + + +for ac_func in fdatasync +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -21113,27 +21262,53 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif int main () { -#ifndef fdatasync - (void) fdatasync; -#endif - +return $ac_func (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -21142,42 +21317,101 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fdatasync=yes + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_fdatasync=no + eval "$as_ac_var=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_fdatasync" >&5 -echo "${ECHO_T}$ac_cv_have_decl_fdatasync" >&6; } -if test $ac_cv_have_decl_fdatasync = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FDATASYNC 1 +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FDATASYNC 0 + { echo "$as_me:$LINENO: checking for fdatasync in -lrt" >&5 +echo $ECHO_N "checking for fdatasync in -lrt... $ECHO_C" >&6; } +if test "${ac_cv_lib_rt_fdatasync+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char fdatasync (); +int +main () +{ +return fdatasync (); + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_rt_fdatasync=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_rt_fdatasync=no +fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_rt_fdatasync" >&5 +echo "${ECHO_T}$ac_cv_lib_rt_fdatasync" >&6; } +if test $ac_cv_lib_rt_fdatasync = yes; then + LIBS="${LIBS} -lrt"; cat >>confdefs.h <<\_ACEOF +#define HAVE_FDATASYNC 1 +_ACEOF +fi +fi +done -if test "x$enable_mmap" = "xyes"; then - case "$host" in - *cygwin*) - # the normal mmap test does not work in cygwin -for ac_func in mmap +for ac_func in fsync do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -21270,40 +21504,140 @@ _ACEOF fi done - if test "x$ac_cv_func_mmap" = "xyes"; then - ac_cv_func_mmap_fixed_mapped=yes - fi - ;; - *) -for ac_header in sys/mman.h + +if test "x$enable_mmap" = "xyes"; then + case "$host" in + *cygwin*) + # the normal mmap test does not work in cygwin + +for ac_func in mmap do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + if test "x$ac_cv_func_mmap" = "xyes"; then + ac_cv_func_mmap_fixed_mapped=yes + fi + ;; + *) + +for ac_header in sys/mman.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac @@ -21944,8 +22278,8 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef HAVE_SYS_MMAN_H - # include - #endif + # include + #endif int main () @@ -22374,112 +22708,40 @@ fi done -if test "x$enable_mmap" = xyes; then - case "$host" in - *cygwin*) - # the normal mmap test does not work in cygwin - -for ac_func in mmap -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: result: ${T_MD}Libintl Processing${T_ME}" >&5 +echo "${ECHO_T}${T_MD}Libintl Processing${T_ME}" >&6; } -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +GETTEXT_PACKAGE=rrdtool - eval "$as_ac_var=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +cat >>confdefs.h <<_ACEOF +#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF -fi -done - if "x${ac_cv_func_mmap}" = xyes ; then - ac_cv_func_mmap_fixed_mapped=yes - fi - ;; - *) -for ac_header in stdlib.h unistd.h +for ac_header in locale.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -22618,13 +22880,10 @@ fi done - -for ac_func in getpagesize -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + if test $ac_cv_header_locale_h = yes; then + { echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 +echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6; } +if test "${am_cv_val_LC_MESSAGES+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -22633,41 +22892,11 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +#include int main () { -return $ac_func (); +return LC_MESSAGES ; return 0; } @@ -22690,291 +22919,186 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" + am_cv_val_LC_MESSAGES=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" + am_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +{ echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 +echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6; } + if test $am_cv_val_LC_MESSAGES = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LC_MESSAGES 1 _ACEOF -fi -done + fi + fi + USE_NLS=yes -{ echo "$as_me:$LINENO: checking for working mmap" >&5 -echo $ECHO_N "checking for working mmap... $ECHO_C" >&6; } -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + if test "${ac_cv_header_libintl_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat >conftest.$ac_ext <<_ACEOF + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libintl.h usability" >&5 +echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc - -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include -#include - -#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main () -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - return 1; - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - return 1; - if (write (fd, data, pagesize) != pagesize) - return 1; - close (fd); - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - return 1; - data2 = (char *) malloc (2 * pagesize); - if (!data2) - return 1; - data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 1; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - return 1; - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - return 1; - if (read (fd, data3, pagesize) != pagesize) - return 1; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - return 1; - close (fd); - return 0; -} +#include _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libintl.h presence" >&5 +echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_mmap_fixed_mapped=yes + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + ac_header_preproc=no fi +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 -echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MMAP 1 -_ACEOF +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} + ;; +esac +{ echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libintl_h=$ac_header_preproc fi -rm -f conftest.mmap +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } - ;; - esac fi +if test $ac_cv_header_libintl_h = yes; then + gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + # + # First check in libc + # + { echo "$as_me:$LINENO: checking for ngettext in libc" >&5 +echo $ECHO_N "checking for ngettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_ngettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { echo "$as_me:$LINENO: result: " >&5 -echo "${ECHO_T}" >&6; } - { echo "$as_me:$LINENO: result: ${T_MD}IEEE Math Checks${T_ME}" >&5 -echo "${ECHO_T}${T_MD}IEEE Math Checks${T_ME}" >&6; } - - - -for ac_func in fpclassify -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +#include int main () { -return $ac_func (); +return !ngettext ("","", 1) ; return 0; } @@ -22997,40 +23121,40 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" + gt_cv_func_ngettext_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" + gt_cv_func_ngettext_libc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext + fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ echo "$as_me:$LINENO: result: $gt_cv_func_ngettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_ngettext_libc" >&6; } + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + { echo "$as_me:$LINENO: checking for dgettext in libc" >&5 +echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_dgettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - { echo "$as_me:$LINENO: checking for fpclassify with " >&5 -echo $ECHO_N "checking for fpclassify with ... $ECHO_C" >&6; } - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -volatile int x;volatile float f; + +#include + int main () { -x = fpclassify(f) +return !dgettext ("","") ; return 0; } @@ -23053,27 +23177,25 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define HAVE_FPCLASSIFY 1 -_ACEOF - + gt_cv_func_dgettext_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + gt_cv_func_dgettext_libc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext + fi -done +{ echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6; } + fi + if test "$gt_cv_func_ngettext_libc" = "yes" ; then -for ac_func in finite +for ac_func in bind_textdomain_codeset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -23163,38 +23285,31 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF -else +fi +done -for ac_func in isfinite -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + { echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 +echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -23202,18 +23317,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +char bindtextdomain (); int main () { -return $ac_func (); +return bindtextdomain (); ; return 0; } @@ -23236,40 +23344,46 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" + ac_cv_lib_intl_bindtextdomain=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" + ac_cv_lib_intl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6; } +if test $ac_cv_lib_intl_bindtextdomain = yes; then + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - { echo "$as_me:$LINENO: checking for isfinite with " >&5 -echo $ECHO_N "checking for isfinite with ... $ECHO_C" >&6; } - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -volatile int x;volatile float f; + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); int main () { -x = isfinite(f) +return ngettext (); ; return 0; } @@ -23292,59 +23406,34 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define HAVE_ISFINITE 1 -_ACEOF - + ac_cv_lib_intl_ngettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -done - -fi -done - - -for ac_func in isinf -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 +echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -23352,18 +23441,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +char dgettext (); int main () { -return $ac_func (); +return dgettext (); ; return 0; } @@ -23386,40 +23468,59 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" + ac_cv_lib_intl_dgettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" + ac_cv_lib_intl_dgettext=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6; } +if test $ac_cv_lib_intl_dgettext = yes; then + gt_cv_func_dgettext_libintl=yes +fi + +fi + +fi + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + { echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 +echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - { echo "$as_me:$LINENO: checking for isinf with " >&5 -echo $ECHO_N "checking for isinf with ... $ECHO_C" >&6; } - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -volatile int x;volatile float f; + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); int main () { -x = isinf(f) +return ngettext (); ; return 0; } @@ -23442,172 +23543,112 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define HAVE_ISINF 1 -_ACEOF - + ac_cv_lib_intl_ngettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -done - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -_cflags=${CFLAGS} - -{ echo "$as_me:$LINENO: checking if IEEE math works out of the box" >&5 -echo $ECHO_N "checking if IEEE math works out of the box... $ECHO_C" >&6; } -if test "${rd_cv_ieee_works+set}" = set; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 +echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dcgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif - -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif - -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif - -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } +char dcgettext (); +int +main () +{ +return dcgettext (); + ; + return 0; +} _ACEOF -rm -f conftest$ac_exeext +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_works=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_dcgettext=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + ac_cv_lib_intl_dcgettext=no fi - +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi - -if test x${rd_cv_ieee_works} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6; } +if test $ac_cv_lib_intl_dcgettext = yes; then + gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - CFLAGS="$_cflags -ieee" + : +fi -{ echo "$as_me:$LINENO: checking if IEEE math works with the -ieee switch" >&5 -echo $ECHO_N "checking if IEEE math works with the -ieee switch... $ECHO_C" >&6; } -if test "${rd_cv_ieee_switch+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$cross_compiling" = yes; then : +fi + + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + +for ac_func in bind_textdomain_codeset +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -23615,129 +23656,159 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif - -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#ifdef __STDC__ +# include +#else +# include #endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif +#undef $ac_func -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me #endif -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } +int +main () +{ +return $ac_func (); + ; + return 0; +} _ACEOF -rm -f conftest$ac_exeext +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_switch=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_switch=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + eval "$as_ac_var=no" fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF fi +done -if test x${rd_cv_ieee_switch} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETTEXT 1 +_ACEOF + + # Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 + case "$MSGFMT" in + /*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then + ac_cv_path_MSGFMT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != "no"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } - CFLAGS="$_cflags -qfloat=nofold" +fi + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" -{ echo "$as_me:$LINENO: checking if IEEE math works with the -qfloat=nofold switch" >&5 -echo $ECHO_N "checking if IEEE math works with the -qfloat=nofold switch... $ECHO_C" >&6; } -if test "${rd_cv_ieee_nofold+set}" = set; then +for ac_func in dcgettext +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -23745,259 +23816,237 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif - -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#ifdef __STDC__ +# include +#else +# include #endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif +#undef $ac_func -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me #endif -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } +int +main () +{ +return $ac_func (); + ; + return 0; +} _ACEOF -rm -f conftest$ac_exeext +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_nofold=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_nofold=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + eval "$as_ac_var=no" fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF fi +done -if test x${rd_cv_ieee_nofold} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } + MSGFMT_OPTS= + { echo "$as_me:$LINENO: checking if msgfmt accepts -c" >&5 +echo $ECHO_N "checking if msgfmt accepts -c... $ECHO_C" >&6; } + cat >conftest.foo <<_ACEOF -else - { echo "$as_me:$LINENO: result: no" >&5 +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +_ACEOF +if { (echo "$as_me:$LINENO: msgfmt -c -o /dev/null conftest.foo") >&5 + (msgfmt -c -o /dev/null conftest.foo) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + MSGFMT_OPTS=-c; { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } - CFLAGS="$_cflags -w -qflttrap=enable:zerodivide" +echo "$as_me: failed input was:" >&5 +sed 's/^/| /' conftest.foo >&5 +fi -{ echo "$as_me:$LINENO: checking if IEEE math works with the -w -qflttrap=enable:zerodivide" >&5 -echo $ECHO_N "checking if IEEE math works with the -w -qflttrap=enable:zerodivide... $ECHO_C" >&6; } -if test "${rd_cv_ieee_flttrap+set}" = set; then + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif + # Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$XGETTEXT" in + /*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} _ACEOF -rm -f conftest$ac_exeext +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_flttrap=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + CATOBJEXT=.gmo + DATADIRNAME=share else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_flttrap=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -if test x${rd_cv_ieee_flttrap} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - CFLAGS="$_cflags -mieee" - -{ echo "$as_me:$LINENO: checking if IEEE math works with the -mieee switch" >&5 -echo $ECHO_N "checking if IEEE math works with the -mieee switch... $ECHO_C" >&6; } -if test "${rd_cv_ieee_mswitch+set}" = set; then + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -24005,324 +24054,2814 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif - -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#ifdef __STDC__ +# include +#else +# include #endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif +#undef bind_textdomain_codeset -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me #endif -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} _ACEOF -rm -f conftest$ac_exeext +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_mswitch=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_mswitch=no + ac_cv_func_bind_textdomain_codeset=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + CATOBJEXT=.mo + DATADIRNAME=lib +fi + + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi fi -if test x${rd_cv_ieee_mswitch} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - CFLAGS="$_cflags -q float=rndsngl" -{ echo "$as_me:$LINENO: checking if IEEE math works with the -q float=rndsngl switch" >&5 -echo $ECHO_N "checking if IEEE math works with the -q float=rndsngl switch... $ECHO_C" >&6; } -if test "${rd_cv_ieee_qswitch+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + if test "$gt_cv_have_gettext" = "yes" ; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_NLS 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + fi -#if HAVE_MATH_H -# include -#endif + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + { echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 +echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6; } + XGETTEXT=":" + fi + fi -#if HAVE_FLOAT_H -# include -#endif + # We need to process the po/ directory. + POSUB=po -#if HAVE_IEEEFP_H -# include -#endif + ac_config_commands="$ac_config_commands default-1" -#if HAVE_FP_CLASS_H -# include -#endif -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_qswitch=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_qswitch=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + + + + + + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + { echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 +echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6; } + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + { echo "$as_me:$LINENO: result: $LINGUAS" >&5 +echo "${ECHO_T}$LINGUAS" >&6; } + fi + + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + + + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + + +# Check whether --enable-libintl was given. +if test "${enable_libintl+set}" = set; then + enableval=$enable_libintl; +else + enable_libintl=yes fi +if test x$enable_libintl = xyes; then + +case "$am__api_version" in + 1.01234) + { { echo "$as_me:$LINENO: error: Automake 1.5 or newer is required to use intltool" >&5 +echo "$as_me: error: Automake 1.5 or newer is required to use intltool" >&2;} + { (exit 1); exit 1; }; } + ;; + *) + ;; +esac + +if test -n "0.35.0"; then + { echo "$as_me:$LINENO: checking for intltool >= 0.35.0" >&5 +echo $ECHO_N "checking for intltool >= 0.35.0... $ECHO_C" >&6; } + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.35.0 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { print $ 2; }' ${ac_aux_dir}/intltool-update.in` + INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($ 2, VERSION, "."); print VERSION[1] * 1000 + VERSION[2] * 100 + VERSION[3];}' ${ac_aux_dir}/intltool-update.in` + + { echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5 +echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found" >&6; } + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + { { echo "$as_me:$LINENO: error: Your intltool is too old. You need intltool 0.35.0 or later." >&5 +echo "$as_me: error: Your intltool is too old. You need intltool 0.35.0 or later." >&2;} + { (exit 1); exit 1; }; } fi -if test x${rd_cv_ieee_qswitch} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - CFLAGS="$_cflags -OPT:IEEE_NaN_inf=ON" -{ echo "$as_me:$LINENO: checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch" >&5 -echo $ECHO_N "checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... $ECHO_C" >&6; } -if test "${rd_cv_ieee_ieeenaninfswitch+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if HAVE_MATH_H -# include -#endif -#if HAVE_FLOAT_H -# include -#endif -#if HAVE_IEEEFP_H -# include -#endif -#if HAVE_FP_CLASS_H -# include -#endif -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + + + + + + +# Use the tools built into the package, not the ones that are installed. +INTLTOOL_EXTRACT='$(top_builddir)/intltool-extract' + +INTLTOOL_MERGE='$(top_builddir)/intltool-merge' + +INTLTOOL_UPDATE='$(top_builddir)/intltool-update' + + +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL +if test -n "$INTLTOOL_PERL"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_PERL" >&5 +echo "${ECHO_T}$INTLTOOL_PERL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$INTLTOOL_PERL"; then + { { echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5 +echo "$as_me: error: perl not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then + { { echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 +echo "$as_me: error: perl 5.x required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test "xno-xml" != "xno-xml"; then + { echo "$as_me:$LINENO: checking for XML::Parser" >&5 +echo $ECHO_N "checking for XML::Parser... $ECHO_C" >&6; } + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + { { echo "$as_me:$LINENO: error: XML::Parser perl module is required for intltool" >&5 +echo "$as_me: error: XML::Parser perl module is required for intltool" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# Extract the first word of "iconv", so it can be a program name with args. +set dummy iconv; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_ICONV+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_ICONV in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_ICONV="$INTLTOOL_ICONV" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_ICONV="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_INTLTOOL_ICONV" && ac_cv_path_INTLTOOL_ICONV="iconv" + ;; +esac +fi +INTLTOOL_ICONV=$ac_cv_path_INTLTOOL_ICONV +if test -n "$INTLTOOL_ICONV"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_ICONV" >&5 +echo "${ECHO_T}$INTLTOOL_ICONV" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_MSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_MSGFMT="$INTLTOOL_MSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_MSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_INTLTOOL_MSGFMT" && ac_cv_path_INTLTOOL_MSGFMT="msgfmt" + ;; +esac +fi +INTLTOOL_MSGFMT=$ac_cv_path_INTLTOOL_MSGFMT +if test -n "$INTLTOOL_MSGFMT"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_MSGFMT" >&5 +echo "${ECHO_T}$INTLTOOL_MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_MSGMERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_MSGMERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_MSGMERGE="$INTLTOOL_MSGMERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_INTLTOOL_MSGMERGE" && ac_cv_path_INTLTOOL_MSGMERGE="msgmerge" + ;; +esac +fi +INTLTOOL_MSGMERGE=$ac_cv_path_INTLTOOL_MSGMERGE +if test -n "$INTLTOOL_MSGMERGE"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_MSGMERGE" >&5 +echo "${ECHO_T}$INTLTOOL_MSGMERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_XGETTEXT in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_XGETTEXT="$INTLTOOL_XGETTEXT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_INTLTOOL_XGETTEXT" && ac_cv_path_INTLTOOL_XGETTEXT="xgettext" + ;; +esac +fi +INTLTOOL_XGETTEXT=$ac_cv_path_INTLTOOL_XGETTEXT +if test -n "$INTLTOOL_XGETTEXT"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_XGETTEXT" >&5 +echo "${ECHO_T}$INTLTOOL_XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + +# Substitute ALL_LINGUAS so we can use it in po/Makefile + + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef bind_textdomain_codeset + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me +#endif + +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_bind_textdomain_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + DATADIRNAME=share +else + DATADIRNAME=lib +fi + + ;; + *) + DATADIRNAME=lib + ;; + esac +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + + + + + +ac_config_commands="$ac_config_commands intltool" + + + +fi + +if test x$enable_libintl = xyes -a x$MSGFMT = xno; then + { echo "$as_me:$LINENO: WARNING: I could not find msgfmt. Diabeling libintl build." >&5 +echo "$as_me: WARNING: I could not find msgfmt. Diabeling libintl build." >&2;} + enable_libintl=no +fi + +if test x$enable_libintl = xyes; then + +for ac_header in libintl.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +else + { echo "$as_me:$LINENO: result: disabeling libintl build" >&5 +echo "${ECHO_T}disabeling libintl build" >&6; }; enable_libintl=no +fi + +done + +fi + +if test x$enable_libintl = xyes ; then + { echo "$as_me:$LINENO: checking for libintl_gettext in -lintl" >&5 +echo $ECHO_N "checking for libintl_gettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_libintl_gettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char libintl_gettext (); +int +main () +{ +return libintl_gettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_libintl_gettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_libintl_gettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_libintl_gettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_libintl_gettext" >&6; } +if test $ac_cv_lib_intl_libintl_gettext = yes; then + LIB_LIBINTL="-lintl" +fi + +fi + + + + + +if test x$enable_libintl = xyes; then + BUILD_LIBINTL_TRUE= + BUILD_LIBINTL_FALSE='#' +else + BUILD_LIBINTL_TRUE='#' + BUILD_LIBINTL_FALSE= +fi + + +if test x$enable_libintl = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define BUILD_LIBINTL +_ACEOF + +fi + + +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: result: ${T_MD}IEEE Math Checks${T_ME}" >&5 +echo "${ECHO_T}${T_MD}IEEE Math Checks${T_ME}" >&6; } + + + + +for ac_func in fpclassify +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + { echo "$as_me:$LINENO: checking for fpclassify with " >&5 +echo $ECHO_N "checking for fpclassify with ... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +volatile int x;volatile float f; +int +main () +{ +x = fpclassify(f) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + cat >>confdefs.h <<\_ACEOF +#define HAVE_FPCLASSIFY 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +done + + + +for ac_func in isinf +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + { echo "$as_me:$LINENO: checking for isinf with " >&5 +echo $ECHO_N "checking for isinf with ... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +volatile int x;volatile float f; +int +main () +{ +x = isinf(f) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + cat >>confdefs.h <<\_ACEOF +#define HAVE_ISINF 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +done + + +{ echo "$as_me:$LINENO: checking whether isfinite is broken" >&5 +echo $ECHO_N "checking whether isfinite is broken... $ECHO_C" >&6; } +if test "${have_broken_isfinite+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +if test "$cross_compiling" = yes; then + +case "${target}" in + hppa*-*-hpux*) have_broken_isfinite=yes ;; + *) have_broken_isfinite=no ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#ifdef HAVE_MATH_H +#include +#endif +#ifdef HAVE_FLOAT_H +#include +#endif +int main () +{ +#ifdef isfinite +#ifdef LDBL_MAX + if (!isfinite(LDBL_MAX)) return 1; +#endif +#ifdef DBL_MAX + if (!isfinite(DBL_MAX)) return 1; +#endif +#endif +return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +have_broken_isfinite=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +have_broken_isfinite=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + +fi +{ echo "$as_me:$LINENO: result: $have_broken_isfinite" >&5 +echo "${ECHO_T}$have_broken_isfinite" >&6; } +if test "x$have_broken_isfinite" = "xno"; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_ISFINITE 1 +_ACEOF + +else + +for ac_func in finite +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + +for ac_func in isfinite +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + { echo "$as_me:$LINENO: checking for isfinite with " >&5 +echo $ECHO_N "checking for isfinite with ... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +volatile int x;volatile float f; +int +main () +{ +x = isfinite(f) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + cat >>confdefs.h <<\_ACEOF +#define HAVE_ISFINITE 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +done + +fi +done + +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +_cflags=${CFLAGS} + +{ echo "$as_me:$LINENO: checking if IEEE math works out of the box" >&5 +echo $ECHO_N "checking if IEEE math works out of the box... $ECHO_C" >&6; } +if test "${rd_cv_ieee_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_works=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_works} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS="$_cflags -ieee" + +{ echo "$as_me:$LINENO: checking if IEEE math works with the -ieee switch" >&5 +echo $ECHO_N "checking if IEEE math works with the -ieee switch... $ECHO_C" >&6; } +if test "${rd_cv_ieee_switch+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_switch=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_switch=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_switch} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS="$_cflags -qfloat=nofold" + +{ echo "$as_me:$LINENO: checking if IEEE math works with the -qfloat=nofold switch" >&5 +echo $ECHO_N "checking if IEEE math works with the -qfloat=nofold switch... $ECHO_C" >&6; } +if test "${rd_cv_ieee_nofold+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_nofold=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_nofold=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_nofold} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS="$_cflags -w -qflttrap=enable:zerodivide" + +{ echo "$as_me:$LINENO: checking if IEEE math works with the -w -qflttrap=enable:zerodivide" >&5 +echo $ECHO_N "checking if IEEE math works with the -w -qflttrap=enable:zerodivide... $ECHO_C" >&6; } +if test "${rd_cv_ieee_flttrap+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_flttrap=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_flttrap=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_flttrap} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS="$_cflags -mieee" + +{ echo "$as_me:$LINENO: checking if IEEE math works with the -mieee switch" >&5 +echo $ECHO_N "checking if IEEE math works with the -mieee switch... $ECHO_C" >&6; } +if test "${rd_cv_ieee_mswitch+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_mswitch=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_mswitch=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_mswitch} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS="$_cflags -q float=rndsngl" + +{ echo "$as_me:$LINENO: checking if IEEE math works with the -q float=rndsngl switch" >&5 +echo $ECHO_N "checking if IEEE math works with the -q float=rndsngl switch... $ECHO_C" >&6; } +if test "${rd_cv_ieee_qswitch+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_qswitch=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_qswitch=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_qswitch} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS="$_cflags -OPT:IEEE_NaN_inf=ON" + +{ echo "$as_me:$LINENO: checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch" >&5 +echo $ECHO_N "checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... $ECHO_C" >&6; } +if test "${rd_cv_ieee_ieeenaninfswitch+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_ieeenaninfswitch=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_ieeenaninfswitch=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_ieeenaninfswitch} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS="$_cflags -OPT:IEEE_comparisons=ON" + +{ echo "$as_me:$LINENO: checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch" >&5 +echo $ECHO_N "checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... $ECHO_C" >&6; } +if test "${rd_cv_ieee_ieeecmpswitch+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_ieeecmpswitch=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_ieeecmpswitch=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_ieeecmpswitch} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + CFLAGS=$_cflags + +{ echo "$as_me:$LINENO: checking if IEEE math works with fpsetmask(0)" >&5 +echo $ECHO_N "checking if IEEE math works with fpsetmask(0)... $ECHO_C" >&6; } +if test "${rd_cv_ieee_mask+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + fpsetmask(0); + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_mask=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_mask=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_mask} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + cat >>confdefs.h <<\_ACEOF +#define MUST_DISABLE_FPMASK 1 +_ACEOF + + PERLFLAGS="CCFLAGS=-DMUST_DISABLE_FPMASK" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + +{ echo "$as_me:$LINENO: checking if IEEE math works with signal(SIGFPE,SIG_IGN)" >&5 +echo $ECHO_N "checking if IEEE math works with signal(SIGFPE,SIG_IGN)... $ECHO_C" >&6; } +if test "${rd_cv_ieee_sigfpe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif + +#if HAVE_IEEEFP_H +# include +#endif + +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif + +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif + +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + signal(SIGFPE,SIG_IGN); + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ rrdnan=0.0/rrdzero; /* especially here */ rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ /* at run time without sig fpe */ @@ -24337,487 +26876,902 @@ int main(void){ return 0; } _ACEOF -rm -f conftest$ac_exeext +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_ieee_sigfpe=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_ieee_sigfpe=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +if test x${rd_cv_ieee_sigfpe} = "xyes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + cat >>confdefs.h <<\_ACEOF +#define MUST_DISABLE_SIGFPE 1 +_ACEOF + + PERLFLAGS="CCFLAGS=-DMUST_DISABLE_SIGFPE" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + { { echo "$as_me:$LINENO: error: +Your Compiler does not do propper IEEE math ... Please find out how to +make IEEE math work with your compiler and let me know (tobi@oetiker.ch). +Check config.log to see what went wrong ... +" >&5 +echo "$as_me: error: +Your Compiler does not do propper IEEE math ... Please find out how to +make IEEE math work with your compiler and let me know (tobi@oetiker.ch). +Check config.log to see what went wrong ... +" >&2;} + { (exit 1); exit 1; }; } +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: result: ${T_MD}Resolve Portability Issues${T_ME}" >&5 +echo "${ECHO_T}${T_MD}Resolve Portability Issues${T_ME}" >&6; } + + + +{ echo "$as_me:$LINENO: checking if realloc can deal with NULL" >&5 +echo $ECHO_N "checking if realloc can deal with NULL... $ECHO_C" >&6; } +if test "${rd_cv_null_realloc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + int main(void){ + char *x = NULL; + x = realloc (x,10); + if (x==NULL) return 1; + return 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + rd_cv_null_realloc=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +rd_cv_null_realloc=nope +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $rd_cv_null_realloc" >&5 +echo "${ECHO_T}$rd_cv_null_realloc" >&6; } + +if test x"$rd_cv_null_realloc" = xnope; then +cat >>confdefs.h <<\_ACEOF +#define NO_NULL_REALLOC 1 +_ACEOF + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking if ctime_r need special care to act posixly correct" >&5 +echo $ECHO_N "checking if ctime_r need special care to act posixly correct... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +ctime_r(NULL,NULL,0) + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +ctime_r(NULL,NULL) + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_ieeenaninfswitch=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes, this seems to be solaris style" >&5 +echo "${ECHO_T}yes, this seems to be solaris style" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_ieeenaninfswitch=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - + { { echo "$as_me:$LINENO: error: Can't figure how to compile ctime_r" >&5 +echo "$as_me: error: Can't figure how to compile ctime_r" >&2;} + { (exit 1); exit 1; }; } fi -if test x${rd_cv_ieee_ieeenaninfswitch} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - CFLAGS="$_cflags -OPT:IEEE_comparisons=ON" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -{ echo "$as_me:$LINENO: checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch" >&5 -echo $ECHO_N "checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... $ECHO_C" >&6; } -if test "${rd_cv_ieee_ieeecmpswitch+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include +int +main () +{ +ctime_r(NULL,NULL) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -#if HAVE_MATH_H -# include -#endif + { { echo "$as_me:$LINENO: error: Can't figure how to compile ctime_r" >&5 +echo "$as_me: error: Can't figure how to compile ctime_r" >&2;} + { (exit 1); exit 1; }; } -#if HAVE_FLOAT_H -# include -#endif +fi -#if HAVE_IEEEFP_H -# include -#endif +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext -#if HAVE_FP_CLASS_H -# include -#endif -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif +fi -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } + +if test $enable_pthread != no; then + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -rm -f conftest$ac_exeext +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_ieeecmpswitch=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_ieeecmpswitch=no + fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" fi +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). -fi +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. -if test x${rd_cv_ieee_ieeecmpswitch} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - CFLAGS=$_cflags +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: -{ echo "$as_me:$LINENO: checking if IEEE math works with fpsetmask(0)" >&5 -echo $ECHO_N "checking if IEEE math works with fpsetmask(0)... $ECHO_C" >&6; } -if test "${rd_cv_ieee_mask+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) -#if HAVE_MATH_H -# include -#endif +case "${host_cpu}-${host_os}" in + *solaris*) -#if HAVE_FLOAT_H -# include -#endif + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: -#if HAVE_IEEEFP_H -# include -#endif + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac -#if HAVE_FP_CLASS_H -# include -#endif +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_acx_pthread_config+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$acx_pthread_config"; then + ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_acx_pthread_config="yes" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif + test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" +fi +fi +acx_pthread_config=$ac_cv_prog_acx_pthread_config +if test -n "$acx_pthread_config"; then + { echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 +echo "${ECHO_T}$acx_pthread_config" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - fpsetmask(0); - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -rm -f conftest$ac_exeext +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_mask=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_mask=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext -fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" -if test x${rd_cv_ieee_mask} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define MUST_DISABLE_FPMASK 1 -_ACEOF + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi - PERLFLAGS="CCFLAGS=-DMUST_DISABLE_FPMASK" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi -{ echo "$as_me:$LINENO: checking if IEEE math works with signal(SIGFPE,SIG_IGN)" >&5 -echo $ECHO_N "checking if IEEE math works with signal(SIGFPE,SIG_IGN)... $ECHO_C" >&6; } -if test "${rd_cv_ieee_sigfpe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + attr_name=unknown + for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif - -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif - -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif - -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - signal(SIGFPE,SIG_IGN); - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } +#include +int +main () +{ +int attr=$attr; + ; + return 0; +} _ACEOF -rm -f conftest$ac_exeext +rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_sigfpe=yes + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + attr_name=$attr; break else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_ieee_sigfpe=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi -if test x${rd_cv_ieee_sigfpe} = "xyes"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define MUST_DISABLE_SIGFPE 1 +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + done + { echo "$as_me:$LINENO: result: $attr_name" >&5 +echo "${ECHO_T}$attr_name" >&6; } + if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<_ACEOF +#define PTHREAD_CREATE_JOINABLE $attr_name _ACEOF - PERLFLAGS="CCFLAGS=-DMUST_DISABLE_SIGFPE" + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + x_rflag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) x_rflag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) x_rflag="-D_REENTRANT";; + *-linux*) + if test x"$PTHREAD_CFLAGS" = "x-pthread"; then + # For Linux/gcc "-pthread" implies "-lpthread". We need, however, to make this explicit + # in PTHREAD_LIBS such that a shared library to be built properly depends on libpthread. + PTHREAD_LIBS="-lpthread $PTHREAD_LIBS" + fi;; + esac + { echo "$as_me:$LINENO: result: ${x_rflag}" >&5 +echo "${ECHO_T}${x_rflag}" >&6; } + if test "x$x_rflag" != xno; then + PTHREAD_CFLAGS="$x_rflag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: -Your Compiler does not do propper IEEE math ... Please find out how to -make IEEE math work with your compiler and let me know (tobi@oetiker.ch). -Check config.log to see what went wrong ... -" >&5 -echo "$as_me: error: -Your Compiler does not do propper IEEE math ... Please find out how to -make IEEE math work with your compiler and let me know (tobi@oetiker.ch). -Check config.log to see what went wrong ... -" >&2;} - { (exit 1); exit 1; }; } fi -fi +else + PTHREAD_CC="$CC" +fi + + -fi +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then -fi + MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS + MULTITHREAD_LDFLAGS=$PTHREAD_LIBS + : +else + acx_pthread_ok=no fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu fi +if test "x$x_rflag" != "xno"; then + CPPFLAGS="$CPPFLAGS $x_rflag" fi + +if test $enable_pthread != no; then + BUILD_MULTITHREAD_TRUE= + BUILD_MULTITHREAD_FALSE='#' +else + BUILD_MULTITHREAD_TRUE='#' + BUILD_MULTITHREAD_FALSE= fi -fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking do we need malloc/malloc.h" >&5 +echo $ECHO_N "checking do we need malloc/malloc.h... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +malloc(1) + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: nope, works out of the box" >&5 +echo "${ECHO_T}nope, works out of the box" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #include +int +main () +{ +malloc(1) + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + cat >>confdefs.h <<\_ACEOF +#define NEED_MALLOC_MALLOC_H 1 +_ACEOF + { echo "$as_me:$LINENO: result: yes we do" >&5 +echo "${ECHO_T}yes we do" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { echo "$as_me:$LINENO: error: Can not figure how to compile malloc" >&5 +echo "$as_me: error: Can not figure how to compile malloc" >&2;} + { (exit 1); exit 1; }; } fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -24826,8 +27780,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - - case $TERM in # for the most important terminal types we directly know the sequences xterm|xterm*|vt220|vt220*) @@ -24845,97 +27797,310 @@ case $TERM in esac { echo "$as_me:$LINENO: result: " >&5 echo "${ECHO_T}" >&6; } - { echo "$as_me:$LINENO: result: ${T_MD}Resolve Portability Issues${T_ME}" >&5 -echo "${ECHO_T}${T_MD}Resolve Portability Issues${T_ME}" >&6; } + { echo "$as_me:$LINENO: result: ${T_MD}Find 3rd-Party Libraries${T_ME}" >&5 +echo "${ECHO_T}${T_MD}Find 3rd-Party Libraries${T_ME}" >&6; } -{ echo "$as_me:$LINENO: checking if realloc can deal with NULL" >&5 -echo $ECHO_N "checking if realloc can deal with NULL... $ECHO_C" >&6; } -if test "${rd_cv_null_realloc+set}" = set; then + + +if test $enable_rrdcgi != no; then + BUILD_RRDCGI_TRUE= + BUILD_RRDCGI_FALSE='#' +else + BUILD_RRDCGI_TRUE='#' + BUILD_RRDCGI_FALSE= +fi + + + +CORE_LIBS="$LIBS" + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + EX_CHECK_STATE=NO + ex_check_save_LIBS=${LIBS} + ex_check_save_CPPFLAGS=${CPPFLAGS} + ex_check_save_LDFLAGS=${LDFLAGS} + if test "x""" != "x"; then + CPPFLAGS="$CPPFLAGS -I""" + fi + { echo "$as_me:$LINENO: checking for cairo_font_options_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_font_options_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_font_options_create+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$cross_compiling" = yes; then - : + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcairo $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char cairo_font_options_create (); +int +main () +{ +return cairo_font_options_create (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_cairo_cairo_font_options_create=yes else - cat >conftest.$ac_ext <<_ACEOF + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_cairo_cairo_font_options_create=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_font_options_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_font_options_create" >&6; } +if test $ac_cv_lib_cairo_cairo_font_options_create = yes; then + + if test "${ac_cv_header_cairo_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo.h" >&5 +echo $ECHO_N "checking for cairo.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking cairo.h usability" >&5 +echo $ECHO_N "checking cairo.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking cairo.h presence" >&5 +echo $ECHO_N "checking cairo.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - int main(void){ - char *x = NULL; - x = realloc (x,10); - if (x==NULL) return 1; - return 0; - } +#include _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_null_realloc=yes + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -rd_cv_null_realloc=nope + ac_header_preproc=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: cairo.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for cairo.h" >&5 +echo $ECHO_N "checking for cairo.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_cairo_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_h" >&6; } + +fi +if test $ac_cv_header_cairo_h = yes; then + LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES fi fi -{ echo "$as_me:$LINENO: result: $rd_cv_null_realloc" >&5 -echo "${ECHO_T}$rd_cv_null_realloc" >&6; } -if test x"$rd_cv_null_realloc" = xnope; then -cat >>confdefs.h <<\_ACEOF -#define NO_NULL_REALLOC 1 -_ACEOF + if test $EX_CHECK_STATE = NO; then + for ac_prog in pkg-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PKGCONFIG"; then + ac_cv_prog_PKGCONFIG="$PKGCONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PKGCONFIG="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +PKGCONFIG=$ac_cv_prog_PKGCONFIG +if test -n "$PKGCONFIG"; then + { echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 +echo "${ECHO_T}$PKGCONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ echo "$as_me:$LINENO: checking if ctime_r need special care to act posixly correct" >&5 -echo $ECHO_N "checking if ctime_r need special care to act posixly correct... $ECHO_C" >&6; } + test -n "$PKGCONFIG" && break +done +test -n "$PKGCONFIG" || PKGCONFIG="no" + + if test "$PKGCONFIG" != "no"; then + if $PKGCONFIG --exists cairo-png; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-png` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-png` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-png` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-png` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_font_options_create + { echo "$as_me:$LINENO: checking for cairo_font_options_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_font_options_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_font_options_create+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcairo $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char cairo_font_options_create (); int main () { -ctime_r(NULL,NULL,0) - +return cairo_font_options_create (); ; return 0; } @@ -24958,31 +28123,52 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" - cat >conftest.$ac_ext <<_ACEOF + ac_cv_lib_cairo_cairo_font_options_create=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_cairo_cairo_font_options_create=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_font_options_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_font_options_create" >&6; } +if test $ac_cv_lib_cairo_cairo_font_options_create = yes; then + + unset ac_cv_header_`echo cairo.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + if test "${ac_cv_header_cairo_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo.h" >&5 +echo $ECHO_N "checking for cairo.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking cairo.h usability" >&5 +echo $ECHO_N "checking cairo.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -int -main () -{ -ctime_r(NULL,NULL) - - ; - return 0; -} +$ac_includes_default +#include _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -24991,118 +28177,199 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: yes, this seems to be solaris style" >&5 -echo "${ECHO_T}yes, this seems to be solaris style" >&6; } + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { { echo "$as_me:$LINENO: error: Can't figure how to compile ctime_r" >&5 -echo "$as_me: error: Can't figure how to compile ctime_r" >&2;} - { (exit 1); exit 1; }; } - + ac_header_compiler=no fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } - cat >conftest.$ac_ext <<_ACEOF +# Is the header present? +{ echo "$as_me:$LINENO: checking cairo.h presence" >&5 +echo $ECHO_N "checking cairo.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -int -main () -{ -ctime_r(NULL,NULL) - - ; - return 0; -} +#include _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + }; then + ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { { echo "$as_me:$LINENO: error: Can't figure how to compile ctime_r" >&5 -echo "$as_me: error: Can't figure how to compile ctime_r" >&2;} - { (exit 1); exit 1; }; } + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: cairo.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo.h: in the future, the compiler will take precedence" >&2;} + ;; +esac +{ echo "$as_me:$LINENO: checking for cairo.h" >&5 +echo $ECHO_N "checking for cairo.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_cairo_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_h" >&6; } + +fi +if test $ac_cv_header_cairo_h = yes; then + EX_CHECK_STATE=YES fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi +fi + + else + { echo "$as_me:$LINENO: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no cairo-png.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&5 +echo "$as_me: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no cairo-png.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&2;} + fi + fi + fi + + if test ${EX_CHECK_STATE} = NO; then + { echo "$as_me:$LINENO: WARNING: +---------------------------------------------------------------------------- +* I could not find a working copy of cairo-png. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-png, you can get it either from its original home on + + http://cairographics.org/releases/ + + You can find also find an archive copy on + + http://oss.oetiker.ch/rrdtool/pub/libs -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + The last tested version of cairo-png is 1.4.6. + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS +---------------------------------------------------------------------------- + " >&5 +echo "$as_me: WARNING: +---------------------------------------------------------------------------- +* I could not find a working copy of cairo-png. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-png, you can get it either from its original home on + http://cairographics.org/releases/ + You can find also find an archive copy on + http://oss.oetiker.ch/rrdtool/pub/libs -if test $enable_pthread != no; then + The last tested version of cairo-png is 1.4.6. + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS -ac_ext=c +---------------------------------------------------------------------------- + " >&2;} + EX_CHECK_ALL_ERR=YES + LIBS="${ex_check_save_LIBS}" + CPPFLAGS="${ex_check_save_CPPFLAGS}" + LDFLAGS="${ex_check_save_LDFLAGS}" + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -acx_pthread_ok=no -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 -echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } - cat >conftest.$ac_ext <<_ACEOF + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + EX_CHECK_STATE=NO + ex_check_save_LIBS=${LIBS} + ex_check_save_CPPFLAGS=${CPPFLAGS} + ex_check_save_LDFLAGS=${LDFLAGS} + if test "x""" != "x"; then + CPPFLAGS="$CPPFLAGS -I""" + fi + { echo "$as_me:$LINENO: checking for cairo_svg_surface_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_svg_surface_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_svg_surface_create+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcairo $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -25115,11 +28382,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char pthread_join (); +char cairo_svg_surface_create (); int main () { -return pthread_join (); +return cairo_svg_surface_create (); ; return 0; } @@ -25142,177 +28409,51 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - acx_pthread_ok=yes + ac_cv_lib_cairo_cairo_svg_surface_create=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_cv_lib_cairo_cairo_svg_surface_create=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext - { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 -echo "${ECHO_T}$acx_pthread_ok" >&6; } - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" +LIBS=$ac_check_lib_save_LIBS fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_svg_surface_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_svg_surface_create" >&6; } +if test $ac_cv_lib_cairo_cairo_svg_surface_create = yes; then -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case "${host_cpu}-${host_os}" in - *solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthread or - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" - ;; -esac - -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do - - case $flag in - none) - { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 -echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } - ;; - - -*) - { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 -echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } - PTHREAD_CFLAGS="$flag" - ;; - - pthread-config) - # Extract the first word of "pthread-config", so it can be a program name with args. -set dummy pthread-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_acx_pthread_config+set}" = set; then + if test "${ac_cv_header_cairo_svg_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 +echo $ECHO_N "checking for cairo-svg.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_svg_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$acx_pthread_config"; then - ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_acx_pthread_config="yes" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" fi -fi -acx_pthread_config=$ac_cv_prog_acx_pthread_config -if test -n "$acx_pthread_config"; then - { echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 -echo "${ECHO_T}$acx_pthread_config" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_svg_h" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test x"$acx_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 -echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - cat >conftest.$ac_ext <<_ACEOF + # Is the header compilable? +{ echo "$as_me:$LINENO: checking cairo-svg.h usability" >&5 +echo $ECHO_N "checking cairo-svg.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -int -main () -{ -pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0); - ; - return 0; -} +$ac_includes_default +#include _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -25321,131 +28462,113 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - acx_pthread_ok=yes + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 -echo "${ECHO_T}$acx_pthread_ok" >&6; } - if test "x$acx_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done + ac_header_compiler=no fi -# Various other checks: -if test "x$acx_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 -echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - cat >conftest.$ac_ext <<_ACEOF +# Is the header present? +{ echo "$as_me:$LINENO: checking cairo-svg.h presence" >&5 +echo $ECHO_N "checking cairo-svg.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -int -main () -{ -int attr=$attr; - ; - return 0; -} +#include _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - attr_name=$attr; break + }; then + ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_header_preproc=no fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - done - { echo "$as_me:$LINENO: result: $attr_name" >&5 -echo "${ECHO_T}$attr_name" >&6; } - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } -cat >>confdefs.h <<_ACEOF -#define PTHREAD_CREATE_JOINABLE $attr_name -_ACEOF +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo-svg.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo-svg.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo-svg.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&2;} - fi + ;; +esac +{ echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 +echo $ECHO_N "checking for cairo-svg.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_svg_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_cairo_svg_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_svg_h" >&6; } - { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 -echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } - x_rflag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd* | *-darwin*) x_rflag="-D_THREAD_SAFE";; - *solaris* | *-osf* | *-hpux*) x_rflag="-D_REENTRANT";; - *-linux*) - if test x"$PTHREAD_CFLAGS" = "x-pthread"; then - # For Linux/gcc "-pthread" implies "-lpthread". We need, however, to make this explicit - # in PTHREAD_LIBS such that a shared library to be built properly depends on libpthread. - PTHREAD_LIBS="-lpthread $PTHREAD_LIBS" - fi;; - esac - { echo "$as_me:$LINENO: result: ${x_rflag}" >&5 -echo "${ECHO_T}${x_rflag}" >&6; } - if test "x$x_rflag" != xno; then - PTHREAD_CFLAGS="$x_rflag $PTHREAD_CFLAGS" - fi +fi +if test $ac_cv_header_cairo_svg_h = yes; then + LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES +fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - # More AIX lossage: must compile with cc_r - # Extract the first word of "cc_r", so it can be a program name with args. -set dummy cc_r; ac_word=$2 +fi + + if test $EX_CHECK_STATE = NO; then + for ac_prog in pkg-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$PTHREAD_CC"; then - ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. + if test -n "$PKGCONFIG"; then + ac_cv_prog_PKGCONFIG="$PKGCONFIG" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -25454,7 +28577,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_PTHREAD_CC="cc_r" + ac_cv_prog_PKGCONFIG="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -25462,83 +28585,54 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" fi fi -PTHREAD_CC=$ac_cv_prog_PTHREAD_CC -if test -n "$PTHREAD_CC"; then - { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 -echo "${ECHO_T}$PTHREAD_CC" >&6; } +PKGCONFIG=$ac_cv_prog_PKGCONFIG +if test -n "$PKGCONFIG"; then + { echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 +echo "${ECHO_T}$PKGCONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi -else - PTHREAD_CC="$CC" -fi - - - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then - - MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS - MULTITHREAD_LDFLAGS=$PTHREAD_LIBS - - : -else - acx_pthread_ok=no - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -fi - - -if test "x$x_rflag" != "xno"; then - CPPFLAGS="$CPPFLAGS $x_rflag" -fi - - + test -n "$PKGCONFIG" && break +done +test -n "$PKGCONFIG" || PKGCONFIG="no" -if test $enable_pthread != no; then - BUILD_MULTITHREAD_TRUE= - BUILD_MULTITHREAD_FALSE='#' + if test "$PKGCONFIG" != "no"; then + if $PKGCONFIG --exists cairo-svg; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-svg` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-svg` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-svg` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-svg` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_svg_surface_create + { echo "$as_me:$LINENO: checking for cairo_svg_surface_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_svg_surface_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_svg_surface_create+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - BUILD_MULTITHREAD_TRUE='#' - BUILD_MULTITHREAD_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -{ echo "$as_me:$LINENO: checking do we need malloc/malloc.h" >&5 -echo $ECHO_N "checking do we need malloc/malloc.h... $ECHO_C" >&6; } + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcairo $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char cairo_svg_surface_create (); int main () { -malloc(1) - +return cairo_svg_surface_create (); ; return 0; } @@ -25561,37 +28655,52 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: nope, works out of the box" >&5 -echo "${ECHO_T}nope, works out of the box" >&6; } + ac_cv_lib_cairo_cairo_svg_surface_create=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF + ac_cv_lib_cairo_cairo_svg_surface_create=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_svg_surface_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_svg_surface_create" >&6; } +if test $ac_cv_lib_cairo_cairo_svg_surface_create = yes; then + + unset ac_cv_header_`echo cairo-svg.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + if test "${ac_cv_header_cairo_svg_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 +echo $ECHO_N "checking for cairo-svg.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_svg_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_svg_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking cairo-svg.h usability" >&5 +echo $ECHO_N "checking cairo-svg.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - #include -int -main () -{ -malloc(1) - - ; - return 0; -} +$ac_includes_default +#include _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -25600,74 +28709,176 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - cat >>confdefs.h <<\_ACEOF -#define NEED_MALLOC_MALLOC_H 1 + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking cairo-svg.h presence" >&5 +echo $ECHO_N "checking cairo-svg.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include _ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } - { echo "$as_me:$LINENO: result: yes we do" >&5 -echo "${ECHO_T}yes we do" >&6; } -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo-svg.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo-svg.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo-svg.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&2;} - { { echo "$as_me:$LINENO: error: Can not figure how to compile malloc" >&5 -echo "$as_me: error: Can not figure how to compile malloc" >&2;} - { (exit 1); exit 1; }; } + ;; +esac +{ echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 +echo $ECHO_N "checking for cairo-svg.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_svg_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_cairo_svg_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_svg_h" >&6; } fi +if test $ac_cv_header_cairo_svg_h = yes; then + EX_CHECK_STATE=YES +fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + else + { echo "$as_me:$LINENO: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no cairo-svg.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&5 +echo "$as_me: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no cairo-svg.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&2;} + fi + fi + fi + if test ${EX_CHECK_STATE} = NO; then + { echo "$as_me:$LINENO: WARNING: +---------------------------------------------------------------------------- +* I could not find a working copy of cairo-svg. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-svg, you can get it either from its original home on + http://cairographics.org/releases/ -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { echo "$as_me:$LINENO: result: " >&5 -echo "${ECHO_T}" >&6; } - { echo "$as_me:$LINENO: result: ${T_MD}Find 3rd-Party Libraries${T_ME}" >&5 -echo "${ECHO_T}${T_MD}Find 3rd-Party Libraries${T_ME}" >&6; } + You can find also find an archive copy on + + http://oss.oetiker.ch/rrdtool/pub/libs + + The last tested version of cairo-svg is 1.4.6. + + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS +---------------------------------------------------------------------------- + " >&5 +echo "$as_me: WARNING: +---------------------------------------------------------------------------- +* I could not find a working copy of cairo-svg. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-svg, you can get it either from its original home on + http://cairographics.org/releases/ + You can find also find an archive copy on + http://oss.oetiker.ch/rrdtool/pub/libs -if test $enable_rrdcgi != no; then - BUILD_RRDCGI_TRUE= - BUILD_RRDCGI_FALSE='#' -else - BUILD_RRDCGI_TRUE='#' - BUILD_RRDCGI_FALSE= -fi + The last tested version of cairo-svg is 1.4.6. + + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS + +---------------------------------------------------------------------------- + " >&2;} + EX_CHECK_ALL_ERR=YES + LIBS="${ex_check_save_LIBS}" + CPPFLAGS="${ex_check_save_CPPFLAGS}" + LDFLAGS="${ex_check_save_LDFLAGS}" + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -CORE_LIBS="$LIBS" ac_ext=c @@ -25680,16 +28891,16 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ex_check_save_LIBS=${LIBS} ex_check_save_CPPFLAGS=${CPPFLAGS} ex_check_save_LDFLAGS=${LDFLAGS} - if test "x/usr/include/libart-2.0" != "x"; then - CPPFLAGS="$CPPFLAGS -I/usr/include/libart-2.0" + if test "x""" != "x"; then + CPPFLAGS="$CPPFLAGS -I""" fi - { echo "$as_me:$LINENO: checking for art_vpath_add_point in -lart_lgpl_2" >&5 -echo $ECHO_N "checking for art_vpath_add_point in -lart_lgpl_2... $ECHO_C" >&6; } -if test "${ac_cv_lib_art_lgpl_2_art_vpath_add_point+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo_pdf_surface_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_pdf_surface_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_pdf_surface_create+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lart_lgpl_2 $LIBS" +LIBS="-lcairo $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -25703,11 +28914,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char art_vpath_add_point (); +char cairo_pdf_surface_create (); int main () { -return art_vpath_add_point (); +return cairo_pdf_surface_create (); ; return 0; } @@ -25730,34 +28941,34 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_art_lgpl_2_art_vpath_add_point=yes + ac_cv_lib_cairo_cairo_pdf_surface_create=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_art_lgpl_2_art_vpath_add_point=no + ac_cv_lib_cairo_cairo_pdf_surface_create=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_art_lgpl_2_art_vpath_add_point" >&5 -echo "${ECHO_T}$ac_cv_lib_art_lgpl_2_art_vpath_add_point" >&6; } -if test $ac_cv_lib_art_lgpl_2_art_vpath_add_point = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_pdf_surface_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_pdf_surface_create" >&6; } +if test $ac_cv_lib_cairo_cairo_pdf_surface_create = yes; then - if test "${ac_cv_header_libart_lgpl_libart_h+set}" = set; then - { echo "$as_me:$LINENO: checking for libart_lgpl/libart.h" >&5 -echo $ECHO_N "checking for libart_lgpl/libart.h... $ECHO_C" >&6; } -if test "${ac_cv_header_libart_lgpl_libart_h+set}" = set; then + if test "${ac_cv_header_cairo_pdf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 +echo $ECHO_N "checking for cairo-pdf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_pdf_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_libart_lgpl_libart_h" >&5 -echo "${ECHO_T}$ac_cv_header_libart_lgpl_libart_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_pdf_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking libart_lgpl/libart.h usability" >&5 -echo $ECHO_N "checking libart_lgpl/libart.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-pdf.h usability" >&5 +echo $ECHO_N "checking cairo-pdf.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -25765,7 +28976,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -25797,15 +29008,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking libart_lgpl/libart.h presence" >&5 -echo $ECHO_N "checking libart_lgpl/libart.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-pdf.h presence" >&5 +echo $ECHO_N "checking cairo-pdf.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -25838,41 +29049,41 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo-pdf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo-pdf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for libart_lgpl/libart.h" >&5 -echo $ECHO_N "checking for libart_lgpl/libart.h... $ECHO_C" >&6; } -if test "${ac_cv_header_libart_lgpl_libart_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 +echo $ECHO_N "checking for cairo-pdf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_pdf_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_libart_lgpl_libart_h=$ac_header_preproc + ac_cv_header_cairo_pdf_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_libart_lgpl_libart_h" >&5 -echo "${ECHO_T}$ac_cv_header_libart_lgpl_libart_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_pdf_h" >&6; } fi -if test $ac_cv_header_libart_lgpl_libart_h = yes; then - LIBS="-lart_lgpl_2 ${LIBS}";EX_CHECK_STATE=YES +if test $ac_cv_header_cairo_pdf_h = yes; then + LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES fi @@ -25923,19 +29134,19 @@ done test -n "$PKGCONFIG" || PKGCONFIG="no" if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists libart-2.0; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags libart-2.0` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L libart-2.0` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other libart-2.0` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l libart-2.0` - unset ac_cv_lib_art_lgpl_2_art_vpath_add_point - { echo "$as_me:$LINENO: checking for art_vpath_add_point in -lart_lgpl_2" >&5 -echo $ECHO_N "checking for art_vpath_add_point in -lart_lgpl_2... $ECHO_C" >&6; } -if test "${ac_cv_lib_art_lgpl_2_art_vpath_add_point+set}" = set; then + if $PKGCONFIG --exists cairo-pdf; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-pdf` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-pdf` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-pdf` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-pdf` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_pdf_surface_create + { echo "$as_me:$LINENO: checking for cairo_pdf_surface_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_pdf_surface_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_pdf_surface_create+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lart_lgpl_2 $LIBS" +LIBS="-lcairo $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -25949,11 +29160,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char art_vpath_add_point (); +char cairo_pdf_surface_create (); int main () { -return art_vpath_add_point (); +return cairo_pdf_surface_create (); ; return 0; } @@ -25976,35 +29187,35 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_art_lgpl_2_art_vpath_add_point=yes + ac_cv_lib_cairo_cairo_pdf_surface_create=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_art_lgpl_2_art_vpath_add_point=no + ac_cv_lib_cairo_cairo_pdf_surface_create=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_art_lgpl_2_art_vpath_add_point" >&5 -echo "${ECHO_T}$ac_cv_lib_art_lgpl_2_art_vpath_add_point" >&6; } -if test $ac_cv_lib_art_lgpl_2_art_vpath_add_point = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_pdf_surface_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_pdf_surface_create" >&6; } +if test $ac_cv_lib_cairo_cairo_pdf_surface_create = yes; then - unset ac_cv_header_`echo libart_lgpl/libart.h | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_libart_lgpl_libart_h+set}" = set; then - { echo "$as_me:$LINENO: checking for libart_lgpl/libart.h" >&5 -echo $ECHO_N "checking for libart_lgpl/libart.h... $ECHO_C" >&6; } -if test "${ac_cv_header_libart_lgpl_libart_h+set}" = set; then + unset ac_cv_header_`echo cairo-pdf.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + if test "${ac_cv_header_cairo_pdf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 +echo $ECHO_N "checking for cairo-pdf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_pdf_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_libart_lgpl_libart_h" >&5 -echo "${ECHO_T}$ac_cv_header_libart_lgpl_libart_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_pdf_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking libart_lgpl/libart.h usability" >&5 -echo $ECHO_N "checking libart_lgpl/libart.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-pdf.h usability" >&5 +echo $ECHO_N "checking cairo-pdf.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26012,7 +29223,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -26044,15 +29255,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking libart_lgpl/libart.h presence" >&5 -echo $ECHO_N "checking libart_lgpl/libart.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-pdf.h presence" >&5 +echo $ECHO_N "checking cairo-pdf.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -26085,40 +29296,40 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: libart_lgpl/libart.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: libart_lgpl/libart.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo-pdf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo-pdf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for libart_lgpl/libart.h" >&5 -echo $ECHO_N "checking for libart_lgpl/libart.h... $ECHO_C" >&6; } -if test "${ac_cv_header_libart_lgpl_libart_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 +echo $ECHO_N "checking for cairo-pdf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_pdf_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_libart_lgpl_libart_h=$ac_header_preproc + ac_cv_header_cairo_pdf_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_libart_lgpl_libart_h" >&5 -echo "${ECHO_T}$ac_cv_header_libart_lgpl_libart_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_pdf_h" >&6; } fi -if test $ac_cv_header_libart_lgpl_libart_h = yes; then +if test $ac_cv_header_cairo_pdf_h = yes; then EX_CHECK_STATE=YES fi @@ -26129,14 +29340,14 @@ fi else { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no libart-2.0.pc file around. +* I found a copy of pkgconfig, but there is no cairo-pdf.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no libart-2.0.pc file around. +* I found a copy of pkgconfig, but there is no cairo-pdf.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -26148,18 +29359,18 @@ echo "$as_me: WARNING: if test ${EX_CHECK_STATE} = NO; then { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of libart-2.0. Check config.log for hints on why +* I could not find a working copy of cairo-pdf. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libart_lgpl_2 and its header files. If - you have not installed libart-2.0, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-pdf, you can get it either from its original home on - ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/ + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of libart-2.0 is 2.3.17. + The last tested version of cairo-pdf is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -26169,18 +29380,18 @@ echo "$as_me: WARNING: " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of libart-2.0. Check config.log for hints on why +* I could not find a working copy of cairo-pdf. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libart_lgpl_2 and its header files. If - you have not installed libart-2.0, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-pdf, you can get it either from its original home on - ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/ + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of libart-2.0 is 2.3.17. + The last tested version of cairo-pdf is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -26215,13 +29426,13 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x""" != "x"; then CPPFLAGS="$CPPFLAGS -I""" fi - { echo "$as_me:$LINENO: checking for zlibVersion in -lz" >&5 -echo $ECHO_N "checking for zlibVersion in -lz... $ECHO_C" >&6; } -if test "${ac_cv_lib_z_zlibVersion+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo_ps_surface_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_ps_surface_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_ps_surface_create+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" +LIBS="-lcairo $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26235,11 +29446,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char zlibVersion (); +char cairo_ps_surface_create (); int main () { -return zlibVersion (); +return cairo_ps_surface_create (); ; return 0; } @@ -26262,34 +29473,34 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_z_zlibVersion=yes + ac_cv_lib_cairo_cairo_ps_surface_create=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_z_zlibVersion=no + ac_cv_lib_cairo_cairo_ps_surface_create=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_zlibVersion" >&5 -echo "${ECHO_T}$ac_cv_lib_z_zlibVersion" >&6; } -if test $ac_cv_lib_z_zlibVersion = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_ps_surface_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_ps_surface_create" >&6; } +if test $ac_cv_lib_cairo_cairo_ps_surface_create = yes; then - if test "${ac_cv_header_zlib_h+set}" = set; then - { echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } -if test "${ac_cv_header_zlib_h+set}" = set; then + if test "${ac_cv_header_cairo_ps_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 +echo $ECHO_N "checking for cairo-ps.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_ps_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_ps_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 -echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-ps.h usability" >&5 +echo $ECHO_N "checking cairo-ps.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26297,7 +29508,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -26329,15 +29540,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 -echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-ps.h presence" >&5 +echo $ECHO_N "checking cairo-ps.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -26370,41 +29581,41 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo-ps.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo-ps.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo-ps.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } -if test "${ac_cv_header_zlib_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 +echo $ECHO_N "checking for cairo-ps.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_ps_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_zlib_h=$ac_header_preproc + ac_cv_header_cairo_ps_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_ps_h" >&6; } fi -if test $ac_cv_header_zlib_h = yes; then - LIBS="-lz ${LIBS}";EX_CHECK_STATE=YES +if test $ac_cv_header_cairo_ps_h = yes; then + LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES fi @@ -26455,19 +29666,19 @@ done test -n "$PKGCONFIG" || PKGCONFIG="no" if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists zlib; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags zlib` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L zlib` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other zlib` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l zlib` - unset ac_cv_lib_z_zlibVersion - { echo "$as_me:$LINENO: checking for zlibVersion in -lz" >&5 -echo $ECHO_N "checking for zlibVersion in -lz... $ECHO_C" >&6; } -if test "${ac_cv_lib_z_zlibVersion+set}" = set; then + if $PKGCONFIG --exists cairo-ps; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-ps` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-ps` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-ps` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-ps` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_ps_surface_create + { echo "$as_me:$LINENO: checking for cairo_ps_surface_create in -lcairo" >&5 +echo $ECHO_N "checking for cairo_ps_surface_create in -lcairo... $ECHO_C" >&6; } +if test "${ac_cv_lib_cairo_cairo_ps_surface_create+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" +LIBS="-lcairo $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26481,11 +29692,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char zlibVersion (); +char cairo_ps_surface_create (); int main () { -return zlibVersion (); +return cairo_ps_surface_create (); ; return 0; } @@ -26508,35 +29719,35 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_z_zlibVersion=yes + ac_cv_lib_cairo_cairo_ps_surface_create=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_z_zlibVersion=no + ac_cv_lib_cairo_cairo_ps_surface_create=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_zlibVersion" >&5 -echo "${ECHO_T}$ac_cv_lib_z_zlibVersion" >&6; } -if test $ac_cv_lib_z_zlibVersion = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_ps_surface_create" >&5 +echo "${ECHO_T}$ac_cv_lib_cairo_cairo_ps_surface_create" >&6; } +if test $ac_cv_lib_cairo_cairo_ps_surface_create = yes; then - unset ac_cv_header_`echo zlib.h | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_zlib_h+set}" = set; then - { echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } -if test "${ac_cv_header_zlib_h+set}" = set; then + unset ac_cv_header_`echo cairo-ps.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + if test "${ac_cv_header_cairo_ps_h+set}" = set; then + { echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 +echo $ECHO_N "checking for cairo-ps.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_ps_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_ps_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 -echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-ps.h usability" >&5 +echo $ECHO_N "checking cairo-ps.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26544,7 +29755,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -26576,15 +29787,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 -echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking cairo-ps.h presence" >&5 +echo $ECHO_N "checking cairo-ps.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -26617,40 +29828,40 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: cairo-ps.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: cairo-ps.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: cairo-ps.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } -if test "${ac_cv_header_zlib_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 +echo $ECHO_N "checking for cairo-ps.h... $ECHO_C" >&6; } +if test "${ac_cv_header_cairo_ps_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_zlib_h=$ac_header_preproc + ac_cv_header_cairo_ps_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 +echo "${ECHO_T}$ac_cv_header_cairo_ps_h" >&6; } fi -if test $ac_cv_header_zlib_h = yes; then +if test $ac_cv_header_cairo_ps_h = yes; then EX_CHECK_STATE=YES fi @@ -26661,14 +29872,14 @@ fi else { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no zlib.pc file around. +* I found a copy of pkgconfig, but there is no cairo-ps.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no zlib.pc file around. +* I found a copy of pkgconfig, but there is no cairo-ps.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -26680,18 +29891,18 @@ echo "$as_me: WARNING: if test ${EX_CHECK_STATE} = NO; then { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of zlib. Check config.log for hints on why +* I could not find a working copy of cairo-ps. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libz and its header files. If - you have not installed zlib, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-ps, you can get it either from its original home on - http://www.gzip.org/zlib/ + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of zlib is 1.2.3. + The last tested version of cairo-ps is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -26701,18 +29912,18 @@ echo "$as_me: WARNING: " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of zlib. Check config.log for hints on why +* I could not find a working copy of cairo-ps. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libz and its header files. If - you have not installed zlib, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-ps, you can get it either from its original home on - http://www.gzip.org/zlib/ + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of zlib is 1.2.3. + The last tested version of cairo-ps is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -26747,13 +29958,13 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x""" != "x"; then CPPFLAGS="$CPPFLAGS -I""" fi - { echo "$as_me:$LINENO: checking for png_access_version_number in -lpng" >&5 -echo $ECHO_N "checking for png_access_version_number in -lpng... $ECHO_C" >&6; } -if test "${ac_cv_lib_png_png_access_version_number+set}" = set; then + { echo "$as_me:$LINENO: checking for pango_cairo_context_set_font_options in -lpango-1.0" >&5 +echo $ECHO_N "checking for pango_cairo_context_set_font_options in -lpango-1.0... $ECHO_C" >&6; } +if test "${ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpng $LIBS" +LIBS="-lpango-1.0 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26767,11 +29978,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char png_access_version_number (); +char pango_cairo_context_set_font_options (); int main () { -return png_access_version_number (); +return pango_cairo_context_set_font_options (); ; return 0; } @@ -26794,34 +30005,34 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_png_png_access_version_number=yes + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_png_png_access_version_number=no + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_access_version_number" >&5 -echo "${ECHO_T}$ac_cv_lib_png_png_access_version_number" >&6; } -if test $ac_cv_lib_png_png_access_version_number = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&5 +echo "${ECHO_T}$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&6; } +if test $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options = yes; then - if test "${ac_cv_header_png_h+set}" = set; then - { echo "$as_me:$LINENO: checking for png.h" >&5 -echo $ECHO_N "checking for png.h... $ECHO_C" >&6; } -if test "${ac_cv_header_png_h+set}" = set; then + if test "${ac_cv_header_pango_pango_h+set}" = set; then + { echo "$as_me:$LINENO: checking for pango/pango.h" >&5 +echo $ECHO_N "checking for pango/pango.h... $ECHO_C" >&6; } +if test "${ac_cv_header_pango_pango_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 -echo "${ECHO_T}$ac_cv_header_png_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 +echo "${ECHO_T}$ac_cv_header_pango_pango_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking png.h usability" >&5 -echo $ECHO_N "checking png.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking pango/pango.h usability" >&5 +echo $ECHO_N "checking pango/pango.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26829,7 +30040,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -26861,15 +30072,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking png.h presence" >&5 -echo $ECHO_N "checking png.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking pango/pango.h presence" >&5 +echo $ECHO_N "checking pango/pango.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -26902,41 +30113,41 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: png.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: pango/pango.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: png.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: png.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: png.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: png.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: png.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: png.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: pango/pango.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: pango/pango.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: pango/pango.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for png.h" >&5 -echo $ECHO_N "checking for png.h... $ECHO_C" >&6; } -if test "${ac_cv_header_png_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for pango/pango.h" >&5 +echo $ECHO_N "checking for pango/pango.h... $ECHO_C" >&6; } +if test "${ac_cv_header_pango_pango_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_png_h=$ac_header_preproc + ac_cv_header_pango_pango_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 -echo "${ECHO_T}$ac_cv_header_png_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 +echo "${ECHO_T}$ac_cv_header_pango_pango_h" >&6; } fi -if test $ac_cv_header_png_h = yes; then - LIBS="-lpng ${LIBS}";EX_CHECK_STATE=YES +if test $ac_cv_header_pango_pango_h = yes; then + LIBS="-lpango-1.0 ${LIBS}";EX_CHECK_STATE=YES fi @@ -26987,19 +30198,19 @@ done test -n "$PKGCONFIG" || PKGCONFIG="no" if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists libpng; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags libpng` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L libpng` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other libpng` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l libpng` - unset ac_cv_lib_png_png_access_version_number - { echo "$as_me:$LINENO: checking for png_access_version_number in -lpng" >&5 -echo $ECHO_N "checking for png_access_version_number in -lpng... $ECHO_C" >&6; } -if test "${ac_cv_lib_png_png_access_version_number+set}" = set; then + if $PKGCONFIG --exists pangocairo; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags pangocairo` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L pangocairo` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other pangocairo` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l pangocairo` + unset ac_cv_lib_`echo pango-1.0 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_pango_cairo_context_set_font_options + { echo "$as_me:$LINENO: checking for pango_cairo_context_set_font_options in -lpango-1.0" >&5 +echo $ECHO_N "checking for pango_cairo_context_set_font_options in -lpango-1.0... $ECHO_C" >&6; } +if test "${ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpng $LIBS" +LIBS="-lpango-1.0 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -27013,11 +30224,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char png_access_version_number (); +char pango_cairo_context_set_font_options (); int main () { -return png_access_version_number (); +return pango_cairo_context_set_font_options (); ; return 0; } @@ -27040,35 +30251,35 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_png_png_access_version_number=yes + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_png_png_access_version_number=no + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_access_version_number" >&5 -echo "${ECHO_T}$ac_cv_lib_png_png_access_version_number" >&6; } -if test $ac_cv_lib_png_png_access_version_number = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&5 +echo "${ECHO_T}$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&6; } +if test $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options = yes; then - unset ac_cv_header_`echo png.h | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_png_h+set}" = set; then - { echo "$as_me:$LINENO: checking for png.h" >&5 -echo $ECHO_N "checking for png.h... $ECHO_C" >&6; } -if test "${ac_cv_header_png_h+set}" = set; then + unset ac_cv_header_`echo pango/pango.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + if test "${ac_cv_header_pango_pango_h+set}" = set; then + { echo "$as_me:$LINENO: checking for pango/pango.h" >&5 +echo $ECHO_N "checking for pango/pango.h... $ECHO_C" >&6; } +if test "${ac_cv_header_pango_pango_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 -echo "${ECHO_T}$ac_cv_header_png_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 +echo "${ECHO_T}$ac_cv_header_pango_pango_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking png.h usability" >&5 -echo $ECHO_N "checking png.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking pango/pango.h usability" >&5 +echo $ECHO_N "checking pango/pango.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -27076,7 +30287,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -27108,15 +30319,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking png.h presence" >&5 -echo $ECHO_N "checking png.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking pango/pango.h presence" >&5 +echo $ECHO_N "checking pango/pango.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -27149,40 +30360,40 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: png.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: pango/pango.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: png.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: png.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: png.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: png.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: png.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: png.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: png.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: pango/pango.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: pango/pango.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: pango/pango.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for png.h" >&5 -echo $ECHO_N "checking for png.h... $ECHO_C" >&6; } -if test "${ac_cv_header_png_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for pango/pango.h" >&5 +echo $ECHO_N "checking for pango/pango.h... $ECHO_C" >&6; } +if test "${ac_cv_header_pango_pango_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_png_h=$ac_header_preproc + ac_cv_header_pango_pango_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 -echo "${ECHO_T}$ac_cv_header_png_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 +echo "${ECHO_T}$ac_cv_header_pango_pango_h" >&6; } fi -if test $ac_cv_header_png_h = yes; then +if test $ac_cv_header_pango_pango_h = yes; then EX_CHECK_STATE=YES fi @@ -27193,14 +30404,14 @@ fi else { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no libpng.pc file around. +* I found a copy of pkgconfig, but there is no pangocairo.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no libpng.pc file around. +* I found a copy of pkgconfig, but there is no pangocairo.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -27212,18 +30423,18 @@ echo "$as_me: WARNING: if test ${EX_CHECK_STATE} = NO; then { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of libpng. Check config.log for hints on why +* I could not find a working copy of pangocairo. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libpng and its header files. If - you have not installed libpng, you can get it either from its original home on + so that compiler and the linker can find libpango-1.0 and its header files. If + you have not installed pangocairo, you can get it either from its original home on - http://prdownloads.sourceforge.net/libpng/ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.17 You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of libpng is 1.2.10. + The last tested version of pangocairo is 1.17. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -27233,18 +30444,18 @@ echo "$as_me: WARNING: " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of libpng. Check config.log for hints on why +* I could not find a working copy of pangocairo. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libpng and its header files. If - you have not installed libpng, you can get it either from its original home on + so that compiler and the linker can find libpango-1.0 and its header files. If + you have not installed pangocairo, you can get it either from its original home on - http://prdownloads.sourceforge.net/libpng/ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.17 You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of libpng is 1.2.10. + The last tested version of pangocairo is 1.17. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -27276,16 +30487,16 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ex_check_save_LIBS=${LIBS} ex_check_save_CPPFLAGS=${CPPFLAGS} ex_check_save_LDFLAGS=${LDFLAGS} - if test "x/usr/include/freetype2" != "x"; then - CPPFLAGS="$CPPFLAGS -I/usr/include/freetype2" + if test "x/usr/include/libxml2" != "x"; then + CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2" fi - { echo "$as_me:$LINENO: checking for FT_Init_FreeType in -lfreetype" >&5 -echo $ECHO_N "checking for FT_Init_FreeType in -lfreetype... $ECHO_C" >&6; } -if test "${ac_cv_lib_freetype_FT_Init_FreeType+set}" = set; then + { echo "$as_me:$LINENO: checking for xmlParseFile in -lxml2" >&5 +echo $ECHO_N "checking for xmlParseFile in -lxml2... $ECHO_C" >&6; } +if test "${ac_cv_lib_xml2_xmlParseFile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lfreetype $LIBS" +LIBS="-lxml2 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -27299,11 +30510,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char FT_Init_FreeType (); +char xmlParseFile (); int main () { -return FT_Init_FreeType (); +return xmlParseFile (); ; return 0; } @@ -27326,34 +30537,34 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_freetype_FT_Init_FreeType=yes + ac_cv_lib_xml2_xmlParseFile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_freetype_FT_Init_FreeType=no + ac_cv_lib_xml2_xmlParseFile=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_FT_Init_FreeType" >&5 -echo "${ECHO_T}$ac_cv_lib_freetype_FT_Init_FreeType" >&6; } -if test $ac_cv_lib_freetype_FT_Init_FreeType = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_xml2_xmlParseFile" >&5 +echo "${ECHO_T}$ac_cv_lib_xml2_xmlParseFile" >&6; } +if test $ac_cv_lib_xml2_xmlParseFile = yes; then - if test "${ac_cv_header_ft2build_h+set}" = set; then - { echo "$as_me:$LINENO: checking for ft2build.h" >&5 -echo $ECHO_N "checking for ft2build.h... $ECHO_C" >&6; } -if test "${ac_cv_header_ft2build_h+set}" = set; then + if test "${ac_cv_header_libxml_parser_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 +echo $ECHO_N "checking for libxml/parser.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libxml_parser_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_ft2build_h" >&5 -echo "${ECHO_T}$ac_cv_header_ft2build_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 +echo "${ECHO_T}$ac_cv_header_libxml_parser_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking ft2build.h usability" >&5 -echo $ECHO_N "checking ft2build.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking libxml/parser.h usability" >&5 +echo $ECHO_N "checking libxml/parser.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -27361,7 +30572,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -27393,15 +30604,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking ft2build.h presence" >&5 -echo $ECHO_N "checking ft2build.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking libxml/parser.h presence" >&5 +echo $ECHO_N "checking libxml/parser.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -27434,41 +30645,41 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: ft2build.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: ft2build.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: ft2build.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libxml/parser.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: ft2build.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: ft2build.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: ft2build.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: ft2build.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: ft2build.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: ft2build.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: ft2build.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libxml/parser.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libxml/parser.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for ft2build.h" >&5 -echo $ECHO_N "checking for ft2build.h... $ECHO_C" >&6; } -if test "${ac_cv_header_ft2build_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 +echo $ECHO_N "checking for libxml/parser.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libxml_parser_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_ft2build_h=$ac_header_preproc + ac_cv_header_libxml_parser_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_ft2build_h" >&5 -echo "${ECHO_T}$ac_cv_header_ft2build_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 +echo "${ECHO_T}$ac_cv_header_libxml_parser_h" >&6; } fi -if test $ac_cv_header_ft2build_h = yes; then - LIBS="-lfreetype ${LIBS}";EX_CHECK_STATE=YES +if test $ac_cv_header_libxml_parser_h = yes; then + LIBS="-lxml2 ${LIBS}";EX_CHECK_STATE=YES fi @@ -27519,19 +30730,19 @@ done test -n "$PKGCONFIG" || PKGCONFIG="no" if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists freetype2; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags freetype2` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L freetype2` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other freetype2` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l freetype2` - unset ac_cv_lib_freetype_FT_Init_FreeType - { echo "$as_me:$LINENO: checking for FT_Init_FreeType in -lfreetype" >&5 -echo $ECHO_N "checking for FT_Init_FreeType in -lfreetype... $ECHO_C" >&6; } -if test "${ac_cv_lib_freetype_FT_Init_FreeType+set}" = set; then + if $PKGCONFIG --exists libxml-2.0; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags libxml-2.0` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L libxml-2.0` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other libxml-2.0` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l libxml-2.0` + unset ac_cv_lib_`echo xml2 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_xmlParseFile + { echo "$as_me:$LINENO: checking for xmlParseFile in -lxml2" >&5 +echo $ECHO_N "checking for xmlParseFile in -lxml2... $ECHO_C" >&6; } +if test "${ac_cv_lib_xml2_xmlParseFile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lfreetype $LIBS" +LIBS="-lxml2 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -27545,11 +30756,11 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char FT_Init_FreeType (); +char xmlParseFile (); int main () { -return FT_Init_FreeType (); +return xmlParseFile (); ; return 0; } @@ -27572,35 +30783,35 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_freetype_FT_Init_FreeType=yes + ac_cv_lib_xml2_xmlParseFile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_freetype_FT_Init_FreeType=no + ac_cv_lib_xml2_xmlParseFile=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_FT_Init_FreeType" >&5 -echo "${ECHO_T}$ac_cv_lib_freetype_FT_Init_FreeType" >&6; } -if test $ac_cv_lib_freetype_FT_Init_FreeType = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_xml2_xmlParseFile" >&5 +echo "${ECHO_T}$ac_cv_lib_xml2_xmlParseFile" >&6; } +if test $ac_cv_lib_xml2_xmlParseFile = yes; then - unset ac_cv_header_`echo ft2build.h | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_ft2build_h+set}" = set; then - { echo "$as_me:$LINENO: checking for ft2build.h" >&5 -echo $ECHO_N "checking for ft2build.h... $ECHO_C" >&6; } -if test "${ac_cv_header_ft2build_h+set}" = set; then + unset ac_cv_header_`echo libxml/parser.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + if test "${ac_cv_header_libxml_parser_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 +echo $ECHO_N "checking for libxml/parser.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libxml_parser_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_ft2build_h" >&5 -echo "${ECHO_T}$ac_cv_header_ft2build_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 +echo "${ECHO_T}$ac_cv_header_libxml_parser_h" >&6; } else # Is the header compilable? -{ echo "$as_me:$LINENO: checking ft2build.h usability" >&5 -echo $ECHO_N "checking ft2build.h usability... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking libxml/parser.h usability" >&5 +echo $ECHO_N "checking libxml/parser.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -27608,7 +30819,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -27640,15 +30851,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -{ echo "$as_me:$LINENO: checking ft2build.h presence" >&5 -echo $ECHO_N "checking ft2build.h presence... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: checking libxml/parser.h presence" >&5 +echo $ECHO_N "checking libxml/parser.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -27681,40 +30892,40 @@ echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: ft2build.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: ft2build.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: ft2build.h: proceeding with the compiler's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libxml/parser.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: ft2build.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: ft2build.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: ft2build.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: ft2build.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: ft2build.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: ft2build.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: ft2build.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: ft2build.h: in the future, the compiler will take precedence" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libxml/parser.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libxml/parser.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&2;} ;; esac -{ echo "$as_me:$LINENO: checking for ft2build.h" >&5 -echo $ECHO_N "checking for ft2build.h... $ECHO_C" >&6; } -if test "${ac_cv_header_ft2build_h+set}" = set; then +{ echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 +echo $ECHO_N "checking for libxml/parser.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libxml_parser_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_ft2build_h=$ac_header_preproc + ac_cv_header_libxml_parser_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_ft2build_h" >&5 -echo "${ECHO_T}$ac_cv_header_ft2build_h" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 +echo "${ECHO_T}$ac_cv_header_libxml_parser_h" >&6; } fi -if test $ac_cv_header_ft2build_h = yes; then +if test $ac_cv_header_libxml_parser_h = yes; then EX_CHECK_STATE=YES fi @@ -27725,14 +30936,14 @@ fi else { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no freetype2.pc file around. +* I found a copy of pkgconfig, but there is no libxml-2.0.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no freetype2.pc file around. +* I found a copy of pkgconfig, but there is no libxml-2.0.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -27744,18 +30955,18 @@ echo "$as_me: WARNING: if test ${EX_CHECK_STATE} = NO; then { echo "$as_me:$LINENO: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of freetype2. Check config.log for hints on why +* I could not find a working copy of libxml-2.0. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libfreetype and its header files. If - you have not installed freetype2, you can get it either from its original home on + so that compiler and the linker can find libxml2 and its header files. If + you have not installed libxml-2.0, you can get it either from its original home on - http://prdownloads.sourceforge.net/freetype/ + http://xmlsoft.org/downloads.html You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of freetype2 is 2.1.10. + The last tested version of libxml-2.0 is 2.6.31. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -27765,18 +30976,18 @@ echo "$as_me: WARNING: " >&5 echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of freetype2. Check config.log for hints on why +* I could not find a working copy of libxml-2.0. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libfreetype and its header files. If - you have not installed freetype2, you can get it either from its original home on + so that compiler and the linker can find libxml2 and its header files. If + you have not installed libxml-2.0, you can get it either from its original home on - http://prdownloads.sourceforge.net/freetype/ + http://xmlsoft.org/downloads.html You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of freetype2 is 2.1.10. + The last tested version of libxml-2.0 is 2.6.31. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -27832,6 +31043,8 @@ echo "${ECHO_T}" >&6; } echo "${ECHO_T}${T_MD}Prep for Building Language Bindings${T_ME}" >&6; } +PATH=$PATH:/usr/perl5/bin +export PATH # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -27873,6 +31086,89 @@ echo "${ECHO_T}no" >&6; } fi +# Extract the first word of "pod2man", so it can be a program name with args. +set dummy pod2man; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_POD2MAN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $POD2MAN in + [\\/]* | ?:[\\/]*) + ac_cv_path_POD2MAN="$POD2MAN" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_POD2MAN="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_POD2MAN" && ac_cv_path_POD2MAN="no" + ;; +esac +fi +POD2MAN=$ac_cv_path_POD2MAN +if test -n "$POD2MAN"; then + { echo "$as_me:$LINENO: result: $POD2MAN" >&5 +echo "${ECHO_T}$POD2MAN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "pod2html", so it can be a program name with args. +set dummy pod2html; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_POD2HTML+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $POD2HTML in + [\\/]* | ?:[\\/]*) + ac_cv_path_POD2HTML="$POD2HTML" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_POD2HTML="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_POD2HTML" && ac_cv_path_POD2HTML="no" + ;; +esac +fi +POD2HTML=$ac_cv_path_POD2HTML +if test -n "$POD2HTML"; then + { echo "$as_me:$LINENO: result: $POD2HTML" >&5 +echo "${ECHO_T}$POD2HTML" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + # Check whether --enable-perl was given. if test "${enable_perl+set}" = set; then @@ -28088,7 +31384,7 @@ fi if test "${enable_ruby_site_install+set}" = set; then enableval=$enable_ruby_site_install; RUBY_MAKE_OPTIONS= else - RUBY_MAKE_OPTIONS="sitedir=$prefix/lib/ruby" + RUBY_MAKE_OPTIONS="sitedir="'$(DESTDIR)'"$prefix/lib/ruby" fi @@ -28124,7 +31420,7 @@ if test "${with_tcllib+set}" = set; then fi 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 { echo "$as_me:$LINENO: checking for tclConfig.sh in $dir" >&5 echo $ECHO_N "checking for tclConfig.sh in $dir... $ECHO_C" >&6; } if test -f "$dir/tclConfig.sh" ; then @@ -28140,8 +31436,8 @@ echo "${ECHO_T}no" >&6; } done if test "$enable_tcl" = "no"; then - { echo "$as_me:$LINENO: WARNING: tclConfig.sh not found - Tcl interface won't be built" >&5 -echo "$as_me: WARNING: tclConfig.sh not found - Tcl interface won't be built" >&2;} + { echo "$as_me:$LINENO: WARNING: tclConfig.sh not found - Tcl interface will not be built" >&5 +echo "$as_me: WARNING: tclConfig.sh not found - Tcl interface will not be built" >&2;} else . $tcl_config TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION" @@ -28187,6 +31483,8 @@ fi + + # Check whether --enable-python was given. if test "${enable_python+set}" = set; then enableval=$enable_python; @@ -28578,6 +31876,8 @@ ac_config_files="$ac_config_files examples/Makefile" ac_config_files="$ac_config_files doc/Makefile" +ac_config_files="$ac_config_files po/Makefile.in" + ac_config_files="$ac_config_files src/Makefile" ac_config_files="$ac_config_files bindings/Makefile" @@ -28687,6 +31987,20 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${STATIC_PROGRAMS_TRUE}" && test -z "${STATIC_PROGRAMS_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"STATIC_PROGRAMS\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"STATIC_PROGRAMS\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -28705,6 +32019,17 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + + ac_config_commands="$ac_config_commands po/stamp-it" + + +if test -z "${BUILD_LIBINTL_TRUE}" && test -z "${BUILD_LIBINTL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"BUILD_LIBINTL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"BUILD_LIBINTL\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi @@ -29036,7 +32361,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rrdtool $as_me 1.2.27, which was +This file was extended by rrdtool $as_me 1.3rc4, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29089,7 +32414,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -rrdtool config.status 1.2.27 +rrdtool config.status 1.3rc4 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -29194,6 +32519,12 @@ cat >>$CONFIG_STATUS <<_ACEOF # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +INTLTOOL_PERL='${INTLTOOL_PERL}' ac_aux_dir='${ac_aux_dir}' +prefix="$prefix" exec_prefix="$exec_prefix" INTLTOOL_LIBDIR="$libdir" +INTLTOOL_EXTRACT='${INTLTOOL_EXTRACT}' INTLTOOL_ICONV='${INTLTOOL_ICONV}' +INTLTOOL_MSGFMT='${INTLTOOL_MSGFMT}' INTLTOOL_MSGMERGE='${INTLTOOL_MSGMERGE}' +INTLTOOL_XGETTEXT='${INTLTOOL_XGETTEXT}' + _ACEOF @@ -29205,6 +32536,8 @@ do case $ac_config_target in "rrd_config.h") CONFIG_HEADERS="$CONFIG_HEADERS rrd_config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "intltool") CONFIG_COMMANDS="$CONFIG_COMMANDS intltool" ;; "examples/shared-demo.pl") CONFIG_FILES="$CONFIG_FILES examples/shared-demo.pl" ;; "examples/piped-demo.pl") CONFIG_FILES="$CONFIG_FILES examples/piped-demo.pl" ;; "examples/stripes.pl") CONFIG_FILES="$CONFIG_FILES examples/stripes.pl" ;; @@ -29214,12 +32547,14 @@ do "examples/perftest.pl") CONFIG_FILES="$CONFIG_FILES examples/perftest.pl" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "bindings/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/Makefile" ;; "bindings/tcl/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/tcl/Makefile" ;; "bindings/tcl/ifOctets.tcl") CONFIG_FILES="$CONFIG_FILES bindings/tcl/ifOctets.tcl" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; + "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} @@ -29321,6 +32656,7 @@ build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim NUMVERS!$NUMVERS$ac_delim +LIBVERS!$LIBVERS$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim @@ -29354,7 +32690,12 @@ am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim RRDGRAPH_YLEGEND_ANGLE!$RRDGRAPH_YLEGEND_ANGLE$ac_delim +STATIC_PROGRAMS_TRUE!$STATIC_PROGRAMS_TRUE$ac_delim +STATIC_PROGRAMS_FALSE!$STATIC_PROGRAMS_FALSE$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim @@ -29373,12 +32714,6 @@ am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -LN_S!$LN_S$ac_delim -ECHO!$ECHO$ac_delim -AR!$AR$ac_delim -RANLIB!$RANLIB$ac_delim -CXX!$CXX$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -29420,6 +32755,12 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +EGREP!$EGREP$ac_delim +LN_S!$LN_S$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim @@ -29431,6 +32772,53 @@ FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim RRD_DEFAULT_FONT!$RRD_DEFAULT_FONT$ac_delim +GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim +USE_NLS!$USE_NLS$ac_delim +MSGFMT!$MSGFMT$ac_delim +MSGFMT_OPTS!$MSGFMT_OPTS$ac_delim +GMSGFMT!$GMSGFMT$ac_delim +XGETTEXT!$XGETTEXT$ac_delim +CATALOGS!$CATALOGS$ac_delim +CATOBJEXT!$CATOBJEXT$ac_delim +DATADIRNAME!$DATADIRNAME$ac_delim +GMOFILES!$GMOFILES$ac_delim +INSTOBJEXT!$INSTOBJEXT$ac_delim +INTLLIBS!$INTLLIBS$ac_delim +PO_IN_DATADIR_TRUE!$PO_IN_DATADIR_TRUE$ac_delim +PO_IN_DATADIR_FALSE!$PO_IN_DATADIR_FALSE$ac_delim +POFILES!$POFILES$ac_delim +POSUB!$POSUB$ac_delim +MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim +INTLTOOL_DESKTOP_RULE!$INTLTOOL_DESKTOP_RULE$ac_delim +INTLTOOL_DIRECTORY_RULE!$INTLTOOL_DIRECTORY_RULE$ac_delim +INTLTOOL_KEYS_RULE!$INTLTOOL_KEYS_RULE$ac_delim +INTLTOOL_PROP_RULE!$INTLTOOL_PROP_RULE$ac_delim +INTLTOOL_OAF_RULE!$INTLTOOL_OAF_RULE$ac_delim +INTLTOOL_PONG_RULE!$INTLTOOL_PONG_RULE$ac_delim +INTLTOOL_SERVER_RULE!$INTLTOOL_SERVER_RULE$ac_delim +INTLTOOL_SHEET_RULE!$INTLTOOL_SHEET_RULE$ac_delim +INTLTOOL_SOUNDLIST_RULE!$INTLTOOL_SOUNDLIST_RULE$ac_delim +INTLTOOL_UI_RULE!$INTLTOOL_UI_RULE$ac_delim +INTLTOOL_XAM_RULE!$INTLTOOL_XAM_RULE$ac_delim +INTLTOOL_KBD_RULE!$INTLTOOL_KBD_RULE$ac_delim +INTLTOOL_XML_RULE!$INTLTOOL_XML_RULE$ac_delim +INTLTOOL_XML_NOMERGE_RULE!$INTLTOOL_XML_NOMERGE_RULE$ac_delim +INTLTOOL_CAVES_RULE!$INTLTOOL_CAVES_RULE$ac_delim +INTLTOOL_SCHEMAS_RULE!$INTLTOOL_SCHEMAS_RULE$ac_delim +INTLTOOL_THEME_RULE!$INTLTOOL_THEME_RULE$ac_delim +INTLTOOL_SERVICE_RULE!$INTLTOOL_SERVICE_RULE$ac_delim +INTLTOOL_EXTRACT!$INTLTOOL_EXTRACT$ac_delim +INTLTOOL_MERGE!$INTLTOOL_MERGE$ac_delim +INTLTOOL_UPDATE!$INTLTOOL_UPDATE$ac_delim +INTLTOOL_PERL!$INTLTOOL_PERL$ac_delim +INTLTOOL_ICONV!$INTLTOOL_ICONV$ac_delim +INTLTOOL_MSGFMT!$INTLTOOL_MSGFMT$ac_delim +INTLTOOL_MSGMERGE!$INTLTOOL_MSGMERGE$ac_delim +INTLTOOL_XGETTEXT!$INTLTOOL_XGETTEXT$ac_delim +ALL_LINGUAS!$ALL_LINGUAS$ac_delim +LIB_LIBINTL!$LIB_LIBINTL$ac_delim +BUILD_LIBINTL_TRUE!$BUILD_LIBINTL_TRUE$ac_delim +BUILD_LIBINTL_FALSE!$BUILD_LIBINTL_FALSE$ac_delim MULTITHREAD_CFLAGS!$MULTITHREAD_CFLAGS$ac_delim MULTITHREAD_LDFLAGS!$MULTITHREAD_LDFLAGS$ac_delim acx_pthread_config!$acx_pthread_config$ac_delim @@ -29445,6 +32833,8 @@ PKGCONFIG!$PKGCONFIG$ac_delim CORE_LIBS!$CORE_LIBS$ac_delim ALL_LIBS!$ALL_LIBS$ac_delim PERL!$PERL$ac_delim +POD2MAN!$POD2MAN$ac_delim +POD2HTML!$POD2HTML$ac_delim PERLCC!$PERLCC$ac_delim PERLCCFLAGS!$PERLCCFLAGS$ac_delim PERLLD!$PERLLD$ac_delim @@ -29462,6 +32852,47 @@ BUILD_TCL_SITE_TRUE!$BUILD_TCL_SITE_TRUE$ac_delim BUILD_TCL_SITE_FALSE!$BUILD_TCL_SITE_FALSE$ac_delim TCL_PREFIX!$TCL_PREFIX$ac_delim TCL_SHLIB_CFLAGS!$TCL_SHLIB_CFLAGS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF TCL_SHLIB_LD!$TCL_SHLIB_LD$ac_delim TCL_SHLIB_SUFFIX!$TCL_SHLIB_SUFFIX$ac_delim TCL_PACKAGE_PATH!$TCL_PACKAGE_PATH$ac_delim @@ -29469,6 +32900,7 @@ TCL_LD_SEARCH_FLAGS!$TCL_LD_SEARCH_FLAGS$ac_delim TCL_STUB_LIB_SPEC!$TCL_STUB_LIB_SPEC$ac_delim TCL_VERSION!$TCL_VERSION$ac_delim TCL_PACKAGE_DIR!$TCL_PACKAGE_DIR$ac_delim +TCL_INC_DIR!$TCL_INC_DIR$ac_delim PYTHON!$PYTHON$ac_delim PYTHON_VERSION!$PYTHON_VERSION$ac_delim PYTHON_PREFIX!$PYTHON_PREFIX$ac_delim @@ -29487,7 +32919,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 65; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 24; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -29505,7 +32937,7 @@ if test -n "$ac_eof"; then fi cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' @@ -29768,7 +33200,7 @@ s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && @@ -30045,8 +33477,55 @@ echo "$as_me: error: cannot create directory $as_dir" >&2;} echo '# dummy' > "$dirpart/$file" done done + ;; + "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + "intltool":C) + +for file in intltool-extract intltool-merge intltool-update; do + sed -e "s|@INTLTOOL_EXTRACT@|`pwd`/intltool-extract|g" \ + -e "s|@INTLTOOL_LIBDIR@|${INTLTOOL_LIBDIR}|g" \ + -e "s|@INTLTOOL_ICONV@|${INTLTOOL_ICONV}|g" \ + -e "s|@INTLTOOL_MSGFMT@|${INTLTOOL_MSGFMT}|g" \ + -e "s|@INTLTOOL_MSGMERGE@|${INTLTOOL_MSGMERGE}|g" \ + -e "s|@INTLTOOL_XGETTEXT@|${INTLTOOL_XGETTEXT}|g" \ + -e "s|@INTLTOOL_PERL@|${INTLTOOL_PERL}|g" \ + < ${ac_aux_dir}/${file}.in > ${file}.out + if cmp -s ${file} ${file}.out 2>/dev/null; then + rm -f ${file}.out + else + mv -f ${file}.out ${file} + fi + chmod ugo+x ${file} + chmod u+w ${file} +done + ;; "default":C) chmod +x examples/*.pl ;; + "po/stamp-it":C) + rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" + >"po/stamp-it.tmp" + sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" + + if test ! -f "po/Makefile"; then + { { echo "$as_me:$LINENO: error: po/Makefile is not ready." >&5 +echo "$as_me: error: po/Makefile is not ready." >&2;} + { (exit 1); exit 1; }; } + fi + mv "po/Makefile" "po/Makefile.tmp" + sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r po/POTFILES + } + ' "po/Makefile.tmp" >"po/Makefile" + rm -f "po/Makefile.tmp" + mv "po/stamp-it.tmp" "po/stamp-it" + ;; esac done # for ac_tag @@ -30101,7 +33580,8 @@ echo echo "----------------------------------------------------------------" echo "Config is DONE!" echo -echo " With MMAP IO: $ac_cv_func_mmap_fixed_mapped" +echo " With MMAP IO: $enable_mmap" +echo " Static programs: $staticprogs" echo " Perl Modules: $COMP_PERL" echo " Perl Binary: $PERL" echo " Perl Version: $PERL_VERSION" @@ -30113,7 +33593,9 @@ echo " Build Tcl Bindings: $enable_tcl" echo " Build Python Bindings: $enable_python" echo " Build rrdcgi: $enable_rrdcgi" echo " Build librrd MT: $enable_pthread" +echo " Link with libintl: $enable_libintl" echo +echo " Libraries: $ALL_LIBS" echo echo "Type 'make' to compile the software and use 'make install' to " echo "install everything to: $prefix." diff --git a/configure.ac b/configure.ac index f238427..5a73316 100644 --- a/configure.ac +++ b/configure.ac @@ -6,18 +6,35 @@ dnl dnl Inspiration from http://autoconf-archive.cryp.to dnl tell automake the this script is for rrdtool + dnl the official version number is dnl a.b.c -AC_INIT([rrdtool],[1.2.27]) +AC_INIT([rrdtool],[1.3rc4]) + 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 the devel versions will be something like dnl a.b999yymmddhh -NUMVERS=1.2027 +NUMVERS=1.299908051800 AC_SUBST(NUMVERS) + +dnl for the linker to understand which version the library is compatible with +dnl we must keep a separate library version cout of the format c:r:a if any +dnl functionality is changed do c++ prior to release +dnl if only implementation changed but all interfaces are kept, do r++ +dnl when only functionality was added, do a++ if any functionality was +dnl removed do a=0. +dnl +dnl see http://sourceware.org/autobook/autobook/autobook_91.html +dnl +LIBVERS=3:2:1 +AC_SUBST(LIBVERS) + AC_CANONICAL_TARGET AM_INIT_AUTOMAKE +AM_MAINTAINER_MODE + AC_CONFIG_HEADERS([rrd_config.h]) dnl all our local stuff like install scripts and include files @@ -49,7 +66,7 @@ AH_TOP([ /* realloc does not support NULL as argument */ #undef NO_NULL_REALLOC -/* lets enable madvise defines in NetBSD */ +/* lets enable madvise defines in NetBSD */ #if defined(__NetBSD__) # if !defined(_NETBSD_SOURCE) # define _NETBSD_SOURCE @@ -59,19 +76,18 @@ AH_TOP([ ]) AH_BOTTOM([ +/* make sure that we pickup the correct stuff from all headers */ #ifdef HAVE_FEATURES_H +#undef _XOPEN_SOURCE /* keep unmodified */ +#undef _BSD_SOURCE /* keep unmodified */ #define _XOPEN_SOURCE 600 -#undef _BSD_SOURCE /* comment to prevent configure from modifying this line */ #define _BSD_SOURCE 1 # include #endif -#ifdef HAVE_ERRNO_H -# include -#endif - -#if defined(HAVE_SYS_MMAN_H) -#include +/* FreeBSD 4.8 wants this included BEFORE sys/types.h */ +#ifdef HAVE_SYS_MMAN_H +# include #endif #ifdef HAVE_SYS_TYPES_H @@ -93,6 +109,10 @@ AH_BOTTOM([ # endif #endif +#ifdef HAVE_ERRNO_H +# include +#endif + #if !defined HAVE_MADVISE && defined HAVE_POSIX_MADVISE /* use posix_madvise family */ # define madvise posix_madvise @@ -102,13 +122,6 @@ AH_BOTTOM([ # define MADV_WILLNEED POSIX_MADV_WILLNEED # define MADV_DONTNEED POSIX_MADV_DONTNEED #endif - -#if defined POSIX_MADV_RANDOM && !defined MADV_RANDOM -#define MADV_RANDOM POSIX_MADV_RANDOM -#endif - - - #if defined HAVE_MADVISE || defined HAVE_POSIX_MADVISE # define USE_MADVISE 1 #endif @@ -143,12 +156,13 @@ AH_BOTTOM([ #ifdef HAVE_SYS_RESOURCE_H # include #if (defined(__svr4__) && defined(__sun__)) -/* Solaris headers (pre 2.6) don't have a getrusage prototype. +/* Solaris headers (pre 2.6) do not have a getrusage prototype. Use this instead. */ extern int getrusage(int, struct rusage *); #endif /* __svr4__ && __sun__ */ #endif + /* define strrchr, strchr and memcpy, memmove in terms of bsd funcs make sure you are NOT using bcopy, index or rindex in the code */ @@ -176,20 +190,58 @@ char *strchr (), *strrchr (); # include #endif +#ifdef HAVE_STDIO_H +# include +#endif + +#ifdef HAVE_STDLIB_H +# include +#endif + +#ifdef HAVE_CTYPE_H +# include +#endif + +#ifdef HAVE_DIRENT_H +# include +# define NAMLEN(dirent) strlen((dirent)->d_name) +#else +# define dirent direct +# define NAMLEN(dirent) (dirent)->d_namlen +# ifdef HAVE_SYS_NDIR_H +# include +# endif +# ifdef HAVE_SYS_DIR_H +# include +# endif +# ifdef HAVE_NDIR_H +# include +# endif +#endif + +#ifdef MUST_DISABLE_SIGFPE +# include +#endif + +#ifdef MUST_DISABLE_FPMASK +# include +#endif + + #ifdef HAVE_MATH_H -# include +# include #endif #ifdef HAVE_FLOAT_H -# include +# include #endif #ifdef HAVE_IEEEFP_H -# include +# include #endif #ifdef HAVE_FP_CLASS_H -# include +# include #endif /* for Solaris */ @@ -203,7 +255,7 @@ char *strchr (), *strrchr (); /* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ #if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan /* confuse autoconf to NOT remove this */ +# undef isnan /* confuse autoconf to NOT remove this */ # define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) #endif @@ -247,6 +299,14 @@ char *strchr (), *strrchr (); #error "Can't compile without isinf function" #endif +#if (! defined(HAVE_FDATASYNC) && defined(HAVE_FSYNC)) +#define fdatasync fsync +#endif + +#if (!defined(HAVE_FDATASYNC) && !defined(HAVE_FSYNC)) +#error "Can't compile with without fsync and fdatasync" +#endif + #endif /* RRD_CONFIG_H */ ]) @@ -255,9 +315,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]) @@ -269,7 +329,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 ]) @@ -279,10 +339,17 @@ AC_ARG_ENABLE([mmap], [], [enable_mmap=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) @@ -293,16 +360,19 @@ AC_PROG_CC AC_PROG_CPP AC_PROG_LIBTOOL -dnl which flags does the compile support? -if test "$GCC" = "yes"; then - for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -W; do - oCFLAGS=$CFLAGS +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 -Wold-style-definition -W; do + oCFLAGS="$CFLAGS" CFLAGS="$CFLAGS $flag" cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[[^A-Za-z]]/_/g'` AC_CACHE_CHECK([if gcc likes the $flag flag], $cachename, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0 ]])],[eval $cachename=yes],[eval $cachename=no])]) if eval test \$$cachename = no; then - CFLAGS=$oCFLAGS + CFLAGS="$oCFLAGS" fi done fi @@ -316,21 +386,24 @@ CONFIGURE_PART(Checking for Header Files) dnl Checks for header files. 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 float.h strings.h) +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) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_HEADER_TIME AC_STRUCT_TM +CONFIGURE_PART(Test Library Functions) + dnl Checks for libraries. AC_CHECK_FUNC(acos, , AC_CHECK_LIB(m, acos)) + + dnl add pic flag in any case this makes sure all our code is relocatable eval `./libtool --config | grep pic_flag` CFLAGS="$CFLAGS $pic_flag" -CONFIGURE_PART(Test Library Functions) dnl Checks for library functions. AC_FUNC_STRFTIME @@ -341,9 +414,19 @@ 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 madvise) +AC_CHECK_FUNCS(tzset fsync mbstowcs opendir readdir chdir chroot getuid setlocale strerror strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday) + +CONFIGURE_PART(Map/Fadvis/Madvise checking) + +dnl Could use these to know if we need to provide a prototype +dnl AC_CHECK_DECLS(fdatasync, [], [], [#include ]) + +dnl check for fdatasync. Solaris has fdatasync in the librt + +AC_CHECK_FUNCS(fdatasync, [], AC_CHECK_LIB(rt, fdatasync, [LIBS="${LIBS} -lrt"; AC_DEFINE(HAVE_FDATASYNC)],[])) +dnl if there is no fdatasync we may get lucky with fsync +AC_CHECK_FUNCS(fsync) -AC_CHECK_DECLS(fdatasync, [], [], [#include ]) dnl XXX: dunno about windows.. add AC_CHECK_FUNCS(munmap) there too? if test "x$enable_mmap" = "xyes"; then @@ -360,8 +443,8 @@ if test "x$enable_mmap" = "xyes"; then AC_FUNC_MMAP AC_CHECK_FUNCS(mmap munmap msync) AC_CHECK_DECLS(madvise, [], [], [#ifdef HAVE_SYS_MMAN_H - # include - #endif]) + # include + #endif]) if test "x$ac_cv_have_decl_madvise" = "xyes"; then AC_CHECK_FUNCS(madvise) @@ -383,45 +466,104 @@ fi dnl can we use posix_fadvise AC_CHECK_DECLS(posix_fadvise, [], [], [#define _XOPEN_SOURCE 600 #include ]) -AC_CHECK_FUNCS(posix_fadvise) +AC_CHECK_FUNCS(posix_fadvise) -if test "x$enable_mmap" = xyes; then - case "$host" in - *cygwin*) - # the normal mmap test does not work in cygwin - AC_CHECK_FUNCS(mmap) - if [ "x${ac_cv_func_mmap}" = xyes ]; then - ac_cv_func_mmap_fixed_mapped=yes - fi - ;; - *) - AC_FUNC_MMAP - ;; - esac +CONFIGURE_PART(Libintl Processing) + + +dnl gettext +GETTEXT_PACKAGE=rrdtool +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package]) + +AM_GLIB_GNU_GETTEXT() + +AC_ARG_ENABLE(libintl,[ --disable-libintl i18n support (libintl)], +[],[enable_libintl=yes]) + +if test x$enable_libintl = xyes; then + IT_PROG_INTLTOOL([0.35.0],[no-xml]) +fi + +if test x$enable_libintl = xyes -a x$MSGFMT = xno; then + AC_MSG_WARN(I could not find msgfmt. Diabeling libintl build.) + enable_libintl=no +fi + +if test x$enable_libintl = xyes; then + AC_CHECK_HEADERS(libintl.h,[],[AC_MSG_RESULT(disabeling libintl build); enable_libintl=no]) +fi + +if test x$enable_libintl = xyes ; then + dnl it seems bsd synstems need to link against libintl + dnl when compiling rrdupdate. lets check + AC_CHECK_LIB(intl, libintl_gettext,[LIB_LIBINTL="-lintl"]) fi +dnl use for linking rrdupdate +AC_SUBST(LIB_LIBINTL) + +dnl do not touch the po stuff if we are not going to build intl +AM_CONDITIONAL(BUILD_LIBINTL,[test x$enable_libintl = xyes]) + +if test x$enable_libintl = xyes; then + AC_DEFINE([BUILD_LIBINTL], [], [Use this in code sections to mark them for libintl build]) +fi CONFIGURE_PART(IEEE Math Checks) -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, , [AC_MSG_CHECKING(for fpclassify with ) 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 -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 volatile int x;volatile float f; ]], [[x = isinf(f)]])],[AC_MSG_RESULT(yes) AC_DEFINE(HAVE_ISINF)],[AC_MSG_RESULT(no)])]) +dnl finite is BSD, isfinite is C99, so prefer the latter +AC_CACHE_CHECK([whether isfinite is broken],[have_broken_isfinite],[ +AC_TRY_RUN([ +#ifdef HAVE_MATH_H +#include +#endif +#ifdef HAVE_FLOAT_H +#include +#endif +int main () +{ +#ifdef isfinite +#ifdef LDBL_MAX + if (!isfinite(LDBL_MAX)) return 1; +#endif +#ifdef DBL_MAX + if (!isfinite(DBL_MAX)) return 1; +#endif +#endif +return 0; +}],[ +have_broken_isfinite=no],have_broken_isfinite=yes,[ +case "${target}" in + hppa*-*-hpux*) have_broken_isfinite=yes ;; + *) have_broken_isfinite=no ;; +esac]) +]) +if test "x$have_broken_isfinite" = "xno"; then + AC_DEFINE(HAVE_ISFINITE) +else +AC_CHECK_FUNCS(finite,[], + [AC_CHECK_FUNCS(isfinite,[], + [AC_MSG_CHECKING(for isfinite with ) + 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)])])]) +fi + AC_FULL_IEEE CONFIGURE_PART(Resolve Portability Issues) @@ -522,12 +664,20 @@ CONFIGURE_PART(Find 3rd-Party Libraries) 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/, "") +EX_CHECK_ALL(cairo, cairo_svg_surface_create, cairo-svg.h, cairo-svg, 1.4.6, http://cairographics.org/releases/, "") +EX_CHECK_ALL(cairo, cairo_pdf_surface_create, cairo-pdf.h, cairo-pdf, 1.4.6, http://cairographics.org/releases/, "") +EX_CHECK_ALL(cairo, cairo_ps_surface_create, cairo-ps.h, cairo-ps, 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, "") +EX_CHECK_ALL(xml2, xmlParseFile, libxml/parser.h, libxml-2.0, 2.6.31, http://xmlsoft.org/downloads.html, /usr/include/libxml2) if test "$EX_CHECK_ALL_ERR" = "YES"; then AC_MSG_ERROR([Please fix the library issues listed above and try again.]) @@ -541,8 +691,13 @@ AC_SUBST(ALL_LIBS) CONFIGURE_PART(Prep for Building Language Bindings) -dnl Check for Perl. +dnl Check for Perl and friends +PATH=$PATH:/usr/perl5/bin +export PATH AC_PATH_PROG(PERL, perl, no) +AC_PATH_PROG(POD2MAN, pod2man, no) +AC_PATH_PROG(POD2HTML, pod2html, no) + AC_ARG_ENABLE(perl,[ --disable-perl do not build the perl modules], [],[enable_perl=yes]) @@ -657,7 +812,7 @@ AC_ARG_ENABLE(ruby-site-install, together with rrdtool in $prefix/lib/ruby. You have to add $prefix/lib/ruby/$ruby_version/$sitearch to you $: variable for ruby to find the RRD.so file.], -[RUBY_MAKE_OPTIONS=],[RUBY_MAKE_OPTIONS="sitedir=$prefix/lib/ruby"]) +[RUBY_MAKE_OPTIONS=],[RUBY_MAKE_OPTIONS="sitedir="'$(DESTDIR)'"$prefix/lib/ruby"]) AC_ARG_WITH(ruby-options, @@ -682,7 +837,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 @@ -695,7 +850,7 @@ if test "$enable_tcl" = "yes"; then done if test "$enable_tcl" = "no"; then - AC_MSG_WARN([tclConfig.sh not found - Tcl interface won't be built]) + AC_MSG_WARN([tclConfig.sh not found - Tcl interface will not be built]) else . $tcl_config TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION" @@ -708,6 +863,7 @@ fi AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" ) AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" ) + AC_SUBST(TCL_PREFIX) AC_SUBST(TCL_SHLIB_CFLAGS) AC_SUBST(TCL_SHLIB_LD) @@ -717,6 +873,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]) @@ -755,6 +912,7 @@ AC_CONFIG_FILES([examples/4charts.pl]) AC_CONFIG_FILES([examples/perftest.pl]) AC_CONFIG_FILES([examples/Makefile]) AC_CONFIG_FILES([doc/Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([bindings/Makefile]) AC_CONFIG_FILES([bindings/tcl/Makefile]) @@ -782,7 +940,8 @@ echo echo "----------------------------------------------------------------" echo "Config is DONE!" echo -echo " With MMAP IO: $ac_cv_func_mmap_fixed_mapped" +echo " With MMAP IO: $enable_mmap" +echo " Static programs: $staticprogs" echo " Perl Modules: $COMP_PERL" echo " Perl Binary: $PERL" echo " Perl Version: $PERL_VERSION" @@ -794,7 +953,9 @@ echo " Build Tcl Bindings: $enable_tcl" echo " Build Python Bindings: $enable_python" echo " Build rrdcgi: $enable_rrdcgi" echo " Build librrd MT: $enable_pthread" +echo " Link with libintl: $enable_libintl" echo +echo " Libraries: $ALL_LIBS" echo echo "Type 'make' to compile the software and use 'make install' to " echo "install everything to: $prefix." diff --git a/doc/Makefile.am b/doc/Makefile.am index 70f456c..16fd617 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -39,7 +39,7 @@ all-local: link txt man html-local perl -n -e 'if (/^=include\s+(\S+)/){open F,"$$1.inc" || die $$?;print ; close F} else {print}' $< > $@ .pod.1 .pm.1 .pl.1: - pod2man --release=$(VERSION) --center=rrdtool $< > $@ + @POD2MAN@ --release=$(VERSION) --center=rrdtool $< > $@ .1.txt: GROFF_NO_SGR=1 @NROFF@ -man -Tlp $< > $@ @@ -48,7 +48,7 @@ all-local: link txt man html-local @TROFF@ -man $< | ps2pdf - $@ .pm.html .pod.html .pl.html: - pod2html --infile=$< --outfile=$@ --noindex --htmlroot=. --podpath=. --title=$* + @POD2HTML@ --infile=$< --outfile=$@ --noindex --htmlroot=. --podpath=. --title=$* RRDs.pod: $(LN_S) $(top_srcdir)/bindings/perl-shared/RRDs.pm RRDs.pod diff --git a/doc/Makefile.in b/doc/Makefile.in index 180d4bc..d2dc7f8 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -64,6 +64,7 @@ DATA = $(idoc_DATA) $(ihtml_DATA) $(iman_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LIBS = @ALL_LIBS@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ @@ -72,6 +73,8 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BUILD_LIBINTL_FALSE = @BUILD_LIBINTL_FALSE@ +BUILD_LIBINTL_TRUE = @BUILD_LIBINTL_TRUE@ BUILD_MULTITHREAD_FALSE = @BUILD_MULTITHREAD_FALSE@ BUILD_MULTITHREAD_TRUE = @BUILD_MULTITHREAD_TRUE@ BUILD_RRDCGI_FALSE = @BUILD_RRDCGI_FALSE@ @@ -80,6 +83,8 @@ BUILD_TCL_FALSE = @BUILD_TCL_FALSE@ BUILD_TCL_SITE_FALSE = @BUILD_TCL_SITE_FALSE@ BUILD_TCL_SITE_TRUE = @BUILD_TCL_SITE_TRUE@ BUILD_TCL_TRUE = @BUILD_TCL_TRUE@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -94,6 +99,7 @@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ @@ -104,18 +110,57 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ GREP = @GREP@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_ICONV = @INTLTOOL_ICONV@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_MSGFMT = @INTLTOOL_MSGFMT@ +INTLTOOL_MSGMERGE = @INTLTOOL_MSGMERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XGETTEXT = @INTLTOOL_XGETTEXT@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIBVERS = @LIBVERS@ +LIB_LIBINTL = @LIB_LIBINTL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@ MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@ NROFF = @NROFF@ @@ -138,6 +183,12 @@ PERL_CC = @PERL_CC@ PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@ PERL_VERSION = @PERL_VERSION@ PKGCONFIG = @PKGCONFIG@ +POD2HTML = @POD2HTML@ +POD2MAN = @POD2MAN@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -155,7 +206,10 @@ RUBY = @RUBY@ RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +STATIC_PROGRAMS_FALSE = @STATIC_PROGRAMS_FALSE@ +STATIC_PROGRAMS_TRUE = @STATIC_PROGRAMS_TRUE@ STRIP = @STRIP@ +TCL_INC_DIR = @TCL_INC_DIR@ TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@ TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ @@ -166,7 +220,9 @@ TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ TCL_VERSION = @TCL_VERSION@ TROFF = @TROFF@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ @@ -254,7 +310,7 @@ all: all-am .SUFFIXES: .SUFFIXES: .pod .1 .man .html .txt .pm .pdf .inc .pl .src -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -279,9 +335,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: @@ -481,7 +537,7 @@ all-local: link txt man html-local perl -n -e 'if (/^=include\s+(\S+)/){open F,"$$1.inc" || die $$?;print ; close F} else {print}' $< > $@ .pod.1 .pm.1 .pl.1: - pod2man --release=$(VERSION) --center=rrdtool $< > $@ + @POD2MAN@ --release=$(VERSION) --center=rrdtool $< > $@ .1.txt: GROFF_NO_SGR=1 @NROFF@ -man -Tlp $< > $@ @@ -490,7 +546,7 @@ all-local: link txt man html-local @TROFF@ -man $< | ps2pdf - $@ .pm.html .pod.html .pl.html: - pod2html --infile=$< --outfile=$@ --noindex --htmlroot=. --podpath=. --title=$* + @POD2HTML@ --infile=$< --outfile=$@ --noindex --htmlroot=. --podpath=. --title=$* RRDs.pod: $(LN_S) $(top_srcdir)/bindings/perl-shared/RRDs.pm RRDs.pod diff --git a/doc/RRDs.html b/doc/RRDs.html index d7876b5..f5f4c1e 100644 --- a/doc/RRDs.html +++ b/doc/RRDs.html @@ -111,6 +111,11 @@ the values of the properties.

foreach my $key (keys %$hash){ print "$key = $$hash{$key}\n"; } +

RRDs::graphv takes the same paramters as RRDs::graph but it returns a +pointer to hash. The hash returned contains meta information about the +graph. Like its size as well as the position of the graph area on the image. +When calling with and empty filename than the contents of the graph will be +returned in the hash as well (key 'image').

RRDs::updatev also returns a pointer to hash. The keys of the hash are concatenated strings of a timestamp, RRA index, and data source name for each consolidated data point (CDP) written to disk as a result of the diff --git a/doc/bin_dec_hex.1 b/doc/bin_dec_hex.1 index f09d6e2..a9b770c 100644 --- a/doc/bin_dec_hex.1 +++ b/doc/bin_dec_hex.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "BIN_DEC_HEX 1" -.TH BIN_DEC_HEX 1 "2008-02-17" "1.2.27" "rrdtool" +.TH BIN_DEC_HEX 1 "2008-03-15" "1.3rc4" "rrdtool" .SH "NAME" bin_dec_hex \- How to use binary, decimal, and hexadecimal notation. .SH "DESCRIPTION" diff --git a/doc/bin_dec_hex.txt b/doc/bin_dec_hex.txt index 8b86f19..d6c8519 100644 --- a/doc/bin_dec_hex.txt +++ b/doc/bin_dec_hex.txt @@ -371,4 +371,4 @@ AAUUTTHHOORR -1.2.27 2008-02-17 BIN_DEC_HEX(1) +1.3rc4 2008-03-15 BIN_DEC_HEX(1) diff --git a/doc/cdeftutorial.1 b/doc/cdeftutorial.1 index 26cd3e9..90599b9 100644 --- a/doc/cdeftutorial.1 +++ b/doc/cdeftutorial.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "CDEFTUTORIAL 1" -.TH CDEFTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool" +.TH CDEFTUTORIAL 1 "2008-03-15" "1.3rc4" "rrdtool" .SH "NAME" cdeftutorial \- Alex van den Bogaerdt's CDEF tutorial .SH "DESCRIPTION" diff --git a/doc/cdeftutorial.txt b/doc/cdeftutorial.txt index 647b758..2a572d9 100644 --- a/doc/cdeftutorial.txt +++ b/doc/cdeftutorial.txt @@ -799,4 +799,4 @@ AAUUTTHHOORR -1.2.27 2008-02-17 CDEFTUTORIAL(1) +1.3rc4 2008-03-15 CDEFTUTORIAL(1) diff --git a/doc/rpntutorial.1 b/doc/rpntutorial.1 index 83734a8..ab56b0a 100644 --- a/doc/rpntutorial.1 +++ b/doc/rpntutorial.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RPNTUTORIAL 1" -.TH RPNTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool" +.TH RPNTUTORIAL 1 "2008-03-15" "1.3rc4" "rrdtool" .SH "NAME" rpntutorial \- Reading RRDtool RPN Expressions by Steve Rader .SH "DESCRIPTION" diff --git a/doc/rpntutorial.txt b/doc/rpntutorial.txt index f936d2d..75f39cd 100644 --- a/doc/rpntutorial.txt +++ b/doc/rpntutorial.txt @@ -187,4 +187,4 @@ AAUUTTHHOORR -1.2.27 2008-02-17 RPNTUTORIAL(1) +1.3rc4 2008-03-15 RPNTUTORIAL(1) diff --git a/doc/rrd-beginners.1 b/doc/rrd-beginners.1 index 5c67f83..d554a2a 100644 --- a/doc/rrd-beginners.1 +++ b/doc/rrd-beginners.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRD-BEGINNERS 1" -.TH RRD-BEGINNERS 1 "2008-02-17" "1.2.27" "rrdtool" +.TH RRD-BEGINNERS 1 "2008-03-15" "1.3rc4" "rrdtool" .SH "NAME" rrd\-beginners \- RRDtool Beginners' Guide .SH "SYNOPSIS" diff --git a/doc/rrd-beginners.txt b/doc/rrd-beginners.txt index 8c60eeb..39f76fc 100644 --- a/doc/rrd-beginners.txt +++ b/doc/rrd-beginners.txt @@ -318,4 +318,4 @@ AAUUTTHHOORR -1.2.27 2008-02-17 RRD-BEGINNERS(1) +1.3rc4 2008-03-15 RRD-BEGINNERS(1) diff --git a/doc/rrdbuild.1 b/doc/rrdbuild.1 index 52b88b9..25457ae 100644 --- a/doc/rrdbuild.1 +++ b/doc/rrdbuild.1 @@ -129,13 +129,11 @@ .\" ======================================================================== .\" .IX Title "RRDBUILD 1" -.TH RRDBUILD 1 "2008-02-17" "1.2.27" "rrdtool" +.TH RRDBUILD 1 "2008-05-18" "1.3rc4" "rrdtool" .SH "NAME" rrdbuild \- Instructions for building RRDtool -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -.Sh "Overview" -.IX Subsection "Overview" +.SH "OVERVIEW" +.IX Header "OVERVIEW" If you downloaded the source of rrdtool you have to compile it. This document will give some information on how this is done. .PP @@ -144,8 +142,17 @@ may already be installed on your system. You have to compile copies of the other ones before you can build RRDtool. .PP This document will tell you about all the necessary steps to get going. -.Sh "Building" -.IX Subsection "Building" +.PP +These instructions assume you are using a \fBbash\fR shell. If you use csh/tcsh, +then you can either type \fIbash\fR to switch to bash for the compilation or if +you know what you are doing just replace the export bits with +setenv. +.PP +We further assume that your copies of \fBtar\fR and \fBmake\fR are actually \fB\s-1GNU\s0 +tar\fR and \fB\s-1GNU\s0 make\fR respectively. It could be that they are installed as +\&\fBgtar\fR and \fBgmake\fR on your system. +.SH "OPTIMISTIC BUILD" +.IX Header "OPTIMISTIC BUILD" Before you start to build RRDtool, you have to decide two things: .IP "1." 4 In which directory you want to build the software. @@ -153,18 +160,10 @@ In which directory you want to build the software. Where you want to install the software. .PP Once you have decided. Save the two locations into environment variables. -Depending on the shell you are using, you can do either (bash,zsh): .PP .Vb 2 \& BUILD_DIR=/tmp/rrdbuild -\& INSTALL_DIR=/usr/local/rrdtool\-1.2.27 -.Ve -.PP -Or if you run tcsh: -.PP -.Vb 2 -\& set BUILD_DIR=/tmp/rrdbuild -\& set INSTALL_DIR=/usr/local/rrdtool\-1.2.27 +\& INSTALL_DIR=/usr/local/rrdtool\-1.3rc4 .Ve .PP If your \fI/tmp\fR is mounted with the option noexec (\s-1RHEL\s0 seems todo that) you have to choose @@ -178,26 +177,57 @@ Now make sure the \s-1BUILD_DIR\s0 exists and go there: .Ve .PP Lets first assume you already have all the necessary libraries -pre\-installed. Note that these instructions assume that your copies of -\&\fBtar\fR and \fBmake\fR are actually \fB\s-1GNU\s0 tar\fR and \fB\s-1GNU\s0 make\fR respectively. It -could be that they are installed as \fBgtar\fR and \fBgmake\fR on your system. +pre\-installed. .PP .Vb 4 -\& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.2.27.tar.gz -\& tar zxf rrdtool\-1.2.27.tar.gz -\& cd rrdtool\-1.2.27 +\& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.3rc4.tar.gz +\& gunzip \-c rrdtool\-1.3rc4.tar.gz | tar xf \- +\& cd rrdtool\-1.3rc4 \& ./configure \-\-prefix=$INSTALL_DIR && make && make install .Ve .PP Ok, this was very optimistic. This try will probably have ended with -\&\fBconfigure\fR complaining about several missing libraries. If you are on a -Linux or *bsd system you may want to just install the missing bits from your -software repository. When you do that, make sure you also get the \fB\-dev\fR -package for each library you install. Once you have the missing bits on -board, just re-run the last line of the instructions above. +\&\fBconfigure\fR complaining about several missing libraries. +.SH "INSTALLING DEPENDENCIES" +.IX Header "INSTALLING DEPENDENCIES" +If your \s-1OS\s0 lets you install additional packages from a software repository, +you may get away with installing the missing packages. When the packages are +installed, run configure again and try to compile again. Below you find some +hints on getting your \s-1OS\s0 ready for the rrdtool compilation. Additions to +this list are welcome. +.Sh "OpenSolaris 2008.05" +.IX Subsection "OpenSolaris 2008.05" +Just add a compiler and the gnome development package: +.PP +.Vb 2 +\& pkg install sunstudioexpress +\& pkg install SUNWgnome\-common\-devel +.Ve +.PP +There is a a problem with \fIcairo.pc\fR on opensolaris. It suggests that +xrender is required for compilation with cairo. This is not true and also +bad since opensolaris does not include an \fIxrender.pc\fR file. Use perl to +fix this: +.PP +.Vb 1 +\& perl \-i~ \-p \-e 's/(Requires.*?)\es*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc +.Ve +.Sh "Debian / Ubuntu" +.IX Subsection "Debian / Ubuntu" +Use apt-get to make sure you have all that is required. A number +of packages will get added through dependencies. .PP -But again this may have been too optimistic, and you actually have to -compile your own copies of the required libraries. +.Vb 1 +\& apt\-get install libpango1.0\-dev libxml2\-dev +.Ve +.SH "BUILDING DEPENDENCIES" +.IX Header "BUILDING DEPENDENCIES" +But again this may have been too optimistic still, and you actually have to +compile your own copies of some of the required libraries. Things like +libpng and zlib are pretty standard so you will probably have them on your +system anyway. Freetype, Fontinst, Cairo, Pango may be installed, but it is +possible that they are pretty old and thus don't live up to the +expectations, so you may want to compile their latest versions. .PP \fIBuild Tipps for \s-1AIX\s0\fR .IX Subsection "Build Tipps for AIX" @@ -226,16 +256,71 @@ If you have an other compile you have to use the following settings: .Vb 1 \& CFLAGS="\-xO3 \-kPIC" .Ve +.Sp +.RS 4 +Some libraries want to know where other libraries are. For this to work, +set the following environamen variable +.Sp +.Vb 2 +\& export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig +\& export PATH=$INSTALL_DIR/bin:$PATH +.Ve +.Sp +Since we are compiling libraries dynamically, you they must further know +where to find each other. This is done by setting an appropriate \s-1LDFLAG\s0. +Unfortunatly the syntax differs from system to system: +.IP "Solaris" 4 +.IX Item "Solaris" +.Vb 1 +\& export LDFLAGS=\-R${INSTALL_DIR}/lib +.Ve +.IP "Linux" 4 +.IX Item "Linux" +.Vb 1 +\& export LDFLAGS="\-Wl,\-\-rpath \-Wl,${INSTALL_DIR}/lib" +.Ve +.Sp +If you are on a 64bit platform, but would like to continue to use the rrd files created +on your old 32bit linux, you may be able +.IP "\s-1HPUX\s0" 4 +.IX Item "HPUX" +.Vb 1 +\& export LDFLAGS="+b${INSTALL_DIR}/lib" +.Ve +.IP "\s-1AIX\s0" 4 +.IX Item "AIX" +.Vb 1 +\& export LDFLAGS="\-Wl,\-blibpath:${INSTALL_DIR}/lib" +.Ve +.RE +.RS 4 +.Sp +If you have GNUmake installed and it is not called 'make', +then do +.Sp +.Vb 2 +\& export MAKE=gmake +\& export GNUMAKE=gmake +.Ve +.Sp +otherwhise just do +.Sp +.Vb 1 +\& export MAKE=make +.Ve +.RE .IP "Building zlib" 4 .IX Item "Building zlib" +Chances are very high that you already have that on your system ... +.Sp .Vb 7 \& cd $BUILD_DIR \& wget http://oss.oetiker.ch/rrdtool/pub/libs/zlib\-1.2.3.tar.gz -\& tar zxf zlib\-1.2.3.tar.gz +\& gunzip \-c zlib\-1.2.3.tar.gz | tar xf \- \& cd zlib\-1.2.3 -\& env CFLAGS="\-O3 \-fPIC" ./configure \-\-prefix=$BUILD_DIR/lb -\& make -\& make install +\& ./configure \-\-prefix=$INSTALL_DIR CFLAGS="\-O3 \-fPIC" \-\-shared +\& $MAKE +\& $MAKE install .Ve .IP "Building libpng" 4 .IX Item "Building libpng" @@ -244,77 +329,113 @@ already have a copy of zlib on your system (which is very likley) you can drop the settings of \s-1LDFLAGS\s0 and \s-1CPPFLAGS\s0. Note that the backslash (\e) at the end of line 4 means that line 4 and line 5 are on one line. .Sp -.Vb 8 +.Vb 7 \& cd $BUILD_DIR -\& wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng\-1.2.10.tar.gz -\& tar zxvf libpng\-1.2.10.tar.gz +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng\-1.2.18.tar.gz +\& gunzip \-c libpng\-1.2.18.tar.gz | tar xf \- \& cd libpng\-1.2.10 -\& env CPPFLAGS="\-I$BUILD_DIR/lb/include" LDFLAGS="\-L$BUILD_DIR/lb/lib" CFLAGS="\-O3 \-fPIC" \e -\& ./configure \-\-disable\-shared \-\-prefix=$BUILD_DIR/lb -\& make -\& make install +\& env CFLAGS="\-O3 \-fPIC" ./configure \-\-prefix=$INSTALL_DIR +\& $MAKE +\& $MAKE install .Ve .IP "Building freetype" 4 .IX Item "Building freetype" -.Vb 8 +.Vb 7 \& cd $BUILD_DIR -\& wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype\-2.1.10.tar.bz2 -\& tar jxvf freetype\-2.1.10.tar.bz2 -\& cd freetype\-2.1.10 -\& env CPPFLAGS="\-I$BUILD_DIR/lb/include" LDFLAGS="\-L$BUILD_DIR/lb/lib" CFLAGS="\-O3 \-fPIC" \e -\& ./configure \-\-disable\-shared \-\-prefix=$BUILD_DIR/lb -\& make -\& make install +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype\-2.3.5.tar.gz +\& gunzip \-c freetype\-2.3.5.tar.gz | tar xf \- +\& cd freetype\-2.3.5 +\& ./configure \-\-prefix=$INSTALL_DIR CFLAGS="\-O3 \-fPIC" +\& $MAKE +\& $MAKE install .Ve .Sp If you run into problems building freetype on Solaris, you may want to try to -add the following at the end of the configure line: +add the following at the start the configure line: .Sp .Vb 1 -\& GNUMAKE=gmake EGREP=egrep +\& env EGREP=egrep .Ve -.IP "Building libart_lgpl" 4 -.IX Item "Building libart_lgpl" +.IP "Building LibXML2" 4 +.IX Item "Building LibXML2" .Vb 7 \& cd $BUILD_DIR -\& wget http://oss.oetiker.ch/rrdtool/pub/libs/libart_lgpl\-2.3.17.tar.gz -\& tar zxvf libart_lgpl\-2.3.17.tar.gz -\& cd libart_lgpl\-2.3.17 -\& env CFLAGS="\-O3 \-fPIC" ./configure \-\-disable\-shared \-\-prefix=$BUILD_DIR/lb -\& make -\& make install +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/libxml2\-sources\-2.6.31.tar.gz +\& gunzip \-c libxml2\-sources\-2.6.32.tar.gz | tar xf \- +\& cd libxml2\-sources\-2.6.32 +\& ./configure \-\-prefix=$INSTALL_DIR CFLAGS="\-O3 \-fPIC" +\& $MAKE +\& $MAKE install .Ve -.PP -Now all the dependent libraries are built and you can try again. Since these -are static libraries, you may have to use \fIranlib\fR to make them accessible. -Especially \s-1BSD\s0 systems like Mac \s-1OS\s0 X may require this, Linux and Solaris -will do just fine without since their \fIar\fR command does ranlibs job as well. -.PP -.Vb 1 -\& ranlib $BUILD_DIR/lb/lib/*.a +.IP "Building fontconfig" 4 +.IX Item "Building fontconfig" +Note that fontconfig has a runtime configuration file in INSTALL_DIR/etc you +may want to adjust that so that fontconfig finds the fonts on your system. +Run the fc-cache program to build the fontconfig cache after changeing the +config file. +.Sp +.Vb 7 +\& cd $BUILD_DIR +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/fontconfig\-2.4.2.tar.gz +\& gunzip \-c fontconfig\-2.4.2.tar.gz | tar xf \- +\& cd fontconfig\-2.4.2 +\& ./configure \-\-prefix=$INSTALL_DIR CFLAGS="\-O3 \-fPIC" +\& $MAKE +\& $MAKE install .Ve -.PP -This time you tell configure where it should be looking for libraries and -include files. This is done via environment variables. Depending on the -shell you are running, the syntax for setting environment variables is -different. Under csh/tcsh you use: -.PP -.Vb 4 -\& set IR=\-I$BUILD_DIR/lb/include -\& setenv CPPFLAGS "$IR $IR/libart\-2.0 $IR/freetype2 $IR/libpng" -\& setenv LDFLAGS \-L$BUILD_DIR/lb/lib -\& setenv CFLAGS \-O3 +.IP "Building Pixman" 4 +.IX Item "Building Pixman" +.Vb 7 +\& cd $BUILD_DIR +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/pixman\-0.10.0.tar.gz +\& gunzip \-c pixman\-0.10.0.tar.gz | tar xf \- +\& cd fontconfig\-2.4.2 +\& ./configure \-\-prefix=$INSTALL_DIR CFLAGS="\-O3 \-fPIC" +\& $MAKE +\& $MAKE install .Ve -.PP -If you are running bash/sh/ash/ksh/zsh use this: -.PP -.Vb 5 -\& IR=\-I$BUILD_DIR/lb/include -\& CPPFLAGS="$IR $IR/libart\-2.0 $IR/freetype2 $IR/libpng" -\& LDFLAGS="\-L$BUILD_DIR/lb/lib" -\& CFLAGS=\-O3 -\& export CPPFLAGS LDFLAGS CFLAGS +.IP "Building Cairo" 4 +.IX Item "Building Cairo" +.Vb 11 +\& cd $BUILD_DIR +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/cairo\-1.6.4.tar.gz +\& gunzip \-c cairo\-1.4.10.tar.gz | tar xf \- +\& cd cairo\-1.4.10 +\& ./configure \-\-prefix=$INSTALL_DIR \e +\& \-\-enable\-xlib=no \e +\& \-\-enable\-xlib\-render=no \e +\& \-\-enable\-win32=no \e +\& CFLAGS="\-O3 \-fPIC" +\& $MAKE +\& $MAKE install .Ve +.IP "Building Glib" 4 +.IX Item "Building Glib" +.Vb 7 +\& cd $BUILD_DIR +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/glib\-2.15.4.tar.gz +\& gunzip \-c glib\-2.12.13.tar.gz | tar xf \- +\& cd glib\-2.12.13 +\& ./configure \-\-prefix=$INSTALL_DIR CFLAGS="\-O3 \-fPIC" +\& $MAKE +\& $MAKE install +.Ve +.IP "Building Pango" 4 +.IX Item "Building Pango" +.Vb 7 +\& cd $BUILD_DIR +\& wget http://oss.oetiker.ch/rrdtool/pub/libs/pango\-1.21.1.tar.gz +\& gunzip \-c pango\-1.21.1.tar.gz | tar xf \- +\& cd pango\-1.21.1 +\& ./configure \-\-prefix=$INSTALL_DIR CFLAGS="\-O3 \-fPIC" \-\-without\-x +\& $MAKE +\& $MAKE install +.Ve +.PP +Now all the dependent libraries are built and you can try again. This time +you tell configure where it should be looking for libraries and include +files. This is done via environment variables. Depending on the shell you +are running, the syntax for setting environment variables is different. .PP And finally try building again. We disable the python and tcl bindings because it seems that a fair number of people have ill configured python and @@ -322,20 +443,20 @@ tcl setups that would prevent rrdtool from building if they are included in their current state. .PP .Vb 5 -\& cd $BUILD_DIR/rrdtool\-1.2.27 -\& ./configure \-\-prefix=$INSTALL_DIR \-\-disable\-python \-\-disable\-tcl -\& make clean -\& make -\& make install +\& cd $BUILD_DIR/rrdtool\-1.3rc4 +\& ./configure \-\-prefix=$INSTALL_DIR \-\-disable\-tcl \-\-disable\-python +\& $MAKE clean +\& $MAKE +\& $MAKE install .Ve .PP \&\s-1SOLARIS\s0 \s-1HINT:\s0 if you want to build the perl module for the native perl (the -one shipping with solaris) you will need the sun forte compiler -installed on your box or you have to hand-tune bindings/perl\-shared/Makefile -while building! +one shipping with solaris) you will need the sun forte compiler installed on +your box or you have to hand-tune bindings/perl\-shared/Makefile while +building! .PP -Now go to \fI$INSTALL_DIR\fR\fB/share/rrdtool/examples/\fR and run them to see if your -build has been successful. +Now go to \fI$INSTALL_DIR\fR\fB/share/rrdtool/examples/\fR and run them to see if +your build has been successful. .SH "AUTHOR" .IX Header "AUTHOR" Tobias Oetiker diff --git a/doc/rrdbuild.html b/doc/rrdbuild.html index 455b85d..e91a572 100644 --- a/doc/rrdbuild.html +++ b/doc/rrdbuild.html @@ -16,11 +16,18 @@

  • NAME
  • -
  • DESCRIPTION
  • +
  • OVERVIEW
  • +
  • OPTIMISTIC BUILD
  • +
  • INSTALLING DEPENDENCIES
  • + + +
  • BUILDING DEPENDENCIES
    • -
    • Overview
    • -
    • Building
    • @@ -34,7 +39,7 @@


      SYNOPSIS

      -

      rrdtool graph filename +

      rrdtool graph|graphv filename [option ...] [data definition ...] [data calculation ...] @@ -71,7 +76,7 @@ well become unknown!

      it. For instance, you might be collecting bytes per second, but want to display bits per second. This is what the data calculation command is designed for. After consolidating the data, a copy is made and this copy is modified -using a rather powerful the rrdgraph_rpn manpage command set.

      +using a rather powerful RPN command set.

      When you are done fetching and processing the data, it is time to graph it (or print it). This ends the rrdtool graph sequence.

      @@ -79,6 +84,15 @@ graph it (or print it). This ends the rrdtool graph sequence.<


      OPTIONS

      +
      graphv + +
      +

      This alternate version of graph takes the same arguments and performs the +same function. The v stands for verbose, which describes the output +returned. graphv will return a lot of information about the graph using +the same format as rrdtool info (key = value). See the bottom of the document for more information.

      +
      +
      filename
      @@ -102,7 +116,7 @@ this case, no other output is generated.

      RRA the data should come from. Defaults are: 1 day ago until now, with the best possible resolution. Start and end can be specified in several formats, see -the rrdfetch manpage and the rrdgraph_examples manpage. +AT-STYLE TIME SPECIFICATION and the rrdgraph_examples manpage. By default, rrdtool graph calculates the width of one pixel in the time domain and tries to get data from an RRA with that resolution. With the step option you can alter this behaviour. @@ -127,13 +141,19 @@ placed string at the left hand side of the graph.

      [-w|--width pixels] [-h|--height pixels] -[-j|--only-graph]

      +[-j|--only-graph] +[-D|--full-size-mode]

      -

      The width and height of the canvas (the part of the graph with +

      By default, the width and height of the canvas (the part with the actual data and such). This defaults to 400 pixels by 100 pixels.

      +

      If you specify the --full-size-mode option, the width and height +specify the final dimensions of the output image and the canvas +is automatically resized to fit.

      +
      +

      If you specify the --only-graph option and set the height < 32 pixels you will get a tiny graph image (thumbnail) to use as an icon for use in an overview, for example. All labeling will be stripped off @@ -191,16 +211,19 @@ and thus the throughput may be higher than the WAN line speed.

      [-N|--no-gridfit]

      -

      In order to avoid anti-aliasing effects gridlines are placed on -integer pixel values. This is by default done by extending -the scale so that gridlines happens to be spaced using an -integer number of pixels and also start on an integer pixel value. -This might extend the scale too much for some logarithmic scales -and for linear scales where --alt-autoscale is needed. -Using --no-gridfit disables modification of the scale.

      +

      In order to avoid anti-aliasing blurring effects rrdtool snaps +points to device resolution pixels, this results in a crisper +aperance. If this is not to your liking, you can use this switch +to turn this behaviour off.

      +
      +
      +

      Gridfitting is turned off for PDF, EPS, SVG output by default.

      -
      X-Grid +
      Grid + +
      +
      X-Axis

      [-x|--x-grid GTM:GST:MTM:MST:LTM:LST:LPR:LFM]

      @@ -238,7 +261,7 @@ lines as they specify exactly that time.

      - --x-grid HOUR:8:DAY:1:DAY:1:0:%A
      + --x-grid HOUR:8:DAY:1:DAY:1:86400:%A

      This places grid lines every 8 hours, major grid lines and labels @@ -246,7 +269,7 @@ each day. The labels are placed exactly between two major grid lines as they specify the complete day and not just midnight.

      -
      Y-Grid +
      Y-Axis

      [-y|--y-grid grid step:label factor]

      @@ -319,6 +342,7 @@ the appropriate units (k, M, etc.) instead of using exponential notation. Note that for linear graphs, SI notation is used by default.

      +
      Miscellaneous
      @@ -378,7 +402,7 @@ elements, TITLE for the title, AXIS for the axis label for the vertical unit label, LEGEND for the graph legend.

      -

      Use Times for the title: --font TITLE:13:/usr/lib/fonts/times.ttf

      +

      Use Times for the title: --font TITLE:13:Times

      If you do not give a font string you can modify just the sice of the default font: @@ -387,32 +411,64 @@ for the vertical unit label, LEGEND for the graph legend.

      If you specify the size 0 then you can modify just the font without touching the size. This is especially usefull for altering the default font without -resetting the default fontsizes: --font DEFAULT:0:/usr/lib/fonts/times.ttf.

      +resetting the default fontsizes: --font DEFAULT:0:Courier.

      RRDtool comes with a preset default font. You can set the environment variable RRD_DEFAULT_FONT if you want to change this.

      -

      Truetype fonts are only supported for PNG output. See below.

      +

      RRDtool uses Pango for its font handling. This means you can to use +the full Pango syntax when selecting your font:

      -

      [-R|--font-render-mode {normal,light,mono}]

      +

      The font name has the form ``[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]'', +where FAMILY-LIST is a comma separated list of families optionally +terminated by a comma, STYLE_OPTIONS is a whitespace separated list of +words where each WORD describes one of style, variant, weight, stretch, or +gravity, and SIZE is a decimal number (size in points) or optionally +followed by the unit modifier ``px'' for absolute size. Any one of the options +may be absent.

      -

      This lets you customize the strength of the font smoothing, -or disable it entirely using mono. By default, normal -font smoothing is used.

      +

      [-R|--font-render-mode {normal,light,mono}]

      +
      +
      +

      There are 3 font render modes:

      +
      +
      +

      normal: Full Hinting and Antialiasing (default)

      +
      +
      +

      light: Slight Hinting and Antialiasing

      +
      +
      +

      mono: Full Hinting and NO Antialiasing

      [-B|--font-smoothing-threshold size]

      +

      (this gets ignored in 1.3 for now!)

      +
      +

      This specifies the largest font size which will be rendered bitmapped, that is, without any font smoothing. By default, no text is rendered bitmapped.

      +

      [-G|--graph-render-mode {normal,mono}]

      +
      +
      +

      There are 2 render modes:

      +
      +
      +

      normal: Graphs are fully Antialiased (default)

      +
      +
      +

      mono: No Antialiasing

      +
      +

      [-E|--slope-mode]

      @@ -434,6 +490,9 @@ Times-Bold, Times-BoldItalic, Times-Italic, Times-Roman, and ZapfDingbats.

      [-i|--interlaced]

      +

      (this gets ignored in 1.3 for now!)

      +
      +

      If images are interlaced they become visible on browsers more quickly.

      @@ -497,9 +556,65 @@ at least one print statement to generate a report. See the rrdgraph_graph manpage for the exact format.

      +
      Markup + +
      +

      All text in rrdtool is rendered using Pango markup. This means text can contain embeded markup instructions. +Simple html markup using +

      +
      +
      +
      +
      + <span key="value">text</span>
      +
      +
      +

      can be used. Apart from the verbose syntax, there are also the following short tags available.

      +
      +
      +
      + b     Bold
      + big   Makes font relatively larger, equivalent to <span size="larger">
      + i     Italic
      + s     Strikethrough
      + sub   Subscript
      + sup   Superscript
      + small Makes font relatively smaller, equivalent to <span size="smaller">
      + tt    Monospace font
      + u     Underline 
      + 
      +More details on http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html.
      +
      +

      +

      graphv

      +

      Calling rrdtool with the graphv option will return information in the +rrdtool info format. On the command line this means that all output will be +in key=value format. When used from the perl and ruby bindings a hash +pointer will be returned from the call.

      +

      When the filename '-' is given, the contents of the graph itself will also +be returned through this interface (hash key 'image'). On the command line +the output will look like this:

      +
      + print[0] = "0.020833"
      + print[1] = "0.0440833"
      + graph_left = 51
      + graph_top = 22
      + graph_width = 400
      + graph_height = 100
      + image_width = 481
      + image_height = 154
      + value_min = 0.0000000000e+00
      + value_max = 4.0000000000e-02
      + image = BLOB_SIZE:8196
      + [... 8196 bytes of image data ...]
      +

      There is more information returned than in the standard interface. +Especially the 'graph_*' keys are new. They help applications that want to +know what is where on the graph.

      +

      +


      SEE ALSO

      the rrdgraph manpage gives an overview of how rrdtool graph works. @@ -512,7 +627,9 @@ See the rrdgraph_graph manpage for the exa


      AUTHOR

      Program by Tobias Oetiker <tobi@oetiker.ch>

      -

      This manual page by Alex van den Bogaerdt <alex@ergens.op.het.net>

      +

      This manual page by Alex van den Bogaerdt <alex@ergens.op.het.net> + +

      diff --git a/doc/rrdgraph.pod b/doc/rrdgraph.pod index 11b447e..54fd5b0 100644 --- a/doc/rrdgraph.pod +++ b/doc/rrdgraph.pod @@ -4,7 +4,7 @@ rrdgraph - Round Robin Database tool grapher functions =head1 SYNOPSIS -B I +B I [I> ...] [I> ...] [I> ...] @@ -43,7 +43,7 @@ it. For instance, you might be collecting B per second, but want to display B per second. This is what the B> command is designed for. After B the data, a copy is made and this copy is modified -using a rather powerful L command set. +using a rather powerful B> command set. When you are done fetching and processing the data, it is time to graph it (or print it). This ends the B sequence. @@ -52,6 +52,14 @@ graph it (or print it). This ends the B sequence. =over 4 +=item B + +This alternate version of B takes the same arguments and performs the +same function. The I stands for I, which describes the output +returned. B will return a lot of information about the graph using +the same format as rrdtool info (key = value). See the bottom of the document for more information. + + =item filename The name and path of the graph to generate. It is recommended to @@ -70,7 +78,7 @@ The start and end of the time series you would like to display, and which B the data should come from. Defaults are: 1 day ago until now, with the best possible resolution. B and B can be specified in several formats, see -L and L. +L and L. By default, B calculates the width of one pixel in the time domain and tries to get data from an B with that resolution. With the B option you can alter this behaviour. @@ -91,10 +99,15 @@ placed string at the left hand side of the graph. [B<-w>|B<--width> I] [B<-h>|B<--height> I] [B<-j>|B<--only-graph>] +[B<-D>|B<--full-size-mode>] -The width and height of the B (the part of the graph with +By default, the width and height of the B (the part with the actual data and such). This defaults to 400 pixels by 100 pixels. +If you specify the B<--full-size-mode> option, the width and height +specify the final dimensions of the output image and the canvas +is automatically resized to fit. + If you specify the B<--only-graph> option and set the height E 32 pixels you will get a tiny graph image (thumbnail) to use as an icon for use in an overview, for example. All labeling will be stripped off @@ -141,15 +154,18 @@ and thus the throughput may be higher than the WAN line speed. [B<-N>|B<--no-gridfit>] -In order to avoid anti-aliasing effects gridlines are placed on -integer pixel values. This is by default done by extending -the scale so that gridlines happens to be spaced using an -integer number of pixels and also start on an integer pixel value. -This might extend the scale too much for some logarithmic scales -and for linear scales where B<--alt-autoscale> is needed. -Using B<--no-gridfit> disables modification of the scale. +In order to avoid anti-aliasing blurring effects rrdtool snaps +points to device resolution pixels, this results in a crisper +aperance. If this is not to your liking, you can use this switch +to turn this behaviour off. -=item X-Grid +Gridfitting is turned off for PDF, EPS, SVG output by default. + +=item Grid + +=over 4 + +=item X-Axis [B<-x>|B<--x-grid> IB<:>IB<:>IB<:>IB<:>IB<:>IB<:>IB<:>I] @@ -178,13 +194,13 @@ This places grid lines every 10 minutes, major grid lines every hour, and labels every 4 hours. The labels are placed under the major grid lines as they specify exactly that time. - --x-grid HOUR:8:DAY:1:DAY:1:0:%A + --x-grid HOUR:8:DAY:1:DAY:1:86400:%A This places grid lines every 8 hours, major grid lines and labels each day. The labels are placed exactly between two major grid lines as they specify the complete day and not just midnight. -=item Y-Grid +=item Y-Axis [B<-y>|B<--y-grid> IB<:>I