From 5ae9312d35bd9931a761a15cbf1e8effe2e7b5d4 Mon Sep 17 00:00:00 2001
From: Alexander Wirt
Date: Tue, 19 Feb 2008 00:19:55 +0100
Subject: [PATCH] Imported upstream version 1.2.27
---
CHANGES | 72 ++
COPYRIGHT | 180 ++---
bindings/perl-piped/RRDp.pm | 2 +-
bindings/perl-shared/Makefile.PL | 5 +-
bindings/perl-shared/RRDs.pm | 2 +-
bindings/tcl/tclrrd.c | 26 +-
configure | 1194 ++++++++++++++++++++++++++++--
configure.ac | 145 +++-
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 | 14 +-
doc/rrdbuild.html | 12 +-
doc/rrdbuild.pod | 12 +-
doc/rrdbuild.txt | 14 +-
doc/rrdcgi.1 | 2 +-
doc/rrdcgi.txt | 2 +-
doc/rrdcreate.1 | 25 +-
doc/rrdcreate.html | 7 +-
doc/rrdcreate.pod | 10 +-
doc/rrdcreate.txt | 298 ++++----
doc/rrddump.1 | 2 +-
doc/rrddump.txt | 2 +-
doc/rrdfetch.1 | 2 +-
doc/rrdfetch.txt | 2 +-
doc/rrdfirst.1 | 2 +-
doc/rrdfirst.txt | 2 +-
doc/rrdgraph.1 | 22 +-
doc/rrdgraph.html | 12 +-
doc/rrdgraph.pod | 14 +-
doc/rrdgraph.txt | 164 ++--
doc/rrdgraph_data.1 | 2 +-
doc/rrdgraph_data.txt | 2 +-
doc/rrdgraph_examples.1 | 2 +-
doc/rrdgraph_examples.txt | 2 +-
doc/rrdgraph_graph.1 | 156 ++--
doc/rrdgraph_graph.html | 159 +---
doc/rrdgraph_graph.pod | 160 +---
doc/rrdgraph_graph.txt | 122 +--
doc/rrdgraph_rpn.1 | 8 +-
doc/rrdgraph_rpn.html | 9 -
doc/rrdgraph_rpn.pod | 6 -
doc/rrdgraph_rpn.txt | 8 +-
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 | 2 +-
doc/rrdtune.txt | 2 +-
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 +-
netware/Makefile | 26 +-
rrd_config.h.in | 115 ++-
rrdtool.spec | 2 +-
src/Makefile.am | 4 +-
src/Makefile.in | 4 +-
src/pngsize.c | 2 +-
src/rrd.h | 4 +-
src/rrd_afm.c | 4 +-
src/rrd_afm.h | 2 +-
src/rrd_afm_data.c | 2 +-
src/rrd_afm_data.h | 2 +-
src/rrd_cgi.c | 4 +-
src/rrd_create.c | 2 +-
src/rrd_diff.c | 4 +-
src/rrd_dump.c | 4 +-
src/rrd_error.c | 4 +-
src/rrd_fetch.c | 4 +-
src/rrd_first.c | 2 +-
src/rrd_format.c | 4 +-
src/rrd_format.h | 2 +-
src/rrd_gfx.c | 2 +-
src/rrd_gfx.h | 2 +-
src/rrd_graph.c | 23 +-
src/rrd_graph_helper.c | 2 +-
src/rrd_hw.c | 2 +-
src/rrd_hw.h | 2 +-
src/rrd_info.c | 2 +-
src/rrd_is_thread_safe.h | 4 +-
src/rrd_last.c | 2 +-
src/rrd_lastupdate.c | 2 +-
src/rrd_not_thread_safe.c | 4 +-
src/rrd_open.c | 4 +-
src/rrd_resize.c | 2 +-
src/rrd_restore.c | 2 +-
src/rrd_rpncalc.c | 2 +-
src/rrd_rpncalc.h | 2 +-
src/rrd_thread_safe.c | 4 +-
src/rrd_thread_safe_nt.c | 4 +-
src/rrd_tool.c | 4 +-
src/rrd_tool.h | 31 +-
src/rrd_tune.c | 4 +-
src/rrd_update.c | 20 +-
src/rrd_version.c | 2 +-
src/rrd_xport.c | 2 +-
src/rrd_xport.h | 2 +-
src/rrdupdate.c | 6 +-
win32/Makefile | 33 +-
119 files changed, 2220 insertions(+), 1098 deletions(-)
diff --git a/CHANGES b/CHANGES
index 56bf7d0..cf537f8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,75 @@
+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,
diff --git a/COPYRIGHT b/COPYRIGHT
index ab5c695..22c971f 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,90 +1,90 @@
- RRDTOOL - Round Robin Database Tool
- A tool for fast logging of numerical data graphical display
- of this data.
-
- Copyright (c) 1998-2006 Tobias Oetiker
- All rights reserved.
-
- GNU GPL License
- ===============
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
- FLOSS License Exception
- =======================
- (Adapted from http://www.mysql.com/company/legal/licensing/foss-exception.html)
-
- I want specified Free/Libre and Open Source Software ("FLOSS")
- applications to be able to use specified GPL-licensed RRDtool
- libraries (the "Program") despite the fact that not all FLOSS licenses are
- compatible with version 2 of the GNU General Public License (the "GPL").
-
- As a special exception to the terms and conditions of version 2.0 of the GPL:
-
- You are free to distribute a Derivative Work that is formed entirely from
- the Program and one or more works (each, a "FLOSS Work") licensed under one
- or more of the licenses listed below, as long as:
-
- 1. You obey the GPL in all respects for the Program and the Derivative
- Work, except for identifiable sections of the Derivative Work which are
- not derived from the Program, and which can reasonably be considered
- independent and separate works in themselves,
-
- 2. all identifiable sections of the Derivative Work which are not derived
- from the Program, and which can reasonably be considered independent and
- separate works in themselves,
-
- 1. are distributed subject to one of the FLOSS licenses listed
- below, and
-
- 2. the object code or executable form of those sections are
- accompanied by the complete corresponding machine-readable source
- code for those sections on the same medium and under the same FLOSS
- license as the corresponding object code or executable forms of
- those sections, and
-
- 3. any works which are aggregated with the Program or with a Derivative
- Work on a volume of a storage or distribution medium in accordance with
- the GPL, can reasonably be considered independent and separate works in
- themselves which are not derivatives of either the Program, a Derivative
- Work or a FLOSS Work.
-
- If the above conditions are not met, then the Program may only be copied,
- modified, distributed or used under the terms and conditions of the GPL.
-
- FLOSS License List
- ==================
- License name Version(s)/Copyright Date
- Academic Free License 2.0
- Apache Software License 1.0/1.1/2.0
- Apple Public Source License 2.0
- Artistic license From Perl 5.8.0
- BSD license "July 22 1999"
- Common Public License 1.0
- GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1
- IBM Public License, Version 1.0
- Jabber Open Source License 1.0
- MIT License (As listed in file MIT-License.txt) -
- Mozilla Public License (MPL) 1.0/1.1
- Open Software License 2.0
- OpenSSL license (with original SSLeay license) "2003" ("1998")
- PHP License 3.0
- Python license (CNRI Python License) -
- Python Software Foundation License 2.1.1
- Sleepycat License "1999"
- W3C License "2001"
- X11 License "2001"
- Zlib/libpng License -
- Zope Public License 2.0
+RRDTOOL - Round Robin Database Tool
+A tool for fast logging of numerical data graphical display
+of this data.
+
+Copyright (c) 1998-2008 Tobias Oetiker
+All rights reserved.
+
+GNU GPL License
+===============
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+FLOSS License Exception
+=======================
+(Adapted from http://www.mysql.com/company/legal/licensing/foss-exception.html)
+
+I want specified Free/Libre and Open Source Software ("FLOSS")
+applications to be able to use specified GPL-licensed RRDtool
+libraries (the "Program") despite the fact that not all FLOSS licenses are
+compatible with version 2 of the GNU General Public License (the "GPL").
+
+As a special exception to the terms and conditions of version 2.0 of the GPL:
+
+You are free to distribute a Derivative Work that is formed entirely from
+the Program and one or more works (each, a "FLOSS Work") licensed under one
+or more of the licenses listed below, as long as:
+
+1. You obey the GPL in all respects for the Program and the Derivative
+Work, except for identifiable sections of the Derivative Work which are
+not derived from the Program, and which can reasonably be considered
+independent and separate works in themselves,
+
+2. all identifiable sections of the Derivative Work which are not derived
+from the Program, and which can reasonably be considered independent and
+separate works in themselves,
+
+1. are distributed subject to one of the FLOSS licenses listed
+below, and
+
+2. the object code or executable form of those sections are
+accompanied by the complete corresponding machine-readable source
+code for those sections on the same medium and under the same FLOSS
+license as the corresponding object code or executable forms of
+those sections, and
+
+3. any works which are aggregated with the Program or with a Derivative
+Work on a volume of a storage or distribution medium in accordance with
+the GPL, can reasonably be considered independent and separate works in
+themselves which are not derivatives of either the Program, a Derivative
+Work or a FLOSS Work.
+
+If the above conditions are not met, then the Program may only be copied,
+modified, distributed or used under the terms and conditions of the GPL.
+
+FLOSS License List
+==================
+License name Version(s)/Copyright Date
+Academic Free License 2.0
+Apache Software License 1.0/1.1/2.0
+Apple Public Source License 2.0
+Artistic license From Perl 5.8.0
+BSD license "July 22 1999"
+Common Public License 1.0
+GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1
+IBM Public License, Version 1.0
+Jabber Open Source License 1.0
+MIT License (As listed in file MIT-License.txt) -
+Mozilla Public License (MPL) 1.0/1.1
+Open Software License 2.0
+OpenSSL license (with original SSLeay license) "2003" ("1998")
+PHP License 3.0
+Python license (CNRI Python License) -
+Python Software Foundation License 2.1.1
+Sleepycat License "1999"
+W3C License "2001"
+X11 License "2001"
+Zlib/libpng License -
+Zope Public License 2.0/2.1
diff --git a/bindings/perl-piped/RRDp.pm b/bindings/perl-piped/RRDp.pm
index 3dce004..bc95a12 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.2026;
+$VERSION=1.2027;
sub start ($){
croak "rrdtool is already running"
diff --git a/bindings/perl-shared/Makefile.PL b/bindings/perl-shared/Makefile.PL
index 863444c..c31f3b9 100644
--- a/bindings/perl-shared/Makefile.PL
+++ b/bindings/perl-shared/Makefile.PL
@@ -30,8 +30,11 @@ 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"},
+ #'dynamic_lib' => {'OTHERLDFLAGS' => "$librrd -lm"},
+ 'depend' => {'RRDs.c' => "../../src/librrd.la"},
+ '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 2c02dad..44b4d8c 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.2026;
+$VERSION=1.2027;
bootstrap RRDs $VERSION;
diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c
index b1b43cc..0086cc8 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 1044 2007-05-02 05:08:21Z oetiker $
+ * $Id: tclrrd.c 1268 2008-01-14 16:47:23Z oetiker $
*/
@@ -100,6 +100,8 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
unsigned long int pdp_step = 300;
struct rrd_time_value last_up_tv;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
for (argv_i = 1; argv_i < argc; argv_i++) {
@@ -169,7 +171,7 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
return TCL_ERROR;
}
- rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, argv2 + 2);
+ rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, (const char **) argv2 + 2);
getopt_cleanup(argc, argv2);
@@ -189,6 +191,8 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
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);
@@ -215,6 +219,8 @@ Rrd_Dump(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;
if (argc < 2) {
@@ -246,6 +252,8 @@ Rrd_Update(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
int argv_i;
char **argv2, *template = NULL;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
for (argv_i = 1; argv_i < argc; argv_i++) {
@@ -291,7 +299,7 @@ Rrd_Update(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
return TCL_ERROR;
}
- rrd_update_r(argv2[1], template, argc - 2, argv2 + 2);
+ rrd_update_r(argv2[1], template, argc - 2, (const char **) argv2 + 2);
if (template != NULL) {
free(template);
@@ -319,6 +327,8 @@ Rrd_Lastupdate(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char
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) {
@@ -358,6 +368,8 @@ Rrd_Fetch(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *arg
char s[30];
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
if (rrd_fetch(argc, argv2, &start, &end, &step,
&ds_cnt, &ds_namv, &data) != -1) {
@@ -402,6 +414,8 @@ Rrd_Graph(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *arg
char **argv2;
CONST84 char *save;
+ (void) clientData; /* slience gcc */
+
/*
* If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to
* that file descriptor. Will this work with windoze? I have no idea.
@@ -496,6 +510,8 @@ Rrd_Tune(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv
{
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
rrd_tune(argc, argv2);
getopt_cleanup(argc, argv2);
@@ -517,6 +533,8 @@ Rrd_Resize(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
{
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
rrd_resize(argc, argv2);
getopt_cleanup(argc, argv2);
@@ -538,6 +556,8 @@ Rrd_Restore(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *a
{
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
rrd_restore(argc, argv2);
getopt_cleanup(argc, argv2);
diff --git a/configure b/configure
index 715e1f9..105dfce 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.26.
+# Generated by GNU Autoconf 2.61 for rrdtool 1.2.27.
#
# 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.26'
-PACKAGE_STRING='rrdtool 1.2.26'
+PACKAGE_VERSION='1.2.27'
+PACKAGE_STRING='rrdtool 1.2.27'
PACKAGE_BUGREPORT=''
ac_default_prefix=/usr/local/rrdtool-$PACKAGE_VERSION
@@ -1453,7 +1453,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.26 to adapt to many kinds of systems.
+\`configure' configures rrdtool 1.2.27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1524,7 +1524,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of rrdtool 1.2.26:";;
+ short | recursive ) echo "Configuration of rrdtool 1.2.27:";;
esac
cat <<\_ACEOF
@@ -1660,7 +1660,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-rrdtool configure 1.2.26
+rrdtool configure 1.2.27
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1674,7 +1674,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.26, which was
+It was created by rrdtool $as_me 1.2.27, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2027,7 +2027,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-NUMVERS=1.2026
+NUMVERS=1.2027
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2472,7 +2472,7 @@ fi
# Define the identity of the package.
PACKAGE='rrdtool'
- VERSION='1.2.26'
+ VERSION='1.2.27'
cat >>confdefs.h <<_ACEOF
@@ -19844,7 +19844,8 @@ fi
-for ac_header in 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 float.h strings.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
@@ -21170,9 +21171,18 @@ _ACEOF
fi
-{ echo "$as_me:$LINENO: checking whether posix_fadvise is declared" >&5
-echo $ECHO_N "checking whether posix_fadvise is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_posix_fadvise+set}" = set; then
+
+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
@@ -21181,28 +21191,53 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#define _XOPEN_SOURCE 600
-#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 posix_fadvise
- (void) posix_fadvise;
-#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
@@ -21211,58 +21246,60 @@ 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_posix_fadvise=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_posix_fadvise=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_posix_fadvise" >&5
-echo "${ECHO_T}$ac_cv_have_decl_posix_fadvise" >&6; }
-if test $ac_cv_have_decl_posix_fadvise = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_POSIX_FADVISE 1
-_ACEOF
-
-
-else
+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 HAVE_DECL_POSIX_FADVISE 0
+#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
+ ;;
+ *)
-{ echo "$as_me:$LINENO: checking whether madvise is declared" >&5
-echo $ECHO_N "checking whether madvise is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_madvise+set}" = set; then
+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
- cat >conftest.$ac_ext <<_ACEOF
+ # 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. */
-#include
-
-int
-main ()
-{
-#ifndef madvise
- (void) madvise;
-#endif
-
- ;
- return 0;
-}
+$ac_includes_default
+#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
@@ -21281,33 +21318,1060 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- ac_cv_have_decl_madvise=yes
+ ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_have_decl_madvise=no
+ ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_madvise" >&5
-echo "${ECHO_T}$ac_cv_have_decl_madvise" >&6; }
-if test $ac_cv_have_decl_madvise = yes; then
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MADVISE 1
+# 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 HAVE_DECL_MADVISE 0
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
+fi
+
+done
+
+
+for ac_header in stdlib.h unistd.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
+
+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
+ 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
+
+fi
+done
+
+{ 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
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_mmap_fixed_mapped=no
+else
+ 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;
+}
+_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
+ ac_cv_func_mmap_fixed_mapped=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 )
+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
+fi
+
+
+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
+
+fi
+rm -f conftest.mmap
+
+
+
+
+for ac_func in mmap munmap msync
+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
+
+fi
+done
+
+ { echo "$as_me:$LINENO: checking whether madvise is declared" >&5
+echo $ECHO_N "checking whether madvise is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_madvise+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. */
+#ifdef HAVE_SYS_MMAN_H
+ # include
+ #endif
+
+int
+main ()
+{
+#ifndef madvise
+ (void) madvise;
+#endif
+
+ ;
+ return 0;
+}
+_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_cv_have_decl_madvise=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_madvise=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_madvise" >&5
+echo "${ECHO_T}$ac_cv_have_decl_madvise" >&6; }
+if test $ac_cv_have_decl_madvise = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MADVISE 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MADVISE 0
+_ACEOF
+
+
+fi
+
+
+ if test "x$ac_cv_have_decl_madvise" = "xyes";
+ then
+
+for ac_func in madvise
+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
+
+fi
+done
+
+ else
+
+for ac_func in posix_madvise
+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
+
+fi
+done
+
+ if test "x$ac_cv_func_posix_madvise" != "xyes"; then
+ { echo "$as_me:$LINENO: WARNING: madvise() nor posix_madvise() found." >&5
+echo "$as_me: WARNING: madvise() nor posix_madvise() found." >&2;}
+ fi
+ fi
+ ;;
+ esac
+ if test "x$ac_cv_func_mmap" != "xyes";
+ then
+ { { echo "$as_me:$LINENO: error: --enable-mmap requested but mmap() was not detected" >&5
+echo "$as_me: error: --enable-mmap requested but mmap() was not detected" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+{ echo "$as_me:$LINENO: checking whether posix_fadvise is declared" >&5
+echo $ECHO_N "checking whether posix_fadvise is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_posix_fadvise+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 _XOPEN_SOURCE 600
+#include
+
+int
+main ()
+{
+#ifndef posix_fadvise
+ (void) posix_fadvise;
+#endif
+
+ ;
+ return 0;
+}
+_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_cv_have_decl_posix_fadvise=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_posix_fadvise=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_posix_fadvise" >&5
+echo "${ECHO_T}$ac_cv_have_decl_posix_fadvise" >&6; }
+if test $ac_cv_have_decl_posix_fadvise = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_POSIX_FADVISE 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_POSIX_FADVISE 0
+_ACEOF
+
+
+fi
+
+
+
+for ac_func in posix_fadvise
+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
+
+fi
+done
if test "x$enable_mmap" = xyes; then
@@ -27972,7 +29036,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.26, which was
+This file was extended by rrdtool $as_me 1.2.27, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -28025,7 +29089,7 @@ Report bugs to ."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-rrdtool config.status 1.2.26
+rrdtool config.status 1.2.27
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index e09c051..f238427 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,13 +8,13 @@ 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.26])
+AC_INIT([rrdtool],[1.2.27])
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 a.b999yymmddhh
-NUMVERS=1.2026
+NUMVERS=1.2027
AC_SUBST(NUMVERS)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
@@ -49,15 +49,106 @@ AH_TOP([
/* realloc does not support NULL as argument */
#undef NO_NULL_REALLOC
+/* lets enable madvise defines in NetBSD */
+#if defined(__NetBSD__)
+# if !defined(_NETBSD_SOURCE)
+# define _NETBSD_SOURCE
+# endif
+#endif
+
])
AH_BOTTOM([
-/* enable posix_fadvise on linux */
-#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H)
+#ifdef HAVE_FEATURES_H
#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
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
+# include
+#endif
+
+#ifdef HAVE_SYS_PARAM_H
+# include
+#endif
+#ifndef MAXPATH
+# ifdef PATH_MAX
+# define MAXPATH PATH_MAX
+# endif
+#endif
+#ifndef MAXPATH
+/* else try the BSD variant */
+# ifdef MAXPATHLEN
+# define MAXPATH MAXPATHLEN
+# endif
+#endif
+
+#if !defined HAVE_MADVISE && defined HAVE_POSIX_MADVISE
+/* use posix_madvise family */
+# define madvise posix_madvise
+# define MADV_NORMAL POSIX_MADV_NORMAL
+# define MADV_RANDOM POSIX_MADV_RANDOM
+# define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL
+# 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
+
+#ifdef HAVE_SYS_STAT_H
+# include
+#endif
+
+#ifdef HAVE_FCNTL_H
#include
#endif
+#ifdef HAVE_UNISTD_H
+# include
+#endif
+
+#ifdef TIME_WITH_SYS_TIME
+# include
+# include
+#else
+# ifdef HAVE_SYS_TIME_H
+# include
+# else
+# include
+# endif
+#endif
+
+#ifdef HAVE_SYS_TIMES_H
+# include
+#endif
+
+#ifdef HAVE_SYS_RESOURCE_H
+# include
+#if (defined(__svr4__) && defined(__sun__))
+/* Solaris headers (pre 2.6) don't 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 */
@@ -104,12 +195,15 @@ char *strchr (), *strrchr ();
/* for Solaris */
#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS))
# define HAVE_ISINF 1
+# ifdef isinf
+# undef isinf /* confuse autoconf */
+# endif
# 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
+# undef isnan /* confuse autoconf to NOT remove this */
# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN)
#endif
@@ -222,7 +316,7 @@ CONFIGURE_PART(Checking for Header Files)
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_DIRENT
-AC_CHECK_HEADERS(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 float.h strings.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@@ -250,9 +344,46 @@ 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_DECLS(fdatasync, [], [], [#include ])
+
+dnl XXX: dunno about windows.. add AC_CHECK_FUNCS(munmap) there too?
+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 test "x$ac_cv_func_mmap" = "xyes"; then
+ ac_cv_func_mmap_fixed_mapped=yes
+ fi
+ ;;
+ *)
+ AC_CHECK_HEADERS(sys/mman.h)
+ AC_FUNC_MMAP
+ AC_CHECK_FUNCS(mmap munmap msync)
+ AC_CHECK_DECLS(madvise, [], [], [#ifdef HAVE_SYS_MMAN_H
+ # include
+ #endif])
+ if test "x$ac_cv_have_decl_madvise" = "xyes";
+ then
+ AC_CHECK_FUNCS(madvise)
+ else
+ AC_CHECK_FUNCS(posix_madvise)
+ if test "x$ac_cv_func_posix_madvise" != "xyes"; then
+ AC_MSG_WARN([madvise() nor posix_madvise() found.])
+ fi
+ fi
+ ;;
+ esac
+ if test "x$ac_cv_func_mmap" != "xyes";
+ then
+ AC_MSG_ERROR([--enable-mmap requested but mmap() was not detected])
+dnl enable_mmap="no"
+ fi
+fi
+
+dnl can we use posix_fadvise
AC_CHECK_DECLS(posix_fadvise, [], [], [#define _XOPEN_SOURCE 600
#include ])
-AC_CHECK_DECLS(madvise, [], [], [#include ])
+AC_CHECK_FUNCS(posix_fadvise)
if test "x$enable_mmap" = xyes; then
case "$host" in
diff --git a/doc/bin_dec_hex.1 b/doc/bin_dec_hex.1
index 7744188..f09d6e2 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 "2007-11-20" "1.2.26" "rrdtool"
+.TH BIN_DEC_HEX 1 "2008-02-17" "1.2.27" "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 3063ee6..8b86f19 100644
--- a/doc/bin_dec_hex.txt
+++ b/doc/bin_dec_hex.txt
@@ -371,4 +371,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 BIN_DEC_HEX(1)
+1.2.27 2008-02-17 BIN_DEC_HEX(1)
diff --git a/doc/cdeftutorial.1 b/doc/cdeftutorial.1
index 052edf5..26cd3e9 100644
--- a/doc/cdeftutorial.1
+++ b/doc/cdeftutorial.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "CDEFTUTORIAL 1"
-.TH CDEFTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH CDEFTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
cdeftutorial \- Alex van den Bogaerdt's CDEF tutorial
.SH "DESCRIPTION"
diff --git a/doc/cdeftutorial.txt b/doc/cdeftutorial.txt
index 3d01aa7..647b758 100644
--- a/doc/cdeftutorial.txt
+++ b/doc/cdeftutorial.txt
@@ -799,4 +799,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 CDEFTUTORIAL(1)
+1.2.27 2008-02-17 CDEFTUTORIAL(1)
diff --git a/doc/rpntutorial.1 b/doc/rpntutorial.1
index a3b0707..83734a8 100644
--- a/doc/rpntutorial.1
+++ b/doc/rpntutorial.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RPNTUTORIAL 1"
-.TH RPNTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RPNTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rpntutorial \- Reading RRDtool RPN Expressions by Steve Rader
.SH "DESCRIPTION"
diff --git a/doc/rpntutorial.txt b/doc/rpntutorial.txt
index 0e733c2..f936d2d 100644
--- a/doc/rpntutorial.txt
+++ b/doc/rpntutorial.txt
@@ -187,4 +187,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RPNTUTORIAL(1)
+1.2.27 2008-02-17 RPNTUTORIAL(1)
diff --git a/doc/rrd-beginners.1 b/doc/rrd-beginners.1
index 9a2772a..5c67f83 100644
--- a/doc/rrd-beginners.1
+++ b/doc/rrd-beginners.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRD-BEGINNERS 1"
-.TH RRD-BEGINNERS 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRD-BEGINNERS 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrd\-beginners \- RRDtool Beginners' Guide
.SH "SYNOPSIS"
diff --git a/doc/rrd-beginners.txt b/doc/rrd-beginners.txt
index dad5251..8c60eeb 100644
--- a/doc/rrd-beginners.txt
+++ b/doc/rrd-beginners.txt
@@ -318,4 +318,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRD-BEGINNERS(1)
+1.2.27 2008-02-17 RRD-BEGINNERS(1)
diff --git a/doc/rrdbuild.1 b/doc/rrdbuild.1
index 964629a..52b88b9 100644
--- a/doc/rrdbuild.1
+++ b/doc/rrdbuild.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDBUILD 1"
-.TH RRDBUILD 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDBUILD 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdbuild \- Instructions for building RRDtool
.SH "DESCRIPTION"
@@ -157,14 +157,14 @@ 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.26
+\& 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.26
+\& set INSTALL_DIR=/usr/local/rrdtool\-1.2.27
.Ve
.PP
If your \fI/tmp\fR is mounted with the option noexec (\s-1RHEL\s0 seems todo that) you have to choose
@@ -183,9 +183,9 @@ pre\-installed. Note that these instructions assume that your copies of
could be that they are installed as \fBgtar\fR and \fBgmake\fR on your system.
.PP
.Vb 4
-\& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.2.26.tar.gz
-\& tar zxf rrdtool\-1.2.26.tar.gz
-\& cd rrdtool\-1.2.26
+\& 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
\& ./configure \-\-prefix=$INSTALL_DIR && make && make install
.Ve
.PP
@@ -322,7 +322,7 @@ 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.26
+\& cd $BUILD_DIR/rrdtool\-1.2.27
\& ./configure \-\-prefix=$INSTALL_DIR \-\-disable\-python \-\-disable\-tcl
\& make clean
\& make
diff --git a/doc/rrdbuild.html b/doc/rrdbuild.html
index 2202ec7..455b85d 100644
--- a/doc/rrdbuild.html
+++ b/doc/rrdbuild.html
@@ -67,11 +67,11 @@ ones before you can build RRDtool.
Depending on the shell you are using, you can do either (bash,zsh):
BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27
Or if you run tcsh:
set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27
If your /tmp is mounted with the option noexec (RHEL seems todo that) you have to choose
a different directory!
Now make sure the BUILD_DIR exists and go there:
@@ -83,9 +83,9 @@ pre-installed. Note that these instructions assume that your copies of
tar and make are actually GNU tar and GNU make respectively. It
could be that they are installed as gtar and gmake on your system.
- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ 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
./configure --prefix=$INSTALL_DIR && make && make install
Ok, this was very optimistic. This try will probably have ended with
configure complaining about several missing libraries. If you are on a
@@ -216,7 +216,7 @@ because it seems that a fair number of people have ill configured python and
tcl setups that would prevent rrdtool from building if they are included in
their current state.
- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make clean
make
diff --git a/doc/rrdbuild.pod b/doc/rrdbuild.pod
index 07ac7eb..dd3e71e 100644
--- a/doc/rrdbuild.pod
+++ b/doc/rrdbuild.pod
@@ -35,12 +35,12 @@ Once you have decided. Save the two locations into environment variables.
Depending on the shell you are using, you can do either (bash,zsh):
BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27
Or if you run tcsh:
set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27
If your F is mounted with the option noexec (RHEL seems todo that) you have to choose
a different directory!
@@ -55,9 +55,9 @@ pre-installed. Note that these instructions assume that your copies of
B and B are actually B and B respectively. It
could be that they are installed as B and B on your system.
- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ 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
./configure --prefix=$INSTALL_DIR && make && make install
Ok, this was very optimistic. This try will probably have ended with
@@ -185,7 +185,7 @@ because it seems that a fair number of people have ill configured python and
tcl setups that would prevent rrdtool from building if they are included in
their current state.
- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make clean
make
diff --git a/doc/rrdbuild.txt b/doc/rrdbuild.txt
index 7749d99..d63f139 100644
--- a/doc/rrdbuild.txt
+++ b/doc/rrdbuild.txt
@@ -30,12 +30,12 @@ DDEESSCCRRIIPPTTIIOONN
(bash,zsh):
BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27
Or if you run tcsh:
set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27
If your _/_t_m_p is mounted with the option noexec (RHEL seems todo that)
you have to choose a different directory!
@@ -50,9 +50,9 @@ DDEESSCCRRIIPPTTIIOONN
ttaarr and mmaakkee are actually GGNNUU ttaarr and GGNNUU mmaakkee respectively. It could
be that they are installed as ggttaarr and ggmmaakkee on your system.
- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ 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
./configure --prefix=$INSTALL_DIR && make && make install
Ok, this was very optimistic. This try will probably have ended with
@@ -171,7 +171,7 @@ DDEESSCCRRIIPPTTIIOONN
python and tcl setups that would prevent rrdtool from building if they
are included in their current state.
- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make clean
make
@@ -190,4 +190,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDBUILD(1)
+1.2.27 2008-02-17 RRDBUILD(1)
diff --git a/doc/rrdcgi.1 b/doc/rrdcgi.1
index 5be0d12..f4e67fb 100644
--- a/doc/rrdcgi.1
+++ b/doc/rrdcgi.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDCGI 1"
-.TH RRDCGI 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDCGI 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdcgi \- Create web pages containing RRD graphs based on templates
.SH "SYNOPSIS"
diff --git a/doc/rrdcgi.txt b/doc/rrdcgi.txt
index 949a8ef..604bbcc 100644
--- a/doc/rrdcgi.txt
+++ b/doc/rrdcgi.txt
@@ -204,4 +204,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDCGI(1)
+1.2.27 2008-02-17 RRDCGI(1)
diff --git a/doc/rrdcreate.1 b/doc/rrdcreate.1
index b18228f..f32da36 100644
--- a/doc/rrdcreate.1
+++ b/doc/rrdcreate.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDCREATE 1"
-.TH RRDCREATE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDCREATE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdcreate \- Set up a new Round Robin Database
.SH "SYNOPSIS"
@@ -144,12 +144,12 @@ rrdcreate \- Set up a new Round Robin Database
The create function of RRDtool lets you set up new Round Robin
Database (\fB\s-1RRD\s0\fR) files. The file is created at its final, full size
and filled with \fI*UNKNOWN*\fR data.
-.IP "\fIfilename\fR" 8
+.IP "\fIfilename\fR" 4
.IX Item "filename"
The name of the \fB\s-1RRD\s0\fR you want to create. \fB\s-1RRD\s0\fR files should end
with the extension \fI.rrd\fR. However, \fBRRDtool\fR will accept any
filename.
-.IP "\fB\-\-start\fR|\fB\-b\fR \fIstart time\fR (default: now \- 10s)" 8
+.IP "\fB\-\-start\fR|\fB\-b\fR \fIstart time\fR (default: now \- 10s)" 4
.IX Item "--start|-b start time (default: now - 10s)"
Specifies the time in seconds since 1970\-01\-01 \s-1UTC\s0 when the first
value should be added to the \fB\s-1RRD\s0\fR. \fBRRDtool\fR will not accept
@@ -157,11 +157,11 @@ any data timed before or at the time specified.
.Sp
See also AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0 section in the
\&\fIrrdfetch\fR documentation for other ways to specify time.
-.IP "\fB\-\-step\fR|\fB\-s\fR \fIstep\fR (default: 300 seconds)" 8
+.IP "\fB\-\-step\fR|\fB\-s\fR \fIstep\fR (default: 300 seconds)" 4
.IX Item "--step|-s step (default: 300 seconds)"
Specifies the base interval in seconds with which data will be fed
into the \fB\s-1RRD\s0\fR.
-.IP "\fB\s-1DS:\s0\fR\fIds-name\fR\fB:\fR\fI\s-1DST\s0\fR\fB:\fR\fIdst arguments\fR" 8
+.IP "\fB\s-1DS:\s0\fR\fIds-name\fR\fB:\fR\fI\s-1DST\s0\fR\fB:\fR\fIdst arguments\fR" 4
.IX Item "DS:ds-name:DST:dst arguments"
A single \fB\s-1RRD\s0\fR can accept input from several data sources (\fB\s-1DS\s0\fR),
for example incoming and outgoing traffic on a specific communication
@@ -185,7 +185,7 @@ For \s-1COMPUTE\s0 data sources, the format is:
In order to decide which data source type to use, review the
definitions that follow. Also consult the section on \*(L"\s-1HOW\s0 \s-1TO\s0 \s-1MEASURE\s0\*(R"
for further insight.
-.RS 8
+.RS 4
.IP "\fB\s-1GAUGE\s0\fR" 4
.IX Item "GAUGE"
is for things like temperatures or number of people in a room or the
@@ -207,9 +207,9 @@ example, to measure the rate of people entering or leaving a
room. Internally, derive works exactly like \s-1COUNTER\s0 but without
overflow checks. So if your counter does not reset at 32 or 64 bit you
might want to use \s-1DERIVE\s0 and combine it with a \s-1MIN\s0 value of 0.
-.RS 4
-.IP "\s-1NOTE\s0 on \s-1COUNTER\s0 vs \s-1DERIVE\s0" 4
-.IX Item "NOTE on COUNTER vs DERIVE"
+.Sp
+\&\s-1NOTE\s0 on \s-1COUNTER\s0 vs \s-1DERIVE\s0
+.Sp
by Don Baarda
.Sp
If you cannot tolerate ever mistaking the occasional counter reset for a
@@ -226,9 +226,6 @@ for high bandwidth interfaces and a 32bit counter, \s-1DERIVE\s0 with min=0 is
probably preferable. If you are using a 64bit counter, just about any max
setting will eliminate the possibility of mistaking a reset for a counter
wrap.
-.RE
-.RS 4
-.RE
.IP "\fB\s-1ABSOLUTE\s0\fR" 4
.IX Item "ABSOLUTE"
is for counters which get reset upon reading. This is used for fast counters
@@ -247,7 +244,7 @@ of the \s-1COMPUTE\s0 data source (that is the rpn-expression is only applied
to generate PDPs). In database software, such data sets are referred
to as \*(L"virtual\*(R" or \*(L"computed\*(R" columns.
.RE
-.RS 8
+.RS 4
.Sp
\&\fIheartbeat\fR defines the maximum number of seconds that may pass
between two updates of this data source before the value of the
@@ -275,7 +272,7 @@ names of data source listed previously in the create command. This is
similar to the restriction that \fB\s-1CDEF\s0\fRs must refer only to \fB\s-1DEF\s0\fRs
and \fB\s-1CDEF\s0\fRs previously defined in the same graph command.
.RE
-.IP "\fB\s-1RRA:\s0\fR\fI\s-1CF\s0\fR\fB:\fR\fIcf arguments\fR" 8
+.IP "\fB\s-1RRA:\s0\fR\fI\s-1CF\s0\fR\fB:\fR\fIcf arguments\fR" 4
.IX Item "RRA:CF:cf arguments"
The purpose of an \fB\s-1RRD\s0\fR is to store data in the round robin archives
(\fB\s-1RRA\s0\fR). An archive consists of a number of data values or statistics for
diff --git a/doc/rrdcreate.html b/doc/rrdcreate.html
index 8b4d326..a331537 100644
--- a/doc/rrdcreate.html
+++ b/doc/rrdcreate.html
@@ -139,9 +139,9 @@ room. Internally, derive works exactly like COUNTER but without
overflow checks. So if your counter does not reset at 32 or 64 bit you
might want to use DERIVE and combine it with a MIN value of 0.
-
-NOTE on COUNTER vs DERIVE
-
+
+NOTE on COUNTER vs DERIVE
+
by Don Baarda <don.baarda@baesystems.com >
@@ -163,7 +163,6 @@ setting will eliminate the possibility of mistaking a reset for a counter
wrap.
-
ABSOLUTE
diff --git a/doc/rrdcreate.pod b/doc/rrdcreate.pod
index 27ef702..a47acbb 100644
--- a/doc/rrdcreate.pod
+++ b/doc/rrdcreate.pod
@@ -16,7 +16,7 @@ The create function of RRDtool lets you set up new Round Robin
Database (B) files. The file is created at its final, full size
and filled with I<*UNKNOWN*> data.
-=over 8
+=over
=item I
@@ -63,7 +63,7 @@ In order to decide which data source type to use, review the
definitions that follow. Also consult the section on "HOW TO MEASURE"
for further insight.
-=over 4
+=over
=item B
@@ -89,9 +89,7 @@ room. Internally, derive works exactly like COUNTER but without
overflow checks. So if your counter does not reset at 32 or 64 bit you
might want to use DERIVE and combine it with a MIN value of 0.
-=over
-
-=item NOTE on COUNTER vs DERIVE
+NOTE on COUNTER vs DERIVE
by Don Baarda Edon.baarda@baesystems.comE
@@ -110,8 +108,6 @@ probably preferable. If you are using a 64bit counter, just about any max
setting will eliminate the possibility of mistaking a reset for a counter
wrap.
-=back
-
=item B
is for counters which get reset upon reading. This is used for fast counters
diff --git a/doc/rrdcreate.txt b/doc/rrdcreate.txt
index 3d2560c..eaa70c1 100644
--- a/doc/rrdcreate.txt
+++ b/doc/rrdcreate.txt
@@ -15,172 +15,166 @@ DDEESSCCRRIIPPTTIIOONN
with _*_U_N_K_N_O_W_N_* data.
_f_i_l_e_n_a_m_e
- The name of the RRRRDD you want to create. RRRRDD files should end
- with the extension _._r_r_d. However, RRRRDDttooooll will accept any file-
- name.
+ The name of the RRRRDD you want to create. RRRRDD files should end with
+ the extension _._r_r_d. However, RRRRDDttooooll will accept any filename.
----ssttaarrtt|--bb _s_t_a_r_t _t_i_m_e (default: now - 10s)
- Specifies the time in seconds since 1970-01-01 UTC when the
- first value should be added to the RRRRDD. RRRRDDttooooll will not accept
- any data timed before or at the time specified.
+ Specifies the time in seconds since 1970-01-01 UTC when the first
+ value should be added to the RRRRDD. RRRRDDttooooll will not accept any data
+ timed before or at the time specified.
- See also AT-STYLE TIME SPECIFICATION section in the _r_r_d_f_e_t_c_h
- documentation for other ways to specify time.
+ See also AT-STYLE TIME SPECIFICATION section in the _r_r_d_f_e_t_c_h docu-
+ mentation for other ways to specify time.
----sstteepp|--ss _s_t_e_p (default: 300 seconds)
- Specifies the base interval in seconds with which data will be
- fed into the RRRRDD.
+ Specifies the base interval in seconds with which data will be fed
+ into the RRRRDD.
DDSS::_d_s_-_n_a_m_e::_D_S_T::_d_s_t _a_r_g_u_m_e_n_t_s
- A single RRRRDD can accept input from several data sources (DDSS),
- for example incoming and outgoing traffic on a specific commu-
- nication line. With the DDSS configuration option you must define
- some basic properties of each data source you want to store in
- the RRRRDD.
-
- _d_s_-_n_a_m_e is the name you will use to reference this particular
- data source from an RRRRDD. A _d_s_-_n_a_m_e must be 1 to 19 characters
- long in the characters [a-zA-Z0-9_].
-
- _D_S_T defines the Data Source Type. The remaining arguments of a
- data source entry depend on the data source type. For GAUGE,
- COUNTER, DERIVE, and ABSOLUTE the format for a data source
- entry is:
-
- DDSS::_d_s_-_n_a_m_e::_G_A_U_G_E _| _C_O_U_N_T_E_R _| _D_E_R_I_V_E _| _A_B_S_O_L_U_T_E::_h_e_a_r_t_-
- _b_e_a_t::_m_i_n::_m_a_x
-
- For COMPUTE data sources, the format is:
-
- DDSS::_d_s_-_n_a_m_e::_C_O_M_P_U_T_E::_r_p_n_-_e_x_p_r_e_s_s_i_o_n
-
- In order to decide which data source type to use, review the
- definitions that follow. Also consult the section on "HOW TO
- MEASURE" for further insight.
-
- GGAAUUGGEE
- is for things like temperatures or number of people in a
- room or the value of a RedHat share.
-
- CCOOUUNNTTEERR
- is for continuous incrementing counters like the ifInOctets
- counter in a router. The CCOOUUNNTTEERR data source assumes that
- the counter never decreases, except when a counter over-
- flows. The update function takes the overflow into
- account. The counter is stored as a per-second rate. When
- the counter overflows, RRDtool checks if the overflow hap-
- pened at the 32bit or 64bit border and acts accordingly by
- adding an appropriate value to the result.
-
- DDEERRIIVVEE
- will store the derivative of the line going from the last
- to the current value of the data source. This can be useful
- for gauges, for example, to measure the rate of people
- entering or leaving a room. Internally, derive works
- exactly like COUNTER but without overflow checks. So if
- your counter does not reset at 32 or 64 bit you might want
- to use DERIVE and combine it with a MIN value of 0.
-
- NOTE on COUNTER vs DERIVE
- by Don Baarda
-
- If you cannot tolerate ever mistaking the occasional
- counter reset for a legitimate counter wrap, and would
- prefer "Unknowns" for all legitimate counter wraps and
- resets, always use DERIVE with min=0. Otherwise, using
- COUNTER with a suitable max will return correct values
- for all legitimate counter wraps, mark some counter
- resets as "Unknown", but can mistake some counter
- resets for a legitimate counter wrap.
-
- For a 5 minute step and 32-bit counter, the probability
- of mistaking a counter reset for a legitimate wrap is
- arguably about 0.8% per 1Mbps of maximum bandwidth.
- Note that this equates to 80% for 100Mbps interfaces,
- so for high bandwidth interfaces and a 32bit counter,
- DERIVE with min=0 is probably preferable. If you are
- using a 64bit counter, just about any max setting will
- eliminate the possibility of mistaking a reset for a
- counter wrap.
-
- AABBSSOOLLUUTTEE
- is for counters which get reset upon reading. This is used
- for fast counters which tend to overflow. So instead of
- reading them normally you reset them after every read to
- make sure you have a maximum time available before the next
- overflow. Another usage is for things you count like number
- of messages since the last update.
-
- CCOOMMPPUUTTEE
- is for storing the result of a formula applied to other
- data sources in the RRRRDD. This data source is not supplied a
- value on update, but rather its Primary Data Points (PDPs)
- are computed from the PDPs of the data sources according to
- the rpn-expression that defines the formula. Consolidation
- functions are then applied normally to the PDPs of the COM-
- PUTE data source (that is the rpn-expression is only
- applied to generate PDPs). In database software, such data
- sets are referred to as "virtual" or "computed" columns.
-
- _h_e_a_r_t_b_e_a_t defines the maximum number of seconds that may pass
- between two updates of this data source before the value of the
- data source is assumed to be _*_U_N_K_N_O_W_N_*.
-
- _m_i_n and _m_a_x define the expected range values for data supplied
- by a data source. If _m_i_n and/or _m_a_x any value outside the
- defined range will be regarded as _*_U_N_K_N_O_W_N_*. If you do not know
- or care about min and max, set them to U for unknown. Note that
- min and max always refer to the processed values of the DS. For
- a traffic-CCOOUUNNTTEERR type DS this would be the maximum and minimum
- data-rate expected from the device.
-
- _I_f _i_n_f_o_r_m_a_t_i_o_n _o_n _m_i_n_i_m_a_l_/_m_a_x_i_m_a_l _e_x_p_e_c_t_e_d _v_a_l_u_e_s _i_s _a_v_a_i_l_a_b_l_e_,
- _a_l_w_a_y_s _s_e_t _t_h_e _m_i_n _a_n_d_/_o_r _m_a_x _p_r_o_p_e_r_t_i_e_s_. _T_h_i_s _w_i_l_l _h_e_l_p _R_R_D_-
- _t_o_o_l _i_n _d_o_i_n_g _a _s_i_m_p_l_e _s_a_n_i_t_y _c_h_e_c_k _o_n _t_h_e _d_a_t_a _s_u_p_p_l_i_e_d _w_h_e_n
- _r_u_n_n_i_n_g _u_p_d_a_t_e_.
-
- _r_p_n_-_e_x_p_r_e_s_s_i_o_n defines the formula used to compute the PDPs of
- a COMPUTE data source from other data sources in the same
- . It is similar to defining a CCDDEEFF argument for the graph
- command. Please refer to that manual page for a list and
- description of RPN operations supported. For COMPUTE data
- sources, the following RPN operations are not supported: COUNT,
- PREV, TIME, and LTIME. In addition, in defining the RPN expres-
- sion, the COMPUTE data source may only refer to the names of
- data source listed previously in the create command. This is
- similar to the restriction that CCDDEEFFs must refer only to DDEEFFs
- and CCDDEEFFs previously defined in the same graph command.
+ A single RRRRDD can accept input from several data sources (DDSS), for
+ example incoming and outgoing traffic on a specific communication
+ line. With the DDSS configuration option you must define some basic
+ properties of each data source you want to store in the RRRRDD.
+
+ _d_s_-_n_a_m_e is the name you will use to reference this particular data
+ source from an RRRRDD. A _d_s_-_n_a_m_e must be 1 to 19 characters long in
+ the characters [a-zA-Z0-9_].
+
+ _D_S_T defines the Data Source Type. The remaining arguments of a data
+ source entry depend on the data source type. For GAUGE, COUNTER,
+ DERIVE, and ABSOLUTE the format for a data source entry is:
+
+ DDSS::_d_s_-_n_a_m_e::_G_A_U_G_E _| _C_O_U_N_T_E_R _| _D_E_R_I_V_E _| _A_B_S_O_L_U_T_E::_h_e_a_r_t_b_e_a_t::_m_i_n::_m_a_x
+
+ For COMPUTE data sources, the format is:
+
+ DDSS::_d_s_-_n_a_m_e::_C_O_M_P_U_T_E::_r_p_n_-_e_x_p_r_e_s_s_i_o_n
+
+ In order to decide which data source type to use, review the defi-
+ nitions that follow. Also consult the section on "HOW TO MEASURE"
+ for further insight.
+
+ GGAAUUGGEE
+ is for things like temperatures or number of people in a room
+ or the value of a RedHat share.
+
+ CCOOUUNNTTEERR
+ is for continuous incrementing counters like the ifInOctets
+ counter in a router. The CCOOUUNNTTEERR data source assumes that the
+ counter never decreases, except when a counter overflows. The
+ update function takes the overflow into account. The counter
+ is stored as a per-second rate. When the counter overflows,
+ RRDtool checks if the overflow happened at the 32bit or 64bit
+ border and acts accordingly by adding an appropriate value to
+ the result.
+
+ DDEERRIIVVEE
+ will store the derivative of the line going from the last to
+ the current value of the data source. This can be useful for
+ gauges, for example, to measure the rate of people entering or
+ leaving a room. Internally, derive works exactly like COUNTER
+ but without overflow checks. So if your counter does not reset
+ at 32 or 64 bit you might want to use DERIVE and combine it
+ with a MIN value of 0.
+
+ NOTE on COUNTER vs DERIVE
+
+ by Don Baarda
+
+ If you cannot tolerate ever mistaking the occasional counter
+ reset for a legitimate counter wrap, and would prefer
+ "Unknowns" for all legitimate counter wraps and resets, always
+ use DERIVE with min=0. Otherwise, using COUNTER with a suitable
+ max will return correct values for all legitimate counter
+ wraps, mark some counter resets as "Unknown", but can mistake
+ some counter resets for a legitimate counter wrap.
+
+ For a 5 minute step and 32-bit counter, the probability of mis-
+ taking a counter reset for a legitimate wrap is arguably about
+ 0.8% per 1Mbps of maximum bandwidth. Note that this equates to
+ 80% for 100Mbps interfaces, so for high bandwidth interfaces
+ and a 32bit counter, DERIVE with min=0 is probably preferable.
+ If you are using a 64bit counter, just about any max setting
+ will eliminate the possibility of mistaking a reset for a
+ counter wrap.
+
+ AABBSSOOLLUUTTEE
+ is for counters which get reset upon reading. This is used for
+ fast counters which tend to overflow. So instead of reading
+ them normally you reset them after every read to make sure you
+ have a maximum time available before the next overflow. Another
+ usage is for things you count like number of messages since the
+ last update.
+
+ CCOOMMPPUUTTEE
+ is for storing the result of a formula applied to other data
+ sources in the RRRRDD. This data source is not supplied a value on
+ update, but rather its Primary Data Points (PDPs) are computed
+ from the PDPs of the data sources according to the rpn-expres-
+ sion that defines the formula. Consolidation functions are then
+ applied normally to the PDPs of the COMPUTE data source (that
+ is the rpn-expression is only applied to generate PDPs). In
+ database software, such data sets are referred to as "virtual"
+ or "computed" columns.
+
+ _h_e_a_r_t_b_e_a_t defines the maximum number of seconds that may pass
+ between two updates of this data source before the value of the
+ data source is assumed to be _*_U_N_K_N_O_W_N_*.
+
+ _m_i_n and _m_a_x define the expected range values for data supplied by a
+ data source. If _m_i_n and/or _m_a_x any value outside the defined range
+ will be regarded as _*_U_N_K_N_O_W_N_*. If you do not know or care about min
+ and max, set them to U for unknown. Note that min and max always
+ refer to the processed values of the DS. For a traffic-CCOOUUNNTTEERR type
+ DS this would be the maximum and minimum data-rate expected from
+ the device.
+
+ _I_f _i_n_f_o_r_m_a_t_i_o_n _o_n _m_i_n_i_m_a_l_/_m_a_x_i_m_a_l _e_x_p_e_c_t_e_d _v_a_l_u_e_s _i_s _a_v_a_i_l_a_b_l_e_,
+ _a_l_w_a_y_s _s_e_t _t_h_e _m_i_n _a_n_d_/_o_r _m_a_x _p_r_o_p_e_r_t_i_e_s_. _T_h_i_s _w_i_l_l _h_e_l_p _R_R_D_t_o_o_l _i_n
+ _d_o_i_n_g _a _s_i_m_p_l_e _s_a_n_i_t_y _c_h_e_c_k _o_n _t_h_e _d_a_t_a _s_u_p_p_l_i_e_d _w_h_e_n _r_u_n_n_i_n_g
+ _u_p_d_a_t_e_.
+
+ _r_p_n_-_e_x_p_r_e_s_s_i_o_n defines the formula used to compute the PDPs of a
+ COMPUTE data source from other data sources in the same . It
+ is similar to defining a CCDDEEFF argument for the graph command.
+ Please refer to that manual page for a list and description of RPN
+ operations supported. For COMPUTE data sources, the following RPN
+ operations are not supported: COUNT, PREV, TIME, and LTIME. In
+ addition, in defining the RPN expression, the COMPUTE data source
+ may only refer to the names of data source listed previously in the
+ create command. This is similar to the restriction that CCDDEEFFs must
+ refer only to DDEEFFs and CCDDEEFFs previously defined in the same graph
+ command.
RRRRAA::_C_F::_c_f _a_r_g_u_m_e_n_t_s
- The purpose of an RRRRDD is to store data in the round robin
- archives (RRRRAA). An archive consists of a number of data values
- or statistics for each of the defined data-sources (DDSS) and is
- defined with an RRRRAA line.
+ The purpose of an RRRRDD is to store data in the round robin archives
+ (RRRRAA). An archive consists of a number of data values or statistics
+ for each of the defined data-sources (DDSS) and is defined with an
+ RRRRAA line.
- When data is entered into an RRRRDD, it is first fit into time
- slots of the length defined with the --ss option, thus becoming a
- _p_r_i_m_a_r_y _d_a_t_a _p_o_i_n_t.
+ When data is entered into an RRRRDD, it is first fit into time slots
+ of the length defined with the --ss option, thus becoming a _p_r_i_m_a_r_y
+ _d_a_t_a _p_o_i_n_t.
- The data is also processed with the consolidation function (_C_F)
- of the archive. There are several consolidation functions that
- consolidate primary data points via an aggregate function:
- AAVVEERRAAGGEE, MMIINN, MMAAXX, LLAASSTT. The format of RRRRAA line for these con-
- solidation functions is:
+ The data is also processed with the consolidation function (_C_F) of
+ the archive. There are several consolidation functions that consol-
+ idate primary data points via an aggregate function: AAVVEERRAAGGEE, MMIINN,
+ MMAAXX, LLAASSTT. The format of RRRRAA line for these consolidation functions
+ is:
- RRRRAA::_A_V_E_R_A_G_E _| _M_I_N _| _M_A_X _| _L_A_S_T::_x_f_f::_s_t_e_p_s::_r_o_w_s
+ RRRRAA::_A_V_E_R_A_G_E _| _M_I_N _| _M_A_X _| _L_A_S_T::_x_f_f::_s_t_e_p_s::_r_o_w_s
- _x_f_f The xfiles factor defines what part of a consolidation
- interval may be made up from _*_U_N_K_N_O_W_N_* data while the consoli-
- dated value is still regarded as known. It is given as the
- ratio of allowed _*_U_N_K_N_O_W_N_* PDPs to the number of PDPs in the
- interval. Thus, it ranges from 0 to 1 (exclusive).
+ _x_f_f The xfiles factor defines what part of a consolidation interval
+ may be made up from _*_U_N_K_N_O_W_N_* data while the consolidated value is
+ still regarded as known. It is given as the ratio of allowed
+ _*_U_N_K_N_O_W_N_* PDPs to the number of PDPs in the interval. Thus, it
+ ranges from 0 to 1 (exclusive).
- _s_t_e_p_s defines how many of these _p_r_i_m_a_r_y _d_a_t_a _p_o_i_n_t_s are used to
- build a _c_o_n_s_o_l_i_d_a_t_e_d _d_a_t_a _p_o_i_n_t which then goes into the
- archive.
+ _s_t_e_p_s defines how many of these _p_r_i_m_a_r_y _d_a_t_a _p_o_i_n_t_s are used to
+ build a _c_o_n_s_o_l_i_d_a_t_e_d _d_a_t_a _p_o_i_n_t which then goes into the archive.
- _r_o_w_s defines how many generations of data values are kept in an
- RRRRAA.
+ _r_o_w_s defines how many generations of data values are kept in an
+ RRRRAA.
AAbbeerrrraanntt BBeehhaavviioorr DDeetteeccttiioonn wwiitthh HHoolltt--WWiinntteerrss FFoorreeccaassttiinngg
In addition to the aggregate functions, there are a set of specialized
@@ -504,4 +498,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDCREATE(1)
+1.2.27 2008-02-17 RRDCREATE(1)
diff --git a/doc/rrddump.1 b/doc/rrddump.1
index d559ec0..3df1a45 100644
--- a/doc/rrddump.1
+++ b/doc/rrddump.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDDUMP 1"
-.TH RRDDUMP 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDDUMP 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrddump \- dump the contents of an RRD to XML format
.SH "SYNOPSIS"
diff --git a/doc/rrddump.txt b/doc/rrddump.txt
index 226a7b8..f995a56 100644
--- a/doc/rrddump.txt
+++ b/doc/rrddump.txt
@@ -42,4 +42,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDDUMP(1)
+1.2.27 2008-02-17 RRDDUMP(1)
diff --git a/doc/rrdfetch.1 b/doc/rrdfetch.1
index e218ff8..9c20fb6 100644
--- a/doc/rrdfetch.1
+++ b/doc/rrdfetch.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDFETCH 1"
-.TH RRDFETCH 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDFETCH 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdfetch \- Fetch data from an RRD.
.SH "SYNOPSIS"
diff --git a/doc/rrdfetch.txt b/doc/rrdfetch.txt
index 10057c2..e2af859 100644
--- a/doc/rrdfetch.txt
+++ b/doc/rrdfetch.txt
@@ -228,4 +228,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDFETCH(1)
+1.2.27 2008-02-17 RRDFETCH(1)
diff --git a/doc/rrdfirst.1 b/doc/rrdfirst.1
index 7834052..57e7c1a 100644
--- a/doc/rrdfirst.1
+++ b/doc/rrdfirst.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDFIRST 1"
-.TH RRDFIRST 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDFIRST 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdfirst \- Return the date of the first data sample in an RRA within an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdfirst.txt b/doc/rrdfirst.txt
index 7a3559e..684e8bc 100644
--- a/doc/rrdfirst.txt
+++ b/doc/rrdfirst.txt
@@ -26,4 +26,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDFIRST(1)
+1.2.27 2008-02-17 RRDFIRST(1)
diff --git a/doc/rrdgraph.1 b/doc/rrdgraph.1
index 2020b9e..674a370 100644
--- a/doc/rrdgraph.1
+++ b/doc/rrdgraph.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDGRAPH 1"
-.TH RRDGRAPH 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph \- Round Robin Database tool grapher functions
.SH "SYNOPSIS"
@@ -170,7 +170,7 @@ Sometimes data is not exactly in the format you would like to display
it. For instance, you might be collecting \fBbytes\fR per second, but
want to display \fBbits\fR per second. This is what the \fBdata calculation\fR command is designed for. After
\&\fBconsolidating\fR the data, a copy is made and this copy is modified
-using a rather powerful \fB\s-1RPN\s0\fR command set.
+using a rather powerful rrdgraph_rpn command set.
.PP
When you are done fetching and processing the data, it is time to
graph it (or print it). This ends the \fBrrdtool graph\fR sequence.
@@ -193,7 +193,7 @@ The start and end of the time series you would like to display, and which
\&\fB\s-1RRA\s0\fR the data should come from. Defaults are: 1 day ago until
now, with the best possible resolution. \fBStart\fR and \fBend\fR can
be specified in several formats, see
-AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0 and rrdgraph_examples.
+rrdfetch and rrdgraph_examples.
By default, \fBrrdtool graph\fR calculates the width of one pixel in
the time domain and tries to get data from an \fB\s-1RRA\s0\fR with that
resolution. With the \fBstep\fR option you can alter this behaviour.
@@ -268,13 +268,8 @@ 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 \fB\-\-alt\-autoscale\fR is needed.
Using \fB\-\-no\-gridfit\fR disables modification of the scale.
-.IP "Grid" 4
-.IX Item "Grid"
-.RS 4
-.PD 0
-.IP "X\-Axis" 4
-.IX Item "X-Axis"
-.PD
+.IP "X\-Grid" 4
+.IX Item "X-Grid"
[\fB\-x\fR|\fB\-\-x\-grid\fR \fI\s-1GTM\s0\fR\fB:\fR\fI\s-1GST\s0\fR\fB:\fR\fI\s-1MTM\s0\fR\fB:\fR\fI\s-1MST\s0\fR\fB:\fR\fI\s-1LTM\s0\fR\fB:\fR\fI\s-1LST\s0\fR\fB:\fR\fI\s-1LPR\s0\fR\fB:\fR\fI\s-1LFM\s0\fR]
.Sp
[\fB\-x\fR|\fB\-\-x\-grid\fR \fBnone\fR]
@@ -311,8 +306,8 @@ lines as they specify exactly that time.
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.
-.IP "Y\-Axis" 4
-.IX Item "Y-Axis"
+.IP "Y\-Grid" 4
+.IX Item "Y-Grid"
[\fB\-y\fR|\fB\-\-y\-grid\fR \fIgrid step\fR\fB:\fR\fIlabel factor\fR]
.Sp
[\fB\-y\fR|\fB\-\-y\-grid\fR \fBnone\fR]
@@ -367,9 +362,6 @@ fideling with the y\-axis labeling.
With this option y\-axis values on logarithmic graphs will be scaled to
the appropriate units (k, M, etc.) instead of using exponential notation.
Note that for linear graphs, \s-1SI\s0 notation is used by default.
-.RE
-.RS 4
-.RE
.IP "Miscellaneous" 4
.IX Item "Miscellaneous"
[\fB\-z\fR|\fB\-\-lazy\fR]
diff --git a/doc/rrdgraph.html b/doc/rrdgraph.html
index dd767de..e7a9505 100644
--- a/doc/rrdgraph.html
+++ b/doc/rrdgraph.html
@@ -71,7 +71,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 RPN command set.
+using a rather powerful the rrdgraph_rpn manpage 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.
@@ -102,7 +102,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
-AT-STYLE TIME SPECIFICATION and the rrdgraph_examples manpage .
+the rrdfetch manpage 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.
@@ -200,10 +200,7 @@ and for linear scales where --alt-autoscale is needed.
Using --no-gridfit disables modification of the scale.
-Grid
-
-
-X-Axis
+X-Grid
[-x |--x-grid GTM : GST : MTM : MST : LTM : LST : LPR : LFM ]
@@ -249,7 +246,7 @@ each day. The labels are placed exactly between two major grid lines
as they specify the complete day and not just midnight.
-Y-Axis
+Y-Grid
[-y |--y-grid grid step : label factor ]
@@ -322,7 +319,6 @@ the appropriate units (k, M, etc.) instead of using exponential notation.
Note that for linear graphs, SI notation is used by default.
-
Miscellaneous
diff --git a/doc/rrdgraph.pod b/doc/rrdgraph.pod
index 9060bd8..11b447e 100644
--- a/doc/rrdgraph.pod
+++ b/doc/rrdgraph.pod
@@ -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 B > command set.
+using a rather powerful L 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.
@@ -70,7 +70,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.
@@ -149,11 +149,7 @@ 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.
-=item Grid
-
-=over 4
-
-=item X-Axis
+=item X-Grid
[B<-x>|B<--x-grid> IB<:>IB<:>IB<:>IB<:>IB<:>IB<:>IB<:>I]
@@ -188,7 +184,7 @@ 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-Axis
+=item Y-Grid
[B<-y>|B<--y-grid> IB<:>I]
@@ -245,8 +241,6 @@ With this option y-axis values on logarithmic graphs will be scaled to
the appropriate units (k, M, etc.) instead of using exponential notation.
Note that for linear graphs, SI notation is used by default.
-=back
-
=item Miscellaneous
[B<-z>|B<--lazy>]
diff --git a/doc/rrdgraph.txt b/doc/rrdgraph.txt
index 4c8686a..d1a493a 100644
--- a/doc/rrdgraph.txt
+++ b/doc/rrdgraph.txt
@@ -35,7 +35,7 @@ OOVVEERRVVIIEEWW
it. For instance, you might be collecting bbyytteess per second, but want to
display bbiittss per second. This is what the ddaattaa ccaallccuullaattiioonn command is
designed for. After ccoonnssoolliiddaattiinngg the data, a copy is made and this
- copy is modified using a rather powerful RRPPNN command set.
+ copy is modified using a rather powerful rrdgraph_rpn command set.
When you are done fetching and processing the data, it is time to graph
it (or print it). This ends the rrrrddttooooll ggrraapphh sequence.
@@ -55,13 +55,13 @@ OOPPTTIIOONNSS
The start and end of the time series you would like to display, and
which RRRRAA the data should come from. Defaults are: 1 day ago until
now, with the best possible resolution. SSttaarrtt and eenndd can be speci-
- fied in several formats, see AT-STYLE TIME SPECIFICATION and rrd-
- graph_examples. By default, rrrrddttooooll ggrraapphh calculates the width of
- one pixel in the time domain and tries to get data from an RRRRAA with
- that resolution. With the sstteepp option you can alter this
- behaviour. If you want rrrrddttooooll ggrraapphh to get data at a one-hour
- resolution from the RRRRDD, set sstteepp to 3'600. Note: a step smaller
- than one pixel will silently be ignored.
+ fied in several formats, see rrdfetch and rrdgraph_examples. By
+ default, rrrrddttooooll ggrraapphh calculates the width of one pixel in the
+ time domain and tries to get data from an RRRRAA with that resolution.
+ With the sstteepp option you can alter this behaviour. If you want
+ rrrrddttooooll ggrraapphh to get data at a one-hour resolution from the RRRRDD,
+ set sstteepp to 3'600. Note: a step smaller than one pixel will
+ silently be ignored.
Labels
[--tt|----ttiittllee _s_t_r_i_n_g] [--vv|----vveerrttiiccaall--llaabbeell _s_t_r_i_n_g]
@@ -129,103 +129,99 @@ OOPPTTIIOONNSS
ear scales where ----aalltt--aauuttoossccaallee is needed. Using ----nnoo--ggrriiddffiitt
disables modification of the scale.
- Grid
- X-Axis
- [--xx|----xx--ggrriidd _G_T_M::_G_S_T::_M_T_M::_M_S_T::_L_T_M::_L_S_T::_L_P_R::_L_F_M]
+ X-Grid
+ [--xx|----xx--ggrriidd _G_T_M::_G_S_T::_M_T_M::_M_S_T::_L_T_M::_L_S_T::_L_P_R::_L_F_M]
- [--xx|----xx--ggrriidd nnoonnee]
+ [--xx|----xx--ggrriidd nnoonnee]
- The x-axis label is quite complex to configure. If you don't
- have very special needs it is probably best to rely on the
- autoconfiguration to get this right. You can specify the string
- "none" to suppress the grid and labels altogether.
+ The x-axis label is quite complex to configure. If you don't have
+ very special needs it is probably best to rely on the autoconfigu-
+ ration to get this right. You can specify the string "none" to sup-
+ press the grid and labels altogether.
- The grid is defined by specifying a certain amount of time in
- the _?_T_M positions. You can choose from "SECOND", "MINUTE",
- "HOUR", "DAY", "WEEK", "MONTH" or "YEAR". Then you define how
- many of these should pass between each line or label. This
- pair (_?_T_M_:_?_S_T) needs to be specified for the base grid (_G_?_?),
- the major grid (_M_?_?) and the labels (_L_?_?). For the labels you
- also must define a precision in _L_P_R and a _s_t_r_f_t_i_m_e format
- string in _L_F_M. _L_P_R defines where each label will be placed. If
- it is zero, the label will be placed right under the corre-
- sponding line (useful for hours, dates etcetera). If you spec-
- ify a number of seconds here the label is centered on this
- interval (useful for Monday, January etcetera).
+ The grid is defined by specifying a certain amount of time in the
+ _?_T_M positions. You can choose from "SECOND", "MINUTE", "HOUR",
+ "DAY", "WEEK", "MONTH" or "YEAR". Then you define how many of these
+ should pass between each line or label. This pair (_?_T_M_:_?_S_T) needs
+ to be specified for the base grid (_G_?_?), the major grid (_M_?_?) and
+ the labels (_L_?_?). For the labels you also must define a precision
+ in _L_P_R and a _s_t_r_f_t_i_m_e format string in _L_F_M. _L_P_R defines where each
+ label will be placed. If it is zero, the label will be placed right
+ under the corresponding line (useful for hours, dates etcetera).
+ If you specify a number of seconds here the label is centered on
+ this interval (useful for Monday, January etcetera).
- --x-grid MINUTE:10:HOUR:1:HOUR:4:0:%X
+ --x-grid MINUTE:10:HOUR:1:HOUR:4:0:%X
- 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.
+ 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:0:%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.
+ 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.
- Y-Axis
- [--yy|----yy--ggrriidd _g_r_i_d _s_t_e_p::_l_a_b_e_l _f_a_c_t_o_r]
+ Y-Grid
+ [--yy|----yy--ggrriidd _g_r_i_d _s_t_e_p::_l_a_b_e_l _f_a_c_t_o_r]
- [--yy|----yy--ggrriidd nnoonnee]
+ [--yy|----yy--ggrriidd nnoonnee]
- Y-axis grid lines appear at each _g_r_i_d _s_t_e_p interval. Labels
- are placed every _l_a_b_e_l _f_a_c_t_o_r lines. You can specify "-y none"
- to suppress the grid and labels altogether. The default for
- this option is to automatically select sensible values.
+ Y-axis grid lines appear at each _g_r_i_d _s_t_e_p interval. Labels are
+ placed every _l_a_b_e_l _f_a_c_t_o_r lines. You can specify "-y none" to sup-
+ press the grid and labels altogether. The default for this option
+ is to automatically select sensible values.
- If you have set --y-grid to 'none' not only the labels get
- supressed, also the space reserved for the labels is removed.
- You can still add space manually if you use the --units-length
- command to explicitly reserve space.
+ If you have set --y-grid to 'none' not only the labels get
+ supressed, also the space reserved for the labels is removed. You
+ can still add space manually if you use the --units-length command
+ to explicitly reserve space.
- [--YY|----aalltt--yy--ggrriidd]
+ [--YY|----aalltt--yy--ggrriidd]
- Place the Y grid dynamically based on the graph's Y range. The
- algorithm ensures that you always have a grid, that there are
- enough but not too many grid lines, and that the grid is met-
- ric. That is the grid lines are placed every 1, 2, 5 or 10
- units. This parameter will also ensure that you get enough dec-
- imals displayed even if your graph goes from 69.998 to 70.001.
- (contributed by Sasha Mikheev).
+ Place the Y grid dynamically based on the graph's Y range. The
+ algorithm ensures that you always have a grid, that there are
+ enough but not too many grid lines, and that the grid is metric.
+ That is the grid lines are placed every 1, 2, 5 or 10 units. This
+ parameter will also ensure that you get enough decimals displayed
+ even if your graph goes from 69.998 to 70.001. (contributed by
+ Sasha Mikheev).
- [--oo|----llooggaarriitthhmmiicc]
+ [--oo|----llooggaarriitthhmmiicc]
- Logarithmic y-axis scaling.
+ Logarithmic y-axis scaling.
- [--XX|----uunniittss--eexxppoonneenntt _v_a_l_u_e]
+ [--XX|----uunniittss--eexxppoonneenntt _v_a_l_u_e]
- This sets the 10**exponent scaling of the y-axis values. Nor-
- mally, values will be scaled to the appropriate units (k, M,
- etc.). However, you may wish to display units always in k
- (Kilo, 10e3) even if the data is in the M (Mega, 10e6) range,
- for instance. Value should be an integer which is a multiple of
- 3 between -18 and 18 inclusively. It is the exponent on the
- units you wish to use. For example, use 3 to display the y-axis
- values in k (Kilo, 10e3, thousands), use -6 to display the
- y-axis values in u (Micro, 10e-6, millionths). Use a value of
- 0 to prevent any scaling of the y-axis values.
+ This sets the 10**exponent scaling of the y-axis values. Normally,
+ values will be scaled to the appropriate units (k, M, etc.). How-
+ ever, you may wish to display units always in k (Kilo, 10e3) even
+ if the data is in the M (Mega, 10e6) range, for instance. Value
+ should be an integer which is a multiple of 3 between -18 and 18
+ inclusively. It is the exponent on the units you wish to use. For
+ example, use 3 to display the y-axis values in k (Kilo, 10e3, thou-
+ sands), use -6 to display the y-axis values in u (Micro, 10e-6,
+ millionths). Use a value of 0 to prevent any scaling of the y-axis
+ values.
- This option is very effective at confusing the heck out of the
- default rrdtool autoscaler and grid painter. If rrdtool detects
- that it is not successful in labeling the graph under the given
- circumstances, it will switch to the more robust ----aalltt--yy--ggrriidd
- mode.
+ This option is very effective at confusing the heck out of the
+ default rrdtool autoscaler and grid painter. If rrdtool detects
+ that it is not successful in labeling the graph under the given
+ circumstances, it will switch to the more robust ----aalltt--yy--ggrriidd mode.
- [--LL|----uunniittss--lleennggtthh _v_a_l_u_e]
+ [--LL|----uunniittss--lleennggtthh _v_a_l_u_e]
- How many digits should rrdtool assume the y-axis labels to be?
- You may have to use this option to make enough space once you
- start fideling with the y-axis labeling.
+ How many digits should rrdtool assume the y-axis labels to be? You
+ may have to use this option to make enough space once you start
+ fideling with the y-axis labeling.
- [----uunniittss==ssii]
+ [----uunniittss==ssii]
- With this option y-axis values on logarithmic graphs will be
- scaled to the appropriate units (k, M, etc.) instead of using
- exponential notation. Note that for linear graphs, SI notation
- is used by default.
+ With this option y-axis values on logarithmic graphs will be scaled
+ to the appropriate units (k, M, etc.) instead of using exponential
+ notation. Note that for linear graphs, SI notation is used by
+ default.
Miscellaneous
[--zz|----llaazzyy]
@@ -377,4 +373,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDGRAPH(1)
+1.2.27 2008-02-17 RRDGRAPH(1)
diff --git a/doc/rrdgraph_data.1 b/doc/rrdgraph_data.1
index 1731aa6..5c427f6 100644
--- a/doc/rrdgraph_data.1
+++ b/doc/rrdgraph_data.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_DATA 1"
-.TH RRDGRAPH_DATA 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH_DATA 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph_data \- preparing data for graphing in rrdtool graph
.SH "SYNOPSIS"
diff --git a/doc/rrdgraph_data.txt b/doc/rrdgraph_data.txt
index 23fd316..e6f6923 100644
--- a/doc/rrdgraph_data.txt
+++ b/doc/rrdgraph_data.txt
@@ -104,4 +104,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDGRAPH_DATA(1)
+1.2.27 2008-02-17 RRDGRAPH_DATA(1)
diff --git a/doc/rrdgraph_examples.1 b/doc/rrdgraph_examples.1
index 163f34f..80fd842 100644
--- a/doc/rrdgraph_examples.1
+++ b/doc/rrdgraph_examples.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_EXAMPLES 1"
-.TH RRDGRAPH_EXAMPLES 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH_EXAMPLES 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph_examples \- Examples for rrdtool graph
.SH "SYNOPSIS"
diff --git a/doc/rrdgraph_examples.txt b/doc/rrdgraph_examples.txt
index 369e3b5..ca58ce7 100644
--- a/doc/rrdgraph_examples.txt
+++ b/doc/rrdgraph_examples.txt
@@ -128,4 +128,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDGRAPH_EXAMPLES(1)
+1.2.27 2008-02-17 RRDGRAPH_EXAMPLES(1)
diff --git a/doc/rrdgraph_graph.1 b/doc/rrdgraph_graph.1
index 24e39dd..f7429f9 100644
--- a/doc/rrdgraph_graph.1
+++ b/doc/rrdgraph_graph.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_GRAPH 1"
-.TH RRDGRAPH_GRAPH 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH_GRAPH 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph_graph \- rrdtool graph command reference
.SH "SYNOPSIS"
@@ -162,8 +162,8 @@ rrdgraph_graph \- rrdtool graph command reference
These instructions allow you to generate your image or report.
If you don't use any graph elements, no graph is generated.
Similarly, no report is generated if you don't use print options.
-.SH "PRINT"
-.IX Header "PRINT"
+.Sh "\s-1PRINT\s0"
+.IX Subsection "PRINT"
.IP "\fB\s-1PRINT:\s0\fR\fIvname\fR\fB:\fR\fIformat\fR[\fB:strftime\fR]" 4
.IX Item "PRINT:vname:format[:strftime]"
Depending on the context, either the value component or the time
@@ -175,122 +175,88 @@ The percent character introduces a formatter string. This string
can be:
.Sp
For printing values:
-.RS 4
-.IP "\fB%%\fR" 4
-.IX Item "%%"
-just prints a literal '%' character
-.IP "\fB%#.#le\fR" 4
-.IX Item "%#.#le"
-prints numbers like 1.2346e+04. The optional integers # denote field
+.Sp
+\&\fB%%\fR \- just prints a literal '%' character
+.Sp
+\&\fB%#.#le\fR \- prints numbers like 1.2346e+04. The optional integers # denote field
width and decimal precision.
-.IP "\fB%#.#lf\fR" 4
-.IX Item "%#.#lf"
-prints numbers like 12345.6789, with optional field width
+.Sp
+\&\fB%#.#lf\fR \- prints numbers like 12345.6789, with optional field width
and precision.
-.IP "\fB%s\fR" 4
-.IX Item "%s"
-place this after \fB%le\fR, \fB%lf\fR or \fB%lg\fR. This will be replaced by the
+.Sp
+\&\fB%s\fR \- place this after \fB%le\fR, \fB%lf\fR or \fB%lg\fR. This will be replaced by the
appropriate \s-1SI\s0 magnitude unit and the value will be scaled
accordingly (123456 \-> 123.456 k).
-.IP "\fB%S\fR" 4
-.IX Item "%S"
-is similar to \fB%s\fR. It does, however, use a previously defined
+.Sp
+\&\fB%S\fR \- is similar to \fB%s\fR. It does, however, use a previously defined
magnitude unit. If there is no such unit yet, it tries to define
one (just like \fB%s\fR) unless the value is zero, in which case the magnitude
unit stays undefined. Thus, formatter strings using \fB%S\fR and no \fB%s\fR
will all use the same magnitude unit except for zero values.
-.RE
-.RS 4
.Sp
If you \s-1PRINT\s0 a \s-1VDEF\s0 value, you can also print the time associated with it by appending the string
\&\fB:strftime\fR to the format. Note that rrdtool uses the strftime function of your OSs clibrary. This means that
the conversion specifier may vary. Check the manual page if you are uncertain. The following is a list of
conversion specifiers usually supported across the board.
-.IP "\fB%a\fR" 4
-.IX Item "%a"
-The abbreviated weekday name according to the current locale.
-.IP "\fB%A\fR" 4
-.IX Item "%A"
-The full weekday name according to the current locale.
-.IP "\fB%b\fR" 4
-.IX Item "%b"
-The abbreviated month name according to the current locale.
-.IP "\fB%B\fR" 4
-.IX Item "%B"
-The full month name according to the current locale.
-.IP "\fB%c\fR" 4
-.IX Item "%c"
-The preferred date and time representation for the current locale.
-.IP "\fB%d\fR" 4
-.IX Item "%d"
-The day of the month as a decimal number (range 01 to 31).
-.IP "\fB%H\fR" 4
-.IX Item "%H"
-The hour as a decimal number using a 24\-hour clock (range 00 to 23).
-.IP "\fB%I\fR" 4
-.IX Item "%I"
-The hour as a decimal number using a 12\-hour clock (range 01 to 12).
-.IP "\fB%j\fR" 4
-.IX Item "%j"
-The day of the year as a decimal number (range 001 to 366).
-.IP "\fB%m\fR" 4
-.IX Item "%m"
-The month as a decimal number (range 01 to 12).
-.IP "\fB%M\fR" 4
-.IX Item "%M"
-The minute as a decimal number (range 00 to 59).
-.IP "\fB%p\fR" 4
-.IX Item "%p"
-Either `\s-1AM\s0' or `\s-1PM\s0' according to the given time value, or the corresponding
+.Sp
+\&\fB%a\fR \- The abbreviated weekday name according to the current locale.
+.Sp
+\&\fB%A\fR \- The full weekday name according to the current locale.
+.Sp
+\&\fB%b\fR \- The abbreviated month name according to the current locale.
+.Sp
+\&\fB%B\fR \- The full month name according to the current locale.
+.Sp
+\&\fB%c\fR \- The preferred date and time representation for the current locale.
+.Sp
+\&\fB%d\fR \- The day of the month as a decimal number (range 01 to 31).
+.Sp
+\&\fB%H\fR \- The hour as a decimal number using a 24\-hour clock (range 00 to 23).
+.Sp
+\&\fB%I\fR \- The hour as a decimal number using a 12\-hour clock (range 01 to 12).
+.Sp
+\&\fB%j\fR \- The day of the year as a decimal number (range 001 to 366).
+.Sp
+\&\fB%m\fR \- The month as a decimal number (range 01 to 12).
+.Sp
+\&\fB%M\fR \- The minute as a decimal number (range 00 to 59).
+.Sp
+\&\fB%p\fR \- Either `\s-1AM\s0' or `\s-1PM\s0' according to the given time value, or the corresponding
strings for the current locale. Noon is treated as `pm' and midnight as
`am'. Note that in many locales and `pm' notation is unsupported and in
such cases \f(CW%p\fR will return an empty string.
-.IP "\fB%S\fR" 4
-.IX Item "%S"
-The second as a decimal number (range 00 to 61).
-.IP "\fB%U\fR" 4
-.IX Item "%U"
-The week number of the current year as a decimal number, range 00 to 53, starting with the
+.Sp
+\&\fB%S\fR \- The second as a decimal number (range 00 to 61).
+.Sp
+\&\fB%U\fR \- The week number of the current year as a decimal number, range 00 to 53, starting with the
first Sunday as the first day of week 01. See also \f(CW%V\fR and \f(CW%W\fR.
-.IP "\fB%V\fR" 4
-.IX Item "%V"
-The \s-1ISO\s0 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
+.Sp
+\&\fB%V\fR \- The \s-1ISO\s0 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
week 1 is the first week that has at least 4 days in the current year, and with Monday as the
first day of the week. See also \f(CW%U\fR and \f(CW%W\fR.
-.IP "\fB%w\fR" 4
-.IX Item "%w"
-The day of the week as a decimal, range 0 to 6, Sunday being 0. See also \f(CW%u\fR.
-.IP "\fB%W\fR" 4
-.IX Item "%W"
-The week number of the current year as a decimal number, range 00 to 53, starting with the
+.Sp
+\&\fB%w\fR \- The day of the week as a decimal, range 0 to 6, Sunday being 0. See also \f(CW%u\fR.
+.Sp
+\&\fB%W\fR \- The week number of the current year as a decimal number, range 00 to 53, starting with the
first Monday as the first day of week 01.
-.IP "\fB%x\fR" 4
-.IX Item "%x"
-The preferred date representation for the current locale without the time.
-.IP "\fB%X\fR" 4
-.IX Item "%X"
-The preferred time representation for the current locale without the date.
-.IP "\fB%y\fR" 4
-.IX Item "%y"
-The year as a decimal number without a century (range 00 to 99).
-.IP "\fB%Y\fR" 4
-.IX Item "%Y"
-The year as a decimal number including the century.
-.IP "\fB%Z\fR" 4
-.IX Item "%Z"
-The time zone or name or abbreviation.
-.IP "\fB%%\fR" 4
-.IX Item "%%"
-A literal `%' character.
-.RE
-.RS 4
-.RE
+.Sp
+\&\fB%x\fR \- The preferred date representation for the current locale without the time.
+.Sp
+\&\fB%X\fR \- The preferred time representation for the current locale without the date.
+.Sp
+\&\fB%y\fR \- The year as a decimal number without a century (range 00 to 99).
+.Sp
+\&\fB%Y\fR \- The year as a decimal number including the century.
+.Sp
+\&\fB%Z\fR \- The time zone or name or abbreviation.
+.Sp
+\&\fB%%\fR \- A literal `%' character.
.IP "\fB\s-1PRINT:\s0\fR\fIvname\fR\fB:\fR\fI\s-1CF\s0\fR\fB:\fR\fIformat\fR" 4
.IX Item "PRINT:vname:CF:format"
\&\fIDeprecated. Use the new form of this command in new scripts.\fR
The first form of this command is to be used with \fB\s-1CDEF\s0\fR \fIvname\fRs.
-.SH "GRAPH"
-.IX Header "GRAPH"
+.Sh "\s-1GRAPH\s0"
+.IX Subsection "GRAPH"
.IP "\fB\s-1GPRINT\s0\fR\fB:\fR\fIvname\fR\fB:\fR\fIformat\fR" 4
.IX Item "GPRINT:vname:format"
This is the same as \f(CW\*(C`PRINT\*(C'\fR, but printed inside the graph.
diff --git a/doc/rrdgraph_graph.html b/doc/rrdgraph_graph.html
index 88c8683..78aae24 100644
--- a/doc/rrdgraph_graph.html
+++ b/doc/rrdgraph_graph.html
@@ -18,8 +18,12 @@
NAME
SYNOPSIS
DESCRIPTION
- PRINT
- GRAPH
+
+
NOTES on legend arguments
-
-
-
diff --git a/doc/rrdgraph_rpn.pod b/doc/rrdgraph_rpn.pod
index b2a84dd..454f736 100644
--- a/doc/rrdgraph_rpn.pod
+++ b/doc/rrdgraph_rpn.pod
@@ -66,8 +66,6 @@ mean that any value other than 0 is considered to be true.
Example: C should be read as C
-Z<>
-
=item Comparing values
B
@@ -91,8 +89,6 @@ will always return an I
Example: C will return I if
alpha is lower than 0 or if it is higher than 100.
-Z<>
-
=item Arithmetics
B<+, -, *, /, %>
@@ -234,8 +230,6 @@ B
Duplicate the top element, remove the top element, exchange the two
top elements.
-Z<>
-
=back
=head1 VARIABLES
diff --git a/doc/rrdgraph_rpn.txt b/doc/rrdgraph_rpn.txt
index d115537..5f022a4 100644
--- a/doc/rrdgraph_rpn.txt
+++ b/doc/rrdgraph_rpn.txt
@@ -63,8 +63,6 @@ OOPPEERRAATTOORRSS
Example: "A,B,C,IF" should be read as "if (A) then (B) else (C)"
-
-
Comparing values
MMIINN,, MMAAXX
@@ -87,8 +85,6 @@ OOPPEERRAATTOORRSS
Example: "CDEF:a=alpha,0,100,LIMIT" will return _u_n_k_n_o_w_n if alpha is
lower than 0 or if it is higher than 100.
-
-
Arithmetics
++,, --,, **,, //,, %%
@@ -223,8 +219,6 @@ OOPPEERRAATTOORRSS
Duplicate the top element, remove the top element, exchange the two
top elements.
-
-
VVAARRIIAABBLLEESS
These operators work only on VVDDEEFF statements. Note that currently ONLY
these work for VVDDEEFF.
@@ -290,4 +284,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDGRAPH_RPN(1)
+1.2.27 2008-02-17 RRDGRAPH_RPN(1)
diff --git a/doc/rrdinfo.1 b/doc/rrdinfo.1
index 69f48fa..bab666f 100644
--- a/doc/rrdinfo.1
+++ b/doc/rrdinfo.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDINFO 1"
-.TH RRDINFO 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDINFO 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdinfo \- extract header information from an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdinfo.txt b/doc/rrdinfo.txt
index c59a5b5..e6a1731 100644
--- a/doc/rrdinfo.txt
+++ b/doc/rrdinfo.txt
@@ -55,4 +55,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDINFO(1)
+1.2.27 2008-02-17 RRDINFO(1)
diff --git a/doc/rrdlast.1 b/doc/rrdlast.1
index 1e93c14..4119139 100644
--- a/doc/rrdlast.1
+++ b/doc/rrdlast.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDLAST 1"
-.TH RRDLAST 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDLAST 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdlast \- Return the date of the last data sample in an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdlast.txt b/doc/rrdlast.txt
index bb2e707..14e28a3 100644
--- a/doc/rrdlast.txt
+++ b/doc/rrdlast.txt
@@ -20,4 +20,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDLAST(1)
+1.2.27 2008-02-17 RRDLAST(1)
diff --git a/doc/rrdlastupdate.1 b/doc/rrdlastupdate.1
index 459daae..4d1a19d 100644
--- a/doc/rrdlastupdate.1
+++ b/doc/rrdlastupdate.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDLASTUPDATE 1"
-.TH RRDLASTUPDATE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDLASTUPDATE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdlastupdate \- Return the most recent update to an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdlastupdate.txt b/doc/rrdlastupdate.txt
index 8264e80..70b5e86 100644
--- a/doc/rrdlastupdate.txt
+++ b/doc/rrdlastupdate.txt
@@ -20,4 +20,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDLASTUPDATE(1)
+1.2.27 2008-02-17 RRDLASTUPDATE(1)
diff --git a/doc/rrdresize.1 b/doc/rrdresize.1
index 61e4577..2ad3df2 100644
--- a/doc/rrdresize.1
+++ b/doc/rrdresize.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDRESIZE 1"
-.TH RRDRESIZE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDRESIZE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdresize \- alters the size of an RRA and creates a new .rrd file
.SH "SYNOPSIS"
diff --git a/doc/rrdresize.txt b/doc/rrdresize.txt
index 3c703a4..817090e 100644
--- a/doc/rrdresize.txt
+++ b/doc/rrdresize.txt
@@ -41,4 +41,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDRESIZE(1)
+1.2.27 2008-02-17 RRDRESIZE(1)
diff --git a/doc/rrdrestore.1 b/doc/rrdrestore.1
index 997f308..fcd8455 100644
--- a/doc/rrdrestore.1
+++ b/doc/rrdrestore.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDRESTORE 1"
-.TH RRDRESTORE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDRESTORE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdrestore \- Restore the contents of an RRD from its XML dump format
.SH "SYNOPSIS"
diff --git a/doc/rrdrestore.txt b/doc/rrdrestore.txt
index d8c1136..49abd76 100644
--- a/doc/rrdrestore.txt
+++ b/doc/rrdrestore.txt
@@ -30,4 +30,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDRESTORE(1)
+1.2.27 2008-02-17 RRDRESTORE(1)
diff --git a/doc/rrdthreads.1 b/doc/rrdthreads.1
index 214c122..d3b496e 100644
--- a/doc/rrdthreads.1
+++ b/doc/rrdthreads.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDTHREADS 1"
-.TH RRDTHREADS 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTHREADS 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdthreads \- Provisions for linking the RRD library to use in multi\-threaded programs
.SH "SYNOPSIS"
diff --git a/doc/rrdthreads.txt b/doc/rrdthreads.txt
index a186f8c..86adb3a 100644
--- a/doc/rrdthreads.txt
+++ b/doc/rrdthreads.txt
@@ -100,4 +100,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDTHREADS(1)
+1.2.27 2008-02-17 RRDTHREADS(1)
diff --git a/doc/rrdtool.1 b/doc/rrdtool.1
index 8212c45..4d20cc8 100644
--- a/doc/rrdtool.1
+++ b/doc/rrdtool.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDTOOL 1"
-.TH RRDTOOL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTOOL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdtool \- Round Robin Database Tool
.SH "SYNOPSIS"
diff --git a/doc/rrdtool.txt b/doc/rrdtool.txt
index 9c6c6dc..3e986ac 100644
--- a/doc/rrdtool.txt
+++ b/doc/rrdtool.txt
@@ -273,4 +273,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDTOOL(1)
+1.2.27 2008-02-17 RRDTOOL(1)
diff --git a/doc/rrdtune.1 b/doc/rrdtune.1
index 8dbc440..a961ee8 100644
--- a/doc/rrdtune.1
+++ b/doc/rrdtune.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDTUNE 1"
-.TH RRDTUNE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTUNE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdtune \- Modify some basic properties of a Round Robin Database
.SH "SYNOPSIS"
diff --git a/doc/rrdtune.txt b/doc/rrdtune.txt
index e09b273..0ce5046 100644
--- a/doc/rrdtune.txt
+++ b/doc/rrdtune.txt
@@ -149,4 +149,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDTUNE(1)
+1.2.27 2008-02-17 RRDTUNE(1)
diff --git a/doc/rrdtutorial.1 b/doc/rrdtutorial.1
index efec405..7efe014 100644
--- a/doc/rrdtutorial.1
+++ b/doc/rrdtutorial.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDTUTORIAL 1"
-.TH RRDTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdtutorial \- Alex van den Bogaerdt's RRDtool tutorial
.SH "DESCRIPTION"
@@ -238,7 +238,7 @@ By following the examples you get some hands-on experience and, even
more important, some background information of how it works.
.PP
You will need to know something about hexadecimal numbers. If you don't
-then start with reading bin_dec_hex before you continue here.
+then start with reading bin_dec_hex tutorial before you continue here.
.Sh "Your first Round Robin Database"
.IX Subsection "Your first Round Robin Database"
In my opinion the best way to learn something is to actually do it.
diff --git a/doc/rrdtutorial.html b/doc/rrdtutorial.html
index 86eb7db..7ae3bf1 100644
--- a/doc/rrdtutorial.html
+++ b/doc/rrdtutorial.html
@@ -161,7 +161,7 @@ you did understand, you may have missed something.
By following the examples you get some hands-on experience and, even
more important, some background information of how it works.
You will need to know something about hexadecimal numbers. If you don't
-then start with reading the bin_dec_hex manpage before you continue here.
+then start with reading bin_dec_hex tutorial before you continue here.
diff --git a/doc/rrdtutorial.pod b/doc/rrdtutorial.pod
index 30a4868..1ccfa37 100644
--- a/doc/rrdtutorial.pod
+++ b/doc/rrdtutorial.pod
@@ -114,7 +114,7 @@ By following the examples you get some hands-on experience and, even
more important, some background information of how it works.
You will need to know something about hexadecimal numbers. If you don't
-then start with reading L before you continue here.
+then start with reading bin_dec_hex tutorial before you continue here.
=head2 Your first Round Robin Database
diff --git a/doc/rrdtutorial.txt b/doc/rrdtutorial.txt
index 3e64a16..e223045 100644
--- a/doc/rrdtutorial.txt
+++ b/doc/rrdtutorial.txt
@@ -116,7 +116,7 @@ TTUUTTOORRIIAALL
more important, some background information of how it works.
You will need to know something about hexadecimal numbers. If you don't
- then start with reading bin_dec_hex before you continue here.
+ then start with reading bin_dec_hex tutorial before you continue here.
YYoouurr ffiirrsstt RRoouunndd RRoobbiinn DDaattaabbaassee
@@ -1149,4 +1149,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDTUTORIAL(1)
+1.2.27 2008-02-17 RRDTUTORIAL(1)
diff --git a/doc/rrdupdate.1 b/doc/rrdupdate.1
index 326b82a..cb1e9ed 100644
--- a/doc/rrdupdate.1
+++ b/doc/rrdupdate.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDUPDATE 1"
-.TH RRDUPDATE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDUPDATE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdupdate \- Store a new set of values into the RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdupdate.txt b/doc/rrdupdate.txt
index 63b032a..582da4e 100644
--- a/doc/rrdupdate.txt
+++ b/doc/rrdupdate.txt
@@ -91,4 +91,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDUPDATE(1)
+1.2.27 2008-02-17 RRDUPDATE(1)
diff --git a/doc/rrdxport.1 b/doc/rrdxport.1
index 88d57e2..276852a 100644
--- a/doc/rrdxport.1
+++ b/doc/rrdxport.1
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "RRDXPORT 1"
-.TH RRDXPORT 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDXPORT 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdxport \- Export data in XML format based on data from one or several RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdxport.txt b/doc/rrdxport.txt
index 120ec80..b9f8d30 100644
--- a/doc/rrdxport.txt
+++ b/doc/rrdxport.txt
@@ -125,4 +125,4 @@ AAUUTTHHOORR
-1.2.26 2007-11-20 RRDXPORT(1)
+1.2.27 2008-02-17 RRDXPORT(1)
diff --git a/netware/Makefile b/netware/Makefile
index c138dfa..e8d6a47 100644
--- a/netware/Makefile
+++ b/netware/Makefile
@@ -42,11 +42,11 @@ endif
# All library code is statically linked to avoid problems with other lib NLMs.
# Edit the path below to point to your libpng sources or set environment var.
ifndef LIBPNG
-LIBPNG = $(LIBBASE)/libpng-1.2.16
+LIBPNG = $(LIBBASE)/libpng-1.2.23
endif
# Edit the path below to point to your freetype sources or set environment var.
ifndef LIBFT2
-LIBFT2 = $(LIBBASE)/freetype-2.3.4
+LIBFT2 = $(LIBBASE)/freetype-2.3.5
endif
# Edit the path below to point to your libart sources or set environment var.
ifndef LIBART
@@ -61,13 +61,17 @@ endif
ifndef DISTDIR
DISTDIR = rrdtool-$(RRD_VERSION_STR)-nw
endif
-DISTARC = $(DISTDIR).zip
+ifndef DISTARC
+DISTARC = $(DISTDIR).$(ARCEXT)
+endif
# Edit the path below to point to your distribution folder.
ifndef DEVLDIR
DEVLDIR = rrdtool-$(RRD_VERSION_STR)-sdk-nw
endif
-DEVLARC = $(DEVLDIR).zip
+ifndef DEVLARC
+DEVLARC = $(DEVLDIR).$(ARCEXT)
+endif
# whatever...
# NO_NULL_REALLOC = 1
@@ -98,8 +102,14 @@ FIXNLMN = fixnlmname #-q
# Here you can find a native Win32 binary of the original awk:
# http://www.gknw.net/development/prgtools/awk.zip
AWK = awk
-ZIP = zip -qzr9
MV = mv -fv
+ifndef ARCBIN
+ARCBIN = zip -qzr9
+ARCEXT = zip
+#ARCBIN = 7za a
+#ARCEXT = 7z
+endif
+
# must be equal to DEBUG or NDEBUG
DB = NDEBUG
@@ -281,7 +291,7 @@ OBJS := $(RRDLIBOBJS) $(XLIBOBJS) $(PNGLIBOBJS) $(ARTLIBOBJS) $(ZLIBOBJS)
OBJCGI := $(OBJS) $(OBJDIR)/rrd_cgi.o
OBJTOOL := $(OBJS) $(OBJDIR)/rrd_tool.o
-LDLIBS += $(LIBFT2)/builds/netware/libc/libft2.$(LIBEXT)
+LDLIBS += $(LIBFT2)/builds/netware/LIBC/libft2.$(LIBEXT)
all: rrdtool rrdcgi
@@ -302,7 +312,7 @@ dist: all $(DISTDIR) $(DISTDIR)/readme.txt
@-$(CP) $(PROOT)/NEWS $(DISTDIR)
@-$(CP) $(PROOT)/README $(DISTDIR)
@echo Creating $(DISTARC)
- @$(ZIP) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
+ @$(ARCBIN) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt
@-mkdir $(DEVLDIR)$(DS)include
@@ -318,7 +328,7 @@ dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt
@-$(CP) $(PROOT)/NEWS $(DEVLDIR)
@-$(CP) $(PROOT)/README $(DEVLDIR)
@echo Creating $(DEVLARC)
- @$(ZIP) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
+ @$(ARCBIN) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
clean:
-$(RM) -r $(OBJDIR)
diff --git a/rrd_config.h.in b/rrd_config.h.in
index 9190c62..303bac7 100644
--- a/rrd_config.h.in
+++ b/rrd_config.h.in
@@ -14,6 +14,13 @@
/* realloc does not support NULL as argument */
#undef NO_NULL_REALLOC
+/* lets enable madvise defines in NetBSD */
+#if defined(__NetBSD__)
+# if !defined(_NETBSD_SOURCE)
+# define _NETBSD_SOURCE
+# endif
+#endif
+
/* Define to 1 if you have the `chdir' function. */
@@ -50,6 +57,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_FCNTL_H
+/* Define to 1 if you have the header file. */
+#undef HAVE_FEATURES_H
+
/* Define to 1 if you have the `finite' function. */
#undef HAVE_FINITE
@@ -125,6 +135,12 @@
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
+/* Define to 1 if you have the `msync' function. */
+#undef HAVE_MSYNC
+
+/* Define to 1 if you have the `munmap' function. */
+#undef HAVE_MUNMAP
+
/* Define to 1 if you have the header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
@@ -134,6 +150,9 @@
/* Define to 1 if you have the `posix_fadvise' function. */
#undef HAVE_POSIX_FADVISE
+/* Define to 1 if you have the `posix_madvise' function. */
+#undef HAVE_POSIX_MADVISE
+
/* Define if you have POSIX threads libraries and header files. */
#undef HAVE_PTHREAD
@@ -174,6 +193,9 @@
*/
#undef HAVE_SYS_DIR_H
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_MMAN_H
+
/* Define to 1 if you have the header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
@@ -250,12 +272,96 @@
#undef const
-/* enable posix_fadvise on linux */
-#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H)
+#ifdef HAVE_FEATURES_H
#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
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
+# include
+#endif
+
+#ifdef HAVE_SYS_PARAM_H
+# include
+#endif
+#ifndef MAXPATH
+# ifdef PATH_MAX
+# define MAXPATH PATH_MAX
+# endif
+#endif
+#ifndef MAXPATH
+/* else try the BSD variant */
+# ifdef MAXPATHLEN
+# define MAXPATH MAXPATHLEN
+# endif
+#endif
+
+#if !defined HAVE_MADVISE && defined HAVE_POSIX_MADVISE
+/* use posix_madvise family */
+# define madvise posix_madvise
+# define MADV_NORMAL POSIX_MADV_NORMAL
+# define MADV_RANDOM POSIX_MADV_RANDOM
+# define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL
+# 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
+
+#ifdef HAVE_SYS_STAT_H
+# include
+#endif
+
+#ifdef HAVE_FCNTL_H
#include
#endif
+#ifdef HAVE_UNISTD_H
+# include
+#endif
+
+#ifdef TIME_WITH_SYS_TIME
+# include
+# include
+#else
+# ifdef HAVE_SYS_TIME_H
+# include
+# else
+# include
+# endif
+#endif
+
+#ifdef HAVE_SYS_TIMES_H
+# include
+#endif
+
+#ifdef HAVE_SYS_RESOURCE_H
+# include
+#if (defined(__svr4__) && defined(__sun__))
+/* Solaris headers (pre 2.6) don't 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 */
@@ -302,12 +408,15 @@ char *strchr (), *strrchr ();
/* for Solaris */
#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS))
# define HAVE_ISINF 1
+# ifdef isinf
+# undef isinf /* confuse autoconf */
+# endif
# 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
+# undef isnan /* confuse autoconf to NOT remove this */
# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN)
#endif
diff --git a/rrdtool.spec b/rrdtool.spec
index 7d169c6..4db9ea9 100644
--- a/rrdtool.spec
+++ b/rrdtool.spec
@@ -7,7 +7,7 @@
Summary: Round Robin Database Tool to store and display time-series data
Name: rrdtool
-Version: 1.2.26
+Version: 1.2.27
Release: 5%{?dist}
License: GPL
Group: Applications/Databases
diff --git a/src/Makefile.am b/src/Makefile.am
index f3c476e..73f1113 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -102,11 +102,11 @@ librrd_la_LIBADD = librrdupd.la $(ALL_LIBS)
# your package will not be binary compatible with any other release.
#
# see http://www.gnu.org/software/libtool/manual.html#SEC32 for explanation
-librrd_la_LDFLAGS = -version-info 2:12:0
+librrd_la_LDFLAGS = -version-info 2:13:0
librrd_th_la_SOURCES = $(UPD_C_FILES) $(RRD_C_FILES) rrd_thread_safe.c
librrd_th_la_CFLAGS = $(MULTITHREAD_CFLAGS)
-librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:11:0
+librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:13:0
librrd_th_la_LIBADD = $(ALL_LIBS)
include_HEADERS = rrd.h
diff --git a/src/Makefile.in b/src/Makefile.in
index ac1342b..f3489df 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -391,10 +391,10 @@ librrd_la_LIBADD = librrdupd.la $(ALL_LIBS)
# your package will not be binary compatible with any other release.
#
# see http://www.gnu.org/software/libtool/manual.html#SEC32 for explanation
-librrd_la_LDFLAGS = -version-info 2:12:0
+librrd_la_LDFLAGS = -version-info 2:13:0
librrd_th_la_SOURCES = $(UPD_C_FILES) $(RRD_C_FILES) rrd_thread_safe.c
librrd_th_la_CFLAGS = $(MULTITHREAD_CFLAGS)
-librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:11:0
+librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:13:0
librrd_th_la_LIBADD = $(ALL_LIBS)
include_HEADERS = rrd.h
rrdcgi_SOURCES = rrd_cgi.c
diff --git a/src/pngsize.c b/src/pngsize.c
index 6b8b264..c9254d4 100644
--- a/src/pngsize.c
+++ b/src/pngsize.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* pngsize.c determine the size of a PNG image
*****************************************************************************/
diff --git a/src/rrd.h b/src/rrd.h
index e63236a..d58662f 100644
--- a/src/rrd.h
+++ b/src/rrd.h
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrdlib.h Public header file for librrd
*****************************************************************************
- * $Id: rrd.h 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd.h 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.9 2005/02/13 16:13:33 oetiker
* let rrd_graph return the actual value range it picked ...
diff --git a/src/rrd_afm.c b/src/rrd_afm.c
index 5277230..59ead88 100644
--- a/src/rrd_afm.c
+++ b/src/rrd_afm.c
@@ -1,9 +1,9 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm.h Parsing afm tables to find width of strings.
****************************************************************************
- * $Id: rrd_afm.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_afm.c 1286 2008-02-17 10:08:10Z oetiker $
*/
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
diff --git a/src/rrd_afm.h b/src/rrd_afm.h
index a9f28d8..94d93eb 100644
--- a/src/rrd_afm.h
+++ b/src/rrd_afm.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm.h Parsing afm tables to find width of strings.
****************************************************************************/
diff --git a/src/rrd_afm_data.c b/src/rrd_afm_data.c
index ab7f1aa..2c7ab44 100644
--- a/src/rrd_afm_data.c
+++ b/src/rrd_afm_data.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm_data.c Encoded afm (Adobe Font Metrics) for selected fonts.
****************************************************************************
diff --git a/src/rrd_afm_data.h b/src/rrd_afm_data.h
index 6be2607..076e959 100644
--- a/src/rrd_afm_data.h
+++ b/src/rrd_afm_data.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm_data.h Encoded afm (Adobe Font Metrics) for selected fonts.
****************************************************************************/
diff --git a/src/rrd_cgi.c b/src/rrd_cgi.c
index 8038a30..e87c70c 100644
--- a/src/rrd_cgi.c
+++ b/src/rrd_cgi.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_cgi.c RRD Web Page Generator
*****************************************************************************/
@@ -1287,7 +1287,7 @@ s_var **rrdcgiReadVariables(void)
if (iname,cp, esp-cp) || !(strlen (result[k]->name) == esp-cp)); k++);
+ for (k=0; kname,cp, esp-cp) || !(strlen (result[k]->name) == (size_t)(esp-cp))); k++);
if (k == i) { /* No such variable yet */
if ((result[i] = (s_var *)malloc(sizeof(s_var))) == NULL)
diff --git a/src/rrd_create.c b/src/rrd_create.c
index 05b372d..9e5b055 100644
--- a/src/rrd_create.c
+++ b/src/rrd_create.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_create.c creates new rrds
*****************************************************************************/
diff --git a/src/rrd_diff.c b/src/rrd_diff.c
index 3cc2907..d8ca838 100644
--- a/src/rrd_diff.c
+++ b/src/rrd_diff.c
@@ -1,11 +1,11 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This code is stolen from rateup (mrtg-2.x) by Dave Rand
*****************************************************************************
* diff calculate the difference between two very long integers available as
* strings
*****************************************************************************
- * $Id: rrd_diff.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_diff.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.4 2003/03/10 00:30:34 oetiker
* handle cases with two negative numbers
diff --git a/src/rrd_dump.c b/src/rrd_dump.c
index b37e9a1..bb68593 100644
--- a/src/rrd_dump.c
+++ b/src/rrd_dump.c
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_dump Display a RRD
*****************************************************************************
- * $Id: rrd_dump.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_dump.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.7 2004/05/25 20:53:21 oetiker
* prevent small leak when resources are exhausted -- Mike Slifcak
diff --git a/src/rrd_error.c b/src/rrd_error.c
index a3c958c..6aaf7f2 100644
--- a/src/rrd_error.c
+++ b/src/rrd_error.c
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_error.c Common Header File
*****************************************************************************
- * $Id: rrd_error.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_error.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.4 2003/02/22 21:57:03 oetiker
* a patch to avoid a memory leak and a Makefile.am patch to
diff --git a/src/rrd_fetch.c b/src/rrd_fetch.c
index 5dfcaab..82d35f3 100644
--- a/src/rrd_fetch.c
+++ b/src/rrd_fetch.c
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_fetch.c read date from an rrd to use for further processing
*****************************************************************************
- * $Id: rrd_fetch.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_fetch.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.8 2004/05/18 18:53:03 oetiker
* big spell checking patch -- slif@bellsouth.net
diff --git a/src/rrd_first.c b/src/rrd_first.c
index f1267af..eba83be 100644
--- a/src/rrd_first.c
+++ b/src/rrd_first.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_first Return
*****************************************************************************
diff --git a/src/rrd_format.c b/src/rrd_format.c
index bccc0d4..b7ca3a1 100644
--- a/src/rrd_format.c
+++ b/src/rrd_format.c
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_format.c RRD Database Format helper functions
*****************************************************************************
- * $Id: rrd_format.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_format.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.5 2004/05/18 18:53:03 oetiker
* big spell checking patch -- slif@bellsouth.net
diff --git a/src/rrd_format.h b/src/rrd_format.h
index 34022f2..b8c8a81 100644
--- a/src/rrd_format.h
+++ b/src/rrd_format.h
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_format.h RRD Database Format header
*****************************************************************************/
diff --git a/src/rrd_gfx.c b/src/rrd_gfx.c
index 3db7bdf..a94afbf 100644
--- a/src/rrd_gfx.c
+++ b/src/rrd_gfx.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_gfx.c graphics wrapper for rrdtool
**************************************************************************/
diff --git a/src/rrd_gfx.h b/src/rrd_gfx.h
index 8df3902..15680a1 100644
--- a/src/rrd_gfx.h
+++ b/src/rrd_gfx.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_gfx.h generic graphics adapter library
****************************************************************************/
diff --git a/src/rrd_graph.c b/src/rrd_graph.c
index b3822d6..deb23cf 100644
--- a/src/rrd_graph.c
+++ b/src/rrd_graph.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd__graph.c produce graphs from data in rrdfiles
****************************************************************************/
@@ -51,7 +51,7 @@ xlab_t xlab[] = {
{10, 0, TMT_MINUTE,5, TMT_MINUTE,20, TMT_MINUTE,20, 0,"%H:%M"},
{30, 0, TMT_MINUTE,10, TMT_HOUR,1, TMT_HOUR,1, 0,"%H:%M"},
{60, 0, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,2, 0,"%H:%M"},
- {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,4, 0,"%a %H:%M"},
+ {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,6, 0,"%a %H:%M"},
{180, 0, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,6, 0,"%H:%M"},
{180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%a %H:%M"},
/*{300, 0, TMT_HOUR,3, TMT_HOUR,12, TMT_HOUR,12, 12*3600,"%a %p"}, this looks silly*/
@@ -3498,19 +3498,24 @@ rrd_graph_options(int argc, char *argv[],image_desc_t *im)
case 'n':{
char prop[15];
double size = 1;
- char font[1024] = "";
-
+ int end;
if(sscanf(optarg,
- "%10[A-Z]:%lf:%1000s",
- prop,&size,font) >= 2){
+ "%10[A-Z]:%lf%n",
+ prop,&size,&end) >= 2){
int sindex,propidx;
if((sindex=text_prop_conv(prop)) != -1){
for (propidx=sindex;propidx 0){
im->text_prop[propidx].size=size;
- }
- if (strlen(font) > 0){
- strcpy(im->text_prop[propidx].font,font);
+ }
+ if (strlen(prop) > end){
+ if (prop[end] == ':'){
+ strncpy(im->text_prop[propidx].font,prop+end+1,255);
+ im->text_prop[propidx].font[255] = '\0';
+ } else {
+ rrd_set_error("expected after font size in '%s'",prop);
+ return;
+ }
}
if (propidx==sindex && sindex != 0) break;
}
diff --git a/src/rrd_graph_helper.c b/src/rrd_graph_helper.c
index 53da695..86a2467 100644
--- a/src/rrd_graph_helper.c
+++ b/src/rrd_graph_helper.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_graph_helper.c commandline parser functions
* this code initially written by Alex van den Bogaerdt
diff --git a/src/rrd_hw.c b/src/rrd_hw.c
index 2641cdb..43158fd 100644
--- a/src/rrd_hw.c
+++ b/src/rrd_hw.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_hw.c : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection
*****************************************************************************
diff --git a/src/rrd_hw.h b/src/rrd_hw.h
index df2ca5e..54f150f 100644
--- a/src/rrd_hw.h
+++ b/src/rrd_hw.h
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_hw.h : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection
*****************************************************************************/
diff --git a/src/rrd_info.c b/src/rrd_info.c
index 02e7bff..b2a55d9 100644
--- a/src/rrd_info.c
+++ b/src/rrd_info.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_info Get Information about the configuration of an RRD
*****************************************************************************/
diff --git a/src/rrd_is_thread_safe.h b/src/rrd_is_thread_safe.h
index 5fff45d..15d876d 100644
--- a/src/rrd_is_thread_safe.h
+++ b/src/rrd_is_thread_safe.h
@@ -1,12 +1,12 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest
* & Tobias Oetiker
* Distributed under the GPL
*****************************************************************************
* rrd_is_thread_safe.c Poisons some nasty function calls using GNU cpp
*****************************************************************************
- * $Id: rrd_is_thread_safe.h 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_is_thread_safe.h 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#ifndef _RRD_IS_THREAD_SAFE_H
diff --git a/src/rrd_last.c b/src/rrd_last.c
index 3697aca..a0a7cbb 100644
--- a/src/rrd_last.c
+++ b/src/rrd_last.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_last.c
*****************************************************************************
diff --git a/src/rrd_lastupdate.c b/src/rrd_lastupdate.c
index dad2c7a..159aafa 100644
--- a/src/rrd_lastupdate.c
+++ b/src/rrd_lastupdate.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_lastupdate Get the last datum entered for each DS
*****************************************************************************/
diff --git a/src/rrd_not_thread_safe.c b/src/rrd_not_thread_safe.c
index 7504d6e..ccc40ff 100644
--- a/src/rrd_not_thread_safe.c
+++ b/src/rrd_not_thread_safe.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest
* & Tobias Oetiker
* Distributed under the GPL
@@ -7,7 +7,7 @@
* rrd_not_thread_safe.c Contains routines used when thread safety is not
* an issue
*****************************************************************************
- * $Id: rrd_not_thread_safe.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_not_thread_safe.c 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#include "rrd.h"
#include "rrd_tool.h"
diff --git a/src/rrd_open.c b/src/rrd_open.c
index 418e5fe..72999ee 100644
--- a/src/rrd_open.c
+++ b/src/rrd_open.c
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_open.c Open an RRD File
*****************************************************************************
- * $Id: rrd_open.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_open.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.10 2004/05/26 22:11:12 oetiker
* reduce compiler warnings. Many small fixes. -- Mike Slifcak
diff --git a/src/rrd_resize.c b/src/rrd_resize.c
index 7219953..9779c97 100644
--- a/src/rrd_resize.c
+++ b/src/rrd_resize.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_resize.c Alters size of an RRA
*****************************************************************************
diff --git a/src/rrd_restore.c b/src/rrd_restore.c
index 9c5c1c6..4fb1dab 100644
--- a/src/rrd_restore.c
+++ b/src/rrd_restore.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_restore.c creates new rrd from data dumped by rrd_dump.c
*****************************************************************************/
diff --git a/src/rrd_rpncalc.c b/src/rrd_rpncalc.c
index 75b10e9..db1c883 100644
--- a/src/rrd_rpncalc.c
+++ b/src/rrd_rpncalc.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_rpncalc.c RPN calculator functions
****************************************************************************/
diff --git a/src/rrd_rpncalc.h b/src/rrd_rpncalc.h
index d0f7be8..b00cca9 100644
--- a/src/rrd_rpncalc.h
+++ b/src/rrd_rpncalc.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_rpncalc.h RPN calculator functions
****************************************************************************/
diff --git a/src/rrd_thread_safe.c b/src/rrd_thread_safe.c
index fb63f4d..f4e6a54 100644
--- a/src/rrd_thread_safe.c
+++ b/src/rrd_thread_safe.c
@@ -1,12 +1,12 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest
* & Tobias Oetiker
* Distributed under the GPL
*****************************************************************************
* rrd_thread_safe.c Contains routines used when thread safety is required
*****************************************************************************
- * $Id: rrd_thread_safe.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_thread_safe.c 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#include
diff --git a/src/rrd_thread_safe_nt.c b/src/rrd_thread_safe_nt.c
index 6e4c305..13780ab 100644
--- a/src/rrd_thread_safe_nt.c
+++ b/src/rrd_thread_safe_nt.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest
* & Tobias Oetiker
* Distributed under the GPL
@@ -7,7 +7,7 @@
* rrd_thread_safe.c Contains routines used when thread safety is required
* for win32
*****************************************************************************
- * $Id: rrd_thread_safe_nt.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_thread_safe_nt.c 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#include
diff --git a/src/rrd_tool.c b/src/rrd_tool.c
index 5dbef0e..894b4df 100644
--- a/src/rrd_tool.c
+++ b/src/rrd_tool.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_tool.c Startup wrapper
*****************************************************************************/
@@ -22,7 +22,7 @@ void PrintUsage(char *cmd)
{
char help_main[] =
- "RRDtool " PACKAGE_VERSION " Copyright 1997-2007 by Tobias Oetiker \n"
+ "RRDtool " PACKAGE_VERSION " Copyright 1997-2008 by Tobias Oetiker \n"
" Compiled " __DATE__ " " __TIME__ "\n\n"
"Usage: rrdtool [options] command command_options\n\n";
diff --git a/src/rrd_tool.h b/src/rrd_tool.h
index 852bfec..22c404f 100644
--- a/src/rrd_tool.h
+++ b/src/rrd_tool.h
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_tool.h Common Header File
*****************************************************************************/
@@ -71,39 +71,10 @@ extern "C" {
# include
#endif
-#if HAVE_UNISTD_H
-# include
-#endif
-
#if HAVE_STRINGS_H
# include
#endif
-#if TIME_WITH_SYS_TIME
-# include
-# include
-#else
-# if HAVE_SYS_TIME_H
-# include
-# else
-# include
-# endif
-#endif
-
-#if HAVE_SYS_TIMES_H
-# include
-#endif
-
-
-#if HAVE_SYS_RESOURCE_H
-# include
-#if (defined(__svr4__) && defined(__sun__))
-/* Solaris headers (pre 2.6) don't have a getrusage prototype.
- Use this instead. */
-extern int getrusage(int, struct rusage *);
-#endif /* __svr4__ && __sun__ */
-#endif
-
#include "rrd.h"
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
diff --git a/src/rrd_tune.c b/src/rrd_tune.c
index 3d9f4d9..d7f08fd 100644
--- a/src/rrd_tune.c
+++ b/src/rrd_tune.c
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* change header parameters of an rrd
*****************************************************************************
- * $Id: rrd_tune.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_tune.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.6 2004/05/26 22:11:12 oetiker
* reduce compiler warnings. Many small fixes. -- Mike Slifcak
diff --git a/src/rrd_update.c b/src/rrd_update.c
index c224119..57e0fbb 100644
--- a/src/rrd_update.c
+++ b/src/rrd_update.c
@@ -1,17 +1,14 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_update.c RRD Update Function
*****************************************************************************
- * $Id: rrd_update.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_update.c 1286 2008-02-17 10:08:10Z oetiker $
*****************************************************************************/
#include "rrd_tool.h"
#include
#include
-#ifdef HAVE_MMAP
-# include
-#endif
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
#include
@@ -32,12 +29,15 @@
*/
#include
-#ifndef __MINGW32__
+#if (defined(__MINGW32__) && \
+ ((__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 12) || __MINGW32_MAJOR_VERSION > 3))
+#include
+#else
+
struct timeval {
time_t tv_sec; /* seconds */
long tv_usec; /* microseconds */
};
-#endif
struct __timezone {
int tz_minuteswest; /* minutes W of Greenwich */
@@ -56,7 +56,9 @@ static int gettimeofday(struct timeval *t, struct __timezone *tz) {
return 0;
}
+#endif /* mingw32 3.4.5 */
#endif
+
/*
* normilize time as returned by gettimeofday. usec part must
* be always >= 0
@@ -427,10 +429,10 @@ _rrd_update(const char *filename, const char *tmplt, int argc, const char **argv
fclose(rrd_file);
return(-1);
}
-#ifdef HAVE_MADVISE
+#ifdef USE_MADVISE
/* when we use mmaping we tell the kernel the mmap equivalent
of POSIX_FADV_RANDOM */
- madvise(rrd_mmaped_file,rrd_filesize,POSIX_MADV_RANDOM);
+ madvise(rrd_mmaped_file,rrd_filesize,MADV_RANDOM);
#endif
#endif
/* loop through the arguments. */
diff --git a/src/rrd_version.c b/src/rrd_version.c
index cd71269..a2de839 100644
--- a/src/rrd_version.c
+++ b/src/rrd_version.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_version Return
*****************************************************************************
diff --git a/src/rrd_xport.c b/src/rrd_xport.c
index f1e7908..0d4660e 100644
--- a/src/rrd_xport.c
+++ b/src/rrd_xport.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_xport.c export RRD data
****************************************************************************/
diff --git a/src/rrd_xport.h b/src/rrd_xport.h
index e9e19e8..09fdeef 100644
--- a/src/rrd_xport.h
+++ b/src/rrd_xport.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_xport.h contains XML related constants
****************************************************************************/
diff --git a/src/rrdupdate.c b/src/rrdupdate.c
index d396522..f610614 100644
--- a/src/rrdupdate.c
+++ b/src/rrdupdate.c
@@ -1,9 +1,9 @@
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrdupdate.c Main program for the (standalone) rrdupdate utility
*****************************************************************************
- * $Id: rrdupdate.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrdupdate.c 1286 2008-02-17 10:08:10Z oetiker $
*****************************************************************************/
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
@@ -20,7 +20,7 @@ int
main(int argc, char **argv){
rrd_update(argc,argv);
if (rrd_test_error()) {
- printf("RRDtool " PACKAGE_VERSION " Copyright by Tobi Oetiker, 1997-2007\n\n"
+ printf("RRDtool " PACKAGE_VERSION " Copyright by Tobi Oetiker, 1997-2008\n\n"
"Usage: rrdupdate filename\n"
"\t\t\t[--template|-t ds-name:ds-name:...]\n"
"\t\t\ttime|N:value[:value...]\n\n"
diff --git a/win32/Makefile b/win32/Makefile
index 8c392d5..6e3dc2c 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -33,12 +33,12 @@ endif
# All library code is statically linked to avoid problems with other lib DLLs.
# Edit the path below to point to your libpng sources or set environment var.
ifndef LIBPNG
-LIBPNG = $(LIBBASE)/libpng-1.2.16
+LIBPNG = $(LIBBASE)/libpng-1.2.23
endif
# Edit the path below to point to your freetype sources or set environment var.
ifndef LIBFT2
-#LIBFT2 = $(LIBBASE)/freetype-2.3.4
-LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.3.4
+#LIBFT2 = $(LIBBASE)/freetype-2.3.5
+LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.3.5
endif
# Edit the path below to point to your libart sources or set environment var.
ifndef LIBART
@@ -53,13 +53,17 @@ endif
ifndef DISTDIR
DISTDIR = rrdtool-$(RRD_VERSION_STR)-w32
endif
-DISTARC = $(DISTDIR).zip
+ifndef DISTARC
+DISTARC = $(DISTDIR).$(ARCEXT)
+endif
# Edit the path below to point to your distribution folder.
ifndef DEVLDIR
DEVLDIR = rrdtool-$(RRD_VERSION_STR)-sdk-w32
endif
-DEVLARC = $(DEVLDIR).zip
+ifndef DEVLARC
+DEVLARC = $(DEVLDIR).$(ARCEXT)
+endif
# whatever...
NO_NULL_REALLOC = 1
@@ -68,14 +72,19 @@ NO_NULL_REALLOC = 1
ifdef METROWERKS
CC = mwcc
else
- CC = gcc
+ CC = $(CRPREFIX)gcc
endif
# RM = rm -f
CP = cp -afv
# Here you can find a native Win32 binary of the original awk:
# http://www.gknw.net/development/prgtools/awk.zip
AWK = awk
-ZIP = zip -qzr9
+ifndef ARCBIN
+ARCBIN = zip -qzr9
+ARCEXT = zip
+#ARCBIN = 7za a
+#ARCEXT = 7z
+endif
# must be equal to DEBUG or NDEBUG
DB = NDEBUG
@@ -114,8 +123,8 @@ CFLAGS += -nostdinc -gccinc -msgstyle gcc -inline off -opt nointrinsics -proc 58
CFLAGS += -ir "$(METROWERKS)/MSL" -ir "$(METROWERKS)/Win32-x86 Support"
CFLAGS += -w on,nounused,nounusedexpr # -ansi strict
else
-LD = gcc
-RC = windres
+LD = $(CRPREFIX)gcc
+RC = $(CRPREFIX)windres
LDFLAGS = -s
AR = ar
ARFLAGS = -cq
@@ -125,7 +134,7 @@ CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall -Wno-unused # -pedantic
endif
-ifeq ($(findstring msys,$(OSTYPE)),msys)
+ifdef __MSYS__
DL = '
DS = /
else
@@ -253,7 +262,7 @@ dist: all $(DISTDIR) $(DISTDIR)/readme.txt
@-$(CP) $(PROOT)/NEWS $(DISTDIR)
@-$(CP) $(PROOT)/README $(DISTDIR)
@echo Creating $(DISTARC)
- @$(ZIP) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
+ @$(ARCBIN) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt
@-mkdir $(DEVLDIR)$(DS)include
@@ -269,7 +278,7 @@ dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt
@-$(CP) $(PROOT)/NEWS $(DEVLDIR)
@-$(CP) $(PROOT)/README $(DEVLDIR)
@echo Creating $(DEVLARC)
- @$(ZIP) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
+ @$(ARCBIN) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
clean:
-$(RM) -r $(OBJDIR)
--
2.30.2