From 645054bac6187b0e83fd4125fd59e4feda216b64 Mon Sep 17 00:00:00 2001 From: Sebastian Harl Date: Wed, 30 Sep 2009 21:34:29 +0200 Subject: [PATCH] Imported upstream SVN snapshot 1.4~rc2+20090928. This is based on SVN trunk at revision 1918. --- CHANGES | 10071 ++----- CONTRIBUTORS | 3 +- COPYRIGHT | 2 +- Makefile.am | 2 +- Makefile.in | 3 +- NEWS | 11 +- README | 2 +- TODO | 2 +- aclocal.m4 | 4 +- autogen.sh | 2 +- bindings/Makefile.in | 5 +- bindings/lua/Makefile.in | 5 +- bindings/lua/compat-5.1r5/compat-5.1.c | 23 +- bindings/lua/compat-5.1r5/compat-5.1.h | 23 +- bindings/lua/compat-5.1r5/compat-5.1.lua | 20 + bindings/python/rrdtoolmodule.c | 4 +- bindings/ruby/main.c | 2 +- bindings/tcl/Makefile.in | 5 +- bindings/tcl/tclrrd.c | 2 +- config.guess | 58 +- config.sub | 15 +- configure | 29569 +++++++-------------- configure.ac | 50 +- doc/Makefile.am | 34 +- doc/Makefile.in | 82 +- doc/RRDp.html | 74 +- doc/RRDs.html | 14 +- doc/bin_dec_hex.1 | 63 +- doc/bin_dec_hex.html | 46 +- doc/bin_dec_hex.pod | 2 - doc/bin_dec_hex.txt | 100 +- doc/cdeftutorial.1 | 122 +- doc/cdeftutorial.html | 330 +- doc/cdeftutorial.txt | 149 +- doc/{librrd.1 => librrd.3} | 112 +- doc/librrd.html | 123 +- doc/librrd.pod | 73 +- doc/librrd.txt | 79 +- doc/rpntutorial.1 | 43 +- doc/rpntutorial.html | 72 +- doc/rpntutorial.txt | 34 +- doc/rrd-beginners.1 | 107 +- doc/rrd-beginners.html | 93 +- doc/rrd-beginners.pod | 40 +- doc/rrd-beginners.txt | 215 +- doc/rrdbuild.1 | 65 +- doc/rrdbuild.html | 55 +- doc/rrdbuild.txt | 80 +- doc/rrdcached.1 | 174 +- doc/rrdcached.html | 576 +- doc/rrdcached.pod | 110 +- doc/rrdcached.txt | 216 +- doc/rrdcgi.1 | 63 +- doc/rrdcgi.html | 164 +- doc/rrdcgi.txt | 38 +- doc/rrdcreate.1 | 63 +- doc/rrdcreate.html | 249 +- doc/rrdcreate.txt | 332 +- doc/rrddump.1 | 43 +- doc/rrddump.html | 89 +- doc/rrddump.txt | 10 +- doc/rrdfetch.1 | 67 +- doc/rrdfetch.html | 115 +- doc/rrdfetch.txt | 101 +- doc/rrdfirst.1 | 43 +- doc/rrdfirst.html | 27 +- doc/rrdfirst.txt | 2 +- doc/rrdflushcached.1 | 43 +- doc/rrdflushcached.html | 43 +- doc/rrdflushcached.txt | 10 +- doc/rrdgraph.1 | 96 +- doc/rrdgraph.html | 39 +- doc/rrdgraph.pod | 10 + doc/rrdgraph.txt | 186 +- doc/rrdgraph_data.1 | 51 +- doc/rrdgraph_data.html | 10 +- doc/rrdgraph_data.txt | 77 +- doc/rrdgraph_examples.1 | 63 +- doc/rrdgraph_examples.html | 46 +- doc/rrdgraph_examples.txt | 64 +- doc/rrdgraph_graph.1 | 142 +- doc/rrdgraph_graph.html | 452 +- doc/rrdgraph_graph.txt | 137 +- doc/rrdgraph_libdbi.1 | 289 + doc/rrdgraph_libdbi.html | 211 + doc/rrdgraph_libdbi.txt | 164 + doc/rrdgraph_rpn.1 | 68 +- doc/rrdgraph_rpn.html | 277 +- doc/rrdgraph_rpn.txt | 89 +- doc/rrdinfo.1 | 45 +- doc/rrdinfo.html | 39 +- doc/rrdinfo.txt | 26 +- doc/rrdlast.1 | 43 +- doc/rrdlast.html | 39 +- doc/rrdlast.txt | 10 +- doc/rrdlastupdate.1 | 43 +- doc/rrdlastupdate.html | 39 +- doc/rrdlastupdate.txt | 10 +- doc/rrdlua.1 | 350 + doc/rrdlua.html | 241 + doc/rrdlua.txt | 201 + doc/rrdresize.1 | 43 +- doc/rrdresize.html | 50 +- doc/rrdresize.txt | 6 +- doc/rrdrestore.1 | 43 +- doc/rrdrestore.html | 41 +- doc/rrdrestore.txt | 6 +- doc/rrdthreads.1 | 61 +- doc/rrdthreads.html | 144 +- doc/rrdthreads.txt | 76 +- doc/rrdtool.1 | 61 +- doc/rrdtool.html | 203 +- doc/rrdtool.txt | 159 +- doc/rrdtune.1 | 43 +- doc/rrdtune.html | 162 +- doc/rrdtune.txt | 61 +- doc/rrdtutorial.1 | 147 +- doc/rrdtutorial.html | 175 +- doc/rrdtutorial.txt | 415 +- doc/rrdupdate.1 | 47 +- doc/rrdupdate.html | 113 +- doc/rrdupdate.txt | 70 +- doc/rrdxport.1 | 45 +- doc/rrdxport.html | 98 +- doc/rrdxport.txt | 28 +- examples/Makefile.in | 5 +- examples/rrdcached/Makefile.in | 5 +- libtool | 64 +- ltmain.sh | 41 +- m4/acinclude.m4 | 8 +- m4/libtool.m4 | 27 +- po/rrdtool.pot | 28 +- rrd_config.h.in | 9 + rrdtool.spec | 2 +- src/Makefile.in | 5 +- src/fnv.h | 4 +- src/librrd.sym.in.in | 2 + src/rrd.h | 14 +- src/rrd_client.h | 18 +- src/rrd_config_bottom.h | 7 +- src/rrd_daemon.c | 583 +- src/rrd_diff.c | 2 +- src/rrd_dump.c | 470 +- src/rrd_error.c | 2 +- src/rrd_fetch.c | 2 +- src/rrd_format.c | 2 +- src/rrd_graph.c | 337 +- src/rrd_graph.h | 3 +- src/rrd_info.c | 5 + src/rrd_is_thread_safe.h | 2 +- src/rrd_not_thread_safe.c | 2 +- src/rrd_open.c | 2 +- src/rrd_restore.c | 57 +- src/rrd_thread_safe.c | 4 +- src/rrd_thread_safe_nt.c | 2 +- src/rrd_tool.c | 6 +- src/rrd_tune.c | 47 +- src/rrd_update.c | 2 +- src/rrd_utils.c | 64 +- src/rrdupdate.c | 2 +- win32/rrd_config.h.msvc | 1 + 161 files changed, 19642 insertions(+), 32716 deletions(-) rename doc/{librrd.1 => librrd.3} (59%) create mode 100644 doc/rrdgraph_libdbi.1 create mode 100644 doc/rrdgraph_libdbi.html create mode 100644 doc/rrdgraph_libdbi.txt create mode 100644 doc/rrdlua.1 create mode 100644 doc/rrdlua.html create mode 100644 doc/rrdlua.txt diff --git a/CHANGES b/CHANGES index 108b086..892fd36 100644 --- a/CHANGES +++ b/CHANGES @@ -1,8319 +1,3954 @@ ------------------------------------------------------------------------- -r1857 | oetiker | 2009-06-08 07:12:26 +0200 | 2 lines +2009-09-28 16:21 oetiker -make config.h a symlink to rrd_config.h so that intl/Makefile is happy + * doc/librrd.pod: Moved rrd_dump_cb_r() to section "CORE FUNCTIONS" + since this is not a utility function but rather part of RRDtool's + core. -- Sebastian Harl ------------------------------------------------------------------------- -r1856 | oetiker | 2009-06-08 06:56:56 +0200 | 4 lines +2009-09-28 16:16 oetiker -Relax automake requirements and make 1.11 features optional -- kevin brintnall + * doc/Makefile.am: Moved the 'librrd' manpage to section 3 -- + Sebastian Harl +2009-09-28 16:16 oetiker + * doc/librrd.pod: documentation for rrd_mkdir_p added -- Sebastian + Harl ------------------------------------------------------------------------- -r1855 | oetiker | 2009-06-07 22:48:39 +0200 | 2 lines +2009-09-28 16:16 oetiker -fix some missing rrd_flushcached instances -- kevin + * src/rrd_daemon.c: free config_pid_file after using it for the last + time ... Else, the daemon might either segfault or leave the PID + file around. -- Sebastian Harl ------------------------------------------------------------------------- -r1854 | oetiker | 2009-06-07 16:46:21 +0200 | 2 lines +2009-09-28 16:15 oetiker -switch to the rrd_flushcached interface + * src/rrd_daemon.c: try to create missing journal directories rather + than abort with an error. -- Sebastian Harl ------------------------------------------------------------------------- -r1853 | oetiker | 2009-06-07 16:45:55 +0200 | 2 lines +2009-09-28 16:13 oetiker -consider fgets return value + * src/librrd.sym.in.in, src/rrd.h, src/rrd_utils.c: added + rrd_mkdir_p - This function may be used to recursively create some + directory, similar to "mkdir -p" on the command-line. -- Sebastian + Harl ------------------------------------------------------------------------- -r1852 | oetiker | 2009-06-07 16:33:06 +0200 | 2 lines +2009-09-24 19:21 oetiker -do not try to mess with autopoints files + * src/rrd_restore.c: adjusted copyright wording according to + sebastians suggestions ------------------------------------------------------------------------- -r1851 | oetiker | 2009-06-07 16:27:52 +0200 | 2 lines +2009-09-01 08:49 oetiker -check return value from write + * NEWS, src/rrd_graph.c: show element type in legend ------------------------------------------------------------------------- -r1850 | oetiker | 2009-06-07 16:19:04 +0200 | 2 lines +2009-08-25 09:01 oetiker -check return values of dup and ftruncate + * configure.ac, src/rrd_client.h, src/rrd_daemon.c: detect if + stdint.h is available. if not, use inttypes. this should fix #239 + and make compilation on solaris 9 work. ------------------------------------------------------------------------- -r1849 | oetiker | 2009-06-07 16:12:28 +0200 | 2 lines +2009-08-24 12:04 oetiker -fix some warnings + * debian/README, debian/README.Debian, debian/build_freetype.sh, + debian/changelog, debian/control, debian/copyright, + debian/librrd0-dev.files, debian/librrd0.files, + debian/librrd0.postinst, debian/librrd0.postrm, + debian/librrd0.shlibs, debian/librrdp-perl.files, + debian/librrds-perl.files, debian/rrdtool-tcl.files, + debian/rrdtool.files, debian/rules, debian/watch: replae with + pointer ------------------------------------------------------------------------- -r1848 | oetiker | 2009-06-07 15:57:17 +0200 | 2 lines +2009-08-24 12:02 oetiker -added a copy to svn since it is changed from the original + * src/rrd_config_bottom.h: call fpclass only once when replacing + isnan for solaris ------------------------------------------------------------------------- -r1847 | oetiker | 2009-06-07 15:53:10 +0200 | 2 lines +2009-08-22 22:03 oetiker -changed from original version, so include it ... + * MakeMakefile: remove misspellt keyword ... ------------------------------------------------------------------------- -r1846 | oetiker | 2009-06-07 15:42:39 +0200 | 2 lines +2009-08-21 05:03 oetiker -include libtool with the distro + * m4/acinclude.m4, src/rrd_config_bottom.h: make sure all elements + required in the definition of isinf are defined in their turn ------------------------------------------------------------------------- -r1845 | oetiker | 2009-06-07 13:36:20 +0200 | 2 lines +2009-08-20 22:02 oetiker -another ID tag + * src/rrd_graph.c, src/rrd_tool.c: Trim trailing whitespace, reoder + getopt_long per shortopt char; Fix -D while at it -- Bernhard + Reutner-Fischer ------------------------------------------------------------------------- -r1844 | oetiker | 2009-06-07 13:35:52 +0200 | 2 lines +2009-08-19 15:24 oetiker -more id tags added + * NEWS, doc/rrdgraph.pod, src, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_tool.c: The attached patch allows to $ rrdtool graph + --border=0 to disable the 3d border around the image. -- Bernhard + Reutner-Fischer rep.dot.nop gmail.com ------------------------------------------------------------------------- -r1843 | oetiker | 2009-06-07 13:34:39 +0200 | 2 lines +2009-08-19 07:44 oetiker -updated for release + * src/rrd_graph.c: yes this should not matter, but I think it is the + right thing todo ... ------------------------------------------------------------------------- -r1842 | oetiker | 2009-06-07 13:34:22 +0200 | 2 lines +2009-08-17 21:34 oetiker -updated for release + * src/rrd_dump.c, src/rrd_tune.c: added missing prototypes ------------------------------------------------------------------------- -r1841 | oetiker | 2009-06-07 13:20:15 +0200 | 2 lines +2009-08-17 21:31 oetiker -added $Id:$ + * CONTRIBUTORS, doc/librrd.pod, src/librrd.sym.in.in, src/rrd.h, + src/rrd_dump.c: Added a call back interface to rrd_dump to be able + to call the function from c. See librrd.pod for documentation. -- + Benny Baumann BenBE geshi.org ------------------------------------------------------------------------- -r1840 | oetiker | 2009-06-07 13:16:07 +0200 | 2 lines +2009-08-16 22:22 oetiker -initial news + * doc/rrdcached.pod, src/rrd_daemon.c: From: Florian Forster + This patch introduces + per-socket, per-command permissions to the RRD caching daemon, + RRDCacheD. This allows administrators to limit access to the + daemon in a fine-grained manner. The patch removes the command + line option `-L' and introduces `-P' instead. The option must + appear *before* the `-l' option and the given permissions are set + for all following sockets or another `-P' option. For example: + rrdcached -P FLUSH,PENDING -l 10.2.3.4 -P UPDATE -l + unix:/some/path Allow `FLUSH' and `PENDING' commands to clients + connected via IPv4 networking and `UPDATE' to clients connected + via a UNIX domain socket only. There are a couple of exceptions: - + The commands `HELP' and `QUIT' are always allowed. - If the + command `BATCH' is allowed, the command `.' is automatically + allowed, too. By default, i. e. if no `-P' option is specified, + all commands will be allowed. As a shortcut to reset the behavior + to the default behavior, you can use the slightly hackish `-P ""' + syntax. Signed-off-by: Florian Forster + ------------------------------------------------------------------------- -r1839 | oetiker | 2009-06-02 15:55:40 +0200 | 2 lines +2009-08-16 22:05 oetiker -Mention that negative time values should be separated by '--' in rrdupdate.pod -- Sebastian Harl + * configure.ac: with my Debian Testing box I had to apply the + following small changes to the `configure.ac' file in order to + make `autoconf' happy. Don't know what the problem precisely is ? + m4 and its square parenthesis is too high for me ;) -- Florian ------------------------------------------------------------------------- -r1837 | oetiker | 2009-06-01 16:01:51 +0200 | 2 lines +2009-08-16 22:00 oetiker -Make rrdtool compile on GNU/kFreeBSD. Fix for Debian bug 494874. Patch by Petr Salinger. + * autogen.sh: there is no config directory ... so lets not search + for it in autogen.sh ------------------------------------------------------------------------- -r1836 | oetiker | 2009-06-01 15:58:58 +0200 | 4 lines +2009-08-11 14:00 oetiker -make negative update times work as diescribed in the documentation (-5 is NOW-5seconds) -this takes care of debian bug 332766 + * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: fix + freeing order when generating error messages. found by Dmitry V. + Krivenok +2009-08-10 11:47 oetiker ------------------------------------------------------------------------- -r1834 | oetiker | 2009-05-28 07:25:32 +0200 | 2 lines + * m4/acinclude.m4: include math.h when testing IEEE -madvise hints may not be ORed since they are enumerated ... #224 +2009-08-08 14:06 oetiker ------------------------------------------------------------------------- -r1833 | oetiker | 2009-05-27 18:23:40 +0200 | 1 line + * branches/1.3/program/doc/rrd-beginners.pod, doc/rrd-beginners.pod: + remove extra \ in perl example -back to 0.14.4 ------------------------------------------------------------------------- -r1830 | oetiker | 2009-05-27 18:21:15 +0200 | 2 lines +2009-08-08 09:38 oetiker -get the latest gettext + * src/rrd_daemon.c: The journal files are time-stamped and replayed + in order. This allows systems with 32-bit signed off_t to write + more than 2GB of journal entries per flush interval. --kevin ------------------------------------------------------------------------- -r1826 | oetiker | 2009-05-27 18:03:01 +0200 | 2 lines +2009-08-08 09:36 oetiker -added gettext.h to dist + * doc/rrdgraph.pod: add some shell proggramming advice ... Bernhard + Reutner-Fischer ------------------------------------------------------------------------- -r1825 | oetiker | 2009-05-27 17:00:04 +0200 | 2 lines +2009-08-08 09:34 oetiker -added missing gettext.h + * src/rrd_daemon.c: Remove PID file later in the cleanup process + --kevin ------------------------------------------------------------------------- -r1824 | oetiker | 2009-05-27 16:59:47 +0200 | 2 lines +2009-08-08 09:29 oetiker -we don't have any translations ... so do not pretend + * src/rrd_daemon.c: Increment the DataSetsWritten counter before + freeing the RRD values. --kevin ------------------------------------------------------------------------- -r1823 | oetiker | 2009-05-27 16:31:31 +0200 | 2 lines +2009-08-08 09:28 oetiker -reduce gettext version requirements + * src/rrd_daemon.c: The current method may have caused flushes (and + journal rotations) more often than necessary. The problem was + introduced in r1600. --kevin ------------------------------------------------------------------------- -r1820 | oetiker | 2009-05-27 16:14:10 +0200 | 2 lines +2009-08-08 09:27 oetiker -fix path + * src/rrd_daemon.c: Two-phase shutdown for rrdcached ensures that + values are flushed. Previously, it was possible for the queue + threads to exit before the flush thread completed queueing values. + If running with -F, rrdcached may have crashed due to assertion + failure before writing all values. -- kevin ------------------------------------------------------------------------- -r1819 | oetiker | 2009-05-27 15:39:44 +0200 | 9 lines +2009-08-07 06:04 oetiker -the get ready for 1.4rc patch + * branches/1.3/program/bindings/python/rrdtoolmodule.c, + bindings/python/rrdtoolmodule.c: include PACKAGE_VERSION as + version number for python module to fix #236 -* updated to automake 1.11 with silet build, with this warnings stand out much better in the build process. - use make V=1 to see all as before -* switched from intltoolize to autopoint for gettext support -* moved m4 bits into their own subdirectory +2009-08-03 18:51 oetiker ---tobi + * branches/1.3/program/src/rrd_info.c, src/rrd_info.c: in rrd > 1.3 + it's called rrd_info_push ... and not just info_push ... ------------------------------------------------------------------------- -r1818 | oetiker | 2009-05-27 15:11:22 +0200 | 2 lines +2009-08-03 18:45 oetiker -Only include libgen.h when we have it. use pbbasename if we do not. Also fixes #223. + * branches/1.2/program/src/rrd_info.c, + branches/1.3/program/src/rrd_info.c, src/rrd_info.c: Show the + index of each data source in the rrd_info output. Patch for #231 + provided by Glenn Herteg, GroundWork Open Source, Inc. ------------------------------------------------------------------------- -r1817 | oetiker | 2009-05-26 17:25:41 +0200 | 2 lines +2009-07-30 07:57 oetiker -update flush to flushcached + * NEWS: new news ------------------------------------------------------------------------- -r1816 | oetiker | 2009-05-26 17:24:26 +0200 | 2 lines +2009-07-30 07:56 oetiker -bindings should invoke new rrd_flushcached (instead of rrd_cmd_flush) -- kevin + * src/rrd_tune.c: rrd_tune HW Update Allow to set the smoothing + window (alpha, beta, gamma) to zero. I'm using rrdtool 1.3.8 with + abberant behavior detection from the Brutlag method. I need to use + a week seasonality and no smoothing for the SEASONAL and + DEVSEASONAL. So I use rrdtune in order to set the smoothing window + to 0.0. This calls the set_hwarg(). But this method is also used + to tune the alpha, beta and gamma that can't be set to 0.0 So when + I tune my smoothing window size to 0.0, it returns -1 due to the + if(window<=0.0) then do nothing. I join here a small correction + with a differnent method used to set only the smoothing window + size and allowing it to be zero. -- sylvain.luiset gmail.com ------------------------------------------------------------------------- -r1815 | oetiker | 2009-05-26 17:20:05 +0200 | 2 lines +2009-07-28 16:49 oetiker -"ulong" is not portable. must be unsigned long -- kevin + * configure.ac: update conditional silent-rules ------------------------------------------------------------------------- -r1814 | oetiker | 2009-05-26 10:55:50 +0200 | 2 lines +2009-07-14 12:00 oetiker -update flush document name + * src/rrd_daemon.c: Handle race condition for "UPDATE" with new + files. Problem found by Sebastian Harl. Patch by Kevin. ------------------------------------------------------------------------- -r1813 | oetiker | 2009-05-26 09:14:58 +0200 | 2 lines +2009-07-12 06:28 oetiker -rename rrd_flush.c to rrd_flushcached.c in Makefile.am + * src/rrd_daemon.c: Do not trust cache tree pointers after releasing + the cache lock. It's possible that a "FORGET" was issued in the + mean time. -- kevin ------------------------------------------------------------------------- -r1812 | oetiker | 2009-05-26 09:13:52 +0200 | 11 lines +2009-07-10 05:52 oetiker -resolve the "flush inconsistency": + * src/rrd_daemon.c: destroy flush condition variable -* rrd_flush (a leftover from when rrdtool was using stream based io) is turned into a no-op - but still exported to preserve library compatibility. +2009-07-10 05:51 oetiker -* rrd_cmd_flush (the implementation of "rrdtool flush") is renamed to rrd_flushcached - along with its command line invocation which is now rrdtool flushcached + * src/rrd_graph.c: Move include so we know whether we + HAVE_LIBGEN_H -- kevin ---tobi - +2009-07-09 20:14 oetiker ------------------------------------------------------------------------- -r1811 | oetiker | 2009-05-26 00:23:06 +0200 | 16 lines + * doc/Makefile.am, src/rrd_thread_safe.c: Silence automake + portability warnings caused by multiple inference rules. -- kevin + brintnall -While restoring, rrd_restore uses between 30 and 40 times as much memory as -the size of the rrd file to be restored. This is due to the use of libxml2 -for parsing the the whole file prior to turning it into rrd structs. +2009-07-05 08:41 oetiker -This patch switches rrd_restore to using the xmlTextReader interface for -incremental consumtion of xml files. This reduces the memory requirements to -about twice the size of the rrd file which should be quite manageable for -most cases. + * configure.ac, src/rrd_restore.c, win32/rrd_config.h.msvc: check + for the size of time_t and behave accordingly -The parsing is about 25% less efficient than with the original libxml2 -version of rrd_restore. This could be in part due to the more liberal use of -malloced memory. Optimizing this is for another day though. +2009-07-04 14:51 oetiker ---tobi + * src/rrd_restore.c: be more careful when converting to string to + time_t ... test if time_t is long long +2009-06-10 19:05 oetiker ------------------------------------------------------------------------- -r1809 | oetiker | 2009-05-25 08:05:55 +0200 | 2 lines + * bindings/lua/compat-5.1r5/compat-5.1.c, + bindings/lua/compat-5.1r5/compat-5.1.h, + bindings/lua/compat-5.1r5/compat-5.1.lua: add the real license ... -only include utime.h when necessary +2009-06-10 12:17 oetiker ------------------------------------------------------------------------- -r1808 | oetiker | 2009-05-24 12:31:44 +0200 | 11 lines + * branches/1.3/program/doc/bin_dec_hex.pod, + branches/1.3/program/doc/rrdtutorial.es.pod, doc/bin_dec_hex.pod, + doc/rrdtutorial.es.pod: fix bad pdf links -* in 1.3: Changed types used in rrd_file_t from off_t to size_t to prevent: warning: comparison between signed and unsigned -* Misc other off_t -> size_t changes to prevent signed warning -* in 1.3: Added rrd_dump_opt_r declaration to prevent undef warning -* Explicit cast to time_t of check in rrd_fetch to prevent signed warning -* Added vasprintf path to sprintf_alloc to prevent excessive mallocing -* in 1.3: fixed STRERROR_R_CHAR_P undef warning +2009-06-09 19:22 oetiker -patch by Steven Hartland killing multiplay.co.uk + * bindings/lua/compat-5.1r5/compat-5.1.c, + bindings/lua/compat-5.1r5/compat-5.1.h, + bindings/lua/compat-5.1r5/compat-5.1.lua: added compat 5.1 license + copied from website +2009-06-08 05:12 oetiker + * branches/1.3/program/configure.ac, configure.ac: make config.h a + symlink to rrd_config.h so that intl/Makefile is happy ------------------------------------------------------------------------- -r1806 | oetiker | 2009-05-22 16:54:21 +0200 | 2 lines +2009-06-08 04:56 oetiker -reset errno right befor the call I want to test + * branches/1.3/program/MakeMakefile, + branches/1.3/program/configure.ac, MakeMakefile, configure.ac: + Relax automake requirements and make 1.11 features optional -- + kevin brintnall ------------------------------------------------------------------------- -r1805 | oetiker | 2009-05-22 15:55:46 +0200 | 2 lines +2009-06-07 20:48 oetiker -inline is something for the compiler to figure ... + * bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c, + bindings/ruby/main.c: fix some missing rrd_flushcached instances + -- kevin ------------------------------------------------------------------------- -r1804 | oetiker | 2009-05-22 13:32:21 +0200 | 2 lines +2009-06-07 14:46 oetiker -fix error messages on the road to fix #222 + * bindings/tcl/tclrrd.c: switch to the rrd_flushcached interface ------------------------------------------------------------------------- -r1803 | oetiker | 2009-05-21 07:20:50 +0200 | 2 lines +2009-06-07 14:45 oetiker -fix text organisation + * src/rrd_cgi.c: consider fgets return value ------------------------------------------------------------------------- -r1800 | oetiker | 2009-05-18 16:23:23 +0200 | 2 lines +2009-06-07 14:33 oetiker -integrated fix for debian bug #529291 as supplied by Anders Hammarquist + * intl, po/Makefile.in.in: do not try to mess with autopoints files ------------------------------------------------------------------------- -r1799 | oetiker | 2009-05-11 23:25:57 +0200 | 6 lines +2009-06-07 14:27 oetiker -fix rrd_getops use of external variables (optarg and friends) ... most -prominently is kills a segfault when using rrdtool perl bindings on -solaris ... thanks to Ihsan Dogan for helping with tracking this down and providing -access to sparc solaris boxes. + * src/rrd_open.c: check return value from write +2009-06-07 14:19 oetiker ------------------------------------------------------------------------- -r1797 | oetiker | 2009-04-29 08:52:25 +0200 | 2 lines + * src/rrd_daemon.c: check return values of dup and ftruncate -added some remarks on CDEF versus VDEF to the docs -- Pablo Sanchez +2009-06-07 14:12 oetiker ------------------------------------------------------------------------- -r1796 | oetiker | 2009-04-20 08:48:01 +0200 | 9 lines + * src/rrd_fetch.c, src/rrd_flushcached.c, src/rrd_info.c: fix some + warnings -This patch includes utility functions to support dynamically sized arrays. -This simplifies the code that manages some of the dynamic structures -inside rrdcached. +2009-06-07 13:57 oetiker -A few data types have been changed to size_t. + * intl, intl/Makefile.in: added a copy to svn since it is changed + from the original --- kevin +2009-06-07 13:53 oetiker + * po/Makefile.in.in: changed from original version, so include it + ... ------------------------------------------------------------------------- -r1795 | oetiker | 2009-04-20 08:46:47 +0200 | 3 lines +2009-06-07 13:42 oetiker -introduced header_property in info output -- Daniel.Pocock barclayscapital.com + * Makefile.am, autogen.sh: include libtool with the distro +2009-06-07 11:36 oetiker ------------------------------------------------------------------------- -r1794 | oetiker | 2009-04-17 11:53:57 +0200 | 2 lines + * configure.ac: another ID tag -add documentation for graph-render-mode +2009-06-07 11:35 oetiker ------------------------------------------------------------------------- -r1793 | oetiker | 2009-04-15 09:05:58 +0200 | 2 lines + * Makefile.am, README: more id tags added -fix comments and error messages in rrd_restore patch +2009-06-07 11:34 oetiker ------------------------------------------------------------------------- -r1792 | oetiker | 2009-04-15 09:02:04 +0200 | 4 lines + * COPYRIGHT: updated for release -Fix casting issues in rrd_restore. The bug manifested when compiled on sparc v9 as explained in #218. -Patch based in input provided by poster of #218. +2009-06-07 11:34 oetiker + * COPYRIGHT, TODO: updated for release ------------------------------------------------------------------------- -r1791 | oetiker | 2009-04-14 15:55:29 +0200 | 3 lines +2009-06-07 11:20 oetiker -make ruby bindings compile with newer ruby versions ... fix for #217 -patch provided by rrd trac user. + * CONTRIBUTORS: added $Id:$ ------------------------------------------------------------------------- -r1790 | oetiker | 2009-04-14 09:51:20 +0200 | 3 lines +2009-06-07 11:16 oetiker -Generate an error message when using RRDp with graph - this can not work reliably. (Debian Bug#251701) -- Sebastian Harl + * NEWS: initial news +2009-06-02 13:55 oetiker ------------------------------------------------------------------------- -r1789 | oetiker | 2009-04-14 08:10:21 +0200 | 7 lines + * branches/1.3/program/doc/rrdupdate.pod, doc/rrdupdate.pod: Mention + that negative time values should be separated by '--' in + rrdupdate.pod -- Sebastian Harl -rrd_random() is a wrapper around random() that ensures the PRNG is seeded -exactly ONCE per process. +2009-06-01 14:01 oetiker -rrd_utils.c is introduced for functions that do not have a better home. --kevin + * branches/1.3/program/m4/acinclude.m4, m4/acinclude.m4: Make + rrdtool compile on GNU/kFreeBSD. Fix for Debian bug 494874. Patch + by Petr Salinger. +2009-06-01 13:58 oetiker + * branches/1.3/program/src/rrd_update.c, src/rrd_update.c: make + negative update times work as diescribed in the documentation (-5 + is NOW-5seconds) this takes care of debian bug 332766 ------------------------------------------------------------------------- -r1788 | oetiker | 2009-04-10 10:52:34 +0200 | 13 lines +2009-05-28 05:25 oetiker -This patch consolidates several aspects of the command handling in -rrdcached: + * src/rrd_open.c: madvise hints may not be ORed since they are + enumerated ... #224 - * all commands, help, and context information is reduced to a single data - structure. +2009-05-27 16:23 oetiker - * all checks for command validity (context and permission) are handled in - the main dispatch routine + * configure.ac: back to 0.14.4 -This removes duplicate help/syntax text, and long if..elseif..else chains. -It facilitates the addition of new commands. -- kevin +2009-05-27 16:21 oetiker + * Makefile.am, configure.ac: get the latest gettext ------------------------------------------------------------------------- -r1787 | oetiker | 2009-04-09 17:07:05 +0200 | 3 lines +2009-05-27 16:03 oetiker -The bookkeeping of all threads is not necessary, since we cannot pthread_join() them anyway. We only need to know when the last one has exited. -- kevin + * src/Makefile.am: added gettext.h to dist +2009-05-27 15:00 oetiker ------------------------------------------------------------------------- -r1786 | oetiker | 2009-04-09 17:05:41 +0200 | 2 lines + * src/gettext.h: added missing gettext.h -added missing docs -- kevin +2009-05-27 14:59 oetiker ------------------------------------------------------------------------- -r1785 | oetiker | 2009-04-09 17:04:27 +0200 | 2 lines + * po/LINGUAS, po/de.po: we don't have any translations ... so do not + pretend -added missing newline -- by sebastian harl +2009-05-27 14:31 oetiker ------------------------------------------------------------------------- -r1778 | oetiker | 2009-04-07 09:23:20 +0200 | 2 lines + * autogen.sh, configure.ac: reduce gettext version requirements -make sure an empty m4 is in the checkout +2009-05-27 14:14 oetiker ------------------------------------------------------------------------- -r1773 | oetiker | 2009-04-07 08:37:17 +0200 | 6 lines + * MakeMakefile: fix path -fix for #213 restore old behaviour of --lazy. Even in lazy mode all the data -calculation elements are run. The main time saving comes from the fact that -the graph is not being drawn and the image does not have to be compressed. +2009-05-27 13:39 oetiker + * MakeMakefile, Makefile.am, acinclude.m4, autogen.sh, + bindings/Makefile.am, configure.ac, doc/Makefile.am, + m4/acinclude.m4, po/ChangeLog, po/Makevars, src/Makefile.am, + src/rrd_i18n.h: the get ready for 1.4rc patch * updated to + automake 1.11 with silet build, with this warnings stand out much + better in the build process. use make V=1 to see all as before * + switched from intltoolize to autopoint for gettext support * moved + m4 bits into their own subdirectory --tobi +2009-05-27 13:11 oetiker ------------------------------------------------------------------------- -r1772 | oetiker | 2009-04-07 08:03:49 +0200 | 2 lines + * src/rrd_graph.c, src/rrd_graph.h: Only include libgen.h when we + have it. use pbbasename if we do not. Also fixes #223. -make sure rrd_dump outputs numbers with C locale so that . does not suddenly become , this fixes #212 +2009-05-26 15:25 oetiker ------------------------------------------------------------------------- -r1771 | oetiker | 2009-04-06 16:49:03 +0200 | 3 lines + * doc/rrdtool.pod: update flush to flushcached -I thought that it would be nice to be able to pass -parameters to python bindings as a list (array) of strings. -- Vytautas Zdanavicius vytaszd at yahoo.com +2009-05-26 15:24 oetiker ------------------------------------------------------------------------- -r1770 | oetiker | 2009-04-06 16:14:31 +0200 | 2 lines + * bindings/lua/rrdlua.c, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c, + bindings/ruby/main.c, bindings/tcl/tclrrd.c: bindings should + invoke new rrd_flushcached (instead of rrd_cmd_flush) -- kevin -use %lld with (long long) conversion when printing time. +2009-05-26 15:20 oetiker ------------------------------------------------------------------------- -r1769 | oetiker | 2009-04-06 16:12:21 +0200 | 4 lines + * src/rrd_restore.c: "ulong" is not portable. must be unsigned long + -- kevin -printf for time_t with %lli can easily cause a segfault since on many platforms -time_t is only 32bit ... by adding (long long) to the time value this gets fixed. +2009-05-26 08:55 oetiker + * doc/Makefile.am: update flush document name ------------------------------------------------------------------------- -r1768 | oetiker | 2009-04-06 16:08:16 +0200 | 2 lines +2009-05-26 07:14 oetiker -lets have an error message when creating the graph fails + * src/Makefile.am: rename rrd_flush.c to rrd_flushcached.c in + Makefile.am ------------------------------------------------------------------------- -r1764 | oetiker | 2009-03-21 11:45:40 +0100 | 2 lines +2009-05-26 07:13 oetiker -remove excess flush calls ... + * doc/rrdflush.pod, doc/rrdflushcached.pod, src/librrd.sym.in.in, + src/rrd.h, src/rrd_flush.c, src/rrd_flushcached.c, src/rrd_open.c, + src/rrd_tool.c: resolve the "flush inconsistency": * rrd_flush (a + leftover from when rrdtool was using stream based io) is turned + into a no-op but still exported to preserve library compatibility. + * rrd_cmd_flush (the implementation of "rrdtool flush") is renamed + to rrd_flushcached along with its command line invocation which is + now rrdtool flushcached --tobi ------------------------------------------------------------------------- -r1762 | oetiker | 2009-03-21 10:56:43 +0100 | 2 lines +2009-05-25 22:23 oetiker -remove flush symbol + * src/rrd_restore.c: While restoring, rrd_restore uses between 30 + and 40 times as much memory as the size of the rrd file to be + restored. This is due to the use of libxml2 for parsing the the + whole file prior to turning it into rrd structs. This patch + switches rrd_restore to using the xmlTextReader interface for + incremental consumtion of xml files. This reduces the memory + requirements to about twice the size of the rrd file which should + be quite manageable for most cases. The parsing is about 25% less + efficient than with the original libxml2 version of rrd_restore. + This could be in part due to the more liberal use of malloced + memory. Optimizing this is for another day though. --tobi ------------------------------------------------------------------------- -r1760 | oetiker | 2009-03-21 10:53:30 +0100 | 5 lines +2009-05-25 06:05 oetiker -the call to rrd_flush has appeared when rrd_open was fleshed out. It used to be an fflush call -which is something entirely different than the current rrd_flush implementation with fdatasync was ... + * branches/1.3/program/src/rrd_open.c, src/rrd_open.c: only include + utime.h when necessary -we can safely drop this and gain performance for holt winters in the process ... -- tobi +2009-05-24 10:31 oetiker ------------------------------------------------------------------------- -r1759 | oetiker | 2009-03-18 18:12:09 +0100 | 2 lines + * branches/1.3/program/configure.ac, + branches/1.3/program/src/rrd_info.c, + branches/1.3/program/src/rrd_open.c, + branches/1.3/program/src/rrd_update.c, configure.ac, + src/rrd_info.c, src/rrd_open.c, src/rrd_update.c: * in 1.3: + Changed types used in rrd_file_t from off_t to size_t to prevent: + warning: comparison between signed and unsigned * Misc other off_t + -> size_t changes to prevent signed warning * in 1.3: Added + rrd_dump_opt_r declaration to prevent undef warning * Explicit + cast to time_t of check in rrd_fetch to prevent signed warning * + Added vasprintf path to sprintf_alloc to prevent excessive + mallocing * in 1.3: fixed STRERROR_R_CHAR_P undef warning patch by + Steven Hartland killing multiplay.co.uk -New rrd_graph functions for legend placement control added -- Patch by Melchior Rabe rrdtool mrab.de +2009-05-22 14:54 oetiker ------------------------------------------------------------------------- -r1758 | oetiker | 2009-03-08 12:12:41 +0100 | 3 lines + * src/rrd_update.c: reset errno right befor the call I want to test -rrd_flush.c: Provide a more useful error message. -by Sebastian Harl +2009-05-22 13:55 oetiker ------------------------------------------------------------------------- -r1757 | oetiker | 2009-03-08 09:02:38 +0100 | 6 lines + * src/rrd_update.c: inline is something for the compiler to figure + ... -Renaming ntmake.pl to ntmake.PL (r1742) had unforseen side effects. At least -on freebsd ntmake.PL gets called automatically during build. This is not -desired. I renamed the file to ntmake-build sinc it gets called -explicilty on windows anyway. Reported by Kevin modified by Tobi +2009-05-22 11:32 oetiker + * branches/1.3/program/src/rrd_update.c, src/rrd_update.c: fix error + messages on the road to fix #222 ------------------------------------------------------------------------- -r1756 | oetiker | 2009-03-07 11:31:51 +0100 | 4 lines +2009-05-21 05:20 oetiker -This 2-patch series exposes 'flush' methods to the various language -bindings. + * doc/rrdgraph.pod: fix text organisation +2009-05-18 14:23 oetiker ------------------------------------------------------------------------- -r1754 | oetiker | 2009-03-06 06:51:34 +0100 | 2 lines + * branches/1.3/program/bindings/python/rrdtoolmodule.c, + bindings/python/rrdtoolmodule.c: integrated fix for debian bug + #529291 as supplied by Anders Hammarquist -there were two lines of debug info printed by rrd_xport, messing up the xml code. Fix by Alejandro Galue. +2009-05-11 21:25 oetiker ------------------------------------------------------------------------- -r1752 | oetiker | 2009-03-06 06:39:37 +0100 | 18 lines + * branches/1.3/program/configure.ac, + branches/1.3/program/src/rrd_getopt.c, configure.ac, + src/rrd_getopt.c: fix rrd_getops use of external variables (optarg + and friends) ... most prominently is kills a segfault when using + rrdtool perl bindings on solaris ... thanks to Ihsan Dogan for + helping with tracking this down and providing access to sparc + solaris boxes. -Even though POSIX/XSI requires "strerror_r" to return an "int", some systems -(e.g. the GNU libc) return a "char *" _and_ ignore the second argument (user -provided buffer). The configure script now checks for that behavior using -AC_FUNC_STRERROR_R. rrd_strerror() in rrd_thread_safe.c has been updated to -(hopefully) handle all possible cases. +2009-04-29 06:52 oetiker -Previously, rrd_strerror() would have returned "strerror_r failed. sorry!" in -mostly any cases when using glibc, since "if (strerror_r())" had been used to -check for errors which evaluates to true if a (non-NULL) pointer was returned. + * branches/1.3/program/CONTRIBUTORS, + branches/1.3/program/doc/rrdgraph_data.pod, CONTRIBUTORS, + doc/rrdgraph_data.pod: added some remarks on CDEF versus VDEF to + the docs -- Pablo Sanchez -Now, we, at least, return the error number in case anything else fails. +2009-04-20 06:48 oetiker -Thanks to Alessandro Iurlano for reporting this issue after spotting it in -collectd . + * doc/Makefile.am, doc/librrd.pod, src/librrd.sym.in.in, src/rrd.h, + src/rrd_daemon.c, src/rrd_utils.c: This patch includes utility + functions to support dynamically sized arrays. This simplifies the + code that manages some of the dynamic structures inside rrdcached. + A few data types have been changed to size_t. -- kevin -patch by Sebastian Harl +2009-04-20 06:46 oetiker + * doc/rrdinfo.pod, src/rrd_format.c, src/rrd_info.c, src/rrd_open.c, + src/rrd_tool.h: introduced header_property in info output -- + Daniel.Pocock barclayscapital.com ------------------------------------------------------------------------- -r1751 | oetiker | 2009-03-06 06:30:08 +0100 | 2 lines +2009-04-17 09:53 oetiker -Make sure we use correct sizes for vsnprintf (sizeof) and strncpy (sizeof-1). -- kevin + * branches/1.3/program/src/rrd_tool.c, src/rrd_tool.c: add + documentation for graph-render-mode ------------------------------------------------------------------------- -r1749 | oetiker | 2009-02-21 10:43:58 +0100 | 2 lines +2009-04-15 07:05 oetiker -Misc documentation fixes by Alex van den Bogaerdt + * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: fix + comments and error messages in rrd_restore patch ------------------------------------------------------------------------- -r1748 | oetiker | 2009-02-21 10:23:04 +0100 | 2 lines +2009-04-15 07:02 oetiker -Documentation fixes by Bernhard Reutner-Fischer + * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: Fix + casting issues in rrd_restore. The bug manifested when compiled on + sparc v9 as explained in #218. Patch based in input provided by + poster of #218. ------------------------------------------------------------------------- -r1745 | oetiker | 2009-01-25 23:39:34 +0100 | 2 lines +2009-04-14 13:55 oetiker -added doc on new graphv graph_start und graph_end info variables + * branches/1.2/program/bindings/ruby/main.c, + branches/1.3/program/bindings/ruby/main.c, bindings/ruby/main.c: + make ruby bindings compile with newer ruby versions ... fix for + #217 patch provided by rrd trac user. ------------------------------------------------------------------------- -r1744 | oetiker | 2009-01-25 23:02:57 +0100 | 2 lines +2009-04-14 07:51 oetiker -fix type conversion error (on windows) unsigned/signed affecting timestamps on rrd_dump. + * branches/1.3/program/bindings/perl-piped/RRDp.pm, + bindings/perl-piped/RRDp.pm: Generate an error message when using + RRDp with graph - this can not work reliably. (Debian Bug#251701) + -- Sebastian Harl ------------------------------------------------------------------------- -r1742 | oetiker | 2009-01-25 22:52:25 +0100 | 2 lines +2009-04-14 06:10 oetiker -rename ntmake.pl to ntmake.PL so that it does not get installed + * src/Makefile.am, src/librrd.sym.in.in, src/rrd.h, + src/rrd_daemon.c, src/rrd_open.c, src/rrd_restore.c, + src/rrd_utils.c: rrd_random() is a wrapper around random() that + ensures the PRNG is seeded exactly ONCE per process. rrd_utils.c + is introduced for functions that do not have a better home. + --kevin ------------------------------------------------------------------------- -r1741 | oetiker | 2009-01-25 19:38:34 +0100 | 2 lines +2009-04-10 08:52 oetiker -define cwd where we need it and not outside + * src/rrd_daemon.c: This patch consolidates several aspects of the + command handling in rrdcached: * all commands, help, and context + information is reduced to a single data structure. * all checks + for command validity (context and permission) are handled in the + main dispatch routine This removes duplicate help/syntax text, and + long if..elseif..else chains. It facilitates the addition of new + commands. -- kevin ------------------------------------------------------------------------- -r1733 | oetiker | 2009-01-14 09:14:31 +0100 | 5 lines +2009-04-09 15:07 oetiker -In rrd_graph: the width/height values are written into rrd_infoval_t's u_cnt -but read out of u_int (u_long vs. int). This breaks on LP64BE. Patch by -Rafal Boni rafal pobox.com + * src/rrd_daemon.c: The bookkeeping of all threads is not necessary, + since we cannot pthread_join() them anyway. We only need to know + when the last one has exited. -- kevin +2009-04-09 15:05 oetiker ------------------------------------------------------------------------- -r1732 | oetiker | 2009-01-14 08:22:09 +0100 | 2 lines + * doc/rrdcached.pod: added missing docs -- kevin -added percentnan (VDEF PERCENT variant that ignores NAN) -- patch by Martin Sperl +2009-04-09 15:04 oetiker ------------------------------------------------------------------------- -r1726 | oetiker | 2009-01-06 17:32:16 +0100 | 2 lines + * branches/1.3/program/doc/rrdtutorial.pod, doc/rrdtutorial.pod: + added missing newline -- by sebastian harl -with MMAP enabled rrd resize GROW was broken ... this fixes it ... +2009-04-07 07:23 oetiker ------------------------------------------------------------------------- -r1725 | oetiker | 2009-01-06 16:45:53 +0100 | 2 lines + * m4: make sure an empty m4 is in the checkout -TICK with negative numbers should 'start from the top of the graph' looking down ... now it does. +2009-04-07 06:37 oetiker ------------------------------------------------------------------------- -r1724 | oetiker | 2009-01-06 15:54:41 +0100 | 2 lines + * branches/1.3/program/doc/rrdgraph.pod, + branches/1.3/program/src/rrd_graph.c, NEWS, doc/rrdgraph.pod, + src/rrd_graph.c: fix for #213 restore old behaviour of --lazy. + Even in lazy mode all the data calculation elements are run. The + main time saving comes from the fact that the graph is not being + drawn and the image does not have to be compressed. -fix for segfault in rrd_cgi: caused by freeing a invalid address when printing an error message. +2009-04-07 06:03 oetiker ------------------------------------------------------------------------- -r1723 | oetiker | 2008-12-26 09:05:03 +0100 | 2 lines + * branches/1.3/program/src/rrd_dump.c, src/rrd_dump.c: make sure + rrd_dump outputs numbers with C locale so that . does not suddenly + become , this fixes #212 -Include libgen.h to get prototype for basename in a POSIX conformant way. Fix for #202. +2009-04-06 14:49 oetiker ------------------------------------------------------------------------- -r1722 | oetiker | 2008-12-26 09:03:06 +0100 | 2 lines + * CONTRIBUTORS, bindings/python/rrdtoolmodule.c, doc/rrdpython.pod: + I thought that it would be nice to be able to pass parameters to + python bindings as a list (array) of strings. -- Vytautas + Zdanavicius vytaszd at yahoo.com -improvements for build docs by Zorzoli, Pablo +2009-04-06 14:14 oetiker ------------------------------------------------------------------------- -r1721 | oetiker | 2008-12-22 22:23:49 +0100 | 2 lines + * src/rrd_dump.c: use %lld with (long long) conversion when printing + time. -should free memory after a successful fetch too ... +2009-04-06 14:12 oetiker ------------------------------------------------------------------------- -r1720 | oetiker | 2008-12-22 22:23:04 +0100 | 2 lines + * branches/1.3/program/src/rrd_update.c, src/rrd_update.c: printf + for time_t with %lli can easily cause a segfault since on many + platforms time_t is only 32bit ... by adding (long long) to the + time value this gets fixed. -documentation fixes +2009-04-06 14:08 oetiker ------------------------------------------------------------------------- -r1718 | oetiker | 2008-12-22 08:21:46 +0100 | 2 lines + * src/rrd_graph.c: lets have an error message when creating the + graph fails -Fix for POD error by Sebasian Harl +2009-03-21 10:45 oetiker ------------------------------------------------------------------------- -r1717 | oetiker | 2008-12-22 08:20:17 +0100 | 2 lines + * src/rrd_hw.c: remove excess flush calls ... -Fixes some typos by Sebastian Harl. +2009-03-21 09:56 oetiker ------------------------------------------------------------------------- -r1716 | oetiker | 2008-12-19 15:26:47 +0100 | 8 lines + * src/librrd.sym.in.in, src/rrd.h: remove flush symbol -win32 fixes by Stefan . Ludewig . exitgames . com +2009-03-21 09:53 oetiker + + * src/rrd_hw.c, src/rrd_open.c: the call to rrd_flush has appeared + when rrd_open was fleshed out. It used to be an fflush call which + is something entirely different than the current rrd_flush + implementation with fdatasync was ... we can safely drop this and + gain performance for holt winters in the process ... -- tobi -* added portable plbasename since basename is not available on stock win32 -* rrd_update was using %d to show a timestamp ... %lli is better - since it also will show 64bit time_t correctly. +2009-03-18 17:12 oetiker + * CONTRIBUTORS, NEWS, doc/rrdgraph.pod, src/rrd_graph.c, + src/rrd_graph.h: New rrd_graph functions for legend placement + control added -- Patch by Melchior Rabe rrdtool mrab.de +2009-03-08 11:12 oetiker ------------------------------------------------------------------------- -r1715 | oetiker | 2008-12-19 00:56:52 +0100 | 2 lines + * src/rrd_flush.c: rrd_flush.c: Provide a more useful error message. + by Sebastian Harl -fix extra dist to include missing win32 files +2009-03-08 08:02 oetiker ------------------------------------------------------------------------- -r1708 | oetiker | 2008-12-11 15:31:16 +0100 | 2 lines + * branches/1.2/program/WIN32-BUILD-TIPS.txt, + branches/1.2/program/bindings/Makefile.am, + branches/1.2/program/bindings/perl-shared/MANIFEST, + branches/1.2/program/bindings/perl-shared/ntmake-build, + branches/1.2/program/bindings/perl-shared/ntmake.PL, + branches/1.3/program/WIN32-BUILD-TIPS.txt, + branches/1.3/program/bindings/Makefile.am, + branches/1.3/program/bindings/perl-shared/MANIFEST, + branches/1.3/program/bindings/perl-shared/ntmake-build, + branches/1.3/program/bindings/perl-shared/ntmake.PL, + WIN32-BUILD-TIPS.txt, bindings/Makefile.am, + bindings/perl-shared/MANIFEST, bindings/perl-shared/ntmake-build, + bindings/perl-shared/ntmake.PL: Renaming ntmake.pl to ntmake.PL + (r1742) had unforseen side effects. At least on freebsd ntmake.PL + gets called automatically during build. This is not desired. I + renamed the file to ntmake-build sinc it gets called explicilty on + windows anyway. Reported by Kevin modified by Tobi -fixed another seek issue ... +2009-03-07 10:31 oetiker ------------------------------------------------------------------------- -r1707 | oetiker | 2008-12-11 11:01:33 +0100 | 5 lines + * NEWS, bindings/lua/rrdlua.c, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c, + bindings/ruby/main.c, bindings/tcl/tclrrd.c, doc/rrdflush.pod, + src/rrd_flush.c: This 2-patch series exposes 'flush' methods to + the various language bindings. + +2009-03-06 05:51 oetiker -The spec file for building the rrdtool as an RPM that comes with the -release is not "friendly" to older versions of RHEL and derivatives. --- Martin Sperl + * branches/1.3/program/src/rrd_xport.c, src/rrd_xport.c: there were + two lines of debug info printed by rrd_xport, messing up the xml + code. Fix by Alejandro Galue. + +2009-03-06 05:39 oetiker + + * configure.ac, src/rrd_thread_safe.c: Even though POSIX/XSI + requires "strerror_r" to return an "int", some systems (e.g. the + GNU libc) return a "char *" _and_ ignore the second argument (user + provided buffer). The configure script now checks for that + behavior using AC_FUNC_STRERROR_R. rrd_strerror() in + rrd_thread_safe.c has been updated to (hopefully) handle all + possible cases. Previously, rrd_strerror() would have returned + "strerror_r failed. sorry!" in mostly any cases when using glibc, + since "if (strerror_r())" had been used to check for errors which + evaluates to true if a (non-NULL) pointer was returned. Now, we, + at least, return the error number in case anything else fails. + Thanks to Alessandro Iurlano for reporting this issue after + spotting it in collectd . patch by Sebastian + Harl + +2009-03-06 05:30 oetiker + + * src/rrd_daemon.c: Make sure we use correct sizes for vsnprintf + (sizeof) and strncpy (sizeof-1). -- kevin +2009-02-21 09:43 oetiker + + * branches/1.2/program/doc/bin_dec_hex.pod, + branches/1.2/program/doc/cdeftutorial.pod, + branches/1.2/program/doc/rrdgraph.pod, + branches/1.2/program/doc/rrdgraph_data.pod, + branches/1.2/program/doc/rrdgraph_examples.pod, + branches/1.2/program/doc/rrdgraph_graph.pod, + branches/1.2/program/doc/rrdgraph_rpn.pod, + branches/1.2/program/doc/rrdresize.pod, + branches/1.2/program/doc/rrdtutorial.es.pod, + branches/1.2/program/doc/rrdtutorial.pod, + branches/1.3/program/doc/bin_dec_hex.pod, + branches/1.3/program/doc/cdeftutorial.pod, + branches/1.3/program/doc/rrdgraph.pod, + branches/1.3/program/doc/rrdgraph_data.pod, + branches/1.3/program/doc/rrdgraph_examples.pod, + branches/1.3/program/doc/rrdgraph_graph.pod, + branches/1.3/program/doc/rrdgraph_rpn.pod, + branches/1.3/program/doc/rrdresize.pod, + branches/1.3/program/doc/rrdtutorial.es.pod, + branches/1.3/program/doc/rrdtutorial.pod, doc/bin_dec_hex.pod, + doc/cdeftutorial.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod, + doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, + doc/rrdgraph_rpn.pod, doc/rrdresize.pod, doc/rrdtutorial.es.pod, + doc/rrdtutorial.pod: Misc documentation fixes by Alex van den + Bogaerdt + +2009-02-21 09:23 oetiker + + * doc/rrdgraph.pod, doc/rrdgraph_rpn.pod: Documentation fixes by + Bernhard Reutner-Fischer + +2009-01-25 22:39 oetiker + + * branches/1.3/program/doc/rrdgraph.pod, doc/rrdgraph.pod: added doc + on new graphv graph_start und graph_end info variables + +2009-01-25 22:02 oetiker + + * branches/1.2/program/src/rrd_dump.c, + branches/1.2/program/src/rrd_first.c, + branches/1.3/program/src/rrd_dump.c, + branches/1.3/program/src/rrd_first.c, + branches/1.3/program/src/rrd_graph.c, src/rrd_dump.c, + src/rrd_first.c, src/rrd_graph.c: fix type conversion error (on + windows) unsigned/signed affecting timestamps on rrd_dump. + +2009-01-25 21:52 oetiker + + * branches/1.2/program/bindings/Makefile.am, + branches/1.2/program/bindings/perl-shared/ntmake.PL, + branches/1.2/program/bindings/perl-shared/ntmake.pl, + branches/1.3/program/bindings/Makefile.am, + branches/1.3/program/bindings/perl-shared/ntmake.PL, + branches/1.3/program/bindings/perl-shared/ntmake.pl, + bindings/Makefile.am, bindings/perl-shared/ntmake.PL, + bindings/perl-shared/ntmake.pl: rename ntmake.pl to ntmake.PL so + that it does not get installed + +2009-01-25 18:38 oetiker + + * src/rrd_tool.c: define cwd where we need it and not outside + +2009-01-14 08:14 oetiker + + * branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: In + rrd_graph: the width/height values are written into + rrd_infoval_t's u_cnt but read out of u_int (u_long vs. int). This + breaks on LP64BE. Patch by Rafal Boni rafal pobox.com + +2009-01-14 07:22 oetiker + + * NEWS, doc/rrdgraph_rpn.pod, src/rrd_graph.c, src/rrd_graph.h: + added percentnan (VDEF PERCENT variant that ignores NAN) -- patch + by Martin Sperl + +2009-01-06 16:32 oetiker + + * branches/1.3/program/src/rrd_resize.c, src/rrd_resize.c: with MMAP + enabled rrd resize GROW was broken ... this fixes it ... + +2009-01-06 15:45 oetiker + + * branches/1.2/program/src/rrd_graph.c, + branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: TICK with + negative numbers should 'start from the top of the graph' looking + down ... now it does. ------------------------------------------------------------------------- -r1706 | oetiker | 2008-12-11 10:59:10 +0100 | 2 lines +2009-01-06 14:54 oetiker -include luapod into distro + * branches/1.2/program/src/rrd_cgi.c, + branches/1.3/program/src/rrd_cgi.c, src/rrd_cgi.c: fix for + segfault in rrd_cgi: caused by freeing a invalid address when + printing an error message. ------------------------------------------------------------------------- -r1705 | oetiker | 2008-12-10 14:18:10 +0100 | 4 lines +2008-12-26 08:05 oetiker -On some architectures, strtod does not turn "NaN" into 'Not A Number (NAN)' -se we better provide our own code here. + * branches/1.3/program/configure.ac, + branches/1.3/program/src/rrd_graph.h, configure.ac, + src/rrd_graph.h: Include libgen.h to get prototype for basename in + a POSIX conformant way. Fix for #202. +2008-12-26 08:03 oetiker ------------------------------------------------------------------------- -r1703 | oetiker | 2008-12-10 13:42:46 +0100 | 4 lines + * branches/1.3/program/doc/rrdbuild.pod, doc/rrdbuild.pod: + improvements for build docs by Zorzoli, Pablo -rrdtool dump is now backward compatible with rrdtool 1.3 dump again. Default is --header=dtd and ---no-header is an alias for --header=none +2008-12-22 21:23 oetiker + * branches/1.3/program/src/rrd_fetch.c, src/rrd_fetch.c: should free + memory after a successful fetch too ... ------------------------------------------------------------------------- -r1702 | oetiker | 2008-12-10 09:29:38 +0100 | 2 lines +2008-12-22 21:23 oetiker -minichange + * branches/1.3/program/bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.pm: documentation fixes ------------------------------------------------------------------------- -r1701 | oetiker | 2008-12-09 19:30:43 +0100 | 4 lines +2008-12-22 07:21 oetiker -* forward ported right axis patch from 1.2 branche -* fixed --full-size-mode sizing issue when used in combination with --title -the work in the axis patch has been sponsored by VoltWerk. + * branches/1.3/program/doc/rrdgraph.pod, doc/rrdgraph.pod: Fix for + POD error by Sebasian Harl ------------------------------------------------------------------------- -r1700 | oetiker | 2008-12-08 17:07:27 +0100 | 2 lines +2008-12-22 07:20 oetiker -Fix for last method in ruby bindings -- Hiroyuki Ikezoe + * branches/1.3/program/doc/bin_dec_hex.pod, + branches/1.3/program/doc/rpntutorial.pod, + branches/1.3/program/doc/rrdbuild.pod, + branches/1.3/program/doc/rrdcgi.pod, + branches/1.3/program/doc/rrdgraph-old.pod, + branches/1.3/program/doc/rrdgraph.pod, + branches/1.3/program/doc/rrdgraph_data.pod, + branches/1.3/program/doc/rrdgraph_examples.pod, + branches/1.3/program/doc/rrdgraph_graph.pod, + branches/1.3/program/doc/rrdtool.pod, + branches/1.3/program/doc/rrdtutorial.pod, doc/bin_dec_hex.pod, + doc/rpntutorial.pod, doc/rrdbuild.pod, doc/rrdcgi.pod, + doc/rrdgraph-old.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod, + doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, + doc/rrdgraph_libdbi.pod, doc/rrdtool.pod, doc/rrdtutorial.pod: + Fixes some typos by Sebastian Harl. ------------------------------------------------------------------------- -r1699 | oetiker | 2008-12-05 16:39:55 +0100 | 2 lines +2008-12-19 14:26 oetiker -integrate osx build hints as indicated in #192 + * branches/1.3/program/src/Makefile.am, + branches/1.3/program/src/plbasename.c, + branches/1.3/program/src/plbasename.h, + branches/1.3/program/src/rrd_graph.c, + branches/1.3/program/src/rrd_update.c, + branches/1.3/program/win32/rrdlib.vcproj, src/Makefile.am, + src/plbasename.c, src/plbasename.h, src/rrd_graph.c, + src/rrd_update.c, win32/rrdlib.vcproj: win32 fixes by Stefan . + Ludewig . exitgames . com * added portable plbasename since + basename is not available on stock win32 * rrd_update was using %d + to show a timestamp ... %lli is better since it also will show + 64bit time_t correctly. ------------------------------------------------------------------------- -r1697 | oetiker | 2008-12-05 16:23:45 +0100 | 2 lines +2008-12-18 23:56 oetiker -deleted a bit much from rrd_open ... merged back in + * branches/1.3/program/Makefile.am, Makefile.am: fix extra dist to + include missing win32 files ------------------------------------------------------------------------- -r1696 | oetiker | 2008-12-05 16:18:11 +0100 | 4 lines +2008-12-11 14:31 oetiker -check for broken implementations of msync / MS_ASYNC where -the mtime does not get updated. warn and explicitly call utime -in rrd_open when a file is opened rw. + * branches/1.2/program/src/rrd_fetch.c, + branches/1.3/program/src/rrd_fetch.c, src/rrd_fetch.c: fixed + another seek issue ... ------------------------------------------------------------------------- -r1695 | oetiker | 2008-12-05 11:23:46 +0100 | 2 lines +2008-12-11 10:01 oetiker -added rrdcached examples to extra_dist to make sure they get distributed + * branches/1.2/program/rrdtool.spec, + branches/1.3/program/rrdtool.spec, rrdtool.spec: The spec file for + building the rrdtool as an RPM that comes with the release is not + "friendly" to older versions of RHEL and derivatives. -- Martin + Sperl ------------------------------------------------------------------------- -r1694 | oetiker | 2008-12-04 17:01:37 +0100 | 2 lines +2008-12-11 09:59 oetiker -Legends should NOT be placed in reverse order when using --full-size-mode ... this fixed #198. + * doc/Makefile.am: include luapod into distro ------------------------------------------------------------------------- -r1693 | oetiker | 2008-12-04 16:49:11 +0100 | 2 lines +2008-12-10 13:18 oetiker -add de-referencing to step in fetch check + * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: On some + architectures, strtod does not turn "NaN" into 'Not A Number + (NAN)' se we better provide our own code here. ------------------------------------------------------------------------- -r1692 | oetiker | 2008-12-04 16:48:39 +0100 | 2 lines +2008-12-10 12:42 oetiker -fix merg error with win32 port + * NEWS, doc/rrddump.pod, src/rrd_dump.c: rrdtool dump is now + backward compatible with rrdtool 1.3 dump again. Default is + --header=dtd and --no-header is an alias for --header=none ------------------------------------------------------------------------- -r1691 | oetiker | 2008-12-04 10:03:48 +0100 | 2 lines +2008-12-10 08:29 oetiker -Catch CDEF:tot= and raise and error to fix #199. Thanks to Jeron Massar for reporting this. + * NEWS: minichange ------------------------------------------------------------------------- -r1690 | oetiker | 2008-12-04 08:02:56 +0100 | 4 lines +2008-12-09 18:30 oetiker -Update to WIN32-BUILD-TIPS.txt and VC project files so that the rrdtool.exe can be built too. --- Stefan Ludewig Stefan.Ludewig exitgames.com + * branches/1.3/program/doc/rrdgraph.pod, + branches/1.3/program/src/rrd_graph.c, + branches/1.3/program/src/rrd_graph.h, + branches/1.3/program/src/rrd_tool.c, doc/rrdgraph.pod, + src/rrd_graph.c, src/rrd_graph.h, src/rrd_tool.c: * forward ported + right axis patch from 1.2 branche * fixed --full-size-mode sizing + issue when used in combination with --title the work in the axis + patch has been sponsored by VoltWerk. +2008-12-08 16:07 oetiker ------------------------------------------------------------------------- -r1689 | oetiker | 2008-12-03 12:08:48 +0100 | 4 lines + * branches/1.3/program/bindings/ruby/main.c, + branches/1.3/program/bindings/ruby/test.rb, bindings/ruby/main.c, + bindings/ruby/test.rb: Fix for last method in ruby bindings -- + Hiroyuki Ikezoe -When fetching data from 'past' an rra, rrd_fetch was seeking past the rrd -file. This did cause seek errors in some setups. Fixed. Thanks to Daniel Pocock for finding the problem. +2008-12-05 15:39 oetiker + * branches/1.3/program/bindings/perl-shared/Makefile.PL, + bindings/perl-shared/Makefile.PL: integrate osx build hints as + indicated in #192 ------------------------------------------------------------------------- -r1686 | oetiker | 2008-12-03 10:54:09 +0100 | 2 lines +2008-12-05 15:23 oetiker -integrated rrdcached examples into build process + * src/rrd_open.c: deleted a bit much from rrd_open ... merged back + in ------------------------------------------------------------------------- -r1685 | oetiker | 2008-12-03 09:47:56 +0100 | 2 lines +2008-12-05 15:18 oetiker -add rrdcached examples -- kevin + * branches/1.3/program/acinclude.m4, + branches/1.3/program/configure.ac, + branches/1.3/program/src/rrd_open.c, acinclude.m4, configure.ac, + src/rrd_open.c: check for broken implementations of msync / + MS_ASYNC where the mtime does not get updated. warn and explicitly + call utime in rrd_open when a file is opened rw. ------------------------------------------------------------------------- -r1683 | oetiker | 2008-12-02 13:35:02 +0100 | 2 lines +2008-12-05 10:23 oetiker -fixed solaris build instructions + * examples/rrdcached/Makefile.am: added rrdcached examples to + extra_dist to make sure they get distributed ------------------------------------------------------------------------- -r1682 | oetiker | 2008-12-01 12:05:52 +0100 | 2 lines +2008-12-04 16:01 oetiker -added libdbi doc to extradist + * branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: Legends + should NOT be placed in reverse order when using --full-size-mode + ... this fixed #198. ------------------------------------------------------------------------- -r1678 | oetiker | 2008-11-20 14:04:38 +0100 | 27 lines +2008-12-04 15:49 oetiker -Attached a patch for the rrd-tool LIBDBI integration with the following improvements: + * src/rrd_fetch.c: add de-referencing to step in fetch check -a) correct error handling in case of libdbi being unable to load the driver - was producing segmentation faults. +2008-12-04 15:48 oetiker -b) better parsing of datasources + * src/rrd.h: fix merg error with win32 port - * until now timestamp fields had to be integer and had to contain a unix - timestamp - now you can now also use DateTime fields (you still need to - specify it, as the time-range needs to be defined correctly) +2008-12-04 09:03 oetiker - * data fields are now no longer limited to (var)char or DOUBLE fields - - FLOAT, INTEGER,... are now also supported. + * branches/1.2/program/src/rrd_graph_helper.c, + branches/1.3/program/src/rrd_graph_helper.c, + src/rrd_graph_helper.c: Catch CDEF:tot= and raise and error to fix + #199. Thanks to Jeron Massar for reporting this. -c) there is a bug with at least LIBDBI 0.8.1 in conjunction with mysql that - can result in segmentation faults when BINARY/BLOB fields are accessed - - rrdtool will now tell you about this fact before dying ;) +2008-12-04 07:02 oetiker -d) also the value of rrdderivemaxstep only gets applied if derive has been - selected correctly. + * branches/1.3/program/CONTRIBUTORS, + branches/1.3/program/WIN32-BUILD-TIPS.txt, + branches/1.3/program/src/rrd_tool.c, + branches/1.3/program/win32/rrd.sln, + branches/1.3/program/win32/rrdtool.vcproj, CONTRIBUTORS, + WIN32-BUILD-TIPS.txt, src/rrd_tool.c, win32/rrd.sln, + win32/rrdtool.vcproj: Update to WIN32-BUILD-TIPS.txt and VC + project files so that the rrdtool.exe can be built too. -- Stefan + Ludewig Stefan.Ludewig exitgames.com -e) "GROUP BY timestamp" has been removed from SQL statement. +2008-12-03 11:08 oetiker -f) "ORDER BY timestamp" will be added only in the case of fetching "derived" data. + * branches/1.2/program/src/rrd_fetch.c, + branches/1.3/program/src/rrd_fetch.c, src/rrd_fetch.c: When + fetching data from 'past' an rra, rrd_fetch was seeking past the + rrd file. This did cause seek errors in some setups. Fixed. Thanks + to Daniel Pocock for finding the problem. --- Martin Sperl +2008-12-03 09:54 oetiker ------------------------------------------------------------------------- -r1677 | oetiker | 2008-11-18 18:19:17 +0100 | 5 lines + * configure.ac, examples/Makefile.am, + examples/rrdcached/Makefile.am: integrated rrdcached examples into + build process -win32 portability patch and win32/rrdlib.vcproj file for the source --- christof wegmann Christof.Wegmann with exitgames.com -some fixes to make the result work on unix again ... +2008-12-03 08:47 oetiker + * examples/rrdcached, examples/rrdcached/RRDCached.pm, + examples/rrdcached/rrdcached-size.pl: add rrdcached examples -- + kevin ------------------------------------------------------------------------- -r1674 | oetiker | 2008-11-18 08:14:10 +0100 | 2 lines +2008-12-02 12:35 oetiker -missing , added to help string + * branches/1.2/program/doc/rrdbuild.pod, + branches/1.3/program/doc/rrdbuild.pod, doc/rrdbuild.pod: fixed + solaris build instructions ------------------------------------------------------------------------- -r1672 | oetiker | 2008-11-17 17:21:41 +0100 | 2 lines +2008-12-01 11:05 oetiker -added build instruction for libdbi docu + * doc/Makefile.am: added libdbi doc to extradist ------------------------------------------------------------------------- -r1670 | oetiker | 2008-11-16 23:24:44 +0100 | 2 lines +2008-11-20 13:04 oetiker -missing pod files + * doc/rrdgraph_libdbi.pod, src/rrd_fetch_libdbi.c: Attached a patch + for the rrd-tool LIBDBI integration with the following + improvements: a) correct error handling in case of libdbi being + unable to load the driver was producing segmentation faults. b) + better parsing of datasources * until now timestamp fields had to + be integer and had to contain a unix timestamp - now you can now + also use DateTime fields (you still need to specify it, as the + time-range needs to be defined correctly) * data fields are now no + longer limited to (var)char or DOUBLE fields - FLOAT, INTEGER,... + are now also supported. c) there is a bug with at least LIBDBI + 0.8.1 in conjunction with mysql that can result in segmentation + faults when BINARY/BLOB fields are accessed - rrdtool will now + tell you about this fact before dying ;) d) also the value of + rrdderivemaxstep only gets applied if derive has been selected + correctly. e) "GROUP BY timestamp" has been removed from SQL + statement. f) "ORDER BY timestamp" will be added only in the case + of fetching "derived" data. -- Martin Sperl ------------------------------------------------------------------------- -r1669 | oetiker | 2008-11-15 15:35:51 +0100 | 2 lines +2008-11-18 17:19 oetiker -switch tu using AS_HELP_STRING for formatting ... + * CONTRIBUTORS, src/rrd.h, src/rrd_client.h, src/rrd_create.c, + src/rrd_daemon.c, src/rrd_diff.c, src/rrd_error.c, + src/rrd_fetch.c, src/rrd_first.c, src/rrd_format.c, + src/rrd_getopt.c, src/rrd_getopt.h, src/rrd_getopt1.c, + src/rrd_graph.c, src/rrd_graph.h, src/rrd_hw.c, src/rrd_hw_math.c, + src/rrd_hw_update.c, src/rrd_info.c, src/rrd_open.c, + src/rrd_parsetime.c, src/rrd_resize.c, src/rrd_restore.c, + src/rrd_rpncalc.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, win32/config.h, + win32/rrdlib.vcproj: win32 portability patch and + win32/rrdlib.vcproj file for the source -- christof wegmann + Christof.Wegmann with exitgames.com some fixes to make the result + work on unix again ... ------------------------------------------------------------------------- -r1668 | oetiker | 2008-11-15 15:15:38 +0100 | 3 lines +2008-11-18 07:14 oetiker -fix typo in handle_request_help ---kevin + * configure.ac: missing , added to help string ------------------------------------------------------------------------- -r1667 | oetiker | 2008-11-15 15:14:19 +0100 | 8 lines +2008-11-17 16:21 oetiker -doc fixups for rrdcacehd + * doc/Makefile.am: added build instruction for libdbi docu - * documented the -p option - * added nbsp between option and argument - * layout one option per line +2008-11-16 22:24 oetiker ---kevin + * doc/RRDp.pod, doc/RRDs.pod, doc/rrdgraph_libdbi.pod: missing pod + files ------------------------------------------------------------------------- -r1666 | oetiker | 2008-11-11 17:36:45 +0100 | 2 lines +2008-11-15 14:35 oetiker -make basename work + * configure.ac: switch tu using AS_HELP_STRING for formatting ... ------------------------------------------------------------------------- -r1665 | oetiker | 2008-11-11 17:36:13 +0100 | 14 lines +2008-11-15 14:15 oetiker -This patch allows for multiple RRD writer threads to service the queue. + * src/rrd_daemon.c: fix typo in handle_request_help --kevin -Now, rrdcached can have more simultaneous I/O requests into the kernel. -This may allow the kernel to re-order disk writes, resulting in better -disk throughput. In practice, throughput is increased by 2-3x. +2008-11-15 14:14 oetiker -The flush (-f) timer maintenance has been moved from queue_thread_main -into its own thread. + * doc/rrdcached.pod: doc fixups for rrdcacehd * documented the -p + option * added nbsp between option and argument * layout one + option per line --kevin -Be more careful about when to use pthread_cond_signal vs _broadcast, since -multiple threads may be waiting on &queue_cond. +2008-11-11 16:36 oetiker ---kevin + * src/rrd_graph.c: make basename work ------------------------------------------------------------------------- -r1663 | oetiker | 2008-11-09 20:19:48 +0100 | 2 lines +2008-11-11 16:36 oetiker -be even more liberal with NOT using isfinite on solaris2.8 + * doc/rrdcached.pod, src/rrd_daemon.c: This patch allows for + multiple RRD writer threads to service the queue. Now, rrdcached + can have more simultaneous I/O requests into the kernel. This may + allow the kernel to re-order disk writes, resulting in better disk + throughput. In practice, throughput is increased by 2-3x. The + flush (-f) timer maintenance has been moved from queue_thread_main + into its own thread. Be more careful about when to use + pthread_cond_signal vs _broadcast, since multiple threads may be + waiting on &queue_cond. --kevin ------------------------------------------------------------------------- -r1662 | oetiker | 2008-11-09 01:00:33 +0100 | 2 lines +2008-11-09 19:19 oetiker -use basename to determine filename for imginfo as suggested by sebastian + * branches/1.3/program/configure.ac, configure.ac: be even more + liberal with NOT using isfinite on solaris2.8 ------------------------------------------------------------------------- -r1661 | oetiker | 2008-11-08 23:57:38 +0100 | 3 lines +2008-11-09 00:00 oetiker - rrdcached: move queue length decrement into remove_from_queue --- kevin + * branches/1.2/program/src/rrd_graph.c, + branches/1.2/program/src/rrd_graph.h, + branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: use + basename to determine filename for imginfo as suggested by + sebastian ------------------------------------------------------------------------- -r1660 | oetiker | 2008-11-08 23:57:18 +0100 | 3 lines +2008-11-08 22:57 oetiker -rrdcached: examine the current queue with the "QUEUE" command --- kevin + * src/rrd_daemon.c: rrdcached: move queue length decrement into + remove_from_queue -- kevin ------------------------------------------------------------------------- -r1659 | oetiker | 2008-11-08 23:50:51 +0100 | 4 lines +2008-11-08 22:57 oetiker -This helps with portability on platforms where realloc doesn't handle NULL. --- kevin + * doc/rrdcached.pod, src/rrd_daemon.c: rrdcached: examine the + current queue with the "QUEUE" command -- kevin +2008-11-08 22:50 oetiker ------------------------------------------------------------------------- -r1658 | oetiker | 2008-11-08 19:01:33 +0100 | 3 lines + * src/rrd_daemon.c: This helps with portability on platforms where + realloc doesn't handle NULL. -- kevin -document the "QUIT" command -- kevin +2008-11-08 18:01 oetiker + * doc/rrdcached.pod, src/rrd_daemon.c: document the "QUIT" command + -- kevin ------------------------------------------------------------------------- -r1657 | oetiker | 2008-11-08 19:01:01 +0100 | 4 lines +2008-11-08 18:01 oetiker -rrdcached: journal_replay default failure reason, just in case -avoids a "may be used uninitialized" warning -- kevin + * src/rrd_daemon.c: rrdcached: journal_replay default failure + reason, just in case avoids a "may be used uninitialized" warning + -- kevin +2008-11-08 18:00 oetiker ------------------------------------------------------------------------- -r1656 | oetiker | 2008-11-08 19:00:21 +0100 | 3 lines + * src/rrd_daemon.c: added "quit" command -- kevin -added "quit" command -- kevin +2008-11-08 17:57 oetiker + * src/rrd_daemon.c: rrdcached now frees all of its resources + correctly. This facilitates memory debugging. g_tree now knows how + to free the nodes when it removes them. Also, use g_tree_replace + instead of g_tree_insert. This fixes a bug triggered when the same + file was simultaneously inserted by two clients. --kevin ------------------------------------------------------------------------- -r1655 | oetiker | 2008-11-08 18:57:32 +0100 | 9 lines +2008-11-08 17:56 oetiker -rrdcached now frees all of its resources correctly. This facilitates -memory debugging. g_tree now knows how to free the nodes when it removes -them. + * configure.ac: do not quit when libdbi is missing -Also, use g_tree_replace instead of g_tree_insert. This fixes a bug -triggered when the same file was simultaneously inserted by two clients. +2008-11-07 22:46 oetiker ---kevin + * branches/1.2/program/src/rrd_graph.c, + branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: fixed + --font TITLE:12: problem -- tobi ------------------------------------------------------------------------- -r1654 | oetiker | 2008-11-08 18:56:48 +0100 | 2 lines +2008-11-07 22:23 oetiker -do not quit when libdbi is missing + * src/rrd_fetch_libdbi.c: fix scaling issue -- Martin ------------------------------------------------------------------------- -r1653 | oetiker | 2008-11-07 23:46:40 +0100 | 2 lines +2008-11-07 14:09 oetiker -fixed --font TITLE:12: problem -- tobi + * src/rrd_fetch_libdbi.c: extra file to make libdbi patch work ------------------------------------------------------------------------- -r1652 | oetiker | 2008-11-07 23:23:16 +0100 | 2 lines +2008-11-07 14:07 oetiker -fix scaling issue -- Martin + * CONTRIBUTORS, configure.ac, src/Makefile.am, src/rrd_fetch.c, + src/rrd_tool.h: As some of you may know that I have created a + patch for rrdtool 1.2 a few years ago, so that a database could be + queried for values for graphing. The patch has been mostly + rewritten and the following changes have been made: * high + dependency on mysql has been reduced by avoiding the temporary + tables (which was bad for mysql replication) * The number of + executed SQL-Statements for one CDEF has been reduced to 1 + compared to 11 SQLs (including CREATE TEMPORARY TABLE) - for patch + against version 1.2 * All consolidation is done in rrdtool itself + (MIN,MAX,AVERAGE) * Additional consolidation functions are COUNT + and SIGMA, which give information on statistics on a per + "time-bin" basis. * All these consolidation values are always + returned as separate columns, that are returned by RRD and the + consolidation function given as Argument is ignored. Main reason + is that this way there is only one call to rrd_fetcht and thus the + database even if we need to fetch for example min, avg and max. + Compare this to 3 calls in case of different consolidation + functions - and if you want to get SIGMA and COUNT as well it is + still only one call to the backend and the database. * Some + previous existing features have been taken out at the moment to + allow for this reduced set of SQL queries. o prediction using the + values from the last X days at the same time o the corresponding + sigma calculation * The idea is to create generic CDEF's that will + do the same thing, but that is also available when using RRD-files + (similar to TREND, but with another scope) This will get posted as + a separate patch. * Overall performance should be much better and + the patch as a whole simpler. * The patch also includes + modifications to the configuration infrastructure, to make libdbi + support optional. -- Martin Sperl ------------------------------------------------------------------------- -r1651 | oetiker | 2008-11-07 15:09:29 +0100 | 2 lines +2008-11-07 14:02 oetiker -extra file to make libdbi patch work + * CONTRIBUTORS, doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, + src/rrd_rpncalc.h: new CDEF functions for predictions PREDICT and + PREDICTSIGMA -- Martin Sperl ------------------------------------------------------------------------- -r1650 | oetiker | 2008-11-07 15:07:53 +0100 | 38 lines +2008-11-07 13:51 oetiker -As some of you may know that I have created a patch for rrdtool 1.2 a few years ago, so that a database could be queried for -values for graphing. + * src/rrd_daemon.c: Much simpler handling of timestamp errors. + Return an error to the user when any of the time stamp values are + invalid. This is similar to RRDTool's normal behavior. Removed the + complex logic previously used to return error codes to the user. + This solves a bug where non-advancing timestamps could have + produced incorrect error output during "BATCH" mode. The bug was + cause by using the sock->wbuf pointer for the error output. -- + kevin brintnall -The patch has been mostly rewritten and the following changes have been made: +2008-11-07 13:45 oetiker - * high dependency on mysql has been reduced by avoiding the - temporary tables (which was bad for mysql replication) - * The number of executed SQL-Statements for one CDEF has been - reduced to 1 compared to 11 SQLs (including CREATE TEMPORARY - TABLE) - for patch against version 1.2 - * All consolidation is done in rrdtool itself (MIN,MAX,AVERAGE) - * Additional consolidation functions are COUNT and SIGMA, which give - information on statistics on a per "time-bin" basis. - * All these consolidation values are always returned as separate - columns, that are returned by RRD and the consolidation function - given as Argument is ignored. - Main reason is that this way there is only one call to rrd_fetcht - and thus the database even if we need to fetch for example min, - avg and max. Compare this to 3 calls in case of different - consolidation functions - and if you want to get SIGMA and COUNT - as well it is still only one call to the backend and the database. - * Some previous existing features have been taken out at the moment - to allow for this reduced set of SQL queries. - o prediction using the values from the last X days at the same - time - o the corresponding sigma calculation - * The idea is to create generic CDEF's that will do the same thing, - but that is also available when using RRD-files (similar to TREND, - but with another scope) - This will get posted as a separate patch. - * Overall performance should be much better and the patch as a whole - simpler. - * The patch also includes modifications to the configuration - infrastructure, to make libdbi support optional. + * src/rrd_daemon.c: rrdcached: pull in rrd_config.h so we can use + its defines ... particularly HAVE_VSNPRINTF -- kevin brintnall --- Martin Sperl +2008-11-04 07:12 oetiker + * bindings/Makefile.am, bindings/lua/Makefile.am, doc/Makefile.am: I + realize now that the problem is the line test -f lua/Makefile && + cd lua && $(MAKE) install || true in the target + "install-data-local", in bindings/Makefile.am. It forces execution + of bindings/lua/Makefile independently of lua being found or not. + I added that line in my first patch, following perl, python and + ruby build style, but it's not needed after I switched to + automake. The make recursion is controlled by SUBDIRS, which will + only contain "lua" if BUILD_LUA is true. -- Fidelis Assis ------------------------------------------------------------------------- -r1649 | oetiker | 2008-11-07 15:02:09 +0100 | 3 lines +2008-11-02 17:25 oetiker -new CDEF functions for predictions PREDICT and PREDICTSIGMA --- Martin Sperl + * bindings/lua/Makefile.am: fix build process for systems without + lua ------------------------------------------------------------------------- -r1648 | oetiker | 2008-11-07 14:51:24 +0100 | 10 lines +2008-11-02 17:09 oetiker -Much simpler handling of timestamp errors. Return an error to the user -when any of the time stamp values are invalid. This is similar to -RRDTool's normal behavior. Removed the complex logic previously used to -return error codes to the user. + * src/rrd_daemon.c: PTHREAD_COND_INITIALIZER may only be used to + initialize static cond variables. -- Sebastian Harl -This solves a bug where non-advancing timestamps could have produced -incorrect error output during "BATCH" mode. The bug was cause by using -the sock->wbuf pointer for the error output. -- kevin brintnall +2008-11-02 15:25 oetiker + * configure.ac: reverting non build makefile patch ... we need to + lua makefile for building the ditribution ------------------------------------------------------------------------- -r1647 | oetiker | 2008-11-07 14:45:34 +0100 | 4 lines +2008-11-01 09:09 oetiker -rrdcached: pull in rrd_config.h so we can use its defines -... particularly HAVE_VSNPRINTF -- kevin brintnall + * configure.ac: do not create the lua makefile if lua is not to be + compiled. +2008-10-30 14:32 oetiker ------------------------------------------------------------------------- -r1645 | oetiker | 2008-11-04 08:12:46 +0100 | 15 lines + * doc/cdeftutorial.pod: fix from alex -I realize now that the problem is the line +2008-10-28 08:57 oetiker - test -f lua/Makefile && cd lua && $(MAKE) install || true + * NEWS, doc/rrddump.pod, doc/rrdtool-dump.xsd, src/rrd_dump.c, + src/rrd_tool.c: - remove the spaccing between the elements - add + xsd support to dump output - change the argument + "[--no-header|-n]" to [--header|-h {xsd,dtd}] -- tobias.lindenmann + 1und1.de -in the target "install-data-local", in bindings/Makefile.am. It forces -execution of bindings/lua/Makefile independently of lua being found or -not. I added that line in my first patch, following perl, python and -ruby build style, but it's not needed after I switched to automake. The -make recursion is controlled by SUBDIRS, which will only contain "lua" -if BUILD_LUA is true. +2008-10-26 15:18 oetiker --- Fidelis Assis + * configure.ac, src/Makefile.am, src/librrd.sym.in, + src/librrd.sym.in.in: make compilation on older OSX versios work + by removing the # from the librrd.sym file +2008-10-24 06:20 oetiker + * branches/1.2/program/doc/rrdpython.pod, + branches/1.3/program/doc/rrdpython.pod, doc/rrdpython.pod: fixed + typo ... GAUGE not GUAGE ------------------------------------------------------------------------- -r1644 | oetiker | 2008-11-02 18:25:36 +0100 | 2 lines +2008-10-22 20:41 oetiker -fix build process for systems without lua + * src/rrd_daemon.c: The previous code relied on the assumption that + pthread_cond_init(&cond) was equivalent to memset(&cond,0). This + may not be true on all platforms. -- kevin ------------------------------------------------------------------------- -r1643 | oetiker | 2008-11-02 18:09:36 +0100 | 3 lines +2008-10-22 06:02 oetiker -PTHREAD_COND_INITIALIZER may only be used to initialize static cond variables. --- Sebastian Harl + * src/rrd_daemon.c: remove_cache_item() did not check whether a file + was in queue before modifying the cache head/tail pointers. + Therefore, the process of flushing old files may perturb the + cache_queue_head pointer. This caused some nodes with + CI_FLAGS_IN_QUEUE to be un-linked from the queue list. Thereafter, + they would not be flushed by any periodic process (although they + could be revived with FLUSH or UPDATE). This caused a slow memory + leak for files that are no longer updated. Pending updates for + these "abandoned" files would remain in memory ad infinitum. With + this patch, remove_from_queue() will check that the item is queued + before modifying the head/tail pointers. This restores the + intended behavior. --kevin ------------------------------------------------------------------------- -r1642 | oetiker | 2008-11-02 16:25:48 +0100 | 2 lines +2008-10-22 05:08 oetiker -reverting non build makefile patch ... we need to lua makefile for building the ditribution + * bindings/lua/Makefile.lua.in: this was replaced by Makefile.am ------------------------------------------------------------------------- -r1641 | oetiker | 2008-11-01 10:09:07 +0100 | 2 lines +2008-10-21 06:10 oetiker -do not create the lua makefile if lua is not to be compiled. + * bindings/lua/Makefile.am: guess one needs that in svn too for + luabindings to work ------------------------------------------------------------------------- -r1638 | oetiker | 2008-10-30 15:32:09 +0100 | 2 lines +2008-10-21 05:42 oetiker -fix from alex + * src/rrd_daemon.c: * Open all listen sockets in daemonize(), while + we still have stderr. Changed open_listen_socket_* routines to + complain to stderr. Now, any errors in binding to the listen + sockets are much more obvious. * Simplified exit of parent after + fork() * PID file will be correctly cleaned up if there is a + failure in daemonize(). * unlink the unix socket before trying to + bind() (after we're sure we have the PID file) -- kevin ------------------------------------------------------------------------- -r1637 | oetiker | 2008-10-28 09:57:13 +0100 | 5 lines +2008-10-20 11:46 oetiker -- remove the spaccing between the elements -- add xsd support to dump output -- change the argument "[--no-header|-n]" to [--header|-h {xsd,dtd}] --- tobias.lindenmann 1und1.de + * src/rrd.h, src/rrd_create.c, src/rrd_open.c, src/rrd_update.c: + rrd_notify_row patch: - Delegate choice of starting row for newly + created RRD files to the rrd_open.c API. - Introduce the + rrd_notify_row() function so that an implementation can choose to + align the rows of new RRDs with existing RRDs, if desirable. - + Maintain the existing behaviour (random starting row) by default. + -- Daniel.Pocock ------------------------------------------------------------------------- -r1632 | oetiker | 2008-10-26 16:18:33 +0100 | 2 lines +2008-10-20 06:06 oetiker -make compilation on older OSX versios work by removing the # from the librrd.sym file + * bindings/Makefile.am, bindings/lua/README, + bindings/lua/compat-5.1r5, bindings/lua/compat-5.1r5/compat-5.1.c, + bindings/lua/compat-5.1r5/compat-5.1.h, + bindings/lua/compat-5.1r5/compat-5.1.lua, bindings/lua/rrdlua.c, + bindings/lua/test.lua, bindings/lua/test.lua.bottom, configure.ac: + - Lua module build and install process rewritten using + automake+libtool - improved check for compat-5.1 availability -- + Fidelis Assis ------------------------------------------------------------------------- -r1628 | oetiker | 2008-10-24 08:20:21 +0200 | 2 lines +2008-10-18 22:32 oetiker -fixed typo ... GAUGE not GUAGE + * src/rrd_open.c: rrd_open should not create files with restrictive + masks Removed unnecessary "mode" varaible. The mode is only used + when O_CREAT is specified, where we want to use 0666 (as + rrd_create_fn did r<=1612). --kevin ------------------------------------------------------------------------- -r1627 | oetiker | 2008-10-22 22:41:59 +0200 | 4 lines +2008-10-18 15:50 oetiker -The previous code relied on the assumption that pthread_cond_init(&cond) -was equivalent to memset(&cond,0). This may not be true on all platforms. --- kevin + * src/rrd.h, src/rrd_open.c: - encapsulate fd and mmap related + variables within a private data structure - rrd_file_t keeps a + pointer to the private data structure of type void*, so that other + block storage implementations can store their internal data with + rrd_file_t -- Daniel.Pocock ------------------------------------------------------------------------- -r1626 | oetiker | 2008-10-22 08:02:23 +0200 | 15 lines +2008-10-17 05:50 oetiker -remove_cache_item() did not check whether a file was in queue before -modifying the cache head/tail pointers. Therefore, the process of -flushing old files may perturb the cache_queue_head pointer. This caused -some nodes with CI_FLAGS_IN_QUEUE to be un-linked from the queue list. + * src/rrd_client.c: rrdc_flush_if_daemon should not clobber error + message -- kevin (as suggested by Sebastian) -Thereafter, they would not be flushed by any periodic process (although -they could be revived with FLUSH or UPDATE). This caused a slow memory -leak for files that are no longer updated. Pending updates for these -"abandoned" files would remain in memory ad infinitum. +2008-10-17 05:44 oetiker -With this patch, remove_from_queue() will check that the item is queued -before modifying the head/tail pointers. This restores the intended -behavior. ---kevin + * branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: use double + for legend positioning to fight wiggle ------------------------------------------------------------------------- -r1625 | oetiker | 2008-10-22 07:08:47 +0200 | 2 lines +2008-10-16 21:33 oetiker -this was replaced by Makefile.am + * doc/rrdbuild.pod: fix version numbers in compile instructions tobi ------------------------------------------------------------------------- -r1624 | oetiker | 2008-10-21 08:10:32 +0200 | 2 lines +2008-10-16 21:30 oetiker -guess one needs that in svn too for luabindings to work + * src/rrd_client.c: In almost all cases where rrdc_flush can fail, + it will leave a more descriptive error message anyway.. better not + overwrite it. -- kevin ------------------------------------------------------------------------- -r1623 | oetiker | 2008-10-21 07:42:50 +0200 | 13 lines +2008-10-16 21:12 oetiker - * Open all listen sockets in daemonize(), while we still have stderr. - Changed open_listen_socket_* routines to complain to stderr. Now, any - errors in binding to the listen sockets are much more obvious. + * src/rrd.h, src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_info.c, src/rrd_last.c, + src/rrd_lastupdate.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_tune.c, src/rrd_update.c: - rrd_open() calculates file + size for new files and calls mmap once for the whole file - + rrd_resize() cleaned up, no longer passing a size through the + cookie argument - rrd_init(&my_rrd) must be called before + rrd_open() - if people are calling rrd_open directly from + application code, this might be troublesome. Alternative + solutions: creating an additional function, rrd_open_create(), or + adding an extra argument to rrd_open() for setting the file size + -- Daniel Pocock - * Simplified exit of parent after fork() +2008-10-16 21:05 oetiker - * PID file will be correctly cleaned up if there is a failure in daemonize(). + * src/rrd_open.c, src/rrd_update.c: move rrd_lock into rrd_open + where the general rrd_file ops are located. -- Daniel Pocock - * unlink the unix socket before trying to bind() - (after we're sure we have the PID file) +2008-10-16 06:11 oetiker --- kevin + * src/rrd_daemon.c: error reporting caused crash in journal replay ------------------------------------------------------------------------- -r1622 | oetiker | 2008-10-20 13:46:08 +0200 | 9 lines +2008-10-16 06:11 oetiker -rrd_notify_row patch: + * doc/rrdbuild.pod: better build docs - - Delegate choice of starting row for newly created RRD files to the rrd_open.c API. - - Introduce the rrd_notify_row() function so that an implementation can choose to align the rows of new RRDs with existing RRDs, if desirable. - - Maintain the existing behaviour (random starting row) by default. +2008-10-15 05:29 oetiker --- Daniel.Pocock + * src/rrd.h, src/rrd_create.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_tool.h, src/rrd_update.c: reverted r1601 and r1606 since + r1601 introduced a non portable mremap and r1606 has a dependency + on r1601. +2008-10-14 20:14 oetiker ------------------------------------------------------------------------- -r1621 | oetiker | 2008-10-20 08:06:16 +0200 | 4 lines + * src/rrd.h, src/rrd_create.c, src/rrd_open.c, src/rrd_update.c: + This moves selection of the initial RRA row into the rrd_open.c + API The current implementation (random row) is used by default. + However, it now provides an opportunity for alternative + implementations to integrate with rrdtool in a single place. Maybe + there are other places in rrdtool where I should insert calls to + the function rrd_notify_row()? This has been tested with rrdtool + create and rrdtool info to verify that random rows are selected by + default (existing behaviour preserved). -- Daniel Pocock -- Lua module build and install process rewritten using automake+libtool -- improved check for compat-5.1 availability --- Fidelis Assis +2008-10-14 19:23 oetiker ------------------------------------------------------------------------- -r1620 | oetiker | 2008-10-19 00:32:19 +0200 | 6 lines + * src/rrd_daemon.c: Under most circumstances, rrdcached can detect a + stale pid file. If the process in the pid file does not exist, or + cannot be signalled by the rrdcached owner, then rrdcached will + replace the pid file and start normally. Otherwise, it will + complain verbosely to STDERR. --kevin -rrd_open should not create files with restrictive masks +2008-10-14 19:08 oetiker -Removed unnecessary "mode" varaible. The mode is only used when O_CREAT is -specified, where we want to use 0666 (as rrd_create_fn did r<=1612). ---kevin + * src/rrd_client.c: * this preserves principle of least surprise + when dealing with files that are reachable via many path strings. + i.e. when $PWD=/base/dir the following files are the same: + /base/dir/x.rrd x.rrd ../dir/x.rrd * for performance, absolute + paths (starting with '/') are not resolved. this reduces the + number of stat(2) system calls. ------------------------------------------------------------------------- -r1619 | oetiker | 2008-10-18 17:50:07 +0200 | 7 lines +2008-10-14 19:08 oetiker -- encapsulate fd and mmap related variables within a private data -structure -- rrd_file_t keeps a pointer to the private data structure of type -void*, so that other block storage implementations can store their -internal data with rrd_file_t --- Daniel.Pocock + * doc/rrdcached.pod, src/rrd_daemon.c: Now, the daemon will check + that a base directory is NOT reached via symbolic link. + Documentation added to illustrate the restriction. This allows + several simplifying (and performance-enhancing) assumptions to be + made elsewhere in the code: * it ensures that paths resolved in + the client via realpath() will match our data structure keys * + it's possible to generate the correct absolute path when given a + relative path by simply prepending the base directory * it's not + necessary to resolve paths that begin with '/' -- kevin ------------------------------------------------------------------------- -r1618 | oetiker | 2008-10-17 07:50:22 +0200 | 3 lines +2008-10-14 19:08 oetiker -rrdc_flush_if_daemon should not clobber error message -- kevin (as suggested by Sebastian) + * CONTRIBUTORS, src/rrd_daemon.c: rrdcached treats relative and + absolute paths the same -- kevin +2008-10-14 11:33 oetiker ------------------------------------------------------------------------- -r1617 | oetiker | 2008-10-17 07:44:09 +0200 | 2 lines + * src/rrd_create.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_tool.h: Some observations I made while implementing this: + - In rrd_open(), the call to rrd_init() clobbers values already + populated in rrd_create.c - The logic for newfile_size in + rrd_open() wasn't really able to cope with the logic for a file + starting with size 0 I've tried to deal with these issues, but + maybe there is a more elegant solution. -- Daniel Pocock -use double for legend positioning to fight wiggle +2008-10-14 06:37 oetiker ------------------------------------------------------------------------- -r1616 | oetiker | 2008-10-16 23:33:08 +0200 | 5 lines + * src/rrd_daemon.c: clearer way of advancing the flush time -- kevin -fix version numbers in compile instructions -tobi +2008-10-13 22:07 oetiker + * src/rrd_daemon.c: This patch reduces the number of + time()/gettimeofday() system calls when doing high volume + processing. This enables about 25% speed increase during journal + replay and "BATCH" processing. (this is a function of syscall + overhead). * note when "BATCH" processing or journal replay + starts, use that timestamp for all commands * use the batch start + time to detect when we're in batch mode. no longer need a separate + boolean. * pass the time_t into handle_request * pass the time_t + through to the commands that need it -- kevin brintnall +2008-10-13 18:41 oetiker ------------------------------------------------------------------------- -r1614 | oetiker | 2008-10-16 23:30:17 +0200 | 4 lines + * src/rrd_daemon.c: fixed bad folding marker (on + handle_request_flush) -- kevin -In almost all cases where rrdc_flush can fail, it will leave a more -descriptive error message anyway.. better not overwrite it. --- kevin +2008-10-11 09:53 oetiker ------------------------------------------------------------------------- -r1613 | oetiker | 2008-10-16 23:12:27 +0200 | 14 lines + * src/rrd_daemon.c: this ensures that the response is + protocol-compliant even if additional info has been added to the + write buffer during processing. -- kevin brintnall -- rrd_open() calculates file size for new files and calls mmap once for -the whole file +2008-10-11 09:37 oetiker -- rrd_resize() cleaned up, no longer passing a size through the cookie -argument + * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces a + feature whereby rrdcached will disallow updates that do not + advance the update time. This prevents the updates from being + discarded later by rrd_update_r. This patch attempts to make the + most of the protocol's limited ability to return error text when + using a -1 return code. -- kevin brintnall -- rrd_init(&my_rrd) must be called before rrd_open() - if people are -calling rrd_open directly from application code, this might be -troublesome. Alternative solutions: creating an additional function, -rrd_open_create(), or adding an extra argument to rrd_open() for setting -the file size +2008-10-10 05:21 oetiker --- Daniel Pocock + * etc/rrdcached-init: This patch ensures that when rrdcached is + stopped, it cleans up the pid file. Apparently this is necessary + if RRDCACHED_USER is not the default "rrdcached". -- Bernard Li ------------------------------------------------------------------------- -r1612 | oetiker | 2008-10-16 23:05:51 +0200 | 2 lines +2008-10-10 05:21 oetiker -move rrd_lock into rrd_open where the general rrd_file ops are located. -- Daniel Pocock + * rrdtool.spec: The patch I submitted for rrdtool.spec introduced a + bug where there are two ldconfig calls in the %postun section. + This patch fixes that. -- Bernard Li ------------------------------------------------------------------------- -r1610 | oetiker | 2008-10-16 08:11:54 +0200 | 3 lines +2008-10-10 05:19 oetiker -error reporting caused crash in journal replay + * etc/rrdcached-default, etc/rrdcached-init: This patch does two + things: - remove the --pidfile check, for compatibility with older + RHEL/Centos systems - update the username used by the init script, + to remain consistent with Bernard's changes to the spec file -- + Daniel.Pocock +2008-10-08 20:47 oetiker ------------------------------------------------------------------------- -r1609 | oetiker | 2008-10-16 08:11:44 +0200 | 2 lines + * rrdtool.spec: Split-out rrd-cached subpackage -- Bernard Li -better build docs +2008-10-08 05:49 oetiker ------------------------------------------------------------------------- -r1607 | oetiker | 2008-10-15 07:29:41 +0200 | 2 lines + * rrdtool.spec: This patch updates the spec file and includes the + librrd.pc file in the -devel subpackage so that you can build the + RPM again. -- Bernard -reverted r1601 and r1606 since r1601 introduced a non portable mremap and r1606 has a dependency on r1601. +2008-10-08 05:47 oetiker ------------------------------------------------------------------------- -r1606 | oetiker | 2008-10-14 22:14:35 +0200 | 15 lines + * src/rrd_daemon.c: fix crash reported by Bernard Li - + connection_thread_main: avoid double calls to close_connection -- + kevin -This moves selection of the initial RRA row into the rrd_open.c API +2008-10-08 05:46 oetiker -The current implementation (random row) is used by default. However, it -now provides an opportunity for alternative implementations to integrate -with rrdtool in a single place. + * doc/rrdcached.pod: fixed typo -Maybe there are other places in rrdtool where I should insert calls to -the function rrd_notify_row()? +2008-10-07 21:10 oetiker -This has been tested with rrdtool create and rrdtool info to verify that -random rows are selected by default (existing behaviour preserved). + * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces two new + commands for cache management: PENDING: shows any un-written + updates for a file FORGET : remove a file completely from cache -- + kevin brintnall --- Daniel Pocock +2008-10-07 21:08 oetiker + * src/rrd_daemon.c: This patch moves the permission handling code + around a bit. * moved privilege checks into the command handler + functions (possible now that we pass the sock data structures + around) * on UPDATE, delay journal_write until after + check_file_access(). previously, it was possible for a high-priv + socket to introduce commands into the journal that could be + replayed if they were still in the journal at next startup. * + moved has_privilege() further up in the file to avoid need for + prototype. -- kevin brintnall ------------------------------------------------------------------------- -r1605 | oetiker | 2008-10-14 21:23:24 +0200 | 8 lines +2008-10-07 16:28 oetiker -Under most circumstances, rrdcached can detect a stale pid file. + * src/rrd_daemon.c: This patch introduces some extra safety checks + in journal processing, and cleans up the code a little bit. * + moved journal initialization to its own function; main() is + cleaner * any time we process a file, log the results (previous + code only loggded if there was a valid entry) * After reading + journals at startup, only trigger full flush out to disk if the + user specified -F. Avoids unnecessary IO on startup unless the + user also wants unnecessary IO on shutdown. * journal_replay is + much more careful about files it will open * must be a regular + file * must be owned by daemon user * must not be group/other + writable * Ensure that the journal gets created with the right + permissions. ... even when the daemon is invoked with a permissive + umask. equivalent to "chmod a-x,go-w" -- kevin -If the process in the pid file does not exist, or cannot be signalled by -the rrdcached owner, then rrdcached will replace the pid file and start -normally. Otherwise, it will complain verbosely to STDERR. +2008-10-07 15:37 oetiker ---kevin + * src/rrd_open.c: aniel Pocock reported that the argument may be + NULL in low-diskspace situations, so check for that here to + prevent a segmentation fault. -- Florian Forster ------------------------------------------------------------------------- -r1604 | oetiker | 2008-10-14 21:08:56 +0200 | 12 lines +2008-10-06 19:14 oetiker - * this preserves principle of least surprise when dealing with files that - are reachable via many path strings. i.e. when $PWD=/base/dir the - following files are the same: + * bindings/lua/Makefile.lua: Makefile.lua is now generated - /base/dir/x.rrd - x.rrd - ../dir/x.rrd +2008-10-06 19:13 oetiker - * for performance, absolute paths (starting with '/') are not resolved. - this reduces the number of stat(2) system calls. + * bindings/lua/Makefile.lua.in: added missing file from lua 5.0 + integration patch +2008-10-06 19:05 oetiker ------------------------------------------------------------------------- -r1603 | oetiker | 2008-10-14 21:08:36 +0200 | 15 lines + * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces "BATCH" + mode. In this mode, a client can feed multiple commands to + rrdcached without waiting for acknowledgement. This permits + multiple commands to be sent for each read()/write(). This can + dramatically increase the command throughput by increasing the + amount of work done per system call. It enables over 100k + updates/second with no CPU utilization due to the reduced system + calls. -- kevin brintnall -Now, the daemon will check that a base directory is NOT reached via -symbolic link. Documentation added to illustrate the restriction. +2008-10-06 19:04 oetiker -This allows several simplifying (and performance-enhancing) assumptions to -be made elsewhere in the code: + * src/rrd_daemon.c: This patch introduces buffered I/O to rrdcached. + Now, rrdcached can interpret as many commands as arrive in a + single read(), and it will use fewer write()s when there are + multiple output lines. All routines now pass around + listen_socket_t objects instead of file descriptors. All I/O is + now contained in two routines. It's no longer necessary to specify + the line count in multi-line outputs, since that is calculated + automatically. This is the foundation for accepting batched + commands. -- kevin brintnall - * it ensures that paths resolved in the client via realpath() will match - our data structure keys +2008-10-06 05:05 oetiker - * it's possible to generate the correct absolute path when given a - relative path by simply prepending the base directory + * CONTRIBUTORS, bindings/Makefile.am, bindings/lua/Makefile.lua, + bindings/lua/README, bindings/lua/rrdlua.c, configure.ac, + doc/rrdlua.pod: Support to Lua 5.0 -- Fidelis Assis - * it's not necessary to resolve paths that begin with '/' - -- kevin +2008-10-04 16:05 oetiker ------------------------------------------------------------------------- -r1602 | oetiker | 2008-10-14 21:08:00 +0200 | 2 lines + * configure.ac, src/Makefile.am, src/librrd.pc.in: initial librrd + file added ... this will need more love since it does not pick up + any -rpath settings -rrdcached treats relative and absolute paths the same -- kevin +2008-10-04 13:34 oetiker ------------------------------------------------------------------------- -r1601 | oetiker | 2008-10-14 13:33:37 +0200 | 13 lines + * branches/1.3/program/src/rrd_resize.c, src/rrd_resize.c, + trunk/tutorial/lisa2008/rrd-by-example/ex/hw-demo.pl: * rrd_resize + fixed so that it does NOT alter the original file (mmap side + effect) * rrd_resize can can deal with version 4 files, so let it -Some observations I made while implementing this: +2008-10-03 22:53 oetiker -- In rrd_open(), the call to rrd_init() clobbers values already populated in -rrd_create.c + * branches/1.3/program/src/rrd_open.c, src/rrd_open.c: The patch + fixs rrdtools behaviour when presented with trunkated rrd files. * + Make sure that we do not extend past the end of the file when + reading the header. * Makes sure that the data portion of the file + is large enough, based on the ds_cnt and the total number of RRA + rows -- kevin brintnall -- The logic for newfile_size in rrd_open() wasn't really able to cope with the -logic for a file starting with size 0 +2008-10-02 19:17 oetiker -I've tried to deal with these issues, but maybe there is a more elegant solution. + * src/rrd_daemon.c: folding fix --- Daniel Pocock +2008-10-02 19:08 oetiker + * bindings/ruby/extconf.rb: missing spaces in extconf.rb caused + compile failure -- kevin + +2008-10-02 17:17 oetiker + + * etc/rrdcached-default: permission fix for rrdcached socket -- + Daniel.Pocock + +2008-10-01 20:22 oetiker ------------------------------------------------------------------------- -r1600 | oetiker | 2008-10-14 08:37:19 +0200 | 3 lines + * src/Makefile.am: since rrdcached uses pthread functions, use the + threadsafe version of librrd as well. This will also reasolve + build problems on boxes there the ptherad functions must be linked + explicitly. + +2008-10-01 20:04 oetiker + + * doc/rrdcached.pod: Clearer explanation on which paths are + permitted when -B is supplied -- kevin -clearer way of advancing the flush time --- kevin +2008-10-01 20:01 oetiker ------------------------------------------------------------------------- -r1599 | oetiker | 2008-10-14 00:07:14 +0200 | 18 lines + * bindings/lua/Makefile.lua, bindings/ruby/extconf.rb, + bindings/ruby/main.c, bindings/tcl/Makefile.am, + bindings/tcl/tclrrd.c, configure.ac, src/Makefile.am, + src/rrd_client.c, src/rrd_dump.c, src/rrd_gfx.c, src/rrd_open.c, + src/rrd_xport.c: Fixes for the following compiler warnings: - + unused variable - unused parameter - assignment / argument + discards qualifiers from pointer target type - comparison between + signed and unsigned - too many arguments to function - assignment + makes pointer from integer without a cast - incompatible pointer + type - differ in signedness - implicit declaration of function - + enumeration value not handled in switch - value computed is not + used Most notably, a possible segfault in the Rrd_Lastupdate() + code of the TCL bindings has been fixed. Also, -Wundef (warn if an + undefined identifier is evaluated in an #if directive) has been + removed from CFLAGS. I don't see any problem with letting + undefined identifiers evaluate to "false" in rrdtool. Keeping that + option would produce a lot of (imho unnecessary) errors which + would need to be fixed using ugly preprocessor statements like + '#if defined(FOO) && FOO'. -- Sebastian Harl -This patch reduces the number of time()/gettimeofday() system calls when -doing high volume processing. This enables about 25% speed increase -during journal replay and "BATCH" processing. (this is a function of -syscall overhead). +2008-10-01 19:48 oetiker - * note when "BATCH" processing or journal replay starts, use that - timestamp for all commands + * Makefile.am, etc, etc/rrdcached-default, etc/rrdcached-init, + rrdtool.spec: I've adapted an init script for rrdcached, and also + incorporated it into the spec file so that it is deployed with the + RPM. There are also some other changes to the spec file so that I + could build an RPM successfully from trunk. I'm happy to tidy up + the spec file some more if no one else wants to mandate the best + way to do it. By default, rrdcached runs as nobody. I've tested + this on a server running Ganglia gmetad. Regards, Daniel - * use the batch start time to detect when we're in batch mode. no longer - need a separate boolean. +2008-10-01 19:44 oetiker - * pass the time_t into handle_request + * doc/rrdcached.pod, src/rrd_daemon.c: Now, moving a value to the + head of the queue is O(1). Before it was O(queue size). This + improves performance of individual flushes when there is a large + number of files in the queue. As a result, we don't hold the + cache_lock as much. Revamped enqueue_cache_item to take advantage + of the new structure. Renamed _wipe_ci_values to look nicer with + other code. --kevin - * pass the time_t through to the commands that need it +2008-10-01 16:53 oetiker --- kevin brintnall + * src/rrd_graph.c: lcd is actually gcd! +2008-09-30 18:44 oetiker ------------------------------------------------------------------------- -r1598 | oetiker | 2008-10-13 20:41:12 +0200 | 3 lines + * doc/rrdcached.pod, src/rrd_daemon.c: When -B is specified, the + daemon will only operate on files within the base directory. + Symlink detection is omitted for performance reasons (if a user + can create a symlink, they can probably overwrite the RRDs + anyway). -- kevin -fixed bad folding marker (on handle_request_flush) --- kevin +2008-09-30 18:43 oetiker ------------------------------------------------------------------------- -r1597 | oetiker | 2008-10-11 11:53:40 +0200 | 4 lines + * src/rrd_daemon.c: check permissions before writing to journal -- + kevin -this ensures that the response is protocol-compliant even if additional -info has been added to the write buffer during processing. --- kevin brintnall +2008-09-30 18:42 oetiker ------------------------------------------------------------------------- -r1596 | oetiker | 2008-10-11 11:37:53 +0200 | 10 lines + * src/rrd_daemon.c: The daemon should behave the same way w/r/t + files whether we "-g" or not. -- kevin -This patch introduces a feature whereby rrdcached will disallow updates -that do not advance the update time. This prevents the updates from being -discarded later by rrd_update_r. +2008-09-29 20:00 oetiker -This patch attempts to make the most of the protocol's limited ability to -return error text when using a -1 return code. + * src/rrd_daemon.c: This bug caused the last line in each journal + file to be processed a second time. Since it had been modified due + to tokenizing, it failed syntax check. The daemon would always + record one failed line at end-of-journal as a result. No data loss + incurred by this bug. -- kevin --- kevin brintnall +2008-09-29 19:58 oetiker + * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces the + concept of socket privilege levels. "UPDATE" and "FLUSHALL" + commands are restricted to high-privilege sockets. "FLUSH" + commands can be executed on any socket. This is ideal for + multi-user installations where only certain users need write + access to the RRD files. Now, nearly all socket information is + passed around the daemon in listen_socket_t data structures. In + case there is other per-socket state (i.e. if we add + authentication) we can put it there. Also, I created a new + "open_listen_socket_network" and removed the network setup from + "open_listen_socket". -- kevin ------------------------------------------------------------------------- -r1595 | oetiker | 2008-10-10 07:21:19 +0200 | 5 lines +2008-09-29 19:56 oetiker + + * src/rrd_client.c, src/rrd_update.c: This patch provides better + error messages to the client when something goes wrong with the + daemon. When possible, the daemon error message is passed through + to rrd_set_error() on the client. Prior to this patch, most error + conditions would result in "Internal error", which is not very + helpful. -- kevin brintnall -This patch ensures that when rrdcached is stopped, it cleans up the -pid file. Apparently this is necessary if RRDCACHED_USER is not the -default "rrdcached". --- Bernard Li +2008-09-28 21:37 oetiker ------------------------------------------------------------------------- -r1594 | oetiker | 2008-10-10 07:21:01 +0200 | 4 lines + * doc/rrdcached.pod: spelling fix -- kevin -The patch I submitted for rrdtool.spec introduced a bug where there -are two ldconfig calls in the %postun section. This patch fixes that. --- Bernard Li +2008-09-28 21:36 oetiker + + * doc/rrdcached.pod, src/rrd_daemon.c: This patch removes an extra + "SIGNALS" section in the rrdcached.pod and merges "[BUG] fixed + hang in flush_file() introduced by per-file flush condition". -- + kevin brintnall + +2008-09-28 19:27 oetiker ------------------------------------------------------------------------- -r1593 | oetiker | 2008-10-10 07:19:06 +0200 | 11 lines + * src/rrd_daemon.c: a few missing {{{ folding }}} markers added -- + kevin brintnall -This patch does two things: +2008-09-28 19:26 oetiker -- remove the --pidfile check, for compatibility with older RHEL/Centos - systems + * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces "fast + shutdown" mode and two new signals. -- kevin brintnall -- update the username used by the init script, to remain consistent with - Bernard's changes to the spec file +2008-09-28 19:25 oetiker --- Daniel.Pocock + * doc/rrdcached.pod, src/rrd_daemon.c: Moved signal handler setup + out of daemonize(). Coalesced common code in preparation for new + signals. Documented behavior of existing signals. -- kevin + brintnall +2008-09-28 19:23 oetiker ------------------------------------------------------------------------- -r1592 | oetiker | 2008-10-08 22:47:04 +0200 | 2 lines + * MakeMakefile: Attached is a patch to lower the version + requirements of libtool and automake. I have tested this on CentOS + 4.x with the specified versions of libtool and automake and was + able to build RRDTool fine. I did *not* test building with PHP, + tcl, ruby or Python though. I also abstracted the version numbers + of all the dependencies such that editing them in the future will + be easier. -- Bernard Li -Split-out rrd-cached subpackage -- Bernard Li +2008-09-28 19:12 oetiker ------------------------------------------------------------------------- -r1591 | oetiker | 2008-10-08 07:49:24 +0200 | 5 lines + * doc/rrdcached.pod, src/rrd_daemon.c: added support for FLUSHALL + command -- kevin brintnall -This patch updates the spec file and includes the librrd.pc file in -the -devel subpackage so that you can build the RPM again. --- Bernard +2008-09-28 19:10 oetiker + * src/rrd_daemon.c: move cache broadcast into enqueue_cache_item -- + kevin brintnall ------------------------------------------------------------------------- -r1590 | oetiker | 2008-10-08 07:47:39 +0200 | 2 lines +2008-09-28 19:10 oetiker -fix crash reported by Bernard Li - connection_thread_main: avoid double calls to close_connection -- kevin + * src/rrd_daemon.c: When -z is specified, some updates may + be timestamped up to seconcds in the future. Therefore, a + timeout of now+1 may not be sufficient. Set abs_timeout past the + point where any updates are currently specified. -- kevin + brintnall ------------------------------------------------------------------------- -r1589 | oetiker | 2008-10-08 07:46:21 +0200 | 1 line +2008-09-28 19:09 oetiker -fixed typo ------------------------------------------------------------------------- -r1588 | oetiker | 2008-10-07 23:10:54 +0200 | 7 lines + * src/rrd_daemon.c: The PID file is created with open() in the + parent process, while we still have STDERR open. If it cannot be + created, it complains verbosely to stderr. The PID file is written + in the child process. The only way the fdopen() will fail on a fd + that is already open is if you're completely out of memory. As in + other places in the code, I didn't consider this a case that + required a very verbose message. (Search for "strdup failed"). If + you still think a more verbose message is called for, please + suggest one. The attached patch corrects the error message to + complain about fdopen() vs fopen(). I hadn't noticed that until + you brought it up. -- kevin brintnall -This patch introduces two new commands for cache management: +2008-09-28 19:08 oetiker - PENDING: shows any un-written updates for a file - FORGET : remove a file completely from cache + * src/librrd.sym.in, src/rrd.h: rrd.h, librrd.sym: Define and export + rrd_info_r() -- Sebastian Harl --- kevin brintnall +2008-09-28 15:01 oetiker ------------------------------------------------------------------------- -r1587 | oetiker | 2008-10-07 23:08:30 +0200 | 15 lines + * branches/1.2/program/src/rrd_graph.c, + branches/1.3/program/src/rrd_graph.c, + branches/1.3/program/src/rrd_tool.c, src/rrd_graph.c, + src/rrd_tool.c: vdef calc was using end_orig to determine for + which range it should do its calculations which is odd, since orig + is only the requested range as invocation time and not the data + range deliverd by fetch. It does fall completely flat when + shifting since shifting does not affect the original data. Bug + #177 reported by hokiel -This patch moves the permission handling code around a bit. +2008-09-27 11:44 oetiker - * moved privilege checks into the command handler functions - (possible now that we pass the sock data structures around) + * branches/1.2/program/src/rrd_xport.c, + branches/1.3/program/src/rrd_xport.c, src/rrd_xport.c: rrdxport + was completely broken for exporting datasources that did not have + a uniform step size. Thanks to Peter Valdemar Mørch for finding + this. - * on UPDATE, delay journal_write until after check_file_access(). - previously, it was possible for a high-priv socket to introduce - commands into the journal that could be replayed if they were - still in the journal at next startup. +2008-09-26 05:11 oetiker - * moved has_privilege() further up in the file to avoid need - for prototype. + * src/rrd_daemon.c: create the pid file before forking, so we can + complain to stderr -- kevin brintnall --- kevin brintnall +2008-09-26 05:10 oetiker ------------------------------------------------------------------------- -r1586 | oetiker | 2008-10-07 18:28:24 +0200 | 24 lines + * doc/rrdcached.pod, doc/rrdflush.pod, src/rrd_daemon.c: This patch + ensures that the "FLUSH" command will write the updates out to RRD + before returning to the user. Before, it returned when the update + was "dequeued"; updates were not necessarily on disk. Also, for + new nodes, the cache_lock is not held while we are setting up the + new node. We don't want to be holding the lock if the stat() + blocks. -- kevin brintnal -This patch introduces some extra safety checks in journal processing, -and cleans up the code a little bit. +2008-09-25 21:07 oetiker - * moved journal initialization to its own function; main() is cleaner + * src/rrd_client.c: Use the same IPv6/IPv4 as for the client as + Florian did for the server -- kevin brintnall - * any time we process a file, log the results - (previous code only loggded if there was a valid entry) +2008-09-25 20:31 oetiker - * After reading journals at startup, only trigger full flush out to disk - if the user specified -F. Avoids unnecessary IO on startup unless the - user also wants unnecessary IO on shutdown. + * src/rrd_daemon.c: This fixes a couple problems when exiting due to + signal: * connection threads exit without closing client socket + (so client blocks waiting for response that never comes) * + listen_queue_thread blocks on poll() until a new connection comes + in (because no poll timeout specified) -- kevin brintnall - * journal_replay is much more careful about files it will open - * must be a regular file - * must be owned by daemon user - * must not be group/other writable +2008-09-25 20:11 oetiker - * Ensure that the journal gets created with the right permissions. - ... even when the daemon is invoked with a permissive umask. - equivalent to "chmod a-x,go-w" + * src/rrd_daemon.c: set SO_REUSEADDR on the listen socket -- kevin + brintnall --- kevin +2008-09-25 20:10 oetiker + * doc/rrdcached.pod, src/rrd_daemon.c: Support for IPv6 has been + broken with revision 1522: Because IPv6-addresses contain colons, + simply checking for a colon and using everything after it does + destroy correctly formatted IPv6-addresses. This patch checks for + dots '.' in the address. If the address contains at least one dot, + it is considered to be a hostname or an IPv4-address and a simple + search for a colon is done. If no dot is found, the code will + check for an opening square bracket '[' at the beginning of the + address. If one if found, the format [address]:port is assumed. If + neither applies, the default port will be used. -- Florian Forster ------------------------------------------------------------------------- -r1584 | oetiker | 2008-10-07 17:37:34 +0200 | 4 lines +2008-09-25 15:25 oetiker -aniel Pocock reported that the argument may be NULL in low-diskspace -situations, so check for that here to prevent a segmentation fault. --- Florian Forster + * doc/rrdcached.pod, doc/rrddump.pod, doc/rrdfetch.pod, + doc/rrdflush.pod, doc/rrdgraph.pod, doc/rrdinfo.pod, + doc/rrdlast.pod, doc/rrdlastupdate.pod, doc/rrdupdate.pod, + doc/rrdxport.pod, src/rrd_client.c: This adds support for +
: in the rrd client library. Obviously this is + required to take advantage of the server's ability to bind to a + non-standard port -- kevin brintnall ------------------------------------------------------------------------- -r1583 | oetiker | 2008-10-06 21:14:17 +0200 | 2 lines +2008-09-24 22:21 oetiker -Makefile.lua is now generated + * doc/rrdcached.pod, src/rrd_daemon.c: Allow ports to be specified + with -l addr:port also. -- kevin brintnall ------------------------------------------------------------------------- -r1582 | oetiker | 2008-10-06 21:13:30 +0200 | 2 lines +2008-09-24 22:07 oetiker -added missing file from lua 5.0 integration patch + * bindings/Makefile.am: the rrdlua.pod is in the doc directory ------------------------------------------------------------------------- -r1581 | oetiker | 2008-10-06 21:05:47 +0200 | 12 lines +2008-09-24 06:04 oetiker -This patch introduces "BATCH" mode. + * doc/rrdcached.pod: added section on error reporting -- Florian + Forster -In this mode, a client can feed multiple commands to rrdcached without -waiting for acknowledgement. This permits multiple commands to be sent -for each read()/write(). This can dramatically increase the command -throughput by increasing the amount of work done per system call. +2008-09-22 06:35 oetiker -It enables over 100k updates/second with no CPU -utilization due to the reduced system calls. + * MakeMakefile, bindings/Makefile.am, bindings/lua, + bindings/lua/Makefile.lua, bindings/lua/README, + bindings/lua/rrdlua.c, bindings/lua/test.lua, configure.ac, + doc/Makefile.am, doc/rrdlua.pod: I finally finished the first + version of the patch (attached) -- Fidelis Assis fidelis pobox.com + (this does not seem to quite work yet at least not in my hardy + setup) --- kevin brintnall +2008-09-22 05:38 oetiker ------------------------------------------------------------------------- -r1580 | oetiker | 2008-10-06 21:04:48 +0200 | 15 lines + * branches/1.2/program/configure.ac, + branches/1.3/program/configure.ac, configure.ac: use default + prefix for ruby install if no user defined prefix is available -This patch introduces buffered I/O to rrdcached. Now, rrdcached can -interpret as many commands as arrive in a single read(), and it will use -fewer write()s when there are multiple output lines. +2008-09-19 20:34 oetiker -All routines now pass around listen_socket_t objects instead of file -descriptors. + * branches/1.3/program/bindings/perl-shared/Makefile.PL, + bindings/perl-shared/Makefile.PL: Bsd lirary path switch added to + perl bindings makefile -- as suggested by Kevin Brintnall -All I/O is now contained in two routines. It's no longer necessary to -specify the line count in multi-line outputs, since that is calculated -automatically. +2008-09-18 13:30 oetiker -This is the foundation for accepting batched commands. --- kevin brintnall + * branches/1.3/program/src/rrd_open.c, src/rrd_open.c: Fix for + debian bug 498183 ... never *advise after the end of the file. On + sparc this causes a segfault. Thanks to Sebastian Harl and Jurij + Smakov for finding this. +2008-09-14 15:30 oetiker ------------------------------------------------------------------------- -r1579 | oetiker | 2008-10-06 07:05:19 +0200 | 2 lines + * src/rrd_daemon.c: fix RRDCacheD documentation -- Florian Forster -Support to Lua 5.0 -- Fidelis Assis +2008-09-14 15:28 oetiker ------------------------------------------------------------------------- -r1575 | oetiker | 2008-10-04 18:05:11 +0200 | 3 lines + * src/rrd_client.c: The previous code was broken: The response was + read using `read(2)'. If the server wasn't sending fast enough, + the client would stop reading before the entire message had been + read. This patch changes the communication code to use the (line + based) `fgets' function rather than the lower level `read' + function. After reading the first line (which contains the total + number of line to be expected), this precise number of lines is + read - blocking if necessary. Also, the missing four new statistic + values have been added to `rrdc_stats_get'. --Folorian Forester -initial librrd file added ... this will need more love since it does -not pick up any -rpath settings +2008-09-14 10:35 oetiker ------------------------------------------------------------------------- -r1571 | oetiker | 2008-10-04 15:34:54 +0200 | 3 lines + * CONTRIBUTORS, doc/rrdcached.pod, doc/rrdflush.pod, + src/librrd.sym.in, src/rrd_client.c, src/rrd_client.h, + src/rrd_daemon.c, src/rrd_dump.c, src/rrd_fetch.c, + src/rrd_flush.c, src/rrd_graph.c, src/rrd_graph.h, src/rrd_info.c, + src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_tool.h, + src/rrd_update.c, src/rrd_xport.c: did not pick up all the changes + for rrdcached in the first round ... so here is the second batch. -* rrd_resize fixed so that it does NOT alter the original file (mmap side effect) -* rrd_resize can can deal with version 4 files, so let it +2008-09-14 09:49 oetiker ------------------------------------------------------------------------- -r1570 | oetiker | 2008-10-04 00:53:28 +0200 | 11 lines + * CONTRIBUTORS, configure.ac, doc/Makefile.am, doc/rrdcached.pod, + doc/rrddump.pod, doc/rrdfetch.pod, doc/rrdgraph.pod, + doc/rrdinfo.pod, doc/rrdlast.pod, doc/rrdlastupdate.pod, + doc/rrdtool.pod, doc/rrdupdate.pod, doc/rrdxport.pod, + src/Makefile.am, src/librrd.sym.in, src/rrd.h, src/rrd_client.c, + src/rrd_client.h, src/rrd_daemon.c, src/rrd_dump.c, + src/rrd_fetch.c, src/rrd_graph.c, src/rrd_graph.h, src/rrd_info.c, + src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_update.c, src/rrd_xport.c: RRDcached + patch. This implements an infrastructure, where rrd updates can be + sent to a daemon which caches them prior to bulk-updateing rrd + files. See the rrdcached manual page. -- Created by Florian + Forster with some help from Kevin Brintnall. -The patch fixs rrdtools behaviour when presented with trunkated rrd files. +2008-09-13 11:42 oetiker - * Make sure that we do not extend past the end of the - file when reading the header. + * configure.ac, src/Makefile.am, src/rrd_config_bottom.h: regarding + #183: * move part of rrd_config.h out to a separate file, so that + autoconf is not confused by the more complex expressions. * fix + configure variable name to allow caching * another attemt at + fixing solaris 2.8 compile so that it works out of the box. - * Makes sure that the data portion of the file is large enough, based on - the ds_cnt and the total number of RRA rows +2008-09-13 10:56 oetiker --- kevin brintnall + * doc/rrdgraph.pod: fix graph docs +2008-09-11 20:27 oetiker ------------------------------------------------------------------------- -r1567 | oetiker | 2008-10-02 21:17:18 +0200 | 2 lines + * src/rrd_graph.c: fixed processing of custom fonts René GARCIA + -folding fix +2008-09-11 07:01 oetiker ------------------------------------------------------------------------- -r1566 | oetiker | 2008-10-02 21:08:30 +0200 | 3 lines + * src/rrd_format.h: no , on the last member in C -missing spaces in extconf.rb caused compile failure -- kevin +2008-09-07 07:19 oetiker + * src/rrd_update.c: The attached patch eliminates the many places + where the rra_current pointer was maintained; the existing + write/seek mechanisms update rrd_file->pos correctly. Also, the + seek at the front of process_arg is not necessary; write_to_rras + will now take care to correct the file position at every update + cycle. This eliminates unnecessary rrd_seek() calls when MMAP is + not enabled. -- kevin brintnall kbrint rufus.net ------------------------------------------------------------------------- -r1565 | oetiker | 2008-10-02 19:17:58 +0200 | 2 lines +2008-09-06 14:24 oetiker -permission fix for rrdcached socket -- Daniel.Pocock + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, src/rrd.h, + src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3.2 ------------------------------------------------------------------------- -r1559 | oetiker | 2008-10-01 22:22:57 +0200 | 3 lines +2008-09-06 11:46 oetiker -since rrdcached uses pthread functions, use the threadsafe version of librrd as well. This will -also reasolve build problems on boxes there the ptherad functions must be linked explicitly. + * src/rrd_tool.h: we need rrd_format.h here for things to compile + properly ------------------------------------------------------------------------- -r1558 | oetiker | 2008-10-01 22:04:47 +0200 | 2 lines +2008-09-06 11:43 oetiker -Clearer explanation on which paths are permitted when -B is supplied -- kevin + * doc/rrdbuild.pod: updated opensolaris build instructions ------------------------------------------------------------------------- -r1557 | oetiker | 2008-10-01 22:01:43 +0200 | 26 lines +2008-09-06 10:43 oetiker -Fixes for the following compiler warnings: + * bindings/perl-piped/RRDp.pm, configure.ac, src/Makefile.am, + src/librrd.sym, src/librrd.sym.in, src/rrd_tool.h: only link build + and use rrd_getopt if there is no getopt_long provided by by the + os ... this should also fix problems for solaris 2.8 and other non + getopt_long oses who were not taken care of anymore after the + intriduction of librrd.sym - - unused variable - - unused parameter - - assignment / argument discards qualifiers from pointer target type - - comparison between signed and unsigned - - too many arguments to function - - assignment makes pointer from integer without a cast - - incompatible pointer type - - differ in signedness - - implicit declaration of function - - enumeration value not handled in switch - - value computed is not used +2008-09-06 10:39 oetiker -Most notably, a possible segfault in the Rrd_Lastupdate() code of the TCL -bindings has been fixed. + * src/rrd_update.c: fix for multi update - data corruption bug as + reported (and patched) in #178 by kevin brintnall -Also, -Wundef (warn if an undefined identifier is evaluated in an #if -directive) has been removed from CFLAGS. I don't see any problem with letting -undefined identifiers evaluate to "false" in rrdtool. Keeping that option -would produce a lot of (imho unnecessary) errors which would need to be fixed -using ugly preprocessor statements like '#if defined(FOO) && FOO'. +2008-09-06 10:32 oetiker --- Sebastian Harl + * doc/cdeftutorial.pod, doc/rrdgraph.pod, doc/rrdgraph_graph.pod, + doc/rrdtool.pod: make pod checker happy +2008-09-06 08:58 oetiker ------------------------------------------------------------------------- -r1556 | oetiker | 2008-10-01 21:48:15 +0200 | 15 lines + * src/rrd_open.c: inline functions are not supported in c99 ... lets + remove this. the compiler will foture it out if they are + important. -I've adapted an init script for rrdcached, and also incorporated it into -the spec file so that it is deployed with the RPM. +2008-09-04 21:45 oetiker -There are also some other changes to the spec file so that I could build -an RPM successfully from trunk. I'm happy to tidy up the spec file some -more if no one else wants to mandate the best way to do it. + * src/rrd_graph.c: introduced a persistant fontmap ... this makes + our pango rendering 6 times faster starting from the second graph + we draw. -By default, rrdcached runs as nobody. I've tested this on a server -running Ganglia gmetad. +2008-08-31 23:42 oetiker -Regards, + * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h: now the results + actually look as they did with the old code only things are FASTER -Daniel +2008-08-31 22:53 oetiker + * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: Improve performance by keeping multiple + pango font descriptions. For the first invocation we are about 20% + times as fast for the second one about 4-5 times faster ... ------------------------------------------------------------------------- -r1555 | oetiker | 2008-10-01 21:44:36 +0200 | 11 lines +2008-08-31 10:55 oetiker -Now, moving a value to the head of the queue is O(1). Before it was -O(queue size). This improves performance of individual flushes when -there is a large number of files in the queue. As a result, we don't -hold the cache_lock as much. + * src/rrd_gfx.c: trying to improve the pango performance I added + facilities to cache layout,context and more in between invocations + of the text function, unfortunately it does not seem to help all + that much. -Revamped enqueue_cache_item to take advantage of the new structure. +2008-08-31 10:52 oetiker -Renamed _wipe_ci_values to look nicer with other code. + * bindings/perl-shared/RRDs.xs, bindings/ruby/main.c: use the + standart info free function ---kevin +2008-08-28 05:49 oetiker ------------------------------------------------------------------------- -r1552 | oetiker | 2008-10-01 18:53:56 +0200 | 2 lines + * src/rrd_tool.c: fix handling of error conditions in rrd_tool.c ... + errno is not for detection, only for information AFTER detection. -lcd is actually gcd! +2008-08-28 04:13 oetiker ------------------------------------------------------------------------- -r1551 | oetiker | 2008-09-30 20:44:03 +0200 | 4 lines + * src/rrd_tool.c: free the linebuffer if you don't return it! -When -B is specified, the daemon will only operate on files within the -base directory. Symlink detection is omitted for performance reasons (if -a user can create a symlink, they can probably overwrite the RRDs anyway). -- kevin +2008-08-27 22:06 oetiker ------------------------------------------------------------------------- -r1550 | oetiker | 2008-09-30 20:43:15 +0200 | 2 lines + * src/rrd_gfx.c: some more leak plugging - check permissions before writing to journal -- kevin +2008-08-27 21:48 oetiker ------------------------------------------------------------------------- -r1549 | oetiker | 2008-09-30 20:42:34 +0200 | 3 lines + * src/rrd_graph.c: drop the dummy surface prior to creating the real + one -The daemon should behave the same way w/r/t files whether we "-g" or not. --- kevin +2008-08-27 21:46 oetiker ------------------------------------------------------------------------- -r1548 | oetiker | 2008-09-29 22:00:34 +0200 | 6 lines + * src/rrd_tool.c: added some freeing for error conditions -This bug caused the last line in each journal file to be processed a -second time. Since it had been modified due to tokenizing, it failed -syntax check. The daemon would always record one failed line at -end-of-journal as a result. No data loss incurred by this bug. -- kevin +2008-08-27 21:25 oetiker + * src/rrd.h, src/rrd_gfx.c, src/rrd_graph.c, src/rrd_open.c, + src/rrd_update.c: fixed indentation ... gnu indent results are not + realy beautifl. I might switch to uncrustify. ------------------------------------------------------------------------- -r1547 | oetiker | 2008-09-29 21:58:34 +0200 | 13 lines +2008-08-27 21:25 oetiker -This patch introduces the concept of socket privilege levels. "UPDATE" -and "FLUSHALL" commands are restricted to high-privilege sockets. "FLUSH" -commands can be executed on any socket. This is ideal for multi-user -installations where only certain users need write access to the RRD files. + * src/rrd_create.c: Many rrd_create memory leaks patched ... based + on valgrind analysis by Sven Engelhardt. Thanks! -Now, nearly all socket information is passed around the daemon in -listen_socket_t data structures. In case there is other per-socket state -(i.e. if we add authentication) we can put it there. +2008-08-27 21:18 oetiker -Also, I created a new "open_listen_socket_network" and removed the network -setup from "open_listen_socket". -- kevin + * src/rrd_restore.c: fix indentation +2008-08-27 06:52 oetiker ------------------------------------------------------------------------- -r1546 | oetiker | 2008-09-29 21:56:10 +0200 | 6 lines + * configure.ac: added sparc-sun-solaris2.8 to list of broken + isfinite implementations -This patch provides better error messages to the client when something -goes wrong with the daemon. When possible, the daemon error message is -passed through to rrd_set_error() on the client. Prior to this patch, -most error conditions would result in "Internal error", which is not very -helpful. -- kevin brintnall +2008-08-22 22:04 oetiker ------------------------------------------------------------------------- -r1543 | oetiker | 2008-09-28 23:37:46 +0200 | 2 lines + * bindings/ruby/main.c: it is rb_rrd_infocall not rrd_infocall ... -spelling fix -- kevin +2008-08-16 07:13 oetiker ------------------------------------------------------------------------- -r1542 | oetiker | 2008-09-28 23:36:46 +0200 | 4 lines + * doc/rrdgraph.pod, src/rrd_graph.c: When in lazy mode, and the + graph does not get regenerated, then there are no results from + PRINT either. Fix for #163. -This patch removes an extra "SIGNALS" section in the rrdcached.pod and -merges "[BUG] fixed hang in flush_file() introduced by per-file flush -condition". -- kevin brintnall +2008-08-16 07:11 oetiker ------------------------------------------------------------------------- -r1541 | oetiker | 2008-09-28 21:27:45 +0200 | 3 lines + * bindings/perl-shared/RRDs.pm: documentation updates -a few missing {{{ folding }}} markers added --- kevin brintnall +2008-08-12 06:48 oetiker ------------------------------------------------------------------------- -r1540 | oetiker | 2008-09-28 21:26:39 +0200 | 3 lines + * src/rrd_graph.c: make sure imageinfo only reports the filename and + not the whole path. This is a regression from 1.2.x where this was + implemented properly. -This patch introduces "fast shutdown" mode and two new signals. --- kevin brintnall +2008-08-04 20:35 oetiker ------------------------------------------------------------------------- -r1539 | oetiker | 2008-09-28 21:25:40 +0200 | 4 lines + * src/rrd_gfx.c: The attached patch converts the given string to + UTF-8 using glib's g_locale_to_utf8() function. This function + expects the string to be encoded as specified by the locale + settings, so this will fail if e.g. you're using some script which + is encoded in some way incompatible to the locale settings. In + this case, the patch falls back to use the original string as + provided by the user as there is no way to tell how to interpret + that string. So, in this case, you will still get the old behavior + (that pango warning and messed up strings in the graph). However, + imho this is perfectly fine since it should be up to the user to + take care of a sane environment. -- Sebastian Harl -Moved signal handler setup out of daemonize(). Coalesced common code -in preparation for new signals. Documented behavior of existing signals. --- kevin brintnall +2008-07-29 14:42 oetiker ------------------------------------------------------------------------- -r1537 | oetiker | 2008-09-28 21:23:23 +0200 | 9 lines + * bindings/perl-shared/RRDs.xs: newer perlapi docu suggests to use + SV * instead of void for managed returns -Attached is a patch to lower the version requirements of libtool and -automake. I have tested this on CentOS 4.x with the specified -versions of libtool and automake and was able to build RRDTool fine. -I did *not* test building with PHP, tcl, ruby or Python though. +2008-07-29 05:08 oetiker -I also abstracted the version numbers of all the dependencies such -that editing them in the future will be easier. --- Bernard Li + * src/rrd_gfx.c, src/rrd_hw_update.c: fixed some c++ style lines -- + David Masterson ------------------------------------------------------------------------- -r1535 | oetiker | 2008-09-28 21:12:22 +0200 | 2 lines +2008-07-28 07:23 oetiker -added support for FLUSHALL command -- kevin brintnall + * doc/rrdgraph_data.pod: spelling fix ------------------------------------------------------------------------- -r1534 | oetiker | 2008-09-28 21:10:57 +0200 | 1 line +2008-07-23 15:03 oetiker -move cache broadcast into enqueue_cache_item -- kevin brintnall ------------------------------------------------------------------------- -r1533 | oetiker | 2008-09-28 21:10:15 +0200 | 6 lines + * src/rrd_restore.c: forward ported patch for rra cur_row + randomization in rrd_restore from 1.2.28 to 1.3.1 -When -z is specified, some updates may be timestamped up to - seconcds in the future. Therefore, a timeout of now+1 may not be -sufficient. Set abs_timeout past the point where any updates are -currently specified. -- kevin brintnall +2008-07-23 13:02 oetiker + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3.1 ------------------------------------------------------------------------- -r1532 | oetiker | 2008-09-28 21:09:34 +0200 | 15 lines +2008-07-23 12:45 oetiker -The PID file is created with open() in the parent process, while we still -have STDERR open. If it cannot be created, it complains verbosely to -stderr. + * src/rrd_restore.c: added support for restoring rrdtool 1.0.x files + ... removed support for old HW patched rrd format created by an + early patched version of 1.0.x -The PID file is written in the child process. The only way the fdopen() -will fail on a fd that is already open is if you're completely out of -memory. As in other places in the code, I didn't consider this a case -that required a very verbose message. (Search for "strdup failed"). If -you still think a more verbose message is called for, please suggest one. +2008-07-22 15:15 oetiker -The attached patch corrects the error message to complain about fdopen() -vs fopen(). I hadn't noticed that until you brought it up. + * branches/1.2/program/src/rrd_create.c, src/rrd_create.c: Fix for + #167 - rrdcreate is arguably missing a check for 'step>=1' for + RRAs with AVERAGE as a CF. I ran into this when specifying 0.6 as + a step value, assuming floats were also accepted. Patch attached + here. -- Bogdan --- kevin brintnall +2008-07-01 06:35 oetiker ------------------------------------------------------------------------- -r1531 | oetiker | 2008-09-28 21:08:41 +0200 | 2 lines + * doc/rrdbuild.pod: header-fix - rrd.h, librrd.sym: Define and export rrd_info_r() -- Sebastian Harl +2008-07-01 06:34 oetiker ------------------------------------------------------------------------- -r1530 | oetiker | 2008-09-28 17:01:43 +0200 | 7 lines + * doc/rrdbuild.pod: improve layout -vdef calc was using end_orig to determine for which range it should do its -calculations which is odd, since orig is only the requested range as -invocation time and not the data range deliverd by fetch. It does fall -completely flat when shifting since shifting does not affect the original -data. Bug #177 reported by hokiel +2008-06-29 16:23 oetiker + * src/rrd_update.c: added rrd filename to illegal update message -- + he at uninett.no ------------------------------------------------------------------------- -r1529 | oetiker | 2008-09-27 13:44:58 +0200 | 2 lines +2008-06-29 14:08 oetiker -rrdxport was completely broken for exporting datasources that did not have a uniform step size. Thanks to Peter Valdemar Mørch for finding this. + * rrdtool.spec: rrdtool.spec fix by Anton Blanchard to build without + php patch ------------------------------------------------------------------------- -r1528 | oetiker | 2008-09-26 07:11:32 +0200 | 2 lines +2008-06-29 13:57 oetiker -create the pid file before forking, so we can complain to stderr -- kevin brintnall + * doc/rrdgraph.pod, src/rrd_graph.c: make sure image-with and + image-height get returned even when rrdtool is called with --lazy + as reported in bug #163 ------------------------------------------------------------------------- -r1527 | oetiker | 2008-09-26 07:10:25 +0200 | 8 lines +2008-06-19 13:18 oetiker -This patch ensures that the "FLUSH" command will write the updates out to -RRD before returning to the user. Before, it returned when the update was -"dequeued"; updates were not necessarily on disk. + * branches/1.2/program/bindings/python/rrdtoolmodule.c, + bindings/python/rrdtoolmodule.c: rrdtool.fetch is returning an + extra, bogus, data point. Attached is a patch to correct this. - + Gilad Raphaelli. Fix for #161 -Also, for new nodes, the cache_lock is not held while we are setting up -the new node. We don't want to be holding the lock if the stat() blocks. --- kevin brintnal +2008-06-12 13:54 oetiker ------------------------------------------------------------------------- -r1526 | oetiker | 2008-09-25 23:07:35 +0200 | 2 lines + * doc/rrdgraph_graph.pod: added note on %S -Use the same IPv6/IPv4 as for the client as Florian did for the server -- kevin brintnall +2008-06-11 15:49 oetiker ------------------------------------------------------------------------- -r1525 | oetiker | 2008-09-25 22:31:29 +0200 | 10 lines + * NEWS: made news the same as the announcement -This fixes a couple problems when exiting due to signal: +2008-06-10 23:12 oetiker - * connection threads exit without closing client socket - (so client blocks waiting for response that never comes) + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + doc/rrdbuild.pod, doc/rrdcreate.pod, doc/rrdgraph.pod, + doc/rrdgraph_graph.pod, rrdtool.spec, src/pngsize.c, src/rrd.h, + src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3.0 - * listen_queue_thread blocks on poll() until a new connection comes in - (because no poll timeout specified) +2008-06-10 16:38 oetiker --- kevin brintnall + * configure.ac: oops it is 1.3.0 not 1.4.0 yet ------------------------------------------------------------------------- -r1524 | oetiker | 2008-09-25 22:11:43 +0200 | 2 lines +2008-06-10 16:37 oetiker -set SO_REUSEADDR on the listen socket -- kevin brintnall + * 00README, CONTRIBUTORS, PROJECTS, TODO, configure.ac, + rrdtool-1.3-release: preparing for 1.3 ------------------------------------------------------------------------- -r1523 | oetiker | 2008-09-25 22:10:17 +0200 | 17 lines +2008-06-10 16:32 oetiker -Support for IPv6 has been broken with revision 1522: Because IPv6-addresses -contain colons, simply checking for a colon and using everything after it does -destroy correctly formatted IPv6-addresses. + * src/Makefile.am, src/rrd.h, src/rrd_format.h, src/rrd_hw_math.c, + src/rrd_hw_update.c, src/rrd_tool.h: document the 'internal' + functions in rrd.h but mark them as deprecated, so that anyone + using them will see that they should not be doing it. -This patch checks for dots '.' in the address. If the address contains at least -one dot, it is considered to be a hostname or an IPv4-address and a simple -search for a colon is done. +2008-06-10 11:16 oetiker -If no dot is found, the code will check for an opening square bracket '[' at -the beginning of the address. If one if found, the format - [address]:port -is assumed. + * src/rrd_create.c: flip check for row_count with setting for better + code logic -If neither applies, the default port will be used. --- Florian Forster +2008-06-10 09:35 oetiker + * doc/rrdcreate.pod, src/rrd_create.c: check row count in RRAs to be + > 0 ... by Sebastian Harl ------------------------------------------------------------------------- -r1522 | oetiker | 2008-09-25 17:25:51 +0200 | 4 lines +2008-06-10 07:18 oetiker -This adds support for
: in the rrd client library. -Obviously this is required to take advantage of the server's ability to -bind to a non-standard port -- kevin brintnall + * src/rrd_create.c, src/rrd_open.c: for windows we must open files + in O_BINARY mode ------------------------------------------------------------------------- -r1521 | oetiker | 2008-09-25 00:21:21 +0200 | 2 lines +2008-06-09 16:10 oetiker -Allow ports to be specified with -l addr:port also. -- kevin brintnall + * src/rrd.h, src/rrd_tool.h: do NOT export lowlevel functions, since + I have no intention supporting these interfaces across versions. + The symbols are in the library, so if someone WANTS to code to + them, they are free todo so, but they will have to use our + internal header files. ------------------------------------------------------------------------- -r1520 | oetiker | 2008-09-25 00:07:33 +0200 | 2 lines +2008-06-09 15:49 oetiker -the rrdlua.pod is in the doc directory + * src/librrd.sym, src/rrd.h, src/rrd_tool.h: add all lowlevel file + access functions from the rrd_open interface to the export list. ------------------------------------------------------------------------- -r1519 | oetiker | 2008-09-24 08:04:26 +0200 | 2 lines +2008-06-09 05:12 oetiker -added section on error reporting -- Florian Forster + * bindings/python/rrdtoolmodule.c, src/pngsize.c, src/rrd.h, + src/rrd_error.c, src/rrd_graph.h, src/rrd_info.c, src/rrd_open.c, + src/rrd_parsetime.c, src/rrd_tool.c, src/rrd_update.c: fixed + indenting ------------------------------------------------------------------------- -r1517 | oetiker | 2008-09-22 08:35:26 +0200 | 3 lines +2008-06-09 05:11 oetiker -I finally finished the first version of the patch (attached) -- Fidelis Assis fidelis pobox.com -(this does not seem to quite work yet at least not in my hardy setup) + * rrdtool.spec: update to rpm spec from Jarod Wilson ------------------------------------------------------------------------- -r1515 | oetiker | 2008-09-22 07:38:28 +0200 | 2 lines +2008-06-08 21:15 oetiker -use default prefix for ruby install if no user defined prefix is available + * src/librrd.sym: export some more symbols from librrd ------------------------------------------------------------------------- -r1513 | oetiker | 2008-09-19 22:34:42 +0200 | 2 lines +2008-06-08 21:06 oetiker -Bsd lirary path switch added to perl bindings makefile -- as suggested by Kevin Brintnall + * win32/config.h: windows should use a windows font + +2008-06-08 21:05 oetiker + + * src/rrd_graph.c: drop special case windows font code ... it makes + no sense with the new setup + +2008-06-08 17:08 oetiker + + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc9 + +2008-06-08 17:08 oetiker + + * src/rrd_gfx.c, src/rrd_graph.c: fixed pango markup switch ... we + still want the text to show even if no markup is enabled + +2008-06-08 16:47 oetiker + + * bindings/python/rrdtoolmodule.c, bindings/ruby/main.c, + src/librrd.sym: rrd_freemem has to be exported as well ... ------------------------------------------------------------------------- -r1512 | oetiker | 2008-09-18 15:30:48 +0200 | 3 lines +2008-06-08 16:23 oetiker -Fix for debian bug 498183 ... never *advise after the end of the -file. On sparc this causes a segfault. Thanks to Sebastian Harl and Jurij Smakov for finding this. + * branches/1.2/program/src/pngsize.c, src/pngsize.c: fix for ticket + #121 jmpbuf on aix is a problem it seems, maybe this makes it + better. ------------------------------------------------------------------------- -r1507 | oetiker | 2008-09-14 17:30:43 +0200 | 2 lines +2008-06-08 15:59 oetiker -fix RRDCacheD documentation -- Florian Forster + * src/Makefile.am: prepare for the release of rrdtool-1.3rc8 ------------------------------------------------------------------------- -r1506 | oetiker | 2008-09-14 17:28:34 +0200 | 13 lines +2008-06-08 15:55 oetiker -The previous code was broken: The response was read using `read(2)'. If -the server wasn't sending fast enough, the client would stop reading -before the entire message had been read. + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc8 -This patch changes the communication code to use the (line based) -`fgets' function rather than the lower level `read' function. After -reading the first line (which contains the total number of line to be -expected), this precise number of lines is read - blocking if necessary. +2008-06-08 15:55 oetiker -Also, the missing four new statistic values have been added to -`rrdc_stats_get'. ---Folorian Forester + * bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c, + bindings/ruby/main.c, bindings/tcl/tclrrd.c, doc/rrdthreads.pod, + netware/Makefile, src/Makefile.am, src/librrd.sym, + src/parsetime.c, src/parsetime.h, src/rrd.h, src/rrd_cgi.c, + src/rrd_create.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c, + src/rrd_info.c, src/rrd_nan_inf.c, src/rrd_not_thread_safe.c, + src/rrd_open.c, src/rrd_parsetime.c, src/rrd_parsetime.h, + src/rrd_resize.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, + src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c, src/rrd_xport.c, + win32/rrd.dsp, win32/rrd.vcproj: From: Sebastian Harl sh + tokkee.org Date: Sun, 8 Jun 2008 15:01:05 +0200 Subject: [PATCH] + Cleanup the symbols exported by librrd. Up to know librrd exported + a lot of symbols, most of which are to be regarded as private + symbols. This somewhat pollutes the API as the symbols could, in + theory, be used by external software and, more importantly, makes + symbol based dependencies (as recently introduced in e.g. Debian) + somewhat harder to implement. This patch does a somewhat + large-scale cleanup of the exported symbols: * Introduced a + librrd.sym file which contains all symbols that are to be + exported. This file is then passed to libtool using the + -export-symbols option which tells the linker to export the given + symbols only (note: according to the libtool manual, this has no + effect on some architectures - however, I assume that most + architectures in use today do support it). librrd.sym contains all + symbols originally defined in rrd.h sans LockRRD() (which has been + moved to rrd_tool.h). The following functions have been added to + rrd.h and the list of exported symbols (some of them have been + renamed, see below): - rrd_info() - rrd_info_free() - + rrd_info_print() - rrd_info_push() - rrd_lastupdate() - + rrd_update_v() - rrd_strerror() * Prefixed all public functions + and types with "rrd_" to avoid name clashes with other libraries. + Also, while I was at it, I introduced typedefs for all custom + types and prefixed the time names with "_t" to improve + consistency: - enum info_type -> rrd_info_type_t - enum timetype + -> rrd_timetype_t - union infoval -> rrd_infoval_t - struct info_t + -> rrd_info_t - struct rrd_context -> rrd_context_t - struct + rrd_time_value -> rrd_time_value_t - info_free() -> + rrd_info_free() - info_free() -> rrd_info_free() - info_print() -> + rrd_info_print() - info_push() -> rrd_info_push() - LockRRD() -> + rrd_lock() (not public though) - parsetime() -> rrd_parsetime() + (and: src/parsetime.c -> src/rrd_parsetime.c) - proc_start_end() + -> rrd_proc_start_end() - set_to_DINF() -> rrd_set_to_DINF() - + set_to_DNAN() -> rrd_set_to_DNAN() * Moved readfile() from + rrd_open.c to rrd_cgi.c and declared it static. This function is + used in rrd_cgi.c only. * rrd_lock() (f.k.a. LockRRD()) now + accepts a rrd_file_t pointer instead of an integer to increase + encapsulation. + +2008-06-07 14:35 oetiker + + * src/rrd_open.c: don't bother with don't need when there is neither + madvise not fadvise calls ------------------------------------------------------------------------- -r1505 | oetiker | 2008-09-14 12:35:51 +0200 | 2 lines +2008-06-06 16:38 oetiker -did not pick up all the changes for rrdcached in the first round ... so here is the second batch. + * branches/1.2/program/src/rrd_graph.c, src/rrd_graph.c: fix for + --font bug (font names wer not being picked up at all). Bug + reported by Dmitry B. Bigunayk ------------------------------------------------------------------------- -r1504 | oetiker | 2008-09-14 11:49:03 +0200 | 4 lines +2008-06-05 20:56 oetiker -RRDcached patch. This implements an infrastructure, where rrd updates can be -sent to a daemon which caches them prior to bulk-updateing rrd files. See the rrdcached manual page. --- Created by Florian Forster with some help from Kevin Brintnall. + * NEWS: added pango markup name ------------------------------------------------------------------------- -r1502 | oetiker | 2008-09-13 13:42:08 +0200 | 7 lines +2008-06-05 19:59 oetiker -regarding #183: -* move part of rrd_config.h out to a separate file, so that - autoconf is not confused by the more complex expressions. -* fix configure variable name to allow caching -* another attemt at fixing solaris 2.8 compile so that it - works out of the box. + * src/rrd.h, src/rrd_error.c, src/rrd_format.h, src/rrd_gfx.c, + src/rrd_info.c, src/rrd_open.c, src/rrd_update.c: fixed indenting + +2008-06-05 19:59 oetiker + + * src/rrd_graph.c: disable pango markup by default. added + --pango-markup option for explicit enablement. + +2008-06-05 19:58 oetiker + + * doc/rrdgraph.pod, src/rrd_graph.h: disable pango markup by + default. added --pango-markup option for explicit enablement. + +2008-06-05 19:57 oetiker + + * bindings/python/rrdtoolmodule.c: fixed indenting + +2008-06-04 16:18 oetiker + + * bindings/tcl/Makefile.am, configure.ac: enable new building for + newer tcl versions + +2008-06-02 06:46 oetiker ------------------------------------------------------------------------- -r1501 | oetiker | 2008-09-13 12:56:40 +0200 | 2 lines + * configure.ac: updated documentation of library versioning system -fix graph docs +2008-06-02 06:43 oetiker ------------------------------------------------------------------------- -r1500 | oetiker | 2008-09-11 22:27:47 +0200 | 3 lines + * configure.ac: Had to reset the interface version number due to the + change in the rrd_context implementation. -fixed processing of custom fonts René GARCIA +2008-06-02 06:21 oetiker + + * src/rrd_restore.c: use DNAN instead of NAN since there seem to be + issues with gcc on solaris and the NAN experession (and we use + DNAN everywhere else anyway). + +2008-06-01 21:12 oetiker + + * doc/rrdbuild.pod: integrated gentoo bits and spell fixes by Peter + Volkov +2008-06-01 20:44 oetiker ------------------------------------------------------------------------- -r1499 | oetiker | 2008-09-11 09:01:30 +0200 | 2 lines + * src/rrd.h, src/rrd_error.c, src/rrd_not_thread_safe.c, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c: Patch for + rrd_context system by sebastian harl, making it simpler and less + error prone. Removing one buffer overflow in the process. -no , on the last member in C +2008-05-31 15:58 oetiker ------------------------------------------------------------------------- -r1488 | oetiker | 2008-09-07 09:19:03 +0200 | 5 lines + * doc/rrdbuild.pod: prepare for the release of rrdtool-1.3rc7 -The attached patch eliminates the many places where the rra_current pointer was maintained; the existing write/seek mechanisms update rrd_file->pos correctly. -Also, the seek at the front of process_arg is not necessary; write_to_rras will now take care to correct the file position at every update cycle. -This eliminates unnecessary rrd_seek() calls when MMAP is not enabled. -- kevin brintnall kbrint rufus.net +2008-05-31 15:57 oetiker + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc7 ------------------------------------------------------------------------- -r1484 | oetiker | 2008-09-06 16:24:43 +0200 | 1 line +2008-05-31 15:56 oetiker -prepare for the release of rrdtool-1.3.2 ------------------------------------------------------------------------- -r1483 | oetiker | 2008-09-06 13:46:41 +0200 | 2 lines + * doc/rrdbuild.pod: added pkgconfig build instructions -we need rrd_format.h here for things to compile properly +2008-05-31 12:28 oetiker ------------------------------------------------------------------------- -r1482 | oetiker | 2008-09-06 13:43:10 +0200 | 2 lines + * branches/1.2/program/src/rrd_graph.c, src/rrd_graph.c: make sure + vdef calcs only calc as far as originally requested. -updated opensolaris build instructions +2008-05-27 22:24 oetiker ------------------------------------------------------------------------- -r1481 | oetiker | 2008-09-06 12:43:07 +0200 | 4 lines + * src/rrd_info.c: fixed maxlength for sprintf_alloc 50 was not + enough ... 1024+strlen(fmt) is much better. This makes imginfo + work even when there are long image paths. -only link build and use rrd_getopt if there is no getopt_long provided by -by the os ... this should also fix problems for solaris 2.8 and other -non getopt_long oses who were not taken care of anymore after the intriduction of librrd.sym +2008-05-26 11:45 oetiker ------------------------------------------------------------------------- -r1480 | oetiker | 2008-09-06 12:39:29 +0200 | 1 line + * TODO: updated todo list -fix for multi update - data corruption bug as reported (and patched) in #178 by kevin brintnall ------------------------------------------------------------------------- -r1479 | oetiker | 2008-09-06 12:32:57 +0200 | 2 lines +2008-05-26 08:56 oetiker -make pod checker happy + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc6 ------------------------------------------------------------------------- -r1478 | oetiker | 2008-09-06 10:58:18 +0200 | 4 lines +2008-05-26 07:46 oetiker -inline functions are not supported in c99 ... lets remove this. -the compiler will foture it out if they are important. + * NEWS: added notes about new grid lines +2008-05-26 07:45 oetiker ------------------------------------------------------------------------- -r1477 | oetiker | 2008-09-04 23:45:44 +0200 | 2 lines + * src/rrd_graph.c: * make y-axis labels NOT run into each other + (classic and alt) * space horizontal grid lines and lables a bit + further apart for tight layouts. * let horizontal lines and y axis + labels run a little closer for classic grid -introduced a persistant fontmap ... this makes our pango rendering 6 times faster starting from the second graph we draw. +2008-05-25 21:17 oetiker ------------------------------------------------------------------------- -r1476 | oetiker | 2008-09-01 01:42:02 +0200 | 2 lines + * src/rrd_graph.c: fixed calculation of space at the bottom of the + graph -now the results actually look as they did with the old code only things are FASTER +2008-05-25 20:02 oetiker ------------------------------------------------------------------------- -r1475 | oetiker | 2008-09-01 00:53:49 +0200 | 3 lines + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc5 -Improve performance by keeping multiple pango font descriptions. For the first invocation we are about 20% times as fast -for the second one about 4-5 times faster ... +2008-05-25 20:00 oetiker ------------------------------------------------------------------------- -r1474 | oetiker | 2008-08-31 12:55:24 +0200 | 3 lines + * src/rrd_format.h, src/rrd_open.c, src/rrd_update.c: fix update + compatibility with rrd-1.0.x files -trying to improve the pango performance I added facilities to cache layout,context and more in between invocations of -the text function, unfortunately it does not seem to help all that much. +2008-05-20 22:22 oetiker ------------------------------------------------------------------------- -r1473 | oetiker | 2008-08-31 12:52:49 +0200 | 1 line + * bindings/Makefile.am: droped rrd_extra.h from the distro with the + python update ... must remove it from the Makefile too -use the standart info free function ------------------------------------------------------------------------- -r1471 | oetiker | 2008-08-28 07:49:02 +0200 | 2 lines +2008-05-19 21:14 oetiker -fix handling of error conditions in rrd_tool.c ... errno is not for detection, only for information AFTER detection. + * NEWS, bindings/python/README, bindings/python/rrd_extra.h, + bindings/python/rrdtoolmodule.c, doc/rrdpython.pod: fixed python + bindings: * info call isnnow aequivalent to rrdtool info (the same + as in the perl and ruby bindings) * graphv and updatev calls added ------------------------------------------------------------------------- -r1470 | oetiker | 2008-08-28 06:13:39 +0200 | 2 lines +2008-05-18 22:11 oetiker -free the linebuffer if you don't return it! + * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_tool.c: * document + tabwidth option * fix \t -> tab expansion ------------------------------------------------------------------------- -r1469 | oetiker | 2008-08-28 00:06:43 +0200 | 2 lines +2008-05-18 15:39 oetiker -some more leak plugging + * src/rrd_graph.c: ytr boundery checking ... this is from the GD + days ... we don't need this anymore ------------------------------------------------------------------------- -r1468 | oetiker | 2008-08-27 23:48:50 +0200 | 2 lines +2008-05-18 15:11 oetiker -drop the dummy surface prior to creating the real one + * src/rrd_dump.c, src/rrd_tool.c: fix indenting ------------------------------------------------------------------------- -r1467 | oetiker | 2008-08-27 23:46:01 +0200 | 2 lines +2008-05-18 15:11 oetiker -added some freeing for error conditions + * src/rrd_graph.c: pdf, svg and ps formats were not being created ------------------------------------------------------------------------- -r1466 | oetiker | 2008-08-27 23:25:43 +0200 | 2 lines +2008-05-18 13:06 oetiker -fixed indentation ... gnu indent results are not realy beautifl. I might switch to uncrustify. + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool-1.3-release, rrdtool.spec, + src/pngsize.c, src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, + src/rrd_datalang.c, src/rrd_diff.c, src/rrd_dump.c, + src/rrd_error.c, src/rrd_fetch.c, src/rrd_first.c, + src/rrd_format.c, src/rrd_format.h, src/rrd_gfx.c, + src/rrd_graph.c, src/rrd_graph_helper.c, src/rrd_hw.c, + src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc4 ------------------------------------------------------------------------- -r1465 | oetiker | 2008-08-27 23:25:04 +0200 | 2 lines +2008-05-18 13:04 oetiker -Many rrd_create memory leaks patched ... based on valgrind analysis by Sven Engelhardt. Thanks! + * src/rrd_tool.c, src/rrdupdate.c: fix year ------------------------------------------------------------------------- -r1464 | oetiker | 2008-08-27 23:18:46 +0200 | 2 lines +2008-05-18 12:53 oetiker -fix indentation + * src/rrd_graph.c: PRINT returns from rrd_graph did not work due to + an off by one error ------------------------------------------------------------------------- -r1463 | oetiker | 2008-08-27 08:52:33 +0200 | 3 lines +2008-05-18 08:42 oetiker -added sparc-sun-solaris2.8 to list of broken isfinite implementations + * doc/rrdbuild.pod: updated build instructions to latest libraries +2008-05-18 06:37 oetiker ------------------------------------------------------------------------- -r1462 | oetiker | 2008-08-23 00:04:37 +0200 | 2 lines + * NEWS, configure.ac, src/rrd_i18n.h, src/rrd_tool.c: improved + handling of libintl issues -it is rb_rrd_infocall not rrd_infocall ... +2008-05-16 12:29 oetiker ------------------------------------------------------------------------- -r1461 | oetiker | 2008-08-16 09:13:01 +0200 | 5 lines + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc3 -When in lazy mode, and the graph does not get regenerated, then there are no -results from PRINT either. Fix for #163. +2008-05-16 12:28 oetiker + * doc/rrddump.pod, src/rrd_dump.c: added --no-header to + documentation and fixed implementation +2008-05-16 12:20 oetiker ------------------------------------------------------------------------- -r1460 | oetiker | 2008-08-16 09:11:46 +0200 | 1 line + * src/rrd_dump.c: fixed dump_opt implementation -documentation updates ------------------------------------------------------------------------- -r1459 | oetiker | 2008-08-12 08:48:37 +0200 | 2 lines +2008-05-16 12:18 oetiker -make sure imageinfo only reports the filename and not the whole path. This is a regression from 1.2.x where this was implemented properly. + * NEWS, src/rrd_dump.c: added no-header option to rrd_dump ------------------------------------------------------------------------- -r1457 | oetiker | 2008-08-04 22:35:45 +0200 | 12 lines +2008-05-16 12:07 oetiker -The attached patch converts the given string to UTF-8 using glib's -g_locale_to_utf8() function. This function expects the string to be -encoded as specified by the locale settings, so this will fail if e.g. -you're using some script which is encoded in some way incompatible to -the locale settings. In this case, the patch falls back to use the -original string as provided by the user as there is no way to tell how -to interpret that string. So, in this case, you will still get the old -behavior (that pango warning and messed up strings in the graph). -However, imho this is perfectly fine since it should be up to the user -to take care of a sane environment. -- Sebastian Harl + * src/rrd_graph.c: fix handling of values <= zero for logarithmic + display +2008-05-15 22:39 oetiker ------------------------------------------------------------------------- -r1456 | oetiker | 2008-07-29 16:42:08 +0200 | 2 lines + * rrdtool-1.3-release: prepare for the release of rrdtool-1.3rc2 -newer perlapi docu suggests to use SV * instead of void for managed returns +2008-05-15 22:39 oetiker ------------------------------------------------------------------------- -r1455 | oetiker | 2008-07-29 07:08:46 +0200 | 2 lines + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of rrdtool-1.3rc2 -fixed some c++ style lines -- David Masterson +2008-05-15 22:37 oetiker ------------------------------------------------------------------------- -r1454 | oetiker | 2008-07-28 09:23:15 +0200 | 2 lines + * Makefile.am, configure.ac, rrdtool-1.3-release, src/Makefile.am: + fix portability to mac osx and freebsd -- tobi -spelling fix +2008-05-12 23:10 oetiker ------------------------------------------------------------------------- -r1453 | oetiker | 2008-07-23 17:03:43 +0200 | 3 lines + * configure.ac: add solaris pod2man location last -forward ported patch for rra cur_row randomization in rrd_restore from 1.2.28 to 1.3.1 +2008-05-12 23:03 oetiker + * configure.ac, doc/Makefile.am, doc/rrdbuild.pod: some changes to + make things work on opensolaris 2008.05 ------------------------------------------------------------------------- -r1447 | oetiker | 2008-07-23 15:02:26 +0200 | 1 line +2008-05-12 22:42 oetiker -prepare for the release of rrdtool-1.3.1 ------------------------------------------------------------------------- -r1446 | oetiker | 2008-07-23 14:45:52 +0200 | 3 lines + * bindings/tcl/Makefile.am: for some reason tclrrd.c does not get + picked up using $< at least on opensolaris -added support for restoring rrdtool 1.0.x files ... removed support for old HW patched rrd format created by an early patched version of 1.0.x +2008-05-12 22:23 oetiker + * src/Makefile.am, src/rrd_graph.h, src/rrd_info.c, + src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_tool.c: allow + rrd_rpncalc to build without cairo dependencies ... fix warnings ------------------------------------------------------------------------- -r1445 | oetiker | 2008-07-22 17:15:44 +0200 | 2 lines +2008-05-12 21:14 oetiker -Fix for #167 - rrdcreate is arguably missing a check for 'step>=1' for RRAs with AVERAGE as a CF. I ran into this when specifying 0.6 as a step value, assuming floats were also accepted. Patch attached here. -- Bogdan + * Makefile.am: add intltool*in files to dist ------------------------------------------------------------------------- -r1444 | oetiker | 2008-07-01 08:35:54 +0200 | 1 line +2008-05-12 16:15 oetiker -header-fix ------------------------------------------------------------------------- -r1443 | oetiker | 2008-07-01 08:34:24 +0200 | 2 lines + * bindings/python/rrdtoolmodule.c, src/rrd_update.c: fixed indenting -improve layout +2008-05-12 16:15 oetiker ------------------------------------------------------------------------- -r1441 | oetiker | 2008-06-29 18:23:50 +0200 | 2 lines + * src/rrd_graph.c, src/rrd_hw.c, src/rrd_open.c, src/rrd_rpncalc.c, + src/win32comp.c: removed c++ comments // -added rrd filename to illegal update message -- he at uninett.no +2008-05-12 16:09 oetiker ------------------------------------------------------------------------- -r1440 | oetiker | 2008-06-29 16:08:51 +0200 | 2 lines + * NEWS: added notes about rewrites in this release -rrdtool.spec fix by Anton Blanchard to build without php patch +2008-05-12 16:08 oetiker ------------------------------------------------------------------------- -r1439 | oetiker | 2008-06-29 15:57:00 +0200 | 2 lines + * configure.ac, src/Makefile.am: improved handling of library + versioning -make sure image-with and image-height get returned even when rrdtool is called with --lazy as reported in bug #163 +2008-05-12 15:35 oetiker ------------------------------------------------------------------------- -r1436 | oetiker | 2008-06-19 15:18:04 +0200 | 3 lines + * src/rrd_update.c: should not leave debug enabled -rrdtool.fetch is returning an extra, bogus, data point. Attached is a -patch to correct this. - Gilad Raphaelli. Fix for #161 +2008-05-12 15:33 oetiker ------------------------------------------------------------------------- -r1435 | oetiker | 2008-06-12 15:54:23 +0200 | 2 lines + * branches/1.2/program/doc/rrdcreate.pod, + branches/1.2/program/src/rrd_update.c, doc/rrdcreate.pod, + src/rrd_update.c: Fixed handling of unknown data at PDP build + time. There was a long standing (even documented) missfeature in + rrdtool which caused uknown-data to be accepted as long as it was + less than the mrhb. This was never the intended behaviour and had + interesting side effects + (http://oss.oetiker.ch/rrdtool-trac/ticket/125): If you have a 60 + Second step with 59s unknown data and 1 second of known data the + whole become known data as long as the mrhb was > step. The + intended behaviour was that a step should become unknown as soon + as it contains more than 50% of unknown data. The patch fixes both + the documentation and the code. -added note on %S +2008-05-12 13:22 oetiker ------------------------------------------------------------------------- -r1434 | oetiker | 2008-06-11 17:49:24 +0200 | 2 lines + * src/rrd_create.c: the last_ds value fuer unknown is 'U' and not + 'UNKN' -made news the same as the announcement +2008-05-04 18:59 oetiker ------------------------------------------------------------------------- -r1432 | oetiker | 2008-06-11 01:12:55 +0200 | 1 line + * src/rrd_getopt.c, src/rrd_getopt1.c: fix for sun sudio 11 + incompatibility + http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=38555 -prepare for the release of rrdtool-1.3.0 ------------------------------------------------------------------------- -r1428 | oetiker | 2008-06-10 18:38:10 +0200 | 2 lines +2008-05-01 23:23 oetiker -oops it is 1.3.0 not 1.4.0 yet + * bindings/ruby/main.c, src/rrd.h, src/rrd_info.c, src/rrd_tool.c: + indenting fixes ------------------------------------------------------------------------- -r1427 | oetiker | 2008-06-10 18:37:39 +0200 | 2 lines +2008-05-01 23:23 oetiker -preparing for 1.3 + * src/rrd_graph.c: make sure properties are shown via graph_v even + in --graph-only mode ------------------------------------------------------------------------- -r1426 | oetiker | 2008-06-10 18:32:34 +0200 | 4 lines +2008-05-01 06:56 oetiker -document the 'internal' functions in rrd.h but mark them as deprecated, so -that anyone using them will see that they should not be doing it. + * MakeMakefile: Make the MakeMakefile script a bit more robust +2008-04-22 21:40 oetiker ------------------------------------------------------------------------- -r1425 | oetiker | 2008-06-10 13:16:40 +0200 | 2 lines + * bindings/python/rrd_extra.h, bindings/python/rrdtoolmodule.c: fix + for #148 -flip check for row_count with setting for better code logic +2008-04-20 22:46 oetiker ------------------------------------------------------------------------- -r1424 | oetiker | 2008-06-10 11:35:03 +0200 | 2 lines + * CONTRIBUTORS, NEWS, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.xs, bindings/ruby/main.c, + doc/rrdgraph.pod, src/rrd.h, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_info.c, src/rrd_tool.c, src/rrd_tool.h: Introduced a + alternated interface to rrd_graph using rrd_info style return + values: rrd_graph_v The graph_v interface returnes additional + information about the graph including the location of the graphing + area within the image. When called with '-' as filename it will + even return the image data. The new interface is supported in the + rrdtool command line, RRDs perl and ruby bindings. -check row count in RRAs to be > 0 ... by Sebastian Harl +2008-04-17 05:35 oetiker ------------------------------------------------------------------------- -r1423 | oetiker | 2008-06-10 09:18:02 +0200 | 2 lines + * src/rrd_update.c: indent fix -for windows we must open files in O_BINARY mode +2008-04-17 05:35 oetiker ------------------------------------------------------------------------- -r1421 | oetiker | 2008-06-09 18:10:39 +0200 | 6 lines + * src/rrd_tune.c: do not reset the last_ds store unless the data + source type is actually changed. -do NOT export lowlevel functions, since I have no intention supporting these -interfaces across versions. The symbols are in the library, so if someone -WANTS to code to them, they are free todo so, but they will have to use our -internal header files. +2008-04-16 15:50 oetiker + * branches/1.2/program/doc/rrdgraph.pod, doc/rrdgraph.pod: fixed 2. + x-grid example ... since the lable is valid for the whole day, it + must be 86400 wide. --tobi ------------------------------------------------------------------------- -r1420 | oetiker | 2008-06-09 17:49:54 +0200 | 2 lines +2008-04-12 09:29 oetiker -add all lowlevel file access functions from the rrd_open interface to the export list. + * MakeMakefile, configure.ac: alter order of header inclusion for + FreeBSD 4.8 compatibility ------------------------------------------------------------------------- -r1419 | oetiker | 2008-06-09 07:12:27 +0200 | 2 lines +2008-04-12 09:21 oetiker -fixed indenting + * branches/1.2/program/src/parsetime.c, src/parsetime.c: do not mess + with dst status after running localtime, the system gets confused + otherwhise when it comes to times during the switch over periode + as DST changes to non DST. -- tobi ------------------------------------------------------------------------- -r1418 | oetiker | 2008-06-09 07:11:39 +0200 | 1 line +2008-03-25 23:02 oetiker -update to rpm spec from Jarod Wilson ------------------------------------------------------------------------- -r1417 | oetiker | 2008-06-08 23:15:32 +0200 | 2 lines + * src/rrd_dump.c: added missing " escapes to xml header in + rrd_tool.c -export some more symbols from librrd +2008-03-25 22:59 oetiker ------------------------------------------------------------------------- -r1416 | oetiker | 2008-06-08 23:06:35 +0200 | 2 lines + * CONTRIBUTORS: added Florian octo Forster to contrib list -windows should use a windows font +2008-03-25 22:59 oetiker ------------------------------------------------------------------------- -r1415 | oetiker | 2008-06-08 23:05:50 +0200 | 2 lines + * doc/rrdgraph_examples.pod: added missing =back for propper pod + syntax -drop special case windows font code ... it makes no sense with the new setup +2008-03-25 22:58 oetiker ------------------------------------------------------------------------- -r1413 | oetiker | 2008-06-08 19:08:47 +0200 | 1 line + * src/rrd_dump.c: fix indent -prepare for the release of rrdtool-1.3rc9 ------------------------------------------------------------------------- -r1412 | oetiker | 2008-06-08 19:08:11 +0200 | 2 lines +2008-03-25 22:58 oetiker -fixed pango markup switch ... we still want the text to show even if no markup is enabled + * src/rrd_restore.c: fix broken header comment section -- Florian + octo Forster ------------------------------------------------------------------------- -r1411 | oetiker | 2008-06-08 18:47:22 +0200 | 2 lines +2008-03-25 22:57 oetiker -rrd_freemem has to be exported as well ... + * src/rrd_graph.c: cast size_t to int to avoid warning -- Florian + octo Forster ------------------------------------------------------------------------- -r1409 | oetiker | 2008-06-08 18:23:39 +0200 | 2 lines +2008-03-25 22:56 oetiker -fix for ticket #121 jmpbuf on aix is a problem it seems, maybe this makes it better. + * src/rrd_open.c: do not declare DEBUG functions unless compiled in + DEBUG mode -- Florian octo Forster ------------------------------------------------------------------------- -r1407 | oetiker | 2008-06-08 17:59:20 +0200 | 1 line +2008-03-25 22:55 oetiker -prepare for the release of rrdtool-1.3rc8 ------------------------------------------------------------------------- -r1406 | oetiker | 2008-06-08 17:55:54 +0200 | 1 line + * src/rrd_tool.c: make helptexts read only memory -prepare for the release of rrdtool-1.3rc8 ------------------------------------------------------------------------- -r1405 | oetiker | 2008-06-08 17:55:09 +0200 | 62 lines +2008-03-25 22:55 oetiker -From: Sebastian Harl sh tokkee.org -Date: Sun, 8 Jun 2008 15:01:05 +0200 -Subject: [PATCH] Cleanup the symbols exported by librrd. + * src/rrd_update.c: stop complaints about unused variables if not + running DEBUG -Up to know librrd exported a lot of symbols, most of which are to be -regarded as private symbols. This somewhat pollutes the API as the symbols -could, in theory, be used by external software and, more importantly, -makes symbol based dependencies (as recently introduced in e.g. Debian) -somewhat harder to implement. +2008-03-25 22:49 oetiker -This patch does a somewhat large-scale cleanup of the exported symbols: + * MakeMakefile: Added check for intltool version. Use Makefile for + cleanup. -- Florian octo Forster - * Introduced a librrd.sym file which contains all symbols that are to be - exported. This file is then passed to libtool using the -export-symbols - option which tells the linker to export the given symbols only (note: - according to the libtool manual, this has no effect on some - architectures - however, I assume that most architectures in use today - do support it). +2008-03-23 13:43 oetiker - librrd.sym contains all symbols originally defined in rrd.h sans - LockRRD() (which has been moved to rrd_tool.h). The following functions - have been added to rrd.h and the list of exported symbols (some of them - have been renamed, see below): - - rrd_info() - - rrd_info_free() - - rrd_info_print() - - rrd_info_push() - - rrd_lastupdate() - - rrd_update_v() - - rrd_strerror() + * src/rrd_dump.c: added pointer to florian forsters dtd to the rrd + dumpt - * Prefixed all public functions and types with "rrd_" to avoid name - clashes with other libraries. Also, while I was at it, I introduced - typedefs for all custom types and prefixed the time names with "_t" to - improve consistency: - - enum info_type -> rrd_info_type_t - - enum timetype -> rrd_timetype_t +2008-03-19 23:36 oetiker - - union infoval -> rrd_infoval_t + * configure.ac: fix pkgconfig file name - - struct info_t -> rrd_info_t - - struct rrd_context -> rrd_context_t - - struct rrd_time_value -> rrd_time_value_t +2008-03-15 10:39 oetiker - - info_free() -> rrd_info_free() - - info_free() -> rrd_info_free() - - info_print() -> rrd_info_print() - - info_push() -> rrd_info_push() - - LockRRD() -> rrd_lock() (not public though) - - parsetime() -> rrd_parsetime() - (and: src/parsetime.c -> src/rrd_parsetime.c) - - proc_start_end() -> rrd_proc_start_end() - - set_to_DINF() -> rrd_set_to_DINF() - - set_to_DNAN() -> rrd_set_to_DNAN() + * ., .indent.pro, 00README, CONTRIBUTORS, COPYING, COPYRIGHT, + MakeMakefile, Makefile.am, NEWS, PROJECTS, README, THREADS, TODO, + WIN32-BUILD-TIPS.txt, acinclude.m4, bindings, + bindings/Makefile.am, bindings/perl-piped, + bindings/perl-piped/MANIFEST, bindings/perl-piped/Makefile.PL, + bindings/perl-piped/README, bindings/perl-piped/RRDp.pm, + bindings/perl-piped/leaktest.pl, bindings/perl-piped/rrdpl.dsp, + bindings/perl-piped/rrdpl.dsw, bindings/perl-piped/t, + bindings/perl-piped/t/base.t, bindings/perl-shared, + bindings/perl-shared/MANIFEST, bindings/perl-shared/Makefile.PL, + bindings/perl-shared/README, bindings/perl-shared/RRDs.pm, + bindings/perl-shared/RRDs.ppd, bindings/perl-shared/RRDs.xs, + bindings/perl-shared/ntmake.pl, bindings/perl-shared/t, + bindings/perl-shared/t/base.t, bindings/python, + bindings/python/ACKNOWLEDGEMENT, bindings/python/AUTHORS, + bindings/python/COPYING, bindings/python/README, + bindings/python/rrd_extra.h, bindings/python/rrdtoolmodule.c, + bindings/python/setup.py, bindings/ruby, bindings/ruby/CHANGES, + bindings/ruby/README, bindings/ruby/extconf.rb, + bindings/ruby/main.c, bindings/ruby/test.rb, bindings/tcl, + bindings/tcl/Makefile.am, bindings/tcl/README, + bindings/tcl/ifOctets.tcl.in, bindings/tcl/tclrrd.c, configure.ac, + debian, debian/README.Debian, debian/build_freetype.sh, + debian/changelog, debian/control, debian/copyright, + debian/librrd0-dev.files, debian/librrd0.files, + debian/librrd0.postinst, debian/librrd0.postrm, + debian/librrd0.shlibs, debian/librrdp-perl.files, + debian/librrds-perl.files, debian/rrdtool-tcl.files, + debian/rrdtool.files, debian/rules, debian/watch, doc, + doc/Makefile.am, doc/bin_dec_hex.pod, doc/cdeftutorial.pod, + doc/name.inc, doc/rpntutorial.pod, doc/rrd-beginners.pod, + doc/rrdbuild.pod, doc/rrdcgi.pod, doc/rrdcreate.pod, + doc/rrddump.pod, doc/rrdfetch.pod, doc/rrdfirst.pod, + doc/rrdgraph-old.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod, + doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, + doc/rrdgraph_rpn.pod, doc/rrdinfo.pod, doc/rrdlast.pod, + doc/rrdlastupdate.pod, doc/rrdpython.pod, doc/rrdresize.pod, + doc/rrdrestore.pod, doc/rrdruby.pod, doc/rrdthreads.pod, + doc/rrdtool-dump.dtd, doc/rrdtool-xport.dtd, doc/rrdtool.pod, + doc/rrdtune.pod, doc/rrdtutorial.es.pod, doc/rrdtutorial.pod, + doc/rrdupdate.pod, doc/rrdxport.pod, examples, + examples/4charts.pl.in, examples/Makefile.am, + examples/bigtops.pl.in, examples/cgi-demo.cgi.in, + examples/minmax.pl.in, examples/perftest.pl.in, + examples/piped-demo.pl.in, examples/shared-demo.pl.in, + examples/stripes.pl.in, favicon.ico, netware, netware/Makefile, + po, po/ChangeLog, po/LINGUAS, po/POTFILES.in, po/de.po, + rrdtool-1.2-release, rrdtool-1.3-release, rrdtool.spec, src, + src/Makefile.am, src/compile_afm.pl, src/fnv.h, src/get_ver.awk, + src/hash_32.c, src/parsetime.c, src/parsetime.h, src/pngsize.c, + src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_getopt.c, src/rrd_getopt.h, src/rrd_getopt1.c, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, + src/rrd_hw_math.c, src/rrd_hw_math.h, src/rrd_hw_update.c, + src/rrd_hw_update.h, src/rrd_i18n.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_nan_inf.c, src/rrd_not_thread_safe.c, src/rrd_open.c, + src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, + src/rrd_rpncalc.h, src/rrd_thread_safe.c, + src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, + src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, + src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c, src/strftime.c, + src/strftime.h, src/unused.h, src/win32comp.c, svn2cl.xsl, win32, + win32/Makefile, win32/config.h, win32/rrd.dsp, win32/rrd.vcproj, + win32/rrd_config.h.msvc, win32/rrdtool.dsp, win32/rrdtool.dsw, + win32/rrdtool.vcproj: reindent aded id keyword substitution - * Moved readfile() from rrd_open.c to rrd_cgi.c and declared it static. - This function is used in rrd_cgi.c only. +2008-03-15 10:32 oetiker - * rrd_lock() (f.k.a. LockRRD()) now accepts a rrd_file_t pointer instead - of an integer to increase encapsulation. + * src/rrd_rpncalc.c: reat nan as FALSE in an IF CDEF +2008-03-07 08:57 oetiker ------------------------------------------------------------------------- -r1404 | oetiker | 2008-06-07 16:35:03 +0200 | 2 lines + * doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, src/rrd_rpncalc.h: a + nan-safe add operator (ADDNAN) into rrd. I used it to add several + incomplete graphs. NaN + NaN => NaN x + NaN => x NaN + y => y x + + y => x + y -- Timo Stripf tstripf gmx.de -don't bother with don't need when there is neither madvise not fadvise calls +2008-03-02 15:38 oetiker ------------------------------------------------------------------------- -r1403 | oetiker | 2008-06-06 18:38:25 +0200 | 2 lines + * src/rrd_graph.c: Fix error "cairo_restore without matching + cairo_save" when zero-time point is out of graph -fix for --font bug (font names wer not being picked up at all). Bug reported by Dmitry B. Bigunayk +2008-02-25 07:11 oetiker ------------------------------------------------------------------------- -r1402 | oetiker | 2008-06-05 22:56:24 +0200 | 2 lines + * branches/1.2/program/src/rrd_fetch.c, src/rrd_fetch.c: Ignore + RRA-end when comparing. coverage. -added pango markup name +2008-02-24 14:27 oetiker ------------------------------------------------------------------------- -r1401 | oetiker | 2008-06-05 21:59:18 +0200 | 2 lines + * src/rrd_create.c, src/rrd_graph_helper.c, src/rrd_i18n.h, + src/rrd_info.c, src/rrd_restore.c, src/rrd_tool.c: fix indents + gone out of kileter by patching ... -fixed indenting +2008-02-24 14:26 oetiker ------------------------------------------------------------------------- -r1400 | oetiker | 2008-06-05 21:59:01 +0200 | 1 line + * src/rrd_dump.c, src/rrd_tool.c: get rid of a few type cast + warnings -disable pango markup by default. added --pango-markup option for explicit enablement. ------------------------------------------------------------------------- -r1399 | oetiker | 2008-06-05 21:58:51 +0200 | 1 line +2008-02-24 14:26 oetiker -disable pango markup by default. added --pango-markup option for explicit enablement. ------------------------------------------------------------------------- -r1398 | oetiker | 2008-06-05 21:57:25 +0200 | 1 line + * src/rrd_restore.c: fix one segfault while trying to restore an + invalid xml file. -- tobi -fixed indenting ------------------------------------------------------------------------- -r1397 | oetiker | 2008-06-04 18:18:42 +0200 | 2 lines +2008-02-21 07:20 oetiker -enable new building for newer tcl versions + * configure.ac: make ruby obey destdir ------------------------------------------------------------------------- -r1396 | oetiker | 2008-06-02 08:46:57 +0200 | 2 lines +2008-02-21 07:18 oetiker -updated documentation of library versioning system + * po/ChangeLog: initial ------------------------------------------------------------------------- -r1395 | oetiker | 2008-06-02 08:43:43 +0200 | 3 lines +2008-02-21 07:12 oetiker -Had to reset the interface version number due to the change in the rrd_context implementation. + * MakeMakefile, configure.ac, po/LINGUAS, po/de.po, src/rrd_tool.c: + make inbternationalized version actually build +2008-02-21 06:59 oetiker ------------------------------------------------------------------------- -r1394 | oetiker | 2008-06-02 08:21:42 +0200 | 2 lines + * po, po/LINGUAS, po/POTFILES.in, src/rrd_i18n.h: added missing bits + from internationalization -use DNAN instead of NAN since there seem to be issues with gcc on solaris and the NAN experession (and we use DNAN everywhere else anyway). +2008-02-19 12:56 oetiker ------------------------------------------------------------------------- -r1393 | oetiker | 2008-06-01 23:12:26 +0200 | 2 lines + * branches/1.2/program/src/rrd_create.c, + branches/1.2/program/src/rrd_info.c, + branches/1.2/program/src/rrd_restore.c, src/rrd_create.c, + src/rrd_info.c, src/rrd_restore.c: Generate a random cur_row for + each RRA during create/restore operations. This effectively + randomizes the block crossings among RRDs created around the same + time. Previously, RRDs that were created/restored en masse would + cross block boundaries simultaneously, which is sub-optimal. Also, + this patch enables the user to see the RRA's cur_row pointer via + rrdinfo. This was useful during debugging. -- kevin brintnall + kbrint qwest.net -integrated gentoo bits and spell fixes by Peter Volkov +2008-02-18 15:04 oetiker ------------------------------------------------------------------------- -r1392 | oetiker | 2008-06-01 22:44:01 +0200 | 3 lines + * MakeMakefile, Makefile.am, configure.ac, rrdtool.spec, + src/Makefile.am, src/rrd_getopt.c, src/rrd_tool.c: Added I18N + support for messages printed by rrd_tool.c -- + http://oss.oetiker.ch/rrdtool-trac/ticket/144 -Patch for rrd_context system by sebastian harl, making it simpler and less error prone. Removing one buffer overflow in the process. +2008-02-15 08:49 oetiker + * configure.ac: check for pdf as well ------------------------------------------------------------------------- -r1389 | oetiker | 2008-05-31 17:58:45 +0200 | 1 line +2008-02-15 08:44 oetiker -prepare for the release of rrdtool-1.3rc7 ------------------------------------------------------------------------- -r1388 | oetiker | 2008-05-31 17:57:39 +0200 | 1 line + * configure.ac: check for cairo-ps and cairo-svg explicitly -prepare for the release of rrdtool-1.3rc7 ------------------------------------------------------------------------- -r1387 | oetiker | 2008-05-31 17:56:37 +0200 | 2 lines +2008-02-06 00:12 oetiker -added pkgconfig build instructions + * configure.ac: ready for beta 4 ------------------------------------------------------------------------- -r1386 | oetiker | 2008-05-31 14:28:11 +0200 | 2 lines +2008-02-06 00:10 oetiker -make sure vdef calcs only calc as far as originally requested. + * src/rrd_graph.c, src/rrd_graph_helper.c: * replaced strtok with + strtok_r for thread safety * fixed im initialization broken after + the introduction of dashes ... ------------------------------------------------------------------------- -r1385 | oetiker | 2008-05-28 00:24:32 +0200 | 3 lines +2008-02-04 22:34 oetiker -fixed maxlength for sprintf_alloc 50 was not enough ... 1024+strlen(fmt) is much better. This -makes imginfo work even when there are long image paths. + * src/rrd_create.c: in rrd_create we do not use mmaping and thus + need to free rrd struct members in any case ... ------------------------------------------------------------------------- -r1382 | oetiker | 2008-05-26 13:45:15 +0200 | 2 lines +2008-02-04 22:16 oetiker -updated todo list + * src/rrd_update.c: this should help with the memory leak ------------------------------------------------------------------------- -r1380 | oetiker | 2008-05-26 10:56:58 +0200 | 1 line +2008-02-04 18:18 oetiker -prepare for the release of rrdtool-1.3rc6 ------------------------------------------------------------------------- -r1379 | oetiker | 2008-05-26 09:46:35 +0200 | 2 lines + * COPYRIGHT: added zpl 2.1 to floss exception -added notes about new grid lines +2008-02-01 06:52 oetiker ------------------------------------------------------------------------- -r1378 | oetiker | 2008-05-26 09:45:19 +0200 | 5 lines + * branches/1.2/program/src/rrd_graph.c, src/rrd_graph.c: fixed + parsing of fontnames with embeded spaces -* make y-axis labels NOT run into each other (classic and alt) -* space horizontal grid lines and lables a bit further apart for tight - layouts. -* let horizontal lines and y axis labels run a little closer for classic grid +2008-01-14 17:11 oetiker ------------------------------------------------------------------------- -r1377 | oetiker | 2008-05-25 23:17:30 +0200 | 2 lines + * configure.ac: remove c++ warnings flag .. this is not c++ after + all -fixed calculation of space at the bottom of the graph +2008-01-14 16:52 oetiker ------------------------------------------------------------------------- -r1375 | oetiker | 2008-05-25 22:02:23 +0200 | 1 line + * src/rrd_cgi.c, src/rrd_create.c: fixed indenting -prepare for the release of rrdtool-1.3rc5 ------------------------------------------------------------------------- -r1374 | oetiker | 2008-05-25 22:00:45 +0200 | 2 lines +2008-01-14 16:51 oetiker -fix update compatibility with rrd-1.0.x files + * src/rrd_gfx.c: fix indents ------------------------------------------------------------------------- -r1373 | oetiker | 2008-05-21 00:22:27 +0200 | 2 lines +2008-01-14 16:50 oetiker -droped rrd_extra.h from the distro with the python update ... must remove it from the Makefile too + * bindings/tcl/tclrrd.c, configure.ac, src/parsetime.c, + src/rrd_cgi.c, src/rrd_create.c, src/rrd_nan_inf.c: * fixed + madvise/fadvise detection * fixed many compiler warnings -- Peter + Breitenlohner peb mppmu.mpg.de ------------------------------------------------------------------------- -r1372 | oetiker | 2008-05-19 23:14:36 +0200 | 5 lines +2008-01-12 18:37 oetiker -fixed python bindings: -* info call isnnow aequivalent to rrdtool info (the same as in the perl and ruby bindings) -* graphv and updatev calls added + * src/rrd_graph.c: weekday and time are too tight +2008-01-04 22:53 oetiker ------------------------------------------------------------------------- -r1371 | oetiker | 2008-05-19 00:11:56 +0200 | 3 lines + * src/rrd_gfx.c, src/rrd_graph.c: fontmap resolution was not + matching scaled_font resolution ... this killed layouting ... much + better now -* document tabwidth option -* fix \t -> tab expansion +2008-01-03 21:30 oetiker ------------------------------------------------------------------------- -r1370 | oetiker | 2008-05-18 17:39:41 +0200 | 2 lines + * doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod, + src/rrd_graph_helper.c: get rid of DASHED, only use dashes syntax. + less redundancy -- thomas.gutzler gmail.com -ytr boundery checking ... this is from the GD days ... we don't need this anymore +2008-01-02 22:11 oetiker ------------------------------------------------------------------------- -r1369 | oetiker | 2008-05-18 17:11:52 +0200 | 2 lines + * CONTRIBUTORS, NEWS, doc/rrdgraph_examples.pod, + doc/rrdgraph_graph.pod, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: support for dashed lines in graphs -fix indenting +2008-01-02 22:06 oetiker ------------------------------------------------------------------------- -r1368 | oetiker | 2008-05-18 17:11:42 +0200 | 2 lines + * src/pngsize.c, src/rrd_graph.c: fix indenting -pdf, svg and ps formats were not being created +2008-01-02 22:06 oetiker ------------------------------------------------------------------------- -r1366 | oetiker | 2008-05-18 15:06:44 +0200 | 1 line + * doc/Makefile.am: ignore errors with txt doc building -prepare for the release of rrdtool-1.3rc4 ------------------------------------------------------------------------- -r1365 | oetiker | 2008-05-18 15:04:36 +0200 | 2 lines +2007-12-11 23:41 oetiker -fix year + * Makefile.am, doc/rrdbuild.pod: building the docs depends on the + presence of pod2man ... which does not seem to be installed + necessarily ------------------------------------------------------------------------- -r1364 | oetiker | 2008-05-18 14:53:01 +0200 | 2 lines +2007-12-08 22:15 oetiker -PRINT returns from rrd_graph did not work due to an off by one error + * doc/rrdbuild.pod: added shared library locations into the docs ------------------------------------------------------------------------- -r1363 | oetiker | 2008-05-18 10:42:18 +0200 | 2 lines +2007-12-08 21:35 oetiker -updated build instructions to latest libraries + * src/rrd_cgi.c: include stdlib since putenv is in there on solaris ------------------------------------------------------------------------- -r1362 | oetiker | 2008-05-18 08:37:43 +0200 | 2 lines +2007-12-08 16:57 oetiker -improved handling of libintl issues + * configure.ac, doc/rrdbuild.pod, src/rrd_getopt.c: fixing solaris + portability * isinf and isnan definitions fixed * check if rt must + be linked * ordering must be read write in getopt * updated build + instructions ------------------------------------------------------------------------- -r1360 | oetiker | 2008-05-16 14:29:42 +0200 | 1 line +2007-11-26 20:12 oetiker -prepare for the release of rrdtool-1.3rc3 ------------------------------------------------------------------------- -r1359 | oetiker | 2008-05-16 14:28:37 +0200 | 2 lines + * bindings/python/setup.py: fix libdir for python build -added --no-header to documentation and fixed implementation +2007-11-21 10:51 oetiker ------------------------------------------------------------------------- -r1358 | oetiker | 2008-05-16 14:20:05 +0200 | 2 lines + * configure.ac: fixed NetBSD spelling -fixed dump_opt implementation +2007-11-21 06:56 oetiker ------------------------------------------------------------------------- -r1357 | oetiker | 2008-05-16 14:18:05 +0200 | 2 lines + * configure.ac: define bsd source to get access to chroot -added no-header option to rrd_dump +2007-11-21 06:47 oetiker ------------------------------------------------------------------------- -r1356 | oetiker | 2008-05-16 14:07:58 +0200 | 2 lines + * bindings/perl-shared/Makefile.PL, configure.ac: make perlbuild + more portable -fix handling of values <= zero for logarithmic display +2007-11-20 22:22 oetiker ------------------------------------------------------------------------- -r1354 | oetiker | 2008-05-16 00:39:55 +0200 | 1 line + * configure.ac: enable madvise defines in netbsd -prepare for the release of rrdtool-1.3rc2 ------------------------------------------------------------------------- -r1353 | oetiker | 2008-05-16 00:39:09 +0200 | 1 line +2007-11-20 00:08 oetiker -prepare for the release of rrdtool-1.3rc2 ------------------------------------------------------------------------- -r1352 | oetiker | 2008-05-16 00:37:26 +0200 | 2 lines + * src/rrd_format.h, src/rrd_graph.c, src/rrd_nan_inf.c: remove last + traces of rrd_nan_inf.h fix handling of min==max where min < 0 -fix portability to mac osx and freebsd -- tobi +2007-11-15 14:39 oetiker ------------------------------------------------------------------------- -r1351 | oetiker | 2008-05-13 01:10:59 +0200 | 2 lines + * bindings/ruby/main.c, src/rrd.h, src/rrd_create.c, src/rrd_dump.c, + src/rrd_format.h, src/rrd_graph.c, src/rrd_hw.c, src/rrd_info.c, + src/rrd_open.c, src/rrd_restore.c, src/rrd_tune.c, + src/rrd_update.c, src/rrd_xport.c: re-indented files that have + gone out of indent-style over the last few weeks -add solaris pod2man location last +2007-11-15 14:36 oetiker ------------------------------------------------------------------------- -r1350 | oetiker | 2008-05-13 01:03:04 +0200 | 2 lines + * src/Makefile.am, src/rrd.h, src/rrd_nan_inf.h: integrate + rrd_nan_inf header -some changes to make things work on opensolaris 2008.05 +2007-11-15 14:35 oetiker ------------------------------------------------------------------------- -r1349 | oetiker | 2008-05-13 00:42:25 +0200 | 2 lines + * src/rrd_open.c: Improve layout of documentation. -- Bernhard + Fischer -for some reason tclrrd.c does not get picked up using $< at least on opensolaris +2007-11-15 14:34 oetiker ------------------------------------------------------------------------- -r1348 | oetiker | 2008-05-13 00:23:19 +0200 | 3 lines + * src/rrd_update.c: * rrd_update(): Unify error path. * + parse_template(): Likewise. * allocate_data_structures(): Make + error strings use consistent punctuation. -- bernhard fischer -allow rrd_rpncalc to build without cairo dependencies ... -fix warnings +2007-11-15 14:32 oetiker ------------------------------------------------------------------------- -r1346 | oetiker | 2008-05-12 23:14:12 +0200 | 2 lines + * src/pngsize.c: make sure this compiles with aix -add intltool*in files to dist +2007-11-08 10:16 oetiker ------------------------------------------------------------------------- -r1345 | oetiker | 2008-05-12 18:15:25 +0200 | 2 lines + * NEWS, bindings/ruby/main.c, doc/rrdruby.pod: fixed start end time + in ruby fetch and added step size -- Mike Perham mperham gmail -fixed indenting +2007-11-06 21:27 oetiker ------------------------------------------------------------------------- -r1344 | oetiker | 2008-05-12 18:15:02 +0200 | 2 lines + * doc/rrdbuild.pod: updated build instructions -removed c++ comments // +2007-11-04 21:56 oetiker ------------------------------------------------------------------------- -r1343 | oetiker | 2008-05-12 18:09:02 +0200 | 2 lines + * bindings/perl-piped/RRDp.pm: handle errors properly ... in RRDp + read call -added notes about rewrites in this release +2007-09-16 15:35 oetiker ------------------------------------------------------------------------- -r1342 | oetiker | 2008-05-12 18:08:40 +0200 | 2 lines + * src/rrd_open.c: no reason to die when posixfadvise is not + sucessful -improved handling of library versioning +2007-09-11 06:28 oetiker ------------------------------------------------------------------------- -r1341 | oetiker | 2008-05-12 17:35:40 +0200 | 2 lines + * doc/rrdcreate.pod, doc/rrdtune.pod, src/rrd_create.c, + src/rrd_dump.c, src/rrd_format.h, src/rrd_hw.c, src/rrd_info.c, + src/rrd_restore.c, src/rrd_tune.c: Allow to the the smoothing + window size other thatn the default 5%. -- Evan Miller emiller + imvu.com -should not leave debug enabled +2007-09-11 06:16 oetiker ------------------------------------------------------------------------- -r1340 | oetiker | 2008-05-12 17:33:31 +0200 | 10 lines + * configure.ac, src/rrd_open.c: added msync before unmap -Fixed handling of unknown data at PDP build time. There was a long standing -(even documented) missfeature in rrdtool which caused uknown-data to be -accepted as long as it was less than the mrhb. This was never the intended -behaviour and had interesting side effects -(http://oss.oetiker.ch/rrdtool-trac/ticket/125): If you have a 60 Second -step with 59s unknown data and 1 second of known data the whole become known -data as long as the mrhb was > step. The intended behaviour was that a step -should become unknown as soon as it contains more than 50% of unknown data. -The patch fixes both the documentation and the code. +2007-09-08 05:23 oetiker ------------------------------------------------------------------------- -r1339 | oetiker | 2008-05-12 15:22:26 +0200 | 2 lines + * CONTRIBUTORS, doc/rrdgraph_rpn.pod, src/rrd_graph.c, + src/rrd_graph.h: added STDEV aggregation function for VDEF. -- + Patrick J Cherry patrick bytemark.co.uk -the last_ds value fuer unknown is 'U' and not 'UNKN' +2007-09-07 22:53 oetiker ------------------------------------------------------------------------- -r1338 | oetiker | 2008-05-04 20:59:20 +0200 | 2 lines + * Makefile.am, examples/Makefile.am, examples/perftest.pl.in: a few + leanups -- Bernhard Fischer -fix for sun sudio 11 incompatibility http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=38555 +2007-09-06 09:06 oetiker ------------------------------------------------------------------------- -r1335 | oetiker | 2008-05-02 01:23:35 +0200 | 1 line + * src/rrd_open.c: added missing ; -indenting fixes ------------------------------------------------------------------------- -r1334 | oetiker | 2008-05-02 01:23:25 +0200 | 1 line +2007-09-06 08:42 oetiker -make sure properties are shown via graph_v even in --graph-only mode ------------------------------------------------------------------------- -r1333 | oetiker | 2008-05-01 08:56:32 +0200 | 2 lines + * src/rrd_open.c: * mimic write() and read() even better -- Bernhard + Fischer -Make the MakeMakefile script a bit more robust +2007-09-06 08:40 oetiker ------------------------------------------------------------------------- -r1332 | oetiker | 2008-04-22 23:40:45 +0200 | 2 lines + * src/rrd_open.c: rrd_open.c (rrd_read): Mimicing read() behaviour + for EOF case and NULL buffer case. -- Bernhard Fischer -fix for #148 +2007-09-02 16:55 oetiker ------------------------------------------------------------------------- -r1331 | oetiker | 2008-04-21 00:46:39 +0200 | 7 lines + * doc/rrdgraph_graph.pod: fixed speling of horizon -Introduced a alternated interface to rrd_graph using rrd_info style return -values: rrd_graph_v The graph_v interface returnes additional information -about the graph including the location of the graphing area within the -image. When called with '-' as filename it will even return the image data. -The new interface is supported in the rrdtool command line, RRDs perl and -ruby bindings. +2007-08-29 06:43 oetiker ------------------------------------------------------------------------- -r1329 | oetiker | 2008-04-17 07:35:16 +0200 | 2 lines + * examples/perftest.pl.in: a better performance tester -indent fix +2007-08-16 07:31 oetiker ------------------------------------------------------------------------- -r1328 | oetiker | 2008-04-17 07:35:01 +0200 | 2 lines + * doc/rrdgraph_examples.pod: added holt winters example back into + the examples documentation -do not reset the last_ds store unless the data source type is actually changed. +2007-08-14 21:59 oetiker ------------------------------------------------------------------------- -r1327 | oetiker | 2008-04-16 17:50:59 +0200 | 2 lines + * src/rrd_update.c: Fix for HoltWinters phase-shift bug described + below. When one or more primary data point times were missed, the + SEASONAL and DEVSEASONAL archives were marked as being up-to-date, + so that they would not be written to. It was correct not to write + to these archives, but the code failed to advance the pointers + within the SEASONAL and DEVSEASONAL archives so that future + updates would go to the correct location in the archives. Rather + than mark these archives as up-to-date (by setting + rra_step_cnt[rra_idx] = 0), my patch allocates a new "skip_update" + array that is set to 1 for SEASONAL and DEVSEASONAL archives that + have missed one or more primary data points. When an RRA is + written to, the cur_row pointer advancement happens for all + archives, but the skip_update array is checked just before + actually writing out the changes. Please give it a whirl! -- Evan + Miller emiller imvu.com -fixed 2. x-grid example ... since the lable is valid for the whole day, it must be 86400 wide. --tobi +2007-08-13 20:06 oetiker ------------------------------------------------------------------------- -r1324 | oetiker | 2008-04-12 11:29:10 +0200 | 2 lines + * src/rrd_update.c: Refactored rrd_update code in preparation of + finding the HW update problem -- Evan Miller -alter order of header inclusion for FreeBSD 4.8 compatibility +2007-08-07 15:02 oetiker ------------------------------------------------------------------------- -r1323 | oetiker | 2008-04-12 11:21:31 +0200 | 3 lines + * doc/rrdbuild.pod: updated build instructions for 1.3 -do not mess with dst status after running localtime, the system gets confused otherwhise when it comes to times during the switch over periode as DST changes to non DST. --- tobi +2007-08-03 19:46 oetiker ------------------------------------------------------------------------- -r1322 | oetiker | 2008-03-26 00:02:32 +0100 | 2 lines + * svn2cl.xsl: prepare for the release of rrdtool-1.2.99907080300 -added missing " escapes to xml header in rrd_tool.c +2007-08-03 19:45 oetiker ------------------------------------------------------------------------- -r1321 | oetiker | 2008-03-25 23:59:49 +0100 | 2 lines + * libraries, src/DejaVuSansMono-Roman.ttf, src/VeraMono.ttf: remove + some things we do not need anymore in 1.3 -added Florian octo Forster to contrib list +2007-08-03 19:43 oetiker ------------------------------------------------------------------------- -r1320 | oetiker | 2008-03-25 23:59:30 +0100 | 2 lines + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, src/rrd.h, + src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_info.c, + src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h, + src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c, + src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c, + src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h, + src/rrdupdate.c: prepare for the release of + rrdtool-1.2.99907080300 -added missing =back for propper pod syntax +2007-08-03 19:43 oetiker ------------------------------------------------------------------------- -r1319 | oetiker | 2008-03-25 23:58:16 +0100 | 2 lines + * configure.ac, rrdtool-1.3-release: prepare for 1.3 beta 1 -fix indent +2007-08-03 19:26 oetiker ------------------------------------------------------------------------- -r1318 | oetiker | 2008-03-25 23:58:08 +0100 | 2 lines + * src/Makefile.am: continue with the revision numbering -fix broken header comment section -- Florian octo Forster +2007-08-03 19:17 oetiker ------------------------------------------------------------------------- -r1317 | oetiker | 2008-03-25 23:57:42 +0100 | 2 lines + * doc/rrdgraph_graph.pod: added notes on pango inline formatting -cast size_t to int to avoid warning -- Florian octo Forster +2007-08-01 15:29 oetiker ------------------------------------------------------------------------- -r1316 | oetiker | 2008-03-25 23:56:41 +0100 | 2 lines + * src/rrd_graph.c: only release cairo stuff if we ever initialized + it. -do not declare DEBUG functions unless compiled in DEBUG mode -- Florian octo Forster +2007-08-01 15:28 oetiker ------------------------------------------------------------------------- -r1315 | oetiker | 2008-03-25 23:55:56 +0100 | 2 lines + * src/rrd_xport.c: fix for 64bit portability problem ... unsigned + long is not int -make helptexts read only memory +2007-07-31 04:53 oetiker ------------------------------------------------------------------------- -r1314 | oetiker | 2008-03-25 23:55:13 +0100 | 2 lines + * bindings/ruby/main.c: reindented -stop complaints about unused variables if not running DEBUG +2007-07-25 20:38 oetiker ------------------------------------------------------------------------- -r1313 | oetiker | 2008-03-25 23:49:47 +0100 | 5 lines + * src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c, + src/rrd_format.h, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_open.c, src/rrd_restore.c, src/rrd_rpncalc.c, + src/rrd_tool.h, src/rrd_tune.c: fixed indenting -Added check for intltool version. -Use Makefile for cleanup. --- Florian octo Forster +2007-07-25 20:38 oetiker + * src/rrd_update.c: make sure we check input even when the previous + update was a 'U' ... and some indenting fixes ------------------------------------------------------------------------- -r1311 | oetiker | 2008-03-23 14:43:22 +0100 | 2 lines +2007-07-22 15:51 oetiker -added pointer to florian forsters dtd to the rrd dumpt + * src/rrd_format.h: new consolidation functions must be added last + or this will break binary compatibility ------------------------------------------------------------------------- -r1310 | oetiker | 2008-03-20 00:36:26 +0100 | 2 lines +2007-07-22 15:50 oetiker -fix pkgconfig file name + * src/rrd_update.c: don't force data out ... let cache management do + this ------------------------------------------------------------------------- -r1306 | oetiker | 2008-03-15 11:39:48 +0100 | 3 lines +2007-07-22 09:47 oetiker -reindent -aded id keyword substitution + * NEWS, src/rrd_create.c, src/rrd_dump.c, src/rrd_format.h, + src/rrd_restore.c: Only create version 4 rrd files if the new + holtwinters MHW.. CF is used. ------------------------------------------------------------------------- -r1305 | oetiker | 2008-03-15 11:32:10 +0100 | 2 lines +2007-07-21 19:55 oetiker -reat nan as FALSE in an IF CDEF + * src/rrd_open.c: * remove some experimental code from rrd_open * + rrd_dontneed will release all data except for header blocks and + RRA hot blocks which are going to be updated withing 10 minutes. ------------------------------------------------------------------------- -r1303 | oetiker | 2008-03-07 09:57:01 +0100 | 10 lines +2007-07-21 19:53 oetiker -a nan-safe add operator (ADDNAN) into rrd. I used it to add several incomplete graphs. + * src/rrd_fetch.c: for now, do not release fetched data ... in the + future we may call rrd_dontneed and let the users decied with an + option if they want to keep the data in cache ... -NaN + NaN => NaN - x + NaN => x - NaN + y => y - x + y => x + y +2007-07-21 19:52 oetiker --- Timo Stripf tstripf gmx.de + * src/Makefile.am: the fonts are now taken from the system. we do + not distribute them anympore +2007-07-21 19:37 oetiker ------------------------------------------------------------------------- -r1301 | oetiker | 2008-03-02 16:38:05 +0100 | 2 lines + * NEWS: not on update rrd version -Fix error "cairo_restore without matching cairo_save" when zero-time point is out of graph +2007-07-20 22:20 oetiker ------------------------------------------------------------------------- -r1300 | oetiker | 2008-02-25 08:11:00 +0100 | 2 lines + * src/rrd_format.h: we have a new holtwinders aggregation fucntion, + so we have a new version ... -Ignore RRA-end when comparing. coverage. +2007-07-20 22:19 oetiker ------------------------------------------------------------------------- -r1298 | oetiker | 2008-02-24 15:27:34 +0100 | 2 lines + * configure.ac: check for fadvise all the time -fix indents gone out of kileter by patching ... +2007-07-20 22:16 oetiker ------------------------------------------------------------------------- -r1297 | oetiker | 2008-02-24 15:26:46 +0100 | 2 lines + * doc/rrdcreate.pod: better docs on the aggregate functions -get rid of a few type cast warnings +2007-07-18 22:02 oetiker ------------------------------------------------------------------------- -r1296 | oetiker | 2008-02-24 15:26:16 +0100 | 2 lines + * NEWS: added note on locale -fix one segfault while trying to restore an invalid xml file. -- tobi +2007-07-18 21:59 oetiker ------------------------------------------------------------------------- -r1294 | oetiker | 2008-02-21 08:20:49 +0100 | 2 lines + * src/rrd_graph_helper.c: some more piechart removed -make ruby obey destdir +2007-07-18 21:47 oetiker ------------------------------------------------------------------------- -r1293 | oetiker | 2008-02-21 08:18:58 +0100 | 2 lines + * src/rrd_create.c, src/rrd_graph.c, src/rrd_rpncalc.c, + src/rrd_tune.c, src/rrd_update.c: make sure all ascii to float + parsing uses LC_NUMERIC = C so that we do not stuble on locales + confusing the , with a . -initial +2007-07-18 00:30 oetiker ------------------------------------------------------------------------- -r1292 | oetiker | 2008-02-21 08:12:27 +0100 | 2 lines + * src/rrd_create.c, src/rrd_open.c, src/rrd_tool.h, + src/rrd_update.c: * rrd_open: rrd_close does not purge file from + cache * rrd_open: new function rrd_dontneed for purging un-needed + pages from core * rrd_open: in linux at least only fadivse + DONTNEED has the power to purge pages from cache, so letst call + madvise as well as fadvise * rrd_create: uses open/write/close + now, flushes file to disk and keeps only hot pages in core * + rrd_update: keeps only hot pages in core * configure enables + FADVISE even when mmap is in use -make inbternationalized version actually build +2007-07-17 21:46 oetiker ------------------------------------------------------------------------- -r1291 | oetiker | 2008-02-21 07:59:19 +0100 | 2 lines + * src/rrd_open.c, src/rrd_resize.c: added comment on float cookie -added missing bits from internationalization +2007-07-16 06:37 oetiker ------------------------------------------------------------------------- -r1290 | oetiker | 2008-02-19 13:56:44 +0100 | 12 lines + * bindings/ruby/main.c: fix for fetch in ruby bindings and support + for info added. -Generate a random cur_row for each RRA during -create/restore operations. This effectively randomizes the block crossings -among RRDs created around the same time. Previously, RRDs that were -created/restored en masse would cross block boundaries simultaneously, which -is sub-optimal. +2007-07-12 20:33 oetiker -Also, this patch enables the user to see the RRA's cur_row pointer via -rrdinfo. This was useful during debugging. + * doc/rrdtutorial.pod: improve wording --- kevin brintnall kbrint qwest.net +2007-07-12 20:33 oetiker + * configure.ac: fix tcl build settup ------------------------------------------------------------------------- -r1289 | oetiker | 2008-02-18 16:04:42 +0100 | 2 lines +2007-07-11 23:08 oetiker -Added I18N support for messages printed by rrd_tool.c -- http://oss.oetiker.ch/rrdtool-trac/ticket/144 + * src/rrd_create.c: usr rrd_free for freeing the rrd structs ... + vito caputo ------------------------------------------------------------------------- -r1285 | oetiker | 2008-02-15 09:49:07 +0100 | 2 lines +2007-07-05 15:19 oetiker -check for pdf as well + * src/rrd_graph_helper.c: prevent potential segfaults on boxes where + time_t is not long ------------------------------------------------------------------------- -r1284 | oetiker | 2008-02-15 09:44:04 +0100 | 2 lines +2007-06-18 18:25 oetiker -check for cairo-ps and cairo-svg explicitly + * src/rrd_cgi.c, src/rrd_graph.c, src/rrd_tune.c, src/rrd_xport.c: + fix indentation ------------------------------------------------------------------------- -r1280 | oetiker | 2008-02-06 01:12:27 +0100 | 2 lines +2007-06-18 16:05 oetiker -ready for beta 4 + * configure.ac, src/parsetime.c, src/rrd_cgi.c, src/rrd_create.c, + src/rrd_fetch.c, src/rrd_first.c, src/rrd_getopt.c, + src/rrd_getopt1.c, src/rrd_graph.c, src/rrd_open.c, + src/rrd_restore.c, src/rrd_thread_safe.c, src/rrd_tune.c, + src/rrd_update.c, src/rrd_xport.c: Bernhard Fischer: - move + several static struct option out of loops and makes them + non-static - moves some functions from old-style definitions into + new-style definitions ------------------------------------------------------------------------- -r1279 | oetiker | 2008-02-06 01:10:33 +0100 | 4 lines +2007-06-16 23:20 oetiker -* replaced strtok with strtok_r for thread safety -* fixed im initialization broken after the introduction of dashes ... + * CONTRIBUTORS: Bernhard is not Benrard +2007-06-15 21:49 oetiker ------------------------------------------------------------------------- -r1278 | oetiker | 2008-02-04 23:34:56 +0100 | 2 lines + * NEWS: notes on evans contribs -in rrd_create we do not use mmaping and thus need to free rrd struct members in any case ... +2007-06-15 21:41 oetiker ------------------------------------------------------------------------- -r1277 | oetiker | 2008-02-04 23:16:14 +0100 | 2 lines + * rrdtool.spec: rrdtool.spec from Jarod "redhat" Wilson -this should help with the memory leak +2007-06-15 08:09 oetiker ------------------------------------------------------------------------- -r1276 | oetiker | 2008-02-04 19:18:07 +0100 | 2 lines + * CONTRIBUTORS: updated contributors -added zpl 2.1 to floss exception +2007-06-15 08:01 oetiker ------------------------------------------------------------------------- -r1274 | oetiker | 2008-02-01 07:52:56 +0100 | 2 lines + * NEWS: added note on TEXTALIGN -fixed parsing of fontnames with embeded spaces +2007-06-15 07:59 oetiker ------------------------------------------------------------------------- -r1272 | oetiker | 2008-01-14 18:11:50 +0100 | 2 lines + * doc/rrdcreate.pod, doc/rrdtune.pod, src/Makefile.am, + src/rrd_create.c, src/rrd_dump.c, src/rrd_format.c, + src/rrd_format.h, src/rrd_graph.c, src/rrd_hw.c, + src/rrd_hw_math.c, src/rrd_hw_math.h, src/rrd_hw_update.c, + src/rrd_hw_update.h, src/rrd_info.c, src/rrd_restore.c, + src/rrd_tune.c, src/rrd_update.c: There are two popular variants + of the Holt-Winters forecasting method; RRDtool supports the + "additive" method, which means that seasonal variation is simply + added to the baseline. For our application, it would be more + appropriate to use the "multiplicative" Holt-Winters method, where + seasonal variation is a coefficient multiplied by the baseline. + Quick example to illustrate the difference: if the average doubles + season-over-season, the additive method would predict the delta + between min and max to be constant, whereas the multiplicative + method would predict the delta to double as well. Attached is a + patch against trunk to support the multiplicative method. I've + done this with a new consolidation function, MHWPREDICT, which is + essentially interchangeable with HWPREDICT. There is a noticeable + improvement in prediction deviations for certain types of + functions; the attachments show HWPREDICT and MHWPREDICT + predictions for a function with an x*sin(x) component. Because + HWPREDICT and MHWPREDICT differ only in their equations, I've + factored out their math into rrd_hw_math.c. The appropriate + smoothing functions are passed to the update functions in a + container of function pointers, which are called where + appropriate. Thus the additive and multiplicative methods use the + same update functions, and the right equations are evaluated + without having flag checks everywhere. This approach, I think, + makes the algorithms quite clear, with minimal duplicate code. I + have moved update_hwpredict, update_seasonal, update_devpredict, + update_devseasonal, and update_failures into a separate file, + rrd_hw_update.c, with some slight refactoring related to + rrd_hw_math.c. I ran some regression tests against trunk to make + sure I didn't break anything with the existing HWPREDICT code. + MHWPREDICT uses the same deviation smoothing and failure detection + algorithms as HWPREDICT. Some helpful references on the + multiplicative Holt-Winters method: + http://www.it.iitb.ac.in/~praj/acads/seminar/04329008_ExponentialSmoothing.pdf + (a student's quick overview of additive vs. multiplicative HW) + http://ideas.repec.org/p/msh/ebswps/1999-1.html (paper on + variations to the multiplicative Holt-Winters, including variance + calculations; FYI, my implementation uses "Model 1") My employer + and the owner of this patch (IMVU, Inc.) is happy to license it + under the same terms as RRDtool, i.e. give it to the project. -- + Evan Miller emiller imvu.com -remove c++ warnings flag .. this is not c++ after all +2007-06-15 06:43 oetiker ------------------------------------------------------------------------- -r1271 | oetiker | 2008-01-14 17:52:49 +0100 | 2 lines + * src/rrd.h: oops missed to update the in memory output interface + here -fixed indenting +2007-06-15 06:28 oetiker ------------------------------------------------------------------------- -r1270 | oetiker | 2008-01-14 17:51:42 +0100 | 2 lines + * src/rrd.h, src/rrd_graph.c, src/rrd_graph.h: added interface to + get rendered image via a pointer to allocated memory ... Evan + Miller emmiller gmail.com -fix indents +2007-06-15 06:12 oetiker ------------------------------------------------------------------------- -r1269 | oetiker | 2008-01-14 17:50:51 +0100 | 5 lines + * configure.ac: improve fontnaming -* fixed madvise/fadvise detection -* fixed many compiler warnings --- Peter Breitenlohner peb mppmu.mpg.de +2007-06-14 20:30 oetiker + * bindings/ruby/main.c, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_rpncalc.c: fixed indentation ------------------------------------------------------------------------- -r1266 | oetiker | 2008-01-12 19:37:10 +0100 | 1 line +2007-06-14 20:28 oetiker -weekday and time are too tight ------------------------------------------------------------------------- -r1264 | oetiker | 2008-01-04 23:53:46 +0100 | 2 lines + * doc/rrdgraph_graph.pod, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: added TEXTALIGN command to change the + default text alignment -fontmap resolution was not matching scaled_font resolution ... this killed layouting ... much better now +2007-06-13 16:53 oetiker ------------------------------------------------------------------------- -r1263 | oetiker | 2008-01-03 22:30:59 +0100 | 2 lines + * bindings/tcl/Makefile.am, bindings/tcl/tclrrd.c: fixed tcl + includes -get rid of DASHED, only use dashes syntax. less redundancy -- thomas.gutzler gmail.com +2007-06-13 16:51 oetiker ------------------------------------------------------------------------- -r1262 | oetiker | 2008-01-02 23:11:26 +0100 | 2 lines + * bindings/ruby/main.c: be more helpful when raising rb_eTypeError + in string_arr string_arr_new(VALUE rb_strings). This patch + indicates which index is in error as well as the type you are + erroneously passing. -- anonymous -support for dashed lines in graphs +2007-06-12 20:36 oetiker ------------------------------------------------------------------------- -r1261 | oetiker | 2008-01-02 23:06:24 +0100 | 2 lines + * src/rrd_update.c: Bernhard Fischer: - fix nulling the updvals - + cosmetic change to move the option struct out of the loop. - need + to operate on a copy of optarg -fix indenting +2007-06-11 19:45 oetiker ------------------------------------------------------------------------- -r1260 | oetiker | 2008-01-02 23:06:16 +0100 | 2 lines + * doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c, src/rrd_rpncalc.h: added + TRENDNAN function -- Timo Stripf -ignore errors with txt doc building +2007-06-11 19:45 oetiker ------------------------------------------------------------------------- -r1255 | oetiker | 2007-12-12 00:41:21 +0100 | 2 lines + * src/rrd_graph.c: allow output to stdout -- Timo Stripf -building the docs depends on the presence of pod2man ... which does not seem to be installed necessarily +2007-06-11 16:49 oetiker ------------------------------------------------------------------------- -r1253 | oetiker | 2007-12-08 23:15:22 +0100 | 2 lines + * NEWS: added more news -added shared library locations into the docs +2007-06-11 16:34 oetiker ------------------------------------------------------------------------- -r1252 | oetiker | 2007-12-08 22:35:51 +0100 | 2 lines + * doc/rrdgraph.pod, src/rrd_graph.c: fixed indentation, added + documentation note on gridfitting. -include stdlib since putenv is in there on solaris +2007-06-11 16:33 oetiker ------------------------------------------------------------------------- -r1251 | oetiker | 2007-12-08 17:57:04 +0100 | 6 lines + * src/rrd_graph.c: fix arrow locations -fixing solaris portability -* isinf and isnan definitions fixed -* check if rt must be linked -* ordering must be read write in getopt -* updated build instructions +2007-06-11 16:20 oetiker ------------------------------------------------------------------------- -r1247 | oetiker | 2007-11-26 21:12:11 +0100 | 2 lines + * src/rrd_graph.c: disable gridfitting for vector formats -fix libdir for python build +2007-06-11 16:14 oetiker ------------------------------------------------------------------------- -r1244 | oetiker | 2007-11-21 11:51:48 +0100 | 2 lines + * src/rrd_graph.c, src/rrd_graph.h: make pdf output work -fixed NetBSD spelling +2007-06-11 15:32 oetiker ------------------------------------------------------------------------- -r1241 | oetiker | 2007-11-21 07:56:19 +0100 | 2 lines + * NEWS: added detail -define bsd source to get access to chroot +2007-06-11 15:11 oetiker ------------------------------------------------------------------------- -r1240 | oetiker | 2007-11-21 07:47:17 +0100 | 2 lines + * NEWS, configure.ac, doc/rrdgraph.pod, src/Makefile.am, + src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: --font-render-mode is back, and there is + also --graph-render-mode now. It allows to enable mono graphs that + look strikingly like rrdtool 1.0.x --tobi -make perlbuild more portable +2007-06-11 13:36 oetiker ------------------------------------------------------------------------- -r1238 | oetiker | 2007-11-20 23:22:31 +0100 | 2 lines + * NEWS, src/rrd_update.c: Bernhard Fischer: - NEWS mention the new + file accessors - rrd_update.c: remove unused some cruft -enable madvise defines in netbsd +2007-06-11 10:09 oetiker ------------------------------------------------------------------------- -r1234 | oetiker | 2007-11-20 01:08:20 +0100 | 3 lines + * src/rrd_update.c: Bernhard Fischer: - fix maintaining our file-pos + when we have to wrap the rra_ptr in update(). - no need to update + the header-data a second time for the mmap case. -remove last traces of rrd_nan_inf.h -fix handling of min==max where min < 0 +2007-06-11 00:23 oetiker ------------------------------------------------------------------------- -r1228 | oetiker | 2007-11-15 15:39:56 +0100 | 2 lines + * NEWS: updated news -re-indented files that have gone out of indent-style over the last few weeks +2007-06-11 00:22 oetiker ------------------------------------------------------------------------- -r1227 | oetiker | 2007-11-15 15:36:39 +0100 | 2 lines + * configure.ac, doc/rrdgraph.pod, src/Makefile.am: * added some + documentation * updated version number -integrate rrd_nan_inf header +2007-06-10 23:55 oetiker ------------------------------------------------------------------------- -r1226 | oetiker | 2007-11-15 15:35:15 +0100 | 2 lines + * acinclude.m4, configure.ac, src/Makefile.am, src/art_rgba_svp.c, + src/art_rgba_svp.h, src/rrd_afm.c, src/rrd_afm.h, + src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_gfx.c, + src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph.h, + src/rrd_graph_helper.c: switched graphics library from arts to + cairo+pango -Improve layout of documentation. -- Bernhard Fischer +2007-06-04 11:15 oetiker ------------------------------------------------------------------------- -r1225 | oetiker | 2007-11-15 15:34:14 +0100 | 5 lines + * configure.ac, src/Makefile.am: Bernhard Fischer: - new configure + option --enable-static-programs -* rrd_update(): Unify error path. -* parse_template(): Likewise. -* allocate_data_structures(): Make error strings use consistent punctuation. --- bernhard fischer +2007-06-01 19:11 oetiker ------------------------------------------------------------------------- -r1224 | oetiker | 2007-11-15 15:32:37 +0100 | 2 lines + * src/rrd_open.c, src/rrd_resize.c: Bernhard: - implement resize + SHRINK for FD (mmap is to be done) - indent -make sure this compiles with aix +2007-06-01 17:59 oetiker ------------------------------------------------------------------------- -r1213 | oetiker | 2007-11-08 11:16:27 +0100 | 2 lines + * src/rrd_graph.c: --full-size-mode with and without --no-legend + should work now -- Matthew Chambers -fixed start end time in ruby fetch and added step size -- Mike Perham mperham gmail +2007-06-01 17:35 oetiker ------------------------------------------------------------------------- -r1211 | oetiker | 2007-11-06 22:27:52 +0100 | 2 lines + * src/rrd_open.c, src/rrd_resize.c: Bernhard - fill the file with + DNAN and add the remaining data in after the fact ... -updated build instructions +2007-06-01 17:34 oetiker ------------------------------------------------------------------------- -r1209 | oetiker | 2007-11-04 22:56:19 +0100 | 2 lines + * src/rrd_open.c, src/rrd_resize.c: Bernhard Fischer - implement + resize, growing part. truncation is to be done. -handle errors properly ... in RRDp read call +2007-06-01 09:10 oetiker ------------------------------------------------------------------------- -r1204 | oetiker | 2007-09-16 17:35:11 +0200 | 2 lines + * src/rrd_cgi.c, src/rrd_graph_helper.c, src/rrd_open.c: Bernhard + Fischer - use 'z' length modifier when printing size_t - add a + cast to __rrd_read and document why it is there - add RANDOM hint + for the header -no reason to die when posixfadvise is not sucessful +2007-05-31 18:47 oetiker ------------------------------------------------------------------------- -r1203 | oetiker | 2007-09-11 08:28:15 +0200 | 4 lines + * src/rrd_open.c: Bernhard: - plug tiny mem-leak in error path of + rrd_close where freeing the rrd_file was forgotten. - improve two + error messages - use CHECK_MADVISE_OVERLAPS per default -Allow to the the smoothing window size other thatn the default 5%. --- Evan Miller emiller imvu.com +2007-05-30 19:56 oetiker + * src/rrd_open.c, src/rrd_update.c: fix rrd_write -- Bernhard + Fischer ------------------------------------------------------------------------- -r1202 | oetiker | 2007-09-11 08:16:52 +0200 | 2 lines +2007-05-30 12:41 oetiker -added msync before unmap + * src/rrd_fetch.c, src/rrd_first.c, src/rrd_graph.c, + src/rrd_graph.h, src/rrd_info.c, src/rrd_lastupdate.c, + src/rrd_open.c, src/rrd_resize.c: fix indenting ... again ------------------------------------------------------------------------- -r1201 | oetiker | 2007-09-08 07:23:23 +0200 | 3 lines +2007-05-30 12:39 oetiker -added STDEV aggregation function for VDEF. -- Patrick J Cherry patrick bytemark.co.uk + * src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_info.c, src/rrd_last.c, + src/rrd_lastupdate.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_tune.c, src/rrd_update.c: From Bernhard Fischer - + rrd_close(): call close on the file and use rrd_close consistently + - clean up some error paths. The fadvise error path is leaking + memory (see XXX in these spots). +2007-05-30 05:23 oetiker ------------------------------------------------------------------------- -r1200 | oetiker | 2007-09-08 00:53:41 +0200 | 2 lines + * CONTRIBUTORS, doc/rrdgraph.pod, src/rrd_graph.c, src/rrd_graph.h: + switch for rrd_graph to specify the outer-size of the graph and + not just the size of the canvas: --full-size-mode -- + matthew.chambers vanderbilt.edu -a few leanups -- Bernhard Fischer +2007-05-29 21:29 oetiker ------------------------------------------------------------------------- -r1199 | oetiker | 2007-09-06 11:06:04 +0200 | 2 lines + * configure.ac, examples/perftest.pl.in, src/rrd_hw.c, + src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_open.c, + src/rrd_resize.c, src/rrd_tool.c, src/rrd_tune.c, + src/rrd_update.c: More updates from Bernhard Fischer - flag + rrd_resize's old file with RRD_COPY - cleanup error-handling + pathes in rrd_update and fix a few typos in comments - + rrd_close(): implement printing mincore results for the rrd if + DEBUG=2 was defined - rrd_open(): madvise start addresses need to + be page-aligned; implement alternative path to the fine-grained + (i.e. exact) madvise by flagging just the first two pages as + needed (see TWO_PAGES). Implement alternative path that records + the last madvise()ed area to avoid redundant calls to madvise() on + identical areas (due to page-alignment constraints) -- see + CHECK_MADVISE_OVERLAPS. Implement path for USE_DIRECT_IO. - + configure: add check for O_DIRECT flag to open(2). Add option + --enable-direct-io. Add _GNU_SOURCE to CFLAGS to silence warnings + about chroot which is marked LEGACY since SUSv2 and is a non POSIX + extension. Make checks for posix_fadvise() dependant on + --disable-mmap, since we do not need fadvise for the mmap case. -added missing ; +2007-05-25 15:24 oetiker ------------------------------------------------------------------------- -r1198 | oetiker | 2007-09-06 10:42:22 +0200 | 3 lines + * src/rrd_stat.c: tobis old cruft removal program ... + +2007-05-25 13:14 oetiker + + * src/rrd_dump.c, src/rrd_fetch.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_update.c: updates from Bernhard Fischer rep dot nop gmail + com - add some more rrd_sterror calls to failure paths. - make + rrdtool updatev work like 1.2.23 (i.e. multiple values are still + broken, but at least updating a single value works; see + http://oss.oetiker.ch/rrdtool-trac/ticket/8) - indent touched + files. -* mimic write() and read() even better -- Bernhard Fischer +2007-05-25 13:12 oetiker + * .indent.pro, Makefile.am, configure.ac, examples/perftest.pl.in, + src/rrd_dump.c, src/rrd_fetch.c, src/rrd_open.c, src/rrd_resize.c, + src/rrd_tool.h, src/rrd_update.c: Updates from Bernhard Fischer + rep dot nop gmail com - fix typo in rrd_fetch where rrd_read + result was checked against an incorrect size. - in rrd_fetch, drop + rrd_head_size in favour of rrd_file->header_len - in rrd_fetch, + make the message "post fetch" unambiguous (now past vs. post). - + change usage of param rdwr of rrd_open: allow for RRD_READONLY, + RRD_READWRITE, RRD_CREAT, RRD_READAHEAD; adjust callers + accordingly: + rrd_resize needs CREAT + rrd_dump may want + READAHEAD - implement FD based I/O in rrd_open, rrd_read, + rrd_write, rrd_seek. - in rrd_update, unify write_RRA_row(). - + sort | uniq the -T in .indent.pro (info_t was duplicated) - add + stub of an option to use O_DIRECT to the configury - in + Makefile.am, simplify the "indent" invocation of find: My find may + not support "-o" resp. "-or" nor braces. Using -name "*.[ch]" + works everywhere, AFAIK. + +2007-05-24 08:26 oetiker + + * configure.ac: use proper preprocessor directives for the + config-checks. -- tobi + +2007-05-24 07:21 oetiker + + * configure.ac: fixed version number for development + +2007-05-24 06:16 oetiker + + * .indent.pro, Makefile.am, bindings/python/rrd_extra.h, + bindings/python/rrdtoolmodule.c, bindings/ruby/main.c, + bindings/tcl/tclrrd.c, libraries/afm/test-afm.c, src/.indent.pro, + src/hash_32.c, src/parsetime.c, src/rrd.h, src/rrd_afm.c, + src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c, src/rrd_gfx.c, + src/rrd_gfx.h, src/rrd_graph.c, src/rrd_graph_helper.c, + src/rrd_hw.c, src/rrd_hw.h, src/rrd_info.c, src/rrd_open.c, + src/rrd_rpncalc.c, src/rrd_rpncalc.h, src/rrd_tool.h, + src/rrd_update.c, src/rrd_xport.c, win32/config.h: indent all the + rest of the code, and add some typedefs to indent.pro there is now + a indent makefile target + +2007-05-23 21:40 oetiker + + * src/gdpng.c: removed superfluouse code + +2007-05-23 21:39 oetiker + + * src/.indent.pro: added more indenting rules + +2007-05-23 21:33 oetiker + + * src/.indent.pro, src/art_rgba_svp.c, src/art_rgba_svp.h, + src/fnv.h, src/gdpng.c, src/hash_32.c, src/parsetime.c, + src/pngsize.c, src/rrd.h, src/rrd_afm.c, src/rrd_afm.h, + src/rrd_afm_data.c, src/rrd_afm_data.h, src/rrd_cgi.c, + src/rrd_create.c, src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, + src/rrd_fetch.c, src/rrd_first.c, src/rrd_format.c, + src/rrd_format.h, src/rrd_getopt.c, src/rrd_getopt.h, + src/rrd_getopt1.c, src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, + src/rrd_graph.h, src/rrd_graph_helper.c, src/rrd_hw.c, + src/rrd_hw.h, src/rrd_info.c, src/rrd_is_thread_safe.h, + src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_nan_inf.c, + src/rrd_nan_inf.h, src/rrd_not_thread_safe.c, src/rrd_open.c, + src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, + src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, + src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, + src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, + src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c, src/strftime.c, + src/strftime.h, src/win32comp.c: reindented everything according + to .indent.pro + +2007-05-23 20:57 oetiker + + * .indent.pro, src/.indent.pro: profile must be in the source + directory to work + +2007-05-23 20:57 oetiker + + * .indent.pro: tabs be gone! + +2007-05-23 20:42 oetiker + + * configure.ac, src/Makefile.am, src/rrd.h, src/rrd_dump.c, + src/rrd_fetch.c, src/rrd_first.c, src/rrd_hw.c, src/rrd_hw.h, + src/rrd_info.c, src/rrd_last.c, src/rrd_lastupdate.c, + src/rrd_open.c, src/rrd_resize.c, src/rrd_restore.c, + src/rrd_stat.c, src/rrd_thread_safe.c, src/rrd_tool.h, + src/rrd_tune.c, src/rrd_update.c, src/unused.h: * progress in + moving all the fileaccess over to a wrapper system that can do fd + based and mmap based fileaccess transparently ... * small fixes + left and right to improve code quality and stability. -- Bernhard + Fischer rep dot nop gmail com + +2007-05-23 16:10 oetiker + + * .indent.pro: we are going to use indent from now on to keep code + indenting consistent throughout the project + +2007-05-23 16:08 oetiker + + * .: new trunk based on current 1.2 ------------------------------------------------------------------------- -r1197 | oetiker | 2007-09-06 10:40:36 +0200 | 5 lines - -rrd_open.c (rrd_read): Mimicing read() behaviour for EOF case and NULL buffer case. --- Bernhard Fischer - - - ------------------------------------------------------------------------- -r1196 | oetiker | 2007-09-02 18:55:01 +0200 | 3 lines - -fixed speling of horizon - - ------------------------------------------------------------------------- -r1194 | oetiker | 2007-08-29 08:43:16 +0200 | 2 lines - -a better performance tester - ------------------------------------------------------------------------- -r1193 | oetiker | 2007-08-16 09:31:53 +0200 | 2 lines - -added holt winters example back into the examples documentation - ------------------------------------------------------------------------- -r1192 | oetiker | 2007-08-14 23:59:31 +0200 | 18 lines - -Fix for HoltWinters phase-shift bug described below. - -When one or more primary data point times were missed, the SEASONAL and -DEVSEASONAL archives were marked as being up-to-date, so that they would not -be written to. It was correct not to write to these archives, but the code -failed to advance the pointers within the SEASONAL and DEVSEASONAL archives -so that future updates would go to the correct location in the archives. - -Rather than mark these archives as up-to-date (by setting -rra_step_cnt[rra_idx] = 0), my patch allocates a new "skip_update" array -that is set to 1 for SEASONAL and DEVSEASONAL archives that have missed one -or more primary data points. When an RRA is written to, the cur_row pointer -advancement happens for all archives, but the skip_update array is checked -just before actually writing out the changes. - -Please give it a whirl! --- Evan Miller emiller imvu.com - ------------------------------------------------------------------------- -r1191 | oetiker | 2007-08-13 22:06:10 +0200 | 3 lines - -Refactored rrd_update code in preparation of finding the HW update -problem -- Evan Miller - ------------------------------------------------------------------------- -r1190 | oetiker | 2007-08-07 17:02:08 +0200 | 2 lines - -updated build instructions for 1.3 - ------------------------------------------------------------------------- -r1185 | oetiker | 2007-08-03 21:46:17 +0200 | 1 line - -prepare for the release of rrdtool-1.2.99907080300 ------------------------------------------------------------------------- -r1184 | oetiker | 2007-08-03 21:45:01 +0200 | 2 lines - -remove some things we do not need anymore in 1.3 - ------------------------------------------------------------------------- -r1183 | oetiker | 2007-08-03 21:43:47 +0200 | 1 line - -prepare for the release of rrdtool-1.2.99907080300 ------------------------------------------------------------------------- -r1182 | oetiker | 2007-08-03 21:43:21 +0200 | 2 lines - -prepare for 1.3 beta 1 - ------------------------------------------------------------------------- -r1181 | oetiker | 2007-08-03 21:26:41 +0200 | 2 lines - -continue with the revision numbering - ------------------------------------------------------------------------- -r1180 | oetiker | 2007-08-03 21:17:13 +0200 | 2 lines - -added notes on pango inline formatting - ------------------------------------------------------------------------- -r1178 | oetiker | 2007-08-01 17:29:09 +0200 | 2 lines - -only release cairo stuff if we ever initialized it. - ------------------------------------------------------------------------- -r1177 | oetiker | 2007-08-01 17:28:03 +0200 | 2 lines - -fix for 64bit portability problem ... unsigned long is not int - ------------------------------------------------------------------------- -r1175 | oetiker | 2007-07-31 06:53:04 +0200 | 2 lines - -reindented - ------------------------------------------------------------------------- -r1173 | oetiker | 2007-07-25 22:38:37 +0200 | 2 lines - -fixed indenting - ------------------------------------------------------------------------- -r1172 | oetiker | 2007-07-25 22:38:26 +0200 | 2 lines - -make sure we check input even when the previous update was a 'U' ... and some indenting fixes - ------------------------------------------------------------------------- -r1169 | oetiker | 2007-07-22 17:51:39 +0200 | 2 lines - -new consolidation functions must be added last or this will break binary compatibility - ------------------------------------------------------------------------- -r1168 | oetiker | 2007-07-22 17:50:21 +0200 | 2 lines - -don't force data out ... let cache management do this - ------------------------------------------------------------------------- -r1167 | oetiker | 2007-07-22 11:47:53 +0200 | 1 line - -Only create version 4 rrd files if the new holtwinters MHW.. CF is used. ------------------------------------------------------------------------- -r1166 | oetiker | 2007-07-21 21:55:00 +0200 | 5 lines - -* remove some experimental code from rrd_open -* rrd_dontneed will release all data except for header blocks and RRA hot blocks - which are going to be updated withing 10 minutes. - - ------------------------------------------------------------------------- -r1165 | oetiker | 2007-07-21 21:53:52 +0200 | 3 lines - -for now, do not release fetched data ... in the future we may call rrd_dontneed and let the users decied with an option -if they want to keep the data in cache ... - ------------------------------------------------------------------------- -r1164 | oetiker | 2007-07-21 21:52:17 +0200 | 2 lines - -the fonts are now taken from the system. we do not distribute them anympore - ------------------------------------------------------------------------- -r1163 | oetiker | 2007-07-21 21:37:50 +0200 | 2 lines - -not on update rrd version - ------------------------------------------------------------------------- -r1162 | oetiker | 2007-07-21 00:20:18 +0200 | 2 lines - -we have a new holtwinders aggregation fucntion, so we have a new version ... - ------------------------------------------------------------------------- -r1161 | oetiker | 2007-07-21 00:19:53 +0200 | 2 lines - -check for fadvise all the time - ------------------------------------------------------------------------- -r1160 | oetiker | 2007-07-21 00:16:36 +0200 | 2 lines - -better docs on the aggregate functions - ------------------------------------------------------------------------- -r1159 | oetiker | 2007-07-19 00:02:18 +0200 | 2 lines - -added note on locale - ------------------------------------------------------------------------- -r1158 | oetiker | 2007-07-18 23:59:10 +0200 | 2 lines - -some more piechart removed - ------------------------------------------------------------------------- -r1157 | oetiker | 2007-07-18 23:47:26 +0200 | 1 line - -make sure all ascii to float parsing uses LC_NUMERIC = C so that we do not stuble on locales confusing the , with a . ------------------------------------------------------------------------- -r1156 | oetiker | 2007-07-18 02:30:49 +0200 | 9 lines - -* rrd_open: rrd_close does not purge file from cache -* rrd_open: new function rrd_dontneed for purging un-needed pages from core -* rrd_open: in linux at least only fadivse DONTNEED has the power to purge - pages from cache, so letst call madvise as well as fadvise -* rrd_create: uses open/write/close now, flushes file to disk and keeps only hot pages in core -* rrd_update: keeps only hot pages in core -* configure enables FADVISE even when mmap is in use - - ------------------------------------------------------------------------- -r1155 | oetiker | 2007-07-17 23:46:00 +0200 | 2 lines - -added comment on float cookie - ------------------------------------------------------------------------- -r1154 | oetiker | 2007-07-16 08:37:07 +0200 | 2 lines - -fix for fetch in ruby bindings and support for info added. - ------------------------------------------------------------------------- -r1149 | oetiker | 2007-07-12 22:33:47 +0200 | 2 lines - -improve wording - ------------------------------------------------------------------------- -r1148 | oetiker | 2007-07-12 22:33:37 +0200 | 2 lines - -fix tcl build settup - ------------------------------------------------------------------------- -r1146 | oetiker | 2007-07-12 01:08:47 +0200 | 2 lines - -usr rrd_free for freeing the rrd structs ... vito caputo - ------------------------------------------------------------------------- -r1141 | oetiker | 2007-07-05 17:19:27 +0200 | 2 lines - -prevent potential segfaults on boxes where time_t is not long - ------------------------------------------------------------------------- -r1134 | oetiker | 2007-06-18 20:25:35 +0200 | 2 lines - -fix indentation - ------------------------------------------------------------------------- -r1133 | oetiker | 2007-06-18 18:05:07 +0200 | 8 lines - -Bernhard Fischer: - -- move several static struct option out of loops and makes them - non-static -- moves some functions from old-style definitions into new-style - definitions - - ------------------------------------------------------------------------- -r1132 | oetiker | 2007-06-17 01:20:23 +0200 | 2 lines - -Bernhard is not Benrard - ------------------------------------------------------------------------- -r1130 | oetiker | 2007-06-15 23:49:52 +0200 | 1 line - -notes on evans contribs ------------------------------------------------------------------------- -r1129 | oetiker | 2007-06-15 23:41:54 +0200 | 3 lines - -rrdtool.spec from Jarod "redhat" Wilson - - ------------------------------------------------------------------------- -r1127 | oetiker | 2007-06-15 10:09:13 +0200 | 2 lines - -updated contributors - ------------------------------------------------------------------------- -r1126 | oetiker | 2007-06-15 10:01:04 +0200 | 2 lines - -added note on TEXTALIGN - ------------------------------------------------------------------------- -r1125 | oetiker | 2007-06-15 09:59:01 +0200 | 46 lines - -There are two popular variants of the Holt-Winters forecasting method; RRDtool -supports the "additive" method, which means that seasonal variation is simply -added to the baseline. For our application, it would be more appropriate to use -the "multiplicative" Holt-Winters method, where seasonal variation is a -coefficient multiplied by the baseline. Quick example to illustrate the -difference: if the average doubles season-over-season, the additive method -would predict the delta between min and max to be constant, whereas the -multiplicative method would predict the delta to double as well. - -Attached is a patch against trunk to support the multiplicative method. I've -done this with a new consolidation function, MHWPREDICT, which is essentially -interchangeable with HWPREDICT. There is a noticeable improvement in prediction -deviations for certain types of functions; the attachments show HWPREDICT and -MHWPREDICT predictions for a function with an x*sin(x) component. - -Because HWPREDICT and MHWPREDICT differ only in their equations, I've factored -out their math into rrd_hw_math.c. The appropriate smoothing functions are -passed to the update functions in a container of function pointers, which are -called where appropriate. Thus the additive and multiplicative methods use the -same update functions, and the right equations are evaluated without having -flag checks everywhere. This approach, I think, makes the algorithms quite -clear, with minimal duplicate code. - -I have moved update_hwpredict, update_seasonal, update_devpredict, -update_devseasonal, and update_failures into a separate file, rrd_hw_update.c, -with some slight refactoring related to rrd_hw_math.c. I ran some -regression tests against trunk to make sure I didn't break anything with -the existing HWPREDICT code. - -MHWPREDICT uses the same deviation smoothing and failure detection algorithms -as HWPREDICT. - -Some helpful references on the multiplicative Holt-Winters method: - -http://www.it.iitb.ac.in/~praj/acads/seminar/04329008_ExponentialSmoothing.pdf -(a student's quick overview of additive vs. multiplicative HW) - -http://ideas.repec.org/p/msh/ebswps/1999-1.html (paper on variations to the -multiplicative Holt-Winters, including variance calculations; FYI, my -implementation uses "Model 1") - -My employer and the owner of this patch (IMVU, Inc.) is happy to license it -under the same terms as RRDtool, i.e. give it to the project. --- Evan Miller emiller imvu.com - - ------------------------------------------------------------------------- -r1124 | oetiker | 2007-06-15 08:43:36 +0200 | 2 lines - -oops missed to update the in memory output interface here - ------------------------------------------------------------------------- -r1123 | oetiker | 2007-06-15 08:28:47 +0200 | 3 lines - -added interface to get rendered image via a pointer to allocated memory ... Evan Miller emmiller gmail.com - - ------------------------------------------------------------------------- -r1122 | oetiker | 2007-06-15 08:12:55 +0200 | 2 lines - -improve fontnaming - ------------------------------------------------------------------------- -r1121 | oetiker | 2007-06-14 22:30:13 +0200 | 2 lines - -fixed indentation - ------------------------------------------------------------------------- -r1120 | oetiker | 2007-06-14 22:28:44 +0200 | 1 line - -added TEXTALIGN command to change the default text alignment ------------------------------------------------------------------------- -r1119 | oetiker | 2007-06-13 18:53:32 +0200 | 2 lines - -fixed tcl includes - ------------------------------------------------------------------------- -r1118 | oetiker | 2007-06-13 18:51:06 +0200 | 2 lines - -be more helpful when raising rb_eTypeError in string_arr string_arr_new(VALUE rb_strings). This patch indicates which index is in error as well as the type you are erroneously passing. -- anonymous - ------------------------------------------------------------------------- -r1116 | oetiker | 2007-06-12 22:36:50 +0200 | 6 lines - -Bernhard Fischer: -- fix nulling the updvals -- cosmetic change to move the option struct out of the loop. -- need to operate on a copy of optarg - - ------------------------------------------------------------------------- -r1115 | oetiker | 2007-06-11 21:45:42 +0200 | 2 lines - -added TRENDNAN function -- Timo Stripf - ------------------------------------------------------------------------- -r1114 | oetiker | 2007-06-11 21:45:16 +0200 | 1 line - -allow output to stdout -- Timo Stripf ------------------------------------------------------------------------- -r1113 | oetiker | 2007-06-11 18:49:01 +0200 | 2 lines - -added more news - ------------------------------------------------------------------------- -r1112 | oetiker | 2007-06-11 18:34:51 +0200 | 2 lines - -fixed indentation, added documentation note on gridfitting. - ------------------------------------------------------------------------- -r1111 | oetiker | 2007-06-11 18:33:59 +0200 | 2 lines - -fix arrow locations - ------------------------------------------------------------------------- -r1110 | oetiker | 2007-06-11 18:20:20 +0200 | 2 lines - -disable gridfitting for vector formats - ------------------------------------------------------------------------- -r1109 | oetiker | 2007-06-11 18:14:40 +0200 | 2 lines - -make pdf output work - ------------------------------------------------------------------------- -r1108 | oetiker | 2007-06-11 17:32:41 +0200 | 1 line - -added detail ------------------------------------------------------------------------- -r1107 | oetiker | 2007-06-11 17:11:10 +0200 | 5 lines - ---font-render-mode is back, and there is also ---graph-render-mode now. It allows to enable -mono graphs that look strikingly like rrdtool 1.0.x ---tobi - ------------------------------------------------------------------------- -r1106 | oetiker | 2007-06-11 15:36:40 +0200 | 5 lines - -Bernhard Fischer: -- NEWS mention the new file accessors -- rrd_update.c: remove unused some cruft - - ------------------------------------------------------------------------- -r1105 | oetiker | 2007-06-11 12:09:54 +0200 | 7 lines - -Bernhard Fischer: - -- fix maintaining our file-pos when we have to wrap the rra_ptr in - update(). -- no need to update the header-data a second time for the mmap case. - - ------------------------------------------------------------------------- -r1104 | oetiker | 2007-06-11 02:23:51 +0200 | 2 lines - -updated news - ------------------------------------------------------------------------- -r1103 | oetiker | 2007-06-11 02:22:23 +0200 | 4 lines - -* added some documentation -* updated version number - - ------------------------------------------------------------------------- -r1102 | oetiker | 2007-06-11 01:55:13 +0200 | 2 lines - -switched graphics library from arts to cairo+pango - ------------------------------------------------------------------------- -r1101 | oetiker | 2007-06-04 13:15:11 +0200 | 3 lines - -Bernhard Fischer: -- new configure option --enable-static-programs - ------------------------------------------------------------------------- -r1100 | oetiker | 2007-06-01 21:11:49 +0200 | 5 lines - -Bernhard: -- implement resize SHRINK for FD (mmap is to be done) -- indent - - ------------------------------------------------------------------------- -r1099 | oetiker | 2007-06-01 19:59:25 +0200 | 2 lines - ---full-size-mode with and without --no-legend should work now -- Matthew Chambers - ------------------------------------------------------------------------- -r1098 | oetiker | 2007-06-01 19:35:46 +0200 | 4 lines - -Bernhard -- fill the file with DNAN and add the remaining data in after the fact ... - - ------------------------------------------------------------------------- -r1097 | oetiker | 2007-06-01 19:34:15 +0200 | 3 lines - -Bernhard Fischer -- implement resize, growing part. truncation is to be done. - ------------------------------------------------------------------------- -r1096 | oetiker | 2007-06-01 11:10:33 +0200 | 6 lines - -Bernhard Fischer -- use 'z' length modifier when printing size_t -- add a cast to __rrd_read and document why it is there -- add RANDOM hint for the header - - ------------------------------------------------------------------------- -r1095 | oetiker | 2007-05-31 20:47:13 +0200 | 7 lines - -Bernhard: -- plug tiny mem-leak in error path of rrd_close where freeing the - rrd_file was forgotten. -- improve two error messages -- use CHECK_MADVISE_OVERLAPS per default - - ------------------------------------------------------------------------- -r1094 | oetiker | 2007-05-30 21:56:34 +0200 | 2 lines - -fix rrd_write -- Bernhard Fischer - ------------------------------------------------------------------------- -r1093 | oetiker | 2007-05-30 14:41:39 +0200 | 1 line - -fix indenting ... again ------------------------------------------------------------------------- -r1092 | oetiker | 2007-05-30 14:39:30 +0200 | 6 lines - -From Bernhard Fischer - -- rrd_close(): call close on the file and use rrd_close consistently -- clean up some error paths. The fadvise error path is leaking memory (see XXX in these spots). - - ------------------------------------------------------------------------- -r1089 | oetiker | 2007-05-30 07:23:07 +0200 | 3 lines - -switch for rrd_graph to specify the outer-size of the graph and not just the -size of the canvas: --full-size-mode -- matthew.chambers vanderbilt.edu - ------------------------------------------------------------------------- -r1088 | oetiker | 2007-05-29 23:29:17 +0200 | 22 lines - -More updates from Bernhard Fischer - -- flag rrd_resize's old file with RRD_COPY -- cleanup error-handling pathes in rrd_update and fix a few typos in - comments -- rrd_close(): implement printing mincore results for the rrd if - DEBUG=2 was defined -- rrd_open(): madvise start addresses need to be page-aligned; implement - alternative path to the fine-grained (i.e. exact) madvise by flagging - just the first two pages as needed (see TWO_PAGES). Implement - alternative path that records the last madvise()ed area to avoid - redundant calls to madvise() on identical areas (due to - page-alignment constraints) -- see CHECK_MADVISE_OVERLAPS. Implement - path for USE_DIRECT_IO. -- configure: add check for O_DIRECT flag to open(2). Add option - --enable-direct-io. Add _GNU_SOURCE to CFLAGS to silence warnings - about chroot which is marked LEGACY since SUSv2 and is a non POSIX - extension. Make checks for posix_fadvise() dependant on - --disable-mmap, since we do not need fadvise for the mmap case. - - - ------------------------------------------------------------------------- -r1086 | oetiker | 2007-05-25 17:24:32 +0200 | 2 lines - -tobis old cruft removal program ... - ------------------------------------------------------------------------- -r1085 | oetiker | 2007-05-25 15:14:35 +0200 | 8 lines - -updates from Bernhard Fischer rep dot nop gmail com -- add some more rrd_sterror calls to failure paths. -- make rrdtool updatev work like 1.2.23 (i.e. multiple values are still - broken, but at least updating a single value works; see - http://oss.oetiker.ch/rrdtool-trac/ticket/8) -- indent touched files. - - ------------------------------------------------------------------------- -r1084 | oetiker | 2007-05-25 15:12:07 +0200 | 19 lines - -Updates from Bernhard Fischer rep dot nop gmail com -- fix typo in rrd_fetch where rrd_read result was checked against an - incorrect size. -- in rrd_fetch, drop rrd_head_size in favour of rrd_file->header_len -- in rrd_fetch, make the message "post fetch" unambiguous (now past vs. - post). -- change usage of param rdwr of rrd_open: allow for RRD_READONLY, - RRD_READWRITE, RRD_CREAT, RRD_READAHEAD; adjust callers accordingly: - + rrd_resize needs CREAT - + rrd_dump may want READAHEAD -- implement FD based I/O in rrd_open, rrd_read, rrd_write, rrd_seek. -- in rrd_update, unify write_RRA_row(). -- sort | uniq the -T in .indent.pro (info_t was duplicated) -- add stub of an option to use O_DIRECT to the configury -- in Makefile.am, simplify the "indent" invocation of find: - My find may not support "-o" resp. "-or" nor braces. - Using -name "*.[ch]" works everywhere, AFAIK. - - ------------------------------------------------------------------------- -r1083 | oetiker | 2007-05-24 10:26:39 +0200 | 2 lines - -use proper preprocessor directives for the config-checks. -- tobi - ------------------------------------------------------------------------- -r1082 | oetiker | 2007-05-24 09:21:48 +0200 | 2 lines - -fixed version number for development - ------------------------------------------------------------------------- -r1081 | oetiker | 2007-05-24 08:16:01 +0200 | 3 lines - -indent all the rest of the code, and add some typedefs to indent.pro -there is now a indent makefile target - ------------------------------------------------------------------------- -r1080 | oetiker | 2007-05-23 23:40:21 +0200 | 2 lines - -removed superfluouse code - ------------------------------------------------------------------------- -r1079 | oetiker | 2007-05-23 23:39:58 +0200 | 2 lines - -added more indenting rules - ------------------------------------------------------------------------- -r1078 | oetiker | 2007-05-23 23:33:45 +0200 | 3 lines - -reindented everything according to .indent.pro - - ------------------------------------------------------------------------- -r1077 | oetiker | 2007-05-23 22:57:43 +0200 | 2 lines - -profile must be in the source directory to work - ------------------------------------------------------------------------- -r1076 | oetiker | 2007-05-23 22:57:24 +0200 | 2 lines - -tabs be gone! - ------------------------------------------------------------------------- -r1075 | oetiker | 2007-05-23 22:42:13 +0200 | 4 lines - -* progress in moving all the fileaccess over to a wrapper system that can do fd based and mmap based fileaccess transparently ... -* small fixes left and right to improve code quality and stability. --- Bernhard Fischer rep dot nop gmail com - ------------------------------------------------------------------------- -r1074 | oetiker | 2007-05-23 18:10:23 +0200 | 2 lines - -we are going to use indent from now on to keep code indenting consistent throughout the project - ------------------------------------------------------------------------- -r1073 | oetiker | 2007-05-23 18:08:14 +0200 | 2 lines - -new trunk based on current 1.2 - ------------------------------------------------------------------------- -r1071 | oetiker | 2007-05-22 22:46:25 +0200 | 2 lines - -fixed spelling - ------------------------------------------------------------------------- -r1070 | oetiker | 2007-05-22 22:44:57 +0200 | 4 lines - -* better tests for madvise, fadvise and fdatasync -* fix inclusion of fcntl.h -* clenups for configure.ac -- Bernhard Fischer rep dot nop gmail com - ------------------------------------------------------------------------- -r1067 | oetiker | 2007-05-19 07:47:29 +0200 | 2 lines - -update defines according to manual pageentry - ------------------------------------------------------------------------- -r1066 | oetiker | 2007-05-18 18:40:55 +0200 | 2 lines - -added madvise MADV_RANDOM is rrd_update uses mmap - ------------------------------------------------------------------------- -r1065 | oetiker | 2007-05-18 13:56:34 +0200 | 5 lines - -* dropping in rrd_update is probably overkill since we may be dropping too much. -* in create we have to flush before dropping. -* read fcntl.h after defining the __USE_XOPEN2K -* fix drop code in fetch ... - ------------------------------------------------------------------------- -r1064 | oetiker | 2007-05-17 13:38:54 +0200 | 2 lines - -now the fadvise code actually compiles ... let the testing begin. - ------------------------------------------------------------------------- -r1063 | oetiker | 2007-05-17 10:44:26 +0200 | 2 lines - -new better ? performance test ... work in progress - ------------------------------------------------------------------------- -r1062 | oetiker | 2007-05-17 10:44:06 +0200 | 7 lines - -added posix_fadvise support (untested) ... this should help performance by -stopping read-ahead and droping buffer cache for all rrd data except the -file header portion. Newly created files are fdsynced to disk and released -from cache after creation, to soften the blow on buffer cache by creating -new rrds. - - ------------------------------------------------------------------------- -r1061 | oetiker | 2007-05-16 22:35:56 +0200 | 2 lines - -remove tabs and replace with 8 spaces - ------------------------------------------------------------------------- -r1060 | oetiker | 2007-05-15 10:39:17 +0200 | 2 lines - -use libdir instead of exec_prefix/lib ... maybe someone wants their libraries in another place - ------------------------------------------------------------------------- -r1059 | oetiker | 2007-05-15 10:36:52 +0200 | 2 lines - -yet another attempt to make the python build environment REALY cool - ------------------------------------------------------------------------- -r1057 | oetiker | 2007-05-09 17:26:57 +0200 | 3 lines - -make sure the python extension gets the final resting place of the rrdlibrary compiled in ... - - ------------------------------------------------------------------------- -r1056 | oetiker | 2007-05-08 17:10:21 +0200 | 3 lines - -ruby complained about finding a previous copy of the rrdtool extension ... very odd thing actually ... -adding RUBYARCHDIR= seems to help ... - ------------------------------------------------------------------------- -r1055 | oetiker | 2007-05-06 21:38:22 +0200 | 2 lines - -don't use round since it is c99 ... use floor(x+0.5) for positive numbers instead. - ------------------------------------------------------------------------- -r1054 | oetiker | 2007-05-06 10:50:11 +0200 | 2 lines - -print the name of the HW cf in debug mode -- Helge Oldach - ------------------------------------------------------------------------- -r1053 | oetiker | 2007-05-03 14:49:44 +0200 | 2 lines - -added some more rounding for int to float comparisons - ------------------------------------------------------------------------- -r1052 | oetiker | 2007-05-03 14:43:15 +0200 | 2 lines - -Testing an double and an integer for equality is bound to produce odd results on times. Don't do it! -- rrdtool@oldach.net - ------------------------------------------------------------------------- -r1050 | oetiker | 2007-05-02 20:06:05 +0200 | 1 line - -prepare for the release of rrdtool-1.2.23 ------------------------------------------------------------------------- -r1049 | oetiker | 2007-05-02 20:05:37 +0200 | 2 lines - -fix python install for virgin systems - ------------------------------------------------------------------------- -r1047 | oetiker | 2007-05-02 17:31:29 +0200 | 1 line - -prepare for the release of rrdtool-1.2.22 ------------------------------------------------------------------------- -r1046 | oetiker | 2007-05-02 17:31:05 +0200 | 2 lines - -fixed old urls in code - ------------------------------------------------------------------------- -r1045 | oetiker | 2007-05-02 17:23:34 +0200 | 2 lines - -fix python for staged installs - ------------------------------------------------------------------------- -r1044 | oetiker | 2007-05-02 07:08:21 +0200 | 2 lines - -fixed path to rrd_format.h in tcl bindings - ------------------------------------------------------------------------- -r1042 | oetiker | 2007-05-01 22:41:59 +0200 | 1 line - -prepare for the release of rrdtool-1.2.21 ------------------------------------------------------------------------- -r1041 | oetiker | 2007-05-01 22:40:15 +0200 | 2 lines - -if the graph goes 'down' minval must be hanged instead - ------------------------------------------------------------------------- -r1039 | oetiker | 2007-05-01 18:36:02 +0200 | 1 line - -prepare for the release of rrdtool-1.2.20 ------------------------------------------------------------------------- -r1038 | oetiker | 2007-05-01 18:24:03 +0200 | 2 lines - -updated win32 and netware Makefiles -- Guenter Knauf - ------------------------------------------------------------------------- -r1037 | oetiker | 2007-05-01 18:23:19 +0200 | 2 lines - -added some const casts - ------------------------------------------------------------------------- -r1036 | oetiker | 2007-05-01 18:19:47 +0200 | 3 lines - -added --alt-autoscale-min (see --alt-autoscale-max) -- Helge Oldach - - ------------------------------------------------------------------------- -r1032 | oetiker | 2007-04-10 07:43:34 +0200 | 2 lines - -untabified rrd_graph.c - ------------------------------------------------------------------------- -r1031 | oetiker | 2007-04-10 07:41:50 +0200 | 2 lines - -use the shorthand for vidx ... - ------------------------------------------------------------------------- -r1030 | oetiker | 2007-04-10 07:27:04 +0200 | 2 lines - -the rrd_graph_check_vname function is not used anywhere in the code ... - ------------------------------------------------------------------------- -r1029 | oetiker | 2007-04-06 09:28:33 +0200 | 2 lines - -release font resources after thy have been used ... -- Travis Spencer - ------------------------------------------------------------------------- -r1028 | oetiker | 2007-04-02 08:21:19 +0200 | 6 lines - -new function rrd_fetch_r() (and make the -strings const char* instead of char*). The only difference between -rrd_fetch_r() and rrd_fetch_fn() is that rrd_fetch_r() receives the -consolidation function as a string (instead of an enum cf_en) and is thread-safe -- Sam Umbach - - ------------------------------------------------------------------------- -r1027 | oetiker | 2007-04-02 08:18:15 +0200 | 2 lines - -make xml2rrd more robust on invalid input -- Florian Forster - ------------------------------------------------------------------------- -r1026 | oetiker | 2007-03-29 21:08:26 +0200 | 2 lines - -added vardef - ------------------------------------------------------------------------- -r1021 | oetiker | 2007-03-15 22:10:18 +0100 | 2 lines - -fix the snprintf call for vtag ... it was using the wrong size -- kili - ------------------------------------------------------------------------- -r1020 | oetiker | 2007-03-15 22:03:51 +0100 | 2 lines - -fixed strerror_r usage ... #85 - ------------------------------------------------------------------------- -r1019 | oetiker | 2007-03-11 14:08:31 +0100 | 2 lines - -fix netware and win32 makefiles for new getopt names - ------------------------------------------------------------------------- -r1018 | oetiker | 2007-03-11 14:04:41 +0100 | 2 lines - -enable ID keyword in all source files - ------------------------------------------------------------------------- -r1017 | oetiker | 2007-03-11 13:57:38 +0100 | 2 lines - -do not use gnuisms in Makefile rules ($<) - ------------------------------------------------------------------------- -r1016 | oetiker | 2007-03-11 13:41:46 +0100 | 2 lines - -use Guenters latest Netware Makefile ... - ------------------------------------------------------------------------- -r1014 | oetiker | 2007-03-10 18:44:12 +0100 | 2 lines - -axe the double quotes on $perlcc in configure to allow for program names with arguments. - ------------------------------------------------------------------------- -r1013 | oetiker | 2007-03-10 18:36:32 +0100 | 2 lines - -integers can be negative ... fixed the test for this in rrd_update -- rians cc usu edu - ------------------------------------------------------------------------- -r1012 | oetiker | 2007-03-03 12:03:38 +0100 | 4 lines - -* build extensions last since this seems to be most likely to fail -* do more testing before building the ruby extension - - ------------------------------------------------------------------------- -r1010 | oetiker | 2007-02-24 18:23:02 +0100 | 2 lines - -fix memmory problem in rrd_dump.c - ------------------------------------------------------------------------- -r1008 | oetiker | 2007-02-14 19:54:29 +0100 | 2 lines - -new operator ABS added -- - ------------------------------------------------------------------------- -r1007 | oetiker | 2007-02-14 19:48:21 +0100 | 2 lines - -renamed getopt to rrd_getopt to avoid confusion on some systems ... - ------------------------------------------------------------------------- -r1006 | oetiker | 2007-02-14 19:47:41 +0100 | 2 lines - -cosmetic fix for usage message -- günter knauff - ------------------------------------------------------------------------- -r1005 | oetiker | 2007-02-14 19:46:56 +0100 | 2 lines - -added new win32 component to the release tarball - ------------------------------------------------------------------------- -r1004 | oetiker | 2007-02-14 19:46:16 +0100 | 2 lines - -updates to the windows build system by guenter knauff - ------------------------------------------------------------------------- -r1003 | oetiker | 2007-02-14 07:53:01 +0100 | 2 lines - -allow --units-length to reserve label space even when --y-grid=none is in effect [#75], tobi - ------------------------------------------------------------------------- -r1002 | oetiker | 2007-02-14 07:33:49 +0100 | 3 lines - -parsing absolute time should not send us 30,000 years into the future -- Tatsuki Makino tatsuki_makino hotmail.com - - ------------------------------------------------------------------------- -r1001 | oetiker | 2007-02-14 07:31:52 +0100 | 3 lines - -Printstrftime on rrd_cgi.c returns an illegal value. It causes segmentation fault error. -- Tatsuki Makino tatsuki_makino hotmail.com - - ------------------------------------------------------------------------- -r998 | oetiker | 2007-02-09 23:19:48 +0100 | 2 lines - -more build patches from Günter Knauf - ------------------------------------------------------------------------- -r997 | oetiker | 2007-02-08 07:01:43 +0100 | 2 lines - -updates for Win32 and NW Makefiles -- Guenter Knauf - ------------------------------------------------------------------------- -r996 | oetiker | 2007-02-08 06:54:23 +0100 | 2 lines - -added get_ver.awk to release - ------------------------------------------------------------------------- -r995 | oetiker | 2007-02-08 06:51:48 +0100 | 2 lines - -there is no Makefile.in for python anymore! - ------------------------------------------------------------------------- -r994 | oetiker | 2007-02-07 22:35:39 +0100 | 2 lines - -DPRINTF may not be the ideal define ... use something more RRDish ... like RRDPRINTF - ------------------------------------------------------------------------- -r993 | oetiker | 2007-02-07 22:35:07 +0100 | 2 lines - -use setup.py for python install and build work instad of trying todo it on our own - ------------------------------------------------------------------------- -r992 | oetiker | 2007-02-07 22:31:33 +0100 | 2 lines - -added Makefile targets for python - ------------------------------------------------------------------------- -r991 | oetiker | 2007-02-07 22:30:18 +0100 | 2 lines - -python does no get built externally - ------------------------------------------------------------------------- -r990 | oetiker | 2007-02-02 19:22:34 +0100 | 2 lines - -added IBM Public License to the list of Exceptions - ------------------------------------------------------------------------- -r989 | oetiker | 2007-02-02 13:19:12 +0100 | 2 lines - -increasse portability (no // comment, no ... arguments for cpp) - ------------------------------------------------------------------------- -r988 | oetiker | 2007-02-01 23:00:23 +0100 | 3 lines - -we should use the headers from the local rrdtool setup and not the system ones! - - ------------------------------------------------------------------------- -r986 | oetiker | 2007-02-01 06:51:34 +0100 | 1 line - -prepare for the release of rrdtool-1.2.19 ------------------------------------------------------------------------- -r985 | oetiker | 2007-02-01 06:45:03 +0100 | 3 lines - -libtool builds shared libraries anyway, no need for extra LDFLAGS -that bite non GNU ld versions - ------------------------------------------------------------------------- -r979 | oetiker | 2007-01-29 17:47:28 +0100 | 2 lines - -resolve snprintf overflow warning by using sizeof -- Anna Bernathova suse cz - ------------------------------------------------------------------------- -r977 | oetiker | 2007-01-23 21:54:46 +0100 | 1 line - -prepare for the release of rrdtool-1.2.18 ------------------------------------------------------------------------- -r976 | oetiker | 2007-01-23 21:52:35 +0100 | 4 lines - -the change from R920 to fetch was not helping ... no low res got prefered in -non full coverage situations .. - - ------------------------------------------------------------------------- -r975 | oetiker | 2007-01-23 18:30:27 +0100 | 2 lines - -another control sequence that got lost ... - ------------------------------------------------------------------------- -r974 | oetiker | 2007-01-23 09:28:56 +0100 | 2 lines - -read up to full potential length of gdp->rrd - ------------------------------------------------------------------------- -r972 | oetiker | 2007-01-22 17:34:55 +0100 | 2 lines - -added missing B formatting instruction - ------------------------------------------------------------------------- -r971 | oetiker | 2007-01-22 11:49:19 +0100 | 2 lines - -create non version link - ------------------------------------------------------------------------- -r969 | oetiker | 2007-01-22 11:33:30 +0100 | 1 line - -prepare for the release of rrdtool-1.2.17 ------------------------------------------------------------------------- -r968 | oetiker | 2007-01-22 11:29:11 +0100 | 1 line - -prepare for the release of rrdtool-1.2.17 ------------------------------------------------------------------------- -r967 | oetiker | 2007-01-22 11:28:39 +0100 | 6 lines - -introduced \n as an alias for \l since people seem to be using it despite -the documentation not talking about this ... so now it is official and I bet -there will soon be people asking why this was only working at the end of a -line. -- tobi - - ------------------------------------------------------------------------- -r966 | oetiker | 2007-01-21 23:22:30 +0100 | 2 lines - -removed mentiones of \n ... - ------------------------------------------------------------------------- -r962 | oetiker | 2007-01-20 23:54:25 +0100 | 1 line - -prepare for the release of rrdtool-1.2.16 ------------------------------------------------------------------------- -r961 | oetiker | 2007-01-20 23:48:37 +0100 | 1 line - -prepare for the release of rrdtool-1.2.16 ------------------------------------------------------------------------- -r960 | oetiker | 2007-01-20 23:22:10 +0100 | 1 line - -prepare for the release of rrdtool-1.2.16 ------------------------------------------------------------------------- -r959 | oetiker | 2007-01-20 21:19:13 +0100 | 1 line - -prepare for the release of rrdtool-1.2.16 ------------------------------------------------------------------------- -r958 | oetiker | 2007-01-20 21:17:31 +0100 | 1 line - -prepare for the release of rrdtool-1.2.16 ------------------------------------------------------------------------- -r957 | oetiker | 2007-01-20 21:16:15 +0100 | 1 line - -prepare for the release of rrdtool-1.2.16 ------------------------------------------------------------------------- -r956 | oetiker | 2007-01-20 21:03:14 +0100 | 2 lines - -this did not compile after integrating the new fetchlast command -- Andy Riebs - ------------------------------------------------------------------------- -r955 | oetiker | 2007-01-20 17:41:15 +0100 | 1 line - -prepare for the release of rrdtool-1.2.16 ------------------------------------------------------------------------- -r954 | oetiker | 2007-01-20 17:39:32 +0100 | 2 lines - -get ready for 1.2.16 release - ------------------------------------------------------------------------- -r953 | oetiker | 2007-01-19 00:43:26 +0100 | 2 lines - -aargh another missing bit from lastupdate added ... - ------------------------------------------------------------------------- -r952 | oetiker | 2007-01-18 00:35:01 +0100 | 2 lines - -finish integration of lastupdate commmand ... - ------------------------------------------------------------------------- -r951 | oetiker | 2007-01-17 22:31:23 +0100 | 4 lines - -New functions lastupdate to efficiently get the last values fed into the rrd ... this also changes that the last values -get stored even for ABSOLUTE and GAUGE data sources ... -- andy.riebs hp.com - - ------------------------------------------------------------------------- -r938 | oetiker | 2006-12-16 17:14:43 +0100 | 2 lines - -add missing \0 to the end of several strncpy strings - ------------------------------------------------------------------------- -r937 | oetiker | 2006-12-16 17:13:53 +0100 | 5 lines - -replace malloc/strncpy by strdup -add \0 to the end of several strncpy strings -add missing free -fix error string rendering :... makes no sense here - ------------------------------------------------------------------------- -r936 | oetiker | 2006-12-16 17:11:46 +0100 | 2 lines - -move headers around to make more sense - ------------------------------------------------------------------------- -r935 | oetiker | 2006-12-16 17:10:58 +0100 | 2 lines - -init the context on first call - ------------------------------------------------------------------------- -r934 | oetiker | 2006-12-16 17:05:07 +0100 | 2 lines - -make sure there is ample space in the static strings - ------------------------------------------------------------------------- -r933 | oetiker | 2006-12-16 17:04:05 +0100 | 2 lines - -oops 99 is the last item - ------------------------------------------------------------------------- -r932 | oetiker | 2006-12-16 17:02:43 +0100 | 3 lines - -it is sufficient to set the last item to 0 - - ------------------------------------------------------------------------- -r931 | oetiker | 2006-12-16 17:02:00 +0100 | 2 lines - -getopt is required for rrdupdate too (there are platforms where this is not in libc ... eg solaris) - ------------------------------------------------------------------------- -r930 | oetiker | 2006-12-16 17:01:25 +0100 | 2 lines - -we have 2006 now - ------------------------------------------------------------------------- -r929 | oetiker | 2006-12-16 16:56:26 +0100 | 4 lines - -it makes no sense allocating an array and then asiging it to a fixed string ... -this caused stuff to crash badly as long error strings were assigned. - - ------------------------------------------------------------------------- -r927 | oetiker | 2006-12-11 20:11:36 +0100 | 2 lines - -added note on alternate CFLAGS for Forte - ------------------------------------------------------------------------- -r925 | oetiker | 2006-12-07 20:51:59 +0100 | 2 lines - -c is a valid formatting character - ------------------------------------------------------------------------- -r922 | oetiker | 2006-11-19 12:15:32 +0100 | 2 lines - -fixed typo - ------------------------------------------------------------------------- -r920 | oetiker | 2006-11-06 07:53:13 +0100 | 4 lines - -when fetching, don't pick a higher res rra just because it's coverage at the 'end' of the -requested range is better ... -- Sebastian Pachuta seba123 seba123.webd.pl - - ------------------------------------------------------------------------- -r919 | oetiker | 2006-10-27 16:03:22 +0200 | 2 lines - -use integer time - ------------------------------------------------------------------------- -r918 | oetiker | 2006-10-27 00:26:31 +0200 | 2 lines - -added perftest tool - ------------------------------------------------------------------------- -r917 | oetiker | 2006-10-25 19:19:46 +0200 | 2 lines - -do not distribute windows files anymore ... - ------------------------------------------------------------------------- -r916 | oetiker | 2006-10-25 19:18:27 +0200 | 2 lines - -distribute win32 and netware build files too - ------------------------------------------------------------------------- -r915 | oetiker | 2006-10-25 19:17:07 +0200 | 2 lines - -do not remove Makefiles from win32 and netware build dirs - ------------------------------------------------------------------------- -r914 | oetiker | 2006-10-25 19:12:22 +0200 | 3 lines - -fix build procedure for ruby (clean target) -don't run autoreconf at the end of MakeMakefiles as this has a tendency todo the wrong things - ------------------------------------------------------------------------- -r913 | oetiker | 2006-10-25 18:39:31 +0200 | 2 lines - -added path to sepp - ------------------------------------------------------------------------- -r912 | oetiker | 2006-10-25 18:30:39 +0200 | 2 lines - -aclocal expects a space after -I ... - ------------------------------------------------------------------------- -r911 | oetiker | 2006-10-25 18:24:44 +0200 | 2 lines - -tell aclocal where to find its config ... - ------------------------------------------------------------------------- -r910 | oetiker | 2006-10-25 18:11:57 +0200 | 2 lines - -aclocal show know where it's stuff is ... - ------------------------------------------------------------------------- -r908 | oetiker | 2006-10-22 23:20:45 +0200 | 8 lines - -make time paring more robust ... it can now deal with - -time date -date time -time date + xxx -date time + xxx - - ------------------------------------------------------------------------- -r907 | oetiker | 2006-10-22 23:09:27 +0200 | 2 lines - -check if valid control codes are in use - ------------------------------------------------------------------------- -r906 | oetiker | 2006-10-22 18:01:42 +0200 | 2 lines - -fixed ruby demo - ------------------------------------------------------------------------- -r905 | oetiker | 2006-10-22 18:01:32 +0200 | 2 lines - -fixed address - ------------------------------------------------------------------------- -r903 | oetiker | 2006-10-03 09:52:51 +0200 | 2 lines - -added missing file - ------------------------------------------------------------------------- -r902 | oetiker | 2006-09-28 14:38:34 +0200 | 2 lines - -fixed doc regarding site install - ------------------------------------------------------------------------- -r901 | oetiker | 2006-09-27 23:48:05 +0200 | 2 lines - -added ruby bindings ... thanks to Loïs LHERBIER lois.lherbier covadis.ch - ------------------------------------------------------------------------- -r900 | oetiker | 2006-09-27 23:46:23 +0200 | 2 lines - -make rrdupdate realy light as it was intended in the first place -- Peter Breitenlohner peb mppmu.mpg.de - ------------------------------------------------------------------------- -r899 | oetiker | 2006-09-27 23:45:47 +0200 | 1 line - -tod can come after the date as well as before the date ------------------------------------------------------------------------- -r898 | oetiker | 2006-09-18 07:45:16 +0200 | 2 lines - -fix faild netware makefile merge -- Guenter Knauf - ------------------------------------------------------------------------- -r897 | oetiker | 2006-09-17 23:08:29 +0200 | 2 lines - -make mvs stop complaining about uninitialized variables ... -- norman wheeler bigpond.com - ------------------------------------------------------------------------- -r896 | oetiker | 2006-09-17 23:05:18 +0200 | 2 lines - -fixed spelling -- Peter Breitenlohner - ------------------------------------------------------------------------- -r895 | oetiker | 2006-09-17 22:46:17 +0200 | 3 lines - -fix generation of cgi-demo.cgi -- Peter Breitenlohner peb mppmu.mpg.de - - ------------------------------------------------------------------------- -r894 | oetiker | 2006-09-17 22:31:26 +0200 | 4 lines - -make rrdtool use rrd_config.h instead of config.h since this is just bound to lead to confusion when the wrong config.h gets sourced -- Guenter Knauf -fix clean target in bindings directory - - ------------------------------------------------------------------------- -r893 | oetiker | 2006-09-10 21:30:22 +0200 | 2 lines - -the msvc files need dos file endings ... - ------------------------------------------------------------------------- -r892 | oetiker | 2006-09-10 21:26:05 +0200 | 2 lines - -we want an int, so lets tell the compiler to make it not complain - ------------------------------------------------------------------------- -r891 | oetiker | 2006-09-10 21:20:59 +0200 | 2 lines - -netware und win32 fixes from guenter - ------------------------------------------------------------------------- -r890 | oetiker | 2006-09-05 21:55:36 +0200 | 2 lines - -we do not need an extra echo there - ------------------------------------------------------------------------- -r889 | oetiker | 2006-09-05 20:34:47 +0200 | 2 lines - -put all the architecture specific stuff in separate subdirectories ... one for netwara and one for win32 -- Guenter Knauf - ------------------------------------------------------------------------- -r888 | oetiker | 2006-09-05 20:19:02 +0200 | 3 lines - -noone needs this anymore - - ------------------------------------------------------------------------- -r887 | oetiker | 2006-09-04 23:10:55 +0200 | 1 line - -in logarithmic mode minval must not be <= 0 ------------------------------------------------------------------------- -r883 | oetiker | 2006-08-24 06:14:54 +0200 | 2 lines - -add more submission encuragement -- alex - ------------------------------------------------------------------------- -r882 | oetiker | 2006-08-21 13:41:57 +0200 | 2 lines - -updated windows build instructions from guenter - ------------------------------------------------------------------------- -r881 | oetiker | 2006-08-16 08:07:26 +0200 | 2 lines - -contain a potential problem with log grid painting Bug #54 - ------------------------------------------------------------------------- -r880 | oetiker | 2006-08-15 07:51:04 +0200 | 1 line - -do not loose filedescriptors when rrd_first errors out ------------------------------------------------------------------------- -r879 | oetiker | 2006-08-15 07:44:54 +0200 | 2 lines - -catch empty XXXX: commands in graph - ------------------------------------------------------------------------- -r878 | oetiker | 2006-08-15 07:24:39 +0200 | 2 lines - -windows is not NT anymore ... lets call it WIN32 - ------------------------------------------------------------------------- -r877 | oetiker | 2006-08-13 18:41:23 +0200 | 2 lines - -use unix fileendings here! - ------------------------------------------------------------------------- -r876 | oetiker | 2006-08-13 18:40:17 +0200 | 2 lines - -new version added by Guenter Knauf - ------------------------------------------------------------------------- -r875 | oetiker | 2006-08-13 18:25:00 +0200 | 3 lines - -added new rrdstrversion function -- Guenter Knauf - - ------------------------------------------------------------------------- -r874 | oetiker | 2006-08-13 18:22:53 +0200 | 3 lines - -use th OS provided timezone names for %Z this should make things more flexile -will only work on windows, but since we are using strftime.c on windows only this should not be a problem -- Guenter Knauf - ------------------------------------------------------------------------- -r873 | oetiker | 2006-08-13 18:13:13 +0200 | 2 lines - -include strftime.h for windows builds -- Guenter Knauff - ------------------------------------------------------------------------- -r872 | oetiker | 2006-08-13 18:10:23 +0200 | 2 lines - -removed mscv defines to confignt/config.h completely -- Guenter Knauf - ------------------------------------------------------------------------- -r871 | oetiker | 2006-08-13 18:09:25 +0200 | 2 lines - -working windows config.h - ------------------------------------------------------------------------- -r870 | oetiker | 2006-08-13 18:07:36 +0200 | 3 lines - -can't define new variables in the middle of the code (unless everyone was using c99 which is not the case) - - ------------------------------------------------------------------------- -r869 | oetiker | 2006-08-13 17:21:12 +0200 | 3 lines - -added special labeling for LONGTERM graphs -- Paul Boven p.boven sara.nl - - ------------------------------------------------------------------------- -r867 | oetiker | 2006-08-10 09:46:22 +0200 | 2 lines - -it seems some headers have nan predefined ... so lets just use other variable names - ------------------------------------------------------------------------- -r866 | oetiker | 2006-08-04 17:06:18 +0200 | 2 lines - -copy of the solaris isnan hack from configure.ac - ------------------------------------------------------------------------- -r865 | oetiker | 2006-08-04 00:21:37 +0200 | 3 lines - -solaris 10 has isnan defined as a sun forte builtin ... gcc can not deal with this -this will replace isnan with an fpclass expression hopefully working around the problem - ------------------------------------------------------------------------- -r864 | oetiker | 2006-08-02 17:05:36 +0200 | 3 lines - -fixing python bindings ... Jarod Wilson jwilson redhat.com - - ------------------------------------------------------------------------- -r863 | oetiker | 2006-08-01 15:08:33 +0200 | 2 lines - -unknownaszero was not a good idea ... bye bye - ------------------------------------------------------------------------- -r862 | oetiker | 2006-08-01 00:48:45 +0200 | 2 lines - -new options --enumds and --unknwonaszero for xport - ------------------------------------------------------------------------- -r860 | oetiker | 2006-07-14 14:11:16 +0200 | 1 line - -prepare for the release of rrdtool-1.2.15 ------------------------------------------------------------------------- -r859 | oetiker | 2006-07-14 14:06:09 +0200 | 1 line - -we were leaking directory handles ... ------------------------------------------------------------------------- -r858 | oetiker | 2006-07-14 13:34:23 +0200 | 1 line - -remove an excess =over ------------------------------------------------------------------------- -r857 | oetiker | 2006-07-14 13:32:39 +0200 | 2 lines - -added missing =over - ------------------------------------------------------------------------- -r855 | oetiker | 2006-07-14 13:12:45 +0200 | 1 line - -prepare for the release of rrdtool-1.2.14 ------------------------------------------------------------------------- -r854 | oetiker | 2006-07-14 11:47:34 +0200 | 2 lines - -do not reset im->gdes[i].step blindly. We initialize it to im->step at allocation time already ... the fix in r291 was over the top. -- niels weaklogic.com - ------------------------------------------------------------------------- -r853 | oetiker | 2006-07-14 10:56:28 +0200 | 3 lines - -added pwd command for remote server -reset errno to zero before each loop -- Damien.Stuart usi.net - ------------------------------------------------------------------------- -r852 | oetiker | 2006-07-13 10:44:47 +0200 | 2 lines - -fixed makefiles without libcgi ... guenter knauf - ------------------------------------------------------------------------- -r851 | oetiker | 2006-07-08 00:37:20 +0200 | 2 lines - -added first function to python bindings ... -- Ulf Lilleengen lulf pvv.ntnu.no - ------------------------------------------------------------------------- -r850 | oetiker | 2006-07-06 00:00:25 +0200 | 2 lines - -we have no cgilib anymore .... - ------------------------------------------------------------------------- -r849 | oetiker | 2006-07-04 23:04:12 +0200 | 2 lines - -let rrdtool understand headers in rrdtool restore input - ------------------------------------------------------------------------- -r847 | oetiker | 2006-06-18 23:21:56 +0200 | 3 lines - -Added AVG function to CDEF language. Martin Sperl martin sperl.org - - ------------------------------------------------------------------------- -r846 | oetiker | 2006-06-16 00:16:04 +0200 | 2 lines - -fixed libpng link - ------------------------------------------------------------------------- -r845 | oetiker | 2006-06-15 09:44:22 +0200 | 2 lines - -added hint for RHEL - ------------------------------------------------------------------------- -r843 | oetiker | 2006-06-13 23:20:36 +0200 | 2 lines - -added missing tcl files - ------------------------------------------------------------------------- -r842 | oetiker | 2006-06-07 23:01:35 +0200 | 2 lines - -fix calc of fahrenheit ... - ------------------------------------------------------------------------- -r841 | oetiker | 2006-06-06 15:25:32 +0200 | 2 lines - -additional AIX hints from zoran.majcenic inet.hr - ------------------------------------------------------------------------- -r840 | oetiker | 2006-06-06 10:16:05 +0200 | 3 lines - -new, working rrdtool.spec file from Jarod Wilson jwilson redhat.com - - ------------------------------------------------------------------------- -r839 | oetiker | 2006-05-27 07:44:15 +0200 | 2 lines - -python uses the name of the module for loding, so this should better match up -- Duncan Webb duncan dwebb ch - ------------------------------------------------------------------------- -r838 | oetiker | 2006-05-25 17:13:56 +0200 | 2 lines - -addeed AIX instructions - ------------------------------------------------------------------------- -r837 | oetiker | 2006-05-23 08:52:22 +0200 | 2 lines - -adjust label spacing to make sure labels don't overlap for the default font. - ------------------------------------------------------------------------- -r836 | oetiker | 2006-05-22 00:14:27 +0200 | 2 lines - -add note about variable name picking as suggested by alex - ------------------------------------------------------------------------- -r835 | oetiker | 2006-05-22 00:07:02 +0200 | 1 line - -another Makefile update from guenter ------------------------------------------------------------------------- -r834 | oetiker | 2006-05-22 00:06:17 +0200 | 2 lines - -tiny updates to netware and win32 makefiles -- Guenter Knauf - ------------------------------------------------------------------------- -r833 | oetiker | 2006-05-21 23:53:57 +0200 | 2 lines - -fixed type hte->the - ------------------------------------------------------------------------- -r832 | oetiker | 2006-05-21 23:47:23 +0200 | 3 lines - -make vdef time part available in the data_calc stage so that the legend printer -can decide properly - ------------------------------------------------------------------------- -r831 | oetiker | 2006-05-21 23:15:39 +0200 | 2 lines - -new GPRINT option :strftime to print time associated with a VDEF value - ------------------------------------------------------------------------- -r830 | oetiker | 2006-05-21 22:20:11 +0200 | 2 lines - -make configure test which flags gcc actually accepts ... - ------------------------------------------------------------------------- -r829 | oetiker | 2006-05-21 15:08:46 +0200 | 2 lines - -don't deprecate HRULE anymore - ------------------------------------------------------------------------- -r828 | oetiker | 2006-05-21 14:37:12 +0200 | 2 lines - -allow DS names starting with the same letters as operators - ------------------------------------------------------------------------- -r827 | oetiker | 2006-05-12 15:26:00 +0200 | 2 lines - -we wan't to dist thread_save_nt too - ------------------------------------------------------------------------- -r826 | oetiker | 2006-05-11 13:11:04 +0200 | 2 lines - -make DNAN and DINF faster by caching the result of the first calculation -- pascal.gloor spale.com - ------------------------------------------------------------------------- -r825 | oetiker | 2006-05-11 09:37:58 +0200 | 2 lines - -tell Makefile.PL how to store an rpath under aix - ------------------------------------------------------------------------- -r824 | oetiker | 2006-05-10 22:51:09 +0200 | 2 lines - -improved scaling for --logarithmic mode ... -- beat.zahnd space.unibe.ch - ------------------------------------------------------------------------- -r823 | oetiker | 2006-05-09 20:46:14 +0200 | 2 lines - -don't panic if the user forgets to specify the name of the rrd file - ------------------------------------------------------------------------- -r822 | oetiker | 2006-05-07 12:46:24 +0200 | 2 lines - -make legend spacing more reliable. handle the fact that some graph comands do not contribute to the legend -- tobi - ------------------------------------------------------------------------- -r821 | oetiker | 2006-05-06 15:29:33 +0200 | 3 lines - -lets have index.html -- Peter Breitenlohner - - ------------------------------------------------------------------------- -r820 | oetiker | 2006-05-06 15:28:57 +0200 | 4 lines - -Avoid gcc warning (discards qualifier) in tclrrd.c -- Peter Breitenlohner - - - ------------------------------------------------------------------------- -r819 | oetiker | 2006-05-06 15:28:16 +0200 | 2 lines - -Avoid gcc warning ("static not first") -- Peter Breitenlohner - ------------------------------------------------------------------------- -r818 | oetiker | 2006-05-06 15:24:23 +0200 | 3 lines - -Avoid gcc warnings about use of "long long" -- Peter Breitenlohner - - ------------------------------------------------------------------------- -r817 | oetiker | 2006-05-06 15:21:42 +0200 | 2 lines - -Use tclpkgdir instead of pkglibdir in order to avoid automake warning -- Peter Breitenlohner - ------------------------------------------------------------------------- -r816 | oetiker | 2006-05-06 15:20:26 +0200 | 4 lines - -The rrdtoolmodule.so should be installed in pyexecdir instead of pythondir (they differ if prefix!=exec_prefix) -- Peter Breitenlohner - - - ------------------------------------------------------------------------- -r815 | oetiker | 2006-05-04 22:41:51 +0200 | 3 lines - -fix for debian bug 359071 ... reporting the long cdef in the error message was too much ... -plus some other small cleanups in this context - ------------------------------------------------------------------------- -r813 | oetiker | 2006-05-04 15:26:21 +0200 | 1 line - -prepare for the release of rrdtool-1.2.13 ------------------------------------------------------------------------- -r812 | oetiker | 2006-05-04 15:24:16 +0200 | 2 lines - -fix my mail address - ------------------------------------------------------------------------- -r811 | oetiker | 2006-05-04 15:12:01 +0200 | 2 lines - -fewer double frees ... -- slamb slamb.org - ------------------------------------------------------------------------- -r810 | oetiker | 2006-05-04 15:02:26 +0200 | 4 lines - -* fixed argument parsing for long options -* no more doublefree on abort -* enable restore of xml dumps created with rrdtool 1.0.x - ------------------------------------------------------------------------- -r809 | oetiker | 2006-05-04 14:11:09 +0200 | 3 lines - -if end % step == 0 we should still fetch a full step ... no need -for special handling - ------------------------------------------------------------------------- -r808 | oetiker | 2006-05-04 09:48:04 +0200 | 4 lines - -updated handling of subsecond resolution in connection with unknown data ... bugreport #38 pointed out -that the old handling where the seconds were rounded could lead to cases where the data stored was higher than the data input ... -now I always floor the unknown seconds and this will lead to the same or lower data but not higher ... -- tobi - ------------------------------------------------------------------------- -r806 | oetiker | 2006-05-02 22:52:46 +0200 | 2 lines - -variables should be defined at the bein of the block ... else we loose portability! - ------------------------------------------------------------------------- -r805 | oetiker | 2006-04-29 10:57:25 +0200 | 2 lines - -fixed spelling - ------------------------------------------------------------------------- -r804 | oetiker | 2006-04-27 08:37:03 +0200 | 2 lines - -new units=si option -- wim.heirmann elis.urgent.be - ------------------------------------------------------------------------- -r802 | oetiker | 2006-04-25 23:00:09 +0200 | 2 lines - -compile without multibyte support - ------------------------------------------------------------------------- -r801 | oetiker | 2006-04-25 22:59:41 +0200 | 2 lines - -lets have proper dependencies - ------------------------------------------------------------------------- -r800 | oetiker | 2006-04-24 17:14:10 +0200 | 2 lines - -make sure things are initialised ... - ------------------------------------------------------------------------- -r796 | oetiker | 2006-04-18 07:29:34 +0200 | 2 lines - -shared should be share ! - ------------------------------------------------------------------------- -r795 | oetiker | 2006-04-17 22:25:33 +0200 | 3 lines - -Add a second label to the Y axis if there is only going to be one -- Jason A. Smith smithj4 X bnl.gov - - ------------------------------------------------------------------------- -r790 | oetiker | 2006-04-14 12:17:28 +0200 | 2 lines - -no more people links! - ------------------------------------------------------------------------- -r788 | oetiker | 2006-04-14 11:22:00 +0200 | 2 lines - -remove people references - ------------------------------------------------------------------------- -r785 | oetiker | 2006-04-07 16:37:52 +0200 | 2 lines - -add solaris hint to bild procedure - ------------------------------------------------------------------------- -r784 | oetiker | 2006-04-04 20:46:08 +0200 | 2 lines - -allow for input lines of arbitrary length in rrdtool pipe mode -- roger.meier terreactive.ch - ------------------------------------------------------------------------- -r782 | oetiker | 2006-04-01 17:36:05 +0200 | 1 line - -watermartk feature for rrdgraph by Ronan Mullally ------------------------------------------------------------------------- -r781 | oetiker | 2006-03-26 16:36:35 +0200 | 2 lines - -vnames can be up to MAX_VNAME_LEN long ... not only 30 chars ... -- Ulf Harnhammar metaur telia.com - ------------------------------------------------------------------------- -r780 | oetiker | 2006-03-26 16:29:53 +0200 | 2 lines - -potential bufferoverflow throught large windir avoided - ------------------------------------------------------------------------- -r776 | oetiker | 2006-03-14 15:59:57 +0100 | 2 lines - -added note on the fact that no OK will be printed in rrdtool pipe mode if an error occures. - ------------------------------------------------------------------------- -r775 | oetiker | 2006-03-14 08:11:00 +0100 | 2 lines - -RRDtool in remote mode will either print an ERROR line or an OK line not both. - ------------------------------------------------------------------------- -r774 | oetiker | 2006-03-14 00:21:27 +0100 | 2 lines - -in pipe mode, make rrd_tool send errors to STDOUT (most of the time) -- tobi - ------------------------------------------------------------------------- -r772 | oetiker | 2006-03-06 08:15:45 +0100 | 2 lines - -at least freebsd will not do utf8 bits properly without this - ------------------------------------------------------------------------- -r769 | oetiker | 2006-03-04 00:11:55 +0100 | 3 lines - -* simplify code for STACK function ... there were two code paths (new as well as legacy from 1.0.x) -* make TICK work for negative fractions - ------------------------------------------------------------------------- -r768 | oetiker | 2006-03-04 00:10:46 +0100 | 2 lines - -remove ~ from my wishlist address ... - ------------------------------------------------------------------------- -r767 | oetiker | 2006-03-04 00:10:14 +0100 | 2 lines - -make this compile even when HAVE_MBSTOWCS is not set - ------------------------------------------------------------------------- -r766 | oetiker | 2006-02-23 08:26:28 +0100 | 3 lines - -separate matching of full and partial match evaluation for better result stability. The fetch result was dependent on the RRA ordering before. -- Jo Rhett jrhett svcolo.com - - ------------------------------------------------------------------------- -r764 | oetiker | 2006-02-20 07:20:37 +0100 | 2 lines - -YYYYMMDDhhmm is not supported ... only YYYYMMDD - ------------------------------------------------------------------------- -r761 | oetiker | 2006-02-08 12:35:10 +0100 | 2 lines - -OS and COPYRIGHT removed from the rrdcgi INTERNAL function since we do not have this info - ------------------------------------------------------------------------- -r760 | oetiker | 2006-02-06 20:49:23 +0100 | 1 line - -new rrdcgi function RRD::INTERNAL for accessing VERSION, COPYRIGHT, COMPILETIME, OS -- Guenter Knauf gk gknw.de ------------------------------------------------------------------------- -r759 | oetiker | 2006-02-06 20:46:26 +0100 | 2 lines - -we have 2006 now so let's show it - ------------------------------------------------------------------------- -r755 | oetiker | 2006-01-30 00:28:21 +0100 | 1 line - -more makefile cleanup from Guenter Knauf gk gknw.de ------------------------------------------------------------------------- -r752 | oetiker | 2006-01-25 20:09:12 +0100 | 2 lines - -allow RRDp to catch errors - ------------------------------------------------------------------------- -r751 | oetiker | 2006-01-22 13:02:47 +0100 | 3 lines - -clarified the documentation of xff -- Michael Bunk mb computer-leipzig.com - - ------------------------------------------------------------------------- -r750 | oetiker | 2006-01-22 12:00:18 +0100 | 2 lines - -the operator in the example is * not + -- Nick Sharp njsharp bigpond.net.au - ------------------------------------------------------------------------- -r748 | oetiker | 2006-01-15 14:31:12 +0100 | 2 lines - -make sure we pickup the correct config.h ... -- Blair Zajac blair orcaware.com - ------------------------------------------------------------------------- -r747 | oetiker | 2006-01-15 13:31:03 +0100 | 2 lines - -make sure the image size only gets printed from rrd_tool when --imageinfo is NOT set. - ------------------------------------------------------------------------- -r746 | oetiker | 2006-01-15 13:25:36 +0100 | 2 lines - -make sure gcc does not thing gridind may be undefined - ------------------------------------------------------------------------- -r745 | oetiker | 2006-01-15 12:12:51 +0100 | 2 lines - -HWPREDICT without reference number will implicitly create the other Holt-Winters RRAs. - ------------------------------------------------------------------------- -r744 | oetiker | 2006-01-15 10:03:30 +0100 | 2 lines - -updated NetWare and Cygwin Builds - ------------------------------------------------------------------------- -r743 | oetiker | 2006-01-15 09:55:53 +0100 | 2 lines - -make sure gridind is defined under all conditions - ------------------------------------------------------------------------- -r742 | oetiker | 2006-01-14 10:10:16 +0100 | 2 lines - -add perlbindings and optional export filename to rrd_dump -- Nicola Worthington nicolaw arwen.tfb.net - ------------------------------------------------------------------------- -r740 | oetiker | 2006-01-05 21:39:12 +0100 | 2 lines - -let the building of the perl extension be more reliable ... - ------------------------------------------------------------------------- -r739 | oetiker | 2006-01-05 21:07:41 +0100 | 2 lines - -remove redundant if statement in rrd_gfx pdf code ... -- NormW - ------------------------------------------------------------------------- -r737 | oetiker | 2006-01-04 23:07:46 +0100 | 2 lines - -Compile time improvments for NetWare and Win32 -- Guenter Knauf gk.gknw.de - ------------------------------------------------------------------------- -r736 | oetiker | 2006-01-04 21:12:20 +0100 | 2 lines - -make sure this actually compiles with HAVE_MBSTOWCS is not defined - ------------------------------------------------------------------------- -r735 | oetiker | 2005-12-30 15:36:30 +0100 | 3 lines - -only use getuid if it is actually available ... - - ------------------------------------------------------------------------- -r734 | oetiker | 2005-12-26 17:01:40 +0100 | 3 lines - -added heartbeat grahics - - ------------------------------------------------------------------------- -r733 | oetiker | 2005-12-19 13:28:55 +0100 | 2 lines - -fix tcl issues ... build with pre tcl8.4 ... do not try to install into the tcl tree unless --enable-tcl-site is given -- tobi - ------------------------------------------------------------------------- -r729 | oetiker | 2005-12-18 21:30:31 +0100 | 1 line - -prepare for the release of rrdtool-1.2.12 ------------------------------------------------------------------------- -r728 | oetiker | 2005-12-18 21:29:51 +0100 | 3 lines - -added FLOSS exception from http://www.mysql.com/company/legal/licensing/foss-exception.html -in order to not end up in license incompatibility hell -- tobi - ------------------------------------------------------------------------- -r725 | oetiker | 2005-11-30 10:19:16 +0100 | 3 lines - -if called with --lazy we still want to PRINT ... -- Bartek Szady bszx from bszx.eu.org - - ------------------------------------------------------------------------- -r723 | oetiker | 2005-11-28 22:59:15 +0100 | 2 lines - -we should still consider the mrhb ... - ------------------------------------------------------------------------- -r722 | oetiker | 2005-11-20 11:16:38 +0100 | 2 lines - -improve win32 compilation -- Norm - ------------------------------------------------------------------------- -r721 | oetiker | 2005-11-18 21:38:51 +0100 | 2 lines - -deal with versions ending in letters - ------------------------------------------------------------------------- -r718 | oetiker | 2005-11-16 14:14:25 +0100 | 3 lines - -have indivitudal lines for generating output files, so that cygwin does not choke - - ------------------------------------------------------------------------- -r717 | oetiker | 2005-11-15 00:07:30 +0100 | 2 lines - -make mmap test a little saver - ------------------------------------------------------------------------- -r714 | oetiker | 2005-11-14 12:46:31 +0100 | 2 lines - -cygwin can actually do mmap ... -- larryjadams with comcast.net - ------------------------------------------------------------------------- -r713 | oetiker | 2005-11-14 08:32:23 +0100 | 2 lines - -guess the option should still be called template :-) - ------------------------------------------------------------------------- -r712 | oetiker | 2005-11-13 19:32:10 +0100 | 2 lines - -improve screen apperance of configure output as suggested by Dale -- tobi - ------------------------------------------------------------------------- -r711 | oetiker | 2005-11-13 19:31:38 +0100 | 2 lines - -don't use clean: target ... automake wants this to be clean-local: - ------------------------------------------------------------------------- -r710 | oetiker | 2005-11-13 00:36:10 +0100 | 3 lines - -add xmlns declaration to svg output -- R.P. Aditya - - ------------------------------------------------------------------------- -r709 | oetiker | 2005-11-13 00:30:50 +0100 | 2 lines - -clean target was broken - ------------------------------------------------------------------------- -r708 | oetiker | 2005-11-13 00:10:48 +0100 | 5 lines - -* integrate necessary cgi functionality into rrd_cgi.c so that libcgi is not - required anymore ... -- D. Walsh - -* check if we have to include malloc/malloc.h to make malloc work ... -- tobi - ------------------------------------------------------------------------- -r707 | oetiker | 2005-11-07 20:12:47 +0100 | 3 lines - -the variable template has to generic a name, it clashes with other things -in some environments. - ------------------------------------------------------------------------- -r706 | oetiker | 2005-10-28 07:55:36 +0200 | 3 lines - -added openbsd note - - ------------------------------------------------------------------------- -r705 | oetiker | 2005-10-24 22:55:03 +0200 | 2 lines - -use multithreded version of librrd -- Oleg Derevenetz - ------------------------------------------------------------------------- -r702 | oetiker | 2005-10-11 19:09:09 +0200 | 2 lines - -improved error messages for rrd_graph commandline parsing -- Alex - ------------------------------------------------------------------------- -r701 | oetiker | 2005-10-11 18:51:50 +0200 | 2 lines - -fix file generation - ------------------------------------------------------------------------- -r700 | oetiker | 2005-10-11 18:41:15 +0200 | 2 lines - -die on error! -- Alex - ------------------------------------------------------------------------- -r699 | oetiker | 2005-10-11 18:37:58 +0200 | 2 lines - -the images should be written to the current directory ... -- Alex - ------------------------------------------------------------------------- -r698 | oetiker | 2005-10-11 18:32:09 +0200 | 2 lines - -do not complain about strict aliasing issues -- Alex - ------------------------------------------------------------------------- -r697 | oetiker | 2005-10-08 23:58:57 +0200 | 2 lines - -allow rrd::graph to write directly to a tcl stream ... by Dave Bodenstab - ------------------------------------------------------------------------- -r696 | oetiker | 2005-10-07 09:48:52 +0200 | 2 lines - -updates for tcl bindings by -- Dave Bodenstab - ------------------------------------------------------------------------- -r695 | oetiker | 2005-10-07 09:48:01 +0200 | 2 lines - -included favicon in distro - ------------------------------------------------------------------------- -r691 | oetiker | 2005-09-26 22:33:45 +0200 | 2 lines - -plugged two memmory leaks happening when a requested font is not found. - ------------------------------------------------------------------------- -r690 | oetiker | 2005-09-24 01:06:12 +0200 | 3 lines - -hmpf its the gdef step we are talking about not the image step ! - - ------------------------------------------------------------------------- -r689 | oetiker | 2005-09-22 22:18:12 +0200 | 2 lines - -do not 'reload' data if you already have it! - ------------------------------------------------------------------------- -r688 | oetiker | 2005-09-22 22:17:42 +0200 | 3 lines - -the -r option should not expect an argument - - ------------------------------------------------------------------------- -r685 | oetiker | 2005-09-19 09:42:17 +0200 | 2 lines - -do not free stuff that gets freed later anyway - ------------------------------------------------------------------------- -r684 | oetiker | 2005-09-18 20:28:19 +0200 | 2 lines - -Netware Build Updates --- Guenter Knauf - ------------------------------------------------------------------------- -r683 | oetiker | 2005-09-18 18:59:34 +0200 | 3 lines - -allocate memory for one more row ... fetch can not return 0 reows ... - - ------------------------------------------------------------------------- -r682 | oetiker | 2005-09-18 17:39:49 +0200 | 2 lines - -comparing floating point numbers is dangerouse ... don't do this directly! - ------------------------------------------------------------------------- -r681 | oetiker | 2005-09-01 23:23:34 +0200 | 3 lines - -since we use firstdir even without CHROOT it should better be defined in any case --- Guenter Knauf - ------------------------------------------------------------------------- -r680 | oetiker | 2005-08-30 07:52:41 +0200 | 3 lines - -When selecting the x-axis label take the length of the time shown in the graph into consideration -just showing %H:%M in a two day presentation is a problem ... -- LAUKENS Niels - ------------------------------------------------------------------------- -r679 | oetiker | 2005-08-28 09:33:13 +0200 | 3 lines - -fixed location of example scripts - - ------------------------------------------------------------------------- -r678 | oetiker | 2005-08-27 23:29:21 +0200 | 7 lines - -resolve subsecond resolution logging and handling of unknown values by -starting off with an unknown value when building a pdp instead of starting -out with 0 and then turning it into unknown later on if the number of uknown -seconds is equal or larger than the interval ... - - - ------------------------------------------------------------------------- -r677 | oetiker | 2005-08-27 22:55:46 +0200 | 2 lines - -the rrdtool binary one more level up the path ... - ------------------------------------------------------------------------- -r676 | oetiker | 2005-08-27 22:52:12 +0200 | 2 lines - -update for new prefix setting - ------------------------------------------------------------------------- -r675 | oetiker | 2005-08-25 22:43:04 +0200 | 3 lines - -when resize converts a v1 rrd to v3 it should also change the version number in the head ... - - ------------------------------------------------------------------------- -r674 | oetiker | 2005-08-23 23:18:23 +0200 | 3 lines - -fixes for compiling rrdtool with win32 mingw and netware -- Guenter Knauf - - ------------------------------------------------------------------------- -r673 | oetiker | 2005-08-16 07:30:29 +0200 | 3 lines - -added notes about VDEF expressions not being general purpose - - ------------------------------------------------------------------------- -r672 | oetiker | 2005-08-11 21:18:36 +0200 | 2 lines - -only bomb is there is no chroot and someone tries to use it. - ------------------------------------------------------------------------- -r669 | oetiker | 2005-08-04 07:08:04 +0200 | 3 lines - -New VDEF functions for least squares slope, intercept & correlation for simple forecasting --- Trent Burkard - ------------------------------------------------------------------------- -r668 | oetiker | 2005-08-04 06:59:01 +0200 | 2 lines - -fix rounding issues that prevented UNKNOWN to work as soon as subsecond resolution was used - ------------------------------------------------------------------------- -r667 | oetiker | 2005-08-04 06:58:11 +0200 | 2 lines - -avoid drawing lines where two points are in the same spot. this mai be confusing libart - ------------------------------------------------------------------------- -r666 | oetiker | 2005-08-02 17:54:32 +0200 | 2 lines - -make sure clean works even when the perl Makefile is broken - ------------------------------------------------------------------------- -r665 | oetiker | 2005-07-26 11:13:36 +0200 | 2 lines - -initialize font to empty string for deault font case. - ------------------------------------------------------------------------- -r663 | oetiker | 2005-07-25 16:12:58 +0200 | 1 line - -prepare for the release of rrdtool-1.2.11 ------------------------------------------------------------------------- -r662 | oetiker | 2005-07-25 16:07:35 +0200 | 3 lines - -prepared for release - - ------------------------------------------------------------------------- -r660 | oetiker | 2005-07-22 15:16:48 +0200 | 2 lines - -do not quit so easily when runing in interactive mode - ------------------------------------------------------------------------- -r659 | oetiker | 2005-07-22 15:16:18 +0200 | 2 lines - -init ytr after all the changes have happened - ------------------------------------------------------------------------- -r658 | oetiker | 2005-07-22 15:10:50 +0200 | 2 lines - -make --no-gridfit with --only-graph work - ------------------------------------------------------------------------- -r657 | oetiker | 2005-07-22 00:23:28 +0200 | 2 lines - -when stacking known on unknown, then we asume unknown was zero ... - ------------------------------------------------------------------------- -r654 | oetiker | 2005-07-20 09:20:04 +0200 | 2 lines - -make sure gcc-4.0 does not optimize our tests away :-) - ------------------------------------------------------------------------- -r653 | oetiker | 2005-07-19 12:00:13 +0200 | 2 lines - -fixed some corner cases in drawing code to get the same results as before with way more performance - ------------------------------------------------------------------------- -r652 | oetiker | 2005-07-12 00:49:09 +0200 | 2 lines - -optimized drawing routines ... up to 6 times faster (in the case of smokeping) - ------------------------------------------------------------------------- -r651 | oetiker | 2005-07-07 12:27:55 +0200 | 2 lines - -colors start with # not : - ------------------------------------------------------------------------- -r650 | oetiker | 2005-07-04 20:49:56 +0200 | 3 lines - -make setting just the size and not the font work -- Havard Eidnes - - ------------------------------------------------------------------------- -r649 | oetiker | 2005-06-28 23:03:20 +0200 | 3 lines - -* the makefiles should not depend on gnumake features -* make the perl module compilation environement configurable -- Stan Sinyagin ssinyagin on yahoo.com - ------------------------------------------------------------------------- -r646 | oetiker | 2005-06-25 07:24:52 +0200 | 2 lines - -added GNUMAKE and EGREP hints - ------------------------------------------------------------------------- -r645 | oetiker | 2005-06-20 11:15:10 +0200 | 3 lines - -x-axis labels should be aligned to their baseline -alt-y-grid labels without fractionals should have no fractionals when printed - ------------------------------------------------------------------------- -r642 | oetiker | 2005-06-17 11:05:17 +0200 | 1 line - -prepare for the release of rrdtool-1.2.10 ------------------------------------------------------------------------- -r641 | oetiker | 2005-06-17 00:09:36 +0200 | 2 lines - -when building the sgridstep in alt-y-grid mode, take the --base into consideration. - ------------------------------------------------------------------------- -r639 | oetiker | 2005-06-13 23:56:48 +0200 | 2 lines - -simplify code for generating y axis labels a bit. - ------------------------------------------------------------------------- -r638 | oetiker | 2005-06-13 15:20:45 +0200 | 2 lines - -wide chars should better be unsigned - ------------------------------------------------------------------------- -r637 | oetiker | 2005-06-13 14:56:11 +0200 | 2 lines - -fall back to assuming latin1 encoding if mbtowchar conversion fails - ------------------------------------------------------------------------- -r636 | oetiker | 2005-06-13 07:43:44 +0200 | 2 lines - -allow for VNAMES starting with a number and add documentation -- Alex - ------------------------------------------------------------------------- -r635 | oetiker | 2005-06-13 07:43:16 +0200 | 2 lines - -add notes about small numbers for --alt-y-grid - ------------------------------------------------------------------------- -r634 | oetiker | 2005-06-12 22:01:57 +0200 | 3 lines - -kill the last stored counter value if the updates comes after mrhb -to make sure it does not get taken into account accedenly later on. - ------------------------------------------------------------------------- -r633 | oetiker | 2005-06-12 22:00:07 +0200 | 3 lines - -make --alt-y-grid work properly in many more cases than before - - ------------------------------------------------------------------------- -r632 | oetiker | 2005-06-11 21:03:46 +0200 | 2 lines - -be more careful when checking if a file is an rrdfile - ------------------------------------------------------------------------- -r631 | oetiker | 2005-06-11 08:17:02 +0200 | 4 lines - -distribute all generated documentation -install in share and not shared -drop index.html link - ------------------------------------------------------------------------- -r630 | oetiker | 2005-06-11 08:14:25 +0200 | 2 lines - -install examples in an rrdtool specific subdirectory if the prefix does not contain rrd -- Peter Breitenlohner - ------------------------------------------------------------------------- -r629 | oetiker | 2005-06-11 07:41:31 +0200 | 3 lines - -avoid problems when building with VPATH set and --disable-perl -fix make test for perl-piped -- Peter Breitenlohner - ------------------------------------------------------------------------- -r628 | oetiker | 2005-06-11 07:40:04 +0200 | 2 lines - -let 'out-of tree' builds work for everythin but the perl module -- Peter Breitenlohner - ------------------------------------------------------------------------- -r627 | oetiker | 2005-06-11 07:37:55 +0200 | 2 lines - -defined DPRINTF in a more compatible way -- Peter Breitenlohner - ------------------------------------------------------------------------- -r626 | oetiker | 2005-06-11 07:31:22 +0200 | 1 line - -link libcgi only against rrd_cgi since it is only needed there -- Peter Breitenlohner ------------------------------------------------------------------------- -r625 | oetiker | 2005-06-11 07:29:45 +0200 | 1 line - -Make sure librrd_th properly depends on libpthread. -- Peter Breitenlohner ------------------------------------------------------------------------- -r624 | oetiker | 2005-06-11 07:27:08 +0200 | 2 lines - -avoid gcc (3.4.3) warnings char format, different type arg -- Peter Breitenlohner - ------------------------------------------------------------------------- -r623 | oetiker | 2005-06-11 07:26:13 +0200 | 2 lines - -fix various problems with the tcl bindings -- Peter Breitenlohner - ------------------------------------------------------------------------- -r622 | oetiker | 2005-06-11 07:22:14 +0200 | 2 lines - -added peter breitenlohner - ------------------------------------------------------------------------- -r621 | oetiker | 2005-06-11 07:20:59 +0200 | 2 lines - -remove various gcc (3.4.3) warnings such as discards qualifier all due to 'char **' vs. 'const char **' discrepancies. -- Peter Breitenlohner peb with mppmu.mpg.de - ------------------------------------------------------------------------- -r620 | oetiker | 2005-06-11 07:15:37 +0200 | 2 lines - -re-innitializing sort of defeats the purpose - ------------------------------------------------------------------------- -r619 | oetiker | 2005-06-11 07:03:33 +0200 | 2 lines - -be more carefull in checking for sucessful open - ------------------------------------------------------------------------- -r618 | oetiker | 2005-06-10 21:25:36 +0200 | 2 lines - -vnames MUST start with a letter - ------------------------------------------------------------------------- -r617 | oetiker | 2005-06-10 21:24:06 +0200 | 2 lines - -kill another warning - ------------------------------------------------------------------------- -r616 | oetiker | 2005-06-10 20:44:40 +0200 | 6 lines - -make --font more flexible: - -* TITLE:30: just alter the size of the title -* DEFAULT:0:/tmp/funfont.ttf alter the font but not the size - - ------------------------------------------------------------------------- -r613 | oetiker | 2005-06-10 10:42:44 +0200 | 2 lines - -added missing cd and replace one path with a variable - ------------------------------------------------------------------------- -r612 | oetiker | 2005-06-08 00:10:01 +0200 | 2 lines - -make pdf/eps/svg formats utf8 aware too -- Peter Speck - ------------------------------------------------------------------------- -r611 | oetiker | 2005-06-06 07:32:44 +0200 | 2 lines - -sync up with Dag Wieers version from http://dag.wieers.com/packages/rrdtool/rrdtool.spec - ------------------------------------------------------------------------- -r610 | oetiker | 2005-06-06 00:23:32 +0200 | 3 lines - -New functions for CDEF ATAN2 RAD2DEG and DEG2RAD --- Simon Melhuish - ------------------------------------------------------------------------- -r605 | oetiker | 2005-05-31 08:22:31 +0200 | 2 lines - -fixed epoch - ------------------------------------------------------------------------- -r603 | oetiker | 2005-05-28 15:01:43 +0200 | 1 line - -prepare for the release of rrdtool-1.2.9 ------------------------------------------------------------------------- -r602 | oetiker | 2005-05-28 14:53:13 +0200 | 2 lines - -add notes on building on Mac OS X - ------------------------------------------------------------------------- -r601 | oetiker | 2005-05-28 14:52:50 +0200 | 3 lines - -kill a few warnings - - ------------------------------------------------------------------------- -r600 | oetiker | 2005-05-28 14:52:26 +0200 | 2 lines - -make the bindings work on os x - ------------------------------------------------------------------------- -r599 | oetiker | 2005-05-27 21:17:17 +0200 | 2 lines - -add note on variable names - ------------------------------------------------------------------------- -r598 | oetiker | 2005-05-27 21:12:23 +0200 | 2 lines - -remove one more warning - ------------------------------------------------------------------------- -r597 | oetiker | 2005-05-27 21:12:12 +0200 | 2 lines - -there is realy no reason to have the vnames constraind so much - ------------------------------------------------------------------------- -r596 | oetiker | 2005-05-27 21:01:53 +0200 | 3 lines - -only print ttf font errors when compiled with -DDEBUG - - ------------------------------------------------------------------------- -r593 | oetiker | 2005-05-23 00:29:11 +0200 | 2 lines - -don't go into an endless loop upon finding a bad character in a truetype font - ------------------------------------------------------------------------- -r591 | oetiker | 2005-05-20 08:20:19 +0200 | 2 lines - -go into rrdbuild too if we use tcsh - ------------------------------------------------------------------------- -r590 | oetiker | 2005-05-20 07:48:52 +0200 | 2 lines - -initial checking - ------------------------------------------------------------------------- -r589 | oetiker | 2005-05-20 07:46:52 +0200 | 2 lines - -remove extra whitespace at the end of lines - ------------------------------------------------------------------------- -r588 | oetiker | 2005-05-20 07:43:27 +0200 | 2 lines - -introduce builddir - ------------------------------------------------------------------------- -r586 | oetiker | 2005-05-20 07:14:20 +0200 | 2 lines - -iconf is not needed so to not check for it - ------------------------------------------------------------------------- -r585 | oetiker | 2005-05-20 01:21:51 +0200 | 1 line - -added propper numeric version number to version ------------------------------------------------------------------------- -r584 | oetiker | 2005-05-20 01:21:20 +0200 | 4 lines - -add multibyte to wide char conversion ability. Now every string -users input should should be handled propperly by rrdtool, -whatever your locale says will work. - ------------------------------------------------------------------------- -r583 | oetiker | 2005-05-20 01:19:09 +0200 | 1 line - -windows at least stores null terminated char strings in dummychar1 -- Philippe ------------------------------------------------------------------------- -r581 | oetiker | 2005-05-18 22:20:55 +0200 | 2 lines - -make tcl compile again ... don't know if it will work though - ------------------------------------------------------------------------- -r580 | oetiker | 2005-05-18 21:43:03 +0200 | 2 lines - -fix rrd_version prototype - ------------------------------------------------------------------------- -r579 | oetiker | 2005-05-18 21:41:08 +0200 | 2 lines - -cleaned up version number code and added new function rrd_version -- partly by Burton Strauss - ------------------------------------------------------------------------- -r578 | oetiker | 2005-05-18 21:18:59 +0200 | 3 lines - -help building perl on hpux - - ------------------------------------------------------------------------- -r571 | oetiker | 2005-05-16 22:56:09 +0200 | 1 line - -prepare for the release of rrdtool-1.2.8 ------------------------------------------------------------------------- -r570 | oetiker | 2005-05-16 22:55:29 +0200 | 4 lines - -redo --disable-* options for python and tcl -add some more quotes to protect potentially empty variables in tests which -should make configure more robust. - ------------------------------------------------------------------------- -r569 | oetiker | 2005-05-16 22:04:42 +0200 | 2 lines - -if python stuff does not work, do not die, just do not compile python - ------------------------------------------------------------------------- -r568 | oetiker | 2005-05-16 22:02:26 +0200 | 2 lines - -fix extra argument when testing for PERLCC problem -- Simon Leinen - ------------------------------------------------------------------------- -r565 | oetiker | 2005-05-16 14:18:16 +0200 | 1 line - -prepare for the release of rrdtool-1.2.7 ------------------------------------------------------------------------- -r564 | oetiker | 2005-05-16 14:14:19 +0200 | 3 lines - -added note about --alt-y-mrtg - - ------------------------------------------------------------------------- -r563 | oetiker | 2005-05-16 12:12:26 +0200 | 3 lines - -fix the color square spacing so that it works regardles of the fontsize -and with transparend backgrounds. - ------------------------------------------------------------------------- -r562 | oetiker | 2005-05-16 11:01:01 +0200 | 2 lines - -added alt-y-mrtg option as a dummy so that old apps who use it do not crash when doing so. - ------------------------------------------------------------------------- -r561 | oetiker | 2005-05-16 08:33:30 +0200 | 2 lines - -reintroduced the FRAME color ... somehow it was lost from 1.0.x - ------------------------------------------------------------------------- -r560 | oetiker | 2005-05-15 16:16:15 +0200 | 1 line - -make transparent backgrounds work propperly ------------------------------------------------------------------------- -r559 | oetiker | 2005-05-14 23:57:46 +0200 | 2 lines - -it seems that _WIN32 is more commonly defined thatn WIN32 on win32 ... (gifford.hesketh on gmail.com) - ------------------------------------------------------------------------- -r558 | oetiker | 2005-05-14 19:32:05 +0200 | 3 lines - -added a note to dump old rrd files with a current rrdtool dump to get the upgraded on the fly. Adding 001 support should -not be all that tough though. Any takers ? - ------------------------------------------------------------------------- -r557 | oetiker | 2005-05-14 17:07:35 +0200 | 1 line - -check cookie read for success ------------------------------------------------------------------------- -r556 | oetiker | 2005-05-14 11:35:02 +0200 | 5 lines - -if the y value is out of bounds, make it just a wee bit larger or smaller -than the bound so that the code can detect this by comparing it with the -bound, but make it so small that it is not visible. - - ------------------------------------------------------------------------- -r555 | oetiker | 2005-05-13 00:27:06 +0200 | 1 line - -one sed is quite enough ------------------------------------------------------------------------- -r554 | oetiker | 2005-05-13 00:22:45 +0200 | 2 lines - -[ must be quoted by [ ... - ------------------------------------------------------------------------- -r553 | oetiker | 2005-05-13 00:12:56 +0200 | 2 lines - -add global option - ------------------------------------------------------------------------- -r552 | oetiker | 2005-05-13 00:06:13 +0200 | 2 lines - -fox sed line for unsetting header cache - ------------------------------------------------------------------------- -r551 | oetiker | 2005-05-13 00:03:33 +0200 | 2 lines - -make sure the header gets tested twice - ------------------------------------------------------------------------- -r550 | oetiker | 2005-05-13 00:03:01 +0200 | 1 line - -add notes on python error, and install location ------------------------------------------------------------------------- -r549 | oetiker | 2005-05-12 13:32:39 +0200 | 1 line - -allow 3/4 component color rrdtool graph --color too -- Alex ------------------------------------------------------------------------- -r548 | oetiker | 2005-05-12 13:28:13 +0200 | 2 lines - -make the areas a little bigger still for propper overlapping - ------------------------------------------------------------------------- -r547 | oetiker | 2005-05-12 13:22:11 +0200 | 3 lines - -make parsing of DS arguments more robust and give more sensible -error messages. -- Alex - ------------------------------------------------------------------------- -r546 | oetiker | 2005-05-12 10:38:53 +0200 | 4 lines - -make the areas that makeup the graphs a little larger, so that they overlap a bit -and do not exhibit white lines when touching each other. - - ------------------------------------------------------------------------- -r545 | oetiker | 2005-05-12 07:48:56 +0200 | 2 lines - -some more warning fixes - ------------------------------------------------------------------------- -r544 | oetiker | 2005-05-12 07:41:09 +0200 | 2 lines - -add unused to prevent warnings about self - ------------------------------------------------------------------------- -r543 | oetiker | 2005-05-11 20:31:00 +0200 | 2 lines - -intial python bindings documentation - ------------------------------------------------------------------------- -r541 | oetiker | 2005-05-11 14:09:36 +0200 | 2 lines - -fix wording for min/max ... they are not optional - ------------------------------------------------------------------------- -r540 | oetiker | 2005-05-10 22:19:55 +0200 | 2 lines - -second installment with warning fixes from alan - ------------------------------------------------------------------------- -r539 | oetiker | 2005-05-10 20:52:43 +0200 | 2 lines - -python bindings add -- Alan Milligan alan from balclutha.org - ------------------------------------------------------------------------- -r538 | oetiker | 2005-05-10 20:35:55 +0200 | 2 lines - -fix for character escaping in EPS -- Peter Speck - ------------------------------------------------------------------------- -r536 | oetiker | 2005-05-10 08:07:41 +0200 | 1 line - -prepare for the release of rrdtool-1.2.6 ------------------------------------------------------------------------- -r535 | oetiker | 2005-05-10 08:06:49 +0200 | 2 lines - -I guess the pdf entities want to be escaped chars not just control caracters with a prepended backslash ... - ------------------------------------------------------------------------- -r534 | oetiker | 2005-05-10 07:18:28 +0200 | 2 lines - -we should not use C++ comments in c files - ------------------------------------------------------------------------- -r533 | oetiker | 2005-05-10 06:14:17 +0200 | 2 lines - -we should distribute unused.h if we use it :-) - ------------------------------------------------------------------------- -r531 | oetiker | 2005-05-09 22:15:38 +0200 | 1 line - -prepare for the release of rrdtool-1.2.5 ------------------------------------------------------------------------- -r530 | oetiker | 2005-05-09 22:13:28 +0200 | 2 lines - -silence warnings for UNUSED variables without changeing the funtion interfaces -- Alex - ------------------------------------------------------------------------- -r529 | oetiker | 2005-05-09 21:32:12 +0200 | 2 lines - -allow decimal positions y axis labels as soon as the max entry is < 10 - ------------------------------------------------------------------------- -r528 | oetiker | 2005-05-09 21:11:05 +0200 | 2 lines - -fix rendering of the color spots especially when proportional fonts are in use. - ------------------------------------------------------------------------- -r526 | oetiker | 2005-05-09 16:01:21 +0200 | 3 lines - -EPS/SVG/PDF code ... more comments and better font finder including removal of hardcoded SVG font. --- Peter Speck speck from vitality.dk - ------------------------------------------------------------------------- -r525 | oetiker | 2005-05-09 15:22:23 +0200 | 3 lines - -* switch to courier if the font is unknown -* fix font positioning - ------------------------------------------------------------------------- -r523 | oetiker | 2005-05-09 07:39:59 +0200 | 2 lines - -perls $^O is set to linux not Linux - ------------------------------------------------------------------------- -r522 | oetiker | 2005-05-09 00:02:35 +0200 | 2 lines - -svg/pdf/eps rendering improvements. There are still issues though ... -- peter speck - ------------------------------------------------------------------------- -r521 | oetiker | 2005-05-08 23:25:42 +0200 | 2 lines - -added support for getting ascent/descent size info for ps fonts -- Peter Speck - ------------------------------------------------------------------------- -r520 | oetiker | 2005-05-08 22:15:18 +0200 | 2 lines - -we do not actually need these files ... goodbye - ------------------------------------------------------------------------- -r518 | oetiker | 2005-05-08 18:59:20 +0200 | 1 line - -prepare for the release of rrdtool-1.2.4 ------------------------------------------------------------------------- -r517 | oetiker | 2005-05-08 18:22:25 +0200 | 4 lines - -* adjust spacing at the left border of the graph. use less white space -* increasse minimal grid spacing and label spacing - - ------------------------------------------------------------------------- -r516 | oetiker | 2005-05-08 18:02:28 +0200 | 2 lines - -increase minimal vertical spacing for y-axis lables - ------------------------------------------------------------------------- -r515 | oetiker | 2005-05-08 18:01:40 +0200 | 2 lines - -shorten space for y-axis labels a bit - ------------------------------------------------------------------------- -r514 | oetiker | 2005-05-08 17:40:28 +0200 | 2 lines - -remove the premature fox for the unused parameter in xport - ------------------------------------------------------------------------- -r513 | oetiker | 2005-05-08 17:30:12 +0200 | 2 lines - -sync with reality - ------------------------------------------------------------------------- -r512 | oetiker | 2005-05-08 17:19:02 +0200 | 2 lines - -be more portable with shorter strings - ------------------------------------------------------------------------- -r511 | oetiker | 2005-05-08 17:18:47 +0200 | 2 lines - -we do not use the affine functions - ------------------------------------------------------------------------- -r510 | oetiker | 2005-05-08 17:07:27 +0200 | 2 lines - -removed extra $ from from PERLCC test - ------------------------------------------------------------------------- -r509 | oetiker | 2005-05-08 10:20:48 +0200 | 2 lines - -fix rendering errors by removing single spaces - ------------------------------------------------------------------------- -r507 | oetiker | 2005-05-08 01:54:52 +0200 | 1 line - -prepare for the release of rrdtool-1.2.3 ------------------------------------------------------------------------- -r506 | oetiker | 2005-05-08 01:26:30 +0200 | 2 lines - -fix some more y0, y1 complaints - ------------------------------------------------------------------------- -r505 | oetiker | 2005-05-08 01:26:14 +0200 | 3 lines - -When encountering an empty legend, do NOT make -space for drawing the color spats in front of it. - ------------------------------------------------------------------------- -r503 | oetiker | 2005-05-07 17:57:55 +0200 | 1 line - -prep for 1.2.2 release ------------------------------------------------------------------------- -r502 | oetiker | 2005-05-07 17:51:47 +0200 | 2 lines - -increment library revision - ------------------------------------------------------------------------- -r501 | oetiker | 2005-05-07 17:45:52 +0200 | 2 lines - -fix these annoying y0 warnings. - ------------------------------------------------------------------------- -r500 | oetiker | 2005-05-07 17:45:27 +0200 | 1 line - -add rrdtool attribution string back using a transparent version of the font color ------------------------------------------------------------------------- -r499 | oetiker | 2005-05-07 17:23:41 +0200 | 2 lines - -added build instructions - ------------------------------------------------------------------------- -r498 | oetiker | 2005-05-07 12:38:34 +0200 | 2 lines - -fix for rotation code in pdf,eps,svg formats -- Peter Speck - ------------------------------------------------------------------------- -r497 | oetiker | 2005-05-07 12:34:48 +0200 | 2 lines - -fix handling of PREV(x) command - ------------------------------------------------------------------------- -r493 | oetiker | 2005-05-07 01:00:53 +0200 | 5 lines - -* added RRDTOOL/TOBI OETIKER back in -* in riggid mode, cut data and 'min' and 'max' not two above -* gibt ytop0 a default value - - ------------------------------------------------------------------------- -r492 | oetiker | 2005-05-07 00:59:22 +0200 | 2 lines - -fixed documentation strings for rrdgraph - ------------------------------------------------------------------------- -r491 | oetiker | 2005-05-07 00:03:16 +0200 | 2 lines - -added doc for new slope-mode - ------------------------------------------------------------------------- -r490 | oetiker | 2005-05-06 23:52:55 +0200 | 3 lines - -since the drawing code is now much simpler we do not need to perturbe the points or rewind the graph anymore -this saves quite some time ... - ------------------------------------------------------------------------- -r489 | oetiker | 2005-05-06 17:44:11 +0200 | 6 lines - -* allow for 3(4) letter color names -* better debugging code -* fix tick, line, stack parsing --- Alex van den Bogaerdt - - ------------------------------------------------------------------------- -r488 | oetiker | 2005-05-06 17:24:27 +0200 | 2 lines - -if stacking on nothing we should not try to figure out WHAT we stacked on since this will result in a segfault ... -- Alex van den Bogaerdt - ------------------------------------------------------------------------- -r485 | oetiker | 2005-05-06 00:15:10 +0200 | 3 lines - -clarify LINE/AREA syntax --- Alex van den Bogaerdt alex with ergens.op.het.net - ------------------------------------------------------------------------- -r484 | oetiker | 2005-05-05 11:07:56 +0200 | 2 lines - -better not to write into argv elements ... Henrik Stoerner - ------------------------------------------------------------------------- -r483 | oetiker | 2005-05-03 22:23:05 +0200 | 1 line - -do not die upon wront input when in remote mode ------------------------------------------------------------------------- -r482 | oetiker | 2005-05-03 20:10:16 +0200 | 4 lines - -install documentation into $PREFIX/shared/doc/rrdtool-$VERSION/{txt,html} but -drop the rrdtool-$VERSION/ bit if $PREFIX matches on rrd assuming that the tool is being installed into a custom directory anyway. - - ------------------------------------------------------------------------- -r481 | oetiker | 2005-05-03 19:24:50 +0200 | 4 lines - -new options to tune how fontsmoothing works: --R/--font-render-mode {normal,light,mono} and -B/--font-smoothing-threshold size --- John yffffffff4271ef37 at f4n.org - ------------------------------------------------------------------------- -r480 | oetiker | 2005-05-03 19:22:54 +0200 | 2 lines - -note about win32comp - ------------------------------------------------------------------------- -r478 | oetiker | 2005-05-02 22:27:13 +0200 | 1 line - -files that help getting that native windows port going -- Philippe.Simonet with swisscom.com ------------------------------------------------------------------------- -r477 | oetiker | 2005-05-02 21:47:05 +0200 | 2 lines - -when walking the bytes use the pitch not the width - ------------------------------------------------------------------------- -r476 | oetiker | 2005-05-02 21:33:53 +0200 | 2 lines - -pow is alreay used as a function ... so lets call it power instead - ------------------------------------------------------------------------- -r475 | oetiker | 2005-05-02 21:32:49 +0200 | 2 lines - -no infinite line width please - ------------------------------------------------------------------------- -r472 | oetiker | 2005-05-02 00:07:34 +0200 | 1 line - -prep for 1.2.1 release ------------------------------------------------------------------------- -r471 | oetiker | 2005-05-02 00:04:34 +0200 | 2 lines - -add some more vertical space above the graph if no title is available - ------------------------------------------------------------------------- -r470 | oetiker | 2005-05-01 23:24:06 +0200 | 2 lines - -use the pen to determine string length, do not look at the realy length, or space will get ignored. - ------------------------------------------------------------------------- -r469 | oetiker | 2005-05-01 23:16:49 +0200 | 3 lines - -DejaVuSansMono-Roman is a variant of VeraMono with lots of added unicode glyphes ... -check out http://dejavu.sourceforge.net - ------------------------------------------------------------------------- -r468 | oetiker | 2005-05-01 22:49:54 +0200 | 2 lines - -fix spaceing ... more space for the title and more space the the left of the yaxis lable - ------------------------------------------------------------------------- -r467 | oetiker | 2005-05-01 15:19:39 +0200 | 2 lines - -the multibyte support tried did not work ... takeing it out again - ------------------------------------------------------------------------- -r466 | oetiker | 2005-05-01 15:18:48 +0200 | 2 lines - -update tested library version - ------------------------------------------------------------------------- -r465 | oetiker | 2005-05-01 13:02:40 +0200 | 1 line - -undef jmpbuf to make compile work on AIX 5.1 ------------------------------------------------------------------------- -r464 | oetiker | 2005-05-01 13:00:36 +0200 | 2 lines - -increasse revision of shared library number since the library source code has changed - ------------------------------------------------------------------------- -r463 | oetiker | 2005-05-01 13:00:10 +0200 | 2 lines - -add wide character support - ------------------------------------------------------------------------- -r462 | oetiker | 2005-05-01 12:42:17 +0200 | 3 lines - -do not make the graph wider if the title does not fit ... this is wagging the dog -the graph is not ABOUT the title - ------------------------------------------------------------------------- -r461 | oetiker | 2005-05-01 12:37:00 +0200 | 1 line - -fix description of VRULE ------------------------------------------------------------------------- -r460 | oetiker | 2005-05-01 12:23:11 +0200 | 2 lines - -reset optind opterr inside the function calls ... - ------------------------------------------------------------------------- -r459 | oetiker | 2005-05-01 12:22:35 +0200 | 2 lines - -fixed documentation regarding floating point line width - ------------------------------------------------------------------------- -r458 | oetiker | 2005-05-01 12:20:55 +0200 | 4 lines - -relax parsing of LINE commands LINE: is valid as well as LINE: -eg. LINE1.2323: - - ------------------------------------------------------------------------- -r457 | oetiker | 2005-05-01 11:16:38 +0200 | 2 lines - -allow for characters over 127 - ------------------------------------------------------------------------- -r456 | oetiker | 2005-04-30 11:56:58 +0200 | 3 lines - -added notes on escaping colons in COMMENT and put deprecated forms of command to the back and not to the front - - ------------------------------------------------------------------------- -r455 | oetiker | 2005-04-30 11:51:12 +0200 | 2 lines - -always open with rb/wb when it is a binary file ... unix and windows will work alike with this ... - ------------------------------------------------------------------------- -r454 | oetiker | 2005-04-30 11:48:49 +0200 | 2 lines - -this file is not required ... - ------------------------------------------------------------------------- -r453 | oetiker | 2005-04-30 11:41:14 +0200 | 2 lines - -even better lets have rb for CYGWIN too ... one never knows it is windows after all. - ------------------------------------------------------------------------- -r452 | oetiker | 2005-04-30 11:40:24 +0200 | 2 lines - -oops inverted code here ... windows needs rb unix not - ------------------------------------------------------------------------- -r451 | oetiker | 2005-04-30 11:38:50 +0200 | 2 lines - -let rrd_graph honor the font name (RRD_DEFAULT_FONT) defined in confignt/config.h - ------------------------------------------------------------------------- -r450 | oetiker | 2005-04-27 00:08:22 +0200 | 1 line - -use pod syntax not html syntax in pod :-) ------------------------------------------------------------------------- -r449 | oetiker | 2005-04-27 00:04:25 +0200 | 2 lines - -more fixes by fritz - ------------------------------------------------------------------------- -r443 | oetiker | 2005-04-26 07:33:18 +0200 | 2 lines - -obfuscate email addresses - ------------------------------------------------------------------------- -r442 | oetiker | 2005-04-26 07:30:22 +0200 | 5 lines - -* remove jakes old address -* add security warning - - - ------------------------------------------------------------------------- -r440 | oetiker | 2005-04-26 00:55:15 +0200 | 2 lines - -remove pdf link - ------------------------------------------------------------------------- -r436 | oetiker | 2005-04-26 00:18:15 +0200 | 4 lines - -use time_t to improve portability to 64bit systems --- John R Mocho - - ------------------------------------------------------------------------- -r429 | oetiker | 2005-04-25 23:01:22 +0200 | 2 lines - -added new state - ------------------------------------------------------------------------- -r428 | oetiker | 2005-04-25 22:45:00 +0200 | 1 line - -prep for 1.2.0 release ------------------------------------------------------------------------- -r426 | oetiker | 2005-04-25 21:07:18 +0200 | 2 lines - -resolved all XXX situations - ------------------------------------------------------------------------- -r425 | oetiker | 2005-04-25 19:31:11 +0200 | 2 lines - -another batch of fixes from fritz - ------------------------------------------------------------------------- -r423 | oetiker | 2005-04-25 00:21:34 +0200 | 1 line - -fixed contributiors listing ------------------------------------------------------------------------- -r422 | oetiker | 2005-04-24 19:23:57 +0200 | 2 lines - -big patch-up for the 1.2. Documents Revisited by Fritz Zaucker - ------------------------------------------------------------------------- -r420 | oetiker | 2005-04-22 20:35:15 +0200 | 1 line - -prep for 1.2rc9 release ------------------------------------------------------------------------- -r417 | oetiker | 2005-04-19 23:09:27 +0200 | 1 line - -fix titles ------------------------------------------------------------------------- -r416 | oetiker | 2005-04-19 23:05:39 +0200 | 2 lines - -fixed title - ------------------------------------------------------------------------- -r414 | oetiker | 2005-04-19 00:39:10 +0200 | 3 lines - -src moved back to pod. this include thing was a neat idea but it just adds another twist to things which is not necessary. -fixed some pod errors - ------------------------------------------------------------------------- -r413 | oetiker | 2005-04-19 00:13:20 +0200 | 2 lines - -misc fixes for better display - ------------------------------------------------------------------------- -r412 | oetiker | 2005-04-18 13:07:02 +0200 | 2 lines - -fixed format - ------------------------------------------------------------------------- -r411 | oetiker | 2005-04-18 00:43:11 +0200 | 3 lines - -fixed many pod bugs while creating the new website - - ------------------------------------------------------------------------- -r410 | oetiker | 2005-04-17 19:29:29 +0200 | 2 lines - -make sure argument descriptions comply with Bold = fixed and Italics = variable - ------------------------------------------------------------------------- -r409 | oetiker | 2005-04-17 18:26:18 +0200 | 2 lines - -fix use of =item commands - ------------------------------------------------------------------------- -r408 | oetiker | 2005-04-17 18:25:53 +0200 | 2 lines - -allow to build pods (for website) - ------------------------------------------------------------------------- -r406 | oetiker | 2005-04-14 00:00:20 +0200 | 4 lines - -* draw the axis last to have them always on top -* use a smaller font for labeling the axis - - ------------------------------------------------------------------------- -r405 | oetiker | 2005-04-13 21:53:41 +0200 | 2 lines - -have better default compression - ------------------------------------------------------------------------- -r404 | oetiker | 2005-04-13 21:53:16 +0200 | 1 line - -tune fontsizes and spacing to be more in line with rrdtool 1.0 ------------------------------------------------------------------------- -r402 | oetiker | 2005-04-12 23:52:18 +0200 | 1 line - -prep for 1.2rc8 release ------------------------------------------------------------------------- -r401 | oetiker | 2005-04-12 23:10:39 +0200 | 1 line - -prep for 1.2rc8 release ------------------------------------------------------------------------- -r400 | oetiker | 2005-04-12 22:56:19 +0200 | 5 lines - -* better fix for units-exponent issue ... now the whole scaling happens only at - print time ... this is more stable -- tobi - -* remove the newline from ctime (%c) in VDEF -- alex - ------------------------------------------------------------------------- -r398 | oetiker | 2005-04-12 01:23:59 +0200 | 1 line - -prep for 1.2rc7 release ------------------------------------------------------------------------- -r397 | oetiker | 2005-04-12 01:22:57 +0200 | 6 lines - -* adjusted element spacing within the graph -* re-intruduced --units-length option -* stabilized --units-exponent option by jumping to alt-y-grid mode - once the default autogrid can not cope with the data anymore. - - ------------------------------------------------------------------------- -r396 | oetiker | 2005-04-12 01:20:52 +0200 | 1 line - -added note about incompatible changes ------------------------------------------------------------------------- -r395 | oetiker | 2005-04-11 14:29:32 +0200 | 2 lines - -started change log - ------------------------------------------------------------------------- -r394 | oetiker | 2005-04-11 14:17:36 +0200 | 1 line - -added notes on INF ------------------------------------------------------------------------- -r393 | oetiker | 2005-04-11 11:51:22 +0200 | 4 lines - -* we are now creating true RGBA pngs -* removed all memory leeks from rrd_gfx - - ------------------------------------------------------------------------- -r392 | oetiker | 2005-04-11 00:02:10 +0200 | 2 lines - -started updating for 1.2 release - ------------------------------------------------------------------------- -r391 | oetiker | 2005-04-10 20:11:58 +0200 | 1 line - -clarified output -- alex ------------------------------------------------------------------------- -r390 | oetiker | 2005-04-10 20:10:56 +0200 | 1 line - -get the docs ready for the 1.2 release. remove notes about things that never got implemented. -- alex ------------------------------------------------------------------------- -r389 | oetiker | 2005-04-10 20:05:51 +0200 | 1 line - -do not draw AREAS that have no hight (done right). draw an arrow on the positiv y axis. ------------------------------------------------------------------------- -r388 | oetiker | 2005-04-10 17:35:28 +0200 | 1 line - -updated for 1.2 release -- alex ------------------------------------------------------------------------- -r387 | oetiker | 2005-04-10 16:00:12 +0200 | 1 line - -fixed typo -- alex ------------------------------------------------------------------------- -r386 | oetiker | 2005-04-10 15:57:34 +0200 | 2 lines - -G does not exist E does - ------------------------------------------------------------------------- -r385 | oetiker | 2005-04-10 14:12:21 +0200 | 2 lines - -fixed spelling and working -- Alex van den Bogaerdt alex at ergens.op.het.net - ------------------------------------------------------------------------- -r383 | oetiker | 2005-04-10 13:53:01 +0200 | 1 line - -added extra strftime.[ch] which supports ISO 8601 week numbers, together with instructions in the NT-BUILD-TIPPS file ------------------------------------------------------------------------- -r381 | oetiker | 2005-04-10 13:33:10 +0200 | 1 line - -prep for 1.2rc6 release ------------------------------------------------------------------------- -r380 | oetiker | 2005-04-10 13:31:32 +0200 | 2 lines - -remove excess comment - ------------------------------------------------------------------------- -r379 | oetiker | 2005-04-10 13:30:14 +0200 | 4 lines - -make --disable-perl work -allow configuration of the default font at configure time - - ------------------------------------------------------------------------- -r378 | oetiker | 2005-04-10 13:29:16 +0200 | 1 line - -revamped drawing routines to be less complex and more stable. be kind to libart ------------------------------------------------------------------------- -r377 | oetiker | 2005-04-10 11:38:38 +0200 | 1 line - -allow --color arguments with RRGGBB and not only RRGGBBAA ------------------------------------------------------------------------- -r376 | oetiker | 2005-04-10 11:16:10 +0200 | 1 line - -everyone has other names for their shared libraries, so lets drop the dependency ------------------------------------------------------------------------- -r375 | oetiker | 2005-04-10 11:15:19 +0200 | 1 line - -mention updatev in the synopsis ------------------------------------------------------------------------- -r374 | oetiker | 2005-04-09 16:21:59 +0200 | 2 lines - -we do have 95% - ------------------------------------------------------------------------- -r372 | oetiker | 2005-04-07 23:35:32 +0200 | 1 line - -prep for 1.2rc5 release ------------------------------------------------------------------------- -r371 | oetiker | 2005-04-07 23:31:37 +0200 | 1 line - -fix implementation of --only-graph ------------------------------------------------------------------------- -r370 | oetiker | 2005-04-07 23:31:09 +0200 | 1 line - -make libart happy by NOT adjusting coordinates and by using the ART_WIND_RULE_NONZERO winding rule ------------------------------------------------------------------------- -r369 | oetiker | 2005-04-07 23:30:16 +0200 | 1 line - -return propper exit codes ------------------------------------------------------------------------- -r368 | oetiker | 2005-04-07 22:07:45 +0200 | 2 lines - -fix bitpatterns of extraflags so that they do not interfear - ------------------------------------------------------------------------- -r366 | oetiker | 2005-04-07 01:58:41 +0200 | 1 line - -prep for 1.2rc4 release ------------------------------------------------------------------------- -r365 | oetiker | 2005-04-07 01:24:35 +0200 | 1 line - -prep for 1.2rc4 release ------------------------------------------------------------------------- -r364 | oetiker | 2005-04-07 01:18:37 +0200 | 2 lines - -document RRD_DEFAULT_FONT environment variable - ------------------------------------------------------------------------- -r363 | oetiker | 2005-04-07 00:40:53 +0200 | 2 lines - -make sure WIN32 sections do NOT kick in for cygwin compiles - ------------------------------------------------------------------------- -r362 | oetiker | 2005-04-06 00:49:55 +0200 | 2 lines - -only unwind the areas, the lines should be fine by themselves! - ------------------------------------------------------------------------- -r360 | oetiker | 2005-04-05 22:32:39 +0200 | 1 line - -prep for 1.2rc3 release ------------------------------------------------------------------------- -r359 | oetiker | 2005-04-05 22:17:45 +0200 | 4 lines - -* fix transparency rendering by rewinding the paths propperly -* fix x-axis label drawing by considering label precision - - ------------------------------------------------------------------------- -r358 | oetiker | 2005-04-05 21:14:16 +0200 | 1 line - -new originaly copy ------------------------------------------------------------------------- -r357 | oetiker | 2005-04-05 21:12:54 +0200 | 2 lines - -fixed propperties to have a RAW font - ------------------------------------------------------------------------- -r353 | oetiker | 2005-04-04 23:56:30 +0200 | 1 line - -make configure work even when no prefix is specified ------------------------------------------------------------------------- -r352 | oetiker | 2005-04-04 23:40:11 +0200 | 1 line - -prep for 1.2rc2 release ------------------------------------------------------------------------- -r351 | oetiker | 2005-04-04 23:22:05 +0200 | 1 line - -prepared for 1.2rc2 release ------------------------------------------------------------------------- -r350 | oetiker | 2005-04-04 23:21:43 +0200 | 1 line - -prepared for 1.2rc1 release ------------------------------------------------------------------------- -r349 | oetiker | 2005-04-04 23:12:21 +0200 | 1 line - -prepared for 1.2rc1 release ------------------------------------------------------------------------- -r348 | oetiker | 2005-04-04 23:07:55 +0200 | 1 line - -prepared for 1.2rc1 release ------------------------------------------------------------------------- -r347 | oetiker | 2005-04-04 23:05:32 +0200 | 1 line - -prepared for 1.2rc1 release ------------------------------------------------------------------------- -r345 | oetiker | 2005-04-04 22:56:49 +0200 | 1 line - -fixed prefix detection code again ------------------------------------------------------------------------- -r344 | oetiker | 2005-04-04 22:53:23 +0200 | 1 line - -fixed autoprefix ------------------------------------------------------------------------- -r342 | oetiker | 2005-04-04 22:48:58 +0200 | 2 lines - -fixed config script for prefixing - ------------------------------------------------------------------------- -r340 | oetiker | 2005-04-04 22:37:26 +0200 | 2 lines - -get ready for 1.2 - ------------------------------------------------------------------------- -r338 | oetiker | 2005-04-04 21:55:30 +0200 | 1 line - -branche for 1.2 ------------------------------------------------------------------------- -r336 | oetiker | 2005-04-03 14:44:15 +0200 | 2 lines - -update build instructions and configure output. - ------------------------------------------------------------------------- -r335 | oetiker | 2005-04-03 13:44:58 +0200 | 2 lines - -paramters in SHIFT are separated by : like everywhere else - ------------------------------------------------------------------------- -r334 | oetiker | 2005-04-03 13:36:58 +0200 | 3 lines - -the piechart code does not produce release ready results ... hide it behind WITH_PIECHART define - - ------------------------------------------------------------------------- -r333 | oetiker | 2005-04-03 13:11:50 +0200 | 2 lines - -improve png writing speed by lowering the compression - ------------------------------------------------------------------------- -r332 | oetiker | 2005-04-03 13:11:21 +0200 | 2 lines - -make sure the font path is shorter than the buffer - ------------------------------------------------------------------------- -r331 | oetiker | 2005-04-03 12:10:56 +0200 | 3 lines - -fix graph layout ... especially consider text propperties propperly - - ------------------------------------------------------------------------- -r330 | oetiker | 2005-04-03 11:37:08 +0200 | 3 lines - -the legend string of a PRINT command gets renderd later by runnning -it through printf. - ------------------------------------------------------------------------- -r329 | oetiker | 2005-04-03 11:35:52 +0200 | 4 lines - -MMAP support for rrdtool this is suposed to speed-up uptime 4 times. --- Radoslaw Karas - - ------------------------------------------------------------------------- -r328 | oetiker | 2005-03-20 22:17:50 +0100 | 1 line - -revert to last working version ------------------------------------------------------------------------- -r327 | oetiker | 2005-03-20 22:11:17 +0100 | 1 line - -fix quoting ------------------------------------------------------------------------- -r326 | oetiker | 2005-03-20 22:00:13 +0100 | 2 lines - -quote sed expression - ------------------------------------------------------------------------- -r325 | oetiker | 2005-03-20 21:59:31 +0100 | 5 lines - -document tabbing support by adding in the textformatting notes -document --tabwidth argument -document AXIS color - - ------------------------------------------------------------------------- -r324 | oetiker | 2005-03-20 21:58:28 +0100 | 8 lines - -* allow configuration of the default tab width -* added new configurable color AXIS -* made tabbing support work with legend elements -* use propper font for the legend: LEGEND -* fix apperance by makeing grid more transparent -* draw axis over the graph not under it. - - ------------------------------------------------------------------------- -r323 | oetiker | 2005-03-20 21:56:16 +0100 | 1 line - -added tabbig support ------------------------------------------------------------------------- -r322 | oetiker | 2005-03-20 21:55:27 +0100 | 1 line - -include the thread defs after they have been found not before ------------------------------------------------------------------------- -r320 | oetiker | 2005-03-13 17:34:27 +0100 | 2 lines - -propperly integrate rrd_first - ------------------------------------------------------------------------- -r319 | oetiker | 2005-03-13 17:13:49 +0100 | 1 line - -autotools still run after configure this is not good ... run autoreconf at the end of MakeMakefile. Maybe this will help ------------------------------------------------------------------------- -r318 | oetiker | 2005-03-13 17:09:21 +0100 | 1 line - -set install patch to version ------------------------------------------------------------------------- -r317 | oetiker | 2005-03-13 17:08:43 +0100 | 1 line - -re-run autotools to make sure dependent dates are correct ------------------------------------------------------------------------- -r316 | oetiker | 2005-03-13 17:00:51 +0100 | 1 line - -reintroduce final header regen ------------------------------------------------------------------------- -r315 | oetiker | 2005-03-13 16:57:37 +0100 | 1 line - -still trying to get the order of calling autotools right ------------------------------------------------------------------------- -r314 | oetiker | 2005-03-13 16:54:06 +0100 | 1 line - -create aclocal.m4 before libtoolize ------------------------------------------------------------------------- -r313 | oetiker | 2005-03-13 16:51:06 +0100 | 1 line - -make the headers first ------------------------------------------------------------------------- -r312 | oetiker | 2005-03-13 16:16:05 +0100 | 1 line - -add the documentation for first ------------------------------------------------------------------------- -r311 | oetiker | 2005-03-13 16:14:31 +0100 | 1 line - -ntconfig is no more ------------------------------------------------------------------------- -r310 | oetiker | 2005-03-13 16:12:44 +0100 | 2 lines - -missed the actual code for first - ------------------------------------------------------------------------- -r309 | oetiker | 2005-03-12 18:06:46 +0100 | 1 line - -rrd_first code contributed by Burton Strauss ------------------------------------------------------------------------- -r307 | oetiker | 2005-03-10 18:03:34 +0100 | 17 lines - -* Updated perl compile system. It now uses Makefile.PL for everything, - but gets it to install the perl module in @prefix@/lib/perl such - that you can use the same use lib line for whatever platform and perlversion - you install into this directory. They all live neatly next to each other. - -* fixed examples to work with new perl install system. Added a few exec_prefix lines - where appropriate - -* fixed piped demo - -* fixed VeraMono.ttf file. This somehow got damaged by cvs ... - -* added thread defines to normal compile run, so that _r functions to not through errors. - -* tested compilation and installation - - ------------------------------------------------------------------------- -r306 | oetiker | 2005-03-05 00:53:39 +0100 | 8 lines - -revamped configure system ... lots more stuff is in acinclude now still a -bit of a mess, but better than before ... if configure does not find the -dependent libraries and header it will not try to get help from pkg-config. - -If you know where your libraries are it is best to just use CPPFLAGS and -LDFLAGS to specify their location. - - ------------------------------------------------------------------------- -r305 | oetiker | 2005-03-04 01:12:37 +0100 | 15 lines - -Big autotool update: - -* Upgraded to the latest version of autoconf, automake and libtool - -* replaced pthread detection code in configure with a more effective one - -* added a test to see if special solaris defines - are required for ctime_r to behave posixly correct. - -* Fixed lots of warnings from autotools - -* started adding support for pkg-config ... this will eventually - make the whole library finding much simpler - - ------------------------------------------------------------------------- -r300 | oetiker | 2005-03-03 14:34:53 +0100 | 1 line - -ignorelists are a propperty of an svn directory not a file ------------------------------------------------------------------------- -r298 | oetiker | 2005-02-27 23:00:54 +0100 | 2 lines - -do not complain when setting environemnt variable sucessfully. -- hunter@mimuw.edu.pl - ------------------------------------------------------------------------- -r297 | oetiker | 2005-02-13 17:13:33 +0100 | 3 lines - -let rrd_graph return the actual value range it picked ... --- Henrik Stoerner - ------------------------------------------------------------------------- -r296 | oetiker | 2005-01-28 15:02:17 +0100 | 2 lines - -fix for memory leak. Rene Gallati - ------------------------------------------------------------------------- -r295 | oetiker | 2005-01-03 23:25:37 +0100 | 2 lines - -update todo - ------------------------------------------------------------------------- -r294 | oetiker | 2004-10-26 00:22:53 +0200 | 2 lines - -* fore-rules-legend option -- author name missing - ------------------------------------------------------------------------- -r293 | oetiker | 2004-10-26 00:21:19 +0200 | 2 lines - -fixed segmentation falt problem in rrd_tool -- Yasuhiro Sumi - ------------------------------------------------------------------------- -r292 | oetiker | 2004-10-21 21:21:24 +0200 | 2 lines - -fix return codes in the error case -- Haroon Rafique - ------------------------------------------------------------------------- -r291 | oetiker | 2004-09-24 23:11:09 +0200 | 3 lines - -misc fixed and TREND and reduce functionality by --- David M. Grimes - ------------------------------------------------------------------------- -r290 | oetiker | 2004-08-24 07:26:09 +0200 | 5 lines - -CDEF operators SHIFT, SQRT, SORT, and REV (reverse). See documentation for what -they do. This included removal of redundant code in the -rrd_xport path, replaced with a call to rrd_graph_script(). --- David M. Grimes - ------------------------------------------------------------------------- -r289 | oetiker | 2004-08-09 10:38:55 +0200 | 2 lines - -added note on escaping : - ------------------------------------------------------------------------- -r288 | oetiker | 2004-08-08 23:54:07 +0200 | 2 lines - -port forward of fixes from the stable version of rrd_cgi - ------------------------------------------------------------------------- -r287 | oetiker | 2004-08-08 01:46:35 +0200 | 3 lines - -when moving the data pointers we should take into account how fahr off they -are. Found by David M. Grimes - ------------------------------------------------------------------------- -r286 | oetiker | 2004-08-05 23:24:46 +0200 | 2 lines - -removed nonexisting files from manifest - ------------------------------------------------------------------------- -r285 | jake | 2004-07-30 02:30:13 +0200 | 4 lines - -Fix the Win32 build for executable and perl-shared library. -See NT-BUILD-TIPS.txt for step by step instructions. -Remove VC++ project files not being maintained by anyone. - ------------------------------------------------------------------------- -r284 | oetiker | 2004-07-14 12:55:25 +0200 | 2 lines - -added Peter Speck - ------------------------------------------------------------------------- -r283 | oetiker | 2004-06-26 11:03:50 +0200 | 3 lines - -allow building rpm from cvs where there is not ChangeLog (this gets generated when the -distribution tar is built) -- Tobi and Mike Slifcak - ------------------------------------------------------------------------- -r282 | oetiker | 2004-06-23 22:36:39 +0200 | 4 lines - -It's quie enough that the title is placed on the top -of the graph, there's no need to emphasize it more. --- Stanislav Sinyagin - ------------------------------------------------------------------------- -r281 | oetiker | 2004-06-23 10:39:44 +0200 | 2 lines - -reverted ... $< does not work - ------------------------------------------------------------------------- -r280 | oetiker | 2004-06-23 00:09:07 +0200 | 4 lines - -The "$^" variable is GNU make-specific, and fails to compile under -FreeBSD 4.10. Please change it to $<, which is more compatible. --- Stanislav Sinyagin - ------------------------------------------------------------------------- -r279 | oetiker | 2004-06-18 00:09:24 +0200 | 2 lines - -fixed type for text_prop_conv prototype - ------------------------------------------------------------------------- -r278 | oetiker | 2004-06-07 21:07:57 +0200 | 3 lines - -Fix for debian freetype linking --- Peter Hirdina - ------------------------------------------------------------------------- -r277 | oetiker | 2004-05-27 00:11:12 +0200 | 2 lines - -reduce compiler warnings. Many small fixes. -- Mike Slifcak - ------------------------------------------------------------------------- -r276 | oetiker | 2004-05-27 00:10:24 +0200 | 2 lines - -improve redhat/fedora building -- Mike Slifcak - ------------------------------------------------------------------------- -r275 | oetiker | 2004-05-27 00:09:58 +0200 | 2 lines - -update debian build instructions -- Mike Slifcak - ------------------------------------------------------------------------- -r274 | oetiker | 2004-05-26 00:08:12 +0200 | 3 lines - -The counter was the only variable which needed to be an integer. --- Mike Slifcak - ------------------------------------------------------------------------- -r273 | oetiker | 2004-05-26 00:07:30 +0200 | 10 lines - -The rrdtool RPM package was depending on the rrdtool-perl package. -These changes move the examples, which are primarily perl scripts, -in with the rrdtool-perl RPM package, thereby de-coupling the -rest of the RRDtool from Perl. Perhaps this is silliness ? - -If there is no need for rrdtool separate from the Perl modules, -let me know, then I'll just create an rrdtool and an rrdtool-devel -RPM package (that would be a cleaner build and scripting, anyway). --- Mike Slifcak - ------------------------------------------------------------------------- -r272 | oetiker | 2004-05-26 00:03:04 +0200 | 2 lines - -added dtd descriptsion s or rrdtool xml output -- Wolfgang Schrimm - ------------------------------------------------------------------------- -r271 | oetiker | 2004-05-25 23:06:59 +0200 | 2 lines - -added dump and restore ... Mike Schilli - ------------------------------------------------------------------------- -r270 | oetiker | 2004-05-25 23:01:50 +0200 | 2 lines - -added some contributors - ------------------------------------------------------------------------- -r269 | oetiker | 2004-05-25 23:00:48 +0200 | 2 lines - -fixed time stamp in example -- Mike Slifcak - ------------------------------------------------------------------------- -r268 | oetiker | 2004-05-25 22:59:49 +0200 | 2 lines - -more fixes for rpm spec -- Mike Slifcak - ------------------------------------------------------------------------- -r267 | oetiker | 2004-05-25 22:58:57 +0200 | 2 lines - -single word fix -- Mike Slifcak - ------------------------------------------------------------------------- -r266 | oetiker | 2004-05-25 22:57:58 +0200 | 4 lines - -Clear out previous legend array contents before freeing legend array. -Problem could manifest under extreme resource limits. Not tested. --- Mike Slifcak - ------------------------------------------------------------------------- -r265 | oetiker | 2004-05-25 22:55:37 +0200 | 2 lines - -subordinate term was improperly formed -- Mike Slifcak - ------------------------------------------------------------------------- -r264 | oetiker | 2004-05-25 22:53:21 +0200 | 2 lines - -prevent small leak when resources are exhausted -- Mike Slifcak - ------------------------------------------------------------------------- -r263 | oetiker | 2004-05-25 22:52:16 +0200 | 2 lines - -fix spelling and syntax, especially in messages that are printed -- Mike Slifcak - ------------------------------------------------------------------------- -r262 | oetiker | 2004-05-25 22:51:49 +0200 | 2 lines - -Update displayed copyright messages to be consistent. -- Mike Slifcak - ------------------------------------------------------------------------- -r261 | oetiker | 2004-05-25 22:51:12 +0200 | 2 lines - -don't process the old rrdgraph single file document -- Mike Slifcak - ------------------------------------------------------------------------- -r260 | oetiker | 2004-05-25 22:50:36 +0200 | 2 lines - -fix rpm rules -- Mike Slifcak - ------------------------------------------------------------------------- -r259 | oetiker | 2004-05-25 22:50:07 +0200 | 2 lines - -fixed debian dependencies -- Mike Slifcak - ------------------------------------------------------------------------- -r258 | oetiker | 2004-05-25 18:51:49 +0200 | 3 lines - -The expression's head was first checking for LT, and then for LTIME, -and the latter was never reached. -- Stanislav Sinyagin - ------------------------------------------------------------------------- -r257 | oetiker | 2004-05-19 07:11:07 +0200 | 2 lines - -integrated from debian - ------------------------------------------------------------------------- -r256 | oetiker | 2004-05-18 20:54:50 +0200 | 2 lines - -its 365 days in a year .... -- Mike Slifcak - ------------------------------------------------------------------------- -r255 | oetiker | 2004-05-18 20:53:03 +0200 | 2 lines - -big spell checking patch -- slif@bellsouth.net - ------------------------------------------------------------------------- -r254 | oetiker | 2004-05-18 20:51:55 +0200 | 2 lines - -make force option work - ------------------------------------------------------------------------- -r253 | oetiker | 2004-05-18 20:51:02 +0200 | 2 lines - -added beginners guide off debian -- slif@bellsouth.net - ------------------------------------------------------------------------- -r252 | oetiker | 2004-05-18 20:49:50 +0200 | 2 lines - -add 4chars and fix two examples -- Mike Slifcak - ------------------------------------------------------------------------- -r251 | oetiker | 2004-05-18 20:40:31 +0200 | 2 lines - -initial debian build system added -- Mike Slifcak - ------------------------------------------------------------------------- -r250 | oetiker | 2004-05-18 20:36:05 +0200 | 2 lines - -fix library numbering -- Mike Slifcak - ------------------------------------------------------------------------- -r249 | oetiker | 2004-05-18 20:25:45 +0200 | 2 lines - -better cleaning -- Mike Slifcak - ------------------------------------------------------------------------- -r248 | oetiker | 2004-05-12 23:57:53 +0200 | 3 lines - -locate the mkinstalldirs script at top level -accept "configure --mandir=" settings -- Mike Slifcak - ------------------------------------------------------------------------- -r247 | oetiker | 2004-05-04 23:01:29 +0200 | 4 lines - -Added the ATAN function. This is being used to convert a DS for each vector component of wind direction into a -single direction for graphing. CDEF:avdir=yavg,xavg,/,ATAN,57.296,*,xavg,0,LT,180,0,IF,+,DUP,0,LT,360,0,IF,+ --- Daniel Shiels - ------------------------------------------------------------------------- -r246 | oetiker | 2004-05-04 22:54:47 +0200 | 2 lines - -updated spec file -- Chris Adams - ------------------------------------------------------------------------- -r245 | oetiker | 2004-05-04 07:25:19 +0200 | 3 lines - -die only after all the version checks are done and not for each one --- Alex van den Bogaerdt - ------------------------------------------------------------------------- -r244 | oetiker | 2004-05-03 16:05:48 +0200 | 6 lines - -* Allows rrdtool 1.1.x (2004-04-29) to compile on freebsd. -* Add configure options - --disable-rrdcgi disable building of rrdcgi - --disable-pthread disable multithread support --- Stanislav Sinyagin - ------------------------------------------------------------------------- -r243 | oetiker | 2004-05-02 23:10:59 +0200 | 7 lines - -See the patch, attached. It changes the default angle to 90, and -allows one to change it from configure command line: - -./configure RRDGRAPH_YLEGEND_ANGLE=270.0 - --- Stanislav Sinyagin - ------------------------------------------------------------------------- -r242 | oetiker | 2004-04-18 12:21:31 +0200 | 2 lines - -fixed O_BINARY - ------------------------------------------------------------------------- -r241 | oetiker | 2004-03-23 22:34:28 +0100 | 2 lines - -make sure fole is opened binary on restore ... to make things work on windows -- "Girod, Laurent" - ------------------------------------------------------------------------- -r240 | oetiker | 2004-03-21 12:40:49 +0100 | 2 lines - -Added --only-graph option -- Piotr Kodzis - ------------------------------------------------------------------------- -r239 | oetiker | 2004-03-14 21:58:32 +0100 | 3 lines - -make MakeMaker work on debian and fix some leftovers from the library rip-out transition --- Tobi - ------------------------------------------------------------------------- -r238 | oetiker | 2004-01-20 00:41:34 +0100 | 2 lines - -initial - ------------------------------------------------------------------------- -r237 | oetiker | 2004-01-20 00:39:42 +0100 | 2 lines - -kill - ------------------------------------------------------------------------- -r236 | oetiker | 2004-01-20 00:39:01 +0100 | 2 lines - -remove - ------------------------------------------------------------------------- -r235 | oetiker | 2004-01-20 00:37:19 +0100 | 2 lines - -kill it - ------------------------------------------------------------------------- -r234 | oetiker | 2004-01-20 00:35:21 +0100 | 2 lines - -killem - ------------------------------------------------------------------------- -r233 | oetiker | 2004-01-20 00:27:17 +0100 | 2 lines - -all must go - ------------------------------------------------------------------------- -r232 | oetiker | 2004-01-20 00:17:00 +0100 | 2 lines - -misc fixes to get rrdtool working without included libraries. - ------------------------------------------------------------------------- -r231 | oetiker | 2004-01-20 00:16:03 +0100 | 2 lines - -modifications for 'no more local libaries' - ------------------------------------------------------------------------- -r230 | oetiker | 2004-01-15 19:14:02 +0100 | 2 lines - -addition of RRDs::times -- Christophe Kalt - ------------------------------------------------------------------------- -r229 | oetiker | 2003-12-26 17:54:55 +0100 | 2 lines - -using --riggid it is possible to get a case where minval is bigger than maxval ... this breaks the horizontal grid ... - ------------------------------------------------------------------------- -r228 | oetiker | 2003-11-27 07:31:38 +0100 | 2 lines - -Stop RRDs for segfaulting on invalid graph input -- Ian Holsman - ------------------------------------------------------------------------- -r227 | oetiker | 2003-11-27 07:30:36 +0100 | 2 lines - -make rrd_cgi build again ... Ian Holsman - ------------------------------------------------------------------------- -r226 | oetiker | 2003-11-23 13:55:37 +0100 | 2 lines - -New recursive parser for rrdcgi by Arend-Jan Wijtzes - ------------------------------------------------------------------------- -r225 | oetiker | 2003-11-19 08:06:44 +0100 | 4 lines - -Adding attributions: -* xml fix was by Ian Holsman -* font rotation was by Chris Turbeville - ------------------------------------------------------------------------- -r224 | oetiker | 2003-11-19 07:58:36 +0100 | 2 lines - -fixed svg generation - ------------------------------------------------------------------------- -r223 | oetiker | 2003-11-17 12:43:56 +0100 | 2 lines - -more correct usage added -- Eldad Zack - ------------------------------------------------------------------------- -r222 | oetiker | 2003-11-15 00:10:51 +0100 | 2 lines - -handle NULL pointers gracefully - ------------------------------------------------------------------------- -r221 | oetiker | 2003-11-12 23:14:26 +0100 | 2 lines - -allow to pass an open filehandle into rrd_graph as an extra argument - ------------------------------------------------------------------------- -r220 | oetiker | 2003-11-12 23:13:55 +0100 | 2 lines - -make create much faster .. -- David M. Grimes - ------------------------------------------------------------------------- -r219 | oetiker | 2003-11-11 22:19:52 +0100 | 3 lines - -Allow to force overwrite when restoring from xml to rrd. --- Eldad Zack - ------------------------------------------------------------------------- -r218 | oetiker | 2003-11-11 20:46:21 +0100 | 2 lines - -replaced time_value with rrd_time_value as MacOS X introduced a struct of that name in their standard headers - ------------------------------------------------------------------------- -r217 | oetiker | 2003-11-11 20:38:03 +0100 | 3 lines - -rrd files should NOT change size ever ... bulk update code wa buggy. --- David M. Grimes - ------------------------------------------------------------------------- -r216 | oetiker | 2003-11-04 23:20:33 +0100 | 2 lines - -20 chars max in a ds name -- Kuba Filipowicz - ------------------------------------------------------------------------- -r215 | oetiker | 2003-10-26 20:29:56 +0100 | 2 lines - -added rotation ... - ------------------------------------------------------------------------- -r214 | oetiker | 2003-09-04 15:16:12 +0200 | 2 lines - -should not assigne but compare ... grrrrr - ------------------------------------------------------------------------- -r213 | oetiker | 2003-09-02 23:58:35 +0200 | 2 lines - -be pickier about what we accept in rrd_update. Complain if things do not work out - ------------------------------------------------------------------------- -r212 | oetiker | 2003-08-28 23:48:53 +0200 | 2 lines - -make sure we get only 1 flag -- Chris Turbeville - ------------------------------------------------------------------------- -r211 | oetiker | 2003-07-28 23:59:22 +0200 | 10 lines - -I was just taking a look at the development RRDtool build (I'm looking -forward to SVG support), and had a few problems with an out-of-tree -build. I find using a separate build directory makes things much -easier to manage, especially when building for multiple architectures. - -I've attached the minor patches for the progress that I made (I couldn't -get the Perl modules to work, but the main binaries seem okay), and -would be grateful if you could commit them (or something like them!). --- Joseph Walton - ------------------------------------------------------------------------- -r210 | jake | 2003-07-24 16:51:46 +0200 | 2 lines - -Allow hyphen character in DEF_NAM_FMT to match DS_NAM_FMT. - ------------------------------------------------------------------------- -r209 | jake | 2003-07-17 01:41:37 +0200 | 4 lines - -Updated MS Visual C++ files from 7.0 to 7.1. -Add code to rrd_graph.c: rrd_graph_init() to use %windir% environment -variable to find the default font at runtime. - ------------------------------------------------------------------------- -r208 | jake | 2003-07-15 02:58:38 +0200 | 2 lines - -Moved OP_COUNT to the end of the enumeration. - ------------------------------------------------------------------------- -r207 | oetiker | 2003-05-20 22:51:04 +0200 | 5 lines - -I've made a patch to rrdcgi to add which allows -you to re-format start and end-time at-style times using strftime. This -allows easy timespans in the graph (e.g. -2weeks) to be formatted into more -usual times. -- "Erskine, Thomas" - ------------------------------------------------------------------------- -r206 | oetiker | 2003-05-03 17:41:41 +0200 | 3 lines - -small patch to rrd_create.c that corrects problem with the -version number of the newly created files. -- Sasha Mikheev - ------------------------------------------------------------------------- -r205 | oetiker | 2003-04-29 23:56:49 +0200 | 6 lines - -readline in rrd_open.c reads the file in 8 KB blocks, and calls realloc for -each block. realloc is very slow in Mac OS X for huge blocks, e.g. when -restoring databases from huge xml files. This patch finds the size of the -file, and starts out with malloc'ing the full size. --- Peter Speck - ------------------------------------------------------------------------- -r204 | oetiker | 2003-04-29 21:37:27 +0200 | 2 lines - -added comment on iso - ------------------------------------------------------------------------- -r203 | jake | 2003-04-29 21:14:12 +0200 | 3 lines - -Change updatev RRA return from index_number to cf_nam, pdp_cnt. -Also revert accidental addition of -I to aclocal MakeMakefile. - ------------------------------------------------------------------------- -r202 | oetiker | 2003-04-26 07:11:27 +0200 | 2 lines - -only restore V2 and larger. - ------------------------------------------------------------------------- -r201 | jake | 2003-04-25 20:35:08 +0200 | 2 lines - -Alternate update interface, updatev. Returns info about CDPs written to disk as result of update. Output format is similar to rrd_info, a hash of key-values. - ------------------------------------------------------------------------- -r200 | oetiker | 2003-04-24 00:47:00 +0200 | 2 lines - -fixed version checks to only complain if xml version is > than current RRD version - ------------------------------------------------------------------------- -r199 | oetiker | 2003-04-11 21:43:44 +0200 | 6 lines - -New special value COUNT which allows calculations based on the position of a -value within a data set. Bug fix in rrd_rpncalc.c. PREV returned erroneus -value for the second value. Bug fix in rrd_restore.c. Bug causing seek error -when accesing an RRD restored from an xml that holds an RRD version <3. --- Ruben Justo - ------------------------------------------------------------------------- -r198 | oetiker | 2003-04-04 22:51:21 +0200 | 4 lines - -I think I found a very small bug in rrd graph PDF output : the is_stream member of -pdf_buffer is not initialized, making bad PDF sometimes (I found a case where is_stream was -!= 0 for the font initialization). -- lhoudard@netcourrier.com - ------------------------------------------------------------------------- -r197 | jake | 2003-04-02 00:52:23 +0200 | 2 lines - -Fix Win32 build. VC++ 6.0 and 7.0 now use the thread-safe code. - ------------------------------------------------------------------------- -r196 | oetiker | 2003-03-31 23:22:12 +0200 | 4 lines - -enables RRDtool updates with microsecond or in case of windows millisecond -precision. This is needed to reduce time measurement error when archive step -is small. (<30s) -- Sasha Mikheev - ------------------------------------------------------------------------- -r195 | oetiker | 2003-03-25 23:29:10 +0100 | 2 lines - -use the environment variable VCINSTALLDIR -- Ian Holsman - ------------------------------------------------------------------------- -r194 | oetiker | 2003-03-24 23:08:20 +0100 | 2 lines - -strerror should not turn us recursive here ... -- Peter Stamfest - ------------------------------------------------------------------------- -r193 | oetiker | 2003-03-24 23:05:26 +0100 | 2 lines - -strerror must not become recursive -- Peter Stamfest - ------------------------------------------------------------------------- -r192 | oetiker | 2003-03-12 21:39:59 +0100 | 2 lines - -remove ^M - ------------------------------------------------------------------------- -r191 | oetiker | 2003-03-10 01:30:34 +0100 | 3 lines - -handle cases with two negative numbers --- Sasha Mikheev - ------------------------------------------------------------------------- -r190 | oetiker | 2003-03-08 19:44:06 +0100 | 3 lines - -don't display legends for [HV]RULEs out of graph bounds (rrdgraph) --- Christophe Kalt - ------------------------------------------------------------------------- -r189 | oetiker | 2003-03-01 23:25:56 +0100 | 2 lines - -realy suppress size output when talking to stdout. Patch from Mat Zimmerman @ debian - ------------------------------------------------------------------------- -r188 | oetiker | 2003-02-24 19:26:37 +0100 | 2 lines - -fix for : in piped demo - ------------------------------------------------------------------------- -r187 | oetiker | 2003-02-22 22:57:35 +0100 | 3 lines - -Initial checkin --- Peter Stamfest - ------------------------------------------------------------------------- -r186 | oetiker | 2003-02-22 22:57:03 +0100 | 3 lines - -a patch to avoid a memory leak and a Makefile.am patch to -distribute all required source files -- Peter Stamfest - ------------------------------------------------------------------------- -r185 | oetiker | 2003-02-21 23:40:07 +0100 | 2 lines - -colons must be escaped - ------------------------------------------------------------------------- -r184 | oetiker | 2003-02-20 22:48:57 +0100 | 3 lines - -make the threading work and compile, fix linking to libpng -and update the timestaps int the files - ------------------------------------------------------------------------- -r183 | oetiker | 2003-02-20 22:27:48 +0100 | 4 lines - -updated copyrigh dates -removed error.h from threaded variant -added compiletime to rrdtool - ------------------------------------------------------------------------- -r182 | oetiker | 2003-02-16 13:32:24 +0100 | 2 lines - -if output is - there is not need to deref the handler - ------------------------------------------------------------------------- -r181 | oetiker | 2003-02-16 13:31:58 +0100 | 2 lines - -expect seems to exist on some systems in the system inc files - ------------------------------------------------------------------------- -r180 | oetiker | 2003-02-13 08:05:59 +0100 | 12 lines - -Find attached the patch I promised to send to you. Please note that there -are three new source files (src/rrd_is_thread_safe.h, src/rrd_thread_safe.c -and src/rrd_not_thread_safe.c) and the introduction of librrd_th. This -library is identical to librrd, but it contains support code for per-thread -global variables currently used for error information only. This is similar -to how errno per-thread variables are implemented. librrd_th must be linked -alongside of libpthred - -There is also a new file "THREADS", holding some documentation. - --- Peter Stamfest - ------------------------------------------------------------------------- -r179 | oetiker | 2003-02-12 08:06:56 +0100 | 2 lines - -improved dist target -- Peter Stamfest - ------------------------------------------------------------------------- -r178 | oetiker | 2003-02-11 11:16:46 +0100 | 2 lines - -removed lg we do not allow this in the code at th moment - ------------------------------------------------------------------------- -r177 | oetiker | 2003-02-05 19:16:02 +0100 | 2 lines - -rrd resize SHRINK was broken :-) -- Scott Mace - ------------------------------------------------------------------------- -r176 | oetiker | 2003-01-31 07:46:32 +0100 | 2 lines - -The NaN check should only use lastgdes when following a STACK -- Scott Mace - ------------------------------------------------------------------------- -r175 | oetiker | 2003-01-30 22:39:21 +0100 | 2 lines - -fix stak+nan error ... Scott Mace - ------------------------------------------------------------------------- -r174 | oetiker | 2003-01-29 08:17:23 +0100 | 2 lines - -fixed the processing of TICK:vname#color:frac:legend -- Scott Mace - ------------------------------------------------------------------------- -r173 | oetiker | 2003-01-25 23:50:32 +0100 | 3 lines - -added function (--no-minor) to turn off minor gridlines on graphs --- Travis Brown - ------------------------------------------------------------------------- -r172 | oetiker | 2003-01-17 00:27:54 +0100 | 3 lines - -fix border condition in rra selection of rrd_fetch --- Stanislav Sinyagin - ------------------------------------------------------------------------- -r171 | oetiker | 2003-01-15 20:24:13 +0100 | 2 lines - -* single letter variants for all graph options -- James Overbeck - ------------------------------------------------------------------------- -r170 | oetiker | 2002-12-14 23:30:41 +0100 | 3 lines - -fix rrdtool compile on solaris where CC for perl is "gcc -B/usr/ccs/bin/" --- Russell Van Tassell - ------------------------------------------------------------------------- -r169 | oetiker | 2002-11-29 12:57:17 +0100 | 2 lines - -note on info added - ------------------------------------------------------------------------- -r168 | oetiker | 2002-11-19 23:33:09 +0100 | 2 lines - -added g as valid string format value - ------------------------------------------------------------------------- -r167 | oetiker | 2002-11-19 00:37:56 +0100 | 3 lines - -check for -OPT:IEEE_NaN_inf=ON on SGI C compiler --- Albert Chin-A-Young - ------------------------------------------------------------------------- -r166 | oetiker | 2002-11-03 16:07:13 +0100 | 2 lines - -fixed - ------------------------------------------------------------------------- -r165 | oetiker | 2002-10-24 23:17:51 +0200 | 2 lines - -added patch for apache 2 compatibility - ------------------------------------------------------------------------- -r164 | oetiker | 2002-10-07 08:22:35 +0200 | 2 lines - -keep up with the jhonses - ------------------------------------------------------------------------- -r163 | oetiker | 2002-10-07 08:21:22 +0200 | 2 lines - --z does not take an option -- Tomoyuki Murakami - ------------------------------------------------------------------------- -r162 | oetiker | 2002-09-02 20:41:19 +0200 | 2 lines - -fixed leak in VDEF_PERCENT handlin -- Perry Stoll - ------------------------------------------------------------------------- -r161 | oetiker | 2002-08-01 07:42:27 +0200 | 3 lines - -fix for segfault condition in print_calc - -- Paul Clifford - ------------------------------------------------------------------------- -r160 | oetiker | 2002-07-31 07:42:48 +0200 | 2 lines - -improved fetch explanation -- Nenad.Antic@era.ericsson.se - ------------------------------------------------------------------------- -r159 | oetiker | 2002-07-13 20:35:37 +0200 | 3 lines - -fixed DEF_NAM_FMT definition -added double include protection the rrd_graph.h and rrd_rpncalc.h - ------------------------------------------------------------------------- -r158 | oetiker | 2002-07-12 13:20:32 +0200 | 2 lines - -fixed PREV parsing ... Gonzalo Augusto Arana Tagle - ------------------------------------------------------------------------- -r157 | oetiker | 2002-07-06 17:45:15 +0200 | 2 lines - -new operators must be added at the END of the sequence ... - ------------------------------------------------------------------------- -r156 | oetiker | 2002-07-05 20:57:02 +0200 | 2 lines - -new operand on rrdgraph CDEFs: PREV(xxxx) -- Gonzalo Augusto Arana Tagle - ------------------------------------------------------------------------- -r155 | oetiker | 2002-07-05 20:47:46 +0200 | 2 lines - -explain tzset - ------------------------------------------------------------------------- -r154 | oetiker | 2002-07-02 12:35:23 +0200 | 2 lines - -fixed DINF for win32 - ------------------------------------------------------------------------- -r153 | alex | 2002-06-29 17:33:58 +0200 | 2 lines - -Changed DEF:... - ------------------------------------------------------------------------- -r152 | alex | 2002-06-29 17:24:26 +0200 | 3 lines - -Changed parsing again. -Added a DEBUG prefix to all grapher commands - ------------------------------------------------------------------------- -r151 | alex | 2002-06-29 16:55:47 +0200 | 2 lines - -Not needed anymore - ------------------------------------------------------------------------- -r150 | alex | 2002-06-27 21:34:25 +0200 | 3 lines - -DEF now takes "--start" and "--end" -LINEx, AREA and such now take parameter "STACK" - ------------------------------------------------------------------------- -r149 | alex | 2002-06-24 01:13:53 +0200 | 2 lines - -Updated docs for the "DEF ... :step=nnnn" case - ------------------------------------------------------------------------- -r148 | alex | 2002-06-24 00:29:40 +0200 | 3 lines - -Added "step=1800" and such to "DEF" -Cleaned some of the signed vs. unsigned problems - ------------------------------------------------------------------------- -r147 | alex | 2002-06-24 00:28:06 +0200 | 2 lines - -In stead of a zillion warnings, only one place gives a warning for DNAN - ------------------------------------------------------------------------- -r146 | jake | 2002-06-20 02:21:03 +0200 | 2 lines - -More Win32 build changes; thanks to Kerry Calvert. - ------------------------------------------------------------------------- -r145 | oetiker | 2002-06-14 14:15:12 +0200 | 2 lines - -better explanations -- "Shipway, Steve" - ------------------------------------------------------------------------- -r144 | jake | 2002-05-22 17:25:43 +0200 | 2 lines - -Changed intercept to slope for beta parameter in rrdtune doc. - ------------------------------------------------------------------------- -r143 | oetiker | 2002-05-22 07:35:09 +0200 | 3 lines - -VC++ .NET (7.0) project files --- Eric Chamberlain - ------------------------------------------------------------------------- -r142 | oetiker | 2002-05-16 21:18:35 +0200 | 2 lines - -added -W ... lets have some more warnings ... with gcc 3.1 985 - ------------------------------------------------------------------------- -r141 | oetiker | 2002-05-15 08:14:40 +0200 | 2 lines - -afm fixes -- Peter Speck - ------------------------------------------------------------------------- -r140 | jake | 2002-05-14 23:52:58 +0200 | 2 lines - -Fix Win32 Build compatibility. - ------------------------------------------------------------------------- -r139 | oetiker | 2002-05-14 23:48:05 +0200 | 2 lines - -double free fixed - ------------------------------------------------------------------------- -r138 | oetiker | 2002-05-14 07:28:45 +0200 | 3 lines - -make opendir readdir chdir chroot and thus the serverfunctionality -a conditional compile depending on the presence of the necessary function calls. - ------------------------------------------------------------------------- -r137 | oetiker | 2002-05-11 11:09:57 +0200 | 2 lines - -make dirent sys/types and sys/stat autoconfable .... - ------------------------------------------------------------------------- -r136 | oetiker | 2002-05-08 22:34:56 +0200 | 3 lines - -Add funtionality to rrdtool to run it as a 'server' --- Hartmut.Vogler@epost.de - ------------------------------------------------------------------------- -r135 | oetiker | 2002-05-07 23:58:33 +0200 | 3 lines - -new command rrdtool xport integrated --- Wolfgang Schrimm - ------------------------------------------------------------------------- -r134 | oetiker | 2002-05-02 15:23:56 +0200 | 2 lines - -typo fixed - ------------------------------------------------------------------------- -r133 | oetiker | 2002-04-29 19:11:03 +0200 | 2 lines - -badformat parser fixed ... for good this time I hope - ------------------------------------------------------------------------- -r132 | oetiker | 2002-04-28 21:13:04 +0200 | 2 lines - -inserted PRINT checker at the wrong point ... - ------------------------------------------------------------------------- -r131 | oetiker | 2002-04-28 16:14:48 +0200 | 5 lines - -It's nice and simple, the error checker for the PRINT stuff which is -passed to printf() is not allowing certain valid printf() style operations -which make text alignment much more fun. --- Richard A Steenbergen - ------------------------------------------------------------------------- -r130 | oetiker | 2002-04-24 23:04:46 +0200 | 2 lines - -fixed setlocale issues - ------------------------------------------------------------------------- -r129 | oetiker | 2002-04-24 22:54:09 +0200 | 2 lines - -fixed adress for wishlist - ------------------------------------------------------------------------- -r128 | oetiker | 2002-04-24 22:49:26 +0200 | 2 lines - -Patch for supporting PDF as output format - ------------------------------------------------------------------------- -r127 | oetiker | 2002-04-24 22:49:00 +0200 | 6 lines - -Modification of rrd_graph.c/h so it uses dashes for gridlines much like -rrdtool 1.0 Avoids drawing minor vertical gridlines where a major gridline -is to avoid artifacts from having the grey line beneath the red one. Patches -src/rrd_graph.c and src/rrd_graph.h --- Peter Speck - ------------------------------------------------------------------------- -r125 | oetiker | 2002-04-24 22:43:27 +0200 | 2 lines - -fixed setlocale issues - ------------------------------------------------------------------------- -r124 | oetiker | 2002-04-16 07:00:07 +0200 | 2 lines - -doc for gridfit by peter - ------------------------------------------------------------------------- -r123 | oetiker | 2002-04-15 23:29:24 +0200 | 20 lines - -Evenly-spaced y-axis gridlines. - -I had to split horizontal_grid() into calc_horizontal_grid and -draw_horizontal_grid as the calculated info is needed in the adjustment -code. My previous patch had the problem that it adjusted the y-axis too -late, e.g. after the data lines was drawn. -The result of the calc is stored in struct ygrid_scale_t which -image_desc_t has as a member. - ---no-gridfit is implemented. - -The round-to-integer coordinates for png is moved to the libart code in -rrd_gfx. The 'close path' code is cleaned up so the node list is left -unchanged if you want to save the same graph in multiple formats in one -run. The rounding is done on the scaled coordinates (zoom). - -I have made a simple version for logarithmic y scales as such a scale -might have 5 gridlines with 4 difference spacings. This version only -uses y = 10^x values for modifying the scale. -- Peter Speck - ------------------------------------------------------------------------- -r122 | oetiker | 2002-04-09 23:35:49 +0200 | 2 lines - -remove boguos description of goodfor and refresh - ------------------------------------------------------------------------- -r121 | oetiker | 2002-04-09 23:34:56 +0200 | 2 lines - -removed tzset as it is in rrd_graph now - ------------------------------------------------------------------------- -r120 | oetiker | 2002-04-09 23:34:13 +0200 | 2 lines - -added tzset and setlocale to rrd_graph - ------------------------------------------------------------------------- -r119 | oetiker | 2002-04-08 00:07:46 +0200 | 2 lines - -added missing files from peters patch - ------------------------------------------------------------------------- -r118 | oetiker | 2002-04-07 22:20:27 +0200 | 18 lines - -3 patches, #3 depends on #1 as EPS uses AFM for stringwidth too. - -src/rrd_afm.[ch], src/rrd_afm_data.[ch] and changes to rrd_gfx.[ch] to -use AFM for stringwidth in SVG output. - -libraries/afm with .afm files for the standard 14 postscript -fonts and perl script to create src/rrd_afm_data.c Includes small test -program to show examples of calculated stringwidth and actual -stringwidth. - -Adds EPS output support. -Modifies rrd_tool.c as rrd_graph() changes the argv pointer, and -rrd_tool then always wrote the 200x100 output line to the file (which -probably doesn't do anything for png images, but eps files fail having -it after the %%EOF marker). - --- Peter Speck - ------------------------------------------------------------------------- -r117 | alex | 2002-04-06 14:40:59 +0200 | 2 lines - -Different default font when WIN32 is defined - ------------------------------------------------------------------------- -r116 | alex | 2002-04-06 14:25:29 +0200 | 3 lines - -Removed references to GIF -Changed y0 and such into Y0 and so - ------------------------------------------------------------------------- -r115 | jake | 2002-04-06 01:51:21 +0200 | 4 lines - -Updated/added MVSC++ 6.0 project files for compilation of -rrd.lib and rrdtool.exe on Win32. Changes for RRDs compilation -on Win32. Moved src/ntconfig.h to confignt/config.h. - ------------------------------------------------------------------------- -r114 | oetiker | 2002-04-03 16:52:15 +0200 | 23 lines - -As gfx_canvas_t now has excatly the same lifespan as image_desc_t, I've -made 'gfx_canvas_t canvas' a member of image_desc_t and dropped it as a -separate parameter in all function calls. - -imgformat, interlaced and zoom are moved to gfx_canvas_t. I have dropped -my old fontlib-enum as imgformat contains that information. The -gfx_render_xxx switch is moved to rrd_gfx so rrd_graph is (almost) only -bothered with image formats in cmd line parsing. - -gfx_close_path is added. - -gfx_new_dashed_line is added with 2 new arguments: length of a dash and -length between dashes. gfx_new_line is still there for plain lines. -Having dash-length == 0 creates normal line. -rrd_graph.c is not updated for dashed lines. It's not decided how one -should specify which and how lines are dashed. An extension of the color -specification? - -svg is updated for dashes and opacity, but libart code is not. I've -fixed indent in SVG, all lines had a space before func decl. etc. -Misc small fixes, e.g. sscanf of gfx_color_t, position of x-axis arrow. ---- Peter Speck - ------------------------------------------------------------------------- -r113 | oetiker | 2002-04-03 07:32:31 +0200 | 2 lines - -i suck. sorry. add ,0666 to the open(). -- Paul Vixie - ------------------------------------------------------------------------- -r112 | oetiker | 2002-04-02 23:32:15 +0200 | 2 lines - -added call to tzset to activate TZ settings -- Paul A Vixie - ------------------------------------------------------------------------- -r111 | oetiker | 2002-04-02 23:31:08 +0200 | 2 lines - -aded missing fcntl.h - ------------------------------------------------------------------------- -r110 | oetiker | 2002-04-02 21:37:54 +0200 | 2 lines - -rrd restore should not burn down existing files -- Paul Vixie - ------------------------------------------------------------------------- -r109 | oetiker | 2002-04-01 20:32:17 +0200 | 2 lines - -merged svg update - ------------------------------------------------------------------------- -r108 | oetiker | 2002-04-01 20:31:22 +0200 | 3 lines - -"!" takes a higher preference than "||" this means rrd_update N:: would -segfault -- Oliver Cook - ------------------------------------------------------------------------- -r107 | jake | 2002-03-28 18:33:49 +0100 | 2 lines - -Added comment suggesting use of -I flag with aclocal. - ------------------------------------------------------------------------- -r106 | oetiker | 2002-03-26 08:02:28 +0100 | 2 lines - -added SVG support -- Peter Speck - ------------------------------------------------------------------------- -r105 | alex | 2002-03-23 21:41:48 +0100 | 2 lines - -Better positioning of the pie when it is alone on the canvas - ------------------------------------------------------------------------- -r104 | alex | 2002-03-23 21:01:13 +0100 | 2 lines - -Modified rrd_graph - ------------------------------------------------------------------------- -r103 | alex | 2002-03-23 20:59:39 +0100 | 2 lines - -Changes in rrd_graph; see NEWS - ------------------------------------------------------------------------- -r102 | oetiker | 2002-03-23 10:05:32 +0100 | 2 lines - -removed reference to GIF - ------------------------------------------------------------------------- -r101 | oetiker | 2002-03-23 10:01:43 +0100 | 2 lines - -remove all traces of GIF and make PNG the default - ------------------------------------------------------------------------- -r100 | oetiker | 2002-03-23 09:53:31 +0100 | 3 lines - -Move CDEF start pointers if start of cdef is a step ahead of the start -of the data -- Ashok Mandala - ------------------------------------------------------------------------- -r99 | oetiker | 2002-03-21 23:39:03 +0100 | 2 lines - -fixed color area in legend and fixed color area in 3d border - ------------------------------------------------------------------------- -r98 | alex | 2002-03-21 13:00:51 +0100 | 3 lines - -Pie charts didn't have anti-aliasing; building them clockwise -seems to solve this problem. - ------------------------------------------------------------------------- -r97 | oetiker | 2002-03-20 23:48:25 +0100 | 3 lines - -fixed longstanding bug affection CDEFS where values from -rrds with different resolutions got mixed .. - ------------------------------------------------------------------------- -r96 | alex | 2002-03-17 23:40:18 +0100 | 2 lines - -Changed the way circle sections are drawn. - ------------------------------------------------------------------------- -r95 | alex | 2002-03-13 03:58:44 +0100 | 2 lines - -New, hopefully better, implementation of PART drawing - ------------------------------------------------------------------------- -r94 | oetiker | 2002-03-12 08:19:09 +0100 | 2 lines - -realy remove zlibe 1.1.3 dir - ------------------------------------------------------------------------- -r93 | oetiker | 2002-03-12 08:18:06 +0100 | 2 lines - -updated - ------------------------------------------------------------------------- -r92 | oetiker | 2002-03-12 08:17:46 +0100 | 2 lines - -ignore generated files - ------------------------------------------------------------------------- -r91 | oetiker | 2002-03-12 08:16:32 +0100 | 2 lines - -missing bits - ------------------------------------------------------------------------- -r90 | oetiker | 2002-03-12 07:43:38 +0100 | 2 lines - -updated to zlib 1.1.4 - ------------------------------------------------------------------------- -r89 | oetiker | 2002-03-12 07:42:00 +0100 | 2 lines - -replace zlib 1.1.3 with zlib 1.1.4 - ------------------------------------------------------------------------- -r88 | alex | 2002-03-11 00:08:37 +0100 | 2 lines - -Pie chart support added to rrdtool graph - ------------------------------------------------------------------------- -r87 | oetiker | 2002-03-10 23:49:24 +0100 | 2 lines - -added quotes to echo - ------------------------------------------------------------------------- -r86 | alex | 2002-03-10 17:22:28 +0100 | 3 lines - -Realigned function rpn_calc() -Stack checking now done using a macro - ------------------------------------------------------------------------- -r85 | alex | 2002-03-10 15:58:30 +0100 | 3 lines - -Fixed some typos/errors -Updated for the NE and ISINF operators in RPN - ------------------------------------------------------------------------- -r84 | alex | 2002-03-10 15:53:04 +0100 | 3 lines - -Using the font option resulted in a segfault. Needs more care, -the current change is just a hack - ------------------------------------------------------------------------- -r83 | alex | 2002-03-10 15:48:59 +0100 | 2 lines - -Added NE and ISINF operands to RPN - ------------------------------------------------------------------------- -r82 | oetiker | 2002-03-10 13:28:38 +0100 | 2 lines - -better version check - ------------------------------------------------------------------------- -r81 | alex | 2002-03-08 23:14:22 +0100 | 2 lines - -Needed to escape a wildcard - ------------------------------------------------------------------------- -r80 | alex | 2002-03-08 23:11:37 +0100 | 2 lines - -Fixed some typos - ------------------------------------------------------------------------- -r79 | oetiker | 2002-02-18 22:52:20 +0100 | 2 lines - -added autotools version check to MakeMakefiles - ------------------------------------------------------------------------- -r78 | oetiker | 2002-02-09 07:21:11 +0100 | 2 lines - -do propper error checking and release memmory when it is not required anymore - ------------------------------------------------------------------------- -r77 | oetiker | 2002-02-08 19:40:37 +0100 | 2 lines - -allow rrd_cgi to deal with umlauts -- Alexander Schwartz - ------------------------------------------------------------------------- -r76 | oetiker | 2002-02-03 09:10:36 +0100 | 2 lines - -fixed spelling - ------------------------------------------------------------------------- -r75 | oetiker | 2002-02-02 15:36:14 +0100 | 2 lines - -fixed data pointer storage - ------------------------------------------------------------------------- -r74 | oetiker | 2002-02-01 21:34:49 +0100 | 2 lines - -fixed version number and date/time - ------------------------------------------------------------------------- -r73 | oetiker | 2002-02-01 21:29:32 +0100 | 2 lines - -*** empty log message *** - ------------------------------------------------------------------------- -r72 | oetiker | 2002-01-31 23:44:34 +0100 | 2 lines - -this file and all the external libraries configurability was contributed by mat zimmermann - ------------------------------------------------------------------------- -r71 | oetiker | 2002-01-31 23:43:13 +0100 | 2 lines - -allow use of libraries already installed on the system - ------------------------------------------------------------------------- -r70 | oetiker | 2002-01-31 12:56:24 +0100 | 2 lines - -make "18:00 yesterday" work Pavel Mores - ------------------------------------------------------------------------- -r69 | oetiker | 2002-01-31 08:23:12 +0100 | 2 lines - -weeknumber is not %V which is more appropriate than %W - ------------------------------------------------------------------------- -r68 | oetiker | 2002-01-31 07:36:27 +0100 | 2 lines - -copy ltmain.sh - ------------------------------------------------------------------------- -r67 | oetiker | 2002-01-17 21:31:31 +0100 | 2 lines - -this also - ------------------------------------------------------------------------- -r66 | oetiker | 2002-01-17 21:30:46 +0100 | 2 lines - -this is not needed anymore - ------------------------------------------------------------------------- -r65 | oetiker | 2002-01-17 21:28:01 +0100 | 2 lines - -killing remains - ------------------------------------------------------------------------- -r64 | oetiker | 2002-01-17 00:11:11 +0100 | 2 lines - -added places for download - ------------------------------------------------------------------------- -r63 | oetiker | 2002-01-15 23:58:09 +0100 | 2 lines - -ignore irrelevant things - ------------------------------------------------------------------------- -r62 | oetiker | 2002-01-15 23:53:19 +0100 | 2 lines - -added new .cvsignore files - ------------------------------------------------------------------------- -r61 | oetiker | 2002-01-15 23:51:07 +0100 | 15 lines - -The BIG graph update - * Replace libgd with libart - * Added freetype - * Updated zlib and libpng - * rrd_gfx.c intrduced as libart wrapper - * LINE takes now a float as argument - * rrdtool uses truetype for fonts - * thanks to libart there is now full alpha transparenc - and antialiasing. - * the new option --font lets customize the font - and size for various graph elements - * Updated to -> libtool 1.4.2 automake 2.12 autoconf 2.52 - * new --zoom commandline option for zoom ans shrinking - -- tobias oetiker - ------------------------------------------------------------------------- -r60 | alex | 2002-01-04 02:11:35 +0100 | 2 lines - -Reworked rrd_graph_script() - ------------------------------------------------------------------------- -r59 | alex | 2001-12-24 07:51:49 +0100 | 21 lines - -A patch of size 44Kbytes... in short: - -Found and repaired the off-by-one error in rrd_fetch_fn(). -As a result I had to remove the hacks in rrd_fetch_fn(), -rrd_tool.c, vdef_calc(), data_calc(), data_proc() and -reduce_data(). There may be other places which I didn't -find so be careful. - -Enhanced debugging in rrd_fetch_fn(), it shows the RRA selection -process. - -Added the ability to print VDEF timestamps. At the moment it -is a hack, I needed it now to fix the off-by-one error. -If the format string is "%c" (and nothing else!), the time -will be printed by both ctime() and as a long int. - -Moved some code around (slightly altering it) from rrd_graph() - initializing now in rrd_graph_init() - options parsing now in rrd_graph_options() - script parsing now in rrd_graph_script() - ------------------------------------------------------------------------- -r58 | alex | 2001-12-22 03:49:23 +0100 | 3 lines - -Somehow eight lines were missing from function rrd_graph(). -Also fixed minor bug in vdef_calc(). - ------------------------------------------------------------------------- -r57 | oetiker | 2001-12-17 13:48:43 +0100 | 2 lines - -fix overflow error ... - ------------------------------------------------------------------------- -r56 | jake | 2001-12-11 23:55:28 +0100 | 2 lines - -Fixed uninitialized ptr causing seg fault invoking info for COMPUTE data sources. - ------------------------------------------------------------------------- -r55 | oetiker | 2001-11-18 09:41:16 +0100 | 2 lines - -return "" instead of NULL for -- Michael - ------------------------------------------------------------------------- -r54 | oetiker | 2001-11-17 17:57:55 +0100 | 2 lines - -fixed path to mkinstalldirs -- Laurent Saehyun Kim?\239?\191?\189 - ------------------------------------------------------------------------- -r53 | oetiker | 2001-09-08 20:25:17 +0200 | 2 lines - -spelling updates by Martin Schulze - ------------------------------------------------------------------------- -r52 | jake | 2001-08-23 00:29:07 +0200 | 13 lines - -Contents of this patch: -(1) Adds/revises documentation for rrd tune in rrd_tool.c and pod files. -(2) Moves some initialization code from rrd_create.c to rrd_hw.c. -(3) Adds another pass to smoothing for SEASONAL and DEVSEASONAL RRAs. -This pass computes the coefficients as deviations from an average; the -average is added the baseline coefficient of HWPREDICT. Statistical texts -suggest this to preserve algorithm stability. It will not invalidate -RRD files created and smoothed with the old code. -(4) Adds the aberrant-reset flag to rrd tune. This operation, which is -specified for a single data source, causes the holt-winters algorithm to -forget everthing it has learned and start over. -(5) Fixes a few out-of-date code comments. - ------------------------------------------------------------------------- -r51 | oetiker | 2001-08-13 20:58:07 +0200 | 2 lines - -spell fix for si units (only in comments) - ------------------------------------------------------------------------- -r50 | alex | 2001-07-29 00:34:42 +0200 | 2 lines - -Removing rrdgraph*.pod from the cvs - ------------------------------------------------------------------------- -r49 | alex | 2001-07-29 00:21:44 +0200 | 4 lines - -Edited Makefile.am and the rrdgraph_*.src files. By mistake the -previous update was made on the rrdgraph_*.pod files however they -are not to be edited. This is now corrected. - ------------------------------------------------------------------------- -r48 | alex | 2001-07-26 04:27:46 +0200 | 4 lines - -Supporting functions for rrd_graph. Functions that are used frequently -and/or from different places should be added here in stead of repeating -them in rrd_graph.c over and over again. - ------------------------------------------------------------------------- -r47 | alex | 2001-07-26 04:25:38 +0200 | 2 lines - -Moved most typedefs etc. from rrd_graph.c to this file - ------------------------------------------------------------------------- -r46 | alex | 2001-07-26 04:22:18 +0200 | 3 lines - -Added VDEF TOTAL -Moved most typedefs etc. to rrd_graph.h - ------------------------------------------------------------------------- -r45 | alex | 2001-07-26 04:19:48 +0200 | 2 lines - -Added rrd_graph_helper - ------------------------------------------------------------------------- -r44 | alex | 2001-07-26 04:15:02 +0200 | 2 lines - -Updated for VDEF TOTAL - ------------------------------------------------------------------------- -r43 | alex | 2001-07-26 04:11:46 +0200 | 2 lines - -Announce of VDEF in rrd_graph - ------------------------------------------------------------------------- -r42 | alex | 2001-07-21 20:17:44 +0200 | 2 lines - -Made PRINT and GPRINT aware of VDEF statements - ------------------------------------------------------------------------- -r41 | oetiker | 2001-07-21 00:34:29 +0200 | 2 lines - -missing documentation ... -- Alex van den Bogaerdt - ------------------------------------------------------------------------- -r40 | oetiker | 2001-07-21 00:34:06 +0200 | 2 lines - -only a comment - ------------------------------------------------------------------------- -r39 | oetiker | 2001-07-21 00:33:17 +0200 | 2 lines - -small fixes -- Alex van den Bogaerdt - ------------------------------------------------------------------------- -r38 | oetiker | 2001-07-19 00:30:29 +0200 | 2 lines - -VDEF and VRULE are comig along -- Alex van den Bogaerdt - ------------------------------------------------------------------------- -r37 | oetiker | 2001-06-05 15:42:55 +0200 | 2 lines - -spell fix - ------------------------------------------------------------------------- -r36 | oetiker | 2001-05-09 07:31:01 +0200 | 5 lines - -Bug fix: when update of multiple PDP/CDP RRAs coincided -with interpolation of multiple PDPs an incorrect value was -stored as the CDP. Especially evident for GAUGE data sources. -Minor changes to rrdcreate.pod. -- Jake Brutlag - ------------------------------------------------------------------------- -r35 | oetiker | 2001-03-31 17:21:59 +0200 | 3 lines - -added 'all' dependancy to site-perl-install rule as many seem to skip -this step when instaling cricket ... probably an incomplete cricket doku. - ------------------------------------------------------------------------- -r34 | oetiker | 2001-03-15 20:43:04 +0100 | 2 lines - -added PROJECTS file - ------------------------------------------------------------------------- -r33 | oetiker | 2001-03-11 13:03:12 +0100 | 2 lines - -reindented - ------------------------------------------------------------------------- -r32 | oetiker | 2001-03-11 12:49:28 +0100 | 2 lines - -reindented the cource for better readability - ------------------------------------------------------------------------- -r31 | oetiker | 2001-03-11 00:54:41 +0100 | 7 lines - -Support for COMPUTE data sources (CDEF data sources). Removes the RPN -parser and calculator from rrd_graph and puts then in a new file, -rrd_rpncalc.c. Changes to core files rrd_create and rrd_update. Some -clean-up of aberrant behavior stuff, including a bug fix. -Documentation update (rrdcreate.pod, rrdupdate.pod). Change xml format. --- Jake Brutlag - ------------------------------------------------------------------------- -r30 | oetiker | 2001-03-07 22:21:54 +0100 | 4 lines - -complete rewrite of rrdgraph documentation. This also includs info -on upcomming/planned changes to the rrdgraph interface and functionality --- Alex van den Bogaerdt - ------------------------------------------------------------------------- -r28 | oetiker | 2001-03-04 14:50:31 +0100 | 2 lines - -fidex jackes adderss - ------------------------------------------------------------------------- -r27 | oetiker | 2001-03-04 14:12:44 +0100 | 2 lines - -added note on counter vs derive -- Don BAARDA - ------------------------------------------------------------------------- -r26 | oetiker | 2001-03-04 14:01:56 +0100 | 6 lines - -Aberrant Behavior Detection support. A brief overview added to rrdtool.pod. -Major updates to rrd_update.c, rrd_create.c. Minor update to other core files. -This is backwards compatible! But new files using the Aberrant stuff are not readable -by old rrdtool versions. See http://cricket.sourceforge.net/aberrant/rrd_hw.htm --- Jake Brutlag - ------------------------------------------------------------------------- -r25 | oetiker | 2001-03-04 14:00:25 +0100 | 2 lines - -another do not report Makefile and Makefile.in - ------------------------------------------------------------------------- -r24 | oetiker | 2001-03-04 13:51:55 +0100 | 2 lines - -this file has no purpose - ------------------------------------------------------------------------- -r23 | oetiker | 2001-03-04 13:32:07 +0100 | 2 lines - -rrdupdate is a generated file it has no place in cvs - ------------------------------------------------------------------------- -r21 | oetiker | 2001-03-04 12:31:21 +0100 | 2 lines - -repository cleanup - ------------------------------------------------------------------------- -r20 | oetiker | 2001-03-04 12:14:26 +0100 | 3 lines - -added at-style-time@value:value syntax to rrd_update --- Dave Bodenstab - ------------------------------------------------------------------------- -r19 | oetiker | 2001-03-04 11:29:20 +0100 | 3 lines - -fixed filedescriptor leak --- Mike Franusich - ------------------------------------------------------------------------- -r18 | oetiker | 2001-03-02 23:48:39 +0100 | 2 lines - -added test for hpux. if matched, compile zlib with -fpic instead of -fPIC - ------------------------------------------------------------------------- -r17 | oetiker | 2001-03-01 22:37:54 +0100 | 2 lines - -added check for the presence of the compiler used to build perl modules - ------------------------------------------------------------------------- -r16 | oetiker | 2001-02-26 00:18:40 +0100 | 2 lines - -they do not belong into cvs ad they are autogenerated - ------------------------------------------------------------------------- -r15 | oetiker | 2001-02-25 23:57:02 +0100 | 2 lines - -Fixed ln for modules - ------------------------------------------------------------------------- -r14 | oetiker | 2001-02-25 23:53:17 +0100 | 2 lines - -fixed compile order ... src before bindings - ------------------------------------------------------------------------- -r6 | oetiker | 2001-02-25 23:25:02 +0100 | 2 lines - -Initial revision - ------------------------------------------------------------------------- diff --git a/CONTRIBUTORS b/CONTRIBUTORS index f76a677..04378fb 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,4 +1,4 @@ -$Id: CONTRIBUTORS 1841 2009-06-07 11:20:15Z oetiker $ +$Id$ I would like to thank to following people for helping to bring RRDtool into existence. @@ -9,6 +9,7 @@ Alex van den Bogaerdt (rrd_resize.c and more) Amos Shapira Andreas Kroomaa Andrew Turner (LAST consolidator) +Benny Baumann 64bit stuff, --alt-autoscale-max Bernhard Fischer MMAP rewrite Bill Fenner diff --git a/COPYRIGHT b/COPYRIGHT index 93cb62b..8c01b8a 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,4 +1,4 @@ -$Id: COPYRIGHT 1843 2009-06-07 11:34:39Z oetiker $ +$Id$ RRDTOOL - Round Robin Database Tool A tool for fast logging of numerical data graphical display of this data. diff --git a/Makefile.am b/Makefile.am index c0ca21a..9e1a22b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -# $Id: Makefile.am 1846 2009-06-07 13:42:39Z oetiker $ +# $Id$ ## Process this file with automake to produce Makefile.in RSYNC = rsync --rsh=ssh diff --git a/Makefile.in b/Makefile.in index 84dfb0b..920ed9c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ -# $Id: Makefile.am 1846 2009-06-07 13:42:39Z oetiker $ +# $Id$ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ @@ -222,6 +222,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ diff --git a/NEWS b/NEWS index afd2f3d..d13a76a 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ News for RRDtool 1.4 ==================== -$Id: NEWS 1840 2009-06-07 11:16:07Z oetiker $ +$Id$ RRD Caching Daemon (rrdcached) ------------------------------ @@ -61,4 +61,13 @@ Miscellaneous Changes * various improvements to rrd_open functions and mmap handling by Daniel Pocock +* allow the HW smoothing window size to be set to 0 with rrdtool tune + by sylvain luiset + +* new graph option --border to set the 3d border width + by Bernhard Reutner-Fischer + +* draw different color swats depending on the type of line drawn in the + graph by Loïc Tortay + for more detail see the CHANGES file. diff --git a/README b/README index ac18e6c..1ba71f6 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ Round Robin Database Tools ========================== -$Id: README 1844 2009-06-07 11:35:52Z oetiker $ +$Id$ It is pretty easy to gather status information from all sorts of things, ranging from the temperature in your office to the number of octets which diff --git a/TODO b/TODO index c18e543..706727f 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,6 @@ Random Feature Ideas for RRDtool -------------------------------- -$Id: TODO 1842 2009-06-07 11:34:22Z oetiker $ +$Id$ make it possible to define order of legend items independant of their order on the commandline ... diff --git a/aclocal.m4 b/aclocal.m4 index 53be74d..c38fae4 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -13,8 +13,8 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, -[m4_warning([this file was generated for autoconf 2.63. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],, +[m4_warning([this file was generated for autoconf 2.64. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) diff --git a/autogen.sh b/autogen.sh index b524ca3..a7226cc 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,3 +1,3 @@ #!/bin/sh libtoolize -autoreconf --force --install --verbose -I config -I m4 +autoreconf --force --install --verbose -I m4 diff --git a/bindings/Makefile.in b/bindings/Makefile.in index 6bbdfbd..d8653e5 100644 --- a/bindings/Makefile.in +++ b/bindings/Makefile.in @@ -205,6 +205,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ @@ -339,9 +340,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bindings/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu bindings/Makefile + $(AUTOMAKE) --foreign bindings/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/bindings/lua/Makefile.in b/bindings/lua/Makefile.in index 3083743..c18724b 100644 --- a/bindings/lua/Makefile.in +++ b/bindings/lua/Makefile.in @@ -226,6 +226,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ @@ -367,9 +368,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/lua/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bindings/lua/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu bindings/lua/Makefile + $(AUTOMAKE) --foreign bindings/lua/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/bindings/lua/compat-5.1r5/compat-5.1.c b/bindings/lua/compat-5.1r5/compat-5.1.c index d8303bd..e94929e 100644 --- a/bindings/lua/compat-5.1r5/compat-5.1.c +++ b/bindings/lua/compat-5.1r5/compat-5.1.c @@ -1,7 +1,28 @@ /* ** Compat-5.1 ** Copyright Kepler Project 2004-2006 (http://www.keplerproject.org/compat) -** $Id: compat-5.1.c 1621 2008-10-20 06:06:16Z oetiker $ +** $Id$ + +Copyright © 2004-2006 The Kepler Project. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + */ #include diff --git a/bindings/lua/compat-5.1r5/compat-5.1.h b/bindings/lua/compat-5.1r5/compat-5.1.h index d342203..d835069 100644 --- a/bindings/lua/compat-5.1r5/compat-5.1.h +++ b/bindings/lua/compat-5.1r5/compat-5.1.h @@ -1,7 +1,28 @@ /* ** Compat-5.1 ** Copyright Kepler Project 2004-2006 (http://www.keplerproject.org/compat/) -** $Id: compat-5.1.h 1621 2008-10-20 06:06:16Z oetiker $ +** $Id$ + +Copyright © 2004-2006 The Kepler Project. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + */ #ifndef COMPAT_H diff --git a/bindings/lua/compat-5.1r5/compat-5.1.lua b/bindings/lua/compat-5.1r5/compat-5.1.lua index 0938d56..b662270 100644 --- a/bindings/lua/compat-5.1r5/compat-5.1.lua +++ b/bindings/lua/compat-5.1r5/compat-5.1.lua @@ -4,6 +4,26 @@ -- According to Lua 5.1 -- $Id: compat-5.1.lua,v 1.22 2006/02/20 21:12:47 carregal Exp $ -- +-- Copyright © 2004-2006 The Kepler Project. +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to +-- deal in the Software without restriction, including without limitation the +-- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +-- sell copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +-- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +-- IN THE SOFTWARE. +-- _COMPAT51 = "Compat-5.1 R5" diff --git a/bindings/python/rrdtoolmodule.c b/bindings/python/rrdtoolmodule.c index 8eba8f9..a2647b5 100644 --- a/bindings/python/rrdtoolmodule.c +++ b/bindings/python/rrdtoolmodule.c @@ -37,7 +37,9 @@ # define UNUSED(x) x #endif -static const char *__version__ = "$Revision: 1.14 $"; + +#include "../../rrd_config.h" +static const char *__version__ = PACKAGE_VERSION; #include "Python.h" #include "../../src/rrd_tool.h" diff --git a/bindings/ruby/main.c b/bindings/ruby/main.c index 93fb7ac..355625f 100644 --- a/bindings/ruby/main.c +++ b/bindings/ruby/main.c @@ -1,4 +1,4 @@ -/* $Id: main.c 1855 2009-06-07 20:48:39Z oetiker $ +/* $Id$ * Substantial penalty for early withdrawal. */ diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in index 8d15a28..5d7271c 100644 --- a/bindings/tcl/Makefile.in +++ b/bindings/tcl/Makefile.in @@ -196,6 +196,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ @@ -342,9 +343,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/tcl/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bindings/tcl/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu bindings/tcl/Makefile + $(AUTOMAKE) --foreign bindings/tcl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c index f1f0234..a98a2d7 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 1854 2009-06-07 14:46:21Z oetiker $ + * $Id$ */ diff --git a/config.guess b/config.guess index da83314..e3a2116 100755 --- a/config.guess +++ b/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. -timestamp='2009-04-27' +timestamp='2009-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -170,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -656,7 +656,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -822,6 +822,9 @@ EOF [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -882,40 +885,17 @@ EOF m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 + CPU=${UNAME_MACHINE} #else CPU= #endif @@ -947,7 +927,7 @@ EOF EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; @@ -1001,14 +981,6 @@ EOF elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -1074,7 +1046,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1182,7 +1154,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) diff --git a/config.sub b/config.sub index a39437d..eb0389a 100755 --- a/config.sub +++ b/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. -timestamp='2009-04-17' +timestamp='2009-06-11' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -153,6 +153,9 @@ case $os in os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -467,6 +470,10 @@ case $basic_machine in basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos @@ -1260,7 +1267,7 @@ case $os in # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ @@ -1613,7 +1620,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) diff --git a/configure b/configure index 66b0ca7..af8c9f2 100755 --- a/configure +++ b/configure @@ -1,18 +1,20 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for rrdtool 1.3.99909060808. +# Generated by GNU Autoconf 2.64 for rrdtool 1.3.999. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +# Foundation, Inc. +# # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -20,23 +22,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -44,7 +38,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -55,7 +55,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -78,13 +78,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -94,15 +87,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -114,12 +107,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -131,7 +128,248 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -145,8 +383,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -166,409 +408,120 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit } -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -if as_func_ret_success; then - : +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi else - exitcode=1 - echo as_func_ret_success failed. + as_ln_s='cp -p' fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false fi -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else - exitcode=1 - echo positional parameters were not saved. + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' fi +as_executable_p=$as_test_x -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" @@ -738,14 +691,14 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='rrdtool' PACKAGE_TARNAME='rrdtool' -PACKAGE_VERSION='1.3.99909060808' -PACKAGE_STRING='rrdtool 1.3.99909060808' +PACKAGE_VERSION='1.3.999' +PACKAGE_STRING='rrdtool 1.3.999' PACKAGE_BUGREPORT='' +PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ @@ -916,11 +869,11 @@ LIBTOOL STATIC_PROGRAMS_FALSE STATIC_PROGRAMS_TRUE RRDGRAPH_YLEGEND_ANGLE +AM_BACKSLASH +AM_DEFAULT_VERBOSITY MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE -AM_BACKSLASH -AM_DEFAULT_VERBOSITY am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE @@ -1007,6 +960,7 @@ bindir program_transform_name prefix exec_prefix +PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -1019,8 +973,8 @@ ac_subst_files='' ac_user_opts=' enable_option_checking enable_dependency_tracking -enable_silent_rules enable_maintainer_mode +enable_silent_rules enable_rrdcgi with_rrd_default_font enable_mmap @@ -1173,8 +1127,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1200,8 +1153,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1405,8 +1357,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1422,8 +1373,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1453,17 +1403,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information." ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error "invalid variable name: \`$ac_envvar'" ;; + esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1480,15 +1430,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; + fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1511,8 +1459,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } + as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1542,11 +1489,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } + as_fn_error "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + as_fn_error "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1585,13 +1530,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1617,7 +1560,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.3.99909060808 to adapt to many kinds of systems. +\`configure' configures rrdtool 1.3.999 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1688,7 +1631,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rrdtool 1.3.99909060808:";; + short | recursive ) echo "Configuration of rrdtool 1.3.999:";; esac cat <<\_ACEOF @@ -1698,10 +1641,10 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors - --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0') --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer + --enable-silent-rules less verbose build output (undo: `make V=1') + --disable-silent-rules verbose build output (undo: `make V=0') --disable-rrdcgi disable building of rrdcgi --disable-mmap disable mmap in rrd_update, use seek+write instead --disable-pthread disable multithread support @@ -1779,15 +1722,16 @@ Some influential environment variables: CPP C preprocessor RRDGRAPH_YLEGEND_ANGLE Vertical label angle: -90.0 (default) or 90.0 - PERLCC [] C compiler for Perl modules - PERLCCFLAGS [] CC flags for Perl modules - PERLLD [same], [as], [PERLCC] Linker for Perl modules - PERLLDFLAGS [] LD flags for Perl modules + PERLCC C compiler for Perl modules + PERLCCFLAGS CC flags for Perl modules + PERLLD Linker for Perl modules + PERLLDFLAGS LD flags for Perl modules RRDDOCDIR [DATADIR/doc/PACKAGE-VERSION] Documentation directory Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. +Report bugs to the package provider. _ACEOF ac_status=$? fi @@ -1850,1872 +1794,1640 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rrdtool configure 1.3.99909060808 -generated by GNU Autoconf 2.63 +rrdtool configure 1.3.999 +generated by GNU Autoconf 2.64 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi -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.3.99909060808, which was -generated by GNU Autoconf 2.63. Invocation command line was - $ $0 $@ +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## -_ACEOF -exec 5>>config.log +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + 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 ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval -_ASUNAME +} # ac_fn_c_try_compile -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval -## ----------- ## -## Core tests. ## -## ----------- ## +} # ac_fn_c_try_cpp +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi +} # ac_fn_c_check_header_mongrel - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval -# Predefined preprocessor variables. +} # ac_fn_c_try_run -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} +} # ac_fn_c_check_header_compile -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + 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 ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF +} # ac_fn_c_try_link +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $2 -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done +/* 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 $2 (); +/* 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_$2 || defined __stub___$2 +choke me +#endif -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + eval "$3=no" fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -NUMVERS=1.399909060808 - - -LIBVERS=5:0:1 - - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} - { (exit 1); exit 1; }; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } +} # ac_fn_c_check_func -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then +# ac_fn_c_check_decl LINENO SYMBOL VAR +# ------------------------------------ +# Tests whether SYMBOL is declared, setting cache variable VAR accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 +$as_echo_n "checking whether $2 is declared... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $2 + (void) $2; +#endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} +} # ac_fn_c_check_decl -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } + eval "$3=yes" fi - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} +} # ac_fn_c_check_type -{ $as_echo "$as_me:$LINENO: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if test "${ac_cv_target+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "x$target_alias" = x; then - ac_cv_target=$ac_cv_host -else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } -case $ac_cv_target in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 -$as_echo "$as_me: error: invalid value of canonical target" >&2;} - { (exit 1); exit 1; }; };; -esac -target=$ac_cv_target -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_target -shift -target_cpu=$1 -target_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -target_os=$* -IFS=$ac_save_IFS -case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0 -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - + ac_lo= ac_hi= fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ - if test "x$ac_ct_CC" = x; then - CC="" + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 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.3.999, which was +generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS +} >&5 -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +cat >&5 <<_ACEOF -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS +## ----------- ## +## Core tests. ## +## ----------- ## -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +_ACEOF - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done done -IFS=$as_save_IFS +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo - test -n "$ac_ct_CC" && break -done + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi -fi + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +$as_echo "/* confdefs.h */" > confdefs.h -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } +# Predefined preprocessor variables. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac + test "x$ac_site_file" = xNONE && continue + if test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi done -test "$ac_cv_exeext" = no && ac_cv_exeext= +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi else - ac_file='' + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file fi -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## -ac_exeext=$ac_cv_exeext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } + + +NUMVERS=1.3999 + + +LIBVERS=5:0:1 + + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 fi - fi + done +done +if test -z "$ac_aux_dir"; then + as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_compiler_gnu=yes + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi - ac_compiler_gnu=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if test "${ac_cv_target+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_prog_cc_g=yes + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 +fi - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac -int -main () -{ - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -int -main () -{ - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_prog_cc_g=yes +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" + if test "x$ac_ct_CC" = x; then + CC="" else - CFLAGS="-g" + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC fi else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi + CC="$ac_cv_prog_CC" fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do - CC="$ac_save_CC $ac_arg" - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_prog_cc_c89=$ac_arg + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + fi fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done -rm -f conftest.$ac_ext -CC=$ac_save_CC + done +IFS=$as_save_IFS +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - # Broken: fails on valid input. -continue +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - # Broken: success on invalid input. -continue + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - # Passes both tests. -ac_preproc_ok=: -break +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext + test -n "$ac_ct_CC" && break done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP + fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_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 - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + rm -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_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 - # Broken: success on invalid input. -continue + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else + ac_file='' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then : $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +{ as_fn_set_status 77 +as_fn_error "C compiler cannot create executables +See \`config.log' for more details." "$LINENO" 5; }; } fi +ac_exeext=$ac_cv_exeext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - - $ac_path_GREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." "$LINENO" 5; } + fi fi -else - ac_cv_path_GREP=$GREP -fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - - $ac_path_EGREP_found && break 3 - done - done +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi else - ac_cv_path_EGREP=$EGREP -fi - - fi + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." "$LINENO" 5; } fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +rm -f conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include int main () @@ -3725,402 +3437,534 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_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_header_stdc=yes + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_header_stdc=no +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of object files: cannot compile +See \`config.log' for more details." "$LINENO" 5; } fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes else - ac_cv_header_stdc=no + ac_compiler_gnu=no fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +int +main () +{ + + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* +int +main () +{ -fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; + + ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : - eval "$as_ac_Header=no" +else + # Broken: fails on valid input. +continue fi +rm -f conftest.err conftest.$ac_ext -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF - +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break fi +rm -f conftest.err conftest.$ac_ext done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + done + ac_cv_prog_CPP=$CPP - - if test "${ac_cv_header_minix_config_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } + CPP=$ac_cv_prog_CPP else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5 -$as_echo_n "checking minix/config.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no + ac_cv_prog_CPP=$CPP fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5 -$as_echo_n "checking minix/config.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=no +else + # Broken: fails on valid input. +continue fi - rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue else - ac_cv_header_minix_config_h=$ac_header_preproc + # Passes both tests. +ac_preproc_ok=: +break fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : -fi -if test "x$ac_cv_header_minix_config_h" = x""yes; then - MINIX=yes else - MINIX= + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - if test "$MINIX" = yes; then -cat >>confdefs.h <<\_ACEOF -#define _POSIX_SOURCE 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi -cat >>confdefs.h <<\_ACEOF -#define _POSIX_1_SOURCE 2 -_ACEOF +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" -cat >>confdefs.h <<\_ACEOF -#define _MINIX 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi +else + ac_cv_path_EGREP=$EGREP +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" - { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +#include +#include +#include -# define __EXTENSIONS__ 1 - $ac_includes_default int main () { @@ -4129,78 +3973,197 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_safe_to_define___extensions__=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_safe_to_define___extensions__=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - cat >>confdefs.h <<\_ACEOF -#define __EXTENSIONS__ 1 -_ACEOF - cat >>confdefs.h <<\_ACEOF -#define _ALL_SOURCE 1 -_ACEOF +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - cat >>confdefs.h <<\_ACEOF -#define _GNU_SOURCE 1 _ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : - cat >>confdefs.h <<\_ACEOF -#define _POSIX_PTHREAD_SEMANTICS 1 -_ACEOF +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - cat >>confdefs.h <<\_ACEOF -#define _TANDEM_SOURCE 1 _ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : +else + ac_cv_header_stdc=no +fi +rm -f conftest* -am__api_version='1.11' +fi -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = x""yes; then : + MINIX=yes +else + MINIX= +fi + + + if test "$MINIX" = yes; then + +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + + +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + + +$as_echo "#define _MINIX 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_safe_to_define___extensions__=yes +else + ac_cv_safe_to_define___extensions__=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h + + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h + + +am__api_version='1.11' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then +if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4208,11 +4171,11 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -4249,7 +4212,7 @@ case $as_dir/ in ;; esac -done + done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir @@ -4265,7 +4228,7 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -4276,7 +4239,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 @@ -4287,15 +4250,11 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 -$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 -$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac # Do `set' in a subshell so we don't clobber the current shell's @@ -4317,11 +4276,8 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "ls -t appears to fail. Make sure there is not a broken +alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file @@ -4330,13 +4286,10 @@ then # Ok. : else - { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -$as_echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" @@ -4364,7 +4317,7 @@ if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= - { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi @@ -4385,9 +4338,9 @@ if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then +if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -4398,24 +4351,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4425,9 +4378,9 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -4438,24 +4391,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4464,7 +4417,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4477,10 +4430,10 @@ fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then + if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4488,7 +4441,7 @@ for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do + for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( @@ -4500,7 +4453,7 @@ do esac done done -done + done IFS=$as_save_IFS fi @@ -4516,7 +4469,7 @@ fi MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" @@ -4529,9 +4482,9 @@ for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then +if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -4542,24 +4495,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4567,11 +4520,11 @@ fi test -n "$AWK" && break done -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -4589,11 +4542,11 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -4619,7 +4572,7 @@ am__doit: .PHONY: am__doit END # If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= @@ -4647,12 +4600,12 @@ if test "$am__include" = "#"; then fi -{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then +if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi @@ -4669,27 +4622,13 @@ else fi -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=1;; -esac -AM_BACKSLASH='\' - if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -4705,7 +4644,7 @@ fi # Define the identity of the package. PACKAGE='rrdtool' - VERSION='1.3.99909060808' + VERSION='1.3.999' cat >>confdefs.h <<_ACEOF @@ -4746,9 +4685,9 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then @@ -4856,7 +4795,7 @@ else fi fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type @@ -4873,16 +4812,16 @@ fi -{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then +if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi - { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= @@ -4895,8 +4834,11 @@ fi MAINT=$MAINTAINER_MODE_TRUE +# Enable silent build rules by default, requires at least +# Automake-1.11. Disable by either passing --disable-silent-rules to +# configure or passing V=1 to make # Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then +if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi @@ -4926,15 +4868,13 @@ ac_config_headers="$ac_config_headers rrd_config.h" - - cat >>confdefs.h <<_ACEOF #define RRDGRAPH_YLEGEND_ANGLE ${RRDGRAPH_YLEGEND_ANGLE:-90.0} _ACEOF # Check whether --enable-rrdcgi was given. -if test "${enable_rrdcgi+set}" = set; then +if test "${enable_rrdcgi+set}" = set; then : enableval=$enable_rrdcgi; else enable_rrdcgi=yes @@ -4943,7 +4883,7 @@ fi # Check whether --with-rrd-default-font was given. -if test "${with_rrd_default_font+set}" = set; then +if test "${with_rrd_default_font+set}" = set; then : withval=$with_rrd_default_font; RRD_DEFAULT_FONT=$withval else @@ -4957,7 +4897,7 @@ fi # Check whether --enable-mmap was given. -if test "${enable_mmap+set}" = set; then +if test "${enable_mmap+set}" = set; then : enableval=$enable_mmap; else enable_mmap=yes @@ -4965,7 +4905,7 @@ fi # Check whether --enable-pthread was given. -if test "${enable_pthread+set}" = set; then +if test "${enable_pthread+set}" = set; then : enableval=$enable_pthread; else enable_pthread=yes @@ -4973,13 +4913,11 @@ fi # Check whether --enable-static-programs was given. -if test "${enable_static_programs+set}" = set; then +if test "${enable_static_programs+set}" = set; then : enableval=$enable_static_programs; case "${enableval}" in yes) staticprogs=yes ;; no) staticprogs=no ;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-static-programs" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --enable-static-programs" >&2;} - { (exit 1); exit 1; }; } ;; + *) as_fn_error "bad value ${enableval} for --enable-static-programs" "$LINENO" 5 ;; esac else staticprogs=no @@ -5011,9 +4949,9 @@ case $TERM in T_ME='' ;; esac - { $as_echo "$as_me:$LINENO: result: " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Audit Compilation Environment${T_ME}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Audit Compilation Environment${T_ME}" >&5 $as_echo "${T_MD}Audit Compilation Environment${T_ME}" >&6; } @@ -5023,14 +4961,14 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then + if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -5045,11 +4983,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5058,78 +4992,34 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -5141,7 +5031,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -5152,11 +5042,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5165,87 +5051,40 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -5262,9 +5101,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -5275,24 +5114,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -5302,9 +5141,9 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -5315,24 +5154,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -5341,7 +5180,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -5355,9 +5194,9 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -5368,24 +5207,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -5395,9 +5234,9 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -5409,18 +5248,18 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then @@ -5439,10 +5278,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -5454,9 +5293,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -5467,24 +5306,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -5498,9 +5337,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -5511,24 +5350,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -5541,7 +5380,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -5552,62 +5391,42 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + rm -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then +if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5621,37 +5440,16 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes @@ -5660,20 +5458,16 @@ else fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then +if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5684,35 +5478,11 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5723,36 +5493,12 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_c_werror_flag=$ac_save_c_werror_flag +else + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5763,42 +5509,17 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -5815,18 +5536,14 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then +if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -5883,32 +5600,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -5919,17 +5613,19 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac +if test "x$ac_cv_prog_cc_c89" != xno; then : +fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -5938,22 +5634,18 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$CC" != xcc; then - { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else - { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5969,63 +5661,63 @@ _ACEOF # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* -if { (case "(($ac_try" in +if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' - { (case "(($ac_try" in + { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* - if { (case "(($ac_try" in + if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then # cc works too. : @@ -6042,15 +5734,13 @@ rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } -cat >>confdefs.h <<\_ACEOF -#define NO_MINUS_C_MINUS_O 1 -_ACEOF +$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi @@ -6071,7 +5761,7 @@ fi case `pwd` in *\ * | *\ *) - { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac @@ -6094,9 +5784,9 @@ macro_revision='1.3012' ltmain="$ac_aux_dir/ltmain.sh" -{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then +if test "${ac_cv_path_SED+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ @@ -6104,7 +5794,7 @@ else ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - $as_unset ac_script || ac_script= + { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST @@ -6113,7 +5803,7 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do + for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue @@ -6133,7 +5823,7 @@ case `"$ac_path_SED" --version 2>&1` in $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" @@ -6148,19 +5838,17 @@ esac $ac_path_SED_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed @@ -6178,9 +5866,9 @@ Xsed="$SED -e 1s/^X//" -{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then +if test "${ac_cv_path_FGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 @@ -6194,7 +5882,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do + for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue @@ -6214,7 +5902,7 @@ case `"$ac_path_FGREP" --version 2>&1` in $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" @@ -6229,12 +5917,10 @@ esac $ac_path_FGREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -6242,7 +5928,7 @@ fi fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" @@ -6268,7 +5954,7 @@ test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then +if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no @@ -6277,7 +5963,7 @@ fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) @@ -6307,13 +5993,13 @@ $as_echo_n "checking for ld used by $CC... " >&6; } ;; esac elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else - { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${lt_cv_path_LD+set}" = set; then +if test "${lt_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -6344,18 +6030,16 @@ fi LD="$lt_cv_path_LD" if test -n "$LD"; then - { $as_echo "$as_me:$LINENO: result: $LD" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then +if test "${lt_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. @@ -6368,7 +6052,7 @@ case `$LD -v 2>&1 &5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld @@ -6380,9 +6064,9 @@ with_gnu_ld=$lt_cv_prog_gnu_ld -{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then +if test "${lt_cv_path_NM+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then @@ -6429,7 +6113,7 @@ else : ${lt_cv_path_NM=no} fi fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" @@ -6440,9 +6124,9 @@ else do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DUMPBIN+set}" = set; then +if test "${ac_cv_prog_DUMPBIN+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then @@ -6453,24 +6137,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then - { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6484,9 +6168,9 @@ if test -z "$DUMPBIN"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then +if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then @@ -6497,24 +6181,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6527,7 +6211,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -6547,44 +6231,44 @@ test -z "$NM" && NM=nm -{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then +if test "${lt_cv_nm_interface+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:6557: $ac_compile\"" >&5) + (eval echo "\"\$as_me:6241: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:6560: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:6244: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:6563: output\"" >&5) + (eval echo "\"\$as_me:6247: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } -{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments -{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then +if test "${lt_cv_sys_max_cmd_len+set}" = set; then : $as_echo_n "(cached) " >&6 else i=0 @@ -6702,10 +6386,10 @@ else fi if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else - { $as_echo "$as_me:$LINENO: result: none" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len @@ -6719,7 +6403,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len : ${MV="mv -f"} : ${RM="rm -f"} -{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no @@ -6729,17 +6413,17 @@ xsi_shell=no && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } -{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes -{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } @@ -6774,14 +6458,14 @@ esac -{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then +if test "${lt_cv_ld_reload_flag+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in @@ -6810,9 +6494,9 @@ esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then +if test "${ac_cv_prog_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then @@ -6823,24 +6507,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6850,9 +6534,9 @@ if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then @@ -6863,24 +6547,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6889,7 +6573,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -6909,9 +6593,9 @@ test -z "$OBJDUMP" && OBJDUMP=objdump -{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then +if test "${lt_cv_deplibs_check_method+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' @@ -7030,7 +6714,7 @@ linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else @@ -7105,7 +6789,7 @@ tpf*) esac fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method @@ -7125,9 +6809,9 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then +if test "${ac_cv_prog_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -7138,24 +6822,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:$LINENO: result: $AR" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7165,9 +6849,9 @@ if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -7178,24 +6862,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7204,7 +6888,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -7230,9 +6914,9 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then +if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -7243,24 +6927,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7270,9 +6954,9 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -7283,24 +6967,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7309,7 +6993,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -7329,9 +7013,9 @@ test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then +if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -7342,24 +7026,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7369,9 +7053,9 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -7382,24 +7066,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7408,7 +7092,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -7486,9 +7170,9 @@ compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -7604,18 +7288,18 @@ void nm_test_func(void){} int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -7668,11 +7352,11 @@ _LT_EOF lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" @@ -7706,10 +7390,10 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:$LINENO: result: failed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else - { $as_echo "$as_me:$LINENO: result: ok" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi @@ -7735,7 +7419,7 @@ fi # Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then +if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi @@ -7747,11 +7431,11 @@ case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" @@ -7765,12 +7449,12 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7768 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + echo '#line 7452 "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) @@ -7804,11 +7488,11 @@ x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in @@ -7857,9 +7541,9 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then +if test "${lt_cv_cc_needs_belf+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_ext=c @@ -7868,11 +7552,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -7883,38 +7563,13 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_cc_needs_belf=no + lt_cv_cc_needs_belf=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -7922,7 +7577,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf @@ -7932,11 +7587,11 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in @@ -7962,9 +7617,9 @@ need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then +if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then @@ -7975,24 +7630,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8002,9 +7657,9 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then +if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then @@ -8015,24 +7670,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8041,7 +7696,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -8054,9 +7709,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then +if test "${ac_cv_prog_NMEDIT+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then @@ -8067,24 +7722,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then - { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8094,9 +7749,9 @@ if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then +if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then @@ -8107,24 +7762,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8133,7 +7788,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -8146,9 +7801,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then +if test "${ac_cv_prog_LIPO+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then @@ -8159,24 +7814,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then - { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8186,9 +7841,9 @@ if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then +if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then @@ -8199,24 +7854,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8225,7 +7880,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -8238,9 +7893,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then +if test "${ac_cv_prog_OTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then @@ -8251,24 +7906,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then - { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8278,9 +7933,9 @@ if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then +if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then @@ -8291,24 +7946,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8317,7 +7972,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -8330,9 +7985,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then +if test "${ac_cv_prog_OTOOL64+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then @@ -8343,24 +7998,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then - { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8370,9 +8025,9 @@ if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then +if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then @@ -8383,24 +8038,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8409,7 +8064,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -8445,9 +8100,9 @@ fi - { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then +if test "${lt_cv_apple_cc_single_mod+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no @@ -8472,22 +8127,18 @@ else rm -f conftest.* fi fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then +if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -8498,42 +8149,17 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_ld_exported_symbols_list=no + lt_cv_ld_exported_symbols_list=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) @@ -8570,62 +8196,13 @@ $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } ;; esac - for ac_header in dlfcn.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -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 - -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_DLFCN_H 1 _ACEOF fi @@ -8645,7 +8222,7 @@ done # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then +if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; @@ -8676,7 +8253,7 @@ fi # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then +if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; @@ -8708,7 +8285,7 @@ fi # Check whether --with-pic was given. -if test "${with_pic+set}" = set; then +if test "${with_pic+set}" = set; then : withval=$with_pic; pic_mode="$withval" else pic_mode=default @@ -8724,7 +8301,7 @@ test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then +if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; @@ -8805,9 +8382,9 @@ if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi -{ $as_echo "$as_me:$LINENO: checking for objdir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then +if test "${lt_cv_objdir+set}" = set; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null @@ -8820,7 +8397,7 @@ else fi rmdir .libs 2>/dev/null fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir @@ -8913,9 +8490,9 @@ test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -8966,10 +8543,10 @@ fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8979,9 +8556,9 @@ fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:$LINENO: checking for file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -9032,10 +8609,10 @@ fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -9116,9 +8693,9 @@ lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' - { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no @@ -9134,11 +8711,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9137: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8714: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9141: \$? = $ac_status" >&5 + echo "$as_me:8718: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9151,7 +8728,7 @@ else $RM conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then @@ -9171,7 +8748,7 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= -{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then @@ -9443,7 +9020,7 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } @@ -9455,9 +9032,9 @@ $as_echo "$lt_prog_compiler_pic" >&6; } # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then +if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no @@ -9473,11 +9050,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9476: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9053: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9480: \$? = $ac_status" >&5 + echo "$as_me:9057: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9490,7 +9067,7 @@ else $RM conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then @@ -9514,9 +9091,9 @@ fi # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then +if test "${lt_cv_prog_compiler_static_works+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no @@ -9542,7 +9119,7 @@ else LDFLAGS="$save_LDFLAGS" fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then @@ -9557,9 +9134,9 @@ fi - { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then +if test "${lt_cv_prog_compiler_c_o+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no @@ -9578,11 +9155,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9581: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9158: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9585: \$? = $ac_status" >&5 + echo "$as_me:9162: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9604,7 +9181,7 @@ else $RM conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } @@ -9612,9 +9189,9 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; } - { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then +if test "${lt_cv_prog_compiler_c_o+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no @@ -9633,11 +9210,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9636: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9213: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9640: \$? = $ac_status" >&5 + echo "$as_me:9217: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9659,7 +9236,7 @@ else $RM conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } @@ -9668,7 +9245,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* @@ -9676,10 +9253,10 @@ $as_echo_n "checking if we can lock with hard links... " >&6; } touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then - { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi @@ -9692,7 +9269,7 @@ fi - { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= @@ -9752,6 +9329,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie openbsd*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu) + link_all_deplibs=no + ;; esac ld_shlibs=yes @@ -9934,7 +9514,7 @@ _LT_EOF fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -10109,6 +9689,7 @@ _LT_EOF if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi + link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then @@ -10134,11 +9715,7 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -10149,27 +9726,7 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -10183,16 +9740,9 @@ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpat if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" @@ -10205,11 +9755,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -10220,27 +9766,7 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -10254,16 +9780,9 @@ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpat if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" @@ -10475,42 +9994,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat >conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ int foo(void) {} _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' @@ -10523,7 +10016,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ link_all_deplibs=yes ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -10766,7 +10259,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi fi -{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no @@ -10803,16 +10296,16 @@ x|xyes) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext @@ -10826,11 +10319,11 @@ $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } then archive_cmds_need_lc=no else @@ -10841,7 +10334,7 @@ $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } cat conftest.err 1>&5 fi $RM conftest* - { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac @@ -11005,7 +10498,7 @@ esac - { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then @@ -11427,11 +10920,7 @@ linux* | k*bsd*-gnu) save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -11442,41 +10931,13 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : shlibpath_overrides_runpath=yes fi - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir @@ -11500,15 +10961,27 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ dynamic_linker='GNU/Linux ld.so' ;; -netbsd*) - version_type=sunos +netbsdelf*-gnu) + version_type=linux need_lib_prefix=no need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' @@ -11688,7 +11161,7 @@ uts4*) dynamic_linker=no ;; esac -{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no @@ -11790,7 +11263,7 @@ fi - { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || @@ -11815,7 +11288,7 @@ else # directories. hardcode_action=unsupported fi -{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || @@ -11860,18 +11333,14 @@ else darwin*) # if libdl is installed we need to link against it - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then +if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -11889,43 +11358,18 @@ return dlopen (); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no + ac_cv_lib_dl_dlopen=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else @@ -11938,106 +11382,18 @@ fi ;; *) - { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 -$as_echo_n "checking for shl_load... " >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - $as_echo_n "(cached) " >&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 shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* 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 shl_load (); -/* 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_shl_load || defined __stub___shl_load -choke me -#endif - -int -main () -{ -return shl_load (); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_shl_load=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shl_load=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -$as_echo "$ac_cv_func_shl_load" >&6; } -if test "x$ac_cv_func_shl_load" = x""yes; then + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = x""yes; then : lt_cv_dlopen="shl_load" else - { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then +if test "${ac_cv_lib_dld_shl_load+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -12055,145 +11411,32 @@ return shl_load (); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_shl_load=no + ac_cv_lib_dld_shl_load=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then +if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else - { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 -$as_echo_n "checking for dlopen... " >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - $as_echo_n "(cached) " >&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 dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* 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 dlopen (); -/* 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_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -$as_echo "$ac_cv_func_dlopen" >&6; } -if test "x$ac_cv_func_dlopen" = x""yes; then + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" else - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then +if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -12211,57 +11454,28 @@ return dlopen (); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no + ac_cv_lib_dl_dlopen=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else - { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then +if test "${ac_cv_lib_svld_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -12279,57 +11493,28 @@ return dlopen (); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_svld_dlopen=no + ac_cv_lib_svld_dlopen=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then +if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else - { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then +if test "${ac_cv_lib_dld_dld_link+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -12347,43 +11532,18 @@ return dld_link (); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no + ac_cv_lib_dld_dld_link=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then +if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi @@ -12422,9 +11582,9 @@ fi save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" - { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then +if test "${lt_cv_dlopen_self+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -12433,7 +11593,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12436 "configure" +#line 11596 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12492,11 +11652,11 @@ int main () return status; } _LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in @@ -12513,14 +11673,14 @@ rm -fr conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then +if test "${lt_cv_dlopen_self_static+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -12529,7 +11689,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12532 "configure" +#line 11692 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12588,11 +11748,11 @@ int main () return status; } _LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in @@ -12609,7 +11769,7 @@ rm -fr conftest* fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi @@ -12648,12 +11808,12 @@ fi striplib= old_striplib= -{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough @@ -12662,15 +11822,15 @@ else if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac @@ -12688,12 +11848,12 @@ fi # Report which library types will actually be built - { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } - { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no @@ -12714,14 +11874,14 @@ $as_echo_n "checking whether to build shared libraries... " >&6; } fi ;; esac - { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } - { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } @@ -12759,16 +11919,12 @@ CC="$lt_save_CC" CFLAGS="$CFLAGS -D_GNU_SOURCE" -{ $as_echo "$as_me:$LINENO: checking if gcc likes the -Werror flag" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc likes the -Werror flag" >&5 $as_echo_n "checking if gcc likes the -Werror flag... " >&6; } -if test "${rd_cv_gcc_flag__Werror+set}" = set; then +if test "${rd_cv_gcc_flag__Werror+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -12779,35 +11935,14 @@ return 0 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : rd_cv_gcc_flag__Werror="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - rd_cv_gcc_flag__Werror="no" + rd_cv_gcc_flag__Werror="no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $rd_cv_gcc_flag__Werror" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rd_cv_gcc_flag__Werror" >&5 $as_echo "$rd_cv_gcc_flag__Werror" >&6; } if test "x$rd_cv_gcc_flag__Werror" = "xyes"; then WERROR="-Werror" @@ -12821,16 +11956,12 @@ if test "x$GCC" = "xyes"; then oCFLAGS="$CFLAGS" CFLAGS="$CFLAGS $flag" cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[^A-Za-z]/_/g'` - { $as_echo "$as_me:$LINENO: checking if gcc likes the $flag flag" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc likes the $flag flag" >&5 $as_echo_n "checking if gcc likes the $flag flag... " >&6; } -if { as_var=$cachename; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$cachename; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -12841,37 +11972,15 @@ return 0 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : eval $cachename=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval $cachename=no + eval $cachename=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$cachename'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$cachename + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \$$cachename = no; then CFLAGS="$oCFLAGS" @@ -12899,22 +12008,18 @@ case $TERM in T_ME='' ;; esac - { $as_echo "$as_me:$LINENO: result: " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Checking for Header Files${T_ME}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Checking for Header Files${T_ME}" >&5 $as_echo "${T_MD}Checking for Header Files${T_ME}" >&6; } -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -12929,48 +12034,23 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -12980,18 +12060,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -13001,14 +12077,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -13035,72 +12107,34 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi - - - - - ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> @@ -13114,41 +12148,18 @@ return 0; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" + eval "$as_ac_Header=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF @@ -13159,17 +12170,13 @@ fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if test "${ac_cv_search_opendir+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -13194,70 +12201,39 @@ for ac_lib in '' dir; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if test "${ac_cv_search_opendir+set}" = set; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if test "${ac_cv_search_opendir+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -13282,218 +12258,39 @@ for ac_lib in '' x; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if test "${ac_cv_search_opendir+set}" = set; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi - - - - - - - - - - - - - - - - - - - - - -for ac_header in libgen.h features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h signal.h float.h stdio.h stdlib.h errno.h string.h ctype.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +for ac_header in stdint.h inttypes.h libgen.h features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h signal.h float.h stdio.h stdlib.h errno.h string.h ctype.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -13503,16 +12300,12 @@ fi done -{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then +if test "${ac_cv_c_const+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -13572,54 +12365,27 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no + ac_cv_c_const=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then -cat >>confdefs.h <<\_ACEOF -#define const /**/ -_ACEOF +$as_echo "#define const /**/" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if test "${ac_cv_header_time+set}" = set; then +if test "${ac_cv_header_time+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -13634,54 +12400,27 @@ return 0; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_time=no + ac_cv_header_time=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF +$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then +if test "${ac_cv_struct_tm+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -13696,41 +12435,18 @@ struct tm tm; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_struct_tm=sys/time.h + ac_cv_struct_tm=sys/time.h fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then -cat >>confdefs.h <<\_ACEOF -#define TM_IN_SYS_TIME 1 -_ACEOF +$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi @@ -13751,39 +12467,25 @@ case $TERM in T_ME='' ;; esac - { $as_echo "$as_me:$LINENO: result: " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Test Library Functions${T_ME}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Test Library Functions${T_ME}" >&5 $as_echo "${T_MD}Test Library Functions${T_ME}" >&6; } -{ $as_echo "$as_me:$LINENO: checking for acos" >&5 -$as_echo_n "checking for acos... " >&6; } -if test "${ac_cv_func_acos+set}" = set; then +ac_fn_c_check_func "$LINENO" "acos" "ac_cv_func_acos" +if test "x$ac_cv_func_acos" = x""yes; then : + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acos in -lm" >&5 +$as_echo_n "checking for acos in -lm... " >&6; } +if test "${ac_cv_lib_m_acos+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define acos to an innocuous variant, in case declares acos. - For example, HP-UX 11i declares gettimeofday. */ -#define acos innocuous_acos - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char acos (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef acos /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -13792,13 +12494,6 @@ cat >>conftest.$ac_ext <<_ACEOF extern "C" #endif char acos (); -/* 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_acos || defined __stub___acos -choke me -#endif - int main () { @@ -13807,116 +12502,23 @@ return acos (); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_acos=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_acos=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_acos=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_acos" >&5 -$as_echo "$ac_cv_func_acos" >&6; } -if test "x$ac_cv_func_acos" = x""yes; then - : -else - -{ $as_echo "$as_me:$LINENO: checking for acos in -lm" >&5 -$as_echo_n "checking for acos in -lm... " >&6; } -if test "${ac_cv_lib_m_acos+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char acos (); -int -main () -{ -return acos (); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_m_acos=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_m_acos=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_acos" >&5 -$as_echo "$ac_cv_lib_m_acos" >&6; } -if test "x$ac_cv_lib_m_acos" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBM 1 -_ACEOF - - LIBS="-lm $LIBS" + ac_cv_lib_m_acos=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_acos" >&5 +$as_echo "$ac_cv_lib_m_acos" >&6; } +if test "x$ac_cv_lib_m_acos" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" fi @@ -13928,118 +12530,24 @@ eval `./libtool --config | grep pic_flag` CFLAGS="$CFLAGS $pic_flag" - for ac_func in strftime -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime" +if test "x$ac_cv_func_strftime" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_STRFTIME 1 _ACEOF else # strftime is in -lintl on SCO UNIX. -{ $as_echo "$as_me:$LINENO: checking for strftime in -lintl" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5 $as_echo_n "checking for strftime in -lintl... " >&6; } -if test "${ac_cv_lib_intl_strftime+set}" = set; then +if test "${ac_cv_lib_intl_strftime+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -14057,46 +12565,19 @@ return strftime (); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_strftime=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_intl_strftime=no + ac_cv_lib_intl_strftime=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5 $as_echo "$ac_cv_lib_intl_strftime" >&6; } -if test "x$ac_cv_lib_intl_strftime" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_STRFTIME 1 -_ACEOF +if test "x$ac_cv_lib_intl_strftime" = x""yes; then : + $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h LIBS="-lintl $LIBS" fi @@ -14104,194 +12585,18 @@ fi fi done - for ac_func in vprintf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" +if test "x$ac_cv_func_vprintf" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5 -$as_echo_n "checking for _doprnt... " >&6; } -if test "${ac_cv_func__doprnt+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +#define HAVE_VPRINTF 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define _doprnt to an innocuous variant, in case declares _doprnt. - For example, HP-UX 11i declares gettimeofday. */ -#define _doprnt innocuous__doprnt - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char _doprnt (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef _doprnt - -/* 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 _doprnt (); -/* 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__doprnt || defined __stub____doprnt -choke me -#endif - -int -main () -{ -return _doprnt (); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func__doprnt=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func__doprnt=no -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 -$as_echo "$ac_cv_func__doprnt" >&6; } -if test "x$ac_cv_func__doprnt" = x""yes; then +ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" +if test "x$ac_cv_func__doprnt" = x""yes; then : -cat >>confdefs.h <<\_ACEOF -#define HAVE_DOPRNT 1 -_ACEOF +$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h fi @@ -14300,19 +12605,14 @@ done - - { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if test "${ac_cv_c_bigendian+set}" = set; then +if test "${ac_cv_c_bigendian+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler @@ -14320,46 +12620,34 @@ cat >>conftest.$ac_ext <<_ACEOF typedef int dummy; _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless - # there are some -arch flags. Note that *ppc* also matches - # ppc64. This check is also rather less than ideal. - case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( - *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; - esac -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -14377,30 +12665,9 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -14416,49 +12683,18 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_bigendian=no + ac_cv_c_bigendian=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -14473,30 +12709,9 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -14511,51 +12726,20 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_bigendian=no + ac_cv_c_bigendian=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; @@ -14581,24 +12765,7 @@ return use_ascii (foo) == use_ebcdic (foo); 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi @@ -14610,20 +12777,10 @@ $as_echo "$ac_try_echo") >&5 ac_cv_c_bigendian=unknown fi fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -14643,123 +12800,186 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_bigendian=yes + ac_cv_c_bigendian=yes fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) - cat >>confdefs.h <<\_ACEOF -#define WORDS_BIGENDIAN 1 -_ACEOF + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) -cat >>confdefs.h <<\_ACEOF -#define AC_APPLE_UNIVERSAL_BUILD 1 -_ACEOF +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) - { { $as_echo "$as_me:$LINENO: error: unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -$as_echo "$as_me: error: unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} - { (exit 1); exit 1; }; } ;; + as_fn_error "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac +for ac_func in tzset fsync mbstowcs opendir readdir chdir chroot getuid setlocale strerror snprintf vsnprintf vasprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +fi +done +ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" +if test "x$ac_cv_have_decl_strerror_r" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRERROR_R $ac_have_decl +_ACEOF +for ac_func in strerror_r +do : + ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" +if test "x$ac_cv_func_strerror_r" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRERROR_R 1 +_ACEOF +fi +done +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 +$as_echo_n "checking whether strerror_r returns char *... " >&6; } +if test "${ac_cv_func_strerror_r_char_p+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_func_strerror_r_char_p=no + if test $ac_cv_have_decl_strerror_r = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + char *p = strerror_r (0, buf, sizeof buf); + return !p || x; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_func_strerror_r_char_p=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + else + # strerror_r is not declared. Choose between + # systems that have relatively inaccessible declarations for the + # function. BeOS and DEC UNIX 4.0 fall in this category, but the + # former has a strerror_r that returns char*, while the latter + # has a strerror_r that returns `int'. + # This test should segfault on the DEC system. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default + extern char *strerror_r (); +int +main () +{ +char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + return ! isalpha (x); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_strerror_r_char_p=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 +$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } +if test $ac_cv_func_strerror_r_char_p = yes; then +$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h +fi +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Map/Fadvis/Madvise checking${T_ME}" >&5 +$as_echo "${T_MD}Map/Fadvis/Madvise checking${T_ME}" >&6; } +for ac_func in fdatasync +do : + ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync" +if test "x$ac_cv_func_fdatasync" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_FDATASYNC 1 +_ACEOF -for ac_func in tzset fsync mbstowcs opendir readdir chdir chroot getuid setlocale strerror snprintf vsnprintf vasprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdatasync in -lrt" >&5 +$as_echo_n "checking for fdatasync in -lrt... " >&6; } +if test "${ac_cv_lib_rt_fdatasync+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* 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 @@ -14767,233 +12987,266 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +char fdatasync (); int main () { -return $ac_func (); +return fdatasync (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_rt_fdatasync=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_rt_fdatasync=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_fdatasync" >&5 +$as_echo "$ac_cv_lib_rt_fdatasync" >&6; } +if test "x$ac_cv_lib_rt_fdatasync" = x""yes; then : + LIBS="${LIBS} -lrt"; $as_echo "#define HAVE_FDATASYNC 1" >>confdefs.h - eval "$as_ac_var=no" fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +done + +for ac_func in fsync +do : + ac_fn_c_check_func "$LINENO" "fsync" "ac_cv_func_fsync" +if test "x$ac_cv_func_fsync" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_FSYNC 1 _ACEOF fi done -{ $as_echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5 -$as_echo_n "checking whether strerror_r is declared... " >&6; } -if test "${ac_cv_have_decl_strerror_r+set}" = set; then - $as_echo_n "(cached) " >&6 -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 -int -main () -{ -#ifndef strerror_r - (void) strerror_r; -#endif - ; - return 0; -} +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 : + ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" +if test "x$ac_cv_func_mmap" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MMAP 1 _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_strerror_r=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_strerror_r=no fi +done -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 -$as_echo "$ac_cv_have_decl_strerror_r" >&6; } -if test "x$ac_cv_have_decl_strerror_r" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R 1 + if test "x$ac_cv_func_mmap" = "xyes"; then + ac_cv_func_mmap_fixed_mapped=yes + fi + ;; + *) + for ac_header in sys/mman.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_mman_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_MMAN_H 1 _ACEOF +fi + +done -else + for ac_header in stdlib.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R 0 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - fi +done +for ac_func in getpagesize +do : + ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPAGESIZE 1 +_ACEOF -for ac_func in strerror_r -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +fi +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 +$as_echo_n "checking for working mmap... " >&6; } +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + ac_cv_func_mmap_fixed_mapped=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* 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 +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc -/* 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. */ +/* 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. -#ifdef __STDC__ -# include -#else -# include -#endif + 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) */ -#undef $ac_func +#include +#include -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $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 +#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 () { -return $ac_func (); - ; + 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_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_mmap_fixed_mapped=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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.beam conftest.$ac_ext +fi - eval "$as_ac_var=no" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 +$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } +if test $ac_cv_func_mmap_fixed_mapped = yes; then + +$as_echo "#define HAVE_MMAP 1" >>confdefs.h -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +rm -f conftest.mmap + + for ac_func in mmap munmap msync +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -15001,135 +13254,81 @@ _ACEOF fi done -{ $as_echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5 -$as_echo_n "checking whether strerror_r returns char *... " >&6; } -if test "${ac_cv_func_strerror_r_char_p+set}" = set; then - $as_echo_n "(cached) " >&6 + ac_fn_c_check_decl "$LINENO" "madvise" "ac_cv_have_decl_madvise" "#ifdef HAVE_SYS_MMAN_H + # include + #endif +" +if test "x$ac_cv_have_decl_madvise" = x""yes; then : + ac_have_decl=1 else + ac_have_decl=0 +fi - ac_cv_func_strerror_r_char_p=no - if test $ac_cv_have_decl_strerror_r = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MADVISE $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - char *p = strerror_r (0, buf, sizeof buf); - return !p || x; - ; - return 0; -} + if test "x$ac_cv_have_decl_madvise" = "xyes"; + then + for ac_func in madvise +do : + ac_fn_c_check_func "$LINENO" "madvise" "ac_cv_func_madvise" +if test "x$ac_cv_func_madvise" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MADVISE 1 _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_func_strerror_r_char_p=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi +done -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - # strerror_r is not declared. Choose between - # systems that have relatively inaccessible declarations for the - # function. BeOS and DEC UNIX 4.0 fall in this category, but the - # former has a strerror_r that returns char*, while the latter - # has a strerror_r that returns `int'. - # This test should segfault on the DEC system. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + for ac_func in posix_madvise +do : + ac_fn_c_check_func "$LINENO" "posix_madvise" "ac_cv_func_posix_madvise" +if test "x$ac_cv_func_posix_madvise" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_POSIX_MADVISE 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - extern char *strerror_r (); -int -main () -{ -char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - return ! isalpha (x); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_strerror_r_char_p=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - +done + if test "x$ac_cv_func_posix_madvise" != "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: madvise() nor posix_madvise() found." >&5 +$as_echo "$as_me: WARNING: madvise() nor posix_madvise() found." >&2;} + fi fi + ;; + esac + if test "x$ac_cv_func_mmap" != "xyes"; + then + as_fn_error "--enable-mmap requested but mmap() was not detected" "$LINENO" 5 + fi +fi +ac_fn_c_check_decl "$LINENO" "posix_fadvise" "ac_cv_have_decl_posix_fadvise" "#define _XOPEN_SOURCE 600 +#include +" +if test "x$ac_cv_have_decl_posix_fadvise" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5 -$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } -if test $ac_cv_func_strerror_r_char_p = yes; then -cat >>confdefs.h <<\_ACEOF -#define STRERROR_R_CHAR_P 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_POSIX_FADVISE $ac_have_decl +_ACEOF + +for ac_func in posix_fadvise +do : + ac_fn_c_check_func "$LINENO" "posix_fadvise" "ac_cv_func_posix_fadvise" +if test "x$ac_cv_func_posix_fadvise" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_POSIX_FADVISE 1 _ACEOF fi +done @@ -15148,725 +13347,461 @@ case $TERM in T_ME='' ;; esac - { $as_echo "$as_me:$LINENO: result: " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Map/Fadvis/Madvise checking${T_ME}" >&5 -$as_echo "${T_MD}Map/Fadvis/Madvise checking${T_ME}" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Libintl Processing${T_ME}" >&5 +$as_echo "${T_MD}Libintl Processing${T_ME}" >&6; } -for ac_func in fdatasync -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + case "$ac_aux_dir" in + /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; + *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; + esac + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval 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 + USE_NLS=yes +fi -/* 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. */ + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" else - { $as_echo "$as_me:$LINENO: checking for fdatasync in -lrt" >&5 -$as_echo_n "checking for fdatasync in -lrt... " >&6; } -if test "${ac_cv_lib_rt_fdatasync+set}" = set; then + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char fdatasync (); -int -main () -{ -return fdatasync (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_rt_fdatasync=yes +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_rt_fdatasync=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_rt_fdatasync" >&5 -$as_echo "$ac_cv_lib_rt_fdatasync" >&6; } -if test "x$ac_cv_lib_rt_fdatasync" = x""yes; then - LIBS="${LIBS} -lrt"; cat >>confdefs.h <<\_ACEOF -#define HAVE_FDATASYNC 1 -_ACEOF + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac fi - +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -done -for ac_func in fsync -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi -/* 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 +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file -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;; +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + rm -f messages.po + - eval "$as_ac_var=no" +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +rm -f conf$$.file +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSGMERGE+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -done + if test "$GMSGFMT" != ":"; then + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 +$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } + GMSGFMT=":" + fi + fi -if test "x$enable_mmap" = "xyes"; then - case "$host" in - *cygwin*) - # the normal mmap test does not work in cygwin + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 +$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } + XGETTEXT=":" + fi + rm -f messages.po + fi -for ac_func in mmap -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 + ac_config_commands="$ac_config_commands default-1" -/* 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2 or newer" >&5 +$as_echo_n "checking whether we are using the GNU C Library 2 or newer... " >&6; } +if test "${ac_cv_gnu_library_2+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $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 +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) + Lucky GNU user + #endif #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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + ac_cv_gnu_library_2=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + ac_cv_gnu_library_2=no fi +rm -f conftest* + -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2" >&5 +$as_echo "$ac_cv_gnu_library_2" >&6; } - if test "x$ac_cv_func_mmap" = "xyes"; then - ac_cv_func_mmap_fixed_mapped=yes - fi - ;; - *) + GLIBC2="$ac_cv_gnu_library_2" -for ac_header in sys/mman.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then : + $as_echo_n "(cached) " >&6 else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ac_header_compiler=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } else - eval "$as_ac_Header=\$ac_header_preproc" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF fi - -done - - - -for ac_header in stdlib.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ac_header_compiler=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 + RANLIB=$ac_ct_RANLIB + fi else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - + RANLIB="$ac_cv_prog_RANLIB" fi -done - -for ac_func in getpagesize -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5 +$as_echo_n "checking for strerror in -lcposix... " >&6; } +if test "${ac_cv_lib_cposix_strerror+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* 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 @@ -15874,1847 +13809,948 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +char strerror (); int main () { -return $ac_func (); +return strerror (); ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cposix_strerror=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + ac_cv_lib_cposix_strerror=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5 +$as_echo "$ac_cv_lib_cposix_strerror" >&6; } +if test "x$ac_cv_lib_cposix_strerror" = x""yes; then : + LIBS="$LIBS -lcposix" fi -done -{ $as_echo "$as_me:$LINENO: checking for working mmap" >&5 -$as_echo_n "checking for working mmap... " >&6; } -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signed" >&5 +$as_echo_n "checking for signed... " >&6; } +if test "${bh_cv_c_signed+set}" = set; then : $as_echo_n "(cached) " >&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 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* 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); +signed char x; + ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_mmap_fixed_mapped=yes +if ac_fn_c_try_compile "$LINENO"; then : + bh_cv_c_signed=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_mmap_fixed_mapped=no + bh_cv_c_signed=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bh_cv_c_signed" >&5 +$as_echo "$bh_cv_c_signed" >&6; } + if test $bh_cv_c_signed = no; then +$as_echo "#define signed /**/" >>confdefs.h -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 -$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then + fi -cat >>confdefs.h <<\_ACEOF -#define HAVE_MMAP 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if test "${ac_cv_c_inline+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw fi -rm -f conftest.mmap +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac +ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" +if test "x$ac_cv_type_off_t" = x""yes; then : -for ac_func in mmap munmap msync -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + +cat >>confdefs.h <<_ACEOF +#define off_t long int _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. */ +fi -#ifdef __STDC__ -# include -#else -# include -#endif +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = x""yes; then : -#undef $ac_func +else -/* 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 +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long" >&5 +$as_echo_n "checking for long long... " >&6; } +if test "${ac_cv_type_long_long+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +long long ll = 1LL; int i = 63; int main () { -return $ac_func (); +long long llmax = (long long) -1; + return ll << i | ll >> i | llmax / ll | llmax % ll; ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_type_long_long=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + ac_cv_type_long_long=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long" >&5 +$as_echo "$ac_cv_type_long_long" >&6; } + if test $ac_cv_type_long_long = yes; then -fi -done +$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h + + fi - { $as_echo "$as_me:$LINENO: checking whether madvise is declared" >&5 -$as_echo_n "checking whether madvise is declared... " >&6; } -if test "${ac_cv_have_decl_madvise+set}" = set; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5 +$as_echo_n "checking for long double... " >&6; } +if test "${gt_cv_c_long_double+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$GCC" = yes; then + gt_cv_c_long_double=yes + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef HAVE_SYS_MMAN_H - # include - #endif + + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ + int array [2*(sizeof(long double) >= sizeof(double)) - 1]; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_long_double=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_madvise=no + gt_cv_c_long_double=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_madvise" >&5 -$as_echo "$ac_cv_have_decl_madvise" >&6; } -if test "x$ac_cv_have_decl_madvise" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MADVISE 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MADVISE 0 -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_long_double" >&5 +$as_echo "$gt_cv_c_long_double" >&6; } + if test $gt_cv_c_long_double = yes; then -fi +$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h + fi - if test "x$ac_cv_have_decl_madvise" = "xyes"; - then -for ac_func in madvise -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 +$as_echo_n "checking for wchar_t... " >&6; } +if test "${gt_cv_c_wchar_t+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +#include + wchar_t foo = (wchar_t)'\0'; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_wchar_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gt_cv_c_wchar_t=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 +$as_echo "$gt_cv_c_wchar_t" >&6; } + if test $gt_cv_c_wchar_t = yes; then -fi -done +$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h - else + fi -for ac_func in posix_madvise -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 +$as_echo_n "checking for wint_t... " >&6; } +if test "${gt_cv_c_wint_t+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* 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 +#include + wint_t foo = (wchar_t)'\0'; +int +main () +{ -/* 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. */ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_wint_t=yes +else + gt_cv_c_wint_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 +$as_echo "$gt_cv_c_wint_t" >&6; } + if test $gt_cv_c_wint_t = yes; then -#ifdef __STDC__ -# include -#else -# include -#endif +$as_echo "#define HAVE_WINT_T 1" >>confdefs.h -#undef $ac_func + fi -/* 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 +$as_echo_n "checking for inttypes.h... " >&6; } +if test "${gl_cv_header_inttypes_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include int main () { -return $ac_func (); +uintmax_t i = (uintmax_t) -1; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_inttypes_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_header_inttypes_h=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 +$as_echo "$gl_cv_header_inttypes_h" >&6; } + if test $gl_cv_header_inttypes_h = yes; then -fi -done +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 +_ACEOF - if test "x$ac_cv_func_posix_madvise" != "xyes"; then - { $as_echo "$as_me:$LINENO: WARNING: madvise() nor posix_madvise() found." >&5 -$as_echo "$as_me: WARNING: madvise() nor posix_madvise() found." >&2;} - fi - fi - ;; - esac - if test "x$ac_cv_func_mmap" != "xyes"; - then - { { $as_echo "$as_me:$LINENO: error: --enable-mmap requested but mmap() was not detected" >&5 -$as_echo "$as_me: error: --enable-mmap requested but mmap() was not detected" >&2;} - { (exit 1); exit 1; }; } fi -fi -{ $as_echo "$as_me:$LINENO: checking whether posix_fadvise is declared" >&5 -$as_echo_n "checking whether posix_fadvise is declared... " >&6; } -if test "${ac_cv_have_decl_posix_fadvise+set}" = set; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 +$as_echo_n "checking for stdint.h... " >&6; } +if test "${gl_cv_header_stdint_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#define _XOPEN_SOURCE 600 -#include - +#include +#include int main () { -#ifndef posix_fadvise - (void) posix_fadvise; -#endif - +uintmax_t i = (uintmax_t) -1; ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_stdint_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_posix_fadvise=no + gl_cv_header_stdint_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_posix_fadvise" >&5 -$as_echo "$ac_cv_have_decl_posix_fadvise" >&6; } -if test "x$ac_cv_have_decl_posix_fadvise" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 +$as_echo "$gl_cv_header_stdint_h" >&6; } + if test $gl_cv_header_stdint_h = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_POSIX_FADVISE 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_POSIX_FADVISE 0 +#define HAVE_STDINT_H_WITH_UINTMAX 1 _ACEOF + fi -fi -for ac_func in posix_fadvise -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 +$as_echo_n "checking for intmax_t... " >&6; } +if test "${gt_cv_c_intmax_t+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* 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" +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include #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 +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include #endif int main () { -return $ac_func (); +intmax_t x = -1; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_intmax_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gt_cv_c_intmax_t=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 +$as_echo "$gt_cv_c_intmax_t" >&6; } + if test $gt_cv_c_intmax_t = yes; then -fi -done +$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h + fi -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { $as_echo "$as_me:$LINENO: result: " >&5 -$as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Libintl Processing${T_ME}" >&5 -$as_echo "${T_MD}Libintl Processing${T_ME}" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf() supports POSIX/XSI format strings" >&5 +$as_echo_n "checking whether printf() supports POSIX/XSI format strings... " >&6; } +if test "${gt_cv_func_printf_posix+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ + notposix +#endif - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - case "$ac_aux_dir" in - /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; - *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; - esac - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "notposix" >/dev/null 2>&1; then : + gt_cv_func_printf_posix="guessing no" +else + gt_cv_func_printf_posix="guessing yes" +fi +rm -f conftest* +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then - enableval=$enable_nls; USE_NLS=$enableval +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gt_cv_func_printf_posix=yes else - USE_NLS=yes + gt_cv_func_printf_posix=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_printf_posix" >&5 +$as_echo "$gt_cv_func_printf_posix" >&6; } + case $gt_cv_func_printf_posix in + *yes) +$as_echo "#define HAVE_POSIX_PRINTF 1" >>confdefs.h + ;; + esac +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 +$as_echo_n "checking for working alloca.h... " >&6; } +if test "${ac_cv_working_alloca_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_working_alloca_h=yes +else + ac_cv_working_alloca_h=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 +$as_echo "$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh fi -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 +$as_echo_n "checking for alloca... " >&6; } +if test "${ac_cv_func_alloca_works+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_executable_p="test -f" -fi -rm -f conf$$.file + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif -# Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGFMT+set}" = set; then - $as_echo_n "(cached) " >&6 +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_alloca_works=yes else - case "$MSGFMT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac + ac_cv_func_alloca_works=no fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 +$as_echo "$ac_cv_func_alloca_works" >&6; } - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GMSGFMT+set}" = set; then +if test $ac_cv_func_alloca_works = yes; then + +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +$as_echo "#define C_ALLOCA 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 +$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } +if test "${ac_cv_os_cray+set}" = set; then : $as_echo_n "(cached) " >&6 else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5 -$as_echo "$GMSGFMT" >&6; } +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then : + ac_cv_os_cray=yes else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_os_cray=no fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 +$as_echo "$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + break +fi -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + done fi -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XGETTEXT+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 +$as_echo_n "checking stack direction for C alloca... " >&6; } +if test "${ac_cv_c_stack_direction+set}" = set; then : $as_echo_n "(cached) " >&6 else - case "$XGETTEXT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } + if test "$cross_compiling" = yes; then : + ac_cv_c_stack_direction=0 else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - rm -f messages.po - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file + return (&dummy > addr) ? 1 : -1; +} -# Extract the first word of "msgmerge", so it can be a program name with args. -set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGMERGE+set}" = set; then - $as_echo_n "(cached) " >&6 +int +main () +{ + return find_stack_direction () < 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_stack_direction=1 else - case "$MSGMERGE" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; -esac + ac_cv_c_stack_direction=-1 fi -MSGMERGE="$ac_cv_path_MSGMERGE" -if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:$LINENO: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 +$as_echo "$ac_cv_c_stack_direction" >&6; } +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF - if test "$GMSGFMT" != ":"; then - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && - (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - : ; - else - GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` - { $as_echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 -$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } - GMSGFMT=":" - fi - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && - (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - : ; - else - { $as_echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 -$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } - XGETTEXT=":" - fi - rm -f messages.po - fi - - ac_config_commands="$ac_config_commands default-1" +fi - { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2 or newer" >&5 -$as_echo_n "checking whether we are using the GNU C Library 2 or newer... " >&6; } -if test "${ac_cv_gnu_library_2+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5 +$as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; } +if test "${ac_cv_gnu_library_2_1+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then - ac_cv_gnu_library_2=yes + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + ac_cv_gnu_library_2_1=yes else - ac_cv_gnu_library_2=no + ac_cv_gnu_library_2_1=no fi rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2" >&5 -$as_echo "$ac_cv_gnu_library_2" >&6; } - - GLIBC2="$ac_cv_gnu_library_2" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 +$as_echo "$ac_cv_gnu_library_2_1" >&6; } + GLIBC21="$ac_cv_gnu_library_2_1" -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether integer division by zero raises SIGFPE" >&5 +$as_echo_n "checking whether integer division by zero raises SIGFPE... " >&6; } +if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi + if test "$cross_compiling" = yes; then : + + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i3456786 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi else - RANLIB="$ac_cv_prog_RANLIB" -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include - { $as_echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 -$as_echo_n "checking for strerror in -lcposix... " >&6; } -if test "${ac_cv_lib_cposix_strerror+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcposix $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ +static void #ifdef __cplusplus -extern "C" +sigfpe_handler (int sig) +#else +sigfpe_handler (sig) int sig; #endif -char strerror (); -int -main () { -return strerror (); - ; - return 0; + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); } + _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cposix_strerror=yes +if ac_fn_c_try_run "$LINENO"; then : + gt_cv_int_divbyzero_sigfpe=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_cposix_strerror=no + gt_cv_int_divbyzero_sigfpe=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 -$as_echo "$ac_cv_lib_cposix_strerror" >&6; } -if test "x$ac_cv_lib_cposix_strerror" = x""yes; then - LIBS="$LIBS -lcposix" + + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_int_divbyzero_sigfpe" >&5 +$as_echo "$gt_cv_int_divbyzero_sigfpe" >&6; } + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac +cat >>confdefs.h <<_ACEOF +#define INTDIV0_RAISES_SIGFPE $value +_ACEOF - { $as_echo "$as_me:$LINENO: checking for signed" >&5 -$as_echo_n "checking for signed... " >&6; } -if test "${bh_cv_c_signed+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long" >&5 +$as_echo_n "checking for unsigned long long... " >&6; } +if test "${ac_cv_type_unsigned_long_long+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - +unsigned long long ull = 1ULL; int i = 63; int main () { -signed char x; +unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull; ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - bh_cv_c_signed=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_type_unsigned_long_long=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - bh_cv_c_signed=no + ac_cv_type_unsigned_long_long=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $bh_cv_c_signed" >&5 -$as_echo "$bh_cv_c_signed" >&6; } - if test $bh_cv_c_signed = no; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long" >&5 +$as_echo "$ac_cv_type_unsigned_long_long" >&6; } + if test $ac_cv_type_unsigned_long_long = yes; then -cat >>confdefs.h <<\_ACEOF -#define signed /**/ -_ACEOF +$as_echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_c_inline=$ac_kw -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi + if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } +cat >>confdefs.h <<_ACEOF +#define uintmax_t $ac_type +_ACEOF + else + +$as_echo "#define HAVE_UINTMAX_T 1" >>confdefs.h + + fi -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for off_t" >&5 -$as_echo_n "checking for off_t... " >&6; } -if test "${ac_cv_type_off_t+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 +$as_echo_n "checking for inttypes.h... " >&6; } +if test "${gt_cv_header_inttypes_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_type_off_t=no -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 -int -main () -{ -if (sizeof (off_t)) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include +#include int main () { -if (sizeof ((off_t))) - return 0; + ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_header_inttypes_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_off_t=yes + gt_cv_header_inttypes_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 -$as_echo "$ac_cv_type_off_t" >&6; } -if test "x$ac_cv_type_off_t" = x""yes; then - : -else +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_header_inttypes_h" >&5 +$as_echo "$gt_cv_header_inttypes_h" >&6; } + if test $gt_cv_header_inttypes_h = yes; then cat >>confdefs.h <<_ACEOF -#define off_t long int +#define HAVE_INTTYPES_H 1 _ACEOF -fi + fi + + -{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if test "${ac_cv_type_size_t+set}" = set; then + if test $gt_cv_header_inttypes_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 +$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } +if test "${gt_cv_inttypes_pri_broken+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_type_size_t=no -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 -int -main () -{ -if (sizeof (size_t)) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include +#ifdef PRId32 +char *p = PRId32; +#endif + int main () { -if (sizeof ((size_t))) - return 0; + ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_inttypes_pri_broken=no else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=yes + gt_cv_inttypes_pri_broken=yes fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -$as_echo "$ac_cv_type_size_t" >&6; } -if test "x$ac_cv_type_size_t" = x""yes; then - : -else +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 +$as_echo "$gt_cv_inttypes_pri_broken" >&6; } + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then cat >>confdefs.h <<_ACEOF -#define size_t unsigned int +#define PRI_MACROS_BROKEN 1 _ACEOF -fi + fi - { $as_echo "$as_me:$LINENO: checking for long long" >&5 -$as_echo_n "checking for long long... " >&6; } -if test "${ac_cv_type_long_long+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -long long ll = 1LL; int i = 63; -int -main () -{ -long long llmax = (long long) -1; - return ll << i | ll >> i | llmax / ll | llmax % ll; - ; - return 0; -} + for ac_header in stdint.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H 1 _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_type_long_long=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_type_long_long=no fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5 -$as_echo "$ac_cv_type_long_long" >&6; } - if test $ac_cv_type_long_long = yes; then +done -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_LONG 1 -_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 +$as_echo_n "checking for SIZE_MAX... " >&6; } + result= + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - fi +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Found it" >/dev/null 2>&1; then : + result=yes +fi +rm -f conftest* + + if test -z "$result"; then + if ac_fn_c_compute_int "$LINENO" "~(size_t)0 / 10" "res_hi" "#include "; then : - { $as_echo "$as_me:$LINENO: checking for long double" >&5 -$as_echo_n "checking for long double... " >&6; } -if test "${gt_cv_c_long_double+set}" = set; then - $as_echo_n "(cached) " >&6 else - if test "$GCC" = yes; then - gt_cv_c_long_double=yes - else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + result=? +fi - /* The Stardent Vistra knows sizeof(long double), but does not support it. */ - long double foo = 0.0; - /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ - int array [2*(sizeof(long double) >= sizeof(double)) - 1]; -int -main () -{ + if ac_fn_c_compute_int "$LINENO" "~(size_t)0 % 10" "res_lo" "#include "; then : - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gt_cv_c_long_double=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_c_long_double=no + result=? fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_long_double" >&5 -$as_echo "$gt_cv_c_long_double" >&6; } - if test $gt_cv_c_long_double = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_DOUBLE 1 -_ACEOF + if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : - fi +else + result=? +fi - { $as_echo "$as_me:$LINENO: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if test "${gt_cv_c_wchar_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$fits_in_uint" = 1; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include - wchar_t foo = (wchar_t)'\0'; + extern size_t foo; + extern unsigned long foo; + int main () { @@ -17723,2897 +14759,1514 @@ main () 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gt_cv_c_wchar_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_c_wchar_t=no +if ac_fn_c_try_compile "$LINENO"; then : + fits_in_uint=0 fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then + fi + if test -z "$result"; then + if test "$fits_in_uint" = 1; then + result="$res_hi$res_lo"U + else + result="$res_hi$res_lo"UL + fi + else + result='~(size_t)0' + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $result" >&5 +$as_echo "$result" >&6; } + if test "$result" != yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WCHAR_T 1 +cat >>confdefs.h <<_ACEOF +#define SIZE_MAX $result _ACEOF fi - { $as_echo "$as_me:$LINENO: checking for wint_t" >&5 -$as_echo_n "checking for wint_t... " >&6; } -if test "${gt_cv_c_wint_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - wint_t foo = (wchar_t)'\0'; -int -main () -{ - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gt_cv_c_wint_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gt_cv_c_wint_t=no -fi + for ac_header in stdint.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H 1 +_ACEOF -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_wint_t" >&5 -$as_echo "$gt_cv_c_wint_t" >&6; } - if test $gt_cv_c_wint_t = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WINT_T 1 -_ACEOF +done - fi - { $as_echo "$as_me:$LINENO: checking for inttypes.h" >&5 -$as_echo_n "checking for inttypes.h... " >&6; } -if test "${gl_cv_header_inttypes_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include +#include int main () { -uintmax_t i = (uintmax_t) -1; +CFPreferencesCopyAppValue(NULL, NULL) ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gl_cv_header_inttypes_h=yes +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_header_inttypes_h=no + gt_cv_func_CFPreferencesCopyAppValue=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_inttypes_h" >&5 -$as_echo "$gl_cv_header_inttypes_h" >&6; } - if test $gl_cv_header_inttypes_h = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -_ACEOF +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi - - - { $as_echo "$as_me:$LINENO: checking for stdint.h" >&5 -$as_echo_n "checking for stdint.h... " >&6; } -if test "${gl_cv_header_stdint_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include +#include int main () { -uintmax_t i = (uintmax_t) -1; +CFLocaleCopyCurrent(); ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gl_cv_header_stdint_h=yes +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_header_stdint_h=no + gt_cv_func_CFLocaleCopyCurrent=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_stdint_h" >&5 -$as_echo "$gl_cv_header_stdint_h" >&6; } - if test $gl_cv_header_stdint_h = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H_WITH_UINTMAX 1 -_ACEOF +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" - { $as_echo "$as_me:$LINENO: checking for intmax_t" >&5 -$as_echo_n "checking for intmax_t... " >&6; } -if test "${gt_cv_c_intmax_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif -int -main () -{ -intmax_t x = -1; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gt_cv_c_intmax_t=yes +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_c_intmax_t=no + with_gnu_ld=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 +$as_echo_n "checking for ld used by GCC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if test "${acl_cv_path_LD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_intmax_t" >&5 -$as_echo "$gt_cv_c_intmax_t" >&6; } - if test $gt_cv_c_intmax_t = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_INTMAX_T 1 -_ACEOF +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if test "${acl_cv_prog_gnu_ld+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld - fi - { $as_echo "$as_me:$LINENO: checking whether printf() supports POSIX/XSI format strings" >&5 -$as_echo_n "checking whether printf() supports POSIX/XSI format strings... " >&6; } -if test "${gt_cv_func_printf_posix+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if test "${acl_cv_rpath+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ - notposix -#endif + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "notposix" >/dev/null 2>&1; then - gt_cv_func_printf_posix="guessing no" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : else - gt_cv_func_printf_posix="guessing yes" + enable_rpath=yes fi -rm -f conftest* -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -/* The string "%2$d %1$d", with dollar characters protected from the shell's - dollar expansion (possibly an autoconf bug). */ -static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; -static char buf[100]; -int main () -{ - sprintf (buf, format, 33, 55); - return (strcmp (buf, "55 33") != 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gt_cv_func_printf_posix=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gt_cv_func_printf_posix=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_printf_posix" >&5 -$as_echo "$gt_cv_func_printf_posix" >&6; } - case $gt_cv_func_printf_posix in - *yes) -cat >>confdefs.h <<\_ACEOF -#define HAVE_POSIX_PRINTF 1 -_ACEOF + use_additional=yes - ;; - esac + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -{ $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5 -$as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - if (p) return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_working_alloca_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" - ac_cv_working_alloca_h=no -fi + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } -if test $ac_cv_working_alloca_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA_H 1 -_ACEOF +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then -fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -{ $as_echo "$as_me:$LINENO: checking for alloca" >&5 -$as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then - $as_echo_n "(cached) " >&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 __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -int -main () -{ -char *p = (char *) alloca (1); - if (p) return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_alloca_works=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - ac_cv_func_alloca_works=no -fi + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } - -if test $ac_cv_func_alloca_works = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA 1 -_ACEOF - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - -ALLOCA=\${LIBOBJDIR}alloca.$ac_objext -cat >>confdefs.h <<\_ACEOF -#define C_ALLOCA 1 -_ACEOF + LIBICONV= + LTLIBICONV= + INCICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -{ $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 -$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 -$as_echo "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do -/* 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. */ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -#ifdef __STDC__ -# include -#else -# include -#endif + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do -#undef $ac_func + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -/* 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 + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" +if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : -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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi +$as_echo "#define ptrdiff_t long" >>confdefs.h + -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func + for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - break fi - done +done + + for ac_func in asprintf fwprintf getcwd getegid geteuid getgid getuid \ +mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \ +strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \ +__fsetlocking +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + fi +done -{ $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 -$as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snprintf is declared" >&5 +$as_echo_n "checking whether _snprintf is declared... " >&6; } +if test "${ac_cv_have_decl__snprintf+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -find_stack_direction () -{ - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; -} - +#include int main () { - return find_stack_direction () < 0; + +#ifndef _snprintf + char *p = (char *) _snprintf; +#endif + + ; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_stack_direction=1 +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_have_decl__snprintf=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_stack_direction=-1 + ac_cv_have_decl__snprintf=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 -$as_echo "$ac_cv_c_stack_direction" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl__snprintf" >&5 +$as_echo "$ac_cv_have_decl__snprintf" >&6; } + if test $ac_cv_have_decl__snprintf = yes; then + gt_value=1 + else + gt_value=0 + fi cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction +#define HAVE_DECL__SNPRINTF $gt_value _ACEOF -fi - - { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5 -$as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; } -if test "${ac_cv_gnu_library_2_1+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snwprintf is declared" >&5 +$as_echo_n "checking whether _snwprintf is declared... " >&6; } +if test "${ac_cv_have_decl__snwprintf+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +int +main () +{ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif +#ifndef _snwprintf + char *p = (char *) _snwprintf; #endif + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then - ac_cv_gnu_library_2_1=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_have_decl__snwprintf=yes else - ac_cv_gnu_library_2_1=no + ac_cv_have_decl__snwprintf=no fi -rm -f conftest* - - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5 -$as_echo "$ac_cv_gnu_library_2_1" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl__snwprintf" >&5 +$as_echo "$ac_cv_have_decl__snwprintf" >&6; } + if test $ac_cv_have_decl__snwprintf = yes; then + gt_value=1 + else + gt_value=0 + fi - GLIBC21="$ac_cv_gnu_library_2_1" +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SNWPRINTF $gt_value +_ACEOF - { $as_echo "$as_me:$LINENO: checking whether integer division by zero raises SIGFPE" >&5 -$as_echo_n "checking whether integer division by zero raises SIGFPE... " >&6; } -if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether feof_unlocked is declared" >&5 +$as_echo_n "checking whether feof_unlocked is declared... " >&6; } +if test "${ac_cv_have_decl_feof_unlocked+set}" = set; then : $as_echo_n "(cached) " >&6 else - - if test "$cross_compiling" = yes; then - - # Guess based on the CPU. - case "$host_cpu" in - alpha* | i3456786 | m68k | s390*) - gt_cv_int_divbyzero_sigfpe="guessing yes";; - *) - gt_cv_int_divbyzero_sigfpe="guessing no";; - esac - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include - -static void -#ifdef __cplusplus -sigfpe_handler (int sig) -#else -sigfpe_handler (sig) int sig; -#endif +#include +int +main () { - /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ - exit (sig != SIGFPE); -} - -int x = 1; -int y = 0; -int z; -int nan; -int main () -{ - signal (SIGFPE, sigfpe_handler); -/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ -#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) - signal (SIGTRAP, sigfpe_handler); -#endif -/* Linux/SPARC yields signal SIGILL. */ -#if defined (__sparc__) && defined (__linux__) - signal (SIGILL, sigfpe_handler); +#ifndef feof_unlocked + char *p = (char *) feof_unlocked; #endif - z = x / y; - nan = y / y; - exit (1); + ; + return 0; } - _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gt_cv_int_divbyzero_sigfpe=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_have_decl_feof_unlocked=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gt_cv_int_divbyzero_sigfpe=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + ac_cv_have_decl_feof_unlocked=no fi - - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_int_divbyzero_sigfpe" >&5 -$as_echo "$gt_cv_int_divbyzero_sigfpe" >&6; } - case "$gt_cv_int_divbyzero_sigfpe" in - *yes) value=1;; - *) value=0;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_feof_unlocked" >&5 +$as_echo "$ac_cv_have_decl_feof_unlocked" >&6; } + if test $ac_cv_have_decl_feof_unlocked = yes; then + gt_value=1 + else + gt_value=0 + fi cat >>confdefs.h <<_ACEOF -#define INTDIV0_RAISES_SIGFPE $value +#define HAVE_DECL_FEOF_UNLOCKED $gt_value _ACEOF - { $as_echo "$as_me:$LINENO: checking for unsigned long long" >&5 -$as_echo_n "checking for unsigned long long... " >&6; } -if test "${ac_cv_type_unsigned_long_long+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fgets_unlocked is declared" >&5 +$as_echo_n "checking whether fgets_unlocked is declared... " >&6; } +if test "${ac_cv_have_decl_fgets_unlocked+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -unsigned long long ull = 1ULL; int i = 63; +#include int main () { -unsigned long long ullmax = (unsigned long long) -1; - return ull << i | ull >> i | ullmax / ull | ullmax % ull; + +#ifndef fgets_unlocked + char *p = (char *) fgets_unlocked; +#endif + ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_type_unsigned_long_long=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_have_decl_fgets_unlocked=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_unsigned_long_long=no + ac_cv_have_decl_fgets_unlocked=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5 -$as_echo "$ac_cv_type_unsigned_long_long" >&6; } - if test $ac_cv_type_unsigned_long_long = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_UNSIGNED_LONG_LONG 1 -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_fgets_unlocked" >&5 +$as_echo "$ac_cv_have_decl_fgets_unlocked" >&6; } + if test $ac_cv_have_decl_fgets_unlocked = yes; then + gt_value=1 + else + gt_value=0 fi - - - - if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then - - test $ac_cv_type_unsigned_long_long = yes \ - && ac_type='unsigned long long' \ - || ac_type='unsigned long' - cat >>confdefs.h <<_ACEOF -#define uintmax_t $ac_type -_ACEOF - - else - -cat >>confdefs.h <<\_ACEOF -#define HAVE_UINTMAX_T 1 +#define HAVE_DECL_FGETS_UNLOCKED $gt_value _ACEOF - fi - { $as_echo "$as_me:$LINENO: checking for inttypes.h" >&5 -$as_echo_n "checking for inttypes.h... " >&6; } -if test "${gt_cv_header_inttypes_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getc_unlocked is declared" >&5 +$as_echo_n "checking whether getc_unlocked is declared... " >&6; } +if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then : $as_echo_n "(cached) " >&6 else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include +#include int main () { +#ifndef getc_unlocked + char *p = (char *) getc_unlocked; +#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gt_cv_header_inttypes_h=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_have_decl_getc_unlocked=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_header_inttypes_h=no + ac_cv_have_decl_getc_unlocked=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5 -$as_echo "$gt_cv_header_inttypes_h" >&6; } - if test $gt_cv_header_inttypes_h = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_getc_unlocked" >&5 +$as_echo "$ac_cv_have_decl_getc_unlocked" >&6; } + if test $ac_cv_have_decl_getc_unlocked = yes; then + gt_value=1 + else + gt_value=0 + fi cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H 1 +#define HAVE_DECL_GETC_UNLOCKED $gt_value _ACEOF + + + case $gt_cv_func_printf_posix in + *yes) HAVE_POSIX_PRINTF=1 ;; + *) HAVE_POSIX_PRINTF=0 ;; + esac + + if test "$ac_cv_func_asprintf" = yes; then + HAVE_ASPRINTF=1 + else + HAVE_ASPRINTF=0 + fi + + if test "$ac_cv_func_snprintf" = yes; then + HAVE_SNPRINTF=1 + else + HAVE_SNPRINTF=0 + fi + + if test "$ac_cv_func_wprintf" = yes; then + HAVE_WPRINTF=1 + else + HAVE_WPRINTF=0 fi - if test $gt_cv_header_inttypes_h = yes; then - { $as_echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5 -$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } -if test "${gt_cv_inttypes_pri_broken+set}" = set; then + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if test "${am_cv_func_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifdef PRId32 -char *p = PRId32; -#endif - +#include +#include int main () { - +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - gt_cv_inttypes_pri_broken=no -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_inttypes_pri_broken=yes +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5 -$as_echo "$gt_cv_inttypes_pri_broken" >&6; } - fi - if test "$gt_cv_inttypes_pri_broken" = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then -cat >>confdefs.h <<_ACEOF -#define PRI_MACROS_BROKEN 1 -_ACEOF +$as_echo "#define HAVE_ICONV 1" >>confdefs.h fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi -for ac_header in stdint.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 +$as_echo_n "checking for iconv declaration... " >&6; } + if test "${am_cv_proto_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +int +main () +{ -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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> + ; + return 0; +} _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_compile "$LINENO"; then : + am_cv_proto_iconv_arg1="" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + am_cv_proto_iconv_arg1="const" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:- + }$am_cv_proto_iconv" >&5 +$as_echo "${ac_t:- + }$am_cv_proto_iconv" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} +cat >>confdefs.h <<_ACEOF +#define ICONV_CONST $am_cv_proto_iconv_arg1 +_ACEOF - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 +$as_echo_n "checking for nl_langinfo and CODESET... " >&6; } +if test "${am_cv_langinfo_codeset+set}" = set; then : $as_echo_n "(cached) " >&6 else - eval "$as_ac_Header=\$ac_header_preproc" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +char* cs = nl_langinfo(CODESET); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_langinfo_codeset=yes +else + am_cv_langinfo_codeset=no fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 +$as_echo "$am_cv_langinfo_codeset" >&6; } + if test $am_cv_langinfo_codeset = yes; then -fi +$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h -done + fi - { $as_echo "$as_me:$LINENO: checking for SIZE_MAX" >&5 -$as_echo_n "checking for SIZE_MAX... " >&6; } - result= - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Found it" >/dev/null 2>&1; then - result=yes -fi -rm -f conftest* - - if test -z "$result"; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -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 () -{ -static int test_array [1 - 2 * !((~(size_t)0 / 10) >= 0)]; -test_array [0] = 0 + if test $ac_cv_header_locale_h = yes; then - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 +$as_echo_n "checking for LC_MESSAGES... " >&6; } +if test "${gt_cv_val_LC_MESSAGES+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main () { -static int test_array [1 - 2 * !((~(size_t)0 / 10) <= $ac_mid)]; -test_array [0] = 0 - +return LC_MESSAGES ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=$ac_mid; break +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_val_LC_MESSAGES=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + gt_cv_val_LC_MESSAGES=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5 +$as_echo "$gt_cv_val_LC_MESSAGES" >&6; } + if test $gt_cv_val_LC_MESSAGES = yes; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h + + fi + + fi + + if test -n "$INTL_MACOSX_LIBS"; then + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + fi + + for ac_prog in bison +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_INTLBISON+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$INTLBISON"; then + ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_INTLBISON="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done +IFS=$as_save_IFS + +fi +fi +INTLBISON=$ac_cv_prog_INTLBISON +if test -n "$INTLBISON"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLBISON" >&5 +$as_echo "$INTLBISON" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - 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 () -{ -static int test_array [1 - 2 * !((~(size_t)0 / 10) < 0)]; -test_array [0] = 0 - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + test -n "$INTLBISON" && break +done + + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of bison" >&5 +$as_echo_n "checking version of bison... " >&6; } + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5 +$as_echo "$ac_prog_version" >&6; } + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main () { -static int test_array [1 - 2 * !((~(size_t)0 / 10) >= $ac_mid)]; -test_array [0] = 0 - +CFPreferencesCopyAppValue(NULL, NULL) ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_lo=$ac_mid; break +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + gt_cv_func_CFPreferencesCopyAppValue=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main () { -static int test_array [1 - 2 * !((~(size_t)0 / 10) <= $ac_mid)]; -test_array [0] = 0 - +CFLocaleCopyCurrent(); ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=$ac_mid +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` + gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) res_hi=$ac_lo;; -'') result=? ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -static long int longval () { return ~(size_t)0 / 10; } -static unsigned long int ulongval () { return ~(size_t)0 / 10; } -#include -#include -int -main () -{ +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((~(size_t)0 / 10) < 0) - { - long int i = longval (); - if (i != (~(size_t)0 / 10)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (~(size_t)0 / 10)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - res_hi=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -result=? -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes fi -rm -f conftest.val - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -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 () -{ -static int test_array [1 - 2 * !((~(size_t)0 % 10) >= 0)]; -test_array [0] = 0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_lo=0 ac_mid=0 - while :; do - 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 () -{ -static int test_array [1 - 2 * !((~(size_t)0 % 10) <= $ac_mid)]; -test_array [0] = 0 - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no - 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 () -{ -static int test_array [1 - 2 * !((~(size_t)0 % 10) < 0)]; -test_array [0] = 0 + LIBINTL= + LTLIBINTL= + POSUB= - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=-1 ac_mid=-1 - while :; do - 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 () -{ -static int test_array [1 - 2 * !((~(size_t)0 % 10) >= $ac_mid)]; -test_array [0] = 0 + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether included gettext is requested" >&5 +$as_echo_n "checking whether included gettext is requested... " >&6; } - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` +# Check whether --with-included-gettext was given. +if test "${with_included_gettext+set}" = set; then : + withval=$with_included_gettext; nls_cv_force_use_gnu_gettext=$withval +else + nls_cv_force_use_gnu_gettext=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $nls_cv_force_use_gnu_gettext" >&5 +$as_echo "$nls_cv_force_use_gnu_gettext" >&6; } - ac_lo= ac_hi= -fi + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - 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 () -{ -static int test_array [1 - 2 * !((~(size_t)0 % 10) <= $ac_mid)]; -test_array [0] = 0 - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) res_lo=$ac_lo;; -'') result=? ;; -esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if test "${gt_cv_func_gnugettext1_libc+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -static long int longval () { return ~(size_t)0 % 10; } -static unsigned long int ulongval () { return ~(size_t)0 % 10; } -#include -#include +#include +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((~(size_t)0 % 10) < 0) - { - long int i = longval (); - if (i != (~(size_t)0 % 10)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (~(size_t)0 % 10)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - +bindtextdomain ("", ""); +return * gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - res_lo=`cat conftest.val` +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_gnugettext1_libc=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -result=? + gt_cv_func_gnugettext1_libc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -rm -f conftest.val +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5 +$as_echo "$gt_cv_func_gnugettext1_libc" >&6; } - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -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 () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= 0)]; -test_array [0] = 0 - - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_lo=0 ac_mid=0 - while :; do - 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 () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; -test_array [0] = 0 + if test "$gt_cv_func_gnugettext1_libc" != "yes"; then - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + use_additional=yes - 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 () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) < 0)]; -test_array [0] = 0 + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=-1 ac_mid=-1 - while :; do - 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 () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= $ac_mid)]; -test_array [0] = 0 + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then - ac_lo= ac_hi= -fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - 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 () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; -test_array [0] = 0 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi - ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) fits_in_uint=$ac_lo;; -'') result=? ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -static long int longval () { return sizeof (size_t) <= sizeof (unsigned int); } -static unsigned long int ulongval () { return sizeof (size_t) <= sizeof (unsigned int); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof (size_t) <= sizeof (unsigned int)) < 0) - { - long int i = longval (); - if (i != (sizeof (size_t) <= sizeof (unsigned int))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof (size_t) <= sizeof (unsigned int))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - fits_in_uint=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -result=? -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val - - if test "$fits_in_uint" = 1; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - extern size_t foo; - extern unsigned long foo; - -int -main () -{ - - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - fits_in_uint=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test -z "$result"; then - if test "$fits_in_uint" = 1; then - result="$res_hi$res_lo"U - else - result="$res_hi$res_lo"UL - fi - else - result='~(size_t)0' - fi - fi - { $as_echo "$as_me:$LINENO: result: $result" >&5 -$as_echo "$result" >&6; } - if test "$result" != yes; then - -cat >>confdefs.h <<_ACEOF -#define SIZE_MAX $result -_ACEOF - - fi - - - - - -for ac_header in stdint.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - { $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 -$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" - gt_save_LIBS="$LIBS" - LIBS="$LIBS -framework CoreFoundation" - 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 () -{ -CFPreferencesCopyAppValue(NULL, NULL) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gt_cv_func_CFPreferencesCopyAppValue=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFPreferencesCopyAppValue=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 -_ACEOF - - fi - { $as_echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 -$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" - gt_save_LIBS="$LIBS" - LIBS="$LIBS -framework CoreFoundation" - 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 () -{ -CFLocaleCopyCurrent(); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gt_cv_func_CFLocaleCopyCurrent=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFLocaleCopyCurrent=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFLOCALECOPYCURRENT 1 -_ACEOF - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${acl_cv_path_LD+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:$LINENO: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${acl_cv_prog_gnu_ld+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if test "${acl_cv_rpath+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - libext="$acl_cv_libext" - shlibext="$acl_cv_shlibext" - hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - hardcode_direct="$acl_cv_hardcode_direct" - hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then - withval=$with_libiconv_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - else - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do + LIBINTL= + LTLIBINTL= + INCINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" @@ -20649,10 +16302,10 @@ fi done fi if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do @@ -20665,10 +16318,10 @@ fi ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then @@ -20680,3994 +16333,671 @@ fi rpathdirs="$rpathdirs $found_dir" fi else - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" - ;; - esac - done - fi - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 -$as_echo_n "checking for ptrdiff_t... " >&6; } -if test "${ac_cv_type_ptrdiff_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_ptrdiff_t=no -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 -int -main () -{ -if (sizeof (ptrdiff_t)) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - 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 -int -main () -{ -if (sizeof ((ptrdiff_t))) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_ptrdiff_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 -$as_echo "$ac_cv_type_ptrdiff_t" >&6; } -if test "x$ac_cv_type_ptrdiff_t" = x""yes; then - : -else - -cat >>confdefs.h <<\_ACEOF -#define ptrdiff_t long -_ACEOF - - -fi - - - - - - - - - - - -for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ -stdlib.h string.h unistd.h sys/param.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - - - - - - - - - - - - - - - - - -for ac_func in asprintf fwprintf getcwd getegid geteuid getgid getuid \ -mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \ -strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \ -__fsetlocking -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - - { $as_echo "$as_me:$LINENO: checking whether _snprintf is declared" >&5 -$as_echo_n "checking whether _snprintf is declared... " >&6; } -if test "${ac_cv_have_decl__snprintf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - -#ifndef _snprintf - char *p = (char *) _snprintf; -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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__snprintf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl__snprintf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl__snprintf" >&5 -$as_echo "$ac_cv_have_decl__snprintf" >&6; } - if test $ac_cv_have_decl__snprintf = yes; then - gt_value=1 - else - gt_value=0 - fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__SNPRINTF $gt_value -_ACEOF - - - - { $as_echo "$as_me:$LINENO: checking whether _snwprintf is declared" >&5 -$as_echo_n "checking whether _snwprintf is declared... " >&6; } -if test "${ac_cv_have_decl__snwprintf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - -#ifndef _snwprintf - char *p = (char *) _snwprintf; -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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__snwprintf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl__snwprintf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl__snwprintf" >&5 -$as_echo "$ac_cv_have_decl__snwprintf" >&6; } - if test $ac_cv_have_decl__snwprintf = yes; then - gt_value=1 - else - gt_value=0 - fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__SNWPRINTF $gt_value -_ACEOF - - - - - { $as_echo "$as_me:$LINENO: checking whether feof_unlocked is declared" >&5 -$as_echo_n "checking whether feof_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_feof_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - -#ifndef feof_unlocked - char *p = (char *) feof_unlocked; -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_feof_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_feof_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_feof_unlocked" >&5 -$as_echo "$ac_cv_have_decl_feof_unlocked" >&6; } - if test $ac_cv_have_decl_feof_unlocked = yes; then - gt_value=1 - else - gt_value=0 - fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FEOF_UNLOCKED $gt_value -_ACEOF - - - - { $as_echo "$as_me:$LINENO: checking whether fgets_unlocked is declared" >&5 -$as_echo_n "checking whether fgets_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_fgets_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - -#ifndef fgets_unlocked - char *p = (char *) fgets_unlocked; -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_fgets_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fgets_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgets_unlocked" >&5 -$as_echo "$ac_cv_have_decl_fgets_unlocked" >&6; } - if test $ac_cv_have_decl_fgets_unlocked = yes; then - gt_value=1 - else - gt_value=0 - fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FGETS_UNLOCKED $gt_value -_ACEOF - - - - { $as_echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 -$as_echo_n "checking whether getc_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - -#ifndef getc_unlocked - char *p = (char *) getc_unlocked; -#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_getc_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getc_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 -$as_echo "$ac_cv_have_decl_getc_unlocked" >&6; } - if test $ac_cv_have_decl_getc_unlocked = yes; then - gt_value=1 - else - gt_value=0 - fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED $gt_value -_ACEOF - - - - case $gt_cv_func_printf_posix in - *yes) HAVE_POSIX_PRINTF=1 ;; - *) HAVE_POSIX_PRINTF=0 ;; - esac - - if test "$ac_cv_func_asprintf" = yes; then - HAVE_ASPRINTF=1 - else - HAVE_ASPRINTF=0 - fi - - if test "$ac_cv_func_snprintf" = yes; then - HAVE_SNPRINTF=1 - else - HAVE_SNPRINTF=0 - fi - - if test "$ac_cv_func_wprintf" = yes; then - HAVE_WPRINTF=1 - else - HAVE_WPRINTF=0 - fi - - - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:$LINENO: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if test "${am_cv_func_iconv+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - am_cv_func_iconv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ICONV 1 -_ACEOF - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:$LINENO: checking for iconv declaration" >&5 -$as_echo_n "checking for iconv declaration... " >&6; } - if test "${am_cv_proto_iconv+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - -int -main () -{ - - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - am_cv_proto_iconv_arg1="" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - am_cv_proto_iconv_arg1="const" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" -fi - - am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - { $as_echo "$as_me:$LINENO: result: ${ac_t:- - }$am_cv_proto_iconv" >&5 -$as_echo "${ac_t:- - }$am_cv_proto_iconv" >&6; } - -cat >>confdefs.h <<_ACEOF -#define ICONV_CONST $am_cv_proto_iconv_arg1 -_ACEOF - - fi - - - { $as_echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5 -$as_echo_n "checking for nl_langinfo and CODESET... " >&6; } -if test "${am_cv_langinfo_codeset+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -char* cs = nl_langinfo(CODESET); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - am_cv_langinfo_codeset=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - am_cv_langinfo_codeset=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5 -$as_echo "$am_cv_langinfo_codeset" >&6; } - if test $am_cv_langinfo_codeset = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LANGINFO_CODESET 1 -_ACEOF - - fi - - if test $ac_cv_header_locale_h = yes; then - - { $as_echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 -$as_echo_n "checking for LC_MESSAGES... " >&6; } -if test "${gt_cv_val_LC_MESSAGES+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -return LC_MESSAGES - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gt_cv_val_LC_MESSAGES=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_val_LC_MESSAGES=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_val_LC_MESSAGES" >&5 -$as_echo "$gt_cv_val_LC_MESSAGES" >&6; } - if test $gt_cv_val_LC_MESSAGES = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LC_MESSAGES 1 -_ACEOF - - fi - - fi - - if test -n "$INTL_MACOSX_LIBS"; then - CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" - fi - - for ac_prog in bison -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_INTLBISON+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$INTLBISON"; then - ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_INTLBISON="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -INTLBISON=$ac_cv_prog_INTLBISON -if test -n "$INTLBISON"; then - { $as_echo "$as_me:$LINENO: result: $INTLBISON" >&5 -$as_echo "$INTLBISON" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$INTLBISON" && break -done - - if test -z "$INTLBISON"; then - ac_verc_fail=yes - else - { $as_echo "$as_me:$LINENO: checking version of bison" >&5 -$as_echo_n "checking version of bison... " >&6; } - ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5 -$as_echo "$ac_prog_version" >&6; } - fi - if test $ac_verc_fail = yes; then - INTLBISON=: - fi - - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 -$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" - gt_save_LIBS="$LIBS" - LIBS="$LIBS -framework CoreFoundation" - 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 () -{ -CFPreferencesCopyAppValue(NULL, NULL) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gt_cv_func_CFPreferencesCopyAppValue=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFPreferencesCopyAppValue=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 -_ACEOF - - fi - { $as_echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 -$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" - gt_save_LIBS="$LIBS" - LIBS="$LIBS -framework CoreFoundation" - 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 () -{ -CFLocaleCopyCurrent(); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gt_cv_func_CFLocaleCopyCurrent=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFLocaleCopyCurrent=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFLOCALECOPYCURRENT 1 -_ACEOF - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - - - - { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - - LIBINTL= - LTLIBINTL= - POSUB= - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - { $as_echo "$as_me:$LINENO: checking whether included gettext is requested" >&5 -$as_echo_n "checking whether included gettext is requested... " >&6; } - -# Check whether --with-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval=$with_included_gettext; nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no -fi - - { $as_echo "$as_me:$LINENO: result: $nls_cv_force_use_gnu_gettext" >&5 -$as_echo "$nls_cv_force_use_gnu_gettext" >&6; } - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - - - - - - - { $as_echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 -$as_echo_n "checking for GNU gettext in libc... " >&6; } -if test "${gt_cv_func_gnugettext1_libc+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gt_cv_func_gnugettext1_libc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_gnugettext1_libc=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5 -$as_echo "$gt_cv_func_gnugettext1_libc" >&6; } - - if test "$gt_cv_func_gnugettext1_libc" != "yes"; then - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then - withval=$with_libintl_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi - -fi - - LIBINTL= - LTLIBINTL= - INCINTL= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='intl ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - else - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$libext"; then - found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$hardcode_direct" = yes; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" - ;; - esac - done - fi - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" - done - fi - - { $as_echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 -$as_echo_n "checking for GNU gettext in libintl... " >&6; } -if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gt_cv_func_gnugettext1_libintl=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_gnugettext1_libintl=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - gt_cv_func_gnugettext1_libintl=yes - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5 -$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; } - fi - - if test "$gt_cv_func_gnugettext1_libc" = "yes" \ - || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="\${top_builddir}/intl/libintl.a $LIBICONV" - LTLIBINTL="\${top_builddir}/intl/libintl.a $LTLIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - CATOBJEXT= - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - CATOBJEXT=.gmo - fi - - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - -cat >>confdefs.h <<\_ACEOF -#define ENABLE_NLS 1 -_ACEOF - - else - USE_NLS=no - fi - fi - - { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5 -$as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 -$as_echo_n "checking where the gettext function comes from... " >&6; } - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - { $as_echo "$as_me:$LINENO: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then - { $as_echo "$as_me:$LINENO: checking how to link with libintl" >&5 -$as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:$LINENO: result: $LIBINTL" >&5 -$as_echo "$LIBINTL" >&6; } - - for element in $INCINTL; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - fi - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETTEXT 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_DCGETTEXT 1 -_ACEOF - - fi - - POSUB=po - fi - - - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi - - - - - - nls_cv_header_intl= - nls_cv_header_libgt= - - DATADIRNAME=share - - - INSTOBJEXT=.mo - - - GENCAT=gencat - - - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - - - INTL_LIBTOOL_SUFFIX_PREFIX= - - - - INTLLIBS="$LIBINTL" - - - - - - - - -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { $as_echo "$as_me:$LINENO: result: " >&5 -$as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}IEEE Math Checks${T_ME}" >&5 -$as_echo "${T_MD}IEEE Math Checks${T_ME}" >&6; } - - - - -for ac_func in fpclassify -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - { $as_echo "$as_me:$LINENO: checking for fpclassify with " >&5 -$as_echo_n "checking for fpclassify with ... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -volatile int x;volatile float f; -int -main () -{ -x = fpclassify(f) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define HAVE_FPCLASSIFY 1 -_ACEOF - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -done - - - -for ac_func in isinf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - { $as_echo "$as_me:$LINENO: checking for isinf with " >&5 -$as_echo_n "checking for isinf with ... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -volatile int x;volatile float f; -int -main () -{ -x = isinf(f) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define HAVE_ISINF 1 -_ACEOF - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -done - - -{ $as_echo "$as_me:$LINENO: checking whether isfinite is broken" >&5 -$as_echo_n "checking whether isfinite is broken... " >&6; } -if test "${ac_cv_have_broken_isfinite+set}" = set; then - $as_echo_n "(cached) " >&6 -else - -if test "$cross_compiling" = yes; then - -case "${target}" in - hppa*-*-hpux*) ac_cv_have_broken_isfinite=yes ;; - *-solaris2.8) ac_cv_have_broken_isfinite=yes ;; - *-solaris2.9) ac_cv_have_broken_isfinite=yes ;; - *) ac_cv_have_broken_isfinite=no ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#ifdef HAVE_MATH_H -#include -#endif -#ifdef HAVE_FLOAT_H -#include -#endif -int main () -{ -#ifdef isfinite -#ifdef LDBL_MAX - if (!isfinite(LDBL_MAX)) return 1; -#endif -#ifdef DBL_MAX - if (!isfinite(DBL_MAX)) return 1; -#endif -#endif -return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_broken_isfinite=no -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_have_broken_isfinite=yes -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_broken_isfinite" >&5 -$as_echo "$ac_cv_have_broken_isfinite" >&6; } - -case "${target}" in - *-solaris2.8) ac_cv_have_broken_isfinite=yes ;; - *-solaris2.9) ac_cv_have_broken_isfinite=yes ;; -esac - -if test "x$ac_cv_have_broken_isfinite" = "xno"; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_ISFINITE 1 -_ACEOF - -else - -for ac_func in finite -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - -for ac_func in isfinite -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - { $as_echo "$as_me:$LINENO: checking for isfinite with " >&5 -$as_echo_n "checking for isfinite with ... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -volatile int x;volatile float f; -int -main () -{ -x = isfinite(f) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define HAVE_ISFINITE 1 -_ACEOF - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -done - -fi -done - -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -_cflags=${CFLAGS} - -{ $as_echo "$as_me:$LINENO: checking if IEEE math works out of the box" >&5 -$as_echo_n "checking if IEEE math works out of the box... " >&6; } -if test "${rd_cv_ieee_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif - -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif - -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif - -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_ieee_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -if test x${rd_cv_ieee_works} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$_cflags -ieee" - -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with the -ieee switch" >&5 -$as_echo_n "checking if IEEE math works with the -ieee switch... " >&6; } -if test "${rd_cv_ieee_switch+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif - -#if HAVE_IEEEFP_H -# include -#endif - -#if HAVE_FP_CLASS_H -# include -#endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif - -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif - -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif - -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif - -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_switch=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_ieee_switch=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -if test x${rd_cv_ieee_switch} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$_cflags -qfloat=nofold" - -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with the -qfloat=nofold switch" >&5 -$as_echo_n "checking if IEEE math works with the -qfloat=nofold switch... " >&6; } -if test "${rd_cv_ieee_nofold+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -#if HAVE_MATH_H -# include -#endif - -#if HAVE_FLOAT_H -# include -#endif + haveit= + for x in $LDFLAGS $LIBINTL; do -#if HAVE_IEEEFP_H -# include -#endif + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -#if HAVE_FP_CLASS_H -# include -#endif + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done + fi -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_nofold=yes +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_gnugettext1_libintl=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_ieee_nofold=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + gt_cv_func_gnugettext1_libintl=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext1_libintl=yes - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5 +$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; } + fi -if test x${rd_cv_ieee_nofold} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } + if test "$gt_cv_func_gnugettext1_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$_cflags -w -qflttrap=enable:zerodivide" -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with the -w -qflttrap=enable:zerodivide" >&5 -$as_echo_n "checking if IEEE math works with the -w -qflttrap=enable:zerodivide... " >&6; } -if test "${rd_cv_ieee_flttrap+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + nls_cv_use_gnu_gettext=yes + fi + fi + if test "$nls_cv_use_gnu_gettext" = "yes"; then + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="\${top_builddir}/intl/libintl.a $LIBICONV" + LTLIBINTL="\${top_builddir}/intl/libintl.a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi -#if HAVE_MATH_H -# include -#endif + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + CATOBJEXT=.gmo + fi -#if HAVE_FLOAT_H -# include -#endif -#if HAVE_IEEEFP_H -# include -#endif + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi -#if HAVE_FP_CLASS_H -# include -#endif + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif +$as_echo "#define ENABLE_NLS 1" >>confdefs.h -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif + else + USE_NLS=no + fi + fi -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } + fi -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif + if test "$USE_NLS" = "yes"; then -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_flttrap=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -( exit $ac_status ) -rd_cv_ieee_flttrap=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + fi -fi -if test x${rd_cv_ieee_flttrap} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$_cflags -mieee" -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with the -mieee switch" >&5 -$as_echo_n "checking if IEEE math works with the -mieee switch... " >&6; } -if test "${rd_cv_ieee_mswitch+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h + fi -#if HAVE_MATH_H -# include -#endif + POSUB=po + fi -#if HAVE_FLOAT_H -# include -#endif -#if HAVE_IEEEFP_H -# include -#endif + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi -#if HAVE_FP_CLASS_H -# include -#endif -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif + nls_cv_header_intl= + nls_cv_header_libgt= -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif + DATADIRNAME=share -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_mswitch=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + INSTOBJEXT=.mo -( exit $ac_status ) -rd_cv_ieee_mswitch=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + GENCAT=gencat -fi -if test x${rd_cv_ieee_mswitch} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$_cflags -q float=rndsngl" -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with the -q float=rndsngl switch" >&5 -$as_echo_n "checking if IEEE math works with the -q float=rndsngl switch... " >&6; } -if test "${rd_cv_ieee_qswitch+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + INTL_LIBTOOL_SUFFIX_PREFIX= -#if HAVE_MATH_H -# include -#endif -#if HAVE_FLOAT_H -# include -#endif + INTLLIBS="$LIBINTL" -#if HAVE_IEEEFP_H -# include -#endif -#if HAVE_FP_CLASS_H -# include -#endif -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) -#endif -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) -#endif -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}IEEE Math Checks${T_ME}" >&5 +$as_echo "${T_MD}IEEE Math Checks${T_ME}" >&6; } -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } + + +for ac_func in fpclassify +do : + ac_fn_c_check_func "$LINENO" "fpclassify" "ac_cv_func_fpclassify" +if test "x$ac_cv_func_fpclassify" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_FPCLASSIFY 1 _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_qswitch=yes + else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclassify with " >&5 +$as_echo_n "checking for fpclassify with ... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +volatile int x;volatile float f; +int +main () +{ +x = fpclassify(f) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define HAVE_FPCLASSIFY 1" >>confdefs.h -( exit $ac_status ) -rd_cv_ieee_qswitch=no +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +done -fi +for ac_func in isinf +do : + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf" +if test "x$ac_cv_func_isinf" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ISINF 1 +_ACEOF -if test x${rd_cv_ieee_qswitch} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf with " >&5 +$as_echo_n "checking for isinf with ... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +volatile int x;volatile float f; +int +main () +{ +x = isinf(f) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } + $as_echo "#define HAVE_ISINF 1" >>confdefs.h else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - CFLAGS="$_cflags -OPT:IEEE_NaN_inf=ON" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +done -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch" >&5 -$as_echo_n "checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... " >&6; } -if test "${rd_cv_ieee_ieeenaninfswitch+set}" = set; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isfinite is broken" >&5 +$as_echo_n "checking whether isfinite is broken... " >&6; } +if test "${ac_cv_have_broken_isfinite+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +if test "$cross_compiling" = yes; then : -#if HAVE_MATH_H -# include -#endif +case "${target}" in + hppa*-*-hpux*) ac_cv_have_broken_isfinite=yes ;; + *-solaris2.8) ac_cv_have_broken_isfinite=yes ;; + *-solaris2.9) ac_cv_have_broken_isfinite=yes ;; + *) ac_cv_have_broken_isfinite=no ;; +esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -#if HAVE_FLOAT_H -# include +#ifdef HAVE_MATH_H +#include #endif - -#if HAVE_IEEEFP_H -# include +#ifdef HAVE_FLOAT_H +#include #endif - -#if HAVE_FP_CLASS_H -# include +int main () +{ +#ifdef isfinite +#ifdef LDBL_MAX + if (!isfinite(LDBL_MAX)) return 1; #endif - -/* Solaris */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#ifdef DBL_MAX + if (!isfinite(DBL_MAX)) return 1; #endif - -/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan -# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) #endif +return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_have_broken_isfinite=no +else + ac_cv_have_broken_isfinite=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -/* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) -# define HAVE_ISINF 1 -# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) -#endif -/* AIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) -# define HAVE_ISINF 1 -# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) -#endif +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_broken_isfinite" >&5 +$as_echo "$ac_cv_have_broken_isfinite" >&6; } -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) -#endif +case "${target}" in + *-solaris2.8) ac_cv_have_broken_isfinite=yes ;; + *-solaris2.9) ac_cv_have_broken_isfinite=yes ;; +esac -#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) -# define HAVE_ISINF 1 -# define isinf(a) (fpclassify(a) == FP_INFINITE) -#endif +if test "x$ac_cv_have_broken_isfinite" = "xno"; then + $as_echo "#define HAVE_ISFINITE 1" >>confdefs.h -#include -int main(void){ - double rrdnan,rrdinf,rrdc,rrdzero; - ; - /* some math to see if we get a floating point exception */ - rrdzero=sin(0.0); /* don't let the compiler optimize us away */ - rrdnan=0.0/rrdzero; /* especially here */ - rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ - /* at run time without sig fpe */ - rrdc = rrdinf + rrdnan; - rrdc = rrdinf / rrdnan; - if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} - if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} - if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} - return 0; - } +else + for ac_func in finite +do : + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite" +if test "x$ac_cv_func_finite" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_FINITE 1 _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_ieeenaninfswitch=yes + else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + for ac_func in isfinite +do : + ac_fn_c_check_func "$LINENO" "isfinite" "ac_cv_func_isfinite" +if test "x$ac_cv_func_isfinite" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ISFINITE 1 +_ACEOF + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isfinite with " >&5 +$as_echo_n "checking for isfinite with ... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +volatile int x;volatile float f; +int +main () +{ +x = isfinite(f) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define HAVE_ISFINITE 1" >>confdefs.h -( exit $ac_status ) -rd_cv_ieee_ieeenaninfswitch=no +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +done +fi +done fi -if test x${rd_cv_ieee_ieeenaninfswitch} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$_cflags -OPT:IEEE_comparisons=ON" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch" >&5 -$as_echo_n "checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... " >&6; } -if test "${rd_cv_ieee_ieeecmpswitch+set}" = set; then +_cflags=${CFLAGS} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works out of the box" >&5 +$as_echo_n "checking if IEEE math works out of the box... " >&6; } +if test "${rd_cv_ieee_works+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -24694,13 +17024,13 @@ cat >>conftest.$ac_ext <<_ACEOF #endif /* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) # undef isnan # define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) #endif /* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) # define HAVE_ISINF 1 # define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) #endif @@ -24721,6 +17051,10 @@ cat >>conftest.$ac_ext <<_ACEOF # define isinf(a) (fpclassify(a) == FP_INFINITE) #endif +#if HAVE_MATH_H +#include +#endif + #include int main(void){ double rrdnan,rrdinf,rrdc,rrdzero; @@ -24741,68 +17075,37 @@ int main(void){ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_ieeecmpswitch=yes +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_ieee_ieeecmpswitch=no + rd_cv_ieee_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -if test x${rd_cv_ieee_ieeecmpswitch} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if test x${rd_cv_ieee_works} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - CFLAGS=$_cflags + CFLAGS="$_cflags -ieee" -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with fpsetmask(0)" >&5 -$as_echo_n "checking if IEEE math works with fpsetmask(0)... " >&6; } -if test "${rd_cv_ieee_mask+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with the -ieee switch" >&5 +$as_echo_n "checking if IEEE math works with the -ieee switch... " >&6; } +if test "${rd_cv_ieee_switch+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #if HAVE_MATH_H # include @@ -24827,13 +17130,13 @@ cat >>conftest.$ac_ext <<_ACEOF #endif /* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) # undef isnan # define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) #endif /* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) # define HAVE_ISINF 1 # define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) #endif @@ -24854,10 +17157,14 @@ cat >>conftest.$ac_ext <<_ACEOF # define isinf(a) (fpclassify(a) == FP_INFINITE) #endif +#if HAVE_MATH_H +#include +#endif + #include int main(void){ double rrdnan,rrdinf,rrdc,rrdzero; - fpsetmask(0); + ; /* some math to see if we get a floating point exception */ rrdzero=sin(0.0); /* don't let the compiler optimize us away */ rrdnan=0.0/rrdzero; /* especially here */ @@ -24874,71 +17181,37 @@ int main(void){ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_mask=yes +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_switch=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_ieee_mask=no + rd_cv_ieee_switch=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -if test x${rd_cv_ieee_mask} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if test x${rd_cv_ieee_switch} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define MUST_DISABLE_FPMASK 1 -_ACEOF - PERLFLAGS="CCFLAGS=-DMUST_DISABLE_FPMASK" else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } + CFLAGS="$_cflags -qfloat=nofold" -{ $as_echo "$as_me:$LINENO: checking if IEEE math works with signal(SIGFPE,SIG_IGN)" >&5 -$as_echo_n "checking if IEEE math works with signal(SIGFPE,SIG_IGN)... " >&6; } -if test "${rd_cv_ieee_sigfpe+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with the -qfloat=nofold switch" >&5 +$as_echo_n "checking if IEEE math works with the -qfloat=nofold switch... " >&6; } +if test "${rd_cv_ieee_nofold+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #if HAVE_MATH_H # include @@ -24963,13 +17236,13 @@ cat >>conftest.$ac_ext <<_ACEOF #endif /* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ -#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) # undef isnan # define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) #endif /* Digital UNIX */ -#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) # define HAVE_ISINF 1 # define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) #endif @@ -24990,10 +17263,14 @@ cat >>conftest.$ac_ext <<_ACEOF # define isinf(a) (fpclassify(a) == FP_INFINITE) #endif +#if HAVE_MATH_H +#include +#endif + #include int main(void){ double rrdnan,rrdinf,rrdc,rrdzero; - signal(SIGFPE,SIG_IGN); + ; /* some math to see if we get a floating point exception */ rrdzero=sin(0.0); /* don't let the compiler optimize us away */ rrdnan=0.0/rrdzero; /* especially here */ @@ -25010,1913 +17287,1112 @@ int main(void){ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ieee_sigfpe=yes +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_nofold=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_ieee_sigfpe=no + rd_cv_ieee_nofold=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -if test x${rd_cv_ieee_sigfpe} = "xyes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if test x${rd_cv_ieee_nofold} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define MUST_DISABLE_SIGFPE 1 -_ACEOF - - PERLFLAGS="CCFLAGS=-DMUST_DISABLE_SIGFPE" -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:$LINENO: error: -Your Compiler does not do propper IEEE math ... Please find out how to -make IEEE math work with your compiler and let me know (tobi@oetiker.ch). -Check config.log to see what went wrong ... -" >&5 -$as_echo "$as_me: error: -Your Compiler does not do propper IEEE math ... Please find out how to -make IEEE math work with your compiler and let me know (tobi@oetiker.ch). -Check config.log to see what went wrong ... -" >&2;} - { (exit 1); exit 1; }; } -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - -fi - -fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$_cflags -w -qflttrap=enable:zerodivide" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with the -w -qflttrap=enable:zerodivide" >&5 +$as_echo_n "checking if IEEE math works with the -w -qflttrap=enable:zerodivide... " >&6; } +if test "${rd_cv_ieee_flttrap+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi +#if HAVE_MATH_H +# include +#endif +#if HAVE_FLOAT_H +# include +#endif -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +#if HAVE_IEEEFP_H +# include +#endif +#if HAVE_FP_CLASS_H +# include +#endif +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { $as_echo "$as_me:$LINENO: result: " >&5 -$as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Resolve Portability Issues${T_ME}" >&5 -$as_echo "${T_MD}Resolve Portability Issues${T_ME}" >&6; } +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif -{ $as_echo "$as_me:$LINENO: checking if msync with MS_ASYNC updates the files mtime" >&5 -$as_echo_n "checking if msync with MS_ASYNC updates the files mtime... " >&6; } -if test "${rd_cv_ms_async+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#if HAVE_MATH_H +#include +#endif -#include -#include -#include -#include #include -#include -#include -#include int main(void){ - int fd; - struct stat stbuf; - char *addr; - int res; - char temp[] = "mmaptestXXXXXX"; - struct utimbuf newtime; - - time_t create_ts; - fd = mkstemp(temp); - if (fd == -1){ - perror(temp); - return 1; - } - write(fd,"12345\n", 6); - stat(temp, &stbuf); - create_ts = stbuf.st_mtime; - newtime.actime = 0; - newtime.modtime = 0; - utime(temp,&newtime); - addr = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); - if (addr == MAP_FAILED) { - perror("mmap"); - goto bad_exit; - } - addr[0]='x'; - res = msync(addr, 4, MS_ASYNC); - if (res == -1) { - perror("msync"); - goto bad_exit; - } - res = close(fd); - if (res == -1) { - perror("close"); - goto bad_exit; - } - /* The ASYNC means that we schedule the msync and return immediately. - Since we want to see if the modification time is updated upon - msync(), we have to make sure that our asynchronous request - completes before we stat below. In a real application, the - request would be completed at a random time in the future - but for this test we do not want to wait an arbitrary amount of - time, so force a commit now. */ - sync(); - stat(temp, &stbuf); - if (create_ts > stbuf.st_mtime){ - goto bad_exit; - } - unlink(temp); - return 0; - bad_exit: - unlink(temp); - return 1; -} - + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_ms_async=ok +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_flttrap=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_ms_async=broken + rd_cv_ieee_flttrap=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi - - -if test "${rd_cv_ms_async}" = "ok"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if test x${rd_cv_ieee_flttrap} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -else - -cat >>confdefs.h <<_ACEOF -#define HAVE_BROKEN_MS_ASYNC 1 -_ACEOF - { $as_echo "$as_me:$LINENO: result: no" >&5 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - { $as_echo "$as_me:$LINENO: WARNING: With mmap access, your platform fails to update the files" >&5 -$as_echo "$as_me: WARNING: With mmap access, your platform fails to update the files" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mtime. RRDtool will work around this problem by calling utime on each" >&5 -$as_echo "$as_me: WARNING: mtime. RRDtool will work around this problem by calling utime on each" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: file it opens for rw access." >&5 -$as_echo "$as_me: WARNING: file it opens for rw access." >&2;} - sleep 2 -fi - - - - + CFLAGS="$_cflags -mieee" -{ $as_echo "$as_me:$LINENO: checking for opterr" >&5 -$as_echo_n "checking for opterr... " >&6; } -if test "${rd_cv_var_int_opterr+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with the -mieee switch" >&5 +$as_echo_n "checking if IEEE math works with the -mieee switch... " >&6; } +if test "${rd_cv_ieee_mswitch+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -extern int opterr; opterr = 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - rd_cv_var_int_opterr=yes + if test "$cross_compiling" = yes; then : + : else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - rd_cv_var_int_opterr=no -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $rd_cv_var_int_opterr" >&5 -$as_echo "$rd_cv_var_int_opterr" >&6; } -if test x"$rd_cv_var_int_opterr" = x"yes"; then +#if HAVE_MATH_H +# include +#endif -cat >>confdefs.h <<\_ACEOF -#define HAVE_INT_OPTERR 1 -_ACEOF +#if HAVE_FLOAT_H +# include +#endif -fi +#if HAVE_IEEEFP_H +# include +#endif -build_getopt=no -RRD_GETOPT_LONG="LIBC_HAS_GETOPT_LONG" -{ $as_echo "$as_me:$LINENO: checking for getopt_long" >&5 -$as_echo_n "checking for getopt_long... " >&6; } -if test "${ac_cv_func_getopt_long+set}" = set; then - $as_echo_n "(cached) " >&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 getopt_long to an innocuous variant, in case declares getopt_long. - For example, HP-UX 11i declares gettimeofday. */ -#define getopt_long innocuous_getopt_long +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char getopt_long (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif -#ifdef __STDC__ -# include -#else -# include +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) #endif -#undef getopt_long +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif -/* 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" +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) #endif -char getopt_long (); -/* 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_getopt_long || defined __stub___getopt_long -choke me + +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) #endif -int -main () -{ -return getopt_long (); - ; - return 0; -} +#if HAVE_MATH_H +#include +#endif + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } _ACEOF -rm -f conftest.$ac_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_getopt_long=yes +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_mswitch=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_getopt_long=no + rd_cv_ieee_mswitch=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_getopt_long" >&5 -$as_echo "$ac_cv_func_getopt_long" >&6; } -if test "x$ac_cv_func_getopt_long" = x""yes; then - : -else - -RRD_GETOPT_LONG="getopt_long" -build_getopt=yes fi +if test x${rd_cv_ieee_mswitch} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } - if test $build_getopt = yes; then - BUILD_GETOPT_TRUE= - BUILD_GETOPT_FALSE='#' else - BUILD_GETOPT_TRUE='#' - BUILD_GETOPT_FALSE= -fi - - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$_cflags -q float=rndsngl" -{ $as_echo "$as_me:$LINENO: checking if realloc can deal with NULL" >&5 -$as_echo_n "checking if realloc can deal with NULL... " >&6; } -if test "${rd_cv_null_realloc+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with the -q float=rndsngl switch" >&5 +$as_echo_n "checking if IEEE math works with the -q float=rndsngl switch... " >&6; } +if test "${rd_cv_ieee_qswitch+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int main(void){ - char *x = NULL; - x = realloc (x,10); - if (x==NULL) return 1; - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - rd_cv_null_realloc=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -rd_cv_null_realloc=nope -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:$LINENO: result: $rd_cv_null_realloc" >&5 -$as_echo "$rd_cv_null_realloc" >&6; } - -if test x"$rd_cv_null_realloc" = xnope; then -cat >>confdefs.h <<\_ACEOF -#define NO_NULL_REALLOC 1 -_ACEOF - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +#if HAVE_MATH_H +# include +#endif -{ $as_echo "$as_me:$LINENO: checking if ctime_r need special care to act posixly correct" >&5 -$as_echo_n "checking if ctime_r need special care to act posixly correct... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -ctime_r(NULL,NULL,0) +#if HAVE_FLOAT_H +# include +#endif - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -ctime_r(NULL,NULL) +#if HAVE_IEEEFP_H +# include +#endif - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes, this seems to be solaris style" >&5 -$as_echo "yes, this seems to be solaris style" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +#if HAVE_FP_CLASS_H +# include +#endif - { { $as_echo "$as_me:$LINENO: error: Can't figure how to compile ctime_r" >&5 -$as_echo "$as_me: error: Can't figure how to compile ctime_r" >&2;} - { (exit 1); exit 1; }; } +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif -fi +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -ctime_r(NULL,NULL) +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif - { { $as_echo "$as_me:$LINENO: error: Can't figure how to compile ctime_r" >&5 -$as_echo "$as_me: error: Can't figure how to compile ctime_r" >&2;} - { (exit 1); exit 1; }; } +#if HAVE_MATH_H +#include +#endif +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_qswitch=yes +else + rd_cv_ieee_qswitch=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +fi +if test x${rd_cv_ieee_qswitch} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } -fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$_cflags -OPT:IEEE_NaN_inf=ON" -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch" >&5 +$as_echo_n "checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... " >&6; } +if test "${rd_cv_ieee_ieeenaninfswitch+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_MATH_H +# include +#endif +#if HAVE_FLOAT_H +# include +#endif +#if HAVE_IEEEFP_H +# include +#endif +#if HAVE_FP_CLASS_H +# include +#endif -if test $enable_pthread != no; then +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif -acx_pthread_ok=no +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - { $as_echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 -$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif -/* 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" +#if HAVE_MATH_H +#include #endif -char pthread_join (); -int -main () -{ -return pthread_join (); - ; - return 0; -} + +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } _ACEOF -rm -f conftest.$ac_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - acx_pthread_ok=yes +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_ieeenaninfswitch=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + rd_cv_ieee_ieeenaninfswitch=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 -$as_echo "$acx_pthread_ok" >&6; } - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case "${host_cpu}-${host_os}" in - *solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthread or - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" - ;; -esac - -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do +fi - case $flag in - none) - { $as_echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 -$as_echo_n "checking whether pthreads work without any flags... " >&6; } - ;; +if test x${rd_cv_ieee_ieeenaninfswitch} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } - -*) - { $as_echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 -$as_echo_n "checking whether pthreads work with $flag... " >&6; } - PTHREAD_CFLAGS="$flag" - ;; +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$_cflags -OPT:IEEE_comparisons=ON" - pthread-config) - # Extract the first word of "pthread-config", so it can be a program name with args. -set dummy pthread-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_acx_pthread_config+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch" >&5 +$as_echo_n "checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... " >&6; } +if test "${rd_cv_ieee_ieeecmpswitch+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test -n "$acx_pthread_config"; then - ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_acx_pthread_config="yes" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" -fi -fi -acx_pthread_config=$ac_cv_prog_acx_pthread_config -if test -n "$acx_pthread_config"; then - { $as_echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 -$as_echo "$acx_pthread_config" >&6; } + if test "$cross_compiling" = yes; then : + : else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test x"$acx_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; +#if HAVE_MATH_H +# include +#endif - *) - { $as_echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 -$as_echo_n "checking for the pthreads library -l$flag... " >&6; } - PTHREAD_LIBS="-l$flag" - ;; - esac +#if HAVE_FLOAT_H +# include +#endif - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +#if HAVE_IEEEFP_H +# include +#endif - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - acx_pthread_ok=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +#if HAVE_FP_CLASS_H +# include +#endif +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif -fi +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif - { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 -$as_echo "$acx_pthread_ok" >&6; } - if test "x$acx_pthread_ok" = xyes; then - break; - fi +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif -# Various other checks: -if test "x$acx_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +#if HAVE_MATH_H +#include +#endif - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - { $as_echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 -$as_echo_n "checking for joinable pthread attribute... " >&6; } - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -int attr=$attr; - ; - return 0; -} +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + ; + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } _ACEOF -rm -f conftest.$ac_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - attr_name=$attr; break +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_ieeecmpswitch=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + rd_cv_ieee_ieeecmpswitch=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - done - { $as_echo "$as_me:$LINENO: result: $attr_name" >&5 -$as_echo "$attr_name" >&6; } - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - -cat >>confdefs.h <<_ACEOF -#define PTHREAD_CREATE_JOINABLE $attr_name -_ACEOF - - fi +fi - { $as_echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 -$as_echo_n "checking if more special flags are required for pthreads... " >&6; } - x_rflag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd* | *-darwin*) x_rflag="-D_THREAD_SAFE";; - *solaris* | *-osf* | *-hpux*) x_rflag="-D_REENTRANT";; - *-linux* | *-k*bsd*-gnu*) - if test x"$PTHREAD_CFLAGS" = "x-pthread"; then - # For Linux/gcc "-pthread" implies "-lpthread". We need, however, to make this explicit - # in PTHREAD_LIBS such that a shared library to be built properly depends on libpthread. - PTHREAD_LIBS="-lpthread $PTHREAD_LIBS" - fi;; - esac - { $as_echo "$as_me:$LINENO: result: ${x_rflag}" >&5 -$as_echo "${x_rflag}" >&6; } - if test "x$x_rflag" != xno; then - PTHREAD_CFLAGS="$x_rflag $PTHREAD_CFLAGS" - fi +if test x${rd_cv_ieee_ieeecmpswitch} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS=$_cflags - # More AIX lossage: must compile with cc_r - # Extract the first word of "cc_r", so it can be a program name with args. -set dummy cc_r; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with fpsetmask(0)" >&5 +$as_echo_n "checking if IEEE math works with fpsetmask(0)... " >&6; } +if test "${rd_cv_ieee_mask+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test -n "$PTHREAD_CC"; then - ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. + if test "$cross_compiling" = yes; then : + : else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_PTHREAD_CC="cc_r" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" -fi -fi -PTHREAD_CC=$ac_cv_prog_PTHREAD_CC -if test -n "$PTHREAD_CC"; then - { $as_echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 -$as_echo "$PTHREAD_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +#if HAVE_MATH_H +# include +#endif + +#if HAVE_FLOAT_H +# include +#endif +#if HAVE_IEEEFP_H +# include +#endif -else - PTHREAD_CC="$CC" -fi +#if HAVE_FP_CLASS_H +# include +#endif + +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif - MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS - MULTITHREAD_LDFLAGS=$PTHREAD_LIBS +#if HAVE_MATH_H +#include +#endif - : +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + fpsetmask(0); + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_mask=yes else - acx_pthread_ok=no - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - + rd_cv_ieee_mask=no fi - - -if test "x$x_rflag" != "xno"; then - CPPFLAGS="$CPPFLAGS $x_rflag" +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - if test $enable_pthread != no; then - BUILD_MULTITHREAD_TRUE= - BUILD_MULTITHREAD_FALSE='#' -else - BUILD_MULTITHREAD_TRUE='#' - BUILD_MULTITHREAD_FALSE= fi +if test x${rd_cv_ieee_mask} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define MUST_DISABLE_FPMASK 1" >>confdefs.h -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -{ $as_echo "$as_me:$LINENO: checking do we need malloc/malloc.h" >&5 -$as_echo_n "checking do we need malloc/malloc.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -malloc(1) - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: nope, works out of the box" >&5 -$as_echo "nope, works out of the box" >&6; } + PERLFLAGS="CCFLAGS=-DMUST_DISABLE_FPMASK" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IEEE math works with signal(SIGFPE,SIG_IGN)" >&5 +$as_echo_n "checking if IEEE math works with signal(SIGFPE,SIG_IGN)... " >&6; } +if test "${rd_cv_ieee_sigfpe+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include -int -main () -{ -malloc(1) - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - - cat >>confdefs.h <<\_ACEOF -#define MUST_HAVE_MALLOC_MALLOC_H 1 -_ACEOF +#include - { $as_echo "$as_me:$LINENO: result: yes we do" >&5 -$as_echo "yes we do" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +#if HAVE_MATH_H +# include +#endif - { { $as_echo "$as_me:$LINENO: error: Can not figure how to compile malloc" >&5 -$as_echo "$as_me: error: Can not figure how to compile malloc" >&2;} - { (exit 1); exit 1; }; } +#if HAVE_FLOAT_H +# include +#endif -fi +#if HAVE_IEEEFP_H +# include +#endif -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +#if HAVE_FP_CLASS_H +# include +#endif +/* Solaris */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) +#endif -fi +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS) && defined(FP_SNAN) && defined(FP_QNAN)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +/* Digital UNIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H) && defined(FP_NEG_INF) && defined( FP_POS_INF) ) +# define HAVE_ISINF 1 +# define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) +#endif +/* AIX */ +#if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) +# define HAVE_ISINF 1 +# define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) +#endif +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) +#endif -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { $as_echo "$as_me:$LINENO: result: " >&5 -$as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Find 3rd-Party Libraries${T_ME}" >&5 -$as_echo "${T_MD}Find 3rd-Party Libraries${T_ME}" >&6; } +#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) +# define HAVE_ISINF 1 +# define isinf(a) (fpclassify(a) == FP_INFINITE) +#endif +#if HAVE_MATH_H +#include +#endif -# Check whether --enable-libdbi was given. -if test "${enable_libdbi+set}" = set; then - enableval=$enable_libdbi; have_libdbi=no +#include +int main(void){ + double rrdnan,rrdinf,rrdc,rrdzero; + signal(SIGFPE,SIG_IGN); + /* some math to see if we get a floating point exception */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ + /* at run time without sig fpe */ + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} + return 0; + } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ieee_sigfpe=yes else + rd_cv_ieee_sigfpe=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - XXX=$LIBS - LIBS="$LIBS -ldbi -ldl" - { $as_echo "$as_me:$LINENO: checking for libdbi" >&5 -$as_echo_n "checking for libdbi... " >&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 () -{ -dbi_initialize(NULL) +fi - ; - return 0; -} +if test x${rd_cv_ieee_sigfpe} = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define MUST_DISABLE_SIGFPE 1" >>confdefs.h -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + PERLFLAGS="CCFLAGS=-DMUST_DISABLE_SIGFPE" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error " +Your Compiler does not do propper IEEE math ... Please find out how to +make IEEE math work with your compiler and let me know (tobi@oetiker.ch). +Check config.log to see what went wrong ... +" "$LINENO" 5 +fi -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBDBI 1 -_ACEOF - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - have_libdbi=yes +fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - LIBS=$XXX - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - have_libdbi=no +fi fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi - if test $have_libdbi != no; then - BUILD_LIBDBI_TRUE= - BUILD_LIBDBI_FALSE='#' -else - BUILD_LIBDBI_TRUE='#' - BUILD_LIBDBI_FALSE= + fi - if test $enable_rrdcgi != no; then - BUILD_RRDCGI_TRUE= - BUILD_RRDCGI_FALSE='#' -else - BUILD_RRDCGI_TRUE='#' - BUILD_RRDCGI_FALSE= fi +fi -CORE_LIBS="$LIBS" +fi - ac_ext=c + +fi + + + +ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - EX_CHECK_STATE=NO - ex_check_save_LIBS=${LIBS} - ex_check_save_CPPFLAGS=${CPPFLAGS} - ex_check_save_LDFLAGS=${LDFLAGS} - if test "x""" != "x"; then - CPPFLAGS="$CPPFLAGS -I""" - fi - { $as_echo "$as_me:$LINENO: checking for cairo_font_options_create in -lcairo" >&5 -$as_echo_n "checking for cairo_font_options_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_font_options_create+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cairo_font_options_create (); -int -main () -{ -return cairo_font_options_create (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + + + +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_font_options_create=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Resolve Portability Issues${T_ME}" >&5 +$as_echo "${T_MD}Resolve Portability Issues${T_ME}" >&6; } - ac_cv_lib_cairo_cairo_font_options_create=no -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_font_options_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_font_options_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_font_options_create" = x""yes; then - if test "${ac_cv_header_cairo_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo.h" >&5 -$as_echo_n "checking for cairo.h... " >&6; } -if test "${ac_cv_header_cairo_h+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if msync with MS_ASYNC updates the files mtime" >&5 +$as_echo_n "checking if msync with MS_ASYNC updates the files mtime... " >&6; } +if test "${rd_cv_ms_async+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 -$as_echo "$ac_cv_header_cairo_h" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo.h usability" >&5 -$as_echo_n "checking cairo.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 + if test "$cross_compiling" = yes; then : + : else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - ac_header_compiler=no -fi +#include +#include +#include +#include +#include +#include +#include +#include +int main(void){ + int fd; + struct stat stbuf; + char *addr; + int res; + char temp[] = "mmaptestXXXXXX"; + struct utimbuf newtime; -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + time_t create_ts; + fd = mkstemp(temp); + if (fd == -1){ + perror(temp); + return 1; + } + write(fd,"12345\n", 6); + stat(temp, &stbuf); + create_ts = stbuf.st_mtime; + newtime.actime = 0; + newtime.modtime = 0; + utime(temp,&newtime); + addr = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (addr == MAP_FAILED) { + perror("mmap"); + goto bad_exit; + } + addr[0]='x'; + res = msync(addr, 4, MS_ASYNC); + if (res == -1) { + perror("msync"); + goto bad_exit; + } + res = close(fd); + if (res == -1) { + perror("close"); + goto bad_exit; + } + /* The ASYNC means that we schedule the msync and return immediately. + Since we want to see if the modification time is updated upon + msync(), we have to make sure that our asynchronous request + completes before we stat below. In a real application, the + request would be completed at a random time in the future + but for this test we do not want to wait an arbitrary amount of + time, so force a commit now. */ + sync(); + stat(temp, &stbuf); + if (create_ts > stbuf.st_mtime){ + goto bad_exit; + } + unlink(temp); + return 0; + bad_exit: + unlink(temp); + return 1; +} -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo.h presence" >&5 -$as_echo_n "checking cairo.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_ms_async=ok else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + rd_cv_ms_async=broken fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo.h" >&5 -$as_echo_n "checking for cairo.h... " >&6; } -if test "${ac_cv_header_cairo_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_cairo_h=$ac_header_preproc +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 -$as_echo "$ac_cv_header_cairo_h" >&6; } fi -if test "x$ac_cv_header_cairo_h" = x""yes; then - LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES -fi -fi - if test $EX_CHECK_STATE = NO; then - for ac_prog in pkg-config -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PKGCONFIG+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$PKGCONFIG"; then - ac_cv_prog_PKGCONFIG="$PKGCONFIG" # Let the user override the test. +if test "${rd_cv_ms_async}" = "ok"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_PKGCONFIG="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -PKGCONFIG=$ac_cv_prog_PKGCONFIG -if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 -$as_echo "$PKGCONFIG" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 +cat >>confdefs.h <<_ACEOF +#define HAVE_BROKEN_MS_ASYNC 1 +_ACEOF + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: With mmap access, your platform fails to update the files" >&5 +$as_echo "$as_me: WARNING: With mmap access, your platform fails to update the files" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: mtime. RRDtool will work around this problem by calling utime on each" >&5 +$as_echo "$as_me: WARNING: mtime. RRDtool will work around this problem by calling utime on each" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: file it opens for rw access." >&5 +$as_echo "$as_me: WARNING: file it opens for rw access." >&2;} + sleep 2 fi - test -n "$PKGCONFIG" && break -done -test -n "$PKGCONFIG" || PKGCONFIG="no" - if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists cairo-png; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-png` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-png` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-png` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-png` - unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_font_options_create - { $as_echo "$as_me:$LINENO: checking for cairo_font_options_create in -lcairo" >&5 -$as_echo_n "checking for cairo_font_options_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_font_options_create+set}" = set; then + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for opterr" >&5 +$as_echo_n "checking for opterr... " >&6; } +if test "${rd_cv_var_int_opterr+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cairo_font_options_create (); +#include int main () { -return cairo_font_options_create (); +extern int opterr; opterr = 1; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_font_options_create=yes +if ac_fn_c_try_link "$LINENO"; then : + rd_cv_var_int_opterr=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_cairo_cairo_font_options_create=no + rd_cv_var_int_opterr=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_font_options_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_font_options_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_font_options_create" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rd_cv_var_int_opterr" >&5 +$as_echo "$rd_cv_var_int_opterr" >&6; } +if test x"$rd_cv_var_int_opterr" = x"yes"; then + +$as_echo "#define HAVE_INT_OPTERR 1" >>confdefs.h - unset ac_cv_header_`echo cairo.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_cairo_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo.h" >&5 -$as_echo_n "checking for cairo.h... " >&6; } -if test "${ac_cv_header_cairo_h+set}" = set; then - $as_echo_n "(cached) " >&6 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 -$as_echo "$ac_cv_header_cairo_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo.h usability" >&5 -$as_echo_n "checking cairo.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 + +build_getopt=no +RRD_GETOPT_LONG="LIBC_HAS_GETOPT_LONG" +ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" +if test "x$ac_cv_func_getopt_long" = x""yes; then : + else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no +RRD_GETOPT_LONG="getopt_long" +build_getopt=yes + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo.h presence" >&5 -$as_echo_n "checking cairo.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 + if test $build_getopt = yes; then + BUILD_GETOPT_TRUE= + BUILD_GETOPT_FALSE='#' else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + BUILD_GETOPT_TRUE='#' + BUILD_GETOPT_FALSE= fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo.h: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo.h" >&5 -$as_echo_n "checking for cairo.h... " >&6; } -if test "${ac_cv_header_cairo_h+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if realloc can deal with NULL" >&5 +$as_echo_n "checking if realloc can deal with NULL... " >&6; } +if test "${rd_cv_null_realloc+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_header_cairo_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_h" >&5 -$as_echo "$ac_cv_header_cairo_h" >&6; } - + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int main(void){ + char *x = NULL; + x = realloc (x,10); + if (x==NULL) return 1; + return 0; + } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + rd_cv_null_realloc=yes +else + rd_cv_null_realloc=nope fi -if test "x$ac_cv_header_cairo_h" = x""yes; then - EX_CHECK_STATE=YES +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rd_cv_null_realloc" >&5 +$as_echo "$rd_cv_null_realloc" >&6; } - else - { $as_echo "$as_me:$LINENO: WARNING: ----------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-png.pc file around. - You may want to set the PKG_CONFIG_PATH variable to point to its - location. ----------------------------------------------------------------------------- - " >&5 -$as_echo "$as_me: WARNING: ----------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-png.pc file around. - You may want to set the PKG_CONFIG_PATH variable to point to its - location. ----------------------------------------------------------------------------- - " >&2;} - fi - fi - fi - - if test ${EX_CHECK_STATE} = NO; then - { $as_echo "$as_me:$LINENO: WARNING: ----------------------------------------------------------------------------- -* I could not find a working copy of cairo-png. Check config.log for hints on why - this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-png, you can get it either from its original home on - - http://cairographics.org/releases/ +if test x"$rd_cv_null_realloc" = xnope; then +$as_echo "#define NO_NULL_REALLOC 1" >>confdefs.h - You can find also find an archive copy on +fi - http://oss.oetiker.ch/rrdtool/pub/libs +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - The last tested version of cairo-png is 1.4.6. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ctime_r need special care to act posixly correct" >&5 +$as_echo_n "checking if ctime_r need special care to act posixly correct... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +ctime_r(NULL,NULL,0) - LIBS=$LIBS - LDFLAGS=$LDFLAGS - CPPFLAGS=$CPPFLAGS + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +ctime_r(NULL,NULL) ----------------------------------------------------------------------------- - " >&5 -$as_echo "$as_me: WARNING: ----------------------------------------------------------------------------- -* I could not find a working copy of cairo-png. Check config.log for hints on why - this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-png, you can get it either from its original home on + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, this seems to be solaris style" >&5 +$as_echo "yes, this seems to be solaris style" >&6; } +else + as_fn_error "Can't figure how to compile ctime_r" "$LINENO" 5 - http://cairographics.org/releases/ +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - You can find also find an archive copy on +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +ctime_r(NULL,NULL) - http://oss.oetiker.ch/rrdtool/pub/libs + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +else + as_fn_error "Can't figure how to compile ctime_r" "$LINENO" 5 - The last tested version of cairo-png is 1.4.6. +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - LIBS=$LIBS - LDFLAGS=$LDFLAGS - CPPFLAGS=$CPPFLAGS ----------------------------------------------------------------------------- - " >&2;} - EX_CHECK_ALL_ERR=YES - LIBS="${ex_check_save_LIBS}" - CPPFLAGS="${ex_check_save_CPPFLAGS}" - LDFLAGS="${ex_check_save_LDFLAGS}" - fi - ac_ext=c +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -26925,31 +18401,34 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - EX_CHECK_STATE=NO - ex_check_save_LIBS=${LIBS} - ex_check_save_CPPFLAGS=${CPPFLAGS} - ex_check_save_LDFLAGS=${LDFLAGS} - if test "x""" != "x"; then - CPPFLAGS="$CPPFLAGS -I""" - fi - { $as_echo "$as_me:$LINENO: checking for cairo_svg_surface_create in -lcairo" >&5 -$as_echo_n "checking for cairo_svg_surface_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_svg_surface_create+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + +if test $enable_pthread != no; then + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -26958,516 +18437,553 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char cairo_svg_surface_create (); +char pthread_join (); int main () { -return cairo_svg_surface_create (); +return pthread_join (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +if ac_fn_c_try_link "$LINENO"; then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +$as_echo "$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_svg_surface_create=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_cairo_cairo_svg_surface_create=no -fi +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_svg_surface_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_svg_surface_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_svg_surface_create" = x""yes; then + case $flag in + none) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +$as_echo_n "checking whether pthreads work without any flags... " >&6; } + ;; + + -*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 +$as_echo_n "checking whether pthreads work with $flag... " >&6; } + PTHREAD_CFLAGS="$flag" + ;; - if test "${ac_cv_header_cairo_svg_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 -$as_echo_n "checking for cairo-svg.h... " >&6; } -if test "${ac_cv_header_cairo_svg_h+set}" = set; then + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_acx_pthread_config+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 -$as_echo "$ac_cv_header_cairo_svg_h" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo-svg.h usability" >&5 -$as_echo_n "checking cairo-svg.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 + if test -n "$acx_pthread_config"; then + ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_acx_pthread_config="yes" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ac_header_compiler=no + test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" +fi +fi +acx_pthread_config=$ac_cv_prog_acx_pthread_config +if test -n "$acx_pthread_config"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_config" >&5 +$as_echo "$acx_pthread_config" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo-svg.h presence" >&5 -$as_echo_n "checking cairo-svg.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 +$as_echo_n "checking for the pthreads library -l$flag... " >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no +if ac_fn_c_try_link "$LINENO"; then : + acx_pthread_ok=yes fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +$as_echo "$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 -$as_echo_n "checking for cairo-svg.h... " >&6; } -if test "${ac_cv_header_cairo_svg_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_cairo_svg_h=$ac_header_preproc + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 -$as_echo "$ac_cv_header_cairo_svg_h" >&6; } +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +$as_echo_n "checking for joinable pthread attribute... " >&6; } + attr_name=unknown + for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int attr=$attr; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + attr_name=$attr; break fi -if test "x$ac_cv_header_cairo_svg_h" = x""yes; then - LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 +$as_echo "$attr_name" >&6; } + if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<_ACEOF +#define PTHREAD_CREATE_JOINABLE $attr_name +_ACEOF + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 +$as_echo_n "checking if more special flags are required for pthreads... " >&6; } + x_rflag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) x_rflag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) x_rflag="-D_REENTRANT";; + *-linux* | *-k*bsd*-gnu*) + if test x"$PTHREAD_CFLAGS" = "x-pthread"; then + # For Linux/gcc "-pthread" implies "-lpthread". We need, however, to make this explicit + # in PTHREAD_LIBS such that a shared library to be built properly depends on libpthread. + PTHREAD_LIBS="-lpthread $PTHREAD_LIBS" + fi;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${x_rflag}" >&5 +$as_echo "${x_rflag}" >&6; } + if test "x$x_rflag" != xno; then + PTHREAD_CFLAGS="$x_rflag $PTHREAD_CFLAGS" + fi -fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" - if test $EX_CHECK_STATE = NO; then - for ac_prog in pkg-config -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PKGCONFIG+set}" = set; then +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test -n "$PKGCONFIG"; then - ac_cv_prog_PKGCONFIG="$PKGCONFIG" # Let the user override the test. + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_PKGCONFIG="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + ac_cv_prog_PTHREAD_CC="cc_r" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" fi fi -PKGCONFIG=$ac_cv_prog_PKGCONFIG -if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 -$as_echo "$PKGCONFIG" >&6; } +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 +$as_echo "$PTHREAD_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$PKGCONFIG" && break -done -test -n "$PKGCONFIG" || PKGCONFIG="no" +else + PTHREAD_CC="$CC" +fi - if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists cairo-svg; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-svg` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-svg` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-svg` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-svg` - unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_svg_surface_create - { $as_echo "$as_me:$LINENO: checking for cairo_svg_surface_create in -lcairo" >&5 -$as_echo_n "checking for cairo_svg_surface_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_svg_surface_create+set}" = set; then - $as_echo_n "(cached) " >&6 + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + + MULTITHREAD_CFLAGS=$PTHREAD_CFLAGS + MULTITHREAD_LDFLAGS=$PTHREAD_LIBS + + : else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + acx_pthread_ok=no + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +fi + + +if test "x$x_rflag" != "xno"; then + CPPFLAGS="$CPPFLAGS $x_rflag" +fi + + if test $enable_pthread != no; then + BUILD_MULTITHREAD_TRUE= + BUILD_MULTITHREAD_FALSE='#' +else + BUILD_MULTITHREAD_TRUE='#' + BUILD_MULTITHREAD_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking do we need malloc/malloc.h" >&5 +$as_echo_n "checking do we need malloc/malloc.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +int +main () +{ +malloc(1) -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cairo_svg_surface_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: nope, works out of the box" >&5 +$as_echo "nope, works out of the box" >&6; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include int main () { -return cairo_svg_surface_create (); +malloc(1) + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_svg_surface_create=yes +if ac_fn_c_try_link "$LINENO"; then : + + $as_echo "#define MUST_HAVE_MALLOC_MALLOC_H 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes we do" >&5 +$as_echo "yes we do" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + as_fn_error "Can not figure how to compile malloc" "$LINENO" 5 - ac_cv_lib_cairo_cairo_svg_surface_create=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_svg_surface_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_svg_surface_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_svg_surface_create" = x""yes; then - unset ac_cv_header_`echo cairo-svg.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_cairo_svg_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 -$as_echo_n "checking for cairo-svg.h... " >&6; } -if test "${ac_cv_header_cairo_svg_h+set}" = set; then - $as_echo_n "(cached) " >&6 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 -$as_echo "$ac_cv_header_cairo_svg_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo-svg.h usability" >&5 -$as_echo_n "checking cairo-svg.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +$as_echo "#define TIME_T_IS_LONG /**/" >>confdefs.h -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo-svg.h presence" >&5 -$as_echo_n "checking cairo-svg.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + +$as_echo "#define TIME_T_IS_LONG_LONG /**/" >>confdefs.h + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the type of time_t" >&5 +$as_echo_n "checking the type of time_t... " >&6; } +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +int +main () +{ +if (sizeof(long) != sizeof(time_t)) return 1; + + ; + return 0; +} _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: time_t is long" >&5 +$as_echo "time_t is long" >&6; } + $as_echo "#define TIME_T_IS_LONG 1" >>confdefs.h + + else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +if (sizeof(long long) != sizeof(time_t)) return 1; - ac_header_preproc=no -fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: time_t is long long" >&5 +$as_echo "time_t is long long" >&6; } + $as_echo "#define TIME_T_IS_LONG_LONG 1" >>confdefs.h -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo-svg.h: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo-svg.h" >&5 -$as_echo_n "checking for cairo-svg.h... " >&6; } -if test "${ac_cv_header_cairo_svg_h+set}" = set; then - $as_echo_n "(cached) " >&6 else - ac_cv_header_cairo_svg_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_svg_h" >&5 -$as_echo "$ac_cv_header_cairo_svg_h" >&6; } + as_fn_error "can not figure type of time_t" "$LINENO" 5 fi -if test "x$ac_cv_header_cairo_svg_h" = x""yes; then - EX_CHECK_STATE=YES +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - else - { $as_echo "$as_me:$LINENO: WARNING: ----------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-svg.pc file around. - You may want to set the PKG_CONFIG_PATH variable to point to its - location. ----------------------------------------------------------------------------- - " >&5 -$as_echo "$as_me: WARNING: ----------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-svg.pc file around. - You may want to set the PKG_CONFIG_PATH variable to point to its - location. ----------------------------------------------------------------------------- - " >&2;} - fi - fi - fi - if test ${EX_CHECK_STATE} = NO; then - { $as_echo "$as_me:$LINENO: WARNING: ----------------------------------------------------------------------------- -* I could not find a working copy of cairo-svg. Check config.log for hints on why - this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-svg, you can get it either from its original home on +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Find 3rd-Party Libraries${T_ME}" >&5 +$as_echo "${T_MD}Find 3rd-Party Libraries${T_ME}" >&6; } + - http://cairographics.org/releases/ +# Check whether --enable-libdbi was given. +if test "${enable_libdbi+set}" = set; then : + enableval=$enable_libdbi; have_libdbi=no +else - You can find also find an archive copy on + XXX=$LIBS + LIBS="$LIBS -ldbi -ldl" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libdbi" >&5 +$as_echo_n "checking for libdbi... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +dbi_initialize(NULL) - http://oss.oetiker.ch/rrdtool/pub/libs + ; + return 0; +} - The last tested version of cairo-svg is 1.4.6. +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : - LIBS=$LIBS - LDFLAGS=$LDFLAGS - CPPFLAGS=$CPPFLAGS +$as_echo "#define HAVE_LIBDBI 1" >>confdefs.h ----------------------------------------------------------------------------- - " >&5 -$as_echo "$as_me: WARNING: ----------------------------------------------------------------------------- -* I could not find a working copy of cairo-svg. Check config.log for hints on why - this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-svg, you can get it either from its original home on + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_libdbi=yes - http://cairographics.org/releases/ +else + LIBS=$XXX + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_libdbi=no - You can find also find an archive copy on - http://oss.oetiker.ch/rrdtool/pub/libs +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - The last tested version of cairo-svg is 1.4.6. +fi - LIBS=$LIBS - LDFLAGS=$LDFLAGS - CPPFLAGS=$CPPFLAGS + if test $have_libdbi != no; then + BUILD_LIBDBI_TRUE= + BUILD_LIBDBI_FALSE='#' +else + BUILD_LIBDBI_TRUE='#' + BUILD_LIBDBI_FALSE= +fi ----------------------------------------------------------------------------- - " >&2;} - EX_CHECK_ALL_ERR=YES - LIBS="${ex_check_save_LIBS}" - CPPFLAGS="${ex_check_save_CPPFLAGS}" - LDFLAGS="${ex_check_save_LDFLAGS}" - fi - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test $enable_rrdcgi != no; then + BUILD_RRDCGI_TRUE= + BUILD_RRDCGI_FALSE='#' +else + BUILD_RRDCGI_TRUE='#' + BUILD_RRDCGI_FALSE= +fi +CORE_LIBS="$LIBS" + ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -27482,18 +18998,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x""" != "x"; then CPPFLAGS="$CPPFLAGS -I""" fi - { $as_echo "$as_me:$LINENO: checking for cairo_pdf_surface_create in -lcairo" >&5 -$as_echo_n "checking for cairo_pdf_surface_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_pdf_surface_create+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_font_options_create in -lcairo" >&5 +$as_echo_n "checking for cairo_font_options_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_font_options_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -27502,181 +19014,30 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char cairo_pdf_surface_create (); +char cairo_font_options_create (); int main () { -return cairo_pdf_surface_create (); +return cairo_font_options_create (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_pdf_surface_create=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_font_options_create=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_cairo_cairo_pdf_surface_create=no + ac_cv_lib_cairo_cairo_font_options_create=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_pdf_surface_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_pdf_surface_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_pdf_surface_create" = x""yes; then - - if test "${ac_cv_header_cairo_pdf_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 -$as_echo_n "checking for cairo-pdf.h... " >&6; } -if test "${ac_cv_header_cairo_pdf_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 -$as_echo "$ac_cv_header_cairo_pdf_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo-pdf.h usability" >&5 -$as_echo_n "checking cairo-pdf.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo-pdf.h presence" >&5 -$as_echo_n "checking cairo-pdf.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 -$as_echo_n "checking for cairo-pdf.h... " >&6; } -if test "${ac_cv_header_cairo_pdf_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_cairo_pdf_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 -$as_echo "$ac_cv_header_cairo_pdf_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_font_options_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_font_options_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_font_options_create" = x""yes; then : -fi -if test "x$ac_cv_header_cairo_pdf_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "cairo.h" "ac_cv_header_cairo_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_h" = x""yes; then : LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES fi @@ -27688,9 +19049,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PKGCONFIG+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PKGCONFIG"; then @@ -27701,24 +19062,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_PKGCONFIG="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi PKGCONFIG=$ac_cv_prog_PKGCONFIG if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 $as_echo "$PKGCONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -27728,24 +19089,20 @@ done test -n "$PKGCONFIG" || PKGCONFIG="no" if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists cairo-pdf; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-pdf` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-pdf` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-pdf` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-pdf` - unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_pdf_surface_create - { $as_echo "$as_me:$LINENO: checking for cairo_pdf_surface_create in -lcairo" >&5 -$as_echo_n "checking for cairo_pdf_surface_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_pdf_surface_create+set}" = set; then + if $PKGCONFIG --exists cairo-png; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-png` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-png` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-png` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-png` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_font_options_create + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_font_options_create in -lcairo" >&5 +$as_echo_n "checking for cairo_font_options_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_font_options_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -27754,182 +19111,31 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char cairo_pdf_surface_create (); +char cairo_font_options_create (); int main () { -return cairo_pdf_surface_create (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_pdf_surface_create=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_cairo_cairo_pdf_surface_create=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_pdf_surface_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_pdf_surface_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_pdf_surface_create" = x""yes; then - - unset ac_cv_header_`echo cairo-pdf.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_cairo_pdf_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 -$as_echo_n "checking for cairo-pdf.h... " >&6; } -if test "${ac_cv_header_cairo_pdf_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 -$as_echo "$ac_cv_header_cairo_pdf_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo-pdf.h usability" >&5 -$as_echo_n "checking cairo-pdf.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo-pdf.h presence" >&5 -$as_echo_n "checking cairo-pdf.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +return cairo_font_options_create (); + ; + return 0; +} _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_font_options_create=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + ac_cv_lib_cairo_cairo_font_options_create=no fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo-pdf.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo-pdf.h" >&5 -$as_echo_n "checking for cairo-pdf.h... " >&6; } -if test "${ac_cv_header_cairo_pdf_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_cairo_pdf_h=$ac_header_preproc +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_pdf_h" >&5 -$as_echo "$ac_cv_header_cairo_pdf_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_font_options_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_font_options_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_font_options_create" = x""yes; then : -fi -if test "x$ac_cv_header_cairo_pdf_h" = x""yes; then + unset ac_cv_header_`echo cairo.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + ac_fn_c_check_header_mongrel "$LINENO" "cairo.h" "ac_cv_header_cairo_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_h" = x""yes; then : EX_CHECK_STATE=YES fi @@ -27938,16 +19144,16 @@ fi fi else - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-pdf.pc file around. +* I found a copy of pkgconfig, but there is no cairo-png.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-pdf.pc file around. +* I found a copy of pkgconfig, but there is no cairo-png.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -27957,12 +19163,12 @@ $as_echo "$as_me: WARNING: fi if test ${EX_CHECK_STATE} = NO; then - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of cairo-pdf. Check config.log for hints on why +* I could not find a working copy of cairo-png. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-pdf, you can get it either from its original home on + you have not installed cairo-png, you can get it either from its original home on http://cairographics.org/releases/ @@ -27970,7 +19176,7 @@ $as_echo "$as_me: WARNING: http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of cairo-pdf is 1.4.6. + The last tested version of cairo-png is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -27980,10 +19186,10 @@ $as_echo "$as_me: WARNING: " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of cairo-pdf. Check config.log for hints on why +* I could not find a working copy of cairo-png. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-pdf, you can get it either from its original home on + you have not installed cairo-png, you can get it either from its original home on http://cairographics.org/releases/ @@ -27991,7 +19197,7 @@ $as_echo "$as_me: WARNING: http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of cairo-pdf is 1.4.6. + The last tested version of cairo-png is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -28026,18 +19232,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x""" != "x"; then CPPFLAGS="$CPPFLAGS -I""" fi - { $as_echo "$as_me:$LINENO: checking for cairo_ps_surface_create in -lcairo" >&5 -$as_echo_n "checking for cairo_ps_surface_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_ps_surface_create+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_svg_surface_create in -lcairo" >&5 +$as_echo_n "checking for cairo_svg_surface_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_svg_surface_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -28046,181 +19248,30 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char cairo_ps_surface_create (); +char cairo_svg_surface_create (); int main () { -return cairo_ps_surface_create (); +return cairo_svg_surface_create (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_ps_surface_create=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_svg_surface_create=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_cairo_cairo_ps_surface_create=no + ac_cv_lib_cairo_cairo_svg_surface_create=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_ps_surface_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_ps_surface_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_ps_surface_create" = x""yes; then - - if test "${ac_cv_header_cairo_ps_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 -$as_echo_n "checking for cairo-ps.h... " >&6; } -if test "${ac_cv_header_cairo_ps_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 -$as_echo "$ac_cv_header_cairo_ps_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo-ps.h usability" >&5 -$as_echo_n "checking cairo-ps.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo-ps.h presence" >&5 -$as_echo_n "checking cairo-ps.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 -$as_echo_n "checking for cairo-ps.h... " >&6; } -if test "${ac_cv_header_cairo_ps_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_cairo_ps_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 -$as_echo "$ac_cv_header_cairo_ps_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_svg_surface_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_svg_surface_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_svg_surface_create" = x""yes; then : -fi -if test "x$ac_cv_header_cairo_ps_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "cairo-svg.h" "ac_cv_header_cairo_svg_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_svg_h" = x""yes; then : LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES fi @@ -28232,9 +19283,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PKGCONFIG+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PKGCONFIG"; then @@ -28244,236 +19295,81 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_PKGCONFIG="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -PKGCONFIG=$ac_cv_prog_PKGCONFIG -if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 -$as_echo "$PKGCONFIG" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$PKGCONFIG" && break -done -test -n "$PKGCONFIG" || PKGCONFIG="no" - - if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists cairo-ps; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-ps` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-ps` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-ps` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-ps` - unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_ps_surface_create - { $as_echo "$as_me:$LINENO: checking for cairo_ps_surface_create in -lcairo" >&5 -$as_echo_n "checking for cairo_ps_surface_create in -lcairo... " >&6; } -if test "${ac_cv_lib_cairo_cairo_ps_surface_create+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcairo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cairo_ps_surface_create (); -int -main () -{ -return cairo_ps_surface_create (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_cairo_cairo_ps_surface_create=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_cairo_cairo_ps_surface_create=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cairo_cairo_ps_surface_create" >&5 -$as_echo "$ac_cv_lib_cairo_cairo_ps_surface_create" >&6; } -if test "x$ac_cv_lib_cairo_cairo_ps_surface_create" = x""yes; then - - unset ac_cv_header_`echo cairo-ps.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_cairo_ps_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 -$as_echo_n "checking for cairo-ps.h... " >&6; } -if test "${ac_cv_header_cairo_ps_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 -$as_echo "$ac_cv_header_cairo_ps_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking cairo-ps.h usability" >&5 -$as_echo_n "checking cairo-ps.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking cairo-ps.h presence" >&5 -$as_echo_n "checking cairo-ps.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PKGCONFIG="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ac_header_preproc=no +fi +fi +PKGCONFIG=$ac_cv_prog_PKGCONFIG +if test -n "$PKGCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 +$as_echo "$PKGCONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: cairo-ps.h: in the future, the compiler will take precedence" >&2;} + test -n "$PKGCONFIG" && break +done +test -n "$PKGCONFIG" || PKGCONFIG="no" - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for cairo-ps.h" >&5 -$as_echo_n "checking for cairo-ps.h... " >&6; } -if test "${ac_cv_header_cairo_ps_h+set}" = set; then + if test "$PKGCONFIG" != "no"; then + if $PKGCONFIG --exists cairo-svg; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-svg` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-svg` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-svg` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-svg` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_svg_surface_create + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_svg_surface_create in -lcairo" >&5 +$as_echo_n "checking for cairo_svg_surface_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_svg_surface_create+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_header_cairo_ps_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cairo_ps_h" >&5 -$as_echo "$ac_cv_header_cairo_ps_h" >&6; } + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcairo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char cairo_svg_surface_create (); +int +main () +{ +return cairo_svg_surface_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_svg_surface_create=yes +else + ac_cv_lib_cairo_cairo_svg_surface_create=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if test "x$ac_cv_header_cairo_ps_h" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_svg_surface_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_svg_surface_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_svg_surface_create" = x""yes; then : + + unset ac_cv_header_`echo cairo-svg.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + ac_fn_c_check_header_mongrel "$LINENO" "cairo-svg.h" "ac_cv_header_cairo_svg_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_svg_h" = x""yes; then : EX_CHECK_STATE=YES fi @@ -28482,16 +19378,16 @@ fi fi else - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-ps.pc file around. +* I found a copy of pkgconfig, but there is no cairo-svg.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no cairo-ps.pc file around. +* I found a copy of pkgconfig, but there is no cairo-svg.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -28501,12 +19397,12 @@ $as_echo "$as_me: WARNING: fi if test ${EX_CHECK_STATE} = NO; then - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of cairo-ps. Check config.log for hints on why +* I could not find a working copy of cairo-svg. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-ps, you can get it either from its original home on + you have not installed cairo-svg, you can get it either from its original home on http://cairographics.org/releases/ @@ -28514,7 +19410,7 @@ $as_echo "$as_me: WARNING: http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of cairo-ps is 1.4.6. + The last tested version of cairo-svg is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -28524,10 +19420,10 @@ $as_echo "$as_me: WARNING: " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of cairo-ps. Check config.log for hints on why +* I could not find a working copy of cairo-svg. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately so that compiler and the linker can find libcairo and its header files. If - you have not installed cairo-ps, you can get it either from its original home on + you have not installed cairo-svg, you can get it either from its original home on http://cairographics.org/releases/ @@ -28535,7 +19431,7 @@ $as_echo "$as_me: WARNING: http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of cairo-ps is 1.4.6. + The last tested version of cairo-svg is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -28570,18 +19466,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x""" != "x"; then CPPFLAGS="$CPPFLAGS -I""" fi - { $as_echo "$as_me:$LINENO: checking for glib_check_version in -lglib-2.0" >&5 -$as_echo_n "checking for glib_check_version in -lglib-2.0... " >&6; } -if test "${ac_cv_lib_glib_2_0_glib_check_version+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_pdf_surface_create in -lcairo" >&5 +$as_echo_n "checking for cairo_pdf_surface_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_pdf_surface_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lglib-2.0 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +LIBS="-lcairo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -28590,182 +19482,31 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char glib_check_version (); +char cairo_pdf_surface_create (); int main () { -return glib_check_version (); +return cairo_pdf_surface_create (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_glib_2_0_glib_check_version=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_pdf_surface_create=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_glib_2_0_glib_check_version=no + ac_cv_lib_cairo_cairo_pdf_surface_create=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_glib_2_0_glib_check_version" >&5 -$as_echo "$ac_cv_lib_glib_2_0_glib_check_version" >&6; } -if test "x$ac_cv_lib_glib_2_0_glib_check_version" = x""yes; then - - if test "${ac_cv_header_glib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for glib.h" >&5 -$as_echo_n "checking for glib.h... " >&6; } -if test "${ac_cv_header_glib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_glib_h" >&5 -$as_echo "$ac_cv_header_glib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking glib.h usability" >&5 -$as_echo_n "checking glib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking glib.h presence" >&5 -$as_echo_n "checking glib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: glib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: glib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: glib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: glib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: glib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: glib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: glib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: glib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: glib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: glib.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for glib.h" >&5 -$as_echo_n "checking for glib.h... " >&6; } -if test "${ac_cv_header_glib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_glib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_glib_h" >&5 -$as_echo "$ac_cv_header_glib_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_pdf_surface_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_pdf_surface_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_pdf_surface_create" = x""yes; then : -fi -if test "x$ac_cv_header_glib_h" = x""yes; then - LIBS="-lglib-2.0 ${LIBS}";EX_CHECK_STATE=YES + ac_fn_c_check_header_mongrel "$LINENO" "cairo-pdf.h" "ac_cv_header_cairo_pdf_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_pdf_h" = x""yes; then : + LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES fi @@ -28776,9 +19517,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PKGCONFIG+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PKGCONFIG"; then @@ -28789,24 +19530,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_PKGCONFIG="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi PKGCONFIG=$ac_cv_prog_PKGCONFIG if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 $as_echo "$PKGCONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -28816,24 +19557,20 @@ done test -n "$PKGCONFIG" || PKGCONFIG="no" if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists glib-2.0; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags glib-2.0` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L glib-2.0` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other glib-2.0` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l glib-2.0` - unset ac_cv_lib_`echo glib-2.0 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_glib_check_version - { $as_echo "$as_me:$LINENO: checking for glib_check_version in -lglib-2.0" >&5 -$as_echo_n "checking for glib_check_version in -lglib-2.0... " >&6; } -if test "${ac_cv_lib_glib_2_0_glib_check_version+set}" = set; then + if $PKGCONFIG --exists cairo-pdf; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-pdf` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-pdf` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-pdf` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-pdf` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_pdf_surface_create + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_pdf_surface_create in -lcairo" >&5 +$as_echo_n "checking for cairo_pdf_surface_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_pdf_surface_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lglib-2.0 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +LIBS="-lcairo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -28842,182 +19579,31 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char glib_check_version (); +char cairo_pdf_surface_create (); int main () { -return glib_check_version (); +return cairo_pdf_surface_create (); ; return 0; } -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_glib_2_0_glib_check_version=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_glib_2_0_glib_check_version=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_glib_2_0_glib_check_version" >&5 -$as_echo "$ac_cv_lib_glib_2_0_glib_check_version" >&6; } -if test "x$ac_cv_lib_glib_2_0_glib_check_version" = x""yes; then - - unset ac_cv_header_`echo glib.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_glib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for glib.h" >&5 -$as_echo_n "checking for glib.h... " >&6; } -if test "${ac_cv_header_glib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_glib_h" >&5 -$as_echo "$ac_cv_header_glib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking glib.h usability" >&5 -$as_echo_n "checking glib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking glib.h presence" >&5 -$as_echo_n "checking glib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_pdf_surface_create=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + ac_cv_lib_cairo_cairo_pdf_surface_create=no fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: glib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: glib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: glib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: glib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: glib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: glib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: glib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: glib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: glib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: glib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: glib.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for glib.h" >&5 -$as_echo_n "checking for glib.h... " >&6; } -if test "${ac_cv_header_glib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_glib_h=$ac_header_preproc +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_glib_h" >&5 -$as_echo "$ac_cv_header_glib_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_pdf_surface_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_pdf_surface_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_pdf_surface_create" = x""yes; then : -fi -if test "x$ac_cv_header_glib_h" = x""yes; then + unset ac_cv_header_`echo cairo-pdf.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + ac_fn_c_check_header_mongrel "$LINENO" "cairo-pdf.h" "ac_cv_header_cairo_pdf_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_pdf_h" = x""yes; then : EX_CHECK_STATE=YES fi @@ -29026,16 +19612,16 @@ fi fi else - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no glib-2.0.pc file around. +* I found a copy of pkgconfig, but there is no cairo-pdf.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no glib-2.0.pc file around. +* I found a copy of pkgconfig, but there is no cairo-pdf.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -29045,20 +19631,20 @@ $as_echo "$as_me: WARNING: fi if test ${EX_CHECK_STATE} = NO; then - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of glib-2.0. Check config.log for hints on why +* I could not find a working copy of cairo-pdf. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libglib-2.0 and its header files. If - you have not installed glib-2.0, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-pdf, you can get it either from its original home on - ftp://ftp.gtk.org/pub/glib/2.12/ + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of glib-2.0 is 2.12.12. + The last tested version of cairo-pdf is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -29068,18 +19654,18 @@ $as_echo "$as_me: WARNING: " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of glib-2.0. Check config.log for hints on why +* I could not find a working copy of cairo-pdf. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libglib-2.0 and its header files. If - you have not installed glib-2.0, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-pdf, you can get it either from its original home on - ftp://ftp.gtk.org/pub/glib/2.12/ + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of glib-2.0 is 2.12.12. + The last tested version of cairo-pdf is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -29114,18 +19700,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x""" != "x"; then CPPFLAGS="$CPPFLAGS -I""" fi - { $as_echo "$as_me:$LINENO: checking for pango_cairo_context_set_font_options in -lpango-1.0" >&5 -$as_echo_n "checking for pango_cairo_context_set_font_options in -lpango-1.0... " >&6; } -if test "${ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_ps_surface_create in -lcairo" >&5 +$as_echo_n "checking for cairo_ps_surface_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_ps_surface_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpango-1.0 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +LIBS="-lcairo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -29134,182 +19716,31 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char pango_cairo_context_set_font_options (); +char cairo_ps_surface_create (); int main () { -return pango_cairo_context_set_font_options (); +return cairo_ps_surface_create (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_ps_surface_create=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=no + ac_cv_lib_cairo_cairo_ps_surface_create=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&5 -$as_echo "$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&6; } -if test "x$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" = x""yes; then - - if test "${ac_cv_header_pango_pango_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for pango/pango.h" >&5 -$as_echo_n "checking for pango/pango.h... " >&6; } -if test "${ac_cv_header_pango_pango_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 -$as_echo "$ac_cv_header_pango_pango_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking pango/pango.h usability" >&5 -$as_echo_n "checking pango/pango.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking pango/pango.h presence" >&5 -$as_echo_n "checking pango/pango.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for pango/pango.h" >&5 -$as_echo_n "checking for pango/pango.h... " >&6; } -if test "${ac_cv_header_pango_pango_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_pango_pango_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 -$as_echo "$ac_cv_header_pango_pango_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_ps_surface_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_ps_surface_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_ps_surface_create" = x""yes; then : -fi -if test "x$ac_cv_header_pango_pango_h" = x""yes; then - LIBS="-lpango-1.0 ${LIBS}";EX_CHECK_STATE=YES + ac_fn_c_check_header_mongrel "$LINENO" "cairo-ps.h" "ac_cv_header_cairo_ps_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_ps_h" = x""yes; then : + LIBS="-lcairo ${LIBS}";EX_CHECK_STATE=YES fi @@ -29320,9 +19751,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PKGCONFIG+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PKGCONFIG"; then @@ -29333,235 +19764,80 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_PKGCONFIG="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -PKGCONFIG=$ac_cv_prog_PKGCONFIG -if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 -$as_echo "$PKGCONFIG" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$PKGCONFIG" && break -done -test -n "$PKGCONFIG" || PKGCONFIG="no" - - if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists pangocairo; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags pangocairo` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L pangocairo` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other pangocairo` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l pangocairo` - unset ac_cv_lib_`echo pango-1.0 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_pango_cairo_context_set_font_options - { $as_echo "$as_me:$LINENO: checking for pango_cairo_context_set_font_options in -lpango-1.0" >&5 -$as_echo_n "checking for pango_cairo_context_set_font_options in -lpango-1.0... " >&6; } -if test "${ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpango-1.0 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pango_cairo_context_set_font_options (); -int -main () -{ -return pango_cairo_context_set_font_options (); - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&5 -$as_echo "$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&6; } -if test "x$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" = x""yes; then - - unset ac_cv_header_`echo pango/pango.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_pango_pango_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for pango/pango.h" >&5 -$as_echo_n "checking for pango/pango.h... " >&6; } -if test "${ac_cv_header_pango_pango_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 -$as_echo "$ac_cv_header_pango_pango_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking pango/pango.h usability" >&5 -$as_echo_n "checking pango/pango.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking pango/pango.h presence" >&5 -$as_echo_n "checking pango/pango.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PKGCONFIG="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ac_header_preproc=no +fi +fi +PKGCONFIG=$ac_cv_prog_PKGCONFIG +if test -n "$PKGCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 +$as_echo "$PKGCONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: pango/pango.h: in the future, the compiler will take precedence" >&2;} + test -n "$PKGCONFIG" && break +done +test -n "$PKGCONFIG" || PKGCONFIG="no" - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for pango/pango.h" >&5 -$as_echo_n "checking for pango/pango.h... " >&6; } -if test "${ac_cv_header_pango_pango_h+set}" = set; then + if test "$PKGCONFIG" != "no"; then + if $PKGCONFIG --exists cairo-ps; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags cairo-ps` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L cairo-ps` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other cairo-ps` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l cairo-ps` + unset ac_cv_lib_`echo cairo | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_cairo_ps_surface_create + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo_ps_surface_create in -lcairo" >&5 +$as_echo_n "checking for cairo_ps_surface_create in -lcairo... " >&6; } +if test "${ac_cv_lib_cairo_cairo_ps_surface_create+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_header_pango_pango_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_pango_pango_h" >&5 -$as_echo "$ac_cv_header_pango_pango_h" >&6; } + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcairo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char cairo_ps_surface_create (); +int +main () +{ +return cairo_ps_surface_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cairo_cairo_ps_surface_create=yes +else + ac_cv_lib_cairo_cairo_ps_surface_create=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if test "x$ac_cv_header_pango_pango_h" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cairo_cairo_ps_surface_create" >&5 +$as_echo "$ac_cv_lib_cairo_cairo_ps_surface_create" >&6; } +if test "x$ac_cv_lib_cairo_cairo_ps_surface_create" = x""yes; then : + + unset ac_cv_header_`echo cairo-ps.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + ac_fn_c_check_header_mongrel "$LINENO" "cairo-ps.h" "ac_cv_header_cairo_ps_h" "$ac_includes_default" +if test "x$ac_cv_header_cairo_ps_h" = x""yes; then : EX_CHECK_STATE=YES fi @@ -29570,16 +19846,16 @@ fi fi else - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no pangocairo.pc file around. +* I found a copy of pkgconfig, but there is no cairo-ps.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no pangocairo.pc file around. +* I found a copy of pkgconfig, but there is no cairo-ps.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -29589,20 +19865,20 @@ $as_echo "$as_me: WARNING: fi if test ${EX_CHECK_STATE} = NO; then - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of pangocairo. Check config.log for hints on why +* I could not find a working copy of cairo-ps. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libpango-1.0 and its header files. If - you have not installed pangocairo, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-ps, you can get it either from its original home on - http://ftp.gnome.org/pub/GNOME/sources/pango/1.17 + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of pangocairo is 1.17. + The last tested version of cairo-ps is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -29612,18 +19888,18 @@ $as_echo "$as_me: WARNING: " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of pangocairo. Check config.log for hints on why +* I could not find a working copy of cairo-ps. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libpango-1.0 and its header files. If - you have not installed pangocairo, you can get it either from its original home on + so that compiler and the linker can find libcairo and its header files. If + you have not installed cairo-ps, you can get it either from its original home on - http://ftp.gnome.org/pub/GNOME/sources/pango/1.17 + http://cairographics.org/releases/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of pangocairo is 1.17. + The last tested version of cairo-ps is 1.4.6. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -29655,21 +19931,17 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ex_check_save_LIBS=${LIBS} ex_check_save_CPPFLAGS=${CPPFLAGS} ex_check_save_LDFLAGS=${LDFLAGS} - if test "x/usr/include/libxml2" != "x"; then - CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2" + if test "x""" != "x"; then + CPPFLAGS="$CPPFLAGS -I""" fi - { $as_echo "$as_me:$LINENO: checking for xmlParseFile in -lxml2" >&5 -$as_echo_n "checking for xmlParseFile in -lxml2... " >&6; } -if test "${ac_cv_lib_xml2_xmlParseFile+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glib_check_version in -lglib-2.0" >&5 +$as_echo_n "checking for glib_check_version in -lglib-2.0... " >&6; } +if test "${ac_cv_lib_glib_2_0_glib_check_version+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lxml2 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +LIBS="-lglib-2.0 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -29678,182 +19950,31 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char xmlParseFile (); +char glib_check_version (); int main () { -return xmlParseFile (); +return glib_check_version (); ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_xml2_xmlParseFile=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_glib_2_0_glib_check_version=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_xml2_xmlParseFile=no + ac_cv_lib_glib_2_0_glib_check_version=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_xml2_xmlParseFile" >&5 -$as_echo "$ac_cv_lib_xml2_xmlParseFile" >&6; } -if test "x$ac_cv_lib_xml2_xmlParseFile" = x""yes; then - - if test "${ac_cv_header_libxml_parser_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 -$as_echo_n "checking for libxml/parser.h... " >&6; } -if test "${ac_cv_header_libxml_parser_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 -$as_echo "$ac_cv_header_libxml_parser_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libxml/parser.h usability" >&5 -$as_echo_n "checking libxml/parser.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libxml/parser.h presence" >&5 -$as_echo_n "checking libxml/parser.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 -$as_echo_n "checking for libxml/parser.h... " >&6; } -if test "${ac_cv_header_libxml_parser_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libxml_parser_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 -$as_echo "$ac_cv_header_libxml_parser_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_glib_2_0_glib_check_version" >&5 +$as_echo "$ac_cv_lib_glib_2_0_glib_check_version" >&6; } +if test "x$ac_cv_lib_glib_2_0_glib_check_version" = x""yes; then : -fi -if test "x$ac_cv_header_libxml_parser_h" = x""yes; then - LIBS="-lxml2 ${LIBS}";EX_CHECK_STATE=YES + ac_fn_c_check_header_mongrel "$LINENO" "glib.h" "ac_cv_header_glib_h" "$ac_includes_default" +if test "x$ac_cv_header_glib_h" = x""yes; then : + LIBS="-lglib-2.0 ${LIBS}";EX_CHECK_STATE=YES fi @@ -29864,9 +19985,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PKGCONFIG+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PKGCONFIG"; then @@ -29877,24 +19998,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_PKGCONFIG="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi PKGCONFIG=$ac_cv_prog_PKGCONFIG if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 $as_echo "$PKGCONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -29904,24 +20025,20 @@ done test -n "$PKGCONFIG" || PKGCONFIG="no" if test "$PKGCONFIG" != "no"; then - if $PKGCONFIG --exists libxml-2.0; then - CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags libxml-2.0` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L libxml-2.0` - LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other libxml-2.0` - LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l libxml-2.0` - unset ac_cv_lib_`echo xml2 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_xmlParseFile - { $as_echo "$as_me:$LINENO: checking for xmlParseFile in -lxml2" >&5 -$as_echo_n "checking for xmlParseFile in -lxml2... " >&6; } -if test "${ac_cv_lib_xml2_xmlParseFile+set}" = set; then + if $PKGCONFIG --exists glib-2.0; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags glib-2.0` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L glib-2.0` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other glib-2.0` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l glib-2.0` + unset ac_cv_lib_`echo glib-2.0 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_glib_check_version + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glib_check_version in -lglib-2.0" >&5 +$as_echo_n "checking for glib_check_version in -lglib-2.0... " >&6; } +if test "${ac_cv_lib_glib_2_0_glib_check_version+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lxml2 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +LIBS="-lglib-2.0 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -29930,182 +20047,31 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char xmlParseFile (); +char glib_check_version (); int main () { -return xmlParseFile (); +return glib_check_version (); ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_xml2_xmlParseFile=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_xml2_xmlParseFile=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_xml2_xmlParseFile" >&5 -$as_echo "$ac_cv_lib_xml2_xmlParseFile" >&6; } -if test "x$ac_cv_lib_xml2_xmlParseFile" = x""yes; then - - unset ac_cv_header_`echo libxml/parser.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` - if test "${ac_cv_header_libxml_parser_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 -$as_echo_n "checking for libxml/parser.h... " >&6; } -if test "${ac_cv_header_libxml_parser_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 -$as_echo "$ac_cv_header_libxml_parser_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libxml/parser.h usability" >&5 -$as_echo_n "checking libxml/parser.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libxml/parser.h presence" >&5 -$as_echo_n "checking libxml/parser.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_glib_2_0_glib_check_version=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + ac_cv_lib_glib_2_0_glib_check_version=no fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libxml/parser.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libxml/parser.h" >&5 -$as_echo_n "checking for libxml/parser.h... " >&6; } -if test "${ac_cv_header_libxml_parser_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libxml_parser_h=$ac_header_preproc +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libxml_parser_h" >&5 -$as_echo "$ac_cv_header_libxml_parser_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_glib_2_0_glib_check_version" >&5 +$as_echo "$ac_cv_lib_glib_2_0_glib_check_version" >&6; } +if test "x$ac_cv_lib_glib_2_0_glib_check_version" = x""yes; then : -fi -if test "x$ac_cv_header_libxml_parser_h" = x""yes; then + unset ac_cv_header_`echo glib.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + ac_fn_c_check_header_mongrel "$LINENO" "glib.h" "ac_cv_header_glib_h" "$ac_includes_default" +if test "x$ac_cv_header_glib_h" = x""yes; then : EX_CHECK_STATE=YES fi @@ -30114,16 +20080,16 @@ fi fi else - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no libxml-2.0.pc file around. +* I found a copy of pkgconfig, but there is no glib-2.0.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I found a copy of pkgconfig, but there is no libxml-2.0.pc file around. +* I found a copy of pkgconfig, but there is no glib-2.0.pc file around. You may want to set the PKG_CONFIG_PATH variable to point to its location. ---------------------------------------------------------------------------- @@ -30133,20 +20099,20 @@ $as_echo "$as_me: WARNING: fi if test ${EX_CHECK_STATE} = NO; then - { $as_echo "$as_me:$LINENO: WARNING: + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of libxml-2.0. Check config.log for hints on why +* I could not find a working copy of glib-2.0. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libxml2 and its header files. If - you have not installed libxml-2.0, you can get it either from its original home on + so that compiler and the linker can find libglib-2.0 and its header files. If + you have not installed glib-2.0, you can get it either from its original home on - http://xmlsoft.org/downloads.html + ftp://ftp.gtk.org/pub/glib/2.12/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of libxml-2.0 is 2.6.31. + The last tested version of glib-2.0 is 2.12.12. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -30156,18 +20122,18 @@ $as_echo "$as_me: WARNING: " >&5 $as_echo "$as_me: WARNING: ---------------------------------------------------------------------------- -* I could not find a working copy of libxml-2.0. Check config.log for hints on why +* I could not find a working copy of glib-2.0. Check config.log for hints on why this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately - so that compiler and the linker can find libxml2 and its header files. If - you have not installed libxml-2.0, you can get it either from its original home on + so that compiler and the linker can find libglib-2.0 and its header files. If + you have not installed glib-2.0, you can get it either from its original home on - http://xmlsoft.org/downloads.html + ftp://ftp.gtk.org/pub/glib/2.12/ You can find also find an archive copy on http://oss.oetiker.ch/rrdtool/pub/libs - The last tested version of libxml-2.0 is 2.6.31. + The last tested version of glib-2.0 is 2.12.12. LIBS=$LIBS LDFLAGS=$LDFLAGS @@ -30189,1727 +20155,1009 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test "$EX_CHECK_ALL_ERR" = "YES"; then - { { $as_echo "$as_me:$LINENO: error: Please fix the library issues listed above and try again." >&5 -$as_echo "$as_me: error: Please fix the library issues listed above and try again." >&2;} - { (exit 1); exit 1; }; } -fi - -ALL_LIBS="$LIBS" -LIBS= - - - - - -case $TERM in - # for the most important terminal types we directly know the sequences - xterm|xterm*|vt220|vt220*) - T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - vt100|vt100*|cygwin) - T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - *) - T_MD='' - T_ME='' - ;; -esac - { $as_echo "$as_me:$LINENO: result: " >&5 -$as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Prep for Building Language Bindings${T_ME}" >&5 -$as_echo "${T_MD}Prep for Building Language Bindings${T_ME}" >&6; } - + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -PATH=$PATH:/usr/perl5/bin -export PATH -# Extract the first word of "perl", so it can be a program name with args. -set dummy perl; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PERL+set}" = set; then + EX_CHECK_STATE=NO + ex_check_save_LIBS=${LIBS} + ex_check_save_CPPFLAGS=${CPPFLAGS} + ex_check_save_LDFLAGS=${LDFLAGS} + if test "x""" != "x"; then + CPPFLAGS="$CPPFLAGS -I""" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pango_cairo_context_set_font_options in -lpango-1.0" >&5 +$as_echo_n "checking for pango_cairo_context_set_font_options in -lpango-1.0... " >&6; } +if test "${ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options+set}" = set; then : $as_echo_n "(cached) " >&6 else - case $PERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_PERL="$PERL" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpango-1.0 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no" - ;; -esac -fi -PERL=$ac_cv_path_PERL -if test -n "$PERL"; then - { $as_echo "$as_me:$LINENO: result: $PERL" >&5 -$as_echo "$PERL" >&6; } +/* 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 pango_cairo_context_set_font_options (); +int +main () +{ +return pango_cairo_context_set_font_options (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=yes else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&5 +$as_echo "$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&6; } +if test "x$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" = x""yes; then : + ac_fn_c_check_header_mongrel "$LINENO" "pango/pango.h" "ac_cv_header_pango_pango_h" "$ac_includes_default" +if test "x$ac_cv_header_pango_pango_h" = x""yes; then : + LIBS="-lpango-1.0 ${LIBS}";EX_CHECK_STATE=YES +fi -# Extract the first word of "pod2man", so it can be a program name with args. -set dummy pod2man; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_POD2MAN+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $POD2MAN in - [\\/]* | ?:[\\/]*) - ac_cv_path_POD2MAN="$POD2MAN" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_POD2MAN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - test -z "$ac_cv_path_POD2MAN" && ac_cv_path_POD2MAN="no" - ;; -esac -fi -POD2MAN=$ac_cv_path_POD2MAN -if test -n "$POD2MAN"; then - { $as_echo "$as_me:$LINENO: result: $POD2MAN" >&5 -$as_echo "$POD2MAN" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } fi - -# Extract the first word of "pod2html", so it can be a program name with args. -set dummy pod2html; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 + if test $EX_CHECK_STATE = NO; then + for ac_prog in pkg-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_POD2HTML+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else - case $POD2HTML in - [\\/]* | ?:[\\/]*) - ac_cv_path_POD2HTML="$POD2HTML" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$PKGCONFIG"; then + ac_cv_prog_PKGCONFIG="$PKGCONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_POD2HTML="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + ac_cv_prog_PKGCONFIG="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS - test -z "$ac_cv_path_POD2HTML" && ac_cv_path_POD2HTML="no" - ;; -esac fi -POD2HTML=$ac_cv_path_POD2HTML -if test -n "$POD2HTML"; then - { $as_echo "$as_me:$LINENO: result: $POD2HTML" >&5 -$as_echo "$POD2HTML" >&6; } +fi +PKGCONFIG=$ac_cv_prog_PKGCONFIG +if test -n "$PKGCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 +$as_echo "$PKGCONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + test -n "$PKGCONFIG" && break +done +test -n "$PKGCONFIG" || PKGCONFIG="no" + if test "$PKGCONFIG" != "no"; then + if $PKGCONFIG --exists pangocairo; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags pangocairo` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L pangocairo` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other pangocairo` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l pangocairo` + unset ac_cv_lib_`echo pango-1.0 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_pango_cairo_context_set_font_options + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pango_cairo_context_set_font_options in -lpango-1.0" >&5 +$as_echo_n "checking for pango_cairo_context_set_font_options in -lpango-1.0... " >&6; } +if test "${ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpango-1.0 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Check whether --enable-perl was given. -if test "${enable_perl+set}" = set; then - enableval=$enable_perl; +/* 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 pango_cairo_context_set_font_options (); +int +main () +{ +return pango_cairo_context_set_font_options (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=yes else - enable_perl=yes + ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&5 +$as_echo "$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" >&6; } +if test "x$ac_cv_lib_pango_1_0_pango_cairo_context_set_font_options" = x""yes; then : + + unset ac_cv_header_`echo pango/pango.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + ac_fn_c_check_header_mongrel "$LINENO" "pango/pango.h" "ac_cv_header_pango_pango_h" "$ac_includes_default" +if test "x$ac_cv_header_pango_pango_h" = x""yes; then : + EX_CHECK_STATE=YES fi +fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no pangocairo.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&5 +$as_echo "$as_me: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no pangocairo.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&2;} + fi + fi + fi + if test ${EX_CHECK_STATE} = NO; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +---------------------------------------------------------------------------- +* I could not find a working copy of pangocairo. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libpango-1.0 and its header files. If + you have not installed pangocairo, you can get it either from its original home on + http://ftp.gnome.org/pub/GNOME/sources/pango/1.17 + You can find also find an archive copy on -if test "x$PERL" = "xno" -o x$enable_perl = xno; then - COMP_PERL= -else - COMP_PERL="perl_piped perl_shared" - { $as_echo "$as_me:$LINENO: checking for the perl version you are running" >&5 -$as_echo_n "checking for the perl version you are running... " >&6; } - PERL_VERSION=`$PERL -MConfig -e 'print $Config{version}'` - { $as_echo "$as_me:$LINENO: result: $PERL_VERSION" >&5 -$as_echo "$PERL_VERSION" >&6; } - if test -z "$PERLCC"; then - { $as_echo "$as_me:$LINENO: checking for the C compiler perl wants to use to build its modules" >&5 -$as_echo_n "checking for the C compiler perl wants to use to build its modules... " >&6; } - perlcc=`$PERL -MConfig -e 'print $Config{cc}'` - { $as_echo "$as_me:$LINENO: result: $perlcc" >&5 -$as_echo "$perlcc" >&6; } - if test ! -x "$perlcc"; then - # Extract the first word of "${perlcc}", so it can be a program name with args. -set dummy ${perlcc}; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PERL_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $PERL_CC in - [\\/]* | ?:[\\/]*) - ac_cv_path_PERL_CC="$PERL_CC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PERL_CC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PERL_CC" && ac_cv_path_PERL_CC="no" - ;; -esac -fi -PERL_CC=$ac_cv_path_PERL_CC -if test -n "$PERL_CC"; then - { $as_echo "$as_me:$LINENO: result: $PERL_CC" >&5 -$as_echo "$PERL_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi + http://oss.oetiker.ch/rrdtool/pub/libs + The last tested version of pangocairo is 1.17. - if test "$PERL_CC" = "no"; then - { $as_echo "$as_me:$LINENO: WARNING: -I would not find the Compiler ($perlcc) that was originally used to compile -your perl binary. You should either make sure that this compiler is -available on your system, pick an other compiler and set PERLCC -appropriately, or use a different perl setup that was compiled locally. + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS -I will disable the compilation of the RRDs perl module for now. -" >&5 +---------------------------------------------------------------------------- + " >&5 $as_echo "$as_me: WARNING: -I would not find the Compiler ($perlcc) that was originally used to compile -your perl binary. You should either make sure that this compiler is -available on your system, pick an other compiler and set PERLCC -appropriately, or use a different perl setup that was compiled locally. +---------------------------------------------------------------------------- +* I could not find a working copy of pangocairo. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libpango-1.0 and its header files. If + you have not installed pangocairo, you can get it either from its original home on -I will disable the compilation of the RRDs perl module for now. -" >&2;} - COMP_PERL="perl_piped" - fi - fi - fi -fi + http://ftp.gnome.org/pub/GNOME/sources/pango/1.17 -{ $as_echo "$as_me:$LINENO: checking Perl Modules to build" >&5 -$as_echo_n "checking Perl Modules to build... " >&6; } -{ $as_echo "$as_me:$LINENO: result: ${COMP_PERL:-No Perl Modules will be built}" >&5 -$as_echo "${COMP_PERL:-No Perl Modules will be built}" >&6; } + You can find also find an archive copy on -# Options to pass when configuring perl module -langpref=$prefix -test "$langpref" = '$(DESTDIR)NONE' && langpref='$(DESTDIR)'$ac_default_prefix -test "$langpref" = "NONE" && langpref=$ac_default_prefix + http://oss.oetiker.ch/rrdtool/pub/libs -PERL_MAKE_OPTIONS="PREFIX=$langpref LIB=$langpref/lib/perl/$PERL_VERSION" + The last tested version of pangocairo is 1.17. -# Check whether --enable-perl-site-install was given. -if test "${enable_perl_site_install+set}" = set; then - enableval=$enable_perl_site_install; PERL_MAKE_OPTIONS= -fi + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS +---------------------------------------------------------------------------- + " >&2;} + EX_CHECK_ALL_ERR=YES + LIBS="${ex_check_save_LIBS}" + CPPFLAGS="${ex_check_save_CPPFLAGS}" + LDFLAGS="${ex_check_save_LDFLAGS}" + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test ! -z "$PERLCC"; then - PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CC=$PERLCC" - if test ! -z "$PERLCCFLAGS"; then - PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CCFLAGS=$PERLCCFLAGS" - fi - if test -z "$PERLLD"; then - PERLLD=$PERLCC - fi - PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LD=$PERLLD" - if test ! -z "$PERLLDFLAGS"; then - PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LDFLAGS=$PERLLDFLAGS" - fi -fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + EX_CHECK_STATE=NO + ex_check_save_LIBS=${LIBS} + ex_check_save_CPPFLAGS=${CPPFLAGS} + ex_check_save_LDFLAGS=${LDFLAGS} + if test "x/usr/include/libxml2" != "x"; then + CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xmlParseFile in -lxml2" >&5 +$as_echo_n "checking for xmlParseFile in -lxml2... " >&6; } +if test "${ac_cv_lib_xml2_xmlParseFile+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lxml2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Check whether --with-perl-options was given. -if test "${with_perl_options+set}" = set; then - withval=$with_perl_options; PERL_MAKE_OPTIONS=$withval +/* 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 xmlParseFile (); +int +main () +{ +return xmlParseFile (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_xml2_xmlParseFile=yes +else + ac_cv_lib_xml2_xmlParseFile=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xml2_xmlParseFile" >&5 +$as_echo "$ac_cv_lib_xml2_xmlParseFile" >&6; } +if test "x$ac_cv_lib_xml2_xmlParseFile" = x""yes; then : + ac_fn_c_check_header_mongrel "$LINENO" "libxml/parser.h" "ac_cv_header_libxml_parser_h" "$ac_includes_default" +if test "x$ac_cv_header_libxml_parser_h" = x""yes; then : + LIBS="-lxml2 ${LIBS}";EX_CHECK_STATE=YES +fi +fi - - - -# Extract the first word of "ruby", so it can be a program name with args. -set dummy ruby; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 + if test $EX_CHECK_STATE = NO; then + for ac_prog in pkg-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_RUBY+set}" = set; then +if test "${ac_cv_prog_PKGCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else - case $RUBY in - [\\/]* | ?:[\\/]*) - ac_cv_path_RUBY="$RUBY" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$PKGCONFIG"; then + ac_cv_prog_PKGCONFIG="$PKGCONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_RUBY="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + ac_cv_prog_PKGCONFIG="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS - test -z "$ac_cv_path_RUBY" && ac_cv_path_RUBY="no" - ;; -esac fi -RUBY=$ac_cv_path_RUBY -if test -n "$RUBY"; then - { $as_echo "$as_me:$LINENO: result: $RUBY" >&5 -$as_echo "$RUBY" >&6; } +fi +PKGCONFIG=$ac_cv_prog_PKGCONFIG +if test -n "$PKGCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 +$as_echo "$PKGCONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + test -n "$PKGCONFIG" && break +done +test -n "$PKGCONFIG" || PKGCONFIG="no" + + if test "$PKGCONFIG" != "no"; then + if $PKGCONFIG --exists libxml-2.0; then + CPPFLAGS=${CPPFLAGS}" "`$PKGCONFIG --cflags libxml-2.0` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-L libxml-2.0` + LDFLAGS=${LDFLAGS}" "`$PKGCONFIG --libs-only-other libxml-2.0` + LIBS=${LIBS}" "`$PKGCONFIG --libs-only-l libxml-2.0` + unset ac_cv_lib_`echo xml2 | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'`_xmlParseFile + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xmlParseFile in -lxml2" >&5 +$as_echo_n "checking for xmlParseFile in -lxml2... " >&6; } +if test "${ac_cv_lib_xml2_xmlParseFile+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lxml2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Check whether --enable-ruby was given. -if test "${enable_ruby+set}" = set; then - enableval=$enable_ruby; +/* 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 xmlParseFile (); +int +main () +{ +return xmlParseFile (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_xml2_xmlParseFile=yes else - enable_ruby=yes + ac_cv_lib_xml2_xmlParseFile=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xml2_xmlParseFile" >&5 +$as_echo "$ac_cv_lib_xml2_xmlParseFile" >&6; } +if test "x$ac_cv_lib_xml2_xmlParseFile" = x""yes; then : + unset ac_cv_header_`echo libxml/parser.h | sed 's/[^_a-zA-Z0-9]/_/g;s/^[0-9]/_/'` + ac_fn_c_check_header_mongrel "$LINENO" "libxml/parser.h" "ac_cv_header_libxml_parser_h" "$ac_includes_default" +if test "x$ac_cv_header_libxml_parser_h" = x""yes; then : + EX_CHECK_STATE=YES +fi -{ $as_echo "$as_me:$LINENO: checking if ruby modules can be built" >&5 -$as_echo_n "checking if ruby modules can be built... " >&6; } -if test "x$RUBY" = "xno" -o x$enable_ruby = xno; then - COMP_RUBY= - { $as_echo "$as_me:$LINENO: result: No .. Ruby not found or disabled" >&5 -$as_echo "No .. Ruby not found or disabled" >&6; } -else - if $RUBY -e 'require "mkmf"' >/dev/null 2>&1; then - COMP_RUBY="ruby" - { $as_echo "$as_me:$LINENO: result: YES" >&5 -$as_echo "YES" >&6; } - else - COMP_RUBY= - { $as_echo "$as_me:$LINENO: result: Ruby found but mkmf is missing! Install the -dev package" >&5 -$as_echo "Ruby found but mkmf is missing! Install the -dev package" >&6; } - fi -fi -# Check whether --enable-ruby-site-install was given. -if test "${enable_ruby_site_install+set}" = set; then - enableval=$enable_ruby_site_install; RUBY_MAKE_OPTIONS= -else - RUBY_MAKE_OPTIONS="sitedir=$langpref/lib/ruby" fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no libxml-2.0.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&5 +$as_echo "$as_me: WARNING: +---------------------------------------------------------------------------- +* I found a copy of pkgconfig, but there is no libxml-2.0.pc file around. + You may want to set the PKG_CONFIG_PATH variable to point to its + location. +---------------------------------------------------------------------------- + " >&2;} + fi + fi + fi + if test ${EX_CHECK_STATE} = NO; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +---------------------------------------------------------------------------- +* I could not find a working copy of libxml-2.0. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libxml2 and its header files. If + you have not installed libxml-2.0, you can get it either from its original home on + http://xmlsoft.org/downloads.html -# Check whether --with-ruby-options was given. -if test "${with_ruby_options+set}" = set; then - withval=$with_ruby_options; RUBY_MAKE_OPTIONS=$withval -fi + You can find also find an archive copy on + http://oss.oetiker.ch/rrdtool/pub/libs + The last tested version of libxml-2.0 is 2.6.31. + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS +---------------------------------------------------------------------------- + " >&5 +$as_echo "$as_me: WARNING: +---------------------------------------------------------------------------- +* I could not find a working copy of libxml-2.0. Check config.log for hints on why + this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately + so that compiler and the linker can find libxml2 and its header files. If + you have not installed libxml-2.0, you can get it either from its original home on + http://xmlsoft.org/downloads.html -# Extract the first word of "lua", so it can be a program name with args. -set dummy lua; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_LUA+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $LUA in - [\\/]* | ?:[\\/]*) - ac_cv_path_LUA="$LUA" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_LUA="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + You can find also find an archive copy on - test -z "$ac_cv_path_LUA" && ac_cv_path_LUA="no" - ;; -esac -fi -LUA=$ac_cv_path_LUA -if test -n "$LUA"; then - { $as_echo "$as_me:$LINENO: result: $LUA" >&5 -$as_echo "$LUA" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi + http://oss.oetiker.ch/rrdtool/pub/libs + The last tested version of libxml-2.0 is 2.6.31. + LIBS=$LIBS + LDFLAGS=$LDFLAGS + CPPFLAGS=$CPPFLAGS -# Check whether --enable-lua was given. -if test "${enable_lua+set}" = set; then - enableval=$enable_lua; -else - enable_lua=yes -fi +---------------------------------------------------------------------------- + " >&2;} + EX_CHECK_ALL_ERR=YES + LIBS="${ex_check_save_LIBS}" + CPPFLAGS="${ex_check_save_CPPFLAGS}" + LDFLAGS="${ex_check_save_LDFLAGS}" + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -COMP_LUA= -if test "$LUA" = "no" -o "$enable_lua" = "no"; then - enable_lua=no -else - { $as_echo "$as_me:$LINENO: checking for lua >= 5.0" >&5 -$as_echo_n "checking for lua >= 5.0... " >&6; } - read LUA_MAJOR LUA_MINOR LUA_POINT <&1 | cut -f2 -d' ' | sed -e 's/\./ /g') -LUA_EOF - if test 0$LUA_MAJOR -lt 5; then - { $as_echo "$as_me:$LINENO: result: no, version found is $LUA_MAJOR.$LUA_MINOR" >&5 -$as_echo "no, version found is $LUA_MAJOR.$LUA_MINOR" >&6; } - else - { $as_echo "$as_me:$LINENO: result: $LUA_MAJOR.$LUA_MINOR found" >&5 -$as_echo "$LUA_MAJOR.$LUA_MINOR found" >&6; } - lua_vdot=$LUA_MAJOR.$LUA_MINOR - lua_vndot=$LUA_MAJOR$LUA_MINOR - lua_version=$LUA_MAJOR.$LUA_MINOR.$LUA_POINT -for ac_header in lua$lua_vndot/lua.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no +if test "$EX_CHECK_ALL_ERR" = "YES"; then + as_fn_error "Please fix the library issues listed above and try again." "$LINENO" 5 fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +ALL_LIBS="$LIBS" +LIBS= -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ;; +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Prep for Building Language Bindings${T_ME}" >&5 +$as_echo "${T_MD}Prep for Building Language Bindings${T_ME}" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -for ac_header in lua$lua_vndot/lualib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +PATH=$PATH:/usr/perl5/bin +export PATH +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PERL+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + case $PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_PERL="$PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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;; + test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +fi +PERL=$ac_cv_path_PERL +if test -n "$PERL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +$as_echo "$PERL" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} +# Extract the first word of "pod2man", so it can be a program name with args. +set dummy pod2man; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_POD2MAN+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $POD2MAN in + [\\/]* | ?:[\\/]*) + ac_cv_path_POD2MAN="$POD2MAN" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_POD2MAN="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ;; + test -z "$ac_cv_path_POD2MAN" && ac_cv_path_POD2MAN="no" + ;; esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 +fi +POD2MAN=$ac_cv_path_POD2MAN +if test -n "$POD2MAN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POD2MAN" >&5 +$as_echo "$POD2MAN" >&6; } else - eval "$as_ac_Header=\$ac_header_preproc" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - as_ac_Header=`$as_echo "ac_cv_header_lua$lua_vndot/lauxlib.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for lua$lua_vndot/lauxlib.h" >&5 -$as_echo_n "checking for lua$lua_vndot/lauxlib.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + +# Extract the first word of "pod2html", so it can be a program name with args. +set dummy pod2html; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_POD2HTML+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking lua$lua_vndot/lauxlib.h usability" >&5 -$as_echo_n "checking lua$lua_vndot/lauxlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + case $POD2HTML in + [\\/]* | ?:[\\/]*) + ac_cv_path_POD2HTML="$POD2HTML" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_POD2HTML="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_POD2HTML" && ac_cv_path_POD2HTML="no" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +fi +POD2HTML=$ac_cv_path_POD2HTML +if test -n "$POD2HTML"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POD2HTML" >&5 +$as_echo "$POD2HTML" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking lua$lua_vndot/lauxlib.h presence" >&5 -$as_echo_n "checking lua$lua_vndot/lauxlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no + +# Check whether --enable-perl was given. +if test "${enable_perl+set}" = set; then : + enableval=$enable_perl; +else + enable_perl=yes fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vndot/lauxlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: lua$lua_vndot/lauxlib.h: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for lua$lua_vndot/lauxlib.h" >&5 -$as_echo_n "checking for lua$lua_vndot/lauxlib.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - lua_headerdir=lua$lua_vndot -fi -fi -done +if test "x$PERL" = "xno" -o x$enable_perl = xno; then + COMP_PERL= else - -for ac_header in lua$lua_vdot/lua.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + COMP_PERL="perl_piped perl_shared" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the perl version you are running" >&5 +$as_echo_n "checking for the perl version you are running... " >&6; } + PERL_VERSION=`$PERL -MConfig -e 'print $Config{version}'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL_VERSION" >&5 +$as_echo "$PERL_VERSION" >&6; } + if test -z "$PERLCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the C compiler perl wants to use to build its modules" >&5 +$as_echo_n "checking for the C compiler perl wants to use to build its modules... " >&6; } + perlcc=`$PERL -MConfig -e 'print $Config{cc}'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $perlcc" >&5 +$as_echo "$perlcc" >&6; } + if test ! -x "$perlcc"; then + # Extract the first word of "${perlcc}", so it can be a program name with args. +set dummy ${perlcc}; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PERL_CC+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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;; + case $PERL_CC in + [\\/]* | ?:[\\/]*) + ac_cv_path_PERL_CC="$PERL_CC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PERL_CC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PERL_CC" && ac_cv_path_PERL_CC="no" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +fi +PERL_CC=$ac_cv_path_PERL_CC +if test -n "$PERL_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL_CC" >&5 +$as_echo "$PERL_CC" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test "$PERL_CC" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +I would not find the Compiler ($perlcc) that was originally used to compile +your perl binary. You should either make sure that this compiler is +available on your system, pick an other compiler and set PERLCC +appropriately, or use a different perl setup that was compiled locally. - ac_header_preproc=no +I will disable the compilation of the RRDs perl module for now. +" >&5 +$as_echo "$as_me: WARNING: +I would not find the Compiler ($perlcc) that was originally used to compile +your perl binary. You should either make sure that this compiler is +available on your system, pick an other compiler and set PERLCC +appropriately, or use a different perl setup that was compiled locally. + +I will disable the compilation of the RRDs perl module for now. +" >&2;} + COMP_PERL="perl_piped" + fi + fi + fi fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Perl Modules to build" >&5 +$as_echo_n "checking Perl Modules to build... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${COMP_PERL:-No Perl Modules will be built}" >&5 +$as_echo "${COMP_PERL:-No Perl Modules will be built}" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} +# Options to pass when configuring perl module +langpref=$prefix +test "$langpref" = '$(DESTDIR)NONE' && langpref='$(DESTDIR)'$ac_default_prefix +test "$langpref" = "NONE" && langpref=$ac_default_prefix - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +PERL_MAKE_OPTIONS="PREFIX=$langpref LIB=$langpref/lib/perl/$PERL_VERSION" +# Check whether --enable-perl-site-install was given. +if test "${enable_perl_site_install+set}" = set; then : + enableval=$enable_perl_site_install; PERL_MAKE_OPTIONS= fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -for ac_header in lua$lua_vdot/lualib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 + +if test ! -z "$PERLCC"; then + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CC=$PERLCC" + + if test ! -z "$PERLCCFLAGS"; then + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS CCFLAGS=$PERLCCFLAGS" + fi + + if test -z "$PERLLD"; then + PERLLD=$PERLCC + fi + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LD=$PERLLD" + + if test ! -z "$PERLLDFLAGS"; then + PERL_MAKE_OPTIONS="$PERL_MAKE_OPTIONS LDFLAGS=$PERLLDFLAGS" + fi fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no + +# Check whether --with-perl-options was given. +if test "${with_perl_options+set}" = set; then : + withval=$with_perl_options; PERL_MAKE_OPTIONS=$withval fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - as_ac_Header=`$as_echo "ac_cv_header_lua$lua_vdot/lauxlib.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for lua$lua_vdot/lauxlib.h" >&5 -$as_echo_n "checking for lua$lua_vdot/lauxlib.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +# Extract the first word of "ruby", so it can be a program name with args. +set dummy ruby; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_RUBY+set}" = set; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking lua$lua_vdot/lauxlib.h usability" >&5 -$as_echo_n "checking lua$lua_vdot/lauxlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + case $RUBY in + [\\/]* | ?:[\\/]*) + ac_cv_path_RUBY="$RUBY" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_RUBY="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_RUBY" && ac_cv_path_RUBY="no" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +fi +RUBY=$ac_cv_path_RUBY +if test -n "$RUBY"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUBY" >&5 +$as_echo "$RUBY" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking lua$lua_vdot/lauxlib.h presence" >&5 -$as_echo_n "checking lua$lua_vdot/lauxlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no +# Check whether --enable-ruby was given. +if test "${enable_ruby+set}" = set; then : + enableval=$enable_ruby; +else + enable_ruby=yes fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua$lua_vdot/lauxlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: lua$lua_vdot/lauxlib.h: in the future, the compiler will take precedence" >&2;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ruby modules can be built" >&5 +$as_echo_n "checking if ruby modules can be built... " >&6; } - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for lua$lua_vdot/lauxlib.h" >&5 -$as_echo_n "checking for lua$lua_vdot/lauxlib.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 +if test "x$RUBY" = "xno" -o x$enable_ruby = xno; then + COMP_RUBY= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: No .. Ruby not found or disabled" >&5 +$as_echo "No .. Ruby not found or disabled" >&6; } else - eval "$as_ac_Header=\$ac_header_preproc" + if $RUBY -e 'require "mkmf"' >/dev/null 2>&1; then + COMP_RUBY="ruby" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: YES" >&5 +$as_echo "YES" >&6; } + else + COMP_RUBY= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Ruby found but mkmf is missing! Install the -dev package" >&5 +$as_echo "Ruby found but mkmf is missing! Install the -dev package" >&6; } + fi fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - lua_headerdir=lua$lua_vdot +# Check whether --enable-ruby-site-install was given. +if test "${enable_ruby_site_install+set}" = set; then : + enableval=$enable_ruby_site_install; RUBY_MAKE_OPTIONS= +else + RUBY_MAKE_OPTIONS="sitedir=$langpref/lib/ruby" fi + + +# Check whether --with-ruby-options was given. +if test "${with_ruby_options+set}" = set; then : + withval=$with_ruby_options; RUBY_MAKE_OPTIONS=$withval fi -done -else -for ac_header in lua.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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;; +# Extract the first word of "lua", so it can be a program name with args. +set dummy lua; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_LUA+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $LUA in + [\\/]* | ?:[\\/]*) + ac_cv_path_LUA="$LUA" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_LUA="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_LUA" && ac_cv_path_LUA="no" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 +fi +LUA=$ac_cv_path_LUA +if test -n "$LUA"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LUA" >&5 +$as_echo "$LUA" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 +# Check whether --enable-lua was given. +if test "${enable_lua+set}" = set; then : + enableval=$enable_lua; else - eval "$as_ac_Header=\$ac_header_preproc" + enable_lua=yes fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -for ac_header in lualib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +COMP_LUA= +if test "$LUA" = "no" -o "$enable_lua" = "no"; then + enable_lua=no else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua >= 5.0" >&5 +$as_echo_n "checking for lua >= 5.0... " >&6; } + read LUA_MAJOR LUA_MINOR LUA_POINT <&1 | cut -f2 -d' ' | sed -e 's/\./ /g') +LUA_EOF + if test 0$LUA_MAJOR -lt 5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, version found is $LUA_MAJOR.$LUA_MINOR" >&5 +$as_echo "no, version found is $LUA_MAJOR.$LUA_MINOR" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LUA_MAJOR.$LUA_MINOR found" >&5 +$as_echo "$LUA_MAJOR.$LUA_MINOR found" >&6; } + lua_vdot=$LUA_MAJOR.$LUA_MINOR + lua_vndot=$LUA_MAJOR$LUA_MINOR + lua_version=$LUA_MAJOR.$LUA_MINOR.$LUA_POINT + for ac_header in lua$lua_vndot/lua.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> + for ac_header in lua$lua_vndot/lualib.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no + as_ac_Header=`$as_echo "ac_cv_header_lua$lua_vndot/lauxlib.h" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "lua$lua_vndot/lauxlib.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + lua_headerdir=lua$lua_vndot fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} +done - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_header in lua$lua_vdot/lua.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - if test "${ac_cv_header_lauxlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for lauxlib.h" >&5 -$as_echo_n "checking for lauxlib.h... " >&6; } -if test "${ac_cv_header_lauxlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lauxlib_h" >&5 -$as_echo "$ac_cv_header_lauxlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking lauxlib.h usability" >&5 -$as_echo_n "checking lauxlib.h usability... " >&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 + for ac_header in lua$lua_vdot/lualib.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no + as_ac_Header=`$as_echo "ac_cv_header_lua$lua_vdot/lauxlib.h" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "lua$lua_vdot/lauxlib.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + lua_headerdir=lua$lua_vdot fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking lauxlib.h presence" >&5 -$as_echo_n "checking lauxlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lauxlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: lauxlib.h: in the future, the compiler will take precedence" >&2;} +done - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for lauxlib.h" >&5 -$as_echo_n "checking for lauxlib.h... " >&6; } -if test "${ac_cv_header_lauxlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 else - ac_cv_header_lauxlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lauxlib_h" >&5 -$as_echo "$ac_cv_header_lauxlib_h" >&6; } - -fi -if test "x$ac_cv_header_lauxlib_h" = x""yes; then + for ac_header in lua.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "lua.h" "ac_cv_header_lua_h" "$ac_includes_default" +if test "x$ac_cv_header_lua_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LUA_H 1 +_ACEOF + for ac_header in lualib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "lualib.h" "ac_cv_header_lualib_h" "$ac_includes_default" +if test "x$ac_cv_header_lualib_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LUALIB_H 1 +_ACEOF + ac_fn_c_check_header_mongrel "$LINENO" "lauxlib.h" "ac_cv_header_lauxlib_h" "$ac_includes_default" +if test "x$ac_cv_header_lauxlib_h" = x""yes; then : lua_headerdir="" else lua_headerdir="no" @@ -31941,24 +21189,20 @@ done if test "$COMP_LUA" != "lua"; then enable_lua=no - { $as_echo "$as_me:$LINENO: WARNING: Lua $lua_vdot found but not lua.h, lualib.h and lauxlib.h! Please install the -dev packages for Lua $lua_vdot" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Lua $lua_vdot found but not lua.h, lualib.h and lauxlib.h! Please install the -dev packages for Lua $lua_vdot" >&5 $as_echo "$as_me: WARNING: Lua $lua_vdot found but not lua.h, lualib.h and lauxlib.h! Please install the -dev packages for Lua $lua_vdot" >&2;} else # OK, headers found, let's check the libraries (LIBS is not used) LIBS= lua_havelib=no LUA_HAVE_COMPAT51=DONT_HAVE_COMPAT51 - { $as_echo "$as_me:$LINENO: checking for library containing lua_call" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing lua_call" >&5 $as_echo_n "checking for library containing lua_call... " >&6; } -if test "${ac_cv_search_lua_call+set}" = set; then +if test "${ac_cv_search_lua_call+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -31983,66 +21227,35 @@ for ac_lib in '' lua$lua_vdot lua$lua_vndot lua; do ac_res=-l$ac_lib LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS" fi - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_lua_call=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_lua_call+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_lua_call+set}" = set; then : break fi done -if test "${ac_cv_search_lua_call+set}" = set; then - : +if test "${ac_cv_search_lua_call+set}" = set; then : + else ac_cv_search_lua_call=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_lua_call" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_lua_call" >&5 $as_echo "$ac_cv_search_lua_call" >&6; } ac_res=$ac_cv_search_lua_call -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - { $as_echo "$as_me:$LINENO: checking for library containing luaL_register" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing luaL_register" >&5 $as_echo_n "checking for library containing luaL_register... " >&6; } -if test "${ac_cv_search_luaL_register+set}" = set; then +if test "${ac_cv_search_luaL_register+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -32067,68 +21280,37 @@ for ac_lib in '' lua$lua_vdot lua$lua_vndot lua; do ac_res=-l$ac_lib LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS" fi - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_luaL_register=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_luaL_register+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_luaL_register+set}" = set; then : break fi done -if test "${ac_cv_search_luaL_register+set}" = set; then - : +if test "${ac_cv_search_luaL_register+set}" = set; then : + else ac_cv_search_luaL_register=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_luaL_register" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_luaL_register" >&5 $as_echo "$ac_cv_search_luaL_register" >&6; } ac_res=$ac_cv_search_luaL_register -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" lua_havelib=LUA$lua_vndot else - { $as_echo "$as_me:$LINENO: checking for library containing luaL_module" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing luaL_module" >&5 $as_echo_n "checking for library containing luaL_module... " >&6; } -if test "${ac_cv_search_luaL_module+set}" = set; then +if test "${ac_cv_search_luaL_module+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -32153,69 +21335,38 @@ for ac_lib in '' lualib$lua_vndot lualib$lua_vdot lualib; do ac_res=-l$ac_lib LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS" fi - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_luaL_module=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_luaL_module+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_luaL_module+set}" = set; then : break fi done -if test "${ac_cv_search_luaL_module+set}" = set; then - : +if test "${ac_cv_search_luaL_module+set}" = set; then : + else ac_cv_search_luaL_module=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_luaL_module" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_luaL_module" >&5 $as_echo "$ac_cv_search_luaL_module" >&6; } ac_res=$ac_cv_search_luaL_module -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" lua_havelib=$lua_vndot; $LUA -l compat-5.1 2>/dev/null; test "$?" = "0" && LUA_HAVE_COMPAT51=HAVE_COMPAT51 else - { $as_echo "$as_me:$LINENO: checking for library containing luaL_openlib" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing luaL_openlib" >&5 $as_echo_n "checking for library containing luaL_openlib... " >&6; } -if test "${ac_cv_search_luaL_openlib+set}" = set; then +if test "${ac_cv_search_luaL_openlib+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -32236,58 +21387,31 @@ _ACEOF for ac_lib in '' lualib$lua_vdot lualib$lua_vndot lualib; do if test -z "$ac_lib"; then ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS" - fi - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_luaL_openlib=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_luaL_openlib+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_luaL_openlib+set}" = set; then : break fi done -if test "${ac_cv_search_luaL_openlib+set}" = set; then - : +if test "${ac_cv_search_luaL_openlib+set}" = set; then : + else ac_cv_search_luaL_openlib=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_luaL_openlib" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_luaL_openlib" >&5 $as_echo "$ac_cv_search_luaL_openlib" >&6; } ac_res=$ac_cv_search_luaL_openlib -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" lua_havelib=$lua_vndot else @@ -32340,7 +21464,7 @@ fi # if not set with pkg-config, use default values in src packages compat-5.1, lua 5.1 if test "$LUA_CFLAGS" = ""; then - { $as_echo "$as_me:$LINENO: WARNING: Setting Lua include and lib flags to defaults in compat-5.1 and lua 5.1 sources" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Setting Lua include and lib flags to defaults in compat-5.1 and lua 5.1 sources" >&5 $as_echo "$as_me: WARNING: Setting Lua include and lib flags to defaults in compat-5.1 and lua 5.1 sources" >&2;} LUA_CFLAGS="-I/usr/local/include -I/usr/local/include/lua -I/usr/local/include/lua/$lua_vdot" LUA_LFLAGS="-L/usr/local/lib -L/usr/local/lib/lua -L/usr/local/lib/lua/$lua_vdot $lua_libs" @@ -32348,7 +21472,7 @@ $as_echo "$as_me: WARNING: Setting Lua include and lib flags to defaults in comp fi # Check whether --enable-lua-site-install was given. -if test "${enable_lua_site_install+set}" = set; then +if test "${enable_lua_site_install+set}" = set; then : enableval=$enable_lua_site_install; else LUA_INSTALL_CMOD="$LUA_RRD_LIBDIR"; LUA_INSTALL_LMOD="$LUA_RRD_LIBDIR" @@ -32365,7 +21489,7 @@ fi else enable_lua=no - { $as_echo "$as_me:$LINENO: result: Lua headers found but not the libraries! Please reinstall the dev packages for Lua $LUA_MAJOR.$LUA_MINOR" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Lua headers found but not the libraries! Please reinstall the dev packages for Lua $LUA_MAJOR.$LUA_MINOR" >&5 $as_echo "Lua headers found but not the libraries! Please reinstall the dev packages for Lua $LUA_MAJOR.$LUA_MINOR" >&6; } fi fi @@ -32415,7 +21539,7 @@ fi enable_tcl_site=no # Check whether --enable-tcl was given. -if test "${enable_tcl+set}" = set; then +if test "${enable_tcl+set}" = set; then : enableval=$enable_tcl; else enable_tcl=yes @@ -32426,28 +21550,28 @@ if test "$enable_tcl" = "yes"; then withval="" # Check whether --with-tcllib was given. -if test "${with_tcllib+set}" = set; then +if test "${with_tcllib+set}" = set; then : withval=$with_tcllib; fi enable_tcl=no for dir in $withval /usr/lib /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do - { $as_echo "$as_me:$LINENO: checking for tclConfig.sh in $dir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tclConfig.sh in $dir" >&5 $as_echo_n "checking for tclConfig.sh in $dir... " >&6; } if test -f "$dir/tclConfig.sh" ; then tcl_config=$dir/tclConfig.sh enable_tcl=yes - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } break else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi done if test "$enable_tcl" = "no"; then - { $as_echo "$as_me:$LINENO: WARNING: tclConfig.sh not found - Tcl interface will not be built" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: tclConfig.sh not found - Tcl interface will not be built" >&5 $as_echo "$as_me: WARNING: tclConfig.sh not found - Tcl interface will not be built" >&2;} else . $tcl_config @@ -32457,7 +21581,7 @@ $as_echo "$as_me: WARNING: tclConfig.sh not found - Tcl interface will not be bu fi fi # Check whether --enable-tcl was given. -if test "${enable_tcl+set}" = set; then +if test "${enable_tcl+set}" = set; then : enableval=$enable_tcl; else enable_tcl_site=yes @@ -32496,7 +21620,7 @@ fi # Check whether --enable-python was given. -if test "${enable_python+set}" = set; then +if test "${enable_python+set}" = set; then : enableval=$enable_python; else enable_python=yes @@ -32510,7 +21634,7 @@ if test "$enable_python" = "yes"; then if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. - { $as_echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.3" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.3" >&5 $as_echo_n "checking whether $PYTHON version >= 2.3... " >&6; } prog="import sys # split strings by '.' and convert to numeric. Append some zeros @@ -32525,22 +21649,19 @@ sys.exit(sys.hexversion < minverhex)" ($PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + (exit $ac_status); }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - { { $as_echo "$as_me:$LINENO: error: too old" >&5 -$as_echo "$as_me: error: too old" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "too old" "$LINENO" 5 fi - am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. - { $as_echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.3" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.3" >&5 $as_echo_n "checking for a Python interpreter with version >= 2.3... " >&6; } -if test "${am_cv_pathless_PYTHON+set}" = set; then +if test "${am_cv_pathless_PYTHON+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -32559,13 +21680,12 @@ sys.exit(sys.hexversion < minverhex)" ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + (exit $ac_status); }; then : break fi - done fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 $as_echo "$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then @@ -32573,9 +21693,9 @@ $as_echo "$am_cv_pathless_PYTHON" >&6; } else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PYTHON+set}" = set; then +if test "${ac_cv_path_PYTHON+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PYTHON in @@ -32588,14 +21708,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -32603,10 +21723,10 @@ esac fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then - { $as_echo "$as_me:$LINENO: result: $PYTHON" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 $as_echo "$PYTHON" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -32621,14 +21741,14 @@ fi else - { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 $as_echo_n "checking for $am_display_PYTHON version... " >&6; } -if test "${am_cv_python_version+set}" = set; then +if test "${am_cv_python_version+set}" = set; then : $as_echo_n "(cached) " >&6 else am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_python_version" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 $as_echo "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version @@ -32640,23 +21760,23 @@ $as_echo "$am_cv_python_version" >&6; } - { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 $as_echo_n "checking for $am_display_PYTHON platform... " >&6; } -if test "${am_cv_python_platform+set}" = set; then +if test "${am_cv_python_platform+set}" = set; then : $as_echo_n "(cached) " >&6 else am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 $as_echo "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform - { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 $as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } -if test "${am_cv_python_pythondir+set}" = set; then +if test "${am_cv_python_pythondir+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$prefix" = xNONE @@ -32675,7 +21795,7 @@ else esac fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 $as_echo "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir @@ -32684,9 +21804,9 @@ $as_echo "$am_cv_python_pythondir" >&6; } pkgpythondir=\${pythondir}/$PACKAGE - { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 $as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } -if test "${am_cv_python_pyexecdir+set}" = set; then +if test "${am_cv_python_pyexecdir+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$exec_prefix" = xNONE @@ -32705,7 +21825,7 @@ else esac fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 $as_echo "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir @@ -32719,7 +21839,7 @@ $as_echo "$am_cv_python_pyexecdir" >&6; } -{ $as_echo "$as_me:$LINENO: checking for headers required to compile python extensions" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for headers required to compile python extensions" >&5 $as_echo_n "checking for headers required to compile python extensions... " >&6; } py_prefix=`$PYTHON -c "import sys; print sys.prefix"` py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` @@ -32730,44 +21850,20 @@ fi save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - { $as_echo "$as_me:$LINENO: result: found" >&5 +if ac_fn_c_try_cpp "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 $as_echo "found" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: not found" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } -enable_python=no;{ $as_echo "$as_me:$LINENO: WARNING: could not find Python headers" >&5 +enable_python=no;{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not find Python headers" >&5 $as_echo "$as_me: WARNING: could not find Python headers" >&2;} fi - rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" @@ -32785,9 +21881,9 @@ for ac_prog in gnroff nroff do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_NROFF+set}" = set; then +if test "${ac_cv_path_NROFF+set}" = set; then : $as_echo_n "(cached) " >&6 else case $NROFF in @@ -32800,14 +21896,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -32815,10 +21911,10 @@ esac fi NROFF=$ac_cv_path_NROFF if test -n "$NROFF"; then - { $as_echo "$as_me:$LINENO: result: $NROFF" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5 $as_echo "$NROFF" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -32830,9 +21926,9 @@ for ac_prog in groff troff do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_TROFF+set}" = set; then +if test "${ac_cv_path_TROFF+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TROFF in @@ -32845,14 +21941,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_TROFF="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -32860,10 +21956,10 @@ esac fi TROFF=$ac_cv_path_TROFF if test -n "$TROFF"; then - { $as_echo "$as_me:$LINENO: result: $TROFF" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TROFF" >&5 $as_echo "$TROFF" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -32893,9 +21989,9 @@ case $TERM in T_ME='' ;; esac - { $as_echo "$as_me:$LINENO: result: " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } - { $as_echo "$as_me:$LINENO: result: ${T_MD}Apply Configuration Information${T_ME}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Apply Configuration Information${T_ME}" >&5 $as_echo "${T_MD}Apply Configuration Information${T_ME}" >&6; } @@ -32972,13 +22068,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -32986,8 +22082,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -33010,11 +22106,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -33034,8 +22130,8 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -33043,18 +22139,12 @@ LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -n "$EXEEXT"; then am__EXEEXT_TRUE= @@ -33065,105 +22155,67 @@ else fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${STATIC_PROGRAMS_TRUE}" && test -z "${STATIC_PROGRAMS_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"STATIC_PROGRAMS\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"STATIC_PROGRAMS\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"STATIC_PROGRAMS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_GETOPT_TRUE}" && test -z "${BUILD_GETOPT_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_GETOPT\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_GETOPT\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"BUILD_GETOPT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_MULTITHREAD_TRUE}" && test -z "${BUILD_MULTITHREAD_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_MULTITHREAD\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_MULTITHREAD\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"BUILD_MULTITHREAD\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LIBDBI_TRUE}" && test -z "${BUILD_LIBDBI_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_LIBDBI\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_LIBDBI\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"BUILD_LIBDBI\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_RRDCGI_TRUE}" && test -z "${BUILD_RRDCGI_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_RRDCGI\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_RRDCGI\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"BUILD_RRDCGI\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LUA_NEED_OUR_COMPAT51_TRUE}" && test -z "${LUA_NEED_OUR_COMPAT51_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"LUA_NEED_OUR_COMPAT51\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"LUA_NEED_OUR_COMPAT51\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"LUA_NEED_OUR_COMPAT51\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LUA_SITE_CINSTALL_TRUE}" && test -z "${LUA_SITE_CINSTALL_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"LUA_SITE_CINSTALL\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"LUA_SITE_CINSTALL\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"LUA_SITE_CINSTALL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LUA_SITE_LINSTALL_TRUE}" && test -z "${LUA_SITE_LINSTALL_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"LUA_SITE_LINSTALL\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"LUA_SITE_LINSTALL\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"LUA_SITE_LINSTALL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LUA50_TRUE}" && test -z "${LUA50_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"LUA50\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"LUA50\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"LUA50\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LUA_TRUE}" && test -z "${BUILD_LUA_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_LUA\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_LUA\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"BUILD_LUA\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_TCL_TRUE}" && test -z "${BUILD_TCL_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_TCL\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_TCL\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"BUILD_TCL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_TCL_SITE_TRUE}" && test -z "${BUILD_TCL_SITE_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_TCL_SITE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_TCL_SITE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"BUILD_TCL_SITE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -33173,17 +22225,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -33191,23 +22244,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -33215,7 +22260,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -33226,7 +22277,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -33249,13 +22300,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -33265,15 +22309,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -33285,12 +22329,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -33302,7 +22350,89 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -33316,8 +22446,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -33337,76 +22471,25 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -33435,8 +22518,56 @@ fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -33455,10 +22586,10 @@ else if test -d "$1"; then test -d "$1/."; else - case $1 in + case $1 in #( -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -33473,13 +22604,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -# Save the log message, to keep $[0] and so on meaningful, and to +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # 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.3.99909060808, which was -generated by GNU Autoconf 2.63. Invocation command line was +This file was extended by rrdtool $as_me 1.3.999, which was +generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -33511,10 +22648,11 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTION]... [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit @@ -33536,16 +22674,16 @@ $config_headers Configuration commands: $config_commands -Report bugs to ." +Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -rrdtool config.status 1.3.99909060808 -configured by $0, generated by GNU Autoconf 2.63, +rrdtool config.status 1.3.999 +configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2008 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -33588,20 +22726,19 @@ do case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; + as_fn_error "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -33609,11 +22746,10 @@ Try \`$0 --help' for more information." >&2 ac_cs_silent=: ;; # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; + -*) as_fn_error "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" + *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac @@ -33953,9 +23089,7 @@ do "bindings/lua/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/lua/Makefile" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -33982,7 +23116,7 @@ $debug || trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. @@ -33993,11 +23127,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -34005,10 +23135,16 @@ $debug || if test -n "$CONFIG_FILES"; then -ac_cr=' ' +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' + ac_cs_awk_cr='\r' else ac_cs_awk_cr=$ac_cr fi @@ -34022,24 +23158,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -34128,9 +23258,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), @@ -34171,9 +23299,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -34258,9 +23384,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -34273,9 +23397,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; + :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -34303,12 +23425,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" + as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -34319,7 +23439,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -34332,9 +23452,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -34362,47 +23480,7 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in @@ -34459,7 +23537,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= - ac_sed_dataroot=' /datarootdir/ { p @@ -34469,12 +23546,11 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p -' +/@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -34484,7 +23560,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -34513,14 +23589,12 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} @@ -34530,9 +23604,7 @@ which seems to be undefined. Please make sure it is defined." >&2;} -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -34543,25 +23615,19 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -34599,7 +23665,7 @@ $as_echo X"$_am_arg" | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -34694,47 +23760,7 @@ $as_echo X"$file" | q } s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done @@ -35494,15 +24520,12 @@ _LT_EOF done # for ac_tag -{ (exit 0); exit 0; } +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 test -f config.h || ln -s rrd_config.h config.h @@ -35524,17 +24547,17 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit $? fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi -{ $as_echo "$as_me:$LINENO: checking in" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking in" >&5 $as_echo_n "checking in... " >&6; } -{ $as_echo "$as_me:$LINENO: result: and out again" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: and out again" >&5 $as_echo "and out again" >&6; } echo $ECHO_N "ordering CD from http://tobi.oetiker.ch/wish $ECHO_C" 1>&6 @@ -35547,7 +24570,7 @@ echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 -{ $as_echo "$as_me:$LINENO: result: just kidding ;-)" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: just kidding ;-)" >&5 $as_echo " just kidding ;-)" >&6; } echo echo "----------------------------------------------------------------" diff --git a/configure.ac b/configure.ac index 38a703a..65aa310 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl RRDtool AutoConf script ... dnl --------------------------- -dnl $Id: configure.ac 1857 2009-06-08 05:12:26Z oetiker $ +dnl $Id$ dnl dnl Created by Jeff Allen, Tobi Oetiker, Blair Zajac dnl @@ -13,14 +13,14 @@ AC_PREREQ(2.59) dnl the official version number is dnl a.b.c -AC_INIT([rrdtool],[1.3.99909060808]) +AC_INIT([rrdtool],[1.3.999]) dnl for testing a numberical version number comes handy dnl the released version are dnl a.bccc dnl the devel versions will be something like dnl a.b999yymmddhh -NUMVERS=1.399909060808 +NUMVERS=1.3999 AC_SUBST(NUMVERS) dnl for the linker to understand which versions the library are compatible with @@ -36,9 +36,12 @@ AC_SUBST(LIBVERS) AC_CANONICAL_TARGET m4_version_prereq(2.60, [AC_USE_SYSTEM_EXTENSIONS], [#]) -AM_INIT_AUTOMAKE(m4_version_prereq(2.63, [silent-rules], [[]])) +AM_INIT_AUTOMAKE AM_MAINTAINER_MODE -m4_version_prereq(2.63, [AM_SILENT_RULES([yes])], [#]) +# Enable silent build rules by default, requires at least +# Automake-1.11. Disable by either passing --disable-silent-rules to +# configure or passing V=1 to make +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_HEADERS([rrd_config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -179,7 +182,7 @@ CONFIGURE_PART(Checking for Header Files) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT -AC_CHECK_HEADERS(libgen.h features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h signal.h float.h stdio.h stdlib.h errno.h string.h ctype.h) +AC_CHECK_HEADERS(stdint.h inttypes.h libgen.h features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h signal.h float.h stdio.h stdlib.h errno.h string.h ctype.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -449,6 +452,33 @@ AC_LINK_IFELSE( ) ] ) + +dnl is time_t long or long long ? +AC_DEFINE([TIME_T_IS_LONG], [], [time_t is long]) +AC_DEFINE([TIME_T_IS_LONG_LONG], [], [time_t is long long]) +AC_MSG_CHECKING([the type of time_t]) +AC_RUN_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[if (sizeof(long) != sizeof(time_t)) return 1; ]] + ), + [ AC_MSG_RESULT([time_t is long]) + AC_DEFINE([TIME_T_IS_LONG]) + ], + [ AC_RUN_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[if (sizeof(long long) != sizeof(time_t)) return 1; ]] + ), + [ + AC_MSG_RESULT([time_t is long long]) + AC_DEFINE([TIME_T_IS_LONG_LONG]) + ], + [AC_MSG_ERROR([can not figure type of time_t])] + ) + ] +) + AC_LANG_POP(C) CONFIGURE_PART(Find 3rd-Party Libraries) @@ -513,10 +543,10 @@ AC_ARG_ENABLE(perl,AS_HELP_STRING([--disable-perl],[do not build the perl module [],[enable_perl=yes]) -AC_ARG_VAR(PERLCC, [[] C compiler for Perl modules]) -AC_ARG_VAR(PERLCCFLAGS, [[] CC flags for Perl modules]) -AC_ARG_VAR(PERLLD, [[same as PERLCC] Linker for Perl modules]) -AC_ARG_VAR(PERLLDFLAGS, [[] LD flags for Perl modules]) +AC_ARG_VAR(PERLCC, [C compiler for Perl modules]) +AC_ARG_VAR(PERLCCFLAGS, [CC flags for Perl modules]) +AC_ARG_VAR(PERLLD, [Linker for Perl modules]) +AC_ARG_VAR(PERLLDFLAGS, [LD flags for Perl modules]) if test "x$PERL" = "xno" -o x$enable_perl = xno; then COMP_PERL= diff --git a/doc/Makefile.am b/doc/Makefile.am index 617beb3..c805740 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,19 +1,19 @@ ## Process this file with automake to produce Makefile.in -SUFFIXES = .pod .1 .man .html .txt .pm .pdf .inc +SUFFIXES = .pod .pl .1 .3 .man .html .txt .pm .pdf .inc -#AUTOMAKE_OPTIONS = foreign +AUTOMAKE_OPTIONS = foreign #ACLOCAL_M4 = $(top_srcdir)/config/aclocal.m4 -CLEANFILES = *.1 *.html *.txt *-dircache RRD?.pod *.pdf *~ core *itemcache *.rej *.orig *.tmp +CLEANFILES = *.1 *.3 *.html *.txt *-dircache RRD?.pod *.pdf *~ core *itemcache *.rej *.orig *.tmp POD = bin_dec_hex.pod rrddump.pod rrdgraph_examples.pod rrdrestore.pod rrdupdate.pod \ cdeftutorial.pod rrdfetch.pod rrdgraph_graph.pod rrdthreads.pod rrdxport.pod \ rpntutorial.pod rrdfirst.pod rrdgraph_rpn.pod rrdtool.pod rrdcached.pod \ rrd-beginners.pod rrdinfo.pod rrdtune.pod rrdbuild.pod rrdflushcached.pod \ rrdcgi.pod rrdgraph.pod rrdlast.pod rrdlastupdate.pod \ - rrdcreate.pod rrdgraph_data.pod rrdresize.pod rrdtutorial.pod librrd.pod + rrdcreate.pod rrdgraph_data.pod rrdresize.pod rrdtutorial.pod if BUILD_LIBDBI POD += rrdgraph_libdbi.pod @@ -23,15 +23,18 @@ if BUILD_LUA POD += rrdlua.pod endif +POD3 = librrd.pod + PMP = RRDs.pod RRDp.pod MAN = $(POD:.pod=.1) -TXT = $(MAN:.1=.txt) -HTML = $(POD:.pod=.html) $(PMP:.pod=.html) -PDF = $(MAN:.1=.pdf) +MAN3 = $(POD3:.pod=.3) +TXT = $(MAN:.1=.txt) $(MAN3:.3=.txt) +HTML = $(POD:.pod=.html) $(POD3:.pod=.html) $(PMP:.pod=.html) +PDF = $(MAN:.1=.pdf) $(MAN3:.3=.pdf) # what should go into the distribution -EXTRA_DIST= $(POD) $(HTML) $(MAN) $(TXT) rrdtool-dump.dtd rrdtool-xport.dtd rrdgraph_libdbi.pod rrdlua.pod +EXTRA_DIST= $(POD) $(POD3) $(HTML) $(MAN) $(MAN3) $(TXT) rrdtool-dump.dtd rrdtool-xport.dtd rrdgraph_libdbi.pod rrdlua.pod idocdir = $(RRDDOCDIR)/txt idoc_DATA = $(POD) $(TXT) @@ -39,8 +42,10 @@ ihtmldir = $(RRDDOCDIR)/html ihtml_DATA = $(HTML) imandir = $(mandir)/man1 iman_DATA = $(MAN) +iman3dir = $(mandir)/man3 +iman3_DATA = $(MAN3) -all-local: link txt man html-local +all-local: link man txt html-local .src.pod: perl -n -e 'if (/^=include\s+(\S+)/){open F,"$$1.inc" || die $$?;print ; close F} else {print}' $< > $@ @@ -48,10 +53,13 @@ all-local: link txt man html-local .pod.1 .pm.1 .pl.1: $(AM_V_GEN)@POD2MAN@ --release=$(VERSION) --center=rrdtool $< > $@ -.1.txt: +.pod.3: + $(AM_V_GEN)@POD2MAN@ --release=$(VERSION) --center=rrdtool --section=3 $< > $@ + +.1.txt .3.txt: $(AM_V_GEN)GROFF_NO_SGR=1 @NROFF@ -man -Tlp $< > $@ -.1.pdf: +.1.pdf .3.pdf: $(AM_V_GEN)@TROFF@ -man $< | ps2pdf - $@ .pm.html .pod.html .pl.html: @@ -65,7 +73,7 @@ RRDp.pod: link: RRDp.pod RRDs.pod -man: $(MAN) +man: $(MAN) $(MAN3) html-local: $(HTML) @@ -73,7 +81,7 @@ txt: $(TXT) pdf-local: $(PDF) -pod: $(POD) +pod: $(POD) $(POD3) install-data-hook: $(AM_V_GEN)cd $(DESTDIR)$(ihtmldir) && rm -f index.html && $(LN_S) rrdtool.html index.html diff --git a/doc/Makefile.in b/doc/Makefile.in index fe4852e..f3b7436 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -95,8 +95,8 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(idocdir)" "$(DESTDIR)$(ihtmldir)" \ - "$(DESTDIR)$(imandir)" -DATA = $(idoc_DATA) $(ihtml_DATA) $(iman_DATA) + "$(DESTDIR)$(imandir)" "$(DESTDIR)$(iman3dir)" +DATA = $(idoc_DATA) $(ihtml_DATA) $(iman_DATA) $(iman3_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ @@ -192,6 +192,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ @@ -304,12 +305,11 @@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SUFFIXES = .pod .1 .man .html .txt .pm .pdf .inc - -#AUTOMAKE_OPTIONS = foreign +SUFFIXES = .pod .pl .1 .3 .man .html .txt .pm .pdf .inc +AUTOMAKE_OPTIONS = foreign #ACLOCAL_M4 = $(top_srcdir)/config/aclocal.m4 -CLEANFILES = *.1 *.html *.txt *-dircache RRD?.pod *.pdf *~ core *itemcache *.rej *.orig *.tmp +CLEANFILES = *.1 *.3 *.html *.txt *-dircache RRD?.pod *.pdf *~ core *itemcache *.rej *.orig *.tmp POD = bin_dec_hex.pod rrddump.pod rrdgraph_examples.pod rrdrestore.pod \ rrdupdate.pod cdeftutorial.pod rrdfetch.pod rrdgraph_graph.pod \ rrdthreads.pod rrdxport.pod rpntutorial.pod rrdfirst.pod \ @@ -317,25 +317,29 @@ POD = bin_dec_hex.pod rrddump.pod rrdgraph_examples.pod rrdrestore.pod \ rrdinfo.pod rrdtune.pod rrdbuild.pod rrdflushcached.pod \ rrdcgi.pod rrdgraph.pod rrdlast.pod rrdlastupdate.pod \ rrdcreate.pod rrdgraph_data.pod rrdresize.pod rrdtutorial.pod \ - librrd.pod $(am__append_1) $(am__append_2) + $(am__append_1) $(am__append_2) +POD3 = librrd.pod PMP = RRDs.pod RRDp.pod MAN = $(POD:.pod=.1) -TXT = $(MAN:.1=.txt) -HTML = $(POD:.pod=.html) $(PMP:.pod=.html) -PDF = $(MAN:.1=.pdf) +MAN3 = $(POD3:.pod=.3) +TXT = $(MAN:.1=.txt) $(MAN3:.3=.txt) +HTML = $(POD:.pod=.html) $(POD3:.pod=.html) $(PMP:.pod=.html) +PDF = $(MAN:.1=.pdf) $(MAN3:.3=.pdf) # what should go into the distribution -EXTRA_DIST = $(POD) $(HTML) $(MAN) $(TXT) rrdtool-dump.dtd rrdtool-xport.dtd rrdgraph_libdbi.pod rrdlua.pod +EXTRA_DIST = $(POD) $(POD3) $(HTML) $(MAN) $(MAN3) $(TXT) rrdtool-dump.dtd rrdtool-xport.dtd rrdgraph_libdbi.pod rrdlua.pod idocdir = $(RRDDOCDIR)/txt idoc_DATA = $(POD) $(TXT) ihtmldir = $(RRDDOCDIR)/html ihtml_DATA = $(HTML) imandir = $(mandir)/man1 iman_DATA = $(MAN) +iman3dir = $(mandir)/man3 +iman3_DATA = $(MAN3) all: all-am .SUFFIXES: -.SUFFIXES: .pod .1 .man .html .txt .pm .pdf .inc .pl .src +.SUFFIXES: .pod .pl .1 .3 .man .html .txt .pm .pdf .inc .src $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -345,9 +349,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + $(AUTOMAKE) --foreign doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -432,6 +436,26 @@ uninstall-imanDATA: test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(imandir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(imandir)" && rm -f $$files +install-iman3DATA: $(iman3_DATA) + @$(NORMAL_INSTALL) + test -z "$(iman3dir)" || $(MKDIR_P) "$(DESTDIR)$(iman3dir)" + @list='$(iman3_DATA)'; test -n "$(iman3dir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(iman3dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(iman3dir)" || exit $$?; \ + done + +uninstall-iman3DATA: + @$(NORMAL_UNINSTALL) + @list='$(iman3_DATA)'; test -n "$(iman3dir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(iman3dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(iman3dir)" && rm -f $$files tags: TAGS TAGS: @@ -473,7 +497,7 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) all-local installdirs: - for dir in "$(DESTDIR)$(idocdir)" "$(DESTDIR)$(ihtmldir)" "$(DESTDIR)$(imandir)"; do \ + for dir in "$(DESTDIR)$(idocdir)" "$(DESTDIR)$(ihtmldir)" "$(DESTDIR)$(imandir)" "$(DESTDIR)$(iman3dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -522,7 +546,8 @@ info: info-am info-am: -install-data-am: install-idocDATA install-ihtmlDATA install-imanDATA +install-data-am: install-idocDATA install-ihtmlDATA install-iman3DATA \ + install-imanDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am @@ -568,7 +593,7 @@ ps: ps-am ps-am: uninstall-am: uninstall-idocDATA uninstall-ihtmlDATA \ - uninstall-imanDATA + uninstall-iman3DATA uninstall-imanDATA .MAKE: install-am install-data-am install-strip @@ -578,17 +603,17 @@ uninstall-am: uninstall-idocDATA uninstall-ihtmlDATA \ install install-am install-data install-data-am \ install-data-hook install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-idocDATA \ - install-ihtmlDATA install-imanDATA install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ + install-ihtmlDATA install-iman3DATA install-imanDATA \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am pdf-local ps ps-am uninstall \ uninstall-am uninstall-idocDATA uninstall-ihtmlDATA \ - uninstall-imanDATA + uninstall-iman3DATA uninstall-imanDATA -all-local: link txt man html-local +all-local: link man txt html-local .src.pod: perl -n -e 'if (/^=include\s+(\S+)/){open F,"$$1.inc" || die $$?;print ; close F} else {print}' $< > $@ @@ -596,10 +621,13 @@ all-local: link txt man html-local .pod.1 .pm.1 .pl.1: $(AM_V_GEN)@POD2MAN@ --release=$(VERSION) --center=rrdtool $< > $@ -.1.txt: +.pod.3: + $(AM_V_GEN)@POD2MAN@ --release=$(VERSION) --center=rrdtool --section=3 $< > $@ + +.1.txt .3.txt: $(AM_V_GEN)GROFF_NO_SGR=1 @NROFF@ -man -Tlp $< > $@ -.1.pdf: +.1.pdf .3.pdf: $(AM_V_GEN)@TROFF@ -man $< | ps2pdf - $@ .pm.html .pod.html .pl.html: @@ -613,7 +641,7 @@ RRDp.pod: link: RRDp.pod RRDs.pod -man: $(MAN) +man: $(MAN) $(MAN3) html-local: $(HTML) @@ -621,7 +649,7 @@ txt: $(TXT) pdf-local: $(PDF) -pod: $(POD) +pod: $(POD) $(POD3) install-data-hook: $(AM_V_GEN)cd $(DESTDIR)$(ihtmldir) && rm -f index.html && $(LN_S) rrdtool.html index.html diff --git a/doc/RRDp.html b/doc/RRDp.html index 295e62f..a27a211 100644 --- a/doc/RRDp.html +++ b/doc/RRDp.html @@ -1,14 +1,18 @@ + RRDp + -

+ +
+

+ + +

@@ -49,74 +57,62 @@ data, RRDp::read will return an undefined variable.

If you import the PERFORMANCE variables into your namespace, you can access RRDtool's internal performance measurements.

-
use RRDp
-
-
-Load the RRDp::pipe module. -
-

-
RRDp::start path to RRDtool executable
-
+
use RRDp
+
-start RRDtool. The argument must be the path to the RRDtool executable +

Load the RRDp::pipe module.

-

-
RRDp::cmd rrdtool commandline
-
+
RRDp::start path to RRDtool executable
+
-pass commands on to RRDtool. check the RRDtool documentation for -more info on the RRDtool commands. +

start RRDtool. The argument must be the path to the RRDtool executable

+
RRDp::cmd rrdtool commandline
+
+

pass commands on to RRDtool. check the RRDtool documentation for +more info on the RRDtool commands.

Note: Due to design limitations, RRDp::cmd does not support the graph - command - use graphv - instead.

-

-
$answer = RRDp::read
-
+
$answer = RRDp::read
+
-read RRDtool's response to your command. Note that the $answer variable will +

read RRDtool's response to your command. Note that the $answer variable will only contain a pointer to the returned data. The reason for this is, that RRDtool can potentially return quite excessive amounts of data and we don't want to copy this around in memory. So when you want to access the contents of $answer you have to use $$answer which dereferences -the variable. +the variable.

-

-
$status = RRDp::end
-
+
$status = RRDp::end
+
-terminates RRDtool and returns RRDtool's status ... +

terminates RRDtool and returns RRDtool's status ...

-

-
$RRDp::user, $RRDp::sys, $RRDp::real
-
+
$RRDp::user, $RRDp::sys, $RRDp::real
+
-these variables will contain totals of the user time, system time and +

these variables will contain totals of the user time, system time and real time as seen by RRDtool. User time is the time RRDtool is running, System time is the time spend in system calls and real time -is the total time RRDtool has been running. -

-
+is the total time RRDtool has been running.

The difference between user + system and real is the time spent waiting for things like the hard disk and new input from the perl script.

-

-
$RRDp::error_mode and $RRDp::error
-
+
$RRDp::error_mode and $RRDp::error
+
-If you set the variable $RRDp::error_mode to the value 'catch' before you run RRDp::read a potential +

If you set the variable $RRDp::error_mode to the value 'catch' before you run RRDp::read a potential ERROR message will not cause the program to abort but will be returned in this variable. If no error -occurs the variable will be empty. -

-
+occurs the variable will be empty.

  $RRDp::error_mode = 'catch';
  RRDp::cmd qw(info file.rrd);
  print $RRDp::error if $RRDp::error;
-

+


diff --git a/doc/RRDs.html b/doc/RRDs.html index 45da6e7..71b6a68 100644 --- a/doc/RRDs.html +++ b/doc/RRDs.html @@ -1,14 +1,18 @@ + RRDs + -

+ +
+

+ + +

@@ -71,7 +79,7 @@ RRDtool documentation. The command line call

  --template=in:out

is also valid.

-

The RRDs::times function takes two parameters: a ``start'' and ``end'' time. +

The RRDs::times function takes two parameters: a "start" and "end" time. These should be specified in the AT-STYLE TIME SPECIFICATION format used by RRDtool. See the rrdfetch documentation for a detailed explanation on how to specify time.

@@ -138,7 +146,7 @@ integers, a pointer to an array and a pointer to a array of pointers.

print "\n"; }

RRDs::times returns two integers which are the number of seconds since -epoch (1970-01-01) for the supplied ``start'' and ``end'' arguments, respectively.

+epoch (1970-01-01) for the supplied "start" and "end" arguments, respectively.

See the examples directory for more ways to use this extension.

diff --git a/doc/bin_dec_hex.1 b/doc/bin_dec_hex.1 index f6aef5b..a811a73 100644 --- a/doc/bin_dec_hex.1 +++ b/doc/bin_dec_hex.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "BIN_DEC_HEX 1" -.TH BIN_DEC_HEX 1 "2009-02-21" "1.3.99909060808" "rrdtool" +.TH BIN_DEC_HEX 1 "2009-07-12" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" bin_dec_hex \- How to use binary, decimal, and hexadecimal notation. .SH "DESCRIPTION" @@ -142,7 +141,7 @@ it is not the first one. .PP If this sounds cryptic to you, this is what I've just said in numbers: .PP -.Vb 14 +.Vb 10 \& 0 \& 1 \& 2 @@ -179,7 +178,7 @@ digits. They only use two different symbols, namely \*(L"0\*(R" and \*(L"1\*(R". the same rules to this set of digits and you get the binary numbering system: .PP -.Vb 14 +.Vb 10 \& 0 \& 1 \& 10 @@ -246,9 +245,7 @@ representations, but with eight different symbols. \& Octal (8) \& Decimal (10) \& Hexadecimal (16) -.Ve -.PP -.Vb 23 +\& \& (2) (8) (10) (16) \& 00000 0 0 0 \& 00001 1 1 1 @@ -357,7 +354,7 @@ It is the same in all other representations: This example can not be done for binary as that system only uses two symbols. Another example: .PP -%1010 would be +\&\f(CW%1010\fR would be .PP .Vb 4 \& 1 * 2^3 @@ -413,8 +410,8 @@ The other method builds up the number from the right. Let's try 41'029 again. Divide by 16 and do not use fractions (only whole numbers). .PP .Vb 4 -\& 41'029 / 16 is 2'564 with a remainder of 5. Write down 5. -\& 2'564 / 16 is 160 with a remainder of 4. Write the 4 before the 5. +\& 41\*(Aq029 / 16 is 2\*(Aq564 with a remainder of 5. Write down 5. +\& 2\*(Aq564 / 16 is 160 with a remainder of 4. Write the 4 before the 5. \& 160 / 16 is 10 with no remainder. Prepend 45 with 0. \& 10 / 16 is below one. End here and prepend 0xA. End up with 0xA045. .Ve @@ -432,7 +429,7 @@ has the advantage that you can see very easily if you should write down a zero or a one: if you divide by two the remainder will be zero if it is an even number and one if it is an odd number: .PP -.Vb 16 +.Vb 10 \& 41029 / 2 = 20514 remainder 1 \& 20514 / 2 = 10257 remainder 0 \& 10257 / 2 = 5128 remainder 1 @@ -475,9 +472,7 @@ Group \f(CW%1010000001000101\fR by three and convert into octal: \& %1 010 000 001 000 101 \& %001 010 000 001 000 101 \& 1 2 0 1 0 5 \-\-> 0120105 -.Ve -.PP -.Vb 3 +\& \& So: %1010000001000101 = 0120105 = 0xA045 = 41029 \& Or: 1010000001000101(2) = 120105(8) = A045(16) = 41029(10) \& Or: 1010000001000101(2) = 120105(8) = A045(16) = 41029 diff --git a/doc/bin_dec_hex.html b/doc/bin_dec_hex.html index 7296b1c..22dc60e 100644 --- a/doc/bin_dec_hex.html +++ b/doc/bin_dec_hex.html @@ -1,14 +1,18 @@ + bin_dec_hex + -

+ +
+

+ + +

NAME

bin_dec_hex - How to use binary, decimal, and hexadecimal notation.

-
PDF version.

+


DESCRIPTION

@@ -52,16 +60,16 @@ it is not the first one.

and so on.

Each time the digit nine is incremented, it is reset to 0 and the position before (to the left) is incremented (from 0 to 1). Then -number 9 can be seen as ``00009'' and when we should increment 9, we +number 9 can be seen as "00009" and when we should increment 9, we reset it to zero and increment the digit just before the 9 so the -number becomes ``00010''. Leading zeros we don't write except if it is +number becomes "00010". Leading zeros we don't write except if it is the only digit (number 0). And of course, we write zeros if they occur anywhere inside or at the end of a number:

  "00010" -> " 0010" -> " 010" -> "  10", but not "  1 ".

This was pretty basic, you already knew this. Why did I tell it? Well, computers usually do not represent numbers with 10 different -digits. They only use two different symbols, namely ``0'' and ``1''. Apply +digits. They only use two different symbols, namely "0" and "1". Apply the same rules to this set of digits and you get the binary numbering system:

@@ -88,7 +96,7 @@ numbering system or base.  Normally, if we do not explicitly specify
 the numbering system used, we implicitly use the decimal system. If we
 want to use any other numbering system, we'll have to make that
 clear. There are a few widely adopted methods to do so. One common
-form is to write 1010(2) which means that you wrote down a number in
+form is to write 1010(2) which means that you wrote down a number in
 its binary representation. It is the number ten. If you would write
 1010 without specifying the base, the number is interpreted as one
 thousand and ten using base 10.

@@ -105,7 +113,7 @@ on the context.

(...programming...), but the numbers will have large representations. The number 65'535 (often in the decimal system a ' is used to separate blocks of three digits for readability) would be -written down as 1111111111111111(2) which is 16 times the digit 1. +written down as 1111111111111111(2) which is 16 times the digit 1. This is difficult and prone to errors. Therefore, we usually would use another base, called hexadecimal. It uses 16 different symbols. First the symbols from the decimal system are used, thereafter we continue @@ -164,14 +172,14 @@ each digit, write down its binary equivalent.

Computers (or rather the parsers running on them) would have a hard time converting a number like 1234(16). Therefore hexadecimal numbers are specified with a prefix. This prefix depends on the language -you're writing in. Some of the prefixes are ``0x'' for C, ``$'' for -Pascal, ``#'' for HTML. It is common to assume that if a number starts +you're writing in. Some of the prefixes are "0x" for C, "$" for +Pascal, "#" for HTML. It is common to assume that if a number starts with a zero, it is octal. It does not matter what is used as long as -you know what it is. I will use ``0x'' for hexadecimal, ``%'' for binary -and ``0'' for octal. The following numbers are all the same, just their +you know what it is. I will use "0x" for hexadecimal, "%" for binary +and "0" for octal. The following numbers are all the same, just their representation (base) is different: 021 0x11 17 %00010001

To do arithmetics and conversions you need to understand one more thing. -It is something you already know but perhaps you do not ``see'' it yet:

+It is something you already know but perhaps you do not "see" it yet:

If you write down 1234, (no prefix, so it is decimal) you are talking about the number one thousand, two hundred and thirty four. In sort of a formula:

@@ -186,7 +194,7 @@ a formula:

2 * 10^2 3 * 10^1 4 * 10^0
-

where ^ means ``to the power of''.

+

where ^ means "to the power of".

We are using the base 10, and the positions 0,1,2 and 3. The right-most position should NOT be multiplied with 10. The second from the right should be multiplied one time with 10. The third from @@ -223,8 +231,8 @@ yet another way afterwards.

First you need to know how many positions will be used in the other system. To do so, you need to know the maximum numbers you'll be using. Well, that's not as hard as it looks. In decimal, the maximum -number that you can form with two digits is ``99''. The maximum for -three: ``999''. The next number would need an extra position. Reverse +number that you can form with two digits is "99". The maximum for +three: "999". The next number would need an extra position. Reverse this idea and you will see that the number can be found by taking 10^3 (10*10*10 is 1000) minus 1 or 10^2 minus one.

This can be done for hexadecimal as well:

@@ -241,12 +249,12 @@ from 1 to 15 (0x1 to 0xF). Do the same for the other positions.

Let's try with 41'029. It is smaller than 16^4 but bigger than 16^3-1. This means that we have to use four positions. We can subtract 16^3 from 41'029 ten times without going below zero. -The left-most digit will therefore be ``A'', so we have 0xA????. +The left-most digit will therefore be "A", so we have 0xA????. The number is reduced to 41'029 - 10*4'096 = 41'029-40'960 = 69. 69 is smaller than 16^3 but not bigger than 16^2-1. The second digit -is therefore ``0'' and we now have 0xA0??. +is therefore "0" and we now have 0xA0??. 69 is smaller than 16^2 and bigger than 16^1-1. We can subtract 16^1 -(which is just plain 16) four times and write down ``4'' to get 0xA04?. +(which is just plain 16) four times and write down "4" to get 0xA04?. Subtract 64 from 69 (69 - 4*16) and the last digit is 5 --> 0xA045.

The other method builds up the number from the right. Let's try 41'029 again. Divide by 16 and do not use fractions (only whole numbers).

@@ -333,7 +341,7 @@ find that you didn't make mistakes. In the end, you'll do calculi in other bases as easily as you do them in decimal.

When the numbers get bigger, you'll have to realize that a computer is not called a computer just to have a nice name. There are many -different calculators available, use them. For Unix you could use ``bc'' +different calculators available, use them. For Unix you could use "bc" which is short for Binary Calculator. It calculates not only in decimal, but in all bases you'll ever want to use (among them Binary).

For people on Windows: diff --git a/doc/bin_dec_hex.pod b/doc/bin_dec_hex.pod index 5d3d925..e52f200 100644 --- a/doc/bin_dec_hex.pod +++ b/doc/bin_dec_hex.pod @@ -2,8 +2,6 @@ bin_dec_hex - How to use binary, decimal, and hexadecimal notation. -=for html

PDF version.
- =head1 DESCRIPTION Most people use the decimal numbering system. This system uses ten diff --git a/doc/bin_dec_hex.txt b/doc/bin_dec_hex.txt index 5560715..ca4cc46 100644 --- a/doc/bin_dec_hex.txt +++ b/doc/bin_dec_hex.txt @@ -6,8 +6,8 @@ NNAAMMEE bin_dec_hex - How to use binary, decimal, and hexadecimal notation. DDEESSCCRRIIPPTTIIOONN - Most people use the decimal numbering system. This system uses ten sym- - bols to represent numbers. When those ten symbols are used up, they + Most people use the decimal numbering system. This system uses ten + symbols to represent numbers. When those ten symbols are used up, they start all over again and increment the position to the left. The digit 0 is only shown if it is the only symbol in the sequence, or if it is not the first one. @@ -31,9 +31,9 @@ DDEESSCCRRIIPPTTIIOONN and so on. - Each time the digit nine is incremented, it is reset to 0 and the posi- - tion before (to the left) is incremented (from 0 to 1). Then number 9 - can be seen as "00009" and when we should increment 9, we reset it to + Each time the digit nine is incremented, it is reset to 0 and the + position before (to the left) is incremented (from 0 to 1). Then number + 9 can be seen as "00009" and when we should increment 9, we reset it to zero and increment the digit just before the 9 so the number becomes "00010". Leading zeros we don't write except if it is the only digit (number 0). And of course, we write zeros if they occur anywhere inside @@ -66,39 +66,39 @@ DDEESSCCRRIIPPTTIIOONN If you count the number of rows, you'll see that these are again 14 different numbers. The numbers are the same and mean the same as in the first list, we just used a different representation. This means that - you have to know the representation used, or as it is called the num- - bering system or base. Normally, if we do not explicitly specify the - numbering system used, we implicitly use the decimal system. If we want - to use any other numbering system, we'll have to make that clear. There - are a few widely adopted methods to do so. One common form is to write - 1010(2) which means that you wrote down a number in its binary repre- - sentation. It is the number ten. If you would write 1010 without speci- - fying the base, the number is interpreted as one thousand and ten using - base 10. - - In books, another form is common. It uses subscripts (little charac- - ters, more or less in between two rows). You can leave out the paren- - theses in that case and write down the number in normal characters fol- - lowed by a little two just behind it. + you have to know the representation used, or as it is called the + numbering system or base. Normally, if we do not explicitly specify + the numbering system used, we implicitly use the decimal system. If we + want to use any other numbering system, we'll have to make that clear. + There are a few widely adopted methods to do so. One common form is to + write 1010(2) which means that you wrote down a number in its binary + representation. It is the number ten. If you would write 1010 without + specifying the base, the number is interpreted as one thousand and ten + using base 10. + + In books, another form is common. It uses subscripts (little + characters, more or less in between two rows). You can leave out the + parentheses in that case and write down the number in normal characters + followed by a little two just behind it. As the numbering system used is also called the base, we talk of the number 1100 base 2, the number 12 base 10. - Within the binary system, it is common to write leading zeros. The num- - bers are written down in series of four, eight or sixteen depending on - the context. + Within the binary system, it is common to write leading zeros. The + numbers are written down in series of four, eight or sixteen depending + on the context. - We can use the binary form when talking to computers (...program- - ming...), but the numbers will have large representations. The number - 65'535 (often in the decimal system a ' is used to separate blocks of - three digits for readability) would be written down as + We can use the binary form when talking to computers + (...programming...), but the numbers will have large representations. + The number 65'535 (often in the decimal system a ' is used to separate + blocks of three digits for readability) would be written down as 1111111111111111(2) which is 16 times the digit 1. This is difficult and prone to errors. Therefore, we usually would use another base, called hexadecimal. It uses 16 different symbols. First the symbols - from the decimal system are used, thereafter we continue with alpha- - betic characters. We get 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E - and F. This system is chosen because the hexadecimal form can be con- - verted into the binary system very easily (and back). + from the decimal system are used, thereafter we continue with + alphabetic characters. We get 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, + E and F. This system is chosen because the hexadecimal form can be + converted into the binary system very easily (and back). There is yet another system in use, called the octal system. This was more common in the old days, but is not used very often anymore. As you @@ -137,10 +137,11 @@ DDEESSCCRRIIPPTTIIOONN Most computers used nowadays are using bytes of eight bits. This means that they store eight bits at a time. You can see why the octal system - is not the most practical for that: You'd need three digits to repre- - sent the eight bits and this means that you'd have to use one complete - digit to represent only two bits (2+3+3=8). This is a waste. For hex- - adecimal digits, you need only two digits which are used completely: + is not the most practical for that: You'd need three digits to + represent the eight bits and this means that you'd have to use one + complete digit to represent only two bits (2+3+3=8). This is a waste. + For hexadecimal digits, you need only two digits which are used + completely: (2) (8) (10) (16) 11111111 377 255 FF @@ -159,8 +160,8 @@ DDEESSCCRRIIPPTTIIOONN for HTML. It is common to assume that if a number starts with a zero, it is octal. It does not matter what is used as long as you know what it is. I will use "0x" for hexadecimal, "%" for binary and "0" for - octal. The following numbers are all the same, just their representa- - tion (base) is different: 021 0x11 17 %00010001 + octal. The following numbers are all the same, just their + representation (base) is different: 021 0x11 17 %00010001 To do arithmetics and conversions you need to understand one more thing. It is something you already know but perhaps you do not "see" @@ -269,9 +270,9 @@ DDEESSCCRRIIPPTTIIOONN Which method to use is up to you. Use whatever works for you. I use them both without being able to tell what method I use in each case, it just depends on the number, I think. Fact is, some numbers will occur - frequently while programming. If the number is close to one I am famil- - iar with, then I will use the first method (like 32'770 which is into - 32'768 + 2 and I just know that it is 0x8000 + 0x2 = 0x8002). + frequently while programming. If the number is close to one I am + familiar with, then I will use the first method (like 32'770 which is + into 32'768 + 2 and I just know that it is 0x8000 + 0x2 = 0x8002). For binary the same approach can be used. The base is 2 and not 16, and the number of positions will grow rapidly. Using the second method has @@ -348,18 +349,19 @@ DDEESSCCRRIIPPTTIIOONN For low values, try to do the calculations yourself, then check them with a calculator. The more you do the calculations yourself, the more - you'll find that you didn't make mistakes. In the end, you'll do cal- - culi in other bases as easily as you do them in decimal. + you'll find that you didn't make mistakes. In the end, you'll do + calculi in other bases as easily as you do them in decimal. When the numbers get bigger, you'll have to realize that a computer is - not called a computer just to have a nice name. There are many differ- - ent calculators available, use them. For Unix you could use "bc" which - is short for Binary Calculator. It calculates not only in decimal, but - in all bases you'll ever want to use (among them Binary). + not called a computer just to have a nice name. There are many + different calculators available, use them. For Unix you could use "bc" + which is short for Binary Calculator. It calculates not only in + decimal, but in all bases you'll ever want to use (among them Binary). - For people on Windows: Start the calculator (start->programs->acces- - sories->calculator) and if necessary click view->scientific. You now - have a scientific calculator and can compute in binary or hexadecimal. + For people on Windows: Start the calculator + (start->programs->accessories->calculator) and if necessary click + view->scientific. You now have a scientific calculator and can compute + in binary or hexadecimal. AAUUTTHHOORR I hope you enjoyed the examples and their descriptions. If you do, help @@ -371,4 +373,4 @@ AAUUTTHHOORR -1.3.99909060808 2009-02-21 BIN_DEC_HEX(1) +1.3.999 2009-07-12 BIN_DEC_HEX(1) diff --git a/doc/cdeftutorial.1 b/doc/cdeftutorial.1 index 937d629..f0a973d 100644 --- a/doc/cdeftutorial.1 +++ b/doc/cdeftutorial.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "CDEFTUTORIAL 1" -.TH CDEFTUTORIAL 1 "2009-02-21" "1.3.99909060808" "rrdtool" +.TH CDEFTUTORIAL 1 "2009-06-09" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" cdeftutorial \- Alex van den Bogaerdt's CDEF tutorial .SH "DESCRIPTION" @@ -143,7 +142,7 @@ to add it. I will then try to provide an answer in the next release of this tutorial. No feedback equals no changes! Additions to this document are also welcome. \*(-- Alex van den Bogaerdt -.Sh "Why this tutorial?" +.SS "Why this tutorial?" .IX Subsection "Why this tutorial?" One of the powerful parts of RRDtool is its ability to do all sorts of calculations on the data retrieved from its databases. However, @@ -156,7 +155,7 @@ If you are happy with the official documentation, you may find this document too simple or even boring. If you do choose to read this tutorial, I also expect you to have read and fully understand my other tutorial. -.Sh "More reading" +.SS "More reading" .IX Subsection "More reading" If you have difficulties with the way I try to explain it please read Steve Rader's rpntutorial. It may help you understand how this all works. @@ -205,7 +204,7 @@ same as the variable named in the \s-1DEF\s0 (inbytes)! .IX Header "RPN-expressions" \&\s-1RPN\s0 is short-hand for Reverse Polish Notation. It works as follows. You put the variables or numbers on a stack. You also put operations -(things\-to\-do) on the stack and this stack is then processed. The result +(things-to-do) on the stack and this stack is then processed. The result will be placed on the stack. At the end, there should be exactly one number left: the outcome of the series of operations. If there is not exactly one number left, RRDtool will complain loudly. @@ -329,7 +328,7 @@ add b to c and then add a to the result. This makes it possible to rewrite the \s-1RPN\s0 into \f(CW\*(C`CDEF:result=a,b,c,d,e,+,+,+,+\*(C'\fR which is evaluated differently: .PP -.Vb 13 +.Vb 10 \& push value of variable a on the stack: a \& push value of variable b on the stack: a b \& push value of variable c on the stack: a b c @@ -377,7 +376,7 @@ Just do all the math by hand to see what happens, I'm sure this will solve most, if not all, problems you encounter. .SH "Some special numbers" .IX Header "Some special numbers" -.Sh "The unknown value" +.SS "The unknown value" .IX Subsection "The unknown value" Sometimes collecting your data will fail. This can be very common, especially when querying over busy links. RRDtool can be configured @@ -404,12 +403,12 @@ every minute: .PP .Vb 7 \& counter value resulting rate -\& 10'000 -\& 10'060 1; (10'060\-10'000)/60 == 1 -\& 10'120 1; (10'120\-10'060)/60 == 1 -\& unknown unknown; you don't know the last value -\& 10'240 unknown; you don't know the previous value -\& 10'300 1; (10'300\-10'240)/60 == 1 +\& 10\*(Aq000 +\& 10\*(Aq060 1; (10\*(Aq060\-10\*(Aq000)/60 == 1 +\& 10\*(Aq120 1; (10\*(Aq120\-10\*(Aq060)/60 == 1 +\& unknown unknown; you don\*(Aqt know the last value +\& 10\*(Aq240 unknown; you don\*(Aqt know the previous value +\& 10\*(Aq300 1; (10\*(Aq300\-10\*(Aq240)/60 == 1 .Ve .PP If the \s-1CDP\s0 was to be calculated from the last five updates, it would get @@ -421,7 +420,7 @@ would be unknown. You have to decide the proper values for heartbeat, number of PDPs per \&\s-1CDP\s0 and the xff factor. As you can see from the previous text they define the behavior of your \s-1RRA\s0. -.Sh "Working with unknown data in your database" +.SS "Working with unknown data in your database" .IX Subsection "Working with unknown data in your database" As you have read in the previous chapter, entries in an \s-1RRA\s0 can be set to the unknown value. If you do calculations with this type of @@ -446,7 +445,7 @@ wasn't installed yet!) but you know that the data rate through the device had to be zero (because of the same reason: it was not installed). .PP There are some examples below that make this change. -.Sh "Infinity" +.SS "Infinity" .IX Subsection "Infinity" Infinite data is another form of a special number. It cannot be graphed because by definition you would never reach the infinite @@ -462,7 +461,7 @@ vertical dimensions. You can think of it as drawing an \s-1AREA\s0 with an infinite height and displaying only the part that is visible in the current graph. This is probably a good way to approximate infinity and it sure allows for some neat tricks. See below for examples. -.Sh "Working with unknown data and infinity" +.SS "Working with unknown data and infinity" .IX Subsection "Working with unknown data and infinity" Sometimes you would like to discard unknown data and pretend it is zero (or any other value for that matter) and sometimes you would like to @@ -471,7 +470,7 @@ This is why CDEFs have support for unknown data. There are also examples available that show unknown data by using infinity. .SH "Some examples" .IX Header "Some examples" -.Sh "Example: using a recently created \s-1RRD\s0" +.SS "Example: using a recently created \s-1RRD\s0" .IX Subsection "Example: using a recently created RRD" You are keeping statistics on your router for over a year now. Recently you installed an extra router and you would like to show the combined @@ -531,9 +530,7 @@ If you want to check this \s-1RPN\s0 expression, just mimic RRDtool behavior: \& CDEF:result=value,UN,0,value,IF (value,UN) is not true so it becomes 0 \& CDEF:result=0,0,value,IF "IF" will return the 3rd value \& CDEF:result=value The known value is returned -.Ve -.PP -.Vb 4 +\& \& For the unknown value, this happens: \& CDEF:result=value,UN,0,value,IF (value,UN) is true so it becomes 1 \& CDEF:result=1,0,value,IF "IF" sees 1 and returns the 2nd value @@ -545,7 +542,7 @@ can use that other value. .PP Eventually, when all unknown data is removed from the \s-1RRD\s0, you may want to remove this rule so that unknown data is properly displayed. -.Sh "Example: better handling of unknown data, by using time" +.SS "Example: better handling of unknown data, by using time" .IX Subsection "Example: better handling of unknown data, by using time" The above example has one drawback. If you do log unknown data in your database after installing your new equipment, it will also be @@ -615,13 +612,9 @@ so lets do it quick: \& where x represents "time>937521357" \& where a represents the original value \& where b represents the outcome of the previous example -.Ve -.PP -.Vb 1 +\& \& time>937521357 \-\-> TIME,937521357,GT -.Ve -.PP -.Vb 4 +\& \& if (x) then a else b \-\-> x,a,b,IF \& substitute x \-\-> TIME,937521357,GT,a,b,IF \& substitute a \-\-> TIME,937521357,GT,value,b,IF @@ -633,7 +626,7 @@ We end up with: .PP This looks very complex, however, as you can see, it was not too hard to come up with. -.Sh "Example: Pretending weird data isn't there" +.SS "Example: Pretending weird data isn't there" .IX Subsection "Example: Pretending weird data isn't there" Suppose you have a problem that shows up as huge spikes in your graph. You know this happens and why, so you decide to work around the problem. @@ -670,7 +663,7 @@ The two \s-1CDEF\s0 expressions would be: \& CDEF:result=number,100000,GT,UNKN,number,IF \& CDEF:result=number,100000,GT,100000,number,IF .Ve -.Sh "Example: working on a certain time span" +.SS "Example: working on a certain time span" .IX Subsection "Example: working on a certain time span" If you want a graph that spans a few weeks, but would only want to see some routers' data for one week, you need to \*(L"hide\*(R" the rest of @@ -714,7 +707,7 @@ could also do it the other way around: .Ve .PP This will return an \s-1UNKNOWN\s0 if either comparison returns true. -.Sh "Example: You suspect to have problems and want to see unknown data." +.SS "Example: You suspect to have problems and want to see unknown data." .IX Subsection "Example: You suspect to have problems and want to see unknown data." Suppose you add up the number of active users on several terminal servers. If one of them doesn't give an answer (or an incorrect one) you get \*(L"NaN\*(R" @@ -760,7 +753,7 @@ be filled in on the graph at that particular time. \& AREA:allusers#0000FF:combined user count \& AREA:wrongdata#FF0000:unknown data .Ve -.Sh "Same example useful with STACKed data:" +.SS "Same example useful with STACKed data:" .IX Subsection "Same example useful with STACKed data:" If you use stack in the previous example (as I would do) then you don't add up the values. Therefore, there is no relationship between the @@ -813,7 +806,7 @@ If you do so, you won't be able to use these next GPRINTs: .Ve .SH "The examples from the RRD graph manual page" .IX Header "The examples from the RRD graph manual page" -.Sh "Degrees Celsius vs. Degrees Fahrenheit" +.SS "Degrees Celsius vs. Degrees Fahrenheit" .IX Subsection "Degrees Celsius vs. Degrees Fahrenheit" To convert Celsius into Fahrenheit use the formula F=9/5*C+32 @@ -842,7 +835,7 @@ as follows: \& 6. push function "plus" and process it \& the stack contains now the temperature in Fahrenheit .Ve -.Sh "Changing unknown into zero" +.SS "Changing unknown into zero" .IX Subsection "Changing unknown into zero" .Vb 9 \& rrdtool graph demo.png \-\-title="Demo Graph" \e @@ -878,9 +871,9 @@ easy to see that we add \*(L"d\*(R" and \*(L"h\*(R", and multiply the result wit The end result is that we have added \*(L"idat1\*(R" and \*(L"idat2\*(R" and in the process we effectively ignored unknown values. The result is multiplied by eight, most likely to convert bytes/s to bits/s. -.Sh "Infinity demo" +.SS "Infinity demo" .IX Subsection "Infinity demo" -.Vb 13 +.Vb 10 \& rrdtool graph example.png \-\-title="INF demo" \e \& DEF:val1=some.rrd:ds0:AVERAGE \e \& DEF:val2=some.rrd:ds1:AVERAGE \e @@ -941,36 +934,31 @@ If your data can also have negative values you also need to overwrite the other half of your graph. This can be done in a relatively simple way: what you need is the \*(L"wipeout\*(R" variable and place a negative sign before it: \*(L"CDEF:wipeout2=wipeout,\-1,*\*(R" -.Sh "Filtering data" +.SS "Filtering data" .IX Subsection "Filtering data" You may do some complex data filtering: .PP .Vb 1 \& MEDIAN FILTER: filters shot noise -.Ve -.PP -.Vb 7 +\& \& DEF:var=database.rrd:traffic:AVERAGE \& CDEF:prev1=PREV(var) \& CDEF:prev2=PREV(prev1) \& CDEF:prev3=PREV(prev2) \& CDEF:median=prev1,prev2,prev3,+,+,3,/ \& LINE3:median#000077:filtered -\& LINE1:prev2#007700:'raw data' -.Ve -.PP -.Vb 1 +\& LINE1:prev2#007700:\*(Aqraw data\*(Aq +\& +\& \& DERIVATE: -.Ve -.PP -.Vb 7 +\& \& DEF:var=database.rrd:traffic:AVERAGE \& CDEF:prev1=PREV(var) \& CDEF:time=TIME \& CDEF:prevtime=PREV(time) \& CDEF:derivate=var,prev1,\-,time,prevtime,\-,/ \& LINE3:derivate#000077:derivate -\& LINE1:var#007700:'raw data' +\& LINE1:var#007700:\*(Aqraw data\*(Aq .Ve .SH "Out of ideas for now" .IX Header "Out of ideas for now" diff --git a/doc/cdeftutorial.html b/doc/cdeftutorial.html index 167ed46..63c40b6 100644 --- a/doc/cdeftutorial.html +++ b/doc/cdeftutorial.html @@ -1,14 +1,18 @@ + cdeftutorial + -

+ +
+

+ + +

@@ -100,7 +108,7 @@ Steve Rader's the rpntutorial manpage. It may


What are CDEFs?

-

When retrieving data from an RRD, you are using a ``DEF'' to work with +

When retrieving data from an RRD, you are using a "DEF" to work with that data. Think of it as a variable that changes over time (where time is the x-axis). The value of this variable is what is found in the database at that particular time and you can't do any @@ -113,16 +121,16 @@ from DEFs and perform calculations on them.

    DEF:var_name_1=some.rrd:ds_name:CF
    CDEF:var_name_2=RPN_expression
-

You first define ``var_name_1'' to be data collected from data source -``ds_name'' found in RRD ``some.rrd'' with consolidation function ``CF''.

-

Assume the ifInOctets SNMP counter is saved in mrtg.rrd as the DS ``in''. +

You first define "var_name_1" to be data collected from data source +"ds_name" found in RRD "some.rrd" with consolidation function "CF".

+

Assume the ifInOctets SNMP counter is saved in mrtg.rrd as the DS "in". Then the following DEF defines a variable for the average of that data source:

    DEF:inbytes=mrtg.rrd:in:AVERAGE

Say you want to display bits per second (instead of bytes per second as stored in the database.) You have to define a calculation -(hence ``CDEF'') on variable ``inbytes'' and use that variable (inbits) +(hence "CDEF") on variable "inbytes" and use that variable (inbits) instead of the original:

    CDEF:inbits=inbytes,8,*
@@ -134,7 +142,7 @@ same as the variable named in the DEF (inbytes)!


-

RPN-expressions

+

RPN-expressions

RPN is short-hand for Reverse Polish Notation. It works as follows. You put the variables or numbers on a stack. You also put operations (things-to-do) on the stack and this stack is then processed. The result @@ -143,45 +151,47 @@ number left: the outcome of the series of operations. If there is not exactly one number left, RRDtool will complain loudly.

Above multiplication by eight will look like:

    -
  1. -Start with an empty stack -

    -
  2. -Put the content of variable inbytes on the stack -

    -
  3. -Put the number eight on the stack -

    -
  4. -Put the operation multiply on the stack -

    -
  5. -Process the stack -

    -
  6. -Retrieve the value from the stack and put it in variable inbits -

+
  • +

    Start with an empty stack

    +
  • +
  • +

    Put the content of variable inbytes on the stack

    +
  • +
  • +

    Put the number eight on the stack

    +
  • +
  • +

    Put the operation multiply on the stack

    +
  • +
  • +

    Process the stack

    +
  • +
  • +

    Retrieve the value from the stack and put it in variable inbits

    +
  • +

    We will now do an example with real numbers. Suppose the variable inbytes would have value 10, the stack would be:

      -
    1. -|| -

      -
    2. -|10| -

      -
    3. -|10|8| -

      -
    4. -|10|8|*| -

      -
    5. -|80| -

      -
    6. -|| -

    +
  • +

    ||

    +
  • +
  • +

    |10|

    +
  • +
  • +

    |10|8|

    +
  • +
  • +

    |10|8|*|

    +
  • +
  • +

    |80|

    +
  • +
  • +

    ||

    +
  • +

    Processing the stack (step 5) will retrieve one value from the stack (from the right at step 4). This is the operation multiply and this takes two values off the stack as input. The result is put back on the @@ -191,7 +201,7 @@ Generally speaking you have the following order:

        y = A - B  -->  y=minus(A,B)  -->  CDEF:y=A,B,-

    This is not very intuitive (at least most people don't think so). For -the function f(A,B) you reverse the position of ``f'', but you do not +the function f(A,B) you reverse the position of "f", but you do not reverse the order of the variables.

    @@ -210,7 +220,7 @@ are monitoring.

    router3.rrd with link1in link2in

    Suppose you would like to add up all these counters, except for link2in inside router2.rrd. You need to do:

    -

    (in this example, ``router1.rrd:link1in'' means the DS link1in inside the +

    (in this example, "router1.rrd:link1in" means the DS link1in inside the RRD router1.rrd)

        router1.rrd:link1in
    @@ -273,10 +283,10 @@ choose the order yourself, you have to start with the multiplication
     and then add a to it. You may alter the position of b and c, you must
     not alter the position of a and b.

    You have to take this in consideration when converting this expression -into RPN. Read it as: ``Add the outcome of b*c to a'' and then it is +into RPN. Read it as: "Add the outcome of b*c to a" and then it is easy to write the RPN expression: result=a,b,c,*,+ Another expression that would return the same: result=b,c,*,a,+

    -

    In normal math, you may encounter something like ``a*(b+c)'' and this +

    In normal math, you may encounter something like "a*(b+c)" and this can also be converted into RPN. The parenthesis just tell you to first add b and c, and then multiply a with the result. Again, now it is easy to write it in RPN: result=a,b,c,+,*. Note that this is very @@ -296,20 +306,21 @@ solve most, if not all, problems you encounter.

    The unknown value

    Sometimes collecting your data will fail. This can be very common, especially when querying over busy links. RRDtool can be configured -to allow for one (or even more) unknown value(s) and calculate the missing +to allow for one (or even more) unknown value(s) and calculate the missing update. You can, for instance, query your device every minute. This is creating one so called PDP or primary data point per minute. If you defined your RRD to contain an RRA that stores 5-minute values, you need five of those PDPs to create one CDP (consolidated data point). These PDPs can become unknown in two cases:

      -
    1. -The updates are too far apart. This is tuned using the ``heartbeat'' setting. -

      -
    2. -The update was set to unknown on purpose by inserting no value (using the -template option) or by using ``U'' as the value to insert. -

    +
  • +

    The updates are too far apart. This is tuned using the "heartbeat" setting.

    +
  • +
  • +

    The update was set to unknown on purpose by inserting no value (using the +template option) or by using "U" as the value to insert.

    +
  • +

    When a CDP is calculated, another mechanism determines if this CDP is valid or not. If there are too many PDPs unknown, the CDP is unknown as well. This is determined by the xff factor. Please note that one unknown counter @@ -341,7 +352,7 @@ set to the unknown value. If you do calculations with this type of value, the result has to be unknown too. This means that an expression such as result=a,b,+ will be unknown if either a or b is unknown. It would be wrong to just ignore the unknown value and return the value -of the other parameter. By doing so, you would assume ``unknown'' means ``zero'' +of the other parameter. By doing so, you would assume "unknown" means "zero" and this is not true.

    There has been a case where somebody was collecting data for over a year. A new piece of equipment was installed, a new RRD was created and the @@ -393,37 +404,38 @@ throughput for these two devices.

    will add known data (from router.rrd) to unknown data (from router2.rrd) for the bigger part of your stats. You could solve this in a few ways:

      -
    • -While creating the new database, fill it with zeros from the start to now. +
    • +

      While creating the new database, fill it with zeros from the start to now. You have to make the database start at or before the least recent time in -the other database. -

      -
    • -Alternatively, you could use CDEF and alter unknown data to zero. -

    +the other database.

    + +
  • +

    Alternatively, you could use CDEF and alter unknown data to zero.

    +
  • +

    Both methods have their pros and cons. The first method is troublesome and if you want to do that you have to figure it out yourself. It is not possible to create a database filled with zeros, you have to put them in manually. Implementing the second method is described next:

    -

    What we want is: ``if the value is unknown, replace it with zero''. This +

    What we want is: "if the value is unknown, replace it with zero". This could be written in pseudo-code as: if (value is unknown) then (zero) -else (value). When reading the the rrdgraph manpage manual you notice the ``UN'' -function that returns zero or one. You also notice the ``IF'' function +else (value). When reading the the rrdgraph manpage manual you notice the "UN" +function that returns zero or one. You also notice the "IF" function that takes zero or one as input.

    -

    First look at the ``IF'' function. It takes three values from the stack, +

    First look at the "IF" function. It takes three values from the stack, the first value is the decision point, the second value is returned to -the stack if the evaluation is ``true'' and if not, the third value is -returned to the stack. We want the ``UN'' function to decide what happens +the stack if the evaluation is "true" and if not, the third value is +returned to the stack. We want the "UN" function to decide what happens so we combine those two functions in one CDEF.

    -

    Lets write down the two possible paths for the ``IF'' function:

    +

    Lets write down the two possible paths for the "IF" function:

        if true  return a
        if false return b
    -

    In RPN: result=x,a,b,IF where ``x'' is either true or false.

    -

    Now we have to fill in ``x'', this should be the ``(value is unknown)'' part +

    In RPN: result=x,a,b,IF where "x" is either true or false.

    +

    Now we have to fill in "x", this should be the "(value is unknown)" part and this is in RPN: result=value,UN

    We now combine them: result=value,UN,a,b,IF and when we fill in the -appropriate things for ``a'' and ``b'' we're finished:

    +appropriate things for "a" and "b" we're finished:

    CDEF:result=value,UN,0,value,IF

    You may want to read Steve Rader's RPN guide if you have difficulties with the way I explained this last example.

    @@ -450,21 +462,22 @@ your database after installing your new equipment, it will also be translated into zero and therefore you won't see that there was a problem. This is not good and what you really want to do is:

      -
    • -If there is unknown data, look at the time that this sample was taken. -

      -
    • -If the unknown value is before time xxx, make it zero. -

      -
    • -If it is after time xxx, leave it as unknown data. -

    +
  • +

    If there is unknown data, look at the time that this sample was taken.

    +
  • +
  • +

    If the unknown value is before time xxx, make it zero.

    +
  • +
  • +

    If it is after time xxx, leave it as unknown data.

    +
  • +

    This is doable: you can compare the time that the sample was taken to some known time. Assuming you started to monitor your device on Friday September 17, 1999, 00:35:57 MET DST. Translate this time in seconds since 1970-01-01 and it becomes 937'521'357. If you process unknown values that were received after this time, you want to leave them unknown and -if they were ``received'' before this time, you want to translate them +if they were "received" before this time, you want to translate them into zero (so you can effectively ignore them while adding them to your other routers counters).

    Translating Friday September 17, 1999, 00:35:57 MET DST into 937'521'357 can @@ -477,15 +490,16 @@ known. There are several other ways of doing this, just pick one.

    values different depending on the time that the sample was taken. This is a three step process:

      -
    1. -If the timestamp of the value is after 937'521'357, leave it as is. -

      -
    2. -If the value is a known value, leave it as is. -

      -
    3. -Change the unknown value into zero. -

    +
  • +

    If the timestamp of the value is after 937'521'357, leave it as is.

    +
  • +
  • +

    If the value is a known value, leave it as is.

    +
  • +
  • +

    Change the unknown value into zero.

    +
  • +

    Lets look at part one:

         if (true) return the original value
    @@ -495,10 +509,10 @@ Change the unknown value into zero. if (false) return "b"

    We need to calculate true or false from step 1. There is a function available that returns the timestamp for the current sample. It is -called, how surprisingly, ``TIME''. This time has to be compared to -a constant number, we need ``GT''. The output of ``GT'' is true or false -and this is good input to ``IF''. We want ``if (time > 937521357) then -(return a) else (return b)''.

    +called, how surprisingly, "TIME". This time has to be compared to +a constant number, we need "GT". The output of "GT" is true or false +and this is good input to "IF". We want "if (time > 937521357) then +(return a) else (return b)".

    This process was already described thoroughly in the previous chapter so lets do it quick:

    @@ -527,26 +541,27 @@ so you get almost 10mb/s while the rest of your network activity does
     not produce numbers higher than 100kb/s.

    There are two options:

      -
    1. -If the number exceeds 100kb/s it is wrong and you want it masked out -by changing it into unknown. -

      -
    2. -You don't want the graph to show more than 100kb/s. -

    +
  • +

    If the number exceeds 100kb/s it is wrong and you want it masked out +by changing it into unknown.

    +
  • +
  • +

    You don't want the graph to show more than 100kb/s.

    +
  • +

    Pseudo code: if (number > 100) then unknown else number or Pseudo code: if (number > 100) then 100 else number.

    -

    The second ``problem'' may also be solved by using the rigid option of +

    The second "problem" may also be solved by using the rigid option of RRDtool graph, however this has not the same result. In this example you can end up with a graph that does autoscaling. Also, if you use the numbers to display maxima they will be set to 100kb/s.

    -

    We use ``IF'' and ``GT'' again. ``if (x) then (y) else (z)'' is written -down as ``CDEF:result=x,y,z,IF''; now fill in x, y and z. -For x you fill in ``number greater than 100kb/s'' becoming -``number,100000,GT'' (kilo is 1'000 and b/s is what we measure!). -The ``z'' part is ``number'' in both cases and the ``y'' part is either -``UNKN'' for unknown or ``100000'' for 100kb/s.

    +

    We use "IF" and "GT" again. "if (x) then (y) else (z)" is written +down as "CDEF:result=x,y,z,IF"; now fill in x, y and z. +For x you fill in "number greater than 100kb/s" becoming +"number,100000,GT" (kilo is 1'000 and b/s is what we measure!). +The "z" part is "number" in both cases and the "y" part is either +"UNKN" for unknown or "100000" for 100kb/s.

    The two CDEF expressions would be:

         CDEF:result=number,100000,GT,UNKN,number,IF
    @@ -555,7 +570,7 @@ The ``z'' part is ``number'' in both cases and the ``y'' part is either
     

    Example: working on a certain time span

    If you want a graph that spans a few weeks, but would only want to -see some routers' data for one week, you need to ``hide'' the rest of +see some routers' data for one week, you need to "hide" the rest of the time frame. Don't ask me when this would be useful, it's just here for the example :)

    We need to compare the time stamp to a begin date and an end date. @@ -565,14 +580,14 @@ Comparing isn't difficult:

    TIME,endtime,LE

    These two parts of the CDEF produce either 0 for false or 1 for true. We can now check if they are both 0 (or 1) using a few IF statements -but, as Wataru Satoh pointed out, we can use the ``*'' or ``+'' functions +but, as Wataru Satoh pointed out, we can use the "*" or "+" functions as logical AND and logical OR.

    -

    For ``*'', the result will be zero (false) if either one of the two -operators is zero. For ``+'', the result will only be false (0) when +

    For "*", the result will be zero (false) if either one of the two +operators is zero. For "+", the result will only be false (0) when two false (0) operators will be added. Warning: *any* number not -equal to 0 will be considered ``true''. This means that, for instance, -``-1,1,+'' (which should be ``true or true'') will become FALSE ... -In other words, use ``+'' only if you know for sure that you have positive +equal to 0 will be considered "true". This means that, for instance, +"-1,1,+" (which should be "true or true") will become FALSE ... +In other words, use "+" only if you know for sure that you have positive numbers (or zero) only.

    Let's compile the complete CDEF:

    @@ -588,8 +603,8 @@ could also do it the other way around:

    Example: You suspect to have problems and want to see unknown data.

    Suppose you add up the number of active users on several terminal servers. -If one of them doesn't give an answer (or an incorrect one) you get ``NaN'' -in the database (``Not a Number'') and NaN is evaluated as Unknown.

    +If one of them doesn't give an answer (or an incorrect one) you get "NaN" +in the database ("Not a Number") and NaN is evaluated as Unknown.

    In this case, you would like to be alerted to it and the sum of the remaining values is of no value to you.

    It would be something like:

    @@ -606,12 +621,12 @@ bright red line, not a gap.

    there is an unknown value:

         CDEF:wrongdata=allusers,UN,INF,UNKN,IF
    -

    ``allusers,UN'' will evaluate to either true or false, it is the (x) part -of the ``IF'' function and it checks if allusers is unknown. -The (y) part of the ``IF'' function is set to ``INF'' (which means infinity) -and the (z) part of the function returns ``UNKN''.

    +

    "allusers,UN" will evaluate to either true or false, it is the (x) part +of the "IF" function and it checks if allusers is unknown. +The (y) part of the "IF" function is set to "INF" (which means infinity) +and the (z) part of the function returns "UNKN".

    The logic is: if (allusers == unknown) then return INF else return UNKN.

    -

    You can now use AREA to display this ``wrongdata'' in bright red. If it +

    You can now use AREA to display this "wrongdata" in bright red. If it is unknown (because allusers is known) then the red AREA won't show up. If the value is INF (because allusers is unknown) then the red AREA will be filled in on the graph at that particular time.

    @@ -627,7 +642,7 @@ four values and you don't get a single value to test. Suppose users3 would be unknown at one point in time: users1 is plotted, users2 is stacked on top of users1, users3 is unknown and therefore nothing happens, users4 is stacked on top of users2. -Add the extra CDEFs anyway and use them to overlay the ``normal'' graph:

    +Add the extra CDEFs anyway and use them to overlay the "normal" graph:

        DEF:users1=location1.rrd:onlineTS1:LAST
        DEF:users2=location1.rrd:onlineTS2:LAST
    @@ -640,19 +655,20 @@ Add the extra CDEFs anyway and use them to overlay the ``normal'' graph:

    STACK:users3#00FFFF:users at ts3 STACK:users4#FFFF00:users at ts4 AREA:wrongdata#FF0000:unknown data
    -

    If there is unknown data in one of users1..users4, the ``wrongdata'' AREA +

    If there is unknown data in one of users1..users4, the "wrongdata" AREA will be drawn and because it starts at the X-axis and has infinite height it will effectively overwrite the STACKed parts.

    -

    You could combine the two CDEF lines into one (we don't use ``allusers'') +

    You could combine the two CDEF lines into one (we don't use "allusers") if you like. But there are good reasons for writing two CDEFS:

      -
    • -It improves the readability of the script. -

      -
    • -It can be used inside GPRINT to display the total number of users. -

    -

    If you choose to combine them, you can substitute the ``allusers'' in the +

  • +

    It improves the readability of the script.

    +
  • +
  • +

    It can be used inside GPRINT to display the total number of users.

    +
  • + +

    If you choose to combine them, you can substitute the "allusers" in the second CDEF with the part after the equal sign from the first line:

        CDEF:wrongdata=users1,users2,users3,users4,+,+,+,UN,INF,UNKN,IF
    @@ -678,8 +694,8 @@ F=9/5*C+32

    CDEF:far=9,5,/,cel,*,32,+ \ LINE2:cel#00a000:"D. Celsius" \ LINE2:far#ff0000:"D. Fahrenheit\c"
    -

    This example gets the DS called ``exhaust'' from database ``demo.rrd'' -and puts the values in variable ``cel''. The CDEF used is evaluated +

    This example gets the DS called "exhaust" from database "demo.rrd" +and puts the values in variable "cel". The CDEF used is evaluated as follows:

        CDEF:far=9,5,/,cel,*,32,+
    @@ -713,14 +729,14 @@ get:

    0 --> b idat1 --> c if (a) then (b) else (c)
    -

    The result is therefore ``0'' if it is true that ``idat1'' equals ``UN''. -If not, the original value of ``idat1'' is put back on the stack. -Lets call this answer ``d''. The process is repeated for the next +

    The result is therefore "0" if it is true that "idat1" equals "UN". +If not, the original value of "idat1" is put back on the stack. +Lets call this answer "d". The process is repeated for the next five items on the stack, it is done the same and will return answer -``h''. The resulting stack is therefore ``d,h''. -The expression has been simplified to ``d,h,+,8,*'' and it will now be -easy to see that we add ``d'' and ``h'', and multiply the result with eight.

    -

    The end result is that we have added ``idat1'' and ``idat2'' and in the +"h". The resulting stack is therefore "d,h". +The expression has been simplified to "d,h,+,8,*" and it will now be +easy to see that we add "d" and "h", and multiply the result with eight.

    +

    The end result is that we have added "idat1" and "idat2" and in the process we effectively ignored unknown values. The result is multiplied by eight, most likely to convert bytes/s to bits/s.

    @@ -741,25 +757,25 @@ by eight, most likely to convert bytes/s to bits/s.

    STACK:val4#FFC000:Value4 \ AREA:whipeout#FF0000:Unknown

    This demo demonstrates two ways to use infinity. It is a bit tricky -to see what happens in the ``background'' CDEF.

    +to see what happens in the "background" CDEF.

        "val4,POP,TIME,7200,%,3600,LE,INF,UNKN,IF"
    -

    This RPN takes the value of ``val4'' as input and then immediately -removes it from the stack using ``POP''. The stack is now empty but +

    This RPN takes the value of "val4" as input and then immediately +removes it from the stack using "POP". The stack is now empty but as a side effect we now know the time that this sample was taken. -This time is put on the stack by the ``TIME'' function.

    -

    ``TIME,7200,%'' takes the modulo of time and 7'200 (which is two hours). +This time is put on the stack by the "TIME" function.

    +

    "TIME,7200,%" takes the modulo of time and 7'200 (which is two hours). The resulting value on the stack will be a number in the range from 0 to 7199.

    For people who don't know the modulo function: it is the remainder after an integer division. If you divide 16 by 3, the answer would -be 5 and the remainder would be 1. So, ``16,3,%'' returns 1.

    -

    We have the result of ``TIME,7200,%'' on the stack, lets call this -``a''. The start of the RPN has become ``a,3600,LE'' and this checks -if ``a'' is less or equal than ``3600''. It is true half of the time. +be 5 and the remainder would be 1. So, "16,3,%" returns 1.

    +

    We have the result of "TIME,7200,%" on the stack, lets call this +"a". The start of the RPN has become "a,3600,LE" and this checks +if "a" is less or equal than "3600". It is true half of the time. We now have to process the rest of the RPN and this is only a simple -``IF'' function that returns either ``INF'' or ``UNKN'' depending on the -time. This is returned to variable ``background''.

    +"IF" function that returns either "INF" or "UNKN" depending on the +time. This is returned to variable "background".

    The second CDEF has been discussed earlier in this document so we won't do that here.

    Now you can draw the different layers. Start with the background @@ -773,8 +789,8 @@ four variables are valid. This is why you use the second CDEF, it will overlay the data with an AREA so the data cannot be seen anymore.

    If your data can also have negative values you also need to overwrite the other half of your graph. This can be done in a relatively simple -way: what you need is the ``wipeout'' variable and place a negative -sign before it: ``CDEF:wipeout2=wipeout,-1,*''

    +way: what you need is the "wipeout" variable and place a negative +sign before it: "CDEF:wipeout2=wipeout,-1,*"

    Filtering data

    diff --git a/doc/cdeftutorial.txt b/doc/cdeftutorial.txt index c67ecaa..cab147d 100644 --- a/doc/cdeftutorial.txt +++ b/doc/cdeftutorial.txt @@ -12,25 +12,23 @@ DDEESSCCRRIIPPTTIIOONN If you think some important feature is not explained properly, and if adding it to this document would benefit most users, please do ask me to add it. I will then try to provide an answer in the next release of - this tutorial. No feedback equals no changes! Additions to this docu- - ment are also welcome. -- Alex van den Bogaerdt - - WWhhyy tthhiiss ttuuttoorriiaall?? + this tutorial. No feedback equals no changes! Additions to this + document are also welcome. -- Alex van den Bogaerdt + + WWhhyy tthhiiss ttuuttoorriiaall?? One of the powerful parts of RRDtool is its ability to do all sorts of - calculations on the data retrieved from its databases. However, RRD- - tool's many options and syntax make it difficult for the average user - to understand. The manuals are good at explaining what these options - do; however they do not (and should not) explain in detail why they are - useful. As with my RRDtool tutorial: if you want a simple document in - simple language you should read this tutorial. If you are happy with - the official documentation, you may find this document too simple or - even boring. If you do choose to read this tutorial, I also expect you - to have read and fully understand my other tutorial. - - MMoorree rreeaaddiinngg - + calculations on the data retrieved from its databases. However, + RRDtool's many options and syntax make it difficult for the average + user to understand. The manuals are good at explaining what these + options do; however they do not (and should not) explain in detail why + they are useful. As with my RRDtool tutorial: if you want a simple + document in simple language you should read this tutorial. If you are + happy with the official documentation, you may find this document too + simple or even boring. If you do choose to read this tutorial, I also + expect you to have read and fully understand my other tutorial. + + MMoorree rreeaaddiinngg If you have difficulties with the way I try to explain it please read Steve Rader's rpntutorial. It may help you understand how this all works. @@ -121,9 +119,9 @@ RRPPNN--eexxpprreessssiioonnss reverse the order of the variables. CCoonnvveerrttiinngg yyoouurr wwiisshheess ttoo RRPPNN - First, get a clear picture of what you want to do. Break down the prob- - lem in smaller portions until they cannot be split anymore. Then it is - rather simple to convert your ideas into RPN. + First, get a clear picture of what you want to do. Break down the + problem in smaller portions until they cannot be split anymore. Then it + is rather simple to convert your ideas into RPN. Suppose you have several RRDs and would like to add up some counters in them. These could be, for instance, the counters for every WAN link you @@ -183,8 +181,8 @@ CCoonnvveerrttiinngg yyoouurr wwiisshheess ttoo RRPPNN This is correct but it can be made more clear to humans. It does not matter if you add a to b and then add c to the result or first add b to c and then add a to the result. This makes it possible to rewrite the - RPN into "CDEF:result=a,b,c,d,e,+,+,+,+" which is evaluated differ- - ently: + RPN into "CDEF:result=a,b,c,d,e,+,+,+,+" which is evaluated + differently: push value of variable a on the stack: a push value of variable b on the stack: a b @@ -222,8 +220,8 @@ CCoonnvveerrttiinngg yyoouurr wwiisshheess ttoo RRPPNN also be converted into RPN. The parenthesis just tell you to first add b and c, and then multiply a with the result. Again, now it is easy to write it in RPN: "result=a,b,c,+,*". Note that this is very similar to - one of the expressions in the previous paragraph, only the multiplica- - tion and the addition changed places. + one of the expressions in the previous paragraph, only the + multiplication and the addition changed places. When you have problems with RPN or when RRDtool is complaining, it's usually a good thing to write down the stack on a piece of paper and @@ -232,8 +230,7 @@ CCoonnvveerrttiinngg yyoouurr wwiisshheess ttoo RRPPNN solve most, if not all, problems you encounter. SSoommee ssppeecciiaall nnuummbbeerrss - TThhee uunnkknnoowwnn vvaalluuee - + TThhee uunnkknnoowwnn vvaalluuee Sometimes collecting your data will fail. This can be very common, especially when querying over busy links. RRDtool can be configured to allow for one (or even more) unknown value(s) and calculate the missing @@ -276,8 +273,7 @@ SSoommee ssppeecciiaall nnuummbbeerrss CDP and the xff factor. As you can see from the previous text they define the behavior of your RRA. - WWoorrkkiinngg wwiitthh uunnkknnoowwnn ddaattaa iinn yyoouurr ddaattaabbaassee - + WWoorrkkiinngg wwiitthh uunnkknnoowwnn ddaattaa iinn yyoouurr ddaattaabbaassee As you have read in the previous chapter, entries in an RRA can be set to the unknown value. If you do calculations with this type of value, the result has to be unknown too. This means that an expression such as @@ -303,15 +299,14 @@ SSoommee ssppeecciiaall nnuummbbeerrss There are some examples below that make this change. - IInnffiinniittyy - + IInnffiinniittyy Infinite data is another form of a special number. It cannot be graphed because by definition you would never reach the infinite value. You can - think of positive and negative infinity depending on the position rela- - tive to zero. + think of positive and negative infinity depending on the position + relative to zero. - RRDtool is capable of representing (-not- graphing!) infinity by stop- - ping at its current maximum (for positive infinity) or minimum (for + RRDtool is capable of representing (-not- graphing!) infinity by + stopping at its current maximum (for positive infinity) or minimum (for negative infinity) without knowing this maximum (minimum). Infinity in RRDtool is mostly used to draw an AREA without knowing its @@ -320,17 +315,15 @@ SSoommee ssppeecciiaall nnuummbbeerrss current graph. This is probably a good way to approximate infinity and it sure allows for some neat tricks. See below for examples. - WWoorrkkiinngg wwiitthh uunnkknnoowwnn ddaattaa aanndd iinnffiinniittyy - + WWoorrkkiinngg wwiitthh uunnkknnoowwnn ddaattaa aanndd iinnffiinniittyy Sometimes you would like to discard unknown data and pretend it is zero (or any other value for that matter) and sometimes you would like to pretend that known data is unknown (to discard known-to-be-wrong data). - This is why CDEFs have support for unknown data. There are also exam- - ples available that show unknown data by using infinity. + This is why CDEFs have support for unknown data. There are also + examples available that show unknown data by using infinity. SSoommee eexxaammpplleess - EExxaammppllee:: uussiinngg aa rreecceennttllyy ccrreeaatteedd RRRRDD - + EExxaammppllee:: uussiinngg aa rreecceennttllyy ccrreeaatteedd RRRRDD You are keeping statistics on your router for over a year now. Recently you installed an extra router and you would like to show the combined throughput for these two devices. @@ -340,11 +333,11 @@ SSoommee eexxaammpplleess router2.rrd) for the bigger part of your stats. You could solve this in a few ways: - · While creating the new database, fill it with zeros from the start + · While creating the new database, fill it with zeros from the start to now. You have to make the database start at or before the least recent time in the other database. - · Alternatively, you could use CDEF and alter unknown data to zero. + · Alternatively, you could use CDEF and alter unknown data to zero. Both methods have their pros and cons. The first method is troublesome and if you want to do that you have to figure it out yourself. It is @@ -399,19 +392,18 @@ SSoommee eexxaammpplleess Eventually, when all unknown data is removed from the RRD, you may want to remove this rule so that unknown data is properly displayed. - EExxaammppllee:: bbeetttteerr hhaannddlliinngg ooff uunnkknnoowwnn ddaattaa,, bbyy uussiinngg ttiimmee - + EExxaammppllee:: bbeetttteerr hhaannddlliinngg ooff uunnkknnoowwnn ddaattaa,, bbyy uussiinngg ttiimmee The above example has one drawback. If you do log unknown data in your - database after installing your new equipment, it will also be trans- - lated into zero and therefore you won't see that there was a problem. - This is not good and what you really want to do is: + database after installing your new equipment, it will also be + translated into zero and therefore you won't see that there was a + problem. This is not good and what you really want to do is: - · If there is unknown data, look at the time that this sample was + · If there is unknown data, look at the time that this sample was taken. - · If the unknown value is before time xxx, make it zero. + · If the unknown value is before time xxx, make it zero. - · If it is after time xxx, leave it as unknown data. + · If it is after time xxx, leave it as unknown data. This is doable: you can compare the time that the sample was taken to some known time. Assuming you started to monitor your device on Friday @@ -430,9 +422,9 @@ SSoommee eexxaammpplleess You could also dump the database and see where the data starts to be known. There are several other ways of doing this, just pick one. - Now we have to create the magic that allows us to process unknown val- - ues different depending on the time that the sample was taken. This is - a three step process: + Now we have to create the magic that allows us to process unknown + values different depending on the time that the sample was taken. This + is a three step process: 1. If the timestamp of the value is after 937'521'357, leave it as is. @@ -477,13 +469,12 @@ SSoommee eexxaammpplleess This looks very complex, however, as you can see, it was not too hard to come up with. - EExxaammppllee:: PPrreetteennddiinngg wweeiirrdd ddaattaa iissnn''tt tthheerree - + EExxaammppllee:: PPrreetteennddiinngg wweeiirrdd ddaattaa iissnn''tt tthheerree Suppose you have a problem that shows up as huge spikes in your graph. - You know this happens and why, so you decide to work around the prob- - lem. Perhaps you're using your network to do a backup at night and by - doing so you get almost 10mb/s while the rest of your network activity - does not produce numbers higher than 100kb/s. + You know this happens and why, so you decide to work around the + problem. Perhaps you're using your network to do a backup at night and + by doing so you get almost 10mb/s while the rest of your network + activity does not produce numbers higher than 100kb/s. There are two options: @@ -512,8 +503,7 @@ SSoommee eexxaammpplleess CDEF:result=number,100000,GT,UNKN,number,IF CDEF:result=number,100000,GT,100000,number,IF - EExxaammppllee:: wwoorrkkiinngg oonn aa cceerrttaaiinn ttiimmee ssppaann - + EExxaammppllee:: wwoorrkkiinngg oonn aa cceerrttaaiinn ttiimmee ssppaann If you want a graph that spans a few weeks, but would only want to see some routers' data for one week, you need to "hide" the rest of the time frame. Don't ask me when this would be useful, it's just here for @@ -530,8 +520,8 @@ SSoommee eexxaammpplleess but, as Wataru Satoh pointed out, we can use the "*" or "+" functions as logical AND and logical OR. - For "*", the result will be zero (false) if either one of the two oper- - ators is zero. For "+", the result will only be false (0) when two + For "*", the result will be zero (false) if either one of the two + operators is zero. For "+", the result will only be false (0) when two false (0) operators will be added. Warning: *any* number not equal to 0 will be considered "true". This means that, for instance, "-1,1,+" (which should be "true or true") will become FALSE ... In other words, @@ -551,8 +541,7 @@ SSoommee eexxaammpplleess This will return an UNKNOWN if either comparison returns true. - EExxaammppllee:: YYoouu ssuussppeecctt ttoo hhaavvee pprroobblleemmss aanndd wwaanntt ttoo sseeee uunnkknnoowwnn ddaattaa.. - + EExxaammppllee:: YYoouu ssuussppeecctt ttoo hhaavvee pprroobblleemmss aanndd wwaanntt ttoo sseeee uunnkknnoowwnn ddaattaa.. Suppose you add up the number of active users on several terminal servers. If one of them doesn't give an answer (or an incorrect one) you get "NaN" in the database ("Not a Number") and NaN is evaluated as @@ -594,8 +583,7 @@ SSoommee eexxaammpplleess AREA:allusers#0000FF:combined user count AREA:wrongdata#FF0000:unknown data - SSaammee eexxaammppllee uusseeffuull wwiitthh SSTTAACCKKeedd ddaattaa:: - + SSaammee eexxaammppllee uusseeffuull wwiitthh SSTTAACCKKeedd ddaattaa:: If you use stack in the previous example (as I would do) then you don't add up the values. Therefore, there is no relationship between the four values and you don't get a single value to test. Suppose users3 would @@ -623,9 +611,9 @@ SSoommee eexxaammpplleess You could combine the two CDEF lines into one (we don't use "allusers") if you like. But there are good reasons for writing two CDEFS: - · It improves the readability of the script. + · It improves the readability of the script. - · It can be used inside GPRINT to display the total number of users. + · It can be used inside GPRINT to display the total number of users. If you choose to combine them, you can substitute the "allusers" in the second CDEF with the part after the equal sign from the first line: @@ -641,8 +629,7 @@ SSoommee eexxaammpplleess GPRINT:allusers:LAST:"Current: %6.0lf\n" TThhee eexxaammpplleess ffrroomm tthhee RRRRDD ggrraapphh mmaannuuaall ppaaggee - DDeeggrreeeess CCeellssiiuuss vvss.. DDeeggrreeeess FFaahhrreennhheeiitt - + DDeeggrreeeess CCeellssiiuuss vvss.. DDeeggrreeeess FFaahhrreennhheeiitt To convert Celsius into Fahrenheit use the formula F=9/5*C+32 rrdtool graph demo.png --title="Demo Graph" \ @@ -652,8 +639,8 @@ TThhee eexxaammpplleess ffrroomm tthhee RRRRDD ggrraapp LINE2:far#ff0000:"D. Fahrenheit\c" This example gets the DS called "exhaust" from database "demo.rrd" and - puts the values in variable "cel". The CDEF used is evaluated as fol- - lows: + puts the values in variable "cel". The CDEF used is evaluated as + follows: CDEF:far=9,5,/,cel,*,32,+ 1. push 9, push 5 @@ -666,8 +653,7 @@ TThhee eexxaammpplleess ffrroomm tthhee RRRRDD ggrraapp 6. push function "plus" and process it the stack contains now the temperature in Fahrenheit - CChhaannggiinngg uunnkknnoowwnn iinnttoo zzeerroo - + CChhaannggiinngg uunnkknnoowwnn iinnttoo zzeerroo rrdtool graph demo.png --title="Demo Graph" \ DEF:idat1=interface1.rrd:ds0:AVERAGE \ DEF:idat2=interface2.rrd:ds0:AVERAGE \ @@ -699,8 +685,7 @@ TThhee eexxaammpplleess ffrroomm tthhee RRRRDD ggrraapp process we effectively ignored unknown values. The result is multiplied by eight, most likely to convert bytes/s to bits/s. - IInnffiinniittyy ddeemmoo - + IInnffiinniittyy ddeemmoo rrdtool graph example.png --title="INF demo" \ DEF:val1=some.rrd:ds0:AVERAGE \ DEF:val2=some.rrd:ds1:AVERAGE \ @@ -751,16 +736,15 @@ TThhee eexxaammpplleess ffrroomm tthhee RRRRDD ggrraapp background. Suppose one of val1..val4 would be unknown, in that case you end up with only three bars stacked on top of each other. You don't want to see this because the data is only valid when all four - variables are valid. This is why you use the second CDEF, it will over- - lay the data with an AREA so the data cannot be seen anymore. + variables are valid. This is why you use the second CDEF, it will + overlay the data with an AREA so the data cannot be seen anymore. If your data can also have negative values you also need to overwrite the other half of your graph. This can be done in a relatively simple way: what you need is the "wipeout" variable and place a negative sign before it: "CDEF:wipeout2=wipeout,-1,*" - FFiilltteerriinngg ddaattaa - + FFiilltteerriinngg ddaattaa You may do some complex data filtering: MEDIAN FILTER: filters shot noise @@ -773,6 +757,7 @@ TThhee eexxaammpplleess ffrroomm tthhee RRRRDD ggrraapp LINE3:median#000077:filtered LINE1:prev2#007700:'raw data' + DERIVATE: DEF:var=database.rrd:traffic:AVERAGE @@ -799,4 +784,4 @@ AAUUTTHHOORR -1.3.99909060808 2009-02-21 CDEFTUTORIAL(1) +1.3.999 2009-06-09 CDEFTUTORIAL(1) diff --git a/doc/librrd.1 b/doc/librrd.3 similarity index 59% rename from doc/librrd.1 rename to doc/librrd.3 index 277bff9..1fe5fa2 100644 --- a/doc/librrd.1 +++ b/doc/librrd.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -128,8 +123,12 @@ .rm #[ #] #H #V #F C .\" ======================================================================== .\" -.IX Title "LIBRRD 1" -.TH LIBRRD 1 "2009-04-20" "1.3.99909060808" "rrdtool" +.IX Title "librrd 3" +.TH librrd 3 "2009-09-30" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" librrd \- RRD library functions .SH "DESCRIPTION" @@ -143,6 +142,48 @@ This manual page documents the \fBlibrrd\fR \s-1API\s0. \&\fB\s-1NOTE:\s0\fR This document is a work in progress, and should be considered incomplete as long as this warning persists. For more information about the \fBlibrrd\fR functions, always consult the source code. +.SH "CORE FUNCTIONS" +.IX Header "CORE FUNCTIONS" +.IP "\fBrrd_dump_cb_r(char *filename, int opt_header, rrd_output_callback_t cb, void *user)\fR" 4 +.IX Item "rrd_dump_cb_r(char *filename, int opt_header, rrd_output_callback_t cb, void *user)" +In some situations it is necessary to get the output of \f(CW\*(C`rrd_dump\*(C'\fR without +writing it to a file or the standard output. In such cases an application +can ask \fBrrd_dump_cb_r\fR to call an user-defined function each time there +is output to be stored somewhere. This can be used, to e.g. directly feed +an \s-1XML\s0 parser with the dumped output or transfer the resulting string +in memory. +.Sp +The arguments for \fBrrd_dump_cb_r\fR are the same as for \fBrrd_dump_opt_r\fR +except that the output filename parameter is replaced by the user-defined +callback function and an additional parameter for the callback function +that is passed untouched, i.e. to store information about the callback state +needed for the user-defined callback to function properly. +.Sp +Recent versions of \fBrrd_dump_opt_r\fR internally use this callback mechanism +to write their output to the file provided by the user. +.Sp +.Vb 7 +\& size_t rrd_dump_opt_cb_fileout( +\& const void *data, +\& size_t len, +\& void *user) +\& { +\& return fwrite(data, 1, len, (FILE *)user); +\& } +.Ve +.Sp +The associated call for \fBrrd_dump_cb_r\fR looks like +.Sp +.Vb 2 +\& res = rrd_dump_cb_r(filename, opt_header, +\& rrd_dump_opt_cb_fileout, (void *)out_file); +.Ve +.Sp +where the last parameter specifies the file handle \fBrrd_dump_opt_cb_fileout\fR +should write to. There's no specific condition for the callback to detect +when it is called for the first time, nor for the last time. If you require +this for initialization and cleanup you should do those tasks before and +after calling \fBrrd_dump_cr_r\fR respectively. .SH "UTILITY FUNCTIONS" .IX Header "UTILITY FUNCTIONS" .IP "\fB\f(BIrrd_random()\fB\fR" 4 @@ -185,3 +226,28 @@ source pointer will be \s-1NULL\s0 and the count will be zero. \& rrd_free_ptrs(&arr, &arr_size); \& /* here, arr == NULL && arr_size == 0 */ .Ve +.IP "\fBrrd_mkdir_p(const char *pathname, mode_t mode)\fR" 4 +.IX Item "rrd_mkdir_p(const char *pathname, mode_t mode)" +Create the directory named \f(CW\*(C`pathname\*(C'\fR including all of its parent +directories (similar to \f(CW\*(C`mkdir \-p\*(C'\fR on the command line \- see \fImkdir\fR\|(1) for +more information). The argument \f(CW\*(C`mode\*(C'\fR specifies the permissions to use. It +is modified by the process's \f(CW\*(C`umask\*(C'\fR. See \fImkdir\fR\|(2) for more details. +.Sp +The function returns 0 on success, a negative value else. In case of an error, +\&\f(CW\*(C`errno\*(C'\fR is set accordingly. Aside from the errors documented in \fImkdir\fR\|(2), +the function may fail with the following errors: +.RS 4 +.IP "\fB\s-1EINVAL\s0\fR" 4 +.IX Item "EINVAL" +\&\f(CW\*(C`pathname\*(C'\fR is \f(CW\*(C`NULL\*(C'\fR or the empty string. +.IP "\fB\s-1ENOMEM\s0\fR" 4 +.IX Item "ENOMEM" +Insufficient memory was available. +.IP "\fBany error returned by \f(BIstat\fB\|(2)\fR" 4 +.IX Item "any error returned by stat" +.RE +.RS 4 +.Sp +In contrast to \fImkdir\fR\|(2), the function does \fBnot\fR fail if \f(CW\*(C`pathname\*(C'\fR +already exists and is a directory. +.RE diff --git a/doc/librrd.html b/doc/librrd.html index 471e6f3..882c061 100644 --- a/doc/librrd.html +++ b/doc/librrd.html @@ -1,23 +1,32 @@ + librrd + -

    + +
    +

    + + +

    @@ -39,24 +48,61 @@ the librrd functions, always consult the source code.


    -

    UTILITY FUNCTIONS

    +

    CORE FUNCTIONS

    -
    rrd_random()
    -
    +
    rrd_dump_cb_r(char *filename, int opt_header, rrd_output_callback_t cb, void *user)
    +
    -Generates random numbers just like random(). This further ensures that -the random number generator is seeded exactly once per process. +

    In some situations it is necessary to get the output of rrd_dump without +writing it to a file or the standard output. In such cases an application +can ask rrd_dump_cb_r to call an user-defined function each time there +is output to be stored somewhere. This can be used, to e.g. directly feed +an XML parser with the dumped output or transfer the resulting string +in memory.

    +

    The arguments for rrd_dump_cb_r are the same as for rrd_dump_opt_r +except that the output filename parameter is replaced by the user-defined +callback function and an additional parameter for the callback function +that is passed untouched, i.e. to store information about the callback state +needed for the user-defined callback to function properly.

    +

    Recent versions of rrd_dump_opt_r internally use this callback mechanism +to write their output to the file provided by the user.

    +
    +    size_t rrd_dump_opt_cb_fileout(
    +        const void *data,
    +        size_t len,
    +        void *user)
    +    {
    +        return fwrite(data, 1, len, (FILE *)user);
    +    }
    +

    The associated call for rrd_dump_cb_r looks like

    +
    +    res = rrd_dump_cb_r(filename, opt_header,
    +        rrd_dump_opt_cb_fileout, (void *)out_file);
    +

    where the last parameter specifies the file handle rrd_dump_opt_cb_fileout +should write to. There's no specific condition for the callback to detect +when it is called for the first time, nor for the last time. If you require +this for initialization and cleanup you should do those tasks before and +after calling rrd_dump_cr_r respectively.

    -

    -
    rrd_add_ptr(void ***dest, size_t *dest_size, void *src)
    -
    +
    +

    +

    +
    +

    UTILITY FUNCTIONS

    +
    +
    rrd_random()
    +
    -Dynamically resize the array pointed to by dest. dest_size is a -pointer to the current size of dest. Upon successful realloc(), the -dest_size is incremented by 1 and the src pointer is stored at the -end of the new dest. Returns 1 on success, 0 on failure. +

    Generates random numbers just like random(). This further ensures that +the random number generator is seeded exactly once per process.

    +
    rrd_add_ptr(void ***dest, size_t *dest_size, void *src)
    +
    +

    Dynamically resize the array pointed to by dest. dest_size is a +pointer to the current size of dest. Upon successful realloc(), the +dest_size is incremented by 1 and the src pointer is stored at the +end of the new dest. Returns 1 on success, 0 on failure.

         type **arr = NULL;
         type *elem = "whatever";
    @@ -64,13 +110,10 @@ end of the new dest.  Returns 1 on success, 0 on failure.
         if (!rrd_add_ptr(&arr, &arr_size, elem))
             handle_failure();
    -

    -
    rrd_add_strdup(char ***dest, size_t *dest_size, char *src)
    -
    -
    -Like rrd_add_ptr, except adds a strdup of the source string. -
    +
    rrd_add_strdup(char ***dest, size_t *dest_size, char *src)
    +
    +

    Like rrd_add_ptr, except adds a strdup of the source string.

         char **arr = NULL;
         size_t arr_size = NULL;
    @@ -78,21 +121,45 @@ Like rrd_add_ptr, except adds a 
     
    -

    -
    rrd_free_ptrs(void ***src, size_t *cnt)
    -
    -
    -Free an array of pointers allocated by rrd_add_ptr or -rrd_add_strdup. Also frees the array pointer itself. On return, the -source pointer will be NULL and the count will be zero. -
    +
    rrd_free_ptrs(void ***src, size_t *cnt)
    +
    +

    Free an array of pointers allocated by rrd_add_ptr or +rrd_add_strdup. Also frees the array pointer itself. On return, the +source pointer will be NULL and the count will be zero.

         /* created as above */
         rrd_free_ptrs(&arr, &arr_size);
         /* here, arr == NULL && arr_size == 0 */
    -

    +
    rrd_mkdir_p(const char *pathname, mode_t mode)
    + +
    +

    Create the directory named pathname including all of its parent +directories (similar to mkdir -p on the command line - see mkdir(1) for +more information). The argument mode specifies the permissions to use. It +is modified by the process's umask. See mkdir(2) for more details.

    +

    The function returns 0 on success, a negative value else. In case of an error, +errno is set accordingly. Aside from the errors documented in mkdir(2), +the function may fail with the following errors:

    +
    +
    EINVAL
    + +
    +

    pathname is NULL or the empty string.

    +
    +
    ENOMEM
    + +
    +

    Insufficient memory was available.

    +
    +
    any error returned by stat(2)
    + +
    +

    In contrast to mkdir(2), the function does not fail if pathname +already exists and is a directory.

    +
    + diff --git a/doc/librrd.pod b/doc/librrd.pod index 52cf18e..038746c 100644 --- a/doc/librrd.pod +++ b/doc/librrd.pod @@ -16,9 +16,52 @@ B This document is a work in progress, and should be considered incomplete as long as this warning persists. For more information about the B functions, always consult the source code. +=head1 CORE FUNCTIONS + +=over 4 + +=item B + +In some situations it is necessary to get the output of C without +writing it to a file or the standard output. In such cases an application +can ask B to call an user-defined function each time there +is output to be stored somewhere. This can be used, to e.g. directly feed +an XML parser with the dumped output or transfer the resulting string +in memory. + +The arguments for B are the same as for B +except that the output filename parameter is replaced by the user-defined +callback function and an additional parameter for the callback function +that is passed untouched, i.e. to store information about the callback state +needed for the user-defined callback to function properly. + +Recent versions of B internally use this callback mechanism +to write their output to the file provided by the user. + + size_t rrd_dump_opt_cb_fileout( + const void *data, + size_t len, + void *user) + { + return fwrite(data, 1, len, (FILE *)user); + } + +The associated call for B looks like + + res = rrd_dump_cb_r(filename, opt_header, + rrd_dump_opt_cb_fileout, (void *)out_file); + +where the last parameter specifies the file handle B +should write to. There's no specific condition for the callback to detect +when it is called for the first time, nor for the last time. If you require +this for initialization and cleanup you should do those tasks before and +after calling B respectively. + +=back + =head1 UTILITY FUNCTIONS -=over +=over 4 =item B @@ -58,4 +101,32 @@ source pointer will be NULL and the count will be zero. rrd_free_ptrs(&arr, &arr_size); /* here, arr == NULL && arr_size == 0 */ +=item B + +Create the directory named C including all of its parent +directories (similar to C on the command line - see L for +more information). The argument C specifies the permissions to use. It +is modified by the process's C. See L for more details. + +The function returns 0 on success, a negative value else. In case of an error, +C is set accordingly. Aside from the errors documented in L, +the function may fail with the following errors: + +=over 4 + +=item B + +C is C or the empty string. + +=item B + +Insufficient memory was available. + +=item B> + +=back + +In contrast to L, the function does B fail if C +already exists and is a directory. + =back diff --git a/doc/librrd.txt b/doc/librrd.txt index da82e48..bfc23cb 100644 --- a/doc/librrd.txt +++ b/doc/librrd.txt @@ -1,4 +1,4 @@ -LIBRRD(1) rrdtool LIBRRD(1) +librrd(3) rrdtool librrd(3) @@ -16,18 +16,58 @@ DDEESSCCRRIIPPTTIIOONN incomplete as long as this warning persists. For more information about the lliibbrrrrdd functions, always consult the source code. +CCOORREE FFUUNNCCTTIIOONNSS + rrrrdd__dduummpp__ccbb__rr((cchhaarr **ffiilleennaammee,, iinntt oopptt__hheeaaddeerr,, rrrrdd__oouuttppuutt__ccaallllbbaacckk__tt ccbb,, + vvooiidd **uusseerr)) + In some situations it is necessary to get the output of "rrd_dump" + without writing it to a file or the standard output. In such cases + an application can ask rrrrdd__dduummpp__ccbb__rr to call an user-defined + function each time there is output to be stored somewhere. This can + be used, to e.g. directly feed an XML parser with the dumped output + or transfer the resulting string in memory. + + The arguments for rrrrdd__dduummpp__ccbb__rr are the same as for rrrrdd__dduummpp__oopptt__rr + except that the output filename parameter is replaced by the user- + defined callback function and an additional parameter for the + callback function that is passed untouched, i.e. to store + information about the callback state needed for the user-defined + callback to function properly. + + Recent versions of rrrrdd__dduummpp__oopptt__rr internally use this callback + mechanism to write their output to the file provided by the user. + + size_t rrd_dump_opt_cb_fileout( + const void *data, + size_t len, + void *user) + { + return fwrite(data, 1, len, (FILE *)user); + } + + The associated call for rrrrdd__dduummpp__ccbb__rr looks like + + res = rrd_dump_cb_r(filename, opt_header, + rrd_dump_opt_cb_fileout, (void *)out_file); + + where the last parameter specifies the file handle + rrrrdd__dduummpp__oopptt__ccbb__ffiilleeoouutt should write to. There's no specific + condition for the callback to detect when it is called for the + first time, nor for the last time. If you require this for + initialization and cleanup you should do those tasks before and + after calling rrrrdd__dduummpp__ccrr__rr respectively. + UUTTIILLIITTYY FFUUNNCCTTIIOONNSS _rr_rr_dd____rr_aa_nn_dd_oo_mm_((_)) Generates random numbers just like _r_a_n_d_o_m_(_). This further ensures - that the random number generator is seeded exactly once per pro- - cess. + that the random number generator is seeded exactly once per + process. rrrrdd__aadddd__ppttrr((vvooiidd ******ddeesstt,, ssiizzee__tt **ddeesstt__ssiizzee,, vvooiidd **ssrrcc)) Dynamically resize the array pointed to by "dest". "dest_size" is - a pointer to the current size of "dest". Upon successful _r_e_a_l_- - _l_o_c_(_), the "dest_size" is incremented by 1 and the "src" pointer is - stored at the end of the new "dest". Returns 1 on success, 0 on - failure. + a pointer to the current size of "dest". Upon successful + _r_e_a_l_l_o_c_(_), the "dest_size" is incremented by 1 and the "src" + pointer is stored at the end of the new "dest". Returns 1 on + success, 0 on failure. type **arr = NULL; type *elem = "whatever"; @@ -53,6 +93,29 @@ UUTTIILLIITTYY FFUUNNCCTTIIOONNSS rrd_free_ptrs(&arr, &arr_size); /* here, arr == NULL && arr_size == 0 */ + rrrrdd__mmkkddiirr__pp((ccoonnsstt cchhaarr **ppaatthhnnaammee,, mmooddee__tt mmooddee)) + Create the directory named "pathname" including all of its parent + directories (similar to "mkdir -p" on the command line - see + _m_k_d_i_r(1) for more information). The argument "mode" specifies the + permissions to use. It is modified by the process's "umask". See + _m_k_d_i_r(2) for more details. + + The function returns 0 on success, a negative value else. In case + of an error, "errno" is set accordingly. Aside from the errors + documented in _m_k_d_i_r(2), the function may fail with the following + errors: + + EEIINNVVAALL + "pathname" is "NULL" or the empty string. + + EENNOOMMEEMM + Insufficient memory was available. + + aannyy eerrrroorr rreettuurrnneedd bbyy _ss_tt_aa_tt((22)) + + In contrast to _m_k_d_i_r(2), the function does nnoott fail if "pathname" + already exists and is a directory. + -1.3.99909060808 2009-04-20 LIBRRD(1) +1.3.999 2009-09-30 librrd(3) diff --git a/doc/rpntutorial.1 b/doc/rpntutorial.1 index 5a74d62..de053bd 100644 --- a/doc/rpntutorial.1 +++ b/doc/rpntutorial.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RPNTUTORIAL 1" -.TH RPNTUTORIAL 1 "2008-12-22" "1.3.99909060808" "rrdtool" +.TH RPNTUTORIAL 1 "2009-05-10" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rpntutorial \- Reading RRDtool RPN Expressions by Steve Rader .SH "DESCRIPTION" diff --git a/doc/rpntutorial.html b/doc/rpntutorial.html index b5dd26e..74d8754 100644 --- a/doc/rpntutorial.html +++ b/doc/rpntutorial.html @@ -1,14 +1,18 @@ + rpntutorial + -

    + +
    +

    + + +

    @@ -43,14 +51,14 @@ they appear. These operators act on the two values on the stack preceding them (to the left). Read these two values on the stack from left to right inserting the operator in the middle. If the resulting statement is true, then replace the three values from the -stack with ``1''. If the statement if false, replace the three values -with ``0''.

    -

    For example, think about ``2,1,GT''. This RPN expression could be -read as ``is two greater than one?'' The answer to that question is -``true''. So the three values should be replaced with ``1''. Thus the +stack with "1". If the statement if false, replace the three values +with "0".

    +

    For example, think about "2,1,GT". This RPN expression could be +read as "is two greater than one?" The answer to that question is +"true". So the three values should be replaced with "1". Thus the RPN expression 2,1,GT evaluates to 1.

    -

    Now consider ``2,1,LE''. This RPN expression could be read as ``is -two less than or equal to one?''. The natural response is ``no'' +

    Now consider "2,1,LE". This RPN expression could be read as "is +two less than or equal to one?". The natural response is "no" and thus the RPN expression 2,1,LE evaluates to 0.

    @@ -58,21 +66,21 @@ and thus the RPN expression 2,1,LE evaluates to 0.

    Reading the IF Operator

    The IF RPN logic operator can be straightforward also. The key to reading IF operators is to understand that the condition part -of the traditional ``if X than Y else Z'' notation has *already* +of the traditional "if X than Y else Z" notation has *already* been evaluated. So the IF operator acts on only one value on the stack: the third value to the left of the IF value. The second -value to the left of the IF corresponds to the true (``Y'') branch. +value to the left of the IF corresponds to the true ("Y") branch. And the first value to the left of the IF corresponds to the false -(``Z'') branch. Read the RPN expression ``X,Y,Z,IF'' from left to -right like so: ``if X then Y else Z''.

    -

    For example, consider ``1,10,100,IF''. It looks bizarre to me. -But when I read ``if 1 then 10 else 100'' it's crystal clear: 1 is true +("Z") branch. Read the RPN expression "X,Y,Z,IF" from left to +right like so: "if X then Y else Z".

    +

    For example, consider "1,10,100,IF". It looks bizarre to me. +But when I read "if 1 then 10 else 100" it's crystal clear: 1 is true so the answer is 10. Note that only zero is false; all other values -are true. ``2,20,200,IF'' (``if 2 then 20 else 200'') evaluates to 20. -And ``0,1,2,IF'' (``if 0 then 1 else 2) evaluates to 2.

    +are true. "2,20,200,IF" ("if 2 then 20 else 200") evaluates to 20. +And "0,1,2,IF" ("if 0 then 1 else 2) evaluates to 2.

    Notice that none of the above examples really simulate the whole -``if X then Y else Z'' statement. This is because computer programmers -read this statement as ``if Some Condition then Y else Z''. So it's +"if X then Y else Z" statement. This is because computer programmers +read this statement as "if Some Condition then Y else Z". So it's important to be able to read IF operators along with the LT, LE, GT, GE and EQ operators.

    @@ -85,9 +93,9 @@ you must know the algorithm for evaluating RPN expressions: iterate searches from the left to the right looking for an operator. When it's found, apply that operator by popping the operator and some number of values (and by definition, not operators) off the stack.

    -

    For example, the stack ``1,2,3,+,+'' gets ``2,3,+'' evaluated (as ``2+3'') +

    For example, the stack "1,2,3,+,+" gets "2,3,+" evaluated (as "2+3") during the first iteration and is replaced by 5. This results in -the stack ``1,5,+''. Finally, ``1,5,+'' is evaluated resulting in the +the stack "1,5,+". Finally, "1,5,+" is evaluated resulting in the answer 6. For convenience, it's useful to write this set of operations as:

    @@ -98,10 +106,10 @@ operations as:

    with multiple logic operators:

      1) 20,10,GT,10,20,IF  eval is 20,10,GT = 1     result is 1,10,20,IF
    -

    read the eval as pop ``20 is greater than 10'' so push 1

    +

    read the eval as pop "20 is greater than 10" so push 1

      2) 1,10,20,IF         eval is 1,10,20,IF = 10  result is 10
    -

    read pop ``if 1 then 10 else 20'' so push 10. Only 10 is left so +

    read pop "if 1 then 10 else 20" so push 10. Only 10 is left so 10 is the answer.

    Let's read a complex RPN expression that also has the traditional multiplication operator:

    @@ -111,29 +119,29 @@ multiplication operator:

    3) 0,128,8,*,IF eval 128,8,* result is 1024 4) 0,7000,1024,IF result is 1024

    Now let's go back to the first example of multiple logic operators, -but replace the value 20 with the variable ``input'':

    +but replace the value 20 with the variable "input":

      1) input,10,GT,10,input,IF  eval is input,10,GT  ( lets call this A )
    -

    Read eval as ``if input > 10 then true'' and replace ``input,10,GT'' -with ``A'':

    +

    Read eval as "if input > 10 then true" and replace "input,10,GT" +with "A":

      2) A,10,input,IF            eval is A,10,input,IF
    -

    read ``if A then 10 else input''. Now replace A with it's verbose +

    read "if A then 10 else input". Now replace A with it's verbose description again and--voila!--you have a easily readable description of the expression:

      if input > 10 then 10 else input

    Finally, let's go back to the first most complex example and replace -the value 128 with ``input'':

    +the value 128 with "input":

      1) input,8,*,7000,GT,7000,input,8,*,IF  eval input,8,*     result is A
    -

    where A is ``input * 8''

    +

    where A is "input * 8"

      2) A,7000,GT,7000,input,8,*,IF          eval is A,7000,GT  result is B
    -

    where B is ``if ((input * 8) > 7000) then true''

    +

    where B is "if ((input * 8) > 7000) then true"

      3) B,7000,input,8,*,IF                  eval is input,8,*  result is C
    -

    where C is ``input * 8''

    +

    where C is "input * 8"

      4) B,7000,C,IF

    At last we have a readable decoding of the complex RPN expression with @@ -145,7 +153,7 @@ a variable:


    Exercises

    Exercise 1:

    -

    Compute ``3,2,*,1,+ and ''3,2,1,+,*`` by hand. Rewrite them in +

    Compute "3,2,*,1,+ and "3,2,1,+,*" by hand. Rewrite them in traditional notation. Explain why they have different answers.

    Answer 1:

    @@ -156,7 +164,7 @@ traditional notation.  Explain why they have different answers.

    One may be tempted to shorten the expression

      input,8,*,56000,GT,56000,input,*,8,IF
    -

    by removing the redundant use of ``input,8,*'' like so:

    +

    by removing the redundant use of "input,8,*" like so:

      input,56000,GT,56000,input,IF,8,*

    Use traditional notation to show these expressions are not the same. diff --git a/doc/rpntutorial.txt b/doc/rpntutorial.txt index aa95f7b..a99fa43 100644 --- a/doc/rpntutorial.txt +++ b/doc/rpntutorial.txt @@ -19,8 +19,8 @@ RReeaaddiinngg CCoommppaarriissoonn OOppeerraattoorrss For example, think about "2,1,GT". This RPN expression could be read as "is two greater than one?" The answer to that question is "true". - So the three values should be replaced with "1". Thus the RPN expres- - sion 2,1,GT evaluates to 1. + So the three values should be replaced with "1". Thus the RPN + expression 2,1,GT evaluates to 1. Now consider "2,1,LE". This RPN expression could be read as "is two less than or equal to one?". The natural response is "no" and thus @@ -33,8 +33,8 @@ RReeaaddiinngg tthhee IIFF OOppeerraattoorr So the IF operator acts on only one value on the stack: the third value to the left of the IF value. The second value to the left of the IF corresponds to the true ("Y") branch. And the first value to the left - of the IF corresponds to the false ("Z") branch. Read the RPN expres- - sion "X,Y,Z,IF" from left to right like so: "if X then Y else Z". + of the IF corresponds to the false ("Z") branch. Read the RPN + expression "X,Y,Z,IF" from left to right like so: "if X then Y else Z". For example, consider "1,10,100,IF". It looks bizarre to me. But when I read "if 1 then 10 else 100" it's crystal clear: 1 is true so the @@ -49,12 +49,12 @@ RReeaaddiinngg tthhee IIFF OOppeerraattoorr operators. SSoommee EExxaammpplleess - While compound expressions can look overly complex, they can be consid- - ered elegantly simple. To quickly comprehend RPN expressions, you must - know the algorithm for evaluating RPN expressions: iterate searches - from the left to the right looking for an operator. When it's found, - apply that operator by popping the operator and some number of values - (and by definition, not operators) off the stack. + While compound expressions can look overly complex, they can be + considered elegantly simple. To quickly comprehend RPN expressions, + you must know the algorithm for evaluating RPN expressions: iterate + searches from the left to the right looking for an operator. When it's + found, apply that operator by popping the operator and some number of + values (and by definition, not operators) off the stack. For example, the stack "1,2,3,+,+" gets "2,3,+" evaluated (as "2+3") during the first iteration and is replaced by 5. This results in the @@ -65,8 +65,8 @@ SSoommee EExxaammpplleess 2) 1,5,+ eval is 1,5,+ = 6 result is 6 3) 6 - Let's use that notation to conveniently solve some complex RPN expres- - sions with multiple logic operators: + Let's use that notation to conveniently solve some complex RPN + expressions with multiple logic operators: 1) 20,10,GT,10,20,IF eval is 20,10,GT = 1 result is 1,10,20,IF @@ -77,8 +77,8 @@ SSoommee EExxaammpplleess read pop "if 1 then 10 else 20" so push 10. Only 10 is left so 10 is the answer. - Let's read a complex RPN expression that also has the traditional mul- - tiplication operator: + Let's read a complex RPN expression that also has the traditional + multiplication operator: 1) 128,8,*,7000,GT,7000,128,8,*,IF eval 128,8,* result is 1024 2) 1024,7000,GT,7000,128,8,*,IF eval 1024,7000,GT result is 0 @@ -126,8 +126,8 @@ SSoommee EExxaammpplleess EExxeerrcciisseess Exercise 1: - Compute "3,2,*,1,+ and "3,2,1,+,*" by hand. Rewrite them in tradi- - tional notation. Explain why they have different answers. + Compute "3,2,*,1,+ and "3,2,1,+,*" by hand. Rewrite them in + traditional notation. Explain why they have different answers. Answer 1: @@ -187,4 +187,4 @@ AAUUTTHHOORR -1.3.99909060808 2008-12-22 RPNTUTORIAL(1) +1.3.999 2009-05-10 RPNTUTORIAL(1) diff --git a/doc/rrd-beginners.1 b/doc/rrd-beginners.1 index 5c10b10..a5d5245 100644 --- a/doc/rrd-beginners.1 +++ b/doc/rrd-beginners.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRD-BEGINNERS 1" -.TH RRD-BEGINNERS 1 "2008-03-15" "1.3.99909060808" "rrdtool" +.TH RRD-BEGINNERS 1 "2009-09-24" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrd\-beginners \- RRDtool Beginners' Guide .SH "SYNOPSIS" @@ -143,7 +142,7 @@ databases. With help of an example, it explains the structure of RRDtool database. This is followed by an overview of the \*(L"graph\*(R" feature of RRDtool. At the end, it has sample scripts that illustrate the usage/wrapping of RRDtool within Shell or Perl scripts. -.Sh "What makes RRDtool so special?" +.SS "What makes RRDtool so special?" .IX Subsection "What makes RRDtool so special?" RRDtool is \s-1GNU\s0 licensed software developed by Tobias Oetiker, a system manager at the Swiss Federal Institute of Technology. Though it is a @@ -181,7 +180,7 @@ various operations on \s-1RRD\s0 databases. This command set can be accessed from the command line, as well as from Shell or Perl scripts. The scripts act as wrappers for accessing data stored in RRDtool databases. -.Sh "Understanding by an example" +.SS "Understanding by an example" .IX Subsection "Understanding by an example" The structure of an \s-1RRD\s0 database is different than other linear databases. Other databases define tables with columns, and many other parameters. These @@ -307,7 +306,7 @@ individual \s-1RRA\s0 will save data for all the DSs in the database. For example, if a database has 3 DSs and daily, weekly, monthly, and yearly RRAs are declared, then each \s-1RRA\s0 will hold data from all 3 data sources. -.Sh "Graphical Magic" +.SS "Graphical Magic" .IX Subsection "Graphical Magic" Another important feature of RRDtool is its ability to create graphs. The \*(L"graph\*(R" command uses the \*(L"fetch\*(R" command internally to @@ -343,7 +342,7 @@ plotted in the order they are defined in the graph command. Therefore care must be taken to define \s-1STACK\s0 only after defining \s-1AREA/LINE\s0. It is also possible to put formatted comments within the graph. Detailed instructions can be found in the graph manual. -.Sh "Wrapping RRDtool within Shell/Perl script" +.SS "Wrapping RRDtool within Shell/Perl script" .IX Subsection "Wrapping RRDtool within Shell/Perl script" After understanding RRDtool it is now a time to actually use RRDtool in scripts. Tasks involved in network management are data collection, @@ -355,20 +354,20 @@ generation is done using Perl scripts. These scripts are shown below: \fIShell script (collects data, updates database)\fR .IX Subsection "Shell script (collects data, updates database)" .PP -.Vb 14 +.Vb 10 \& #!/bin/sh \& a=0 \& while [ "$a" == 0 ]; do \& snmpwalk \-c public 192.168.1.250 hrSWRunPerfMem > snmp_reply -\& total_mem=`awk 'BEGIN {tot_mem=0} +\& total_mem=\`awk \*(AqBEGIN {tot_mem=0} \& { if ($NF == "KBytes") \& {tot_mem=tot_mem+$(NF\-1)} \& } -\& END {print tot_mem}' snmp_reply` +\& END {print tot_mem}\*(Aq snmp_reply\` \& # I can use N as a replacement for the current time \& rrdtool update target.rrd N:$total_mem \& # sleep until the next 300 seconds are full -\& perl \-e 'sleep 300 \- time % 300' +\& perl \-e \*(Aqsleep 300 \- time % 300\*(Aq \& done # end of while loop .Ve .PP @@ -379,18 +378,14 @@ generation is done using Perl scripts. These scripts are shown below: \& #!/usr/bin/perl \-w \& # This script fetches data from target.rrd, creates a graph of memory \& # consumption on the target (Dual P3 Processor 1 GHz, 656 MB RAM) -.Ve -.PP -.Vb 6 +\& \& # call the RRD perl module \& use lib qw( /usr/local/rrdtool\-1.0.41/lib/perl ../lib/perl ); \& use RRDs; \& my $cur_time = time(); # set current time \& my $end_time = $cur_time \- 86400; # set end time to 24 hours ago \& my $start_time = $end_time \- 2592000; # set start 30 days in the past -.Ve -.PP -.Vb 58 +\& \& # fetch average values from the RRD database between start and end time \& my ($start,$step,$ds_names,$data) = \& RRDs::fetch("target.rrd", "AVERAGE", @@ -422,26 +417,26 @@ generation is done using Perl scripts. These scripts are shown below: \& # calculate the average of the array \& my $tot_mem_ave = $tot_mem_sum/($count); \& # create the graph -\& RRDs::graph ("/images/mem_$count.png", \e -\& "\-\-title= Memory Usage", \e -\& "\-\-vertical\-label=Memory Consumption (MB)", \e -\& "\-\-start=$start_time", \e -\& "\-\-end=$end_time", \e -\& "\-\-color=BACK#CCCCCC", \e -\& "\-\-color=CANVAS#CCFFFF", \e -\& "\-\-color=SHADEB#9999CC", \e -\& "\-\-height=125", \e -\& "\-\-upper\-limit=656", \e -\& "\-\-lower\-limit=0", \e -\& "\-\-rigid", \e -\& "\-\-base=1024", \e -\& "DEF:tot_mem=target.rrd:mem:AVERAGE", \e -\& "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/",\e -\& "CDEF:machine_mem=tot_mem,656,+,tot_mem,\-",\e -\& "COMMENT:Memory Consumption between $start_time",\e -\& "COMMENT: and $end_time ",\e -\& "HRULE:656#000000:Maximum Available Memory \- 656 MB",\e -\& "AREA:machine_mem#CCFFFF:Memory Unused", \e +\& RRDs::graph ("/images/mem_$count.png", +\& "\-\-title= Memory Usage", +\& "\-\-vertical\-label=Memory Consumption (MB)", +\& "\-\-start=$start_time", +\& "\-\-end=$end_time", +\& "\-\-color=BACK#CCCCCC", +\& "\-\-color=CANVAS#CCFFFF", +\& "\-\-color=SHADEB#9999CC", +\& "\-\-height=125", +\& "\-\-upper\-limit=656", +\& "\-\-lower\-limit=0", +\& "\-\-rigid", +\& "\-\-base=1024", +\& "DEF:tot_mem=target.rrd:mem:AVERAGE", +\& "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/", +\& "CDEF:machine_mem=tot_mem,656,+,tot_mem,\-", +\& "COMMENT:Memory Consumption between $start_time", +\& "COMMENT: and $end_time ", +\& "HRULE:656#000000:Maximum Available Memory \- 656 MB", +\& "AREA:machine_mem#CCFFFF:Memory Unused", \& "AREA:tot_mem_cor#6699CC:Total memory consumed in MB"); \& my $err=RRDs::error; \& if ($err) {print "problem generating the graph: $err\en";} diff --git a/doc/rrd-beginners.html b/doc/rrd-beginners.html index fde0164..bd5d2a8 100644 --- a/doc/rrd-beginners.html +++ b/doc/rrd-beginners.html @@ -1,14 +1,18 @@ + rrd-beginners + -

    + +
    +

    + + +

    @@ -51,7 +59,7 @@

    This manual is an attempt to assist beginners in understanding the concepts of RRDtool. It sheds a light on differences between RRDtool and other databases. With help of an example, it explains the structure of RRDtool -database. This is followed by an overview of the ``graph'' feature of RRDtool. +database. This is followed by an overview of the "graph" feature of RRDtool. At the end, it has sample scripts that illustrate the usage/wrapping of RRDtool within Shell or Perl scripts.

    @@ -62,33 +70,34 @@ manager at the Swiss Federal Institute of Technology. Though it is a database, there are distinct differences between RRDtool databases and other databases as listed below:

      -
    • -RRDtool stores data; that makes it a back-end tool. The RRDtool command set +
    • +

      RRDtool stores data; that makes it a back-end tool. The RRDtool command set allows the creation of graphs; that makes it a front-end tool as well. Other -databases just store data and can not create graphs. -

      -
    • -In case of linear databases, new data gets appended at the bottom of +databases just store data and can not create graphs.

      + +
    • +

      In case of linear databases, new data gets appended at the bottom of the database table. Thus its size keeps on increasing, whereas the size of an RRDtool database is determined at creation time. Imagine an RRDtool database as the perimeter of a circle. Data is added along the perimeter. When new data reaches the starting point, it overwrites existing data. This way, the size of an RRDtool database always -remains constant. The name ``Round Robin'' stems from this behavior. -

      -
    • -Other databases store the values as supplied. RRDtool can be configured to +remains constant. The name "Round Robin" stems from this behavior.

      + +
    • +

      Other databases store the values as supplied. RRDtool can be configured to calculate the rate of change from the previous to the current value and -store this information instead. -

      -
    • -Other databases get updated when values are supplied. The RRDtool database +store this information instead.

      + +
    • +

      Other databases get updated when values are supplied. The RRDtool database is structured in such a way that it needs data at predefined time intervals. If it does not get a new value during the interval, it stores an UNKNOWN value for that interval. So, when using the RRDtool database, it is imperative to use scripts that run at regular intervals to ensure a constant -data flow to update the RRDtool database. -

    +data flow to update the RRDtool database.

    + +

    RRDtool is designed to store time series of data. With every data update, an associated time stamp is stored. Time is always expressed in seconds passed since epoch (01-01-1970). RRDtool can be installed @@ -121,7 +130,7 @@ best explained with an example.

    DS:mem:GAUGE:600:0:671744 \ RRA:AVERAGE:0.5:12:24 \ RRA:AVERAGE:0.5:288:31
    -

    This example creates a database named target.rrd. Start time +

    This example creates a database named target.rrd. Start time (1'023'654'125) is specified in total number of seconds since epoch (time in seconds since 01-01-1970). While updating the database, the update time is also specified. This update time MUST be large (later) @@ -208,7 +217,7 @@ sources.

    Graphical Magic

    Another important feature of RRDtool is its ability to create -graphs. The ``graph'' command uses the ``fetch'' command internally to +graphs. The "graph" command uses the "fetch" command internally to retrieve values from the database. With the retrieved values it draws graphs as defined by the parameters supplied on the command line. A single graph can show different DS (Data Sources) from a database. It @@ -227,14 +236,14 @@ for retrieving the values? RRDtool looks at several things when making its choice. First it makes sure that the RRA covers as much of the graphing time frame as possible. Second it looks at the resolution of the RRA compared to the resolution of the graph. It tries to find one -which has the same or higher better resolution. With the ``-r'' option +which has the same or higher better resolution. With the "-r" option you can force RRDtool to assume a different resolution than the one calculated from the pixel width of the graph.

    Values of different variables can be presented in 5 different shapes in a graph - AREA, LINE1, LINE2, LINE3, and STACK. AREA is represented by a solid colored area with values as the boundary of this area. LINE1/2/3 (increasing width) are just plain lines representing -the values. STACK is also an area but it is ``stack''ed on top AREA or +the values. STACK is also an area but it is "stack"ed on top AREA or LINE1/2/3. Another important thing to note is that variables are plotted in the order they are defined in the graph command. Therefore care must be taken to define STACK only after defining AREA/LINE. It @@ -313,26 +322,26 @@ generation is done using Perl scripts. These scripts are shown below:

    # calculate the average of the array my $tot_mem_ave = $tot_mem_sum/($count); # create the graph - RRDs::graph ("/images/mem_$count.png", \ - "--title= Memory Usage", \ - "--vertical-label=Memory Consumption (MB)", \ - "--start=$start_time", \ - "--end=$end_time", \ - "--color=BACK#CCCCCC", \ - "--color=CANVAS#CCFFFF", \ - "--color=SHADEB#9999CC", \ - "--height=125", \ - "--upper-limit=656", \ - "--lower-limit=0", \ - "--rigid", \ - "--base=1024", \ - "DEF:tot_mem=target.rrd:mem:AVERAGE", \ - "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/",\ - "CDEF:machine_mem=tot_mem,656,+,tot_mem,-",\ - "COMMENT:Memory Consumption between $start_time",\ - "COMMENT: and $end_time ",\ - "HRULE:656#000000:Maximum Available Memory - 656 MB",\ - "AREA:machine_mem#CCFFFF:Memory Unused", \ + RRDs::graph ("/images/mem_$count.png", + "--title= Memory Usage", + "--vertical-label=Memory Consumption (MB)", + "--start=$start_time", + "--end=$end_time", + "--color=BACK#CCCCCC", + "--color=CANVAS#CCFFFF", + "--color=SHADEB#9999CC", + "--height=125", + "--upper-limit=656", + "--lower-limit=0", + "--rigid", + "--base=1024", + "DEF:tot_mem=target.rrd:mem:AVERAGE", + "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/", + "CDEF:machine_mem=tot_mem,656,+,tot_mem,-", + "COMMENT:Memory Consumption between $start_time", + "COMMENT: and $end_time ", + "HRULE:656#000000:Maximum Available Memory - 656 MB", + "AREA:machine_mem#CCFFFF:Memory Unused", "AREA:tot_mem_cor#6699CC:Total memory consumed in MB"); my $err=RRDs::error; if ($err) {print "problem generating the graph: $err\n";} diff --git a/doc/rrd-beginners.pod b/doc/rrd-beginners.pod index 5ac7997..1c28515 100644 --- a/doc/rrd-beginners.pod +++ b/doc/rrd-beginners.pod @@ -292,26 +292,26 @@ generation is done using Perl scripts. These scripts are shown below: # calculate the average of the array my $tot_mem_ave = $tot_mem_sum/($count); # create the graph - RRDs::graph ("/images/mem_$count.png", \ - "--title= Memory Usage", \ - "--vertical-label=Memory Consumption (MB)", \ - "--start=$start_time", \ - "--end=$end_time", \ - "--color=BACK#CCCCCC", \ - "--color=CANVAS#CCFFFF", \ - "--color=SHADEB#9999CC", \ - "--height=125", \ - "--upper-limit=656", \ - "--lower-limit=0", \ - "--rigid", \ - "--base=1024", \ - "DEF:tot_mem=target.rrd:mem:AVERAGE", \ - "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/",\ - "CDEF:machine_mem=tot_mem,656,+,tot_mem,-",\ - "COMMENT:Memory Consumption between $start_time",\ - "COMMENT: and $end_time ",\ - "HRULE:656#000000:Maximum Available Memory - 656 MB",\ - "AREA:machine_mem#CCFFFF:Memory Unused", \ + RRDs::graph ("/images/mem_$count.png", + "--title= Memory Usage", + "--vertical-label=Memory Consumption (MB)", + "--start=$start_time", + "--end=$end_time", + "--color=BACK#CCCCCC", + "--color=CANVAS#CCFFFF", + "--color=SHADEB#9999CC", + "--height=125", + "--upper-limit=656", + "--lower-limit=0", + "--rigid", + "--base=1024", + "DEF:tot_mem=target.rrd:mem:AVERAGE", + "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/", + "CDEF:machine_mem=tot_mem,656,+,tot_mem,-", + "COMMENT:Memory Consumption between $start_time", + "COMMENT: and $end_time ", + "HRULE:656#000000:Maximum Available Memory - 656 MB", + "AREA:machine_mem#CCFFFF:Memory Unused", "AREA:tot_mem_cor#6699CC:Total memory consumed in MB"); my $err=RRDs::error; if ($err) {print "problem generating the graph: $err\n";} diff --git a/doc/rrd-beginners.txt b/doc/rrd-beginners.txt index 1db47e3..474912a 100644 --- a/doc/rrd-beginners.txt +++ b/doc/rrd-beginners.txt @@ -9,56 +9,54 @@ SSYYNNOOPPSSIISS Helping new RRDtool users to understand the basics of RRDtool DDEESSCCRRIIPPTTIIOONN - This manual is an attempt to assist beginners in understanding the con- - cepts of RRDtool. It sheds a light on differences between RRDtool and - other databases. With help of an example, it explains the structure of - RRDtool database. This is followed by an overview of the "graph" fea- - ture of RRDtool. At the end, it has sample scripts that illustrate the - usage/wrapping of RRDtool within Shell or Perl scripts. - - WWhhaatt mmaakkeess RRRRDDttooooll ssoo ssppeecciiaall?? - + This manual is an attempt to assist beginners in understanding the + concepts of RRDtool. It sheds a light on differences between RRDtool + and other databases. With help of an example, it explains the structure + of RRDtool database. This is followed by an overview of the "graph" + feature of RRDtool. At the end, it has sample scripts that illustrate + the usage/wrapping of RRDtool within Shell or Perl scripts. + + WWhhaatt mmaakkeess RRRRDDttooooll ssoo ssppeecciiaall?? RRDtool is GNU licensed software developed by Tobias Oetiker, a system manager at the Swiss Federal Institute of Technology. Though it is a database, there are distinct differences between RRDtool databases and other databases as listed below: - · RRDtool stores data; that makes it a back-end tool. The RRDtool + · RRDtool stores data; that makes it a back-end tool. The RRDtool command set allows the creation of graphs; that makes it a front- - end tool as well. Other databases just store data and can not cre- - ate graphs. + end tool as well. Other databases just store data and can not + create graphs. - · In case of linear databases, new data gets appended at the bottom + · In case of linear databases, new data gets appended at the bottom of the database table. Thus its size keeps on increasing, whereas the size of an RRDtool database is determined at creation time. Imagine an RRDtool database as the perimeter of a circle. Data is added along the perimeter. When new data reaches the starting - point, it overwrites existing data. This way, the size of an RRD- - tool database always remains constant. The name "Round Robin" stems - from this behavior. + point, it overwrites existing data. This way, the size of an + RRDtool database always remains constant. The name "Round Robin" + stems from this behavior. - · Other databases store the values as supplied. RRDtool can be con- - figured to calculate the rate of change from the previous to the + · Other databases store the values as supplied. RRDtool can be + configured to calculate the rate of change from the previous to the current value and store this information instead. - · Other databases get updated when values are supplied. The RRDtool - database is structured in such a way that it needs data at prede- - fined time intervals. If it does not get a new value during the - interval, it stores an UNKNOWN value for that interval. So, when - using the RRDtool database, it is imperative to use scripts that - run at regular intervals to ensure a constant data flow to update - the RRDtool database. + · Other databases get updated when values are supplied. The RRDtool + database is structured in such a way that it needs data at + predefined time intervals. If it does not get a new value during + the interval, it stores an UNKNOWN value for that interval. So, + when using the RRDtool database, it is imperative to use scripts + that run at regular intervals to ensure a constant data flow to + update the RRDtool database. RRDtool is designed to store time series of data. With every data update, an associated time stamp is stored. Time is always expressed in seconds passed since epoch (01-01-1970). RRDtool can be installed on - Unix as well as Windows. It comes with a command set to carry out vari- - ous operations on RRD databases. This command set can be accessed from - the command line, as well as from Shell or Perl scripts. The scripts - act as wrappers for accessing data stored in RRDtool databases. - - UUnnddeerrssttaannddiinngg bbyy aann eexxaammppllee + Unix as well as Windows. It comes with a command set to carry out + various operations on RRD databases. This command set can be accessed + from the command line, as well as from Shell or Perl scripts. The + scripts act as wrappers for accessing data stored in RRDtool databases. + UUnnddeerrssttaannddiinngg bbyy aann eexxaammppllee The structure of an RRD database is different than other linear databases. Other databases define tables with columns, and many other parameters. These definitions sometimes are very complex, especially in @@ -69,8 +67,9 @@ DDEESSCCRRIIPPTTIIOONN also defined. Because of its structure, the definition of an RRDtool database also includes a provision to specify specific actions to take in the absence of update values. Data Source (DS), heartbeat, Date - Source Type (DST), Round Robin Archive (RRA), and Consolidation Func- - tion (CF) are some of the terminologies related to RRDtool databases. + Source Type (DST), Round Robin Archive (RRA), and Consolidation + Function (CF) are some of the terminologies related to RRDtool + databases. The structure of a database and the terminology associated with it can be best explained with an example. @@ -104,9 +103,9 @@ DDEESSCCRRIIPPTTIIOONN ((PPDDPP)). In our example mentioned above, a new PDP is generated every 300 seconds. - Note, that if you do NOT supply new datapoints exactly every 300 sec- - onds, this is not a problem, RRDtool will interpolate the data accord- - ingly. + Note, that if you do NOT supply new datapoints exactly every 300 + seconds, this is not a problem, RRDtool will interpolate the data + accordingly. DDSSTT (Data Source Type) defines the type of the DS. It can be COUNTER, DERIVE, ABSOLUTE, GAUGE. A DS declared as COUNTER will save the rate of @@ -122,9 +121,9 @@ DDEESSCCRRIIPPTTIIOONN Thus it just stores the current value divided by the step interval (300 seconds in our example). GAUGE does not save the rate of change. It saves the actual value itself. There are no divisions or calculations. - Memory consumption in a server is a typical example of gauge. The dif- - ference between the different types DSTs can be explained better with - the following example: + Memory consumption in a server is a typical example of gauge. The + difference between the different types DSTs can be explained better + with the following example: Values = 300, 600, 900, 1200 Step = 300 seconds @@ -133,23 +132,23 @@ DDEESSCCRRIIPPTTIIOONN ABSOLUTE DS = 1, 2, 3, 4 GAUGE DS = 300, 600, 900, 1200 - The next parameter is hheeaarrttbbeeaatt. In our example, heartbeat is 600 sec- - onds. If the database does not get a new PDP within 300 seconds, it + The next parameter is hheeaarrttbbeeaatt. In our example, heartbeat is 600 + seconds. If the database does not get a new PDP within 300 seconds, it will wait for another 300 seconds (total 600 seconds). If it doesn't receive any PDP within 600 seconds, it will save an UNKNOWN value into the database. This UNKNOWN value is a special feature of RRDtool - it is much better than to assume a missing value was 0 (zero) or any other - number which might also be a valid data value. For example, the traf- - fic flow counter on a router keeps increasing. Lets say, a value is + number which might also be a valid data value. For example, the + traffic flow counter on a router keeps increasing. Lets say, a value is missed for an interval and 0 is stored instead of UNKNOWN. Now when the next value becomes available, it will calculate the difference between the current value and the previous value (0) which is not correct. So, inserting the value UNKNOWN makes much more sense here. - The next two parameters are the minimum and maximum value, respec- - tively. If the variable to be stored has predictable maximum and mini- - mum values, this should be specified here. Any update value falling out - of this range will be stored as UNKNOWN. + The next two parameters are the minimum and maximum value, + respectively. If the variable to be stored has predictable maximum and + minimum values, this should be specified here. Any update value falling + out of this range will be stored as UNKNOWN. The next line declares a round robin archive (RRA). The syntax for declaring an RRA is @@ -164,58 +163,56 @@ DDEESSCCRRIIPPTTIIOONN Lets have a look at the example above. For the first RRA, 12 (steps) PDPs (DS variables) are AVERAGEed (CF) to form one CDP. 24 (rows) of - theses CDPs are archived. Each PDP occurs at 300 seconds. 12 PDPs rep- - resent 12 times 300 seconds which is 1 hour. It means 1 CDP (which is - equal to 12 PDPs) represents data worth 1 hour. 24 such CDPs represent - 1 day (1 hour times 24 CDPs). This means, this RRA is an archive for - one day. After 24 CDPs, CDP number 25 will replace the 1st CDP. The - second RRA saves 31 CDPs; each CPD represents an AVERAGE value for a - day (288 PDPs, each covering 300 seconds = 24 hours). Therefore this - RRA is an archive for one month. A single database can have many RRAs. - If there are multiple DSs, each individual RRA will save data for all - the DSs in the database. For example, if a database has 3 DSs and + theses CDPs are archived. Each PDP occurs at 300 seconds. 12 PDPs + represent 12 times 300 seconds which is 1 hour. It means 1 CDP (which + is equal to 12 PDPs) represents data worth 1 hour. 24 such CDPs + represent 1 day (1 hour times 24 CDPs). This means, this RRA is an + archive for one day. After 24 CDPs, CDP number 25 will replace the 1st + CDP. The second RRA saves 31 CDPs; each CPD represents an AVERAGE value + for a day (288 PDPs, each covering 300 seconds = 24 hours). Therefore + this RRA is an archive for one month. A single database can have many + RRAs. If there are multiple DSs, each individual RRA will save data for + all the DSs in the database. For example, if a database has 3 DSs and daily, weekly, monthly, and yearly RRAs are declared, then each RRA will hold data from all 3 data sources. - GGrraapphhiiccaall MMaaggiicc - + GGrraapphhiiccaall MMaaggiicc Another important feature of RRDtool is its ability to create graphs. The "graph" command uses the "fetch" command internally to retrieve values from the database. With the retrieved values it draws graphs as defined by the parameters supplied on the command line. A single graph - can show different DS (Data Sources) from a database. It is also possi- - ble to show the values from more than one database in a single graph. - Often, it is necessary to perform some math on the values retrieved - from the database before plotting them. For example, in SNMP replies, - memory consumption values are usually specified in KBytes and traffic - flow on interfaces is specified in Bytes. Graphs for these values will - be more meaningful if values are represented in MBytes and mbps. The - RRDtool graph command allows to define such conversions. Apart from - mathematical calculations, it is also possible to perform logical oper- - ations such as greater than, less than, and if/then/else. If a database - contains more than one RRA archive, then a question may arise - how - does RRDtool decide which RRA archive to use for retrieving the values? - RRDtool looks at several things when making its choice. First it makes - sure that the RRA covers as much of the graphing time frame as possi- - ble. Second it looks at the resolution of the RRA compared to the reso- - lution of the graph. It tries to find one which has the same or higher - better resolution. With the "-r" option you can force RRDtool to assume - a different resolution than the one calculated from the pixel width of - the graph. + can show different DS (Data Sources) from a database. It is also + possible to show the values from more than one database in a single + graph. Often, it is necessary to perform some math on the values + retrieved from the database before plotting them. For example, in SNMP + replies, memory consumption values are usually specified in KBytes and + traffic flow on interfaces is specified in Bytes. Graphs for these + values will be more meaningful if values are represented in MBytes and + mbps. The RRDtool graph command allows to define such conversions. + Apart from mathematical calculations, it is also possible to perform + logical operations such as greater than, less than, and if/then/else. + If a database contains more than one RRA archive, then a question may + arise - how does RRDtool decide which RRA archive to use for retrieving + the values? RRDtool looks at several things when making its choice. + First it makes sure that the RRA covers as much of the graphing time + frame as possible. Second it looks at the resolution of the RRA + compared to the resolution of the graph. It tries to find one which has + the same or higher better resolution. With the "-r" option you can + force RRDtool to assume a different resolution than the one calculated + from the pixel width of the graph. Values of different variables can be presented in 5 different shapes in a graph - AREA, LINE1, LINE2, LINE3, and STACK. AREA is represented by a solid colored area with values as the boundary of this area. - LINE1/2/3 (increasing width) are just plain lines representing the val- - ues. STACK is also an area but it is "stack"ed on top AREA or - LINE1/2/3. Another important thing to note is that variables are plot- - ted in the order they are defined in the graph command. Therefore care - must be taken to define STACK only after defining AREA/LINE. It is also - possible to put formatted comments within the graph. Detailed instruc- - tions can be found in the graph manual. - - WWrraappppiinngg RRRRDDttooooll wwiitthhiinn SShheellll//PPeerrll ssccrriipptt - + LINE1/2/3 (increasing width) are just plain lines representing the + values. STACK is also an area but it is "stack"ed on top AREA or + LINE1/2/3. Another important thing to note is that variables are + plotted in the order they are defined in the graph command. Therefore + care must be taken to define STACK only after defining AREA/LINE. It is + also possible to put formatted comments within the graph. Detailed + instructions can be found in the graph manual. + + WWrraappppiinngg RRRRDDttooooll wwiitthhiinn SShheellll//PPeerrll ssccrriipptt After understanding RRDtool it is now a time to actually use RRDtool in scripts. Tasks involved in network management are data collection, data storage, and data retrieval. In the following example, the previously @@ -285,26 +282,26 @@ DDEESSCCRRIIPPTTIIOONN # calculate the average of the array my $tot_mem_ave = $tot_mem_sum/($count); # create the graph - RRDs::graph ("/images/mem_$count.png", \ - "--title= Memory Usage", \ - "--vertical-label=Memory Consumption (MB)", \ - "--start=$start_time", \ - "--end=$end_time", \ - "--color=BACK#CCCCCC", \ - "--color=CANVAS#CCFFFF", \ - "--color=SHADEB#9999CC", \ - "--height=125", \ - "--upper-limit=656", \ - "--lower-limit=0", \ - "--rigid", \ - "--base=1024", \ - "DEF:tot_mem=target.rrd:mem:AVERAGE", \ - "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/",\ - "CDEF:machine_mem=tot_mem,656,+,tot_mem,-",\ - "COMMENT:Memory Consumption between $start_time",\ - "COMMENT: and $end_time ",\ - "HRULE:656#000000:Maximum Available Memory - 656 MB",\ - "AREA:machine_mem#CCFFFF:Memory Unused", \ + RRDs::graph ("/images/mem_$count.png", + "--title= Memory Usage", + "--vertical-label=Memory Consumption (MB)", + "--start=$start_time", + "--end=$end_time", + "--color=BACK#CCCCCC", + "--color=CANVAS#CCFFFF", + "--color=SHADEB#9999CC", + "--height=125", + "--upper-limit=656", + "--lower-limit=0", + "--rigid", + "--base=1024", + "DEF:tot_mem=target.rrd:mem:AVERAGE", + "CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/", + "CDEF:machine_mem=tot_mem,656,+,tot_mem,-", + "COMMENT:Memory Consumption between $start_time", + "COMMENT: and $end_time ", + "HRULE:656#000000:Maximum Available Memory - 656 MB", + "AREA:machine_mem#CCFFFF:Memory Unused", "AREA:tot_mem_cor#6699CC:Total memory consumed in MB"); my $err=RRDs::error; if ($err) {print "problem generating the graph: $err\n";} @@ -318,4 +315,4 @@ AAUUTTHHOORR -1.3.99909060808 2008-03-15 RRD-BEGINNERS(1) +1.3.999 2009-09-24 RRD-BEGINNERS(1) diff --git a/doc/rrdbuild.1 b/doc/rrdbuild.1 index cc01820..05fdc80 100644 --- a/doc/rrdbuild.1 +++ b/doc/rrdbuild.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDBUILD 1" -.TH RRDBUILD 1 "2008-12-26" "1.3.99909060808" "rrdtool" +.TH RRDBUILD 1 "2009-06-09" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdbuild \- Instructions for building RRDtool .SH "OVERVIEW" @@ -177,7 +176,7 @@ Now make sure the \s-1BUILD_DIR\s0 exists and go there: .Ve .PP Lets first assume you already have all the necessary libraries -pre\-installed. +pre-installed. .PP .Vb 4 \& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.3.2.tar.gz @@ -193,12 +192,12 @@ Ok, this was very optimistic. This try will probably have ended with If your \s-1OS\s0 lets you install additional packages from a software repository, you may get away with installing the missing packages. When the packages are installed, run configure again and try to compile again. Below you find some -hints on getting your \s-1OS\s0 ready for the rrdtool compilation. +hints on getting your \s-1OS\s0 ready for the rrdtool compilation. .PP Additions to this list are welcome. In general rrdtool should work with the latest versions of the libraries. The versions listed here are just what was current when I tested this. -.Sh "OpenSolaris 2008.05" +.SS "OpenSolaris 2008.05" .IX Subsection "OpenSolaris 2008.05" Just add a compiler and the gnome development package: .PP @@ -213,7 +212,7 @@ bad since OpenSolaris does not include an \fIxrender.pc\fR file. Use Perl to fix this: .PP .Vb 1 -\& perl \-i~ \-p \-e 's/(Requires.*?)\es*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc +\& perl \-i~ \-p \-e \*(Aqs/(Requires.*?)\es*xrender.*/$1/\*(Aq /usr/lib/pkgconfig/cairo.pc .Ve .PP Make sure rrdtool finds your new compiler @@ -230,7 +229,7 @@ of installing it yourself). You have to call configure with the .Ve .PP option. -.Sh "Debian / Ubuntu" +.SS "Debian / Ubuntu" .IX Subsection "Debian / Ubuntu" Use apt-get to make sure you have all that is required. A number of packages will get added through dependencies. @@ -238,7 +237,7 @@ of packages will get added through dependencies. .Vb 1 \& apt\-get install libpango1.0\-dev libxml2\-dev .Ve -.Sh "Gentoo" +.SS "Gentoo" .IX Subsection "Gentoo" In Gentoo installing rrdtool is really simple you just need to \fBemerge rrdtool\fR. All dependencies will be handled automatically by the portage @@ -273,7 +272,7 @@ libpng and zlib are pretty standard so you will probably have them on your system anyway. Freetype, Fontinst, Cairo, Pango may be installed, but it is possible that they are pretty old and thus don't live up to our expectations, so you may want to compile their latest versions. -.Sh "General build tips for \s-1AIX\s0" +.SS "General build tips for \s-1AIX\s0" .IX Subsection "General build tips for AIX" If you are working with \s-1AIX\s0, you may find the \fB\-\-disable\-shared\fR option will cause things to break for you. In that case you may have to install the @@ -288,7 +287,7 @@ Another hint to get rrdtool working on \s-1AIX\s0 is to use the \s-1IBM\s0 \s-1X .Ve .PP (Better instructions for \s-1AIX\s0 welcome!) -.Sh "Build Instructions" +.SS "Build Instructions" .IX Subsection "Build Instructions" Some libraries want to know where other libraries are. For this to work, set the following environment variable @@ -372,7 +371,7 @@ environment variable will be helpful. \fIBuilding zlib\fR .IX Subsection "Building zlib" .PP -Chances are very high that you already have that on your system ... +Chances are very high that you already have that on your system ... .PP .Vb 7 \& cd $BUILD_DIR @@ -508,7 +507,7 @@ config file. \& $MAKE \& $MAKE install .Ve -.Sh "Building rrdtool (second try)" +.SS "Building rrdtool (second try)" .IX Subsection "Building rrdtool (second try)" Now all the dependent libraries are built and you can try again. This time you tell configure where it should be looking for libraries and include @@ -533,7 +532,7 @@ one shipping with Solaris) you will need the Sun Forte compiler installed on your box or you have to hand-tune bindings/perl\-shared/Makefile while building! .PP -Now go to \fI$INSTALL_DIR\fR\fB/share/rrdtool/examples/\fR and run them to see if +Now go to \fI\f(CI$INSTALL_DIR\fI\fR\fB/share/rrdtool/examples/\fR and run them to see if your build has been successful. .SH "AUTHOR" .IX Header "AUTHOR" diff --git a/doc/rrdbuild.html b/doc/rrdbuild.html index 563623a..cfd5565 100644 --- a/doc/rrdbuild.html +++ b/doc/rrdbuild.html @@ -1,14 +1,18 @@ + rrdbuild + -

    + +
    +

    + + +

    @@ -66,7 +74,7 @@ may already be installed on your system. You have to compile copies of the other ones before you can build RRDtool.

    This document will tell you about all the necessary steps to get going.

    These instructions assume you are using a bash shell. If you use csh/tcsh, -then you can either type bash to switch to bash for the compilation or if +then you can either type bash to switch to bash for the compilation or if you know what you are doing just replace the export bits with setenv.

    We further assume that your copies of tar and make are actually GNU @@ -78,17 +86,18 @@ tar and GNU make respectively. It could be that they a

    OPTIMISTIC BUILD

    Before you start to build RRDtool, you have to decide two things:

      -
    1. -In which directory you want to build the software. -

      -
    2. -Where you want to install the software. -

    +
  • +

    In which directory you want to build the software.

    +
  • +
  • +

    Where you want to install the software.

    +
  • +

    Once you have decided. Save the two locations into environment variables.

      BUILD_DIR=/tmp/rrdbuild
      INSTALL_DIR=/usr/local/rrdtool-1.3.2
    -

    If your /tmp is mounted with the option noexec (RHEL seems todo that) you have to choose +

    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:

    @@ -121,9 +130,9 @@ current when I tested this.

      pkg install sunstudioexpress
      pkg install SUNWgnome-common-devel
    -

    There is a problem with cairo.pc on OpenSolaris. It suggests that +

    There is a problem with cairo.pc on OpenSolaris. It suggests that xrender is required for compilation with cairo. This is not true and also -bad since OpenSolaris does not include an xrender.pc file. Use Perl to +bad since OpenSolaris does not include an xrender.pc file. Use Perl to fix this:

      perl -i~ -p -e 's/(Requires.*?)\s*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc
    @@ -159,7 +168,7 @@ flags are available:

    tcl - build and install tcl language bindings rrdcgi - build and install rrdcgi

    After you've decided which USE flags you need, set them either in -make.conf or /etc/portage/package.use and finally run:

    +make.conf or /etc/portage/package.use and finally run:

      # emerge -va rrdtool

    Take a look at Gentoo handbook for further details on how to manage USE @@ -194,40 +203,36 @@ set the following environment variable

      export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig
      export PATH=$INSTALL_DIR/bin:$PATH
    -

    The above relies on the presence of the pkgconfig program. Below you find instructions +

    The above relies on the presence of the pkgconfig program. Below you find instructions on how to compile pkgconfig.

    Since we are compiling libraries dynamically, they must know where to find each other. This is done by setting an appropriate LDFLAGS. Unfortunately, the syntax again differs from system to system:

    -
    Solaris
    -
    +
    Solaris
    +
      export LDFLAGS=-R${INSTALL_DIR}/lib
    -
    -

    if you are using the Sun Studio/Forte compiler, you may also want to set

    -
    -
      CFLAGS="-xO3 -xcode=pic13"   (SPARC)
      CFLAGS="-xO3 -Kpic"          (x86)
    -
    Linux
    -
    +
    Linux
    +
      export LDFLAGS="-Wl,--rpath -Wl,${INSTALL_DIR}/lib"
    -
    HPUX
    -
    +
    HPUX
    +
      export LDFLAGS="+b${INSTALL_DIR}/lib"
    -
    AIX
    -
    +
    AIX
    +
      export LDFLAGS="-Wl,-blibpath:${INSTALL_DIR}/lib"
    diff --git a/doc/rrdbuild.txt b/doc/rrdbuild.txt index b284bde..772b259 100644 --- a/doc/rrdbuild.txt +++ b/doc/rrdbuild.txt @@ -16,9 +16,9 @@ OOVVEERRVVIIEEWW This document will tell you about all the necessary steps to get going. These instructions assume you are using a bbaasshh shell. If you use - csh/tcsh, then you can either type _b_a_s_h to switch to bash for the com- - pilation or if you know what you are doing just replace the export bits - with setenv. + csh/tcsh, then you can either type _b_a_s_h to switch to bash for the + compilation or if you know what you are doing just replace the export + bits with setenv. We further assume that your copies of ttaarr and mmaakkee are actually GGNNUU ttaarr and GGNNUU mmaakkee respectively. It could be that they are installed as ggttaarr @@ -31,8 +31,8 @@ OOPPTTIIMMIISSTTIICC BBUUIILLDD 2. Where you want to install the software. - Once you have decided. Save the two locations into environment vari- - ables. + Once you have decided. Save the two locations into environment + variables. BUILD_DIR=/tmp/rrdbuild INSTALL_DIR=/usr/local/rrdtool-1.3.2 @@ -45,8 +45,8 @@ OOPPTTIIMMIISSTTIICC BBUUIILLDD mkdir -p $BUILD_DIR cd $BUILD_DIR - Lets first assume you already have all the necessary libraries - pre-installed. + Lets first assume you already have all the necessary libraries pre- + installed. wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.2.tar.gz gunzip -c rrdtool-1.3.2.tar.gz | tar xf - @@ -57,27 +57,26 @@ OOPPTTIIMMIISSTTIICC BBUUIILLDD ccoonnffiigguurree complaining about several missing libraries. IINNSSTTAALLLLIINNGG DDEEPPEENNDDEENNCCIIEESS - If your OS lets you install additional packages from a software reposi- - tory, you may get away with installing the missing packages. When the - packages are installed, run configure again and try to compile again. - Below you find some hints on getting your OS ready for the rrdtool com- - pilation. + If your OS lets you install additional packages from a software + repository, you may get away with installing the missing packages. When + the packages are installed, run configure again and try to compile + again. Below you find some hints on getting your OS ready for the + rrdtool compilation. Additions to this list are welcome. In general rrdtool should work with the latest versions of the libraries. The versions listed here are just what was current when I tested this. - OOppeennSSoollaarriiss 22000088..0055 - + OOppeennSSoollaarriiss 22000088..0055 Just add a compiler and the gnome development package: pkg install sunstudioexpress pkg install SUNWgnome-common-devel - There is a problem with _c_a_i_r_o_._p_c on OpenSolaris. It suggests that xren- - der is required for compilation with cairo. This is not true and also - bad since OpenSolaris does not include an _x_r_e_n_d_e_r_._p_c file. Use Perl to - fix this: + There is a problem with _c_a_i_r_o_._p_c on OpenSolaris. It suggests that + xrender is required for compilation with cairo. This is not true and + also bad since OpenSolaris does not include an _x_r_e_n_d_e_r_._p_c file. Use + Perl to fix this: perl -i~ -p -e 's/(Requires.*?)\s*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc @@ -92,20 +91,18 @@ IINNSSTTAALLLLIINNGG DDEEPPEENNDDEENNCCIIEESS option. - DDeebbiiaann // UUbbuunnttuu - + DDeebbiiaann // UUbbuunnttuu Use apt-get to make sure you have all that is required. A number of packages will get added through dependencies. apt-get install libpango1.0-dev libxml2-dev - GGeennttoooo - + GGeennttoooo In Gentoo installing rrdtool is really simple you just need to eemmeerrggee rrrrddttooooll. All dependencies will be handled automatically by the portage system. The only thing you should care about are USE flags, which allow - you fine tune features rrdtool will be built with. Currently the fol- - lowing USE flags are available: + you fine tune features rrdtool will be built with. Currently the + following USE flags are available: doc - install .html and .txt documentation into /usr/share/doc/rrdtool-1.x.xx/ @@ -132,23 +129,21 @@ BBUUIILLDDIINNGG DDEEPPEENNDDEENNCCIIEESS don't live up to our expectations, so you may want to compile their latest versions. - GGeenneerraall bbuuiilldd ttiippss ffoorr AAIIXX - + GGeenneerraall bbuuiilldd ttiippss ffoorr AAIIXX If you are working with AIX, you may find the ----ddiissaabbllee--sshhaarreedd option will cause things to break for you. In that case you may have to install the shared libraries into the rrdtool PREFIX and work with ----ddiissaabbllee--ssttaattiicc instead. - Another hint to get rrdtool working on AIX is to use the IBM XL C Com- - piler: + Another hint to get rrdtool working on AIX is to use the IBM XL C + Compiler: export CC=/usr/vac/bin/cc export PERLCC=$CC (Better instructions for AIX welcome!) - BBuuiilldd IInnssttrruuccttiioonnss - + BBuuiilldd IInnssttrruuccttiioonnss Some libraries want to know where other libraries are. For this to work, set the following environment variable @@ -159,8 +154,8 @@ BBUUIILLDDIINNGG DDEEPPEENNDDEENNCCIIEESS find instructions on how to compile pkgconfig. Since we are compiling libraries dynamically, they must know where to - find each other. This is done by setting an appropriate LDFLAGS. Unfor- - tunately, the syntax again differs from system to system: + find each other. This is done by setting an appropriate LDFLAGS. + Unfortunately, the syntax again differs from system to system: Solaris export LDFLAGS=-R${INSTALL_DIR}/lib @@ -192,8 +187,8 @@ BBUUIILLDDIINNGG DDEEPPEENNDDEENNCCIIEESS _B_u_i_l_d_i_n_g _p_k_g_c_o_n_f_i_g As mentioned above, without pkgconfig the whole build process will be - lots of pain and suffering, so make sure you have a copy on your sys- - tem. If it is not available natively, here is how to compile it. + lots of pain and suffering, so make sure you have a copy on your + system. If it is not available natively, here is how to compile it. wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz gunzip -c pkg-config-0.23.tar.gz | tar xf - @@ -202,8 +197,8 @@ BBUUIILLDDIINNGG DDEEPPEENNDDEENNCCIIEESS $MAKE $MAKE install - After installing pkgconfig in a custom directory, setting up the corre- - sponding environment variable will be helpful. + After installing pkgconfig in a custom directory, setting up the + corresponding environment variable will be helpful. export PKG_CONFIG=$INSTALL_DIR/bin/pkg-config @@ -263,8 +258,8 @@ BBUUIILLDDIINNGG DDEEPPEENNDDEENNCCIIEESS Note that fontconfig has a run time configuration file in INSTALL_DIR/etc you may want to adjust that so that fontconfig finds - the fonts on your system. Run the fc-cache program to build the font- - config cache after changing the config file. + the fonts on your system. Run the fc-cache program to build the + fontconfig cache after changing the config file. cd $BUILD_DIR wget http://oss.oetiker.ch/rrdtool/pub/libs/fontconfig-2.4.2.tar.gz @@ -318,8 +313,7 @@ BBUUIILLDDIINNGG DDEEPPEENNDDEENNCCIIEESS $MAKE $MAKE install - BBuuiillddiinngg rrrrddttooooll ((sseeccoonndd ttrryy)) - + BBuuiillddiinngg rrrrddttooooll ((sseeccoonndd ttrryy)) Now all the dependent libraries are built and you can try again. This time you tell configure where it should be looking for libraries and include files. This is done via environment variables. Depending on the @@ -339,8 +333,8 @@ BBUUIILLDDIINNGG DDEEPPEENNDDEENNCCIIEESS SOLARIS HINT: if you want to build the Perl module for the native Perl (the one shipping with Solaris) you will need the Sun Forte compiler - installed on your box or you have to hand-tune bind- - ings/perl-shared/Makefile while building! + installed on your box or you have to hand-tune + bindings/perl-shared/Makefile while building! Now go to _$_I_N_S_T_A_L_L___D_I_R//sshhaarree//rrrrddttooooll//eexxaammpplleess// and run them to see if your build has been successful. @@ -350,4 +344,4 @@ AAUUTTHHOORR -1.3.99909060808 2008-12-26 RRDBUILD(1) +1.3.999 2009-06-09 RRDBUILD(1) diff --git a/doc/rrdcached.1 b/doc/rrdcached.1 index 70ba28e..2a11187 100644 --- a/doc/rrdcached.1 +++ b/doc/rrdcached.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,13 +124,18 @@ .\" ======================================================================== .\" .IX Title "RRDCACHED 1" -.TH RRDCACHED 1 "2009-04-09" "1.3.99909060808" "rrdtool" +.TH RRDCACHED 1 "2009-09-24" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdcached \- Data caching daemon for rrdtool .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBrrdcached\fR -[\fB\-l/\-L\fR\ \fIaddress\fR] +[\fB\-P\fR\ \fIpermissions\fR] +[\fB\-l\fR\ \fIaddress\fR] [\fB\-w\fR\ \fItimeout\fR] [\fB\-z\fR\ \fIdelay\fR] [\fB\-f\fR\ \fItimeout\fR] @@ -172,7 +172,9 @@ For network sockets, a port may be specified by using the form \&\f(CW\*(C`\f(CB[\f(CW\f(CIaddress\f(CW\f(CB]:\f(CW\f(CIport\f(CW\*(C'\fR. If the address is an IPv4 address or a fully qualified domain name (i.\ e. the address contains at least one dot (\f(CW\*(C`.\*(C'\fR)), the square brackets can be omitted, resulting in the (simpler) -\&\f(CW\*(C`\f(CIaddress\f(CW\f(CB:\f(CW\f(CIport\f(CW\*(C'\fR pattern.. The default port is \fB42217/udp\fR. +\&\f(CW\*(C`\f(CIaddress\f(CW\f(CB:\f(CW\f(CIport\f(CW\*(C'\fR pattern. The default port is \fB42217/udp\fR. If you +specify a network socket, it is mandatory to read the +\&\*(L"\s-1SECURITY\s0 \s-1CONSIDERATIONS\s0\*(R" section. .Sp The following formats are accepted. Please note that the address of the \s-1UNIX\s0 domain socket \fBmust\fR start with a slash in the second case! @@ -187,10 +189,40 @@ domain socket \fBmust\fR start with a slash in the second case! .Sp If the \fB\-l\fR option is not specified the default address, \&\f(CW\*(C`unix:/tmp/rrdcached.sock\*(C'\fR, will be used. -.IP "\fB\-L\fR \fIaddress\fR" 4 -.IX Item "-L address" -Same as \fB\-l\fR, except creates a low-privilege socket. See \fB\s-1SECURITY\s0 -\&\s-1CONSIDERATIONS\s0\fR for more information. +.IP "\fB\-P\fR \fIcommand\fR[,\fIcommand\fR[,...]]" 4 +.IX Item "-P command[,command[,...]]" +Specifies the commands accepted via a network socket. This allows +administrators of \fIRRDCacheD\fR to control the actions accepted from various +sources. +.Sp +The arguments given to the \fB\-P\fR option is a comma separated list of commands. +For example, to allow the \f(CW\*(C`FLUSH\*(C'\fR and \f(CW\*(C`PENDING\*(C'\fR commands one could specify: +.Sp +.Vb 1 +\& rrdcached \-P FLUSH,PENDING $MORE_ARGUMENTS +.Ve +.Sp +The \fB\-P\fR option effects the \fIfollowing\fR socket addresses (the following \fB\-l\fR +options). In the following example, only the IPv4 network socket (address +\&\f(CW10.0.0.1\fR) will be restricted to the \f(CW\*(C`FLUSH\*(C'\fR and \f(CW\*(C`PENDING\*(C'\fR commands: +.Sp +.Vb 1 +\& rrdcached \-l unix:/some/path \-P FLUSH,PENDING \-l 10.0.0.1 +.Ve +.Sp +A complete list of available commands can be found in the section +\&\*(L"Valid Commands\*(R" below. There are two minor special exceptions: +.RS 4 +.IP "\(bu" 4 +The \f(CW\*(C`HELP\*(C'\fR and \f(CW\*(C`QUIT\*(C'\fR commands are always allowed. +.IP "\(bu" 4 +If the \f(CW\*(C`BATCH\*(C'\fR command is accepted, the \fB.\fR\ command will automatically +be accepted, too. +.RE +.RS 4 +.Sp +Please also read \*(L"\s-1SECURITY\s0 \s-1CONSIDERATIONS\s0\*(R" below. +.RE .IP "\fB\-w\fR \fItimeout\fR" 4 .IX Item "-w timeout" Data is written to disk every \fItimeout\fR seconds. If this option is not @@ -209,7 +241,7 @@ setting this to a high value, such as 3600\ seconds, is acceptable in most cases. This timeout defaults to 3600\ seconds. .IP "\fB\-p\fR \fIfile\fR" 4 .IX Item "-p file" -Sets the name and location of the PID\-file. If not specified, the default, +Sets the name and location of the PID-file. If not specified, the default, \&\f(CW\*(C`\f(CI$localststedir\f(CW/run/rrdcached.pid\*(C'\fR will be used. .IP "\fB\-t\fR \fIwrite_threads\fR" 4 .IX Item "-t write_threads" @@ -233,7 +265,7 @@ given by \fB\-f\fR. When journaling is enabled, the daemon will use a fast shutdown procedure. Rather than flushing all files to disk, it will make sure the journal is properly written and exit immediately. Although the \s-1RRD\s0 data files are -not fully up\-to\-date, no information is lost; all pending updates will be +not fully up-to-date, no information is lost; all pending updates will be replayed from the journal next time the daemon starts up. .Sp To disable fast shutdown, use the \fB\-F\fR option. @@ -282,7 +314,7 @@ specified as: .IP "\fB\-B\fR" 4 .IX Item "-B" Only permit writes into the base directory specified in \fB\-b\fR (and any -sub\-directories). This does \fB\s-1NOT\s0\fR detect symbolic links. Paths +sub-directories). This does \fB\s-1NOT\s0\fR detect symbolic links. Paths containing \f(CW\*(C`../\*(C'\fR will also be blocked. .SH "AFFECTED RRDTOOL COMMANDS" .IX Header "AFFECTED RRDTOOL COMMANDS" @@ -361,15 +393,15 @@ command\*(R" to flush specific files. This means that the file is inserted at th command will return only after the file's pending updates have been written to disk. .PP -.Vb 25 +.Vb 10 \& +\-\-\-\-\-\-+ +\-\-\-\-\-\-+ +\-\-\-\-\-\-+ \& ! head ! ! root ! ! tail ! \& +\-\-\-+\-\-+ +\-\-\-+\-\-+ +\-\-\-+\-\-+ \& ! /\e ! \& ! / \e ! \& ! /\e /\e ! -\& ! /\e/\e \e `\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- ... \-\-\-\-\-\-\-\-, ! -\& V / `\-\-\-\-\-\-\-, ! V +\& ! /\e/\e \e \`\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- ... \-\-\-\-\-\-\-\-, ! +\& V / \`\-\-\-\-\-\-\-, ! V \& +\-\-\-+\-\-\-\-+\-\-\-+ +\-\-\-\-\-\-+\-\-\-\-\-+ +\-\-\-+\-\-\-\-+\-\-\-+ \& ! File: foo ! ! File: bar ! ! File: qux ! \& ! First: 101 ! ! First: 119 ! ! First: 180 ! @@ -395,7 +427,7 @@ Files/values are stored in a (balanced) tree. .IP "\(bu" 4 Tree nodes and entries in the update queue are the same data structure. .IP "\(bu" 4 -The local time (\*(L"First\*(R") and the time specified in updates (\*(L"Time\*(R") may differ. +The local time (\*(L"First\*(R") and the time specified in updates (\*(L"Time\*(R") may differ. .IP "\(bu" 4 Timed out values are inserted at the \*(L"tail\*(R". .IP "\(bu" 4 @@ -404,37 +436,53 @@ Explicitly flushed values are inserted at the \*(L"head\*(R". \&\s-1ASCII\s0 art rocks. .SH "SECURITY CONSIDERATIONS" .IX Header "SECURITY CONSIDERATIONS" -The client/server protocol does not have any authentication or -authorization mechanism. Therefore, take care to restrict which users can -connect to the daemon. +.SS "Authentication" +.IX Subsection "Authentication" +There is no authentication. +.PP +The client/server protocol does not yet have any authentication mechanism. It +is likely that authentication and encryption will be added in a future version, +but for the time being it is the administrator's responsibility to secure the +traffic from/to the daemon! .PP -Control sockets are divided into high-privilege (\fB\-l\fR) and low-privilege -(\fB\-L\fR) sockets. High-privilege sockets accept all commands, whereas -low-privilege sockets accept only \fB\s-1FLUSH\s0\fR, \fB\s-1STATS\s0\fR, and \fB\s-1HELP\s0\fR. +It is highly recommended to install a packet filter or similar mechanism to +prevent unauthorized connections. Unless you have a dedicated \s-1VLAN\s0 or \s-1VPN\s0 for +this, using network sockets is probably a bad idea! +.SS "Authorization" +.IX Subsection "Authorization" +There is minimal per-socket authorization. .PP -For a multi-user environment where only certain users require read/write -access, the recommended configuration uses two sockets as follows: -.IP "\fB\-l\fR \fI/protected/dir/rrd.sock\fR" 4 -.IX Item "-l /protected/dir/rrd.sock" -Create a high-privilege unix-domain socket. This should be protected with -the same Unix permissions that are used to protect the \s-1RRD\s0 files. Updates -should be directed to this socket. -.IP "\fB\-L\fR \fI127.0.0.1\fR" 4 -.IX Item "-L 127.0.0.1" -Create a low-privilege \s-1TCP\s0 socket listening on localhost. All users on -the local system may use this to trigger \s-1FLUSH\s0 of individual files. Users -with read-only access should be directed to this socket. +Authorization is currently done on a per-socket basis. That means each socket +has a list of commands it will accept and it will accept. It will accept only +those commands explicitly listed but it will (currently) accept these commands +from anyone reaching the socket. .PP -If you (want to) use the network capability, i.\ e. let the daemon bind to -an IPv4 or IPv6 socket, it is \fByour\fR job to install a packet filter or similar -mechanism to prevent unauthorized connections. Unless you have a dedicated \s-1VLAN\s0 -or \s-1VPN\s0 for this, using the network option is probably a bad idea! +If the networking sockets are to be used, it is necessary to restrict the +accepted commands to those needed by external clients. If, for example, +external clients want to draw graphs of the cached data, they should only be +allowed to use the \f(CW\*(C`FLUSH\*(C'\fR command. +.SS "Encryption" +.IX Subsection "Encryption" +There is no encryption. +.PP +Again, this may be added in the future, but for the time being it is your job +to keep your private data private. Install a \s-1VPN\s0 or an encrypted tunnel if you +statistics are confidential! +.SS "Sanity checking" +.IX Subsection "Sanity checking" +There is no sanity checking. .PP The daemon will blindly write to any file it gets told, so you really should create a separate user just for this daemon. Also it does not do any sanity checks, so if it gets told to write values for a time far in the future, your files will be messed up good! -.PP +.SS "Conclusion" +.IX Subsection "Conclusion" +.IP "\(bu" 4 +Security is the job of the administrator. +.IP "\(bu" 4 +We recommend to allow write access via \s-1UNIX\s0 domain sockets only. +.IP "\(bu" 4 You have been warned. .SH "PROTOCOL" .IX Header "PROTOCOL" @@ -469,14 +517,12 @@ Examples: .PP .Vb 1 \& 0 Success -.Ve -.PP -.Vb 3 +\& \& 2 Two lines follow \& This is the first line \& And this is the second line .Ve -.Sh "Valid Commands" +.SS "Valid Commands" .IX Subsection "Valid Commands" The following commands are understood by the daemon: .IP "\fB\s-1FLUSH\s0\fR \fIfilename\fR" 4 @@ -568,7 +614,7 @@ message itself. The first user command after \fB\s-1BATCH\s0\fR is command numb .Sp .Vb 9 \& client: BATCH -\& server: 0 Go ahead. End with dot '.' on its own line. +\& server: 0 Go ahead. End with dot \*(Aq.\*(Aq on its own line. \& client: UPDATE x.rrd 1223661439:1:2:3 <\-\-\- command #1 \& client: UPDATE y.rrd 1223661440:3:4:5 <\-\-\- command #2 \& client: and so on... @@ -580,7 +626,7 @@ message itself. The first user command after \fB\s-1BATCH\s0\fR is command numb .IP "\fB\s-1QUIT\s0\fR" 4 .IX Item "QUIT" Disconnect from rrdcached. -.Sh "Performance Values" +.SS "Performance Values" .IX Subsection "Performance Values" The following counters are returned by the \fB\s-1STATS\s0\fR command: .IP "\fBQueueLength\fR \fI(unsigned 64bit integer)\fR" 4 diff --git a/doc/rrdcached.html b/doc/rrdcached.html index 6bd0a37..717be17 100644 --- a/doc/rrdcached.html +++ b/doc/rrdcached.html @@ -1,14 +1,18 @@ + rrdcached + -

    + +
    +

    + + +

    @@ -47,7 +64,8 @@


    SYNOPSIS

    rrdcached -[-l/-L address] +[-P permissions] +[-l address] [-w timeout] [-z delay] [-f timeout] @@ -77,135 +95,131 @@ section below.


    OPTIONS

    -
    -l address
    -
    +
    -l address
    +
    -Tells the daemon to bind to address and accept incoming connections on that +

    Tells the daemon to bind to address and accept incoming connections on that socket. If address begins with unix:, everything following that prefix is interpreted as the path to a UNIX domain socket. Otherwise the address or node -name are resolved using getaddrinfo. -

    -
    +name are resolved using getaddrinfo.

    For network sockets, a port may be specified by using the form [address]:port. If the address is an IPv4 address or a fully qualified domain name (i. e. the address contains at least one dot (.)), the square brackets can be omitted, resulting in the (simpler) -address:port pattern.. The default port is 42217/udp.

    -
    -
    +address:port pattern. The default port is 42217/udp. If you +specify a network socket, it is mandatory to read the +SECURITY CONSIDERATIONS section.

    The following formats are accepted. Please note that the address of the UNIX domain socket must start with a slash in the second case!

    -
    -
        unix:</path/to/unix.sock>
        /<path/to/unix.sock>
        <hostname-or-ip>
        [<hostname-or-ip>]:<port>
        <hostname-or-ipv4>:<port>
    -
    -

    If the -l option is not specified the default address, unix:/tmp/rrdcached.sock, will be used.

    -

    -
    -L address
    -
    +
    -P command[,command[,...]]
    +
    -Same as -l, except creates a low-privilege socket. See SECURITY -CONSIDERATIONS for more information. +

    Specifies the commands accepted via a network socket. This allows +administrators of RRDCacheD to control the actions accepted from various +sources.

    +

    The arguments given to the -P option is a comma separated list of commands. +For example, to allow the FLUSH and PENDING commands one could specify:

    +
    +  rrdcached -P FLUSH,PENDING $MORE_ARGUMENTS
    +

    The -P option effects the following socket addresses (the following -l +options). In the following example, only the IPv4 network socket (address +10.0.0.1) will be restricted to the FLUSH and PENDING commands:

    +
    +  rrdcached -l unix:/some/path -P FLUSH,PENDING -l 10.0.0.1
    +

    A complete list of available commands can be found in the section +Valid Commands below. There are two minor special exceptions:

    +
      +
    • +

      The HELP and QUIT commands are always allowed.

      +
    • +
    • +

      If the BATCH command is accepted, the . command will automatically +be accepted, too.

      +
    • +
    +

    Please also read SECURITY CONSIDERATIONS below.

    -

    -
    -w timeout
    -
    +
    -w timeout
    +
    -Data is written to disk every timeout seconds. If this option is not -specified the default interval of 300 seconds will be used. +

    Data is written to disk every timeout seconds. If this option is not +specified the default interval of 300 seconds will be used.

    -

    -
    -z delay
    -
    +
    -z delay
    +
    -If specified, rrdcached will delay writing of each RRD for a random number +

    If specified, rrdcached will delay writing of each RRD for a random number of seconds in the range [0,delay). This will avoid too many writes being queued simultaneously. This value should be no greater than -the value specified in -w. By default, there is no delay. +the value specified in -w. By default, there is no delay.

    -

    -
    -f timeout
    -
    +
    -f timeout
    +
    -Every timeout seconds the entire cache is searched for old values which are +

    Every timeout seconds the entire cache is searched for old values which are written to disk. This only concerns files to which updates have stopped, so setting this to a high value, such as 3600 seconds, is acceptable in most -cases. This timeout defaults to 3600 seconds. +cases. This timeout defaults to 3600 seconds.

    -

    -
    -p file
    -
    +
    -p file
    +
    -Sets the name and location of the PID-file. If not specified, the default, -$localststedir/run/rrdcached.pid will be used. +

    Sets the name and location of the PID-file. If not specified, the default, +$localststedir/run/rrdcached.pid will be used.

    -

    -
    -t write_threads
    -
    +
    -t write_threads
    +
    -Specifies the number of threads used for writing RRD files. The default +

    Specifies the number of threads used for writing RRD files. The default is 4. Increasing this number will allow rrdcached to have more simultaneous I/O requests into the kernel. This may allow the kernel to -re-order disk writes, resulting in better disk throughput. +re-order disk writes, resulting in better disk throughput.

    -

    -
    -j dir
    -
    +
    -j dir
    +
    -Write updates to a journal in dir. In the event of a program or system +

    Write updates to a journal in dir. In the event of a program or system crash, this will allow the daemon to write any updates that were pending -at the time of the crash. -

    -
    +at the time of the crash.

    On startup, the daemon will check for journal files in this directory. If found, all updates therein will be read into memory before the daemon starts accepting new connections.

    -
    -

    The journal will be rotated with the same frequency as the flush timer given by -f.

    -
    -

    When journaling is enabled, the daemon will use a fast shutdown procedure. Rather than flushing all files to disk, it will make sure the journal is properly written and exit immediately. Although the RRD data files are not fully up-to-date, no information is lost; all pending updates will be replayed from the journal next time the daemon starts up.

    -
    -

    To disable fast shutdown, use the -F option.

    -

    -
    -F
    -
    +
    -F
    +
    -ALWAYS flush all updates to the RRD data files when the daemon is shut -down, regardless of journal setting. +

    ALWAYS flush all updates to the RRD data files when the daemon is shut +down, regardless of journal setting.

    -

    -
    -g
    -
    +
    -g
    +
    -Run in the foreground. The daemon will not fork(). +

    Run in the foreground. The daemon will not fork().

    -

    -
    -b dir
    -
    +
    -b dir
    +
    -The daemon will change into a specific directory at startup. All files passed +

    The daemon will change into a specific directory at startup. All files passed to the daemon, that are specified by a relative path, will be interpreted to be relative to this directory. If not given the default, /tmp, will be -used. -

    -
    +used.

       +------------------------+------------------------+
       ! Command line           ! File updated           !
    @@ -217,34 +231,25 @@ used.
       Paths given on the command  line and paths actually
       updated by the daemon,  assuming the base directory
       "/tmp".
    -
    -

    WARNING: The paths up to and including the base directory MUST NOT BE symbolic links. In other words, if the base directory is specified as:

    -
    -
         -b /base/dir/somewhere
    -
    -

    ... then NONE of the following should be symbolic links:

    -
    -
         /base
         /base/dir
         /base/dir/somewhere
    -

    -
    -B
    -
    +
    -B
    +
    -Only permit writes into the base directory specified in -b (and any +

    Only permit writes into the base directory specified in -b (and any sub-directories). This does NOT detect symbolic links. Paths -containing ../ will also be blocked. +containing ../ will also be blocked.

    -

    +


    @@ -252,26 +257,26 @@ containing ../ will also be blocked.

    The following commands may be made aware of the rrdcached using the command line argument --daemon or the environment variable RRDCACHED_ADDRESS:

    -
    dump
    -
    -
    fetch
    -
    -
    flush
    -
    -
    graph
    -
    -
    graphv
    -
    -
    info
    -
    -
    last
    -
    -
    lastupdate
    -
    -
    update
    -
    -
    xport
    -
    +
    dump
    + +
    fetch
    + +
    flush
    + +
    graph
    + +
    graphv
    + +
    info
    + +
    last
    + +
    lastupdate
    + +
    update
    + +
    xport
    +

    The update command can send values to the daemon instead of writing them to the disk itself. All other commands can send a FLUSH command (see below) to @@ -293,32 +298,32 @@ to the system logging daemon using syslog(3). The facility used is

    HOW IT WORKS

    When receiving an update, rrdcached does not write to disk but looks for an entry for that file in its internal tree. If not found, an entry is created -including the current time (called ``First'' in the diagram below). This time is +including the current time (called "First" in the diagram below). This time is not the time specified on the command line but the time the operating system -considers to be ``now''. The value and time of the value (called ``Time'' in the +considers to be "now". The value and time of the value (called "Time" in the diagram below) are appended to the tree node.

    When appending a value to a tree node, it is checked whether it's time to write the values to disk. Values are written to disk if now() - First >= timeout, where timeout is the timeout specified -using the -w option, see OPTIONS. If the values are ``old enough'' they -will be enqueued in the ``update queue'', i. e. they will be appended to +using the -w option, see OPTIONS. If the values are "old enough" they +will be enqueued in the "update queue", i. e. they will be appended to the linked list shown below. Because the tree nodes and the elements of the linked list are the same data structures in memory, any update to a file that has already been enqueued will be written with the next write to the RRD file, too.

    -

    A separate ``update thread'' constantly dequeues the first element in the update +

    A separate "update thread" constantly dequeues the first element in the update queue and writes all its values to the appropriate file. So as long as the update queue is not empty files are written at the highest possible rate.

    Since the timeout of files is checked only when new values are added to the -file, ``dead'' files, i. e. files that are not updated anymore, would never +file, "dead" files, i. e. files that are not updated anymore, would never be written to disk. Therefore, every now and then, controlled by the -f -option, the entire tree is walked and all ``old'' values are enqueued. Since this -only affects ``dead'' files and walking the tree is relatively expensive, you -should set the ``flush interval'' to a reasonably high value. The default is +option, the entire tree is walked and all "old" values are enqueued. Since this +only affects "dead" files and walking the tree is relatively expensive, you +should set the "flush interval" to a reasonably high value. The default is 3600 seconds (one hour).

    The downside of caching values is that they won't show up in graphs generated -from the RRD files. To get around this, the daemon provides the ``flush -command'' to flush specific files. This means that the file is inserted at the +from the RRD files. To get around this, the daemon provides the "flush +command" to flush specific files. This means that the file is inserted at the head of the update queue or moved there if it is already enqueued. The flush command will return only after the file's pending updates have been written to disk.

    @@ -350,62 +355,81 @@ to disk.

    +------------+ +------------+ +------------+

    The above diagram demonstrates:

      -
    • -Files/values are stored in a (balanced) tree. -

      -
    • -Tree nodes and entries in the update queue are the same data structure. -

      -
    • -The local time (``First'') and the time specified in updates (``Time'') may differ. -

      -
    • -Timed out values are inserted at the ``tail''. -

      -
    • -Explicitly flushed values are inserted at the ``head''. -

      -
    • -ASCII art rocks. -

    +
  • +

    Files/values are stored in a (balanced) tree.

    +
  • +
  • +

    Tree nodes and entries in the update queue are the same data structure.

    +
  • +
  • +

    The local time ("First") and the time specified in updates ("Time") may differ.

    +
  • +
  • +

    Timed out values are inserted at the "tail".

    +
  • +
  • +

    Explicitly flushed values are inserted at the "head".

    +
  • +
  • +

    ASCII art rocks.

    +
  • +


    SECURITY CONSIDERATIONS

    -

    The client/server protocol does not have any authentication or -authorization mechanism. Therefore, take care to restrict which users can -connect to the daemon.

    -

    Control sockets are divided into high-privilege (-l) and low-privilege -(-L) sockets. High-privilege sockets accept all commands, whereas -low-privilege sockets accept only FLUSH, STATS, and HELP.

    -

    For a multi-user environment where only certain users require read/write -access, the recommended configuration uses two sockets as follows:

    -
    -
    -l /protected/dir/rrd.sock
    -
    -
    -Create a high-privilege unix-domain socket. This should be protected with -the same Unix permissions that are used to protect the RRD files. Updates -should be directed to this socket. -
    -

    -
    -L 127.0.0.1
    -
    -
    -Create a low-privilege TCP socket listening on localhost. All users on -the local system may use this to trigger FLUSH of individual files. Users -with read-only access should be directed to this socket. -
    -

    -

    If you (want to) use the network capability, i. e. let the daemon bind to -an IPv4 or IPv6 socket, it is your job to install a packet filter or similar -mechanism to prevent unauthorized connections. Unless you have a dedicated VLAN -or VPN for this, using the network option is probably a bad idea!

    +

    +

    +

    Authentication

    +

    There is no authentication.

    +

    The client/server protocol does not yet have any authentication mechanism. It +is likely that authentication and encryption will be added in a future version, +but for the time being it is the administrator's responsibility to secure the +traffic from/to the daemon!

    +

    It is highly recommended to install a packet filter or similar mechanism to +prevent unauthorized connections. Unless you have a dedicated VLAN or VPN for +this, using network sockets is probably a bad idea!

    +

    +

    +

    Authorization

    +

    There is minimal per-socket authorization.

    +

    Authorization is currently done on a per-socket basis. That means each socket +has a list of commands it will accept and it will accept. It will accept only +those commands explicitly listed but it will (currently) accept these commands +from anyone reaching the socket.

    +

    If the networking sockets are to be used, it is necessary to restrict the +accepted commands to those needed by external clients. If, for example, +external clients want to draw graphs of the cached data, they should only be +allowed to use the FLUSH command.

    +

    +

    +

    Encryption

    +

    There is no encryption.

    +

    Again, this may be added in the future, but for the time being it is your job +to keep your private data private. Install a VPN or an encrypted tunnel if you +statistics are confidential!

    +

    +

    +

    Sanity checking

    +

    There is no sanity checking.

    The daemon will blindly write to any file it gets told, so you really should create a separate user just for this daemon. Also it does not do any sanity checks, so if it gets told to write values for a time far in the future, your files will be messed up good!

    +

    +

    +

    Conclusion

    +
      +
    • +

      Security is the job of the administrator.

      +
    • +
    • +

      We recommend to allow write access via UNIX domain sockets only.

      +
    • +
    • You have been warned.

      +
    • +


    @@ -413,13 +437,13 @@ files will be messed up good!

    The daemon communicates with clients using a line based ASCII protocol which is easy to read and easy to type. This makes it easy for scripts to implement the protocol and possible for users to use telnet to connect to the daemon -and test stuff ``by hand''.

    +and test stuff "by hand".

    The protocol is line based, this means that each record consists of one or more lines. A line is terminated by the line feed character 0x0A, commonly written as \n. In the examples below, this character will be written as -<LF> (``line feed'').

    +<LF> ("line feed").

    After the connection has been established, the client is expected to send a -``command''. A command consists of the command keyword, possibly some arguments, +"command". A command consists of the command keyword, possibly some arguments, and a terminating newline character. For a list of commands, see Valid Commands below.

    Example:

    @@ -442,72 +466,58 @@ status line.

    Valid Commands

    The following commands are understood by the daemon:

    -
    FLUSH filename
    -
    +
    FLUSH filename
    +
    -Causes the daemon to put filename to the head of the update queue +

    Causes the daemon to put filename to the head of the update queue (possibly moving it there if the node is already enqueued). The answer will be -sent after the node has been dequeued. +sent after the node has been dequeued.

    -

    -
    FLUSHALL
    -
    +
    FLUSHALL
    +
    -Causes the daemon to start flushing ALL pending values to disk. This -returns immediately, even though the writes may take a long time. +

    Causes the daemon to start flushing ALL pending values to disk. This +returns immediately, even though the writes may take a long time.

    -

    -
    PENDING filename
    -
    +
    PENDING filename
    +
    -Shows any ``pending'' updates for a file, in order. The updates shown have -not yet been written to the underlying RRD file. +

    Shows any "pending" updates for a file, in order. The updates shown have +not yet been written to the underlying RRD file.

    -

    -
    FORGET filename
    -
    +
    FORGET filename
    +
    -Removes filename from the cache. Any pending updates WILL BE LOST. +

    Removes filename from the cache. Any pending updates WILL BE LOST.

    -

    -
    QUEUE
    -
    +
    QUEUE
    +
    -Shows the files that are on the output queue. Returns zero or more lines +

    Shows the files that are on the output queue. Returns zero or more lines in the following format, where <num_vals> is the number of values -to be written for the <file>: -

    -
    +to be written for the <file>:

         <num_vals> <file>
    -

    -
    HELP [command]
    -
    +
    HELP [command]
    +
    -Returns a short usage message. If no command is given, or command is +

    Returns a short usage message. If no command is given, or command is HELP, a list of commands supported by the daemon is returned. Otherwise a short description, possibly containing a pointer to a manual page, is returned. Obviously, this is meant for interactive usage and the format in which the -commands and usage summaries are returned is not well defined. +commands and usage summaries are returned is not well defined.

    -

    -
    STATS
    -
    +
    STATS
    +
    -Returns a list of metrics which can be used to measure the daemons performance +

    Returns a list of metrics which can be used to measure the daemons performance and check its status. For a description of the values returned, see -Performance Values below. -

    -
    +Performance Values below.

    The format in which the values are returned is similar to many other line based protocols: Each value is printed on a separate line, each consisting of the name of the value, a colon, one or more spaces and the actual value.

    -
    -

    Example:

    -
    -
      9 Statistics follow
      QueueLength: 0
    @@ -520,49 +530,38 @@ name of the value, a colon, one or more spaces and the actual value.

    JournalBytes: 190 JournalRotate: 0
    -

    -
    UPDATE filename values [values ...]
    -
    +
    UPDATE filename values [values ...]
    +
    -Adds more data to a filename. This is the operation the daemon was designed +

    Adds more data to a filename. This is the operation the daemon was designed for, so describing the mechanism again is unnecessary. Read HOW IT WORKS -above for a detailed explanation. -

    -
    +above for a detailed explanation.

    Note that rrdcached only accepts absolute timestamps in the update values. -Updates strings like ``N:1:2:3'' are automatically converted to absolute +Updates strings like "N:1:2:3" are automatically converted to absolute time by the RRD client library before sending to rrdcached.

    -

    -
    WROTE filename
    -
    +
    WROTE filename
    +
    -This command is written to the journal after a file is successfully +

    This command is written to the journal after a file is successfully written out to disk. It is used during journal replay to determine which updates have already been applied. It is only valid in the journal; it -is not accepted from the other command channels. +is not accepted from the other command channels.

    -

    -
    BATCH
    -
    +
    BATCH
    +
    -This command initiates the bulk load of multiple commands. This is +

    This command initiates the bulk load of multiple commands. This is designed for installations with extremely high update rates, since it -permits more than one command to be issued per read() and write(). -

    -
    +permits more than one command to be issued per read() and write().

    All commands are executed just as they would be if given individually, except for output to the user. Messages indicating success are suppressed, and error messages are delayed until the client is finished.

    -
    -
    -

    Command processing is finished when the client sends a dot (``.'') on its +

    Command processing is finished when the client sends a dot (".") on its own line. After the client has finished, the server responds with an error count and the list of error messages (if any). Each error messages indicates the number of the command to which it corresponds, and the error message itself. The first user command after BATCH is command number one.

    -
    -
         client:  BATCH
         server:  0 Go ahead.  End with dot '.' on its own line.
    @@ -574,105 +573,94 @@ message itself.  The first user command after BATCH is command
         server:  1 message for command 1
         server:  12 message for command 12
    -

    -
    QUIT
    -
    +
    QUIT
    +
    -Disconnect from rrdcached. +

    Disconnect from rrdcached.

    -

    +

    Performance Values

    The following counters are returned by the STATS command:

    -
    QueueLength (unsigned 64bit integer)
    -
    +
    QueueLength (unsigned 64bit integer)
    +
    -Number of nodes currently enqueued in the update queue. +

    Number of nodes currently enqueued in the update queue.

    -

    -
    UpdatesReceived (unsigned 64bit integer)
    -
    +
    UpdatesReceived (unsigned 64bit integer)
    +
    -Number of UPDATE commands received. +

    Number of UPDATE commands received.

    -

    -
    FlushesReceived (unsigned 64bit integer)
    -
    +
    FlushesReceived (unsigned 64bit integer)
    +
    -Number of FLUSH commands received. +

    Number of FLUSH commands received.

    -

    -
    UpdatesWritten (unsigned 64bit integer)
    -
    +
    UpdatesWritten (unsigned 64bit integer)
    +
    -Total number of updates, i. e. calls to rrd_update_r, since the -daemon was started. +

    Total number of updates, i. e. calls to rrd_update_r, since the +daemon was started.

    -

    -
    DataSetsWritten (unsigned 64bit integer)
    -
    +
    DataSetsWritten (unsigned 64bit integer)
    +
    -Total number of ``data sets'' written to disk since the daemon was +

    Total number of "data sets" written to disk since the daemon was started. A data set is one or more values passed to the UPDATE command. For example: 1223661439:123:456 is one data set with two -values. The term ``data set'' is used to prevent confusion whether -individual values or groups of values are counted. +values. The term "data set" is used to prevent confusion whether +individual values or groups of values are counted.

    -

    -
    TreeNodesNumber (unsigned 64bit integer)
    -
    +
    TreeNodesNumber (unsigned 64bit integer)
    +
    -Number of nodes in the cache. +

    Number of nodes in the cache.

    -

    -
    TreeDepth (unsigned 64bit integer)
    -
    +
    TreeDepth (unsigned 64bit integer)
    +
    -Depth of the tree used for fast key lookup. +

    Depth of the tree used for fast key lookup.

    -

    -
    JournalBytes (unsigned 64bit integer)
    -
    +
    JournalBytes (unsigned 64bit integer)
    +
    -Total number of bytes written to the journal since startup. +

    Total number of bytes written to the journal since startup.

    -

    -
    JournalRotate (unsigned 64bit integer)
    -
    +
    JournalRotate (unsigned 64bit integer)
    +
    -Number of times the journal has been rotated since startup. +

    Number of times the journal has been rotated since startup.

    -

    +


    SIGNALS

    -
    SIGINT and SIGTERM
    -
    +
    SIGINT and SIGTERM
    +
    -The daemon exits normally on receipt of either of these signals. Pending -updates are handled in accordance with the -j and -F options. +

    The daemon exits normally on receipt of either of these signals. Pending +updates are handled in accordance with the -j and -F options.

    -

    -
    SIGUSR1
    -
    +
    SIGUSR1
    +
    -The daemon exits AFTER flushing all updates out to disk. This may take a -while. +

    The daemon exits AFTER flushing all updates out to disk. This may take a +while.

    -

    -
    SIGUSR2
    -
    +
    SIGUSR2
    +
    -The daemon exits immediately, without flushing updates out to disk. +

    The daemon exits immediately, without flushing updates out to disk. Pending updates will be replayed from the journal when the daemon starts up again. WARNING: if journaling (-j) is NOT enabled, any pending -updates WILL BE LOST. +updates WILL BE LOST.

    -

    +


    diff --git a/doc/rrdcached.pod b/doc/rrdcached.pod index 5113c2d..460899c 100644 --- a/doc/rrdcached.pod +++ b/doc/rrdcached.pod @@ -7,7 +7,8 @@ rrdcached - Data caching daemon for rrdtool =head1 SYNOPSIS B -[B<-l/-L>EI
    ] +[B<-P>EI] +[B<-l>EI
    ] [B<-w>EI] [B<-z>EI] [B<-f>EI] @@ -48,7 +49,9 @@ For network sockets, a port may be specified by using the form CI
    B<]:>I>. If the address is an IPv4 address or a fully qualified domain name (i.Ee. the address contains at least one dot (C<.>)), the square brackets can be omitted, resulting in the (simpler) -CB<:>I> pattern.. The default port is B<42217/udp>. +CB<:>I> pattern. The default port is B<42217/udp>. If you +specify a network socket, it is mandatory to read the +L section. The following formats are accepted. Please note that the address of the UNIX domain socket B start with a slash in the second case! @@ -62,10 +65,40 @@ domain socket B start with a slash in the second case! If the B<-l> option is not specified the default address, C, will be used. -=item B<-L> I
    +=item B<-P> I[,I[,...]] -Same as B<-l>, except creates a low-privilege socket. See B for more information. +Specifies the commands accepted via a network socket. This allows +administrators of I to control the actions accepted from various +sources. + +The arguments given to the B<-P> option is a comma separated list of commands. +For example, to allow the C and C commands one could specify: + + rrdcached -P FLUSH,PENDING $MORE_ARGUMENTS + +The B<-P> option effects the I socket addresses (the following B<-l> +options). In the following example, only the IPv4 network socket (address +C<10.0.0.1>) will be restricted to the C and C commands: + + rrdcached -l unix:/some/path -P FLUSH,PENDING -l 10.0.0.1 + +A complete list of available commands can be found in the section +L below. There are two minor special exceptions: + +=over 4 + +=item * + +The C and C commands are always allowed. + +=item * + +If the C command is accepted, the B<.>Ecommand will automatically +be accepted, too. + +=back + +Please also read L below. =item B<-w> I @@ -305,45 +338,68 @@ ASCII art rocks. =head1 SECURITY CONSIDERATIONS -The client/server protocol does not have any authentication or -authorization mechanism. Therefore, take care to restrict which users can -connect to the daemon. +=head2 Authentication -Control sockets are divided into high-privilege (B<-l>) and low-privilege -(B<-L>) sockets. High-privilege sockets accept all commands, whereas -low-privilege sockets accept only B, B, and B. +There is no authentication. -For a multi-user environment where only certain users require read/write -access, the recommended configuration uses two sockets as follows: +The client/server protocol does not yet have any authentication mechanism. It +is likely that authentication and encryption will be added in a future version, +but for the time being it is the administrator's responsibility to secure the +traffic from/to the daemon! -=over +It is highly recommended to install a packet filter or similar mechanism to +prevent unauthorized connections. Unless you have a dedicated VLAN or VPN for +this, using network sockets is probably a bad idea! -=item B<-l> I +=head2 Authorization -Create a high-privilege unix-domain socket. This should be protected with -the same Unix permissions that are used to protect the RRD files. Updates -should be directed to this socket. +There is minimal per-socket authorization. -=item B<-L> I<127.0.0.1> +Authorization is currently done on a per-socket basis. That means each socket +has a list of commands it will accept and it will accept. It will accept only +those commands explicitly listed but it will (currently) accept these commands +from anyone reaching the socket. -Create a low-privilege TCP socket listening on localhost. All users on -the local system may use this to trigger FLUSH of individual files. Users -with read-only access should be directed to this socket. +If the networking sockets are to be used, it is necessary to restrict the +accepted commands to those needed by external clients. If, for example, +external clients want to draw graphs of the cached data, they should only be +allowed to use the C command. -=back +=head2 Encryption + +There is no encryption. + +Again, this may be added in the future, but for the time being it is your job +to keep your private data private. Install a VPN or an encrypted tunnel if you +statistics are confidential! -If you (want to) use the network capability, i.Ee. let the daemon bind to -an IPv4 or IPv6 socket, it is B job to install a packet filter or similar -mechanism to prevent unauthorized connections. Unless you have a dedicated VLAN -or VPN for this, using the network option is probably a bad idea! +=head2 Sanity checking + +There is no sanity checking. The daemon will blindly write to any file it gets told, so you really should create a separate user just for this daemon. Also it does not do any sanity checks, so if it gets told to write values for a time far in the future, your files will be messed up good! +=head2 Conclusion + +=over 4 + +=item * + +Security is the job of the administrator. + +=item * + +We recommend to allow write access via UNIX domain sockets only. + +=item * + You have been warned. +=back + =head1 PROTOCOL The daemon communicates with clients using a line based ASCII protocol which is diff --git a/doc/rrdcached.txt b/doc/rrdcached.txt index 32d3674..fdacd18 100644 --- a/doc/rrdcached.txt +++ b/doc/rrdcached.txt @@ -6,9 +6,9 @@ NNAAMMEE rrdcached - Data caching daemon for rrdtool SSYYNNOOPPSSIISS - rrrrddccaacchheedd [--ll//--LL _a_d_d_r_e_s_s] [--ww _t_i_m_e_o_u_t] [--zz _d_e_l_a_y] [--ff _t_i_m_e_o_u_t] - [--pp _p_i_d___f_i_l_e] [--tt _w_r_i_t_e___t_h_r_e_a_d_s] [--jj _j_o_u_r_n_a_l___d_i_r] [-F] [-g] - [--bb _b_a_s_e___d_i_r [--BB]] + rrrrddccaacchheedd [--PP _p_e_r_m_i_s_s_i_o_n_s] [--ll _a_d_d_r_e_s_s] [--ww _t_i_m_e_o_u_t] [--zz _d_e_l_a_y] + [--ff _t_i_m_e_o_u_t] [--pp _p_i_d___f_i_l_e] [--tt _w_r_i_t_e___t_h_r_e_a_d_s] [--jj _j_o_u_r_n_a_l___d_i_r] [-F] + [-g] [--bb _b_a_s_e___d_i_r [--BB]] DDEESSCCRRIIPPTTIIOONN rrrrddccaacchheedd is a daemon that receives updates to existing RRD files, @@ -19,23 +19,26 @@ DDEESSCCRRIIPPTTIIOONN The daemon was written with big setups in mind. Those setups usually run into IO related problems sooner or later for reasons that are - beyond the scope of this document. Check the wiki at the RRDTool home- - page for details. Also check "SECURITY CONSIDERATIONS" below before + beyond the scope of this document. Check the wiki at the RRDTool + homepage for details. Also check "SECURITY CONSIDERATIONS" below before using this daemon! A detailed description of how the daemon operates can be found in the "HOW IT WORKS" section below. OOPPTTIIOONNSS --ll _a_d_d_r_e_s_s Tells the daemon to bind to _a_d_d_r_e_s_s and accept incoming connections - on that socket. If _a_d_d_r_e_s_s begins with "unix:", everything follow- - ing that prefix is interpreted as the path to a UNIX domain socket. - Otherwise the address or node name are resolved using getaddrinfo. + on that socket. If _a_d_d_r_e_s_s begins with "unix:", everything + following that prefix is interpreted as the path to a UNIX domain + socket. Otherwise the address or node name are resolved using + getaddrinfo. For network sockets, a port may be specified by using the form - "[address]:port". If the address is an IPv4 address or a fully + "[[_a_d_d_r_e_s_s]]::_p_o_r_t_". If the address is an IPv4 address or a fully qualified domain name (i. e. the address contains at least one dot - (".")), the square brackets can be omitted, resulting in the (sim- - pler) "address:port" pattern.. The default port is 4422221177//uuddpp. + (".")), the square brackets can be omitted, resulting in the + (simpler) "_a_d_d_r_e_s_s::_p_o_r_t_" pattern. The default port is 4422221177//uuddpp. If + you specify a network socket, it is mandatory to read the "SECURITY + CONSIDERATIONS" section. The following formats are accepted. Please note that the address of the UNIX domain socket mmuusstt start with a slash in the second case! @@ -49,9 +52,33 @@ OOPPTTIIOONNSS If the --ll option is not specified the default address, "unix:/tmp/rrdcached.sock", will be used. - --LL _a_d_d_r_e_s_s - Same as --ll, except creates a low-privilege socket. See SSEECCUURRIITTYY - CCOONNSSIIDDEERRAATTIIOONNSS for more information. + --PP _c_o_m_m_a_n_d[,_c_o_m_m_a_n_d[,...]] + Specifies the commands accepted via a network socket. This allows + administrators of _R_R_D_C_a_c_h_e_D to control the actions accepted from + various sources. + + The arguments given to the --PP option is a comma separated list of + commands. For example, to allow the "FLUSH" and "PENDING" commands + one could specify: + + rrdcached -P FLUSH,PENDING $MORE_ARGUMENTS + + The --PP option effects the _f_o_l_l_o_w_i_n_g socket addresses (the following + --ll options). In the following example, only the IPv4 network socket + (address 10.0.0.1) will be restricted to the "FLUSH" and "PENDING" + commands: + + rrdcached -l unix:/some/path -P FLUSH,PENDING -l 10.0.0.1 + + A complete list of available commands can be found in the section + "Valid Commands" below. There are two minor special exceptions: + + · The "HELP" and "QUIT" commands are always allowed. + + · If the "BATCH" command is accepted, the .. command will + automatically be accepted, too. + + Please also read "SECURITY CONSIDERATIONS" below. --ww _t_i_m_e_o_u_t Data is written to disk every _t_i_m_e_o_u_t seconds. If this option is @@ -73,22 +100,22 @@ OOPPTTIIOONNSS --pp _f_i_l_e Sets the name and location of the PID-file. If not specified, the - default, "$localststedir/run/rrdcached.pid" will be used. + default, "_$_l_o_c_a_l_s_t_s_t_e_d_i_r_/_r_u_n_/_r_r_d_c_a_c_h_e_d_._p_i_d_" will be used. --tt _w_r_i_t_e___t_h_r_e_a_d_s Specifies the number of threads used for writing RRD files. The default is 4. Increasing this number will allow rrdcached to have more simultaneous I/O requests into the kernel. This may allow the - kernel to re-order disk writes, resulting in better disk through- - put. + kernel to re-order disk writes, resulting in better disk + throughput. --jj _d_i_r Write updates to a journal in _d_i_r. In the event of a program or system crash, this will allow the daemon to write any updates that were pending at the time of the crash. - On startup, the daemon will check for journal files in this direc- - tory. If found, all updates therein will be read into memory + On startup, the daemon will check for journal files in this + directory. If found, all updates therein will be read into memory before the daemon starts accepting new connections. The journal will be rotated with the same frequency as the flush @@ -97,9 +124,9 @@ OOPPTTIIOONNSS When journaling is enabled, the daemon will use a fast shutdown procedure. Rather than flushing all files to disk, it will make sure the journal is properly written and exit immediately. - Although the RRD data files are not fully up-to-date, no informa- - tion is lost; all pending updates will be replayed from the journal - next time the daemon starts up. + Although the RRD data files are not fully up-to-date, no + information is lost; all pending updates will be replayed from the + journal next time the daemon starts up. To disable fast shutdown, use the --FF option. @@ -126,8 +153,8 @@ OOPPTTIIOONNSS "/tmp". WWAARRNNIINNGG:: The paths up to and including the base directory MMUUSSTT NNOOTT - BBEE symbolic links. In other words, if the base directory is speci- - fied as: + BBEE symbolic links. In other words, if the base directory is + specified as: -b /base/dir/somewhere @@ -138,13 +165,13 @@ OOPPTTIIOONNSS /base/dir/somewhere --BB Only permit writes into the base directory specified in --bb (and any - sub-directories). This does NNOOTT detect symbolic links. Paths con- - taining "../" will also be blocked. + sub-directories). This does NNOOTT detect symbolic links. Paths + containing "../" will also be blocked. AAFFFFEECCTTEEDD RRRRDDTTOOOOLL CCOOMMMMAANNDDSS The following commands may be made aware of the rrrrddccaacchheedd using the - command line argument ----ddaaeemmoonn or the environment variable RRRRDD-- - CCAACCHHEEDD__AADDDDRREESSSS: + command line argument ----ddaaeemmoonn or the environment variable + RRRRDDCCAACCHHEEDD__AADDDDRREESSSS: dduummpp ffeettcchh @@ -167,8 +194,8 @@ EERRRROORR RREEPPOORRTTIINNGG messages are printed to "STDERR". One of the steps when starting up is to fork to the background and closing "STDERR" - after this writing directly to the user is no longer possible. Once this has happened, the - daemon will send log messages to the system logging daemon using _s_y_s_- - _l_o_g(3). The facility used is "LOG_DAEMON". + daemon will send log messages to the system logging daemon using + _s_y_s_l_o_g(3). The facility used is "LOG_DAEMON". HHOOWW IITT WWOORRKKSS When receiving an update, rrrrddccaacchheedd does not write to disk but looks @@ -199,8 +226,8 @@ HHOOWW IITT WWOORRKKSS never be written to disk. Therefore, every now and then, controlled by the --ff option, the entire tree is walked and all "old" values are enqueued. Since this only affects "dead" files and walking the tree is - relatively expensive, you should set the "flush interval" to a reason- - ably high value. The default is 3600 seconds (one hour). + relatively expensive, you should set the "flush interval" to a + reasonably high value. The default is 3600 seconds (one hour). The downside of caching values is that they won't show up in graphs generated from the RRD files. To get around this, the daemon provides @@ -237,62 +264,75 @@ HHOOWW IITT WWOORRKKSS The above diagram demonstrates: - · Files/values are stored in a (balanced) tree. + · Files/values are stored in a (balanced) tree. - · Tree nodes and entries in the update queue are the same data struc- - ture. + · Tree nodes and entries in the update queue are the same data + structure. - · The local time ("First") and the time specified in updates ("Time") + · The local time ("First") and the time specified in updates ("Time") may differ. - · Timed out values are inserted at the "tail". + · Timed out values are inserted at the "tail". - · Explicitly flushed values are inserted at the "head". + · Explicitly flushed values are inserted at the "head". - · ASCII art rocks. + · ASCII art rocks. SSEECCUURRIITTYY CCOONNSSIIDDEERRAATTIIOONNSS - The client/server protocol does not have any authentication or autho- - rization mechanism. Therefore, take care to restrict which users can - connect to the daemon. - - Control sockets are divided into high-privilege (--ll) and low-privilege - (--LL) sockets. High-privilege sockets accept all commands, whereas low- - privilege sockets accept only FFLLUUSSHH, SSTTAATTSS, and HHEELLPP. - - For a multi-user environment where only certain users require - read/write access, the recommended configuration uses two sockets as - follows: - - --ll _/_p_r_o_t_e_c_t_e_d_/_d_i_r_/_r_r_d_._s_o_c_k - Create a high-privilege unix-domain socket. This should be pro- - tected with the same Unix permissions that are used to protect the - RRD files. Updates should be directed to this socket. - - --LL _1_2_7_._0_._0_._1 - Create a low-privilege TCP socket listening on localhost. All - users on the local system may use this to trigger FLUSH of individ- - ual files. Users with read-only access should be directed to this - socket. - - If you (want to) use the network capability, i. e. let the daemon bind - to an IPv4 or IPv6 socket, it is yyoouurr job to install a packet filter or - similar mechanism to prevent unauthorized connections. Unless you have - a dedicated VLAN or VPN for this, using the network option is probably - a bad idea! + AAuutthheennttiiccaattiioonn + There is no authentication. + + The client/server protocol does not yet have any authentication + mechanism. It is likely that authentication and encryption will be + added in a future version, but for the time being it is the + administrator's responsibility to secure the traffic from/to the + daemon! + + It is highly recommended to install a packet filter or similar + mechanism to prevent unauthorized connections. Unless you have a + dedicated VLAN or VPN for this, using network sockets is probably a bad + idea! + + AAuutthhoorriizzaattiioonn + There is minimal per-socket authorization. + + Authorization is currently done on a per-socket basis. That means each + socket has a list of commands it will accept and it will accept. It + will accept only those commands explicitly listed but it will + (currently) accept these commands from anyone reaching the socket. + + If the networking sockets are to be used, it is necessary to restrict + the accepted commands to those needed by external clients. If, for + example, external clients want to draw graphs of the cached data, they + should only be allowed to use the "FLUSH" command. + + EEnnccrryyppttiioonn + There is no encryption. + + Again, this may be added in the future, but for the time being it is + your job to keep your private data private. Install a VPN or an + encrypted tunnel if you statistics are confidential! + + SSaanniittyy cchheecckkiinngg + There is no sanity checking. The daemon will blindly write to any file it gets told, so you really should create a separate user just for this daemon. Also it does not do any sanity checks, so if it gets told to write values for a time far in the future, your files will be messed up good! - You have been warned. + CCoonncclluussiioonn + · Security is the job of the administrator. + + · We recommend to allow write access via UNIX domain sockets only. + + · You have been warned. PPRROOTTOOCCOOLL The daemon communicates with clients using a line based ASCII protocol which is easy to read and easy to type. This makes it easy for scripts - to implement the protocol and possible for users to use telnet to con- - nect to the daemon and test stuff "by hand". + to implement the protocol and possible for users to use telnet to + connect to the daemon and test stuff "by hand". The protocol is line based, this means that each record consists of one or more lines. A line is terminated by the line feed character 0x0A, @@ -301,8 +341,8 @@ PPRROOTTOOCCOOLL After the connection has been established, the client is expected to send a "command". A command consists of the command keyword, possibly - some arguments, and a terminating newline character. For a list of com- - mands, see "Valid Commands" below. + some arguments, and a terminating newline character. For a list of + commands, see "Valid Commands" below. Example: @@ -311,8 +351,8 @@ PPRROOTTOOCCOOLL The daemon answers with a line consisting of a status code and a short status message, separated by one or more space characters. A negative status code signals an error, a positive status code or zero signal - success. If the status code is greater than zero, it indicates the num- - ber of lines that follow the status line. + success. If the status code is greater than zero, it indicates the + number of lines that follow the status line. Examples: @@ -322,8 +362,7 @@ PPRROOTTOOCCOOLL This is the first line And this is the second line - VVaalliidd CCoommmmaannddss - + VVaalliidd CCoommmmaannddss The following commands are understood by the daemon: FFLLUUSSHH _f_i_l_e_n_a_m_e @@ -388,8 +427,8 @@ PPRROOTTOOCCOOLL Note that rrdcached only accepts absolute timestamps in the update values. Updates strings like "N:1:2:3" are automatically converted - to absolute time by the RRD client library before sending to rrd- - cached. + to absolute time by the RRD client library before sending to + rrdcached. WWRROOTTEE _f_i_l_e_n_a_m_e This command is written to the journal after a file is successfully @@ -403,16 +442,16 @@ PPRROOTTOOCCOOLL it permits more than one command to be issued per _r_e_a_d_(_) and _w_r_i_t_e_(_). - All commands are executed just as they would be if given individu- - ally, except for output to the user. Messages indicating success - are suppressed, and error messages are delayed until the client is - finished. + All commands are executed just as they would be if given + individually, except for output to the user. Messages indicating + success are suppressed, and error messages are delayed until the + client is finished. Command processing is finished when the client sends a dot (".") on its own line. After the client has finished, the server responds with an error count and the list of error messages (if any). Each - error messages indicates the number of the command to which it cor- - responds, and the error message itself. The first user command + error messages indicates the number of the command to which it + corresponds, and the error message itself. The first user command after BBAATTCCHH is command number one. client: BATCH @@ -428,8 +467,7 @@ PPRROOTTOOCCOOLL QQUUIITT Disconnect from rrdcached. - PPeerrffoorrmmaannccee VVaalluueess - + PPeerrffoorrmmaannccee VVaalluueess The following counters are returned by the SSTTAATTSS command: QQuueeuueeLLeennggtthh _(_u_n_s_i_g_n_e_d _6_4_b_i_t _i_n_t_e_g_e_r_) @@ -447,8 +485,8 @@ PPRROOTTOOCCOOLL DDaattaaSSeettssWWrriitttteenn _(_u_n_s_i_g_n_e_d _6_4_b_i_t _i_n_t_e_g_e_r_) Total number of "data sets" written to disk since the daemon was - started. A data set is one or more values passed to the UUPPDDAATTEE com- - mand. For example: "1223661439:123:456" is one data set with two + started. A data set is one or more values passed to the UUPPDDAATTEE + command. For example: "1223661439:123:456" is one data set with two values. The term "data set" is used to prevent confusion whether individual values or groups of values are counted. @@ -495,4 +533,4 @@ CCOONNTTRRIIBBUUTTOORRSS -1.3.99909060808 2009-04-09 RRDCACHED(1) +1.3.999 2009-09-24 RRDCACHED(1) diff --git a/doc/rrdcgi.1 b/doc/rrdcgi.1 index 4b74010..8f73e78 100644 --- a/doc/rrdcgi.1 +++ b/doc/rrdcgi.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDCGI 1" -.TH RRDCGI 1 "2008-12-22" "1.3.99909060808" "rrdtool" +.TH RRDCGI 1 "2009-05-10" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdcgi \- Create web pages containing RRD graphs based on templates .SH "SYNOPSIS" @@ -149,7 +148,7 @@ The argument parser uses the same semantics as you are used from your C\-shell. .IP "\fB\-\-filter\fR" 8 .IX Item "--filter" Assume that rrdcgi is run as a filter and not as a cgi. -.Sh "Keywords" +.SS "Keywords" .IX Subsection "Keywords" .IP "\s-1RRD::CV\s0 \fIname\fR" 8 .IX Item "RRD::CV name" @@ -178,7 +177,7 @@ some sort of access control on the directory. .IP "\s-1RRD::GOODFOR\s0 \fIseconds\fR" 8 .IX Item "RRD::GOODFOR seconds" Specify the number of seconds this page should remain valid. This will prompt -the rrdcgi to output a Last\-Modified, an Expire and if the number of +the rrdcgi to output a Last-Modified, an Expire and if the number of seconds is \fInegative\fR a Refresh header. .IP "\s-1RRD::INCLUDE\s0 \fIfilename\fR" 8 .IX Item "RRD::INCLUDE filename" @@ -254,7 +253,7 @@ number of the \fB\s-1PRINT\s0\fR argument. This first \fB\s-1PRINT\s0\fR has \fI .IX Item "RRD::INTERNAL " This tag gets replaced by an internal var. Currently these vars are known: \&\s-1VERSION\s0, \s-1COMPILETIME\s0. -These vars represent the compiled-in values. +These vars represent the compiled-in values. .SH "EXAMPLE 1" .IX Header "EXAMPLE 1" The example below creates a web pages with a single \s-1RRD\s0 graph. @@ -269,9 +268,7 @@ The example below creates a web pages with a single \s-1RRD\s0 graph. \& -.Ve -.PP -.Vb 3 +\& \&

    \& \& @@ -282,7 +279,7 @@ This script is slightly more elaborate, it allows you to run it from a form which sets \s-1RRD_NAME\s0. \s-1RRD_NAME\s0 is then used to select which \s-1RRD\s0 you want to use as source for your graph. .PP -.Vb 15 +.Vb 10 \& #!/usr/local/bin/rrdcgi \& \& RRDCGI Demo @@ -298,9 +295,7 @@ you want to use as source for your graph. \& \-\-title "Temperatures for " \& DEF:cel=.rrd:exhaust:AVERAGE \& LINE2:cel#00a000:"D. Celsius"> -.Ve -.PP -.Vb 3 +\& \&

    \& \& @@ -310,7 +305,7 @@ you want to use as source for your graph. This example shows how to handle the case where the \s-1RRD\s0, graphs and cgi-bins are separate directories .PP -.Vb 14 +.Vb 10 \& #!/.../bin/rrdcgi \& \& RRDCGI Demo @@ -318,7 +313,7 @@ cgi-bins are separate directories \&

    RRDCGI test Page

    \& ' +\& \-\-imginfo \*(Aq\*(Aq \& \-\-lazy \-\-start \-1d \-\-end now \& DEF:http_src=/.../rrds/test.rrd:http_src:AVERAGE \& AREA:http_src#00ff00:http_src diff --git a/doc/rrdcgi.html b/doc/rrdcgi.html index 67831b1..359a620 100644 --- a/doc/rrdcgi.html +++ b/doc/rrdcgi.html @@ -1,14 +1,18 @@ + rrdcgi + -

    + +
    +

    + + +

    @@ -50,172 +58,138 @@ In the end it will printout a web page including the necessary CGI headers.

    only for a subset of tags. This allows nesting of tags.

    The argument parser uses the same semantics as you are used from your C-shell.

    -
    --filter
    -
    +
    --filter
    +
    -Assume that rrdcgi is run as a filter and not as a cgi. +

    Assume that rrdcgi is run as a filter and not as a cgi.

    -

    +

    Keywords

    -
    RRD::CV name
    -
    +
    RRD::CV name
    +
    -Inserts the CGI variable of the given name. +

    Inserts the CGI variable of the given name.

    -

    -
    RRD::CV::QUOTE name
    -
    +
    RRD::CV::QUOTE name
    +
    -Inserts the CGI variable of the given name but quotes it, ready for +

    Inserts the CGI variable of the given name but quotes it, ready for use as an argument in another RRD:: tag. So even when there are spaces in the -value of the CGI variable it will still be considered to be one argument. +value of the CGI variable it will still be considered to be one argument.

    -

    -
    RRD::CV::PATH name
    -
    +
    RRD::CV::PATH name
    +
    -Inserts the CGI variable of the given name, quotes it and makes sure +

    Inserts the CGI variable of the given name, quotes it and makes sure it starts neither with a '/' nor contains '..'. This is to make sure that no problematic pathnames can be introduced through the -CGI interface. -

    -

    -
    RRD::GETENV variable
    -
    -
    -Get the value of an environment variable. +CGI interface.

    +
    RRD::GETENV variable
    +
    +

    Get the value of an environment variable.

      <RRD::GETENV REMOTE_USER>
    -
    -

    might give you the name of the remote user given you are using some sort of access control on the directory.

    -

    -
    RRD::GOODFOR seconds
    -
    +
    RRD::GOODFOR seconds
    +
    -Specify the number of seconds this page should remain valid. This will prompt +

    Specify the number of seconds this page should remain valid. This will prompt the rrdcgi to output a Last-Modified, an Expire and if the number of -seconds is negative a Refresh header. +seconds is negative a Refresh header.

    -

    -
    RRD::INCLUDE filename
    -
    -
    -Include the contents of the specified file into the page returned from the cgi. -
    -

    -
    RRD::SETENV variable value
    -
    +
    RRD::INCLUDE filename
    +
    -If you want to present your graphs in another time zone than your own, you -could use +

    Include the contents of the specified file into the page returned from the cgi.

    +
    RRD::SETENV variable value
    +
    +

    If you want to present your graphs in another time zone than your own, you +could use

      <RRD::SETENV TZ UTC>
    -
    -

    to make sure everything is presented in Universal Time. Note that the values permitted to TZ depend on your OS.

    -

    -
    RRD::SETVAR variable value
    -
    -
    -Analog to SETENV but for local variables. -
    -

    -
    RRD::GETVAR variable
    -
    +
    RRD::SETVAR variable value
    +
    -Analog to GETENV but for local variables. +

    Analog to SETENV but for local variables.

    -

    -
    RRD::TIME::LAST rrd-file strftime-format
    -
    +
    RRD::GETVAR variable
    +
    -This gets replaced by the last modification time of the selected RRD. The -time is strftime-formatted with the string specified in the second argument. +

    Analog to GETENV but for local variables.

    -

    -
    RRD::TIME::NOW strftime-format
    -
    +
    RRD::TIME::LAST rrd-file strftime-format
    +
    -This gets replaced by the current time of day. The time is -strftime-formatted with the string specified in the argument. +

    This gets replaced by the last modification time of the selected RRD. The +time is strftime-formatted with the string specified in the second argument.

    +
    RRD::TIME::NOW strftime-format
    +
    +

    This gets replaced by the current time of day. The time is +strftime-formatted with the string specified in the argument.

    Note that if you return : (colons) from your strftime format you may have to escape them using \ if the time is to be used as an argument to a GRAPH command.

    -

    -
    RRD::TIME::STRFTIME START|END start-spec end-spec strftime-format
    -
    +
    RRD::TIME::STRFTIME START|END start-spec end-spec strftime-format
    +
    -This gets replaced by a strftime-formatted time using the format +

    This gets replaced by a strftime-formatted time using the format strftime-format on either start-spec or end-spec depending on whether START or END is specified. Both start-spec and end-spec must be supplied as either could be relative to the other. This is intended to allow pretty titles on graphs with times that are easier for non RRDtool -folks to figure out than ``-2weeks''. -

    -
    +folks to figure out than "-2weeks".

    Note that again, if you return : (colon) from your strftime format, you may have to escape them using \ if the time is to be used as an argument to a GRAPH command.

    -

    -
    RRD::GRAPH rrdgraph arguments
    -
    +
    RRD::GRAPH rrdgraph arguments
    +
    -This tag creates the RRD graph defined by its argument and then is +

    This tag creates the RRD graph defined by its argument and then is replaced by an appropriate <IMG ... > tag referring to the graph. The --lazy option in RRD graph can be used to make sure that graphs are only regenerated when they are out of date. The arguments -to the RRD::GRAPH tag work as described in the rrdgraph manual page. -

    -
    +to the RRD::GRAPH tag work as described in the rrdgraph manual page.

    Use the --lazy option in your RRD::GRAPH tags, to reduce the load on your server. This option makes sure that graphs are only regenerated when the old ones are out of date.

    -
    -

    If you do not specify your own --imginfo format, the following will be used:

    -
    -
      <IMG SRC="%s" WIDTH="%lu" HEIGHT="%lu">
    -
    -

    Note that %s stands for the filename part of the graph generated, all directories given in the PNG file argument will get dropped.

    -

    -
    RRD::PRINT number
    -
    +
    RRD::PRINT number
    +
    -If the preceding RRD::GRAPH tag contained and PRINT arguments, +

    If the preceding RRD::GRAPH tag contained and PRINT arguments, then you can access their output with this tag. The number argument refers to the -number of the PRINT argument. This first PRINT has number 0. +number of the PRINT argument. This first PRINT has number 0.

    -

    -
    RRD::INTERNAL <var>
    -
    +
    RRD::INTERNAL <var>
    +
    -This tag gets replaced by an internal var. Currently these vars are known: +

    This tag gets replaced by an internal var. Currently these vars are known: VERSION, COMPILETIME. -These vars represent the compiled-in values. +These vars represent the compiled-in values.

    -

    +


    diff --git a/doc/rrdcgi.txt b/doc/rrdcgi.txt index ee0ba0a..579e925 100644 --- a/doc/rrdcgi.txt +++ b/doc/rrdcgi.txt @@ -12,8 +12,8 @@ DDEESSCCRRIIPPTTIIOONN rrrrddccggii is a sort of very limited script interpreter. Its purpose is to run as a cgi-program and parse a web page template containing special tag referring to the graph. The ----llaazzyy option in RRD graph can be used to make sure that graphs are only regenerated when they are out of date. The - arguments to the RRRRDD::::GGRRAAPPHH tag work as described in the rrrrdd-- - ggrraapphh manual page. + arguments to the RRRRDD::::GGRRAAPPHH tag work as described in the + rrrrddggrraapphh manual page. Use the ----llaazzyy option in your RRD::GRAPH tags, to reduce the load on your server. This option makes sure that graphs are @@ -118,9 +116,9 @@ DDEESSCCRRIIPPTTIIOONN - Note that %s stands for the filename part of the graph gener- - ated, all directories given in the PNG file argument will get - dropped. + Note that %s stands for the filename part of the graph + generated, all directories given in the PNG file argument will + get dropped. RRD::PRINT _n_u_m_b_e_r If the preceding RRRRDD::::GGRRAAPPHH tag contained and PPRRIINNTT arguments, @@ -196,12 +194,12 @@ EEXXAAMMPPLLEE 33 Note 1: Replace /.../ with the relevant directories - Note 2: The SRC=/.../pngs should be paths from the view of the web- - server/browser + Note 2: The SRC=/.../pngs should be paths from the view of the + webserver/browser AAUUTTHHOORR Tobias Oetiker -1.3.99909060808 2008-12-22 RRDCGI(1) +1.3.999 2009-05-10 RRDCGI(1) diff --git a/doc/rrdcreate.1 b/doc/rrdcreate.1 index 5010762..67d4910 100644 --- a/doc/rrdcreate.1 +++ b/doc/rrdcreate.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDCREATE 1" -.TH RRDCREATE 1 "2008-06-11" "1.3.99909060808" "rrdtool" +.TH RRDCREATE 1 "2009-04-19" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdcreate \- Set up a new Round Robin Database .SH "SYNOPSIS" @@ -144,12 +143,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. -.Sh "\fIfilename\fP" +.SS "\fIfilename\fP" .IX Subsection "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. -.Sh "\fB\-\-start\fP|\fB\-b\fP \fIstart time\fP (default: now \- 10s)" +.SS "\fB\-\-start\fP|\fB\-b\fP \fIstart time\fP (default: now \- 10s)" .IX Subsection "--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 +156,11 @@ any data timed before or at the time specified. .PP See also AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0 section in the \&\fIrrdfetch\fR documentation for other ways to specify time. -.Sh "\fB\-\-step\fP|\fB\-s\fP \fIstep\fP (default: 300 seconds)" +.SS "\fB\-\-step\fP|\fB\-s\fP \fIstep\fP (default: 300 seconds)" .IX Subsection "--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. -.Sh "\fB\s-1DS:\s0\fP\fIds-name\fP\fB:\fP\fI\s-1DST\s0\fP\fB:\fP\fIdst arguments\fP" +.SS "\fB\s-1DS:\s0\fP\fIds-name\fP\fB:\fP\fI\s-1DST\s0\fP\fB:\fP\fIdst arguments\fP" .IX Subsection "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 @@ -268,7 +267,7 @@ the \s-1RPN\s0 expression, the \s-1COMPUTE\s0 data source may only refer to the 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. -.Sh "\fB\s-1RRA:\s0\fP\fI\s-1CF\s0\fP\fB:\fP\fIcf arguments\fP" +.SS "\fB\s-1RRA:\s0\fP\fI\s-1CF\s0\fP\fB:\fP\fIcf arguments\fP" .IX Subsection "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 @@ -281,7 +280,7 @@ data point\fR. The data is also processed with the consolidation function (\fI\s-1CF\s0\fR) of the archive. There are several consolidation functions that consolidate primary data points via an aggregate function: \fB\s-1AVERAGE\s0\fR, -\&\fB\s-1MIN\s0\fR, \fB\s-1MAX\s0\fR, \fB\s-1LAST\s0\fR. +\&\fB\s-1MIN\s0\fR, \fB\s-1MAX\s0\fR, \fB\s-1LAST\s0\fR. .IP "\s-1AVERAGE\s0" 4 .IX Item "AVERAGE" the average of the data points is stored. @@ -493,10 +492,10 @@ sample. An extreme example of this might be a \*(L"step\*(R" of 5 minutes and a result in all the PDPs for that entire day period being set to the same average rate. \fI\-\- Don Baarda \fR .PP -.Vb 35 +.Vb 10 \& time| \& axis| -\& begin__|00| +\& begin_\|_|00| \& |01| \& u|02|\-\-\-\-* sample1, restart "hb"\-timer \& u|03| / @@ -524,7 +523,7 @@ same average rate. \fI\-\- Don Baarda \fR \& |25| / \& |26| / \& |27|\-\-\-\-* sample7, restart "hb" -\& step2__|28| / +\& step2_\|_|28| / \& |22| / \& |23|\-\-\-\-* sample8, restart "hb", create "pdp" for step1, create "cdp" \& |24| / @@ -564,7 +563,7 @@ plots continuous data, and as such is not appropriate for plotting absolute amounts as for example \*(L"total bytes\*(R" sent and received in a router. What you probably want is plot rates that you can scale to bytes/hour, for example, or plot absolute amounts with another tool -that draws bar\-plots, where the delta-time is clear on the plot for +that draws bar-plots, where the delta-time is clear on the plot for each point (such that when you read the graph you see for example \s-1GB\s0 on the y axis, days on the x axis and one bar for each day). .SH "EXAMPLE" diff --git a/doc/rrdcreate.html b/doc/rrdcreate.html index 42f0aa4..adc0755 100644 --- a/doc/rrdcreate.html +++ b/doc/rrdcreate.html @@ -1,14 +1,18 @@ + rrdcreate + -

    + +
    +

    + + +

    @@ -60,11 +68,11 @@ and filled with *UNKNOWN* data.

    filename

    The name of the RRD you want to create. RRD files should end -with the extension .rrd. However, RRDtool will accept any +with the extension .rrd. However, RRDtool will accept any filename.

    -

    --start|-b start time (default: now - 10s)

    +

    --start|-b start time (default: now - 10s)

    Specifies the time in seconds since 1970-01-01 UTC when the first value should be added to the RRD. RRDtool will not accept any data timed before or at the time specified.

    @@ -72,12 +80,12 @@ any data timed before or at the time specified.

    rrdfetch documentation for other ways to specify time.

    -

    --step|-s step (default: 300 seconds)

    +

    --step|-s step (default: 300 seconds)

    Specifies the base interval in seconds with which data will be fed into the RRD.

    -

    DS:ds-name:DST:dst arguments

    +

    DS:ds-name:DST:dst arguments

    A single RRD can accept input from several data sources (DS), for example incoming and outgoing traffic on a specific communication line. With the DS configuration option you must define some basic @@ -92,53 +100,43 @@ DERIVE, and ABSOLUTE the format for a data source entry is:

    For COMPUTE data sources, the format is:

    DS:ds-name:COMPUTE:rpn-expression

    In order to decide which data source type to use, review the -definitions that follow. Also consult the section on ``HOW TO MEASURE'' +definitions that follow. Also consult the section on "HOW TO MEASURE" for further insight.

    -
    GAUGE
    -
    +
    GAUGE
    +
    -is for things like temperatures or number of people in a room or the -value of a RedHat share. +

    is for things like temperatures or number of people in a room or the +value of a RedHat share.

    -

    -
    COUNTER
    -
    +
    COUNTER
    +
    -is for continuous incrementing counters like the ifInOctets counter in +

    is for continuous incrementing counters like the ifInOctets counter in a router. The COUNTER 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. +an appropriate value to the result.

    -

    -
    DERIVE
    -
    +
    DERIVE
    +
    -will store the derivative of the line going from the last to the +

    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. -

    -
    +might want to use DERIVE and combine it with a MIN value of 0.

    NOTE on COUNTER vs DERIVE

    -
    -

    by Don Baarda <don.baarda@baesystems.com>

    -
    -

    If you cannot tolerate ever mistaking the occasional counter reset for a -legitimate counter wrap, and would prefer ``Unknowns'' for all legitimate +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 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 @@ -147,30 +145,28 @@ 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.

    -

    -
    ABSOLUTE
    -
    +
    ABSOLUTE
    +
    -is for counters which get reset upon reading. This is used for fast counters +

    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. +since the last update.

    -

    -
    COMPUTE
    -
    +
    COMPUTE
    +
    -is for storing the result of a formula applied to other data sources +

    is for storing the result of a formula applied to other data sources in the RRD. 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 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. +to as "virtual" or "computed" columns.

    -

    +

    heartbeat 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 *UNKNOWN*.

    @@ -207,30 +203,27 @@ the archive. There are several consolidation functions that consolidate primary data points via an aggregate function: AVERAGE, MIN, MAX, LAST.

    -
    AVERAGE
    -
    +
    AVERAGE
    +
    -the average of the data points is stored. +

    the average of the data points is stored.

    -

    -
    MIN
    -
    +
    MIN
    +
    -the smallest of the data points is stored. +

    the smallest of the data points is stored.

    -

    -
    MAX
    -
    +
    MAX
    +
    -the largest of the data points is stored. +

    the largest of the data points is stored.

    -

    -
    LAST
    -
    +
    LAST
    +
    -the last data points is used. +

    the last data points is used.

    -

    +

    Note that data aggregation inevitably leads to loss of precision and information. The trick is to pick the aggregate function such that the interesting properties of your data is kept across the aggregation @@ -249,30 +242,31 @@ Obviously, this has to be greater than zero.


    -

    Aberrant Behavior Detection with Holt-Winters Forecasting

    +

    Aberrant Behavior Detection with Holt-Winters Forecasting

    In addition to the aggregate functions, there are a set of specialized functions that enable RRDtool to provide data smoothing (via the Holt-Winters forecasting algorithm), confidence bands, and the flagging aberrant behavior in the data source time series:

      -
    • -RRA:HWPREDICT:rows:alpha:beta:seasonal period[:rra-num] -

      -
    • -RRA:MHWPREDICT:rows:alpha:beta:seasonal period[:rra-num] -

      -
    • -RRA:SEASONAL:seasonal period:gamma:rra-num[:smoothing-window=fraction] -

      -
    • -RRA:DEVSEASONAL:seasonal period:gamma:rra-num[:smoothing-window=fraction] -

      -
    • -RRA:DEVPREDICT:rows:rra-num -

      -
    • -RRA:FAILURES:rows:threshold:window length:rra-num -

    +
  • +

    RRA:HWPREDICT:rows:alpha:beta:seasonal period[:rra-num]

    +
  • +
  • +

    RRA:MHWPREDICT:rows:alpha:beta:seasonal period[:rra-num]

    +
  • +
  • +

    RRA:SEASONAL:seasonal period:gamma:rra-num[:smoothing-window=fraction]

    +
  • +
  • +

    RRA:DEVSEASONAL:seasonal period:gamma:rra-num[:smoothing-window=fraction]

    +
  • +
  • +

    RRA:DEVPREDICT:rows:rra-num

    +
  • +
  • +

    RRA:FAILURES:rows:threshold:window length:rra-num

    +
  • +

    These RRAs differ from the true consolidation functions in several ways. First, each of the RRAs is updated once for every primary data point. Second, these RRAs are interdependent. To generate real-time confidence @@ -366,21 +360,22 @@ index in the order of RRA creation (that is, the order they app in the create command). The dependent RRA for each RRA requiring the rra-num argument is listed here:

      -
    • -HWPREDICT rra-num is the index of the SEASONAL RRA. -

      -
    • -SEASONAL rra-num is the index of the HWPREDICT RRA. -

      -
    • -DEVPREDICT rra-num is the index of the DEVSEASONAL RRA. -

      -
    • -DEVSEASONAL rra-num is the index of the HWPREDICT RRA. -

      -
    • -FAILURES rra-num is the index of the DEVSEASONAL RRA. -

    +
  • +

    HWPREDICT rra-num is the index of the SEASONAL RRA.

    +
  • +
  • +

    SEASONAL rra-num is the index of the HWPREDICT RRA.

    +
  • +
  • +

    DEVPREDICT rra-num is the index of the DEVSEASONAL RRA.

    +
  • +
  • +

    DEVSEASONAL rra-num is the index of the HWPREDICT RRA.

    +
  • +
  • +

    FAILURES rra-num is the index of the DEVSEASONAL RRA.

    +
  • +

    threshold is the minimum number of violations (observed values outside the confidence bounds) within a window that constitutes a failure. If the FAILURES RRA is implicitly created, the default value is 7.

    @@ -397,28 +392,28 @@ default value is 9.

    It may help you to sort out why all this *UNKNOWN* data is popping up in your databases:

    RRDtool gets fed samples/updates at arbitrary times. From these it builds Primary -Data Points (PDPs) on every ``step'' interval. The PDPs are +Data Points (PDPs) on every "step" interval. The PDPs are then accumulated into the RRAs.

    -

    The ``heartbeat'' defines the maximum acceptable interval between -samples/updates. If the interval between samples is less than ``heartbeat'', +

    The "heartbeat" defines the maximum acceptable interval between +samples/updates. If the interval between samples is less than "heartbeat", then an average rate is calculated and applied for that interval. If -the interval between samples is longer than ``heartbeat'', then that -entire interval is considered ``unknown''. Note that there are other -things that can make a sample interval ``unknown'', such as the rate +the interval between samples is longer than "heartbeat", then that +entire interval is considered "unknown". Note that there are other +things that can make a sample interval "unknown", such as the rate exceeding limits, or a sample that was explicitly marked as unknown.

    -

    The known rates during a PDP's ``step'' interval are used to calculate -an average rate for that PDP. If the total ``unknown'' time accounts for -more than half the ``step'', the entire PDP is marked -as ``unknown''. This means that a mixture of known and ``unknown'' sample -times in a single PDP ``step'' may or may not add up to enough ``known'' +

    The known rates during a PDP's "step" interval are used to calculate +an average rate for that PDP. If the total "unknown" time accounts for +more than half the "step", the entire PDP is marked +as "unknown". This means that a mixture of known and "unknown" sample +times in a single PDP "step" may or may not add up to enough "known" time to warrent for a known PDP.

    -

    The ``heartbeat'' can be short (unusual) or long (typical) relative to -the ``step'' interval between PDPs. A short ``heartbeat'' means you +

    The "heartbeat" can be short (unusual) or long (typical) relative to +the "step" interval between PDPs. A short "heartbeat" means you require multiple samples per PDP, and if you don't get them mark the -PDP unknown. A long heartbeat can span multiple ``steps'', which means +PDP unknown. A long heartbeat can span multiple "steps", which means it is acceptable to have multiple PDPs calculated from a single -sample. An extreme example of this might be a ``step'' of 5 minutes and a -``heartbeat'' of one day, in which case a single sample every day will +sample. An extreme example of this might be a "step" of 5 minutes and a +"heartbeat" of one day, in which case a single sample every day will result in all the PDPs for that entire day period being set to the same average rate. -- Don Baarda <don.baarda@baesystems.com>

    @@ -464,20 +459,19 @@ same average rate. -- Don Baarda <HOW TO MEASURE
     

    Here are a few hints on how to measure:

    -
    Temperature
    -
    +
    Temperature
    +
    -Usually you have some type of meter you can read to get the temperature. +

    Usually you have some type of meter you can read to get the temperature. The temperature is not really connected with a time. The only connection is that the temperature reading happened at a certain time. You can use the GAUGE data source type for this. RRDtool will then record your reading -together with the time. +together with the time.

    -

    -
    Mail Messages
    -
    +
    Mail Messages
    +
    -Assume you have a method to count the number of messages transported by +

    Assume you have a method to count the number of messages transported by your mailserver in a certain amount of time, giving you data like '5 messages in the last 65 seconds'. If you look at the count of 5 like an ABSOLUTE data type you can simply update the RRD with the number 5 and the @@ -486,25 +480,24 @@ messages per second. If at some later stage you want to know the number of messages transported in a day, you can get the average messages per second from RRDtool for the day in question and multiply this number with the number of seconds in a day. Because all math is run with Doubles, the -precision should be acceptable. +precision should be acceptable.

    -

    -
    It's always a Rate
    -
    +
    It's always a Rate
    +
    -RRDtool stores rates in amount/second for COUNTER, DERIVE and ABSOLUTE +

    RRDtool stores rates in amount/second for COUNTER, DERIVE and ABSOLUTE data. When you plot the data, you will get on the y axis amount/second which you might be tempted to convert to an absolute amount by multiplying by the delta-time between the points. RRDtool plots continuous data, and as such is not appropriate for plotting -absolute amounts as for example ``total bytes'' sent and received in a +absolute amounts as for example "total bytes" sent and received in a router. What you probably want is plot rates that you can scale to bytes/hour, for example, or plot absolute amounts with another tool that draws bar-plots, where the delta-time is clear on the plot for each point (such that when you read the graph you see for example GB -on the y axis, days on the x axis and one bar for each day). +on the y axis, days on the x axis and one bar for each day).

    -

    +


    @@ -516,7 +509,7 @@ on the y axis, days on the x axis and one bar for each day). RRA:MIN:0.5:12:2400 \ RRA:MAX:0.5:12:2400 \ RRA:AVERAGE:0.5:12:2400
    -

    This sets up an RRD called temperature.rrd which accepts one +

    This sets up an RRD called temperature.rrd which accepts one temperature value every 300 seconds. If no new data is supplied for more than 600 seconds, the temperature becomes *UNKNOWN*. The minimum acceptable value is -273 and the maximum is 5'000.

    diff --git a/doc/rrdcreate.txt b/doc/rrdcreate.txt index 18647ec..64d1633 100644 --- a/doc/rrdcreate.txt +++ b/doc/rrdcreate.txt @@ -14,29 +14,25 @@ DDEESSCCRRIIPPTTIIOONN (RRRRDD) files. The file is created at its final, full size and filled with _*_U_N_K_N_O_W_N_* data. - _f_i_l_e_n_a_m_e - + _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 filename. - ----ssttaarrtt||--bb _s_t_a_r_t _t_i_m_e ((ddeeffaauulltt:: nnooww -- 1100ss)) - + ----ssttaarrtt||--bb _s_t_a_r_t _t_i_m_e ((ddeeffaauulltt:: nnooww -- 1100ss)) 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 documenta- - tion for other ways to specify time. - - ----sstteepp||--ss _s_t_e_p ((ddeeffaauulltt:: 330000 sseeccoonnddss)) + See also AT-STYLE TIME SPECIFICATION section in the _r_r_d_f_e_t_c_h + documentation for other ways to specify time. + ----sstteepp||--ss _s_t_e_p ((ddeeffaauulltt:: 330000 sseeccoonnddss)) 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 exam- - ple incoming and outgoing traffic on a specific communication line. + 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 communication line. With the DDSS configuration option you must define some basic properties of each data source you want to store in the RRRRDD. @@ -54,9 +50,9 @@ DDEESSCCRRIIPPTTIIOONN 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 defini- - tions that follow. Also consult the section on "HOW TO MEASURE" for - further insight. + 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 @@ -91,28 +87,28 @@ DDEESSCCRRIIPPTTIIOONN 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 mistak- - ing 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 pos- - sibility of mistaking a reset for a 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 nor- - mally you reset them after every read to make sure you have a maxi- - mum time available before the next overflow. Another usage is for - things you count like number of messages since the last update. + 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 nor- - mally to the PDPs of the COMPUTE data source (that is the rpn- + 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. @@ -134,16 +130,15 @@ DDEESSCCRRIIPPTTIIOONN _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 sup- - ported. 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 - + 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. @@ -168,8 +163,8 @@ DDEESSCCRRIIPPTTIIOONN Note that data aggregation inevitably leads to loss of precision and information. The trick is to pick the aggregate function such that the - _i_n_t_e_r_e_s_t_i_n_g properties of your data is kept across the aggregation pro- - cess. + _i_n_t_e_r_e_s_t_i_n_g properties of your data is kept across the aggregation + process. The format of RRRRAA line for these consolidation functions is: @@ -193,43 +188,43 @@ AAbbeerrrraanntt BBeehhaavviioorr DDeetteeccttiioonn w Winters forecasting algorithm), confidence bands, and the flagging aberrant behavior in the data source time series: - · RRRRAA::_H_W_P_R_E_D_I_C_T::_r_o_w_s::_a_l_p_h_a::_b_e_t_a::_s_e_a_s_o_n_a_l _p_e_r_i_o_d[::_r_r_a_-_n_u_m] + · RRRRAA::_H_W_P_R_E_D_I_C_T::_r_o_w_s::_a_l_p_h_a::_b_e_t_a::_s_e_a_s_o_n_a_l _p_e_r_i_o_d[::_r_r_a_-_n_u_m] - · RRRRAA::_M_H_W_P_R_E_D_I_C_T::_r_o_w_s::_a_l_p_h_a::_b_e_t_a::_s_e_a_s_o_n_a_l _p_e_r_i_o_d[::_r_r_a_-_n_u_m] + · RRRRAA::_M_H_W_P_R_E_D_I_C_T::_r_o_w_s::_a_l_p_h_a::_b_e_t_a::_s_e_a_s_o_n_a_l _p_e_r_i_o_d[::_r_r_a_-_n_u_m] - · RRRRAA::_S_E_A_S_O_N_A_L::_s_e_a_s_o_n_a_l _p_e_r_i_o_d::_g_a_m_m_a::_r_r_a_-_n_u_m[::ssmmooootthhiinngg--wwiinnddooww==_f_r_a_c_- - _t_i_o_n] + · RRRRAA::_S_E_A_S_O_N_A_L::_s_e_a_s_o_n_a_l _p_e_r_i_o_d::_g_a_m_m_a::_r_r_a_- + _n_u_m[::ssmmooootthhiinngg--wwiinnddooww==_f_r_a_c_t_i_o_n] - · RRRRAA::_D_E_V_S_E_A_S_O_N_A_L::_s_e_a_s_o_n_a_l _p_e_r_i_o_d::_g_a_m_m_a::_r_r_a_-_n_u_m[::ssmmooootthhiinngg--wwiinn-- - ddooww==_f_r_a_c_t_i_o_n] + · RRRRAA::_D_E_V_S_E_A_S_O_N_A_L::_s_e_a_s_o_n_a_l _p_e_r_i_o_d::_g_a_m_m_a::_r_r_a_- + _n_u_m[::ssmmooootthhiinngg--wwiinnddooww==_f_r_a_c_t_i_o_n] - · RRRRAA::_D_E_V_P_R_E_D_I_C_T::_r_o_w_s::_r_r_a_-_n_u_m + · RRRRAA::_D_E_V_P_R_E_D_I_C_T::_r_o_w_s::_r_r_a_-_n_u_m - · RRRRAA::_F_A_I_L_U_R_E_S::_r_o_w_s::_t_h_r_e_s_h_o_l_d::_w_i_n_d_o_w _l_e_n_g_t_h::_r_r_a_-_n_u_m + · RRRRAA::_F_A_I_L_U_R_E_S::_r_o_w_s::_t_h_r_e_s_h_o_l_d::_w_i_n_d_o_w _l_e_n_g_t_h::_r_r_a_-_n_u_m These RRRRAAss differ from the true consolidation functions in several ways. First, each of the RRRRAAs is updated once for every primary data point. Second, these RRRRAAss are interdependent. To generate real-time confidence bounds, a matched set of SEASONAL, DEVSEASONAL, DEVPREDICT, - and either HWPREDICT or MHWPREDICT must exist. Generating smoothed val- - ues of the primary data points requires a SEASONAL RRRRAA and either an - HWPREDICT or MHWPREDICT RRRRAA. Aberrant behavior detection requires FAIL- - URES, DEVSEASONAL, SEASONAL, and either HWPREDICT or MHWPREDICT. + and either HWPREDICT or MHWPREDICT must exist. Generating smoothed + values of the primary data points requires a SEASONAL RRRRAA and either an + HWPREDICT or MHWPREDICT RRRRAA. Aberrant behavior detection requires + FAILURES, DEVSEASONAL, SEASONAL, and either HWPREDICT or MHWPREDICT. - The predicted, or smoothed, values are stored in the HWPREDICT or MHW- - PREDICT RRRRAA. HWPREDICT and MHWPREDICT are actually two variations on + The predicted, or smoothed, values are stored in the HWPREDICT or + MHWPREDICT RRRRAA. HWPREDICT and MHWPREDICT are actually two variations on the Holt-Winters method. They are interchangeable. Both attempt to - decompose data into three components: a baseline, a trend, and a sea- - sonal coefficient. HWPREDICT adds its seasonal coefficient to the - baseline to form a prediction, whereas MHWPREDICT multiplies its sea- - sonal coefficient by the baseline to form a prediction. The difference - is noticeable when the baseline changes significantly in the course of - a season; HWPREDICT will predict the seasonality to stay constant as - the baseline changes, but MHWPREDICT will predict the seasonality to - grow or shrink in proportion to the baseline. The proper choice of - method depends on the thing being modeled. For simplicity, the rest of - this discussion will refer to HWPREDICT, but MHWPREDICT may be substi- - tuted in its place. + decompose data into three components: a baseline, a trend, and a + seasonal coefficient. HWPREDICT adds its seasonal coefficient to the + baseline to form a prediction, whereas MHWPREDICT multiplies its + seasonal coefficient by the baseline to form a prediction. The + difference is noticeable when the baseline changes significantly in the + course of a season; HWPREDICT will predict the seasonality to stay + constant as the baseline changes, but MHWPREDICT will predict the + seasonality to grow or shrink in proportion to the baseline. The proper + choice of method depends on the thing being modeled. For simplicity, + the rest of this discussion will refer to HWPREDICT, but MHWPREDICT may + be substituted in its place. The predicted deviations are stored in DEVPREDICT (think a standard deviation which can be scaled to yield a confidence band). The FAILURES @@ -243,8 +238,8 @@ AAbbeerrrraanntt BBeehhaavviioorr DDeetteeccttiioonn w the Holt-Winters forecasting algorithm and the seasonal deviations, respectively. There is one entry per observation time point in the seasonal cycle. For example, if primary data points are generated every - five minutes and the seasonal cycle is 1 day, both SEASONAL and DEVSEA- - SONAL will have 288 rows. + five minutes and the seasonal cycle is 1 day, both SEASONAL and + DEVSEASONAL will have 288 rows. In order to simplify the creation for the novice user, in addition to supporting explicit creation of the HWPREDICT, SEASONAL, DEVPREDICT, @@ -257,46 +252,46 @@ AAbbeerrrraanntt BBeehhaavviioorr DDeetteeccttiioonn w and entries in these RRAs. For the HWPREDICT CF, _r_o_w_s should be larger than the _s_e_a_s_o_n_a_l _p_e_r_i_o_d. If the DEVPREDICT RRRRAA is implicitly created, the default number of rows is the same as the HWPREDICT _r_o_w_s argument. - If the FAILURES RRRRAA is implicitly created, _r_o_w_s will be set to the _s_e_a_- - _s_o_n_a_l _p_e_r_i_o_d argument of the HWPREDICT RRRRAA. Of course, the RRRRDDttooooll + If the FAILURES RRRRAA is implicitly created, _r_o_w_s will be set to the + _s_e_a_s_o_n_a_l _p_e_r_i_o_d argument of the HWPREDICT RRRRAA. Of course, the RRRRDDttooooll _r_e_s_i_z_e command is available if these defaults are not sufficient and the creator wishes to avoid explicit creations of the other specialized function RRRRAAss. - _s_e_a_s_o_n_a_l _p_e_r_i_o_d specifies the number of primary data points in a sea- - sonal cycle. If SEASONAL and DEVSEASONAL are implicitly created, this - argument for those RRRRAAss is set automatically to the value specified by - HWPREDICT. If they are explicitly created, the creator should verify - that all three _s_e_a_s_o_n_a_l _p_e_r_i_o_d arguments agree. - - _a_l_p_h_a is the adaption parameter of the intercept (or baseline) coeffi- - cient in the Holt-Winters forecasting algorithm. See rrdtool for a - description of this algorithm. _a_l_p_h_a must lie between 0 and 1. A value - closer to 1 means that more recent observations carry greater weight in - predicting the baseline component of the forecast. A value closer to 0 - means that past history carries greater weight in predicting the base- - line component. - - _b_e_t_a is the adaption parameter of the slope (or linear trend) coeffi- - cient in the Holt-Winters forecasting algorithm. _b_e_t_a must lie between - 0 and 1 and plays the same role as _a_l_p_h_a with respect to the predicted - linear trend. + _s_e_a_s_o_n_a_l _p_e_r_i_o_d specifies the number of primary data points in a + seasonal cycle. If SEASONAL and DEVSEASONAL are implicitly created, + this argument for those RRRRAAss is set automatically to the value + specified by HWPREDICT. If they are explicitly created, the creator + should verify that all three _s_e_a_s_o_n_a_l _p_e_r_i_o_d arguments agree. + + _a_l_p_h_a is the adaption parameter of the intercept (or baseline) + coefficient in the Holt-Winters forecasting algorithm. See rrdtool for + a description of this algorithm. _a_l_p_h_a must lie between 0 and 1. A + value closer to 1 means that more recent observations carry greater + weight in predicting the baseline component of the forecast. A value + closer to 0 means that past history carries greater weight in + predicting the baseline component. + + _b_e_t_a is the adaption parameter of the slope (or linear trend) + coefficient in the Holt-Winters forecasting algorithm. _b_e_t_a must lie + between 0 and 1 and plays the same role as _a_l_p_h_a with respect to the + predicted linear trend. _g_a_m_m_a is the adaption parameter of the seasonal coefficients in the - Holt-Winters forecasting algorithm (HWPREDICT) or the adaption parame- - ter in the exponential smoothing update of the seasonal deviations. It - must lie between 0 and 1. If the SEASONAL and DEVSEASONAL RRRRAAss are cre- - ated implicitly, they will both have the same value for _g_a_m_m_a: the - value specified for the HWPREDICT _a_l_p_h_a argument. Note that because - there is one seasonal coefficient (or deviation) for each time point - during the seasonal cycle, the adaptation rate is much slower than the - baseline. Each seasonal coefficient is only updated (or adapts) when - the observed value occurs at the offset in the seasonal cycle corre- - sponding to that coefficient. + Holt-Winters forecasting algorithm (HWPREDICT) or the adaption + parameter in the exponential smoothing update of the seasonal + deviations. It must lie between 0 and 1. If the SEASONAL and + DEVSEASONAL RRRRAAss are created implicitly, they will both have the same + value for _g_a_m_m_a: the value specified for the HWPREDICT _a_l_p_h_a argument. + Note that because there is one seasonal coefficient (or deviation) for + each time point during the seasonal cycle, the adaptation rate is much + slower than the baseline. Each seasonal coefficient is only updated (or + adapts) when the observed value occurs at the offset in the seasonal + cycle corresponding to that coefficient. If SEASONAL and DEVSEASONAL RRRRAAss are created explicitly, _g_a_m_m_a need not - be the same for both. Note that _g_a_m_m_a can also be changed via the RRRRDD-- - ttooooll _t_u_n_e command. + be the same for both. Note that _g_a_m_m_a can also be changed via the + RRRRDDttooooll _t_u_n_e command. _s_m_o_o_t_h_i_n_g_-_w_i_n_d_o_w specifies the fraction of a season that should be averaged around each point. By default, the value of _s_m_o_o_t_h_i_n_g_-_w_i_n_d_o_w @@ -305,24 +300,25 @@ AAbbeerrrraanntt BBeehhaavviioorr DDeetteeccttiioonn w nearest neighbors. Setting _s_m_o_o_t_h_i_n_g_-_w_i_n_d_o_w to zero will disable the running-average smoother altogether. - _r_r_a_-_n_u_m provides the links between related RRRRAAss. If HWPREDICT is speci- - fied alone and the other RRRRAAss are created implicitly, then there is no - need to worry about this argument. If RRRRAAss are created explicitly, then - carefully pay attention to this argument. For each RRRRAA which includes - this argument, there is a dependency between that RRRRAA and another RRRRAA. - The _r_r_a_-_n_u_m argument is the 1-based index in the order of RRRRAA creation - (that is, the order they appear in the _c_r_e_a_t_e command). The dependent - RRRRAA for each RRRRAA requiring the _r_r_a_-_n_u_m argument is listed here: + _r_r_a_-_n_u_m provides the links between related RRRRAAss. If HWPREDICT is + specified alone and the other RRRRAAss are created implicitly, then there + is no need to worry about this argument. If RRRRAAss are created + explicitly, then carefully pay attention to this argument. For each RRRRAA + which includes this argument, there is a dependency between that RRRRAA + and another RRRRAA. The _r_r_a_-_n_u_m argument is the 1-based index in the order + of RRRRAA creation (that is, the order they appear in the _c_r_e_a_t_e command). + The dependent RRRRAA for each RRRRAA requiring the _r_r_a_-_n_u_m argument is listed + here: - · HWPREDICT _r_r_a_-_n_u_m is the index of the SEASONAL RRRRAA. + · HWPREDICT _r_r_a_-_n_u_m is the index of the SEASONAL RRRRAA. - · SEASONAL _r_r_a_-_n_u_m is the index of the HWPREDICT RRRRAA. + · SEASONAL _r_r_a_-_n_u_m is the index of the HWPREDICT RRRRAA. - · DEVPREDICT _r_r_a_-_n_u_m is the index of the DEVSEASONAL RRRRAA. + · DEVPREDICT _r_r_a_-_n_u_m is the index of the DEVSEASONAL RRRRAA. - · DEVSEASONAL _r_r_a_-_n_u_m is the index of the HWPREDICT RRRRAA. + · DEVSEASONAL _r_r_a_-_n_u_m is the index of the HWPREDICT RRRRAA. - · FAILURES _r_r_a_-_n_u_m is the index of the DEVSEASONAL RRRRAA. + · FAILURES _r_r_a_-_n_u_m is the index of the DEVSEASONAL RRRRAA. _t_h_r_e_s_h_o_l_d is the minimum number of violations (observed values outside the confidence bounds) within a window that constitutes a failure. If @@ -330,9 +326,9 @@ AAbbeerrrraanntt BBeehhaavviioorr DDeetteeccttiioonn w _w_i_n_d_o_w _l_e_n_g_t_h is the number of time points in the window. Specify an integer greater than or equal to the threshold and less than or equal - to 28. The time interval this window represents depends on the inter- - val between primary data points. If the FAILURES RRRRAA is implicitly cre- - ated, the default value is 9. + to 28. The time interval this window represents depends on the + interval between primary data points. If the FAILURES RRRRAA is implicitly + created, the default value is 9. TThhee HHEEAARRTTBBEEAATT aanndd tthhee SSTTEEPP Here is an explanation by Don Baarda on the inner workings of RRDtool. @@ -343,13 +339,14 @@ TThhee HHEEAARRTTBBEEAATT aanndd tthhee SSTTEEPP builds Primary Data Points (PDPs) on every "step" interval. The PDPs are then accumulated into the RRAs. - The "heartbeat" defines the maximum acceptable interval between sam- - ples/updates. If the interval between samples is less than "heartbeat", - then an average rate is calculated and applied for that interval. If - the interval between samples is longer than "heartbeat", then that - entire interval is considered "unknown". Note that there are other - things that can make a sample interval "unknown", such as the rate - exceeding limits, or a sample that was explicitly marked as unknown. + The "heartbeat" defines the maximum acceptable interval between + samples/updates. If the interval between samples is less than + "heartbeat", then an average rate is calculated and applied for that + interval. If the interval between samples is longer than "heartbeat", + then that entire interval is considered "unknown". Note that there are + other things that can make a sample interval "unknown", such as the + rate exceeding limits, or a sample that was explicitly marked as + unknown. The known rates during a PDP's "step" interval are used to calculate an average rate for that PDP. If the total "unknown" time accounts for @@ -363,10 +360,10 @@ TThhee HHEEAARRTTBBEEAATT aanndd tthhee SSTTEEPP multiple samples per PDP, and if you don't get them mark the PDP unknown. A long heartbeat can span multiple "steps", which means it is acceptable to have multiple PDPs calculated from a single sample. An - extreme example of this might be a "step" of 5 minutes and a "heart- - beat" of one day, in which case a single sample every day will result - in all the PDPs for that entire day period being set to the same aver- - age rate. _-_- _D_o_n _B_a_a_r_d_a _<_d_o_n_._b_a_a_r_d_a_@_b_a_e_s_y_s_t_e_m_s_._c_o_m_> + extreme example of this might be a "step" of 5 minutes and a + "heartbeat" of one day, in which case a single sample every day will + result in all the PDPs for that entire day period being set to the same + average rate. _-_- _D_o_n _B_a_a_r_d_a _<_d_o_n_._b_a_a_r_d_a_@_b_a_e_s_y_s_t_e_m_s_._c_o_m_> time| axis| @@ -410,28 +407,28 @@ HHOOWW TTOO MMEEAASSUURREE Here are a few hints on how to measure: Temperature - Usually you have some type of meter you can read to get the temper- - ature. The temperature is not really connected with a time. The - only connection is that the temperature reading happened at a cer- - tain time. You can use the GGAAUUGGEE data source type for this. RRDtool - will then record your reading together with the time. + Usually you have some type of meter you can read to get the + temperature. The temperature is not really connected with a time. + The only connection is that the temperature reading happened at a + certain time. You can use the GGAAUUGGEE data source type for this. + RRDtool will then record your reading together with the time. Mail Messages - Assume you have a method to count the number of messages trans- - ported by your mailserver in a certain amount of time, giving you - data like '5 messages in the last 65 seconds'. If you look at the - count of 5 like an AABBSSOOLLUUTTEE data type you can simply update the RRD - with the number 5 and the end time of your monitoring period. RRD- - tool will then record the number of messages per second. If at some - later stage you want to know the number of messages transported in - a day, you can get the average messages per second from RRDtool for - the day in question and multiply this number with the number of - seconds in a day. Because all math is run with Doubles, the preci- - sion should be acceptable. + Assume you have a method to count the number of messages + transported by your mailserver in a certain amount of time, giving + you data like '5 messages in the last 65 seconds'. If you look at + the count of 5 like an AABBSSOOLLUUTTEE data type you can simply update the + RRD with the number 5 and the end time of your monitoring period. + RRDtool will then record the number of messages per second. If at + some later stage you want to know the number of messages + transported in a day, you can get the average messages per second + from RRDtool for the day in question and multiply this number with + the number of seconds in a day. Because all math is run with + Doubles, the precision should be acceptable. It's always a Rate - RRDtool stores rates in amount/second for COUNTER, DERIVE and ABSO- - LUTE data. When you plot the data, you will get on the y axis + RRDtool stores rates in amount/second for COUNTER, DERIVE and + ABSOLUTE data. When you plot the data, you will get on the y axis amount/second which you might be tempted to convert to an absolute amount by multiplying by the delta-time between the points. RRDtool plots continuous data, and as such is not appropriate for plotting @@ -451,17 +448,17 @@ EEXXAAMMPPLLEE RRA:MAX:0.5:12:2400 \ RRA:AVERAGE:0.5:12:2400 - This sets up an RRRRDD called _t_e_m_p_e_r_a_t_u_r_e_._r_r_d which accepts one tempera- - ture value every 300 seconds. If no new data is supplied for more than - 600 seconds, the temperature becomes _*_U_N_K_N_O_W_N_*. The minimum acceptable - value is -273 and the maximum is 5'000. + This sets up an RRRRDD called _t_e_m_p_e_r_a_t_u_r_e_._r_r_d which accepts one + temperature value every 300 seconds. If no new data is supplied for + more than 600 seconds, the temperature becomes _*_U_N_K_N_O_W_N_*. The minimum + acceptable value is -273 and the maximum is 5'000. A few archive areas are also defined. The first stores the temperatures supplied for 100 hours (1'200 * 300 seconds = 100 hours). The second RRA stores the minimum temperature recorded over every hour (12 * 300 seconds = 1 hour), for 100 days (2'400 hours). The third and the fourth - RRA's do the same for the maximum and average temperature, respec- - tively. + RRA's do the same for the maximum and average temperature, + respectively. EEXXAAMMPPLLEE 22 rrdtool create monitor.rrd --step 300 \ @@ -475,18 +472,18 @@ EEXXAAMMPPLLEE 22 argument of HWPREDICT is missing, so the other RRRRAAss will implicitly be created with default parameter values. In this example, the forecasting algorithm baseline adapts quickly; in fact the most recent one hour of - observations (each at 5 minute intervals) accounts for 75% of the base- - line prediction. The linear trend forecast adapts much more slowly. + observations (each at 5 minute intervals) accounts for 75% of the + baseline prediction. The linear trend forecast adapts much more slowly. Observations made during the last day (at 288 observations per day) - account for only 65% of the predicted linear trend. Note: these compu- - tations rely on an exponential smoothing formula described in the LISA - 2000 paper. + account for only 65% of the predicted linear trend. Note: these + computations rely on an exponential smoothing formula described in the + LISA 2000 paper. - The seasonal cycle is one day (288 data points at 300 second inter- - vals), and the seasonal adaption parameter will be set to 0.1. The RRD - file will store 5 days (1'440 data points) of forecasts and deviation - predictions before wrap around. The file will store 1 day (a seasonal - cycle) of 0-1 indicators in the FAILURES RRRRAA. + The seasonal cycle is one day (288 data points at 300 second + intervals), and the seasonal adaption parameter will be set to 0.1. The + RRD file will store 5 days (1'440 data points) of forecasts and + deviation predictions before wrap around. The file will store 1 day (a + seasonal cycle) of 0-1 indicators in the FAILURES RRRRAA. The same RRD file and RRRRAAss are created with the following command, which explicitly creates all specialized function RRRRAAss. @@ -500,8 +497,8 @@ EEXXAAMMPPLLEE 22 RRA:DEVSEASONAL:288:0.1:2 \ RRA:FAILURES:288:7:9:5 - Of course, explicit creation need not replicate implicit create, a num- - ber of arguments could be changed. + Of course, explicit creation need not replicate implicit create, a + number of arguments could be changed. EEXXAAMMPPLLEE 33 rrdtool create proxy.rrd --step 300 \ @@ -520,14 +517,15 @@ EEXXAAMMPPLLEE 33 In the RRRRDD, the first data source stores the requests per second rate during the interval. The second data source stores the total duration - of all requests processed during the interval divided by 300. The COM- - PUTE data source divides each PDP of the AccumDuration by the corre- - sponding PDP of TotalRequests and stores the average request duration. - The remainder of the RPN expression handles the divide by zero case. + of all requests processed during the interval divided by 300. The + COMPUTE data source divides each PDP of the AccumDuration by the + corresponding PDP of TotalRequests and stores the average request + duration. The remainder of the RPN expression handles the divide by + zero case. AAUUTTHHOORR Tobias Oetiker -1.3.99909060808 2008-06-11 RRDCREATE(1) +1.3.999 2009-04-19 RRDCREATE(1) diff --git a/doc/rrddump.1 b/doc/rrddump.1 index b1d5fe4..2d89cf8 100644 --- a/doc/rrddump.1 +++ b/doc/rrddump.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDDUMP 1" -.TH RRDDUMP 1 "2008-12-10" "1.3.99909060808" "rrdtool" +.TH RRDDUMP 1 "2009-06-09" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrddump \- dump the contents of an RRD to XML format .SH "SYNOPSIS" diff --git a/doc/rrddump.html b/doc/rrddump.html index 1081807..036780e 100644 --- a/doc/rrddump.html +++ b/doc/rrddump.html @@ -1,14 +1,18 @@ + rrddump + -

    + +
    +

    + + +

    @@ -47,66 +55,59 @@ files from one computer architecture to another as well to manipulate the contents of an RRD file in a somewhat more convenient manner.

    -
    filename.rrd
    -
    -
    -The name of the RRD you want to dump. -
    -

    -
    filename.xml
    -
    +
    filename.rrd
    +
    -The (optional) filename that you want to write the XML output to. -If not specified, the XML will be printed to stdout. +

    The name of the RRD you want to dump.

    -

    -
    --header|-h {none,xsd,dtd}
    -
    +
    filename.xml
    +
    -By default rrdtool will add a dtd header to the xml file. Here -you can customize this to and xsd header or no header at all. +

    The (optional) filename that you want to write the XML output to. +If not specified, the XML will be printed to stdout.

    -

    -
    --no-header
    -
    +
    --header|-h {none,xsd,dtd}
    +
    -A shortcut for --header=none. +

    By default rrdtool will add a dtd header to the xml file. Here +you can customize this to and xsd header or no header at all.

    +
    --no-header
    +
    +

    A shortcut for --header=none.

    If you want to restore the dump with rrdtool 1.2 you should use the --no-header option since 1.2 can not deal with xml headers.

    -

    -
    --daemon address
    -
    +
    --daemon address
    +
    -Address of the the rrdcached manpage daemon. If specified, a flush command is sent +

    Address of the the rrdcached manpage daemon. If specified, a flush command is sent to the server before reading the RRD files. This allows rrdtool to return fresh data even if the daemon is configured to cache values for a long time. -For a list of accepted formats, see the -l option in the the rrdcached manpage manual. -

    -
    +For a list of accepted formats, see the -l option in the the rrdcached manpage manual.

      rrdtool dump --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd
    -

    +


    EXAMPLES

    To transfer an RRD between architectures, follow these steps:

      -
    1. -On the same system where the RRD was created, use rrdtool dump -to export the data to XML format. -

      -
    2. -Transfer the XML dump to the target system. -

      -
    3. -Run rrdtool restore to create a new RRD from the XML dump. See -rrdrestore for details. -

    +
  • +

    On the same system where the RRD was created, use rrdtool dump +to export the data to XML format.

    +
  • +
  • +

    Transfer the XML dump to the target system.

    +
  • +
  • +

    Run rrdtool restore to create a new RRD from the XML dump. See +rrdrestore for details.

    +
  • +


    @@ -114,14 +115,14 @@ Run rrdtool restore to create a new RRD from t

    The following environment variables may be used to change the behavior of rrdtooldump:

    -
    RRDCACHED_ADDRESS
    -
    +
    RRDCACHED_ADDRESS
    +
    -If this environment variable is set it will have the same effect as specifying +

    If this environment variable is set it will have the same effect as specifying the --daemon option on the command line. If both are present, the command -line argument takes precedence. +line argument takes precedence.

    -

    +


    diff --git a/doc/rrddump.txt b/doc/rrddump.txt index 1fe1735..143e655 100644 --- a/doc/rrddump.txt +++ b/doc/rrddump.txt @@ -34,10 +34,10 @@ DDEESSCCRRIIPPTTIIOONN the --no-header option since 1.2 can not deal with xml headers. ----ddaaeemmoonn _a_d_d_r_e_s_s - Address of the rrdcached daemon. If specified, a "flush" com- - mand is sent to the server before reading the RRD files. This - allows rrrrddttooooll to return fresh data even if the daemon is con- - figured to cache values for a long time. For a list of + Address of the rrdcached daemon. If specified, a "flush" + command is sent to the server before reading the RRD files. + This allows rrrrddttooooll to return fresh data even if the daemon is + configured to cache values for a long time. For a list of accepted formats, see the --ll option in the rrdcached manual. rrdtool dump --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd @@ -67,4 +67,4 @@ AAUUTTHHOORR -1.3.99909060808 2008-12-10 RRDDUMP(1) +1.3.999 2009-06-09 RRDDUMP(1) diff --git a/doc/rrdfetch.1 b/doc/rrdfetch.1 index 96e21af..c555c13 100644 --- a/doc/rrdfetch.1 +++ b/doc/rrdfetch.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDFETCH 1" -.TH RRDFETCH 1 "2008-09-25" "1.3.99909060808" "rrdtool" +.TH RRDFETCH 1 "2009-06-09" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdfetch \- Fetch data from an RRD. .SH "SYNOPSIS" @@ -180,7 +179,7 @@ For a list of accepted formats, see the \fB\-l\fR option in the rrdcached manual .Vb 1 \& rrdtool fetch \-\-daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd AVERAGE .Ve -.Sh "\s-1RESOLUTION\s0 \s-1INTERVAL\s0" +.SS "\s-1RESOLUTION\s0 \s-1INTERVAL\s0" .IX Subsection "RESOLUTION INTERVAL" In order to get RRDtool to fetch anything other than the finest resolution \s-1RRA\s0 \&\fBboth\fR the start and end time must be specified on boundaries that are @@ -238,19 +237,19 @@ Using the bash shell, this could look be: Or in Perl: .PP .Vb 3 -\& perl \-e '$ctime = time; $rrdres = 900; \e +\& perl \-e \*(Aq$ctime = time; $rrdres = 900; \e \& system "rrdtool fetch subdata.rrd AVERAGE \e -\& \-r $rrdres \-e @{[int($ctime/$rrdres)*$rrdres]} \-s e\-1h"' +\& \-r $rrdres \-e @{[int($ctime/$rrdres)*$rrdres]} \-s e\-1h"\*(Aq .Ve -.Sh "AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0" +.SS "AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0" .IX Subsection "AT-STYLE TIME SPECIFICATION" Apart from the traditional \fISeconds since epoch\fR, RRDtool does also understand at-style time specification. The specification is called -\&\*(L"at\-style\*(R" after the Unix command \fIat\fR\|(1) that has moderately complex +\&\*(L"at-style\*(R" after the Unix command \fIat\fR\|(1) that has moderately complex ways to specify time to run your job at a certain date and time. The at-style specification consists of two parts: the \fB\s-1TIME\s0 \s-1REFERENCE\s0\fR specification and the \fB\s-1TIME\s0 \s-1OFFSET\s0\fR specification. -.Sh "\s-1TIME\s0 \s-1REFERENCE\s0 \s-1SPECIFICATION\s0" +.SS "\s-1TIME\s0 \s-1REFERENCE\s0 \s-1SPECIFICATION\s0" .IX Subsection "TIME REFERENCE SPECIFICATION" The time reference specification is used, well, to establish a reference moment in time (to which the time offset is then applied to). When present, @@ -286,7 +285,7 @@ categories (\fBrrdfetch\fR, rrdgraph). Month and day of the week names can be used in their naturally abbreviated form (e.g., Dec for December, Sun for Sunday, etc.). The words \fBnow\fR, \fBstart\fR, \fBend\fR can be abbreviated as \fBn\fR, \fBs\fR, \fBe\fR. -.Sh "\s-1TIME\s0 \s-1OFFSET\s0 \s-1SPECIFICATION\s0" +.SS "\s-1TIME\s0 \s-1OFFSET\s0 \s-1SPECIFICATION\s0" .IX Subsection "TIME OFFSET SPECIFICATION" The time offset specification is used to add/subtract certain time intervals to/from the time reference moment. It consists of a \fIsign\fR @@ -326,29 +325,27 @@ equals 47 hours; on the other hand, '8:00\ Mar\ 27\ 1999\ +48\ hours' = \&\fI\s-1NOTE4\s0\fR: The single-letter abbreviation for both \fBmonths\fR and \fBminutes\fR is \fBm\fR. To disambiguate them, the parser tries to read your mind\ :) by applying the following two heuristics: -.IP "1" 3 -.IX Item "1" +.IP "1." 3 If \fBm\fR is used in context of (i.e. right after the) years, months, weeks, or days it is assumed to mean \fBmonths\fR, while in the context of hours, minutes, and seconds it means minutes. (e.g., in \-1y6m or +3w1m \fBm\fR is interpreted as \fBmonths\fR, while in \&\-3h20m or +5s2m \fBm\fR the parser decides for \fBminutes\fR). -.IP "2" 3 -.IX Item "2" +.IP "2." 3 Out of context (i.e. right after the \fB+\fR or \fB\-\fR sign) the meaning of \fBm\fR is guessed from the number it directly follows. Currently, if the number's absolute value is below 25 it is assumed that \fBm\fR means \fBmonths\fR, otherwise it is treated as \fBminutes\fR. (e.g., \-25m == \-25 minutes, while +24m == +24 months) .PP -\&\fIFinal \s-1NOTES\s0\fR: Time specification is case\-insensitive. +\&\fIFinal \s-1NOTES\s0\fR: Time specification is case-insensitive. Whitespace can be inserted freely or omitted altogether. There are, however, cases when whitespace is required (e.g., 'midnight\ Thu'). In this case you should either quote the whole phrase to prevent it from being taken apart by your shell or use \&'_' (underscore) or ',' (comma) which also count as whitespace (e.g., midnight_Thu or midnight,Thu). -.Sh "\s-1TIME\s0 \s-1SPECIFICATION\s0 \s-1EXAMPLES\s0" +.SS "\s-1TIME\s0 \s-1SPECIFICATION\s0 \s-1EXAMPLES\s0" .IX Subsection "TIME SPECIFICATION EXAMPLES" \&\fIOct 12\fR \*(-- October 12 this year .PP diff --git a/doc/rrdfetch.html b/doc/rrdfetch.html index c8b21d3..97e72da 100644 --- a/doc/rrdfetch.html +++ b/doc/rrdfetch.html @@ -1,14 +1,18 @@ + rrdfetch + -

    + +
    +

    + + +

    @@ -52,60 +60,53 @@ function to get data from RRDs. fetch will analyze the RRD and try to retrieve the data in the resolution requested. The data fetched is printed to stdout. *UNKNOWN* data is often -represented by the string ``NaN'' depending on your OS's printf +represented by the string "NaN" depending on your OS's printf function.

    -
    filename
    -
    +
    filename
    +
    -the name of the RRD you want to fetch the data from. +

    the name of the RRD you want to fetch the data from.

    -

    -
    CF
    -
    +
    CF
    +
    -the consolidation function that is applied to the data you -want to fetch (AVERAGE,MIN,MAX,LAST) +

    the consolidation function that is applied to the data you +want to fetch (AVERAGE,MIN,MAX,LAST)

    -

    -
    --resolution|-r resolution (default is the highest resolution)
    -
    +
    --resolution|-r resolution (default is the highest resolution)
    +
    -the interval you want the values to have (seconds per +

    the interval you want the values to have (seconds per value). rrdfetch will try to match your request, but it will return -data even if no absolute match is possible. NB. See note below. +data even if no absolute match is possible. NB. See note below.

    -

    -
    --start|-s start (default end-1day)
    -
    +
    --start|-s start (default end-1day)
    +
    -start of the time series. A time in seconds since epoch (1970-01-01) +

    start of the time series. A time in seconds since epoch (1970-01-01) is required. Negative numbers are relative to the current time. By default, one day worth of data will be fetched. See also AT-STYLE TIME SPECIFICATION -section for a detailed explanation on ways to specify the start time. +section for a detailed explanation on ways to specify the start time.

    -

    -
    --end|-e end (default now)
    -
    +
    --end|-e end (default now)
    +
    -the end of the time series in seconds since epoch. See also AT-STYLE +

    the end of the time series in seconds since epoch. See also AT-STYLE TIME SPECIFICATION section for a detailed explanation of how to -specify the end time. +specify the end time.

    -

    -
    --daemon address
    -
    +
    --daemon address
    +
    -Address of the the rrdcached manpage daemon. If specified, a flush command is sent +

    Address of the the rrdcached manpage daemon. If specified, a flush command is sent to the server before reading the RRD files. This allows rrdtool to return fresh data even if the daemon is configured to cache values for a long time. -For a list of accepted formats, see the -l option in the the rrdcached manpage manual. -

    -
    +For a list of accepted formats, see the -l option in the the rrdcached manpage manual.

      rrdtool fetch --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd AVERAGE
    -

    +

    RESOLUTION INTERVAL

    @@ -133,13 +134,14 @@ i.e. 5 minute averages, will be chosen which in this case is not what you want.

    Hence, make sure that

      -
    1. -both start and end time are a multiple of 900 -

      -
    2. -both start and end time are within the desired RRA -

    -

    So, if time now is called ``t'', do

    +
  • +

    both start and end time are a multiple of 900

    +
  • +
  • +

    both start and end time are within the desired RRA

    +
  • + +

    So, if time now is called "t", do

      end time == int(t/900)*900,
      start time == end time - 1hour,
    @@ -157,10 +159,10 @@ both start and end time are within the desired RRA
                       -r $rrdres -e @{[int($ctime/$rrdres)*$rrdres]} -s e-1h"'

    -

    AT-STYLE TIME SPECIFICATION

    +

    AT-STYLE TIME SPECIFICATION

    Apart from the traditional Seconds since epoch, RRDtool does also understand at-style time specification. The specification is called -``at-style'' after the Unix command at(1) that has moderately complex +"at-style" after the Unix command at(1) that has moderately complex ways to specify time to run your job at a certain date and time. The at-style specification consists of two parts: the TIME REFERENCE specification and the TIME OFFSET specification.

    @@ -235,20 +237,21 @@ equals 47 hours; on the other hand, '8:00 Mar 27 1999 +48&nb is m. To disambiguate them, the parser tries to read your mind :) by applying the following two heuristics:

      -
    1. -If m is used in context of (i.e. right after the) years, +
    2. +

      If m is used in context of (i.e. right after the) years, months, weeks, or days it is assumed to mean months, while in the context of hours, minutes, and seconds it means minutes. (e.g., in -1y6m or +3w1m m is interpreted as months, while in --3h20m or +5s2m m the parser decides for minutes). -

      -
    3. -Out of context (i.e. right after the + or - sign) the +-3h20m or +5s2m m the parser decides for minutes).

      + +
    4. +

      Out of context (i.e. right after the + or - sign) the meaning of m is guessed from the number it directly follows. Currently, if the number's absolute value is below 25 it is assumed that m means months, otherwise it is treated as minutes. -(e.g., -25m == -25 minutes, while +24m == +24 months) -

    +(e.g., -25m == -25 minutes, while +24m == +24 months)

    + +

    Final NOTES: Time specification is case-insensitive. Whitespace can be inserted freely or omitted altogether. There are, however, cases when whitespace is required @@ -282,14 +285,14 @@ as 9am-1day.

    The following environment variables may be used to change the behavior of rrdtoolfetch:

    -
    RRDCACHED_ADDRESS
    -
    +
    RRDCACHED_ADDRESS
    +
    -If this environment variable is set it will have the same effect as specifying +

    If this environment variable is set it will have the same effect as specifying the --daemon option on the command line. If both are present, the command -line argument takes precedence. +line argument takes precedence.

    -

    +


    diff --git a/doc/rrdfetch.txt b/doc/rrdfetch.txt index 8717403..b6f3f2c 100644 --- a/doc/rrdfetch.txt +++ b/doc/rrdfetch.txt @@ -12,9 +12,9 @@ SSYYNNOOPPSSIISS DDEESSCCRRIIPPTTIIOONN The ffeettcchh function is normally used internally by the graph function to get data from RRRRDDs. ffeettcchh will analyze the RRRRDD and try to retrieve the - data in the resolution requested. The data fetched is printed to std- - out. _*_U_N_K_N_O_W_N_* data is often represented by the string "NaN" depending - on your OS's printf function. + data in the resolution requested. The data fetched is printed to + stdout. _*_U_N_K_N_O_W_N_* data is often represented by the string "NaN" + depending on your OS's printf function. _f_i_l_e_n_a_m_e the name of the RRRRDD you want to fetch the data from. @@ -40,20 +40,19 @@ DDEESSCCRRIIPPTTIIOONN how to specify the end time. ----ddaaeemmoonn _a_d_d_r_e_s_s - Address of the rrdcached daemon. If specified, a "flush" com- - mand is sent to the server before reading the RRD files. This - allows rrrrddttooooll to return fresh data even if the daemon is con- - figured to cache values for a long time. For a list of + Address of the rrdcached daemon. If specified, a "flush" + command is sent to the server before reading the RRD files. + This allows rrrrddttooooll to return fresh data even if the daemon is + configured to cache values for a long time. For a list of accepted formats, see the --ll option in the rrdcached manual. rrdtool fetch --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd AVERAGE - RREESSOOLLUUTTIIOONN IINNTTEERRVVAALL - - In order to get RRDtool to fetch anything other than the finest resolu- - tion RRA bbootthh the start and end time must be specified on boundaries - that are multiples of the desired resolution. Consider the following - example: + RREESSOOLLUUTTIIOONN IINNTTEERRVVAALL + In order to get RRDtool to fetch anything other than the finest + resolution RRA bbootthh the start and end time must be specified on + boundaries that are multiples of the desired resolution. Consider the + following example: rrdtool create subdata.rrd -s 10 DS:ds0:GAUGE:300:0:U \ RRA:AVERAGE:0.5:30:3600 \ @@ -101,22 +100,20 @@ DDEESSCCRRIIPPTTIIOONN system "rrdtool fetch subdata.rrd AVERAGE \ -r $rrdres -e @{[int($ctime/$rrdres)*$rrdres]} -s e-1h"' - AATT--SSTTYYLLEE TTIIMMEE SSPPEECCIIFFIICCAATTIIOONN - + AATT--SSTTYYLLEE TTIIMMEE SSPPEECCIIFFIICCAATTIIOONN Apart from the traditional _S_e_c_o_n_d_s _s_i_n_c_e _e_p_o_c_h, RRDtool does also understand at-style time specification. The specification is called "at-style" after the Unix command _a_t(1) that has moderately complex ways to specify time to run your job at a certain date and time. The - at-style specification consists of two parts: the TTIIMMEE RREEFFEERREENNCCEE speci- - fication and the TTIIMMEE OOFFFFSSEETT specification. - - TTIIMMEE RREEFFEERREENNCCEE SSPPEECCIIFFIICCAATTIIOONN + at-style specification consists of two parts: the TTIIMMEE RREEFFEERREENNCCEE + specification and the TTIIMMEE OOFFFFSSEETT specification. - The time reference specification is used, well, to establish a refer- - ence moment in time (to which the time offset is then applied to). When - present, it should come first, when omitted, it defaults to nnooww. On its - own part, time reference consists of a _t_i_m_e_-_o_f_-_d_a_y reference (which - should come first, if present) and a _d_a_y reference. + TTIIMMEE RREEFFEERREENNCCEE SSPPEECCIIFFIICCAATTIIOONN + The time reference specification is used, well, to establish a + reference moment in time (to which the time offset is then applied to). + When present, it should come first, when omitted, it defaults to nnooww. + On its own part, time reference consists of a _t_i_m_e_-_o_f_-_d_a_y reference + (which should come first, if present) and a _d_a_y reference. The _t_i_m_e_-_o_f_-_d_a_y can be specified as HHHH::MMMM, HHHH..MMMM, or just HHHH. You can suffix it with aamm or ppmm or use 24-hours clock. Some special times of @@ -135,18 +132,17 @@ DDEESSCCRRIIPPTTIIOONN _N_O_T_E_2: if you specify the _d_a_y in this way, the _t_i_m_e_-_o_f_-_d_a_y is REQUIRED as well. - Finally, you can use the words nnooww, ssttaarrtt, or eenndd as your time refer- - ence. NNooww refers to the current moment (and is also the default time - reference). SSttaarrtt (eenndd) can be used to specify a time relative to the - start (end) time for those tools that use these categories (rrrrddffeettcchh, - rrdgraph). + Finally, you can use the words nnooww, ssttaarrtt, or eenndd as your time + reference. NNooww refers to the current moment (and is also the default + time reference). SSttaarrtt (eenndd) can be used to specify a time relative to + the start (end) time for those tools that use these categories + (rrrrddffeettcchh, rrdgraph). - Month and day of the week names can be used in their naturally abbrevi- - ated form (e.g., Dec for December, Sun for Sunday, etc.). The words - nnooww, ssttaarrtt, eenndd can be abbreviated as nn, ss, ee. - - TTIIMMEE OOFFFFSSEETT SSPPEECCIIFFIICCAATTIIOONN + Month and day of the week names can be used in their naturally + abbreviated form (e.g., Dec for December, Sun for Sunday, etc.). The + words nnooww, ssttaarrtt, eenndd can be abbreviated as nn, ss, ee. + TTIIMMEE OOFFFFSSEETT SSPPEECCIIFFIICCAATTIIOONN The time offset specification is used to add/subtract certain time intervals to/from the time reference moment. It consists of a _s_i_g_n (++ or --) and an _a_m_o_u_n_t. The following time units can be used to specify @@ -157,10 +153,10 @@ DDEESSCCRRIIPPTTIIOONN = -5h-45min = -6h+15min = -7h+1h30m-15min, etc.) _N_O_T_E_3: If you specify time offset in days, weeks, months, or years, you - will end with the time offset that may vary depending on your time ref- - erence, because all those time units have no single well defined time - interval value (1 year contains either 365 or 366 days, 1 month is 28 - to 31 days long, and even 1 day may be not equal to 24 hours twice a + will end with the time offset that may vary depending on your time + reference, because all those time units have no single well defined + time interval value (1 year contains either 365 or 366 days, 1 month is + 28 to 31 days long, and even 1 day may be not equal to 24 hours twice a year, when DST-related clock adjustments take place). To cope with this, when you use days, weeks, months, or years as your time offset units your time reference date is adjusted accordingly without too much @@ -172,30 +168,30 @@ DDEESSCCRRIIPPTTIIOONN invalid time/date combination (because of 3am -> 4am DST forward clock adjustment, see the below example). - In contrast, hours, minutes, and seconds are well defined time inter- - vals, and these are guaranteed to always produce time offsets exactly - as specified (e.g. for EET timezone, '8:00 Mar 27 1999 +2 days' = - '8:00 Mar 29 1999', but since there is 1-hour DST forward clock adjust- - ment that occurs around 3:00 Mar 28 1999, the actual time interval - between 8:00 Mar 27 1999 and 8:00 Mar 29 1999 equals 47 hours; on the - other hand, '8:00 Mar 27 1999 +48 hours' = '9:00 Mar 29 1999', as - expected) + In contrast, hours, minutes, and seconds are well defined time + intervals, and these are guaranteed to always produce time offsets + exactly as specified (e.g. for EET timezone, '8:00 Mar 27 1999 +2 days' + = '8:00 Mar 29 1999', but since there is 1-hour DST forward clock + adjustment that occurs around 3:00 Mar 28 1999, the actual time + interval between 8:00 Mar 27 1999 and 8:00 Mar 29 1999 equals 47 hours; + on the other hand, '8:00 Mar 27 1999 +48 hours' = '9:00 Mar 29 1999', + as expected) _N_O_T_E_4: The single-letter abbreviation for both mmoonntthhss and mmiinnuutteess is mm. To disambiguate them, the parser tries to read your mind :) by applying the following two heuristics: - 1 If mm is used in context of (i.e. right after the) years, months, + 1. If mm is used in context of (i.e. right after the) years, months, weeks, or days it is assumed to mean mmoonntthhss, while in the context of hours, minutes, and seconds it means minutes. (e.g., in -1y6m or +3w1m mm is interpreted as mmoonntthhss, while in -3h20m or +5s2m mm the parser decides for mmiinnuutteess). - 2 Out of context (i.e. right after the ++ or -- sign) the meaning of mm + 2. Out of context (i.e. right after the ++ or -- sign) the meaning of mm is guessed from the number it directly follows. Currently, if the number's absolute value is below 25 it is assumed that mm means - mmoonntthhss, otherwise it is treated as mmiinnuutteess. (e.g., -25m == -25 min- - utes, while +24m == +24 months) + mmoonntthhss, otherwise it is treated as mmiinnuutteess. (e.g., -25m == -25 + minutes, while +24m == +24 months) _F_i_n_a_l _N_O_T_E_S: Time specification is case-insensitive. Whitespace can be inserted freely or omitted altogether. There are, however, cases when @@ -204,8 +200,7 @@ DDEESSCCRRIIPPTTIIOONN your shell or use '_' (underscore) or ',' (comma) which also count as whitespace (e.g., midnight_Thu or midnight,Thu). - TTIIMMEE SSPPEECCIIFFIICCAATTIIOONN EEXXAAMMPPLLEESS - + TTIIMMEE SSPPEECCIIFFIICCAATTIIOONN EEXXAAMMPPLLEESS _O_c_t _1_2 -- October 12 this year _-_1_m_o_n_t_h or _-_1_m -- current time of day, only a month before (may yield @@ -246,4 +241,4 @@ AAUUTTHHOORR -1.3.99909060808 2008-09-25 RRDFETCH(1) +1.3.999 2009-06-09 RRDFETCH(1) diff --git a/doc/rrdfirst.1 b/doc/rrdfirst.1 index 3d3cb9d..62c0131 100644 --- a/doc/rrdfirst.1 +++ b/doc/rrdfirst.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDFIRST 1" -.TH RRDFIRST 1 "2008-03-15" "1.3.99909060808" "rrdtool" +.TH RRDFIRST 1 "2009-04-19" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdfirst \- Return the date of the first data sample in an RRA within an RRD .SH "SYNOPSIS" diff --git a/doc/rrdfirst.html b/doc/rrdfirst.html index 94a68d4..ea7f43d 100644 --- a/doc/rrdfirst.html +++ b/doc/rrdfirst.html @@ -1,14 +1,18 @@ + rrdfirst + -

    + +
    +

    + + +

    @@ -37,20 +45,19 @@

    The first function returns the UNIX timestamp of the first data sample entered into the specified RRA of the RRD file.

    -
    filename
    -
    +
    filename
    +
    -The name of the RRD that contains the data. +

    The name of the RRD that contains the data.

    -

    -
    --rraindex number
    -
    +
    --rraindex number
    +
    -The index number of the RRA that is to be examined. If not specified, the +

    The index number of the RRA that is to be examined. If not specified, the index defaults to zero. RRA index numbers can be determined through -rrdtool info. +rrdtool info.

    -

    +


    diff --git a/doc/rrdfirst.txt b/doc/rrdfirst.txt index 7d66901..3cd9922 100644 --- a/doc/rrdfirst.txt +++ b/doc/rrdfirst.txt @@ -26,4 +26,4 @@ AAUUTTHHOORR -1.3.99909060808 2008-03-15 RRDFIRST(1) +1.3.999 2009-04-19 RRDFIRST(1) diff --git a/doc/rrdflushcached.1 b/doc/rrdflushcached.1 index 8a066de..b14b9b7 100644 --- a/doc/rrdflushcached.1 +++ b/doc/rrdflushcached.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDFLUSHCACHED 1" -.TH RRDFLUSHCACHED 1 "2009-05-26" "1.3.99909060808" "rrdtool" +.TH RRDFLUSHCACHED 1 "2009-06-09" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdflush \- Flush the values for a spcific RRD file from memory. .SH "SYNOPSIS" diff --git a/doc/rrdflushcached.html b/doc/rrdflushcached.html index ba633d8..b14525e 100644 --- a/doc/rrdflushcached.html +++ b/doc/rrdflushcached.html @@ -1,14 +1,18 @@ + rrdflushcached + -

    + +
    +

    + + +

    @@ -38,30 +46,27 @@


    DESCRIPTION

    The flushcached function connects to the rrdcached manpage, the RRD caching daemon, -and issues a ``flush'' command for the given files. The daemon will put the -files to the head of the update queue so they are written ``soon''. The +and issues a "flush" command for the given files. The daemon will put the +files to the head of the update queue so they are written "soon". The status will be returned only after the files' pending updates have been written to disk.

    -
    filename
    -
    +
    filename
    +
    -The name(s) of the RRD file(s) that are to be written to disk. +

    The name(s) of the RRD file(s) that are to be written to disk.

    -

    -
    --daemon address
    -
    +
    --daemon address
    +
    -Address of the the rrdcached manpage daemon. If not specified, the +

    Address of the the rrdcached manpage daemon. If not specified, the RRDCACHED_ADDRESS environment variable must be set (see below). For a list of accepted formats, see the -l option in the the rrdcached manpage -manual. -

    -
    +manual.

      rrdtool flush --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd
    -

    +


    @@ -69,14 +74,14 @@ manual.

    The following environment variables may be used to change the behavior of rrdtoolflushcached:

    -
    RRDCACHED_ADDRESS
    -
    +
    RRDCACHED_ADDRESS
    +
    -If this environment variable is set it will have the same effect as specifying +

    If this environment variable is set it will have the same effect as specifying the --daemon option on the command line. If both are present, the command -line argument takes precedence. +line argument takes precedence.

    -

    +


    diff --git a/doc/rrdflushcached.txt b/doc/rrdflushcached.txt index ef7be78..d4b6786 100644 --- a/doc/rrdflushcached.txt +++ b/doc/rrdflushcached.txt @@ -19,10 +19,10 @@ DDEESSCCRRIIPPTTIIOONN The name(s) of the RRRRDD file(s) that are to be written to disk. ----ddaaeemmoonn _a_d_d_r_e_s_s - Address of the rrdcached daemon. If not specified, the RRD- - CACHED_ADDRESS environment variable must be set (see below). - For a list of accepted formats, see the --ll option in the rrd- - cached manual. + Address of the rrdcached daemon. If not specified, the + RRDCACHED_ADDRESS environment variable must be set (see below). + For a list of accepted formats, see the --ll option in the + rrdcached manual. rrdtool flush --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd @@ -40,4 +40,4 @@ AAUUTTHHOORR -1.3.99909060808 2009-05-26 RRDFLUSHCACHED(1) +1.3.999 2009-06-09 RRDFLUSHCACHED(1) diff --git a/doc/rrdgraph.1 b/doc/rrdgraph.1 index e3f81d4..5a9451a 100644 --- a/doc/rrdgraph.1 +++ b/doc/rrdgraph.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "RRDGRAPH 1" -.TH RRDGRAPH 1 "2009-05-21" "1.3.99909060808" "rrdtool" +.TH RRDGRAPH 1 "2009-09-24" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdgraph \- Round Robin Database tool grapher functions .SH "SYNOPSIS" @@ -168,7 +167,8 @@ well become unknown! .PP 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 +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. .PP @@ -180,14 +180,14 @@ graph geometry and data once it is drawn. See the bottom of the document for more information. .SH "OPTIONS" .IX Header "OPTIONS" -.Sh "\fIfilename\fP" +.SS "\fIfilename\fP" .IX Subsection "filename" The name and path of the graph to generate. It is recommended to end this in \f(CW\*(C`.png\*(C'\fR, \f(CW\*(C`.svg\*(C'\fR or \f(CW\*(C`.eps\*(C'\fR, but \fBRRDtool\fR does not enforce this. .PP \&\fIfilename\fR can be '\f(CW\*(C`\-\*(C'\fR' to send the image to \f(CW\*(C`stdout\*(C'\fR. In this case, no other output is generated. -.Sh "Time range" +.SS "Time range" .IX Subsection "Time range" [\fB\-s\fR|\fB\-\-start\fR \fItime\fR] [\fB\-e\fR|\fB\-\-end\fR \fItime\fR] @@ -204,14 +204,14 @@ resolution. With the \fBstep\fR option you can alter this behaviour. If you want \fBrrdtool graph\fR to get data at a one-hour resolution from the \fB\s-1RRD\s0\fR, set \fBstep\fR to 3'600. Note: a step smaller than one pixel will silently be ignored. -.Sh "Labels" +.SS "Labels" .IX Subsection "Labels" [\fB\-t\fR|\fB\-\-title\fR \fIstring\fR] [\fB\-v\fR|\fB\-\-vertical\-label\fR \fIstring\fR] .PP A horizontal string at the top of the graph and/or a vertically placed string at the left hand side of the graph. -.Sh "Size" +.SS "Size" .IX Subsection "Size" [\fB\-w\fR|\fB\-\-width\fR \fIpixels\fR] [\fB\-h\fR|\fB\-\-height\fR \fIpixels\fR] @@ -229,7 +229,7 @@ If you specify the \fB\-\-only\-graph\fR option and set the height < 32 pixels you will get a tiny graph image (thumbnail) to use as an icon for use in an overview, for example. All labeling will be stripped off the graph. -.Sh "Limits" +.SS "Limits" .IX Subsection "Limits" [\fB\-u\fR|\fB\-\-upper\-limit\fR \fIvalue\fR] [\fB\-l\fR|\fB\-\-lower\-limit\fR \fIvalue\fR] @@ -276,7 +276,7 @@ appearance. If this is not to your liking, you can use this switch to turn this behaviour off. .PP Gridfitting is turned off for \s-1PDF\s0, \s-1EPS\s0, \s-1SVG\s0 output by default. -.Sh "X\-Axis" +.SS "X\-Axis" .IX Subsection "X-Axis" [\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] .PP @@ -314,7 +314,7 @@ 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. -.Sh "Y\-Axis" +.SS "Y\-Axis" .IX Subsection "Y-Axis" [\fB\-y\fR|\fB\-\-y\-grid\fR \fIgrid step\fR\fB:\fR\fIlabel factor\fR] .PP @@ -370,7 +370,7 @@ fiddling 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. -.Sh "Right Y Axis" +.SS "Right Y Axis" .IX Subsection "Right Y Axis" [\fB\-\-right\-axis\fR \fIscale\fR\fB:\fR\fIshift\fR] [\fB\-\-right\-axis\-label\fR \fIlabel\fR] @@ -384,7 +384,7 @@ for the right axis. By default the format of the axis lables gets determined automatically. If you want todo this your self, use this option with the same \f(CW%lf\fR arguments you know from the \s-1PRING\s0 and \s-1GPRINT\s0 commands. -.Sh "Legend" +.SS "Legend" .IX Subsection "Legend" [\fB\-g\fR|\fB\-\-no\-legend\fR] .PP @@ -406,7 +406,7 @@ In west or east position it is necessary to add line breaks manually. Place the legend items in the given vertical order. The default is topdown. Using bottomup the legend items appear in the same vertical order as a stack of lines or areas. -.Sh "Miscellaneous" +.SS "Miscellaneous" .IX Subsection "Miscellaneous" [\fB\-z\fR|\fB\-\-lazy\fR] .PP @@ -416,7 +416,7 @@ Note, that all the calculations will happen regardless so that the output of lazy in this regard has seen several changes over time. The only thing you can realy rely on before rrdtool 1.3.7 is that lazy will not generate the graph when it is already there and up to date, and also that it will output -the size of the graph. +the size of the graph. .PP [\fB\-\-daemon\fR \fIaddress\fR] .PP @@ -439,7 +439,7 @@ suitable for including the graph into a web page, the command line would look like this: .PP .Vb 1 -\& \-\-imginfo 'Demo' +\& \-\-imginfo \*(AqDemo\*(Aq .Ve .PP [\fB\-c\fR|\fB\-\-color\fR \fI\s-1COLORTAG\s0\fR#\fIrrggbb\fR[\fIaa\fR]] @@ -458,6 +458,12 @@ multiple defaults. .PP A green arrow is made by: \f(CW\*(C`\-\-color ARROW#00FF00\*(C'\fR .PP +[\fB\-\-border\fR \fIwidth\fR]] +.PP +Width in pixels for the 3d border drawn around the image. Default 2, 0 +disables the border. See \f(CW\*(C`SHADEA\*(C'\fR and \f(CW\*(C`SHADEB\*(C'\fR above for setting the border +color. +.PP [\fB\-\-zoom\fR \fIfactor\fR] .PP Zoom the graphics by the given amount. The factor must be > 0 @@ -472,6 +478,10 @@ edge of the graph. .PP Use Times for the title: \f(CW\*(C`\-\-font TITLE:13:Times\*(C'\fR .PP +Note that you need to quote the argument to \fB\-\-font\fR if the font-name +contains whitespace: +\&\-\-font \*(L"TITLE:13:Some Font\*(R" +.PP If you do not give a font string you can modify just the size of the default font: \&\f(CW\*(C`\-\-font TITLE:13:\*(C'\fR. .PP @@ -515,7 +525,7 @@ no text is rendered bitmapped. .PP All text in rrdtool is rendered using Pango. With the \fB\-\-pango\-markup\fR option, all text will be processed by pango markup. This allows to embed some simple html -like markup tags using +like markup tags using .PP .Vb 1 \& text @@ -554,10 +564,10 @@ for their graphs even though it is not all that true. [\fB\-a\fR|\fB\-\-imgformat\fR \fB\s-1PNG\s0\fR|\fB\s-1SVG\s0\fR|\fB\s-1EPS\s0\fR|\fB\s-1PDF\s0\fR] .PP Image format for the generated graph. For the vector formats you can -choose among the standard Postscript fonts Courier\-Bold, -Courier\-BoldOblique, Courier\-Oblique, Courier, Helvetica\-Bold, -Helvetica\-BoldOblique, Helvetica\-Oblique, Helvetica, Symbol, -Times\-Bold, Times\-BoldItalic, Times\-Italic, Times\-Roman, and ZapfDingbats. +choose among the standard Postscript fonts Courier-Bold, +Courier-BoldOblique, Courier-Oblique, Courier, Helvetica-Bold, +Helvetica-BoldOblique, Helvetica-Oblique, Helvetica, Symbol, +Times-Bold, Times-BoldItalic, Times-Italic, Times-Roman, and ZapfDingbats. .PP [\fB\-i\fR|\fB\-\-interlaced\fR] .PP @@ -579,7 +589,7 @@ measurement, 1 kb/s is 1000 b/s. .PP Adds the given string as a watermark, horizontally centered, at the bottom of the graph. -.Sh "Data and variables" +.SS "Data and variables" .IX Subsection "Data and variables" \&\fB\s-1DEF:\s0\fR\fIvname\fR\fB=\fR\fIrrdfile\fR\fB:\fR\fIds-name\fR\fB:\fR\fI\s-1CF\s0\fR[\fB:step=\fR\fIstep\fR][\fB:start=\fR\fItime\fR][\fB:end=\fR\fItime\fR] .PP @@ -596,7 +606,7 @@ See rrdgraph_data and rrdgraph_rpn for the exact format. You need at least one graph element to generate an image and/or at least one print statement to generate a report. See rrdgraph_graph for the exact format. -.Sh "graphv" +.SS "graphv" .IX Subsection "graphv" Calling rrdtool with the graphv option will return information in the rrdtool info format. On the command line this means that all output will be @@ -607,7 +617,7 @@ When the filename '\-' is given, the contents of the graph itself will also be returned through this interface (hash key 'image'). On the command line the output will look like this: .PP -.Vb 14 +.Vb 10 \& print[0] = "0.020833" \& print[1] = "0.0440833" \& graph_left = 51 diff --git a/doc/rrdgraph.html b/doc/rrdgraph.html index b3063d8..e7b3fb0 100644 --- a/doc/rrdgraph.html +++ b/doc/rrdgraph.html @@ -1,14 +1,18 @@ + rrdgraph + -

    + +
    +

    + + +

    @@ -183,7 +191,7 @@ to turn this behaviour off.

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

    -

    X-Axis

    +

    X-Axis

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

    [-x|--x-grid none]

    The x-axis label is quite complex to configure. If you don't have @@ -213,7 +221,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-Axis

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

    [-y|--y-grid none]

    Y-axis grid lines appear at each grid step interval. Labels are @@ -322,6 +330,10 @@ and blue. Optionally you may add another hexadecimal number specifying the transparency (FF is solid). You may set this option several times to alter multiple defaults.

    A green arrow is made by: --color ARROW#00FF00

    +

    [--border width]]

    +

    Width in pixels for the 3d border drawn around the image. Default 2, 0 +disables the border. See SHADEA and SHADEB above for setting the border +color.

    [--zoom factor]

    Zoom the graphics by the given amount. The factor must be > 0

    [-n|--font FONTTAG:size:[font]]

    @@ -331,6 +343,9 @@ for the title, AXIS for the axis labels, UNIT for the label, LEGEND for the graph legend, WATERMARK for the watermark on the edge of the graph.

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

    +

    Note that you need to quote the argument to --font if the font-name +contains whitespace: +--font "TITLE:13:Some Font"

    If you do not give a font string you can modify just the size of the default font: --font TITLE:13:.

    If you specify the size 0 then you can modify just the font without touching @@ -340,12 +355,12 @@ resetting the default fontsizes: --font DEFAULT:0:Courier.

    variable RRD_DEFAULT_FONT if you want to change this.

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

    -

    The font name has the form ``[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]'', +

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

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

    There are 3 font render modes:

    @@ -449,14 +464,14 @@ know what is where on the graph.

    The following environment variables may be used to change the behavior of rrdtoolgraph:

    -
    RRDCACHED_ADDRESS
    -
    +
    RRDCACHED_ADDRESS
    +
    -If this environment variable is set it will have the same effect as specifying +

    If this environment variable is set it will have the same effect as specifying the --daemon option on the command line. If both are present, the command -line argument takes precedence. +line argument takes precedence.

    -

    +


    diff --git a/doc/rrdgraph.pod b/doc/rrdgraph.pod index 0919403..dc8081f 100644 --- a/doc/rrdgraph.pod +++ b/doc/rrdgraph.pod @@ -336,6 +336,12 @@ multiple defaults. A green arrow is made by: C<--color ARROW#00FF00> +[B<--border> I]] + +Width in pixels for the 3d border drawn around the image. Default 2, 0 +disables the border. See C and C above for setting the border +color. + [B<--zoom> I] Zoom the graphics by the given amount. The factor must be E 0 @@ -350,6 +356,10 @@ edge of the graph. Use Times for the title: C<--font TITLE:13:Times> +Note that you need to quote the argument to B<--font> if the font-name +contains whitespace: +--font "TITLE:13:Some Font" + If you do not give a font string you can modify just the size of the default font: C<--font TITLE:13:>. diff --git a/doc/rrdgraph.txt b/doc/rrdgraph.txt index 6bb25bc..8c7717d 100644 --- a/doc/rrdgraph.txt +++ b/doc/rrdgraph.txt @@ -12,8 +12,8 @@ SSYYNNOOPPSSIISS DDEESSCCRRIIPPTTIIOONN The ggrraapphh function of RRRRDDttooooll is used to present the data from an RRRRDD - to a human viewer. Its main purpose is to create a nice graphical rep- - resentation, but it can also generate a numerical report. + to a human viewer. Its main purpose is to create a nice graphical + representation, but it can also generate a numerical report. OOVVEERRVVIIEEWW rrrrddttooooll ggrraapphh needs data to work with, so you must use one or more ddaattaa @@ -22,9 +22,9 @@ OOVVEERRVVIIEEWW databases (one per statement, though). If you want to display averages, maxima, percentiles, etcetera it is - best to collect them now using the vvaarriiaabbllee ddeeffiinniittiioonn statement. Cur- - rently this makes no difference, but in a future version of rrdtool you - may want to collect these values before consolidation. + best to collect them now using the vvaarriiaabbllee ddeeffiinniittiioonn statement. + Currently this makes no difference, but in a future version of rrdtool + you may want to collect these values before consolidation. The data fetched from the RRRRAA is then ccoonnssoolliiddaatteedd so that there is exactly one datapoint per pixel in the graph. If you do not take care @@ -45,54 +45,50 @@ OOVVEERRVVIIEEWW more information. OOPPTTIIOONNSS - _f_i_l_e_n_a_m_e - + _f_i_l_e_n_a_m_e The name and path of the graph to generate. It is recommended to end this in ".png", ".svg" or ".eps", but RRRRDDttooooll does not enforce this. _f_i_l_e_n_a_m_e can be '"-"' to send the image to "stdout". In this case, no other output is generated. - TTiimmee rraannggee - + TTiimmee rraannggee [--ss|----ssttaarrtt _t_i_m_e] [--ee|----eenndd _t_i_m_e] [--SS|----sstteepp _s_e_c_o_n_d_s] 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 specified - in several formats, see AT-STYLE TIME SPECIFICATION and rrdgraph_exam- - ples. 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. - - LLaabbeellss - + in several formats, see AT-STYLE TIME SPECIFICATION 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. + + LLaabbeellss [--tt|----ttiittllee _s_t_r_i_n_g] [--vv|----vveerrttiiccaall--llaabbeell _s_t_r_i_n_g] A horizontal string at the top of the graph and/or a vertically placed string at the left hand side of the graph. - SSiizzee - + SSiizzee [--ww|----wwiiddtthh _p_i_x_e_l_s] [--hh|----hheeiigghhtt _p_i_x_e_l_s] [--jj|----oonnllyy--ggrraapphh] [--DD|----ffuullll--ssiizzee--mmooddee] By default, the width and height of the ccaannvvaass (the part with the actual data and such). This defaults to 400 pixels by 100 pixels. - If you specify the ----ffuullll--ssiizzee--mmooddee option, the width and height spec- - ify the final dimensions of the output image and the canvas is automat- - ically resized to fit. + If you specify the ----ffuullll--ssiizzee--mmooddee option, the width and height + specify the final dimensions of the output image and the canvas is + automatically resized to fit. If you specify the ----oonnllyy--ggrraapphh option and set the height < 32 pixels you will get a tiny graph image (thumbnail) to use as an icon for use in an overview, for example. All labeling will be stripped off the graph. - LLiimmiittss - + LLiimmiittss [--uu|----uuppppeerr--lliimmiitt _v_a_l_u_e] [--ll|----lloowweerr--lliimmiitt _v_a_l_u_e] [--rr|----rriiggiidd] By default the graph will be autoscaling so that it will adjust the @@ -113,19 +109,21 @@ OOPPTTIIOONNSS [--JJ|----aalltt--aauuttoossccaallee--mmiinn] - Where "--alt-autoscale" will modify both the absolute maximum AND mini- - mum values, this option will only affect the minimum value. The maximum - value, if not defined on the command line, will be 0. This option can - be useful when graphing router traffic when the WAN line uses compres- - sion, and thus the throughput may be higher than the WAN line speed. + Where "--alt-autoscale" will modify both the absolute maximum AND + minimum values, this option will only affect the minimum value. The + maximum value, if not defined on the command line, will be 0. This + option can be useful when graphing router traffic when the WAN line + uses compression, and thus the throughput may be higher than the WAN + line speed. [--MM|----aalltt--aauuttoossccaallee--mmaaxx] - Where "--alt-autoscale" will modify both the absolute maximum AND mini- - mum values, this option will only affect the maximum value. The minimum - value, if not defined on the command line, will be 0. This option can - be useful when graphing router traffic when the WAN line uses compres- - sion, and thus the throughput may be higher than the WAN line speed. + Where "--alt-autoscale" will modify both the absolute maximum AND + minimum values, this option will only affect the maximum value. The + minimum value, if not defined on the command line, will be 0. This + option can be useful when graphing router traffic when the WAN line + uses compression, and thus the throughput may be higher than the WAN + line speed. [--NN|----nnoo--ggrriiddffiitt] @@ -136,8 +134,7 @@ OOPPTTIIOONNSS Gridfitting is turned off for PDF, EPS, SVG output by default. - XX--AAxxiiss - + XX--AAxxiiss [--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] @@ -150,13 +147,13 @@ OOPPTTIIOONNSS 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 spec- - ified for the base grid (_G_?_?), the major grid (_M_?_?) and the labels + 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 specify a - number of seconds here the label is centered on this interval (useful + 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 @@ -171,16 +168,15 @@ OOPPTTIIOONNSS day. The labels are placed exactly between two major grid lines as they specify the complete day and not just midnight. - YY--AAxxiiss - + YY--AAxxiiss [--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] 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 automat- - ically select sensible values. + 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 suppressed, also the space reserved for the labels is removed. You can still add @@ -189,12 +185,12 @@ OOPPTTIIOONNSS [--YY|----aalltt--yy--ggrriidd] - Place the Y grid dynamically based on the graph's Y range. The algo- - rithm 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). + 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] @@ -202,15 +198,15 @@ OOPPTTIIOONNSS [--XX|----uunniittss--eexxppoonneenntt _v_a_l_u_e] - This sets the 10**exponent scaling of the y-axis values. Normally, val- - ues 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.). 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 option is very effective at confusing the heck out of the default rrdtool autoscaler and grid painter. If rrdtool detects that it is not @@ -226,11 +222,10 @@ OOPPTTIIOONNSS [----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 nota- - tion. Note that for linear graphs, SI notation is used by default. - - RRiigghhtt YY AAxxiiss + the appropriate units (k, M, etc.) instead of using exponential + notation. Note that for linear graphs, SI notation is used by default. + RRiigghhtt YY AAxxiiss [----rriigghhtt--aaxxiiss _s_c_a_l_e::_s_h_i_f_t] [----rriigghhtt--aaxxiiss--llaabbeell _l_a_b_e_l] A second axis will be drawn to the right of the graph. It is tied to @@ -243,8 +238,7 @@ OOPPTTIIOONNSS If you want todo this your self, use this option with the same %lf arguments you know from the PRING and GPRINT commands. - LLeeggeenndd - + LLeeggeenndd [--gg|----nnoo--lleeggeenndd] Suppress generation of the legend; only render the graph. @@ -262,12 +256,11 @@ OOPPTTIIOONNSS [----lleeggeenndd--ddiirreeccttiioonn=(topdown|bottomup)] - Place the legend items in the given vertical order. The default is top- - down. Using bottomup the legend items appear in the same vertical + Place the legend items in the given vertical order. The default is + topdown. Using bottomup the legend items appear in the same vertical order as a stack of lines or areas. - MMiisscceellllaanneeoouuss - + MMiisscceellllaanneeoouuss [--zz|----llaazzyy] Only generate the graph if the current graph is out of date or not @@ -307,14 +300,20 @@ OOPPTTIIOONNSS the right and bottom border, "GRID", "MGRID" for the major grid, "FONT" for the color of the font, "AXIS" for the axis of the graph, "FRAME" for the line around the color spots, and finally "ARROW" for the arrow - head pointing up and forward. Each color is composed out of three hex- - adecimal numbers specifying its rgb color component (00 is off, FF is - maximum) of red, green and blue. Optionally you may add another hex- - adecimal number specifying the transparency (FF is solid). You may set - this option several times to alter multiple defaults. + head pointing up and forward. Each color is composed out of three + hexadecimal numbers specifying its rgb color component (00 is off, FF + is maximum) of red, green and blue. Optionally you may add another + hexadecimal number specifying the transparency (FF is solid). You may + set this option several times to alter multiple defaults. A green arrow is made by: "--color ARROW#00FF00" + [----bboorrddeerr _w_i_d_t_h]] + + Width in pixels for the 3d border drawn around the image. Default 2, 0 + disables the border. See "SHADEA" and "SHADEB" above for setting the + border color. + [----zzoooomm _f_a_c_t_o_r] Zoom the graphics by the given amount. The factor must be > 0 @@ -323,12 +322,15 @@ OOPPTTIIOONNSS This lets you customize which font to use for the various text elements on the RRD graphs. "DEFAULT" sets the default value for all elements, - "TITLE" for the title, "AXIS" for the axis labels, "UNIT" for the ver- - tical unit label, "LEGEND" for the graph legend, "WATERMARK" for the + "TITLE" for the title, "AXIS" for the axis labels, "UNIT" for the + vertical unit label, "LEGEND" for the graph legend, "WATERMARK" for the watermark on the edge of the graph. Use Times for the title: "--font TITLE:13:Times" + Note that you need to quote the argument to ----ffoonntt if the font-name + contains whitespace: --font "TITLE:13:Some Font" + If you do not give a font string you can modify just the size of the default font: "--font TITLE:13:". @@ -344,8 +346,8 @@ OOPPTTIIOONNSS full Pango syntax when selecting your font: The font name has the form "[_F_A_M_I_L_Y_-_L_I_S_T] [_S_T_Y_L_E_-_O_P_T_I_O_N_S] [_S_I_Z_E]", - where _F_A_M_I_L_Y_-_L_I_S_T is a comma separated list of families optionally ter- - minated by a comma, _S_T_Y_L_E___O_P_T_I_O_N_S is a whitespace separated list of + where _F_A_M_I_L_Y_-_L_I_S_T is a comma separated list of families optionally + terminated by a comma, _S_T_Y_L_E___O_P_T_I_O_N_S is a whitespace separated list of words where each WORD describes one of style, variant, weight, stretch, or gravity, and _S_I_Z_E is a decimal number (size in points) or optionally followed by the unit modifier "px" for absolute size. Any one of the @@ -390,8 +392,8 @@ OOPPTTIIOONNSS tt Monospace font u Underline - More details on . + More details on + . [--GG|----ggrraapphh--rreennddeerr--mmooddee {nnoorrmmaall,mmoonnoo}] @@ -410,10 +412,10 @@ OOPPTTIIOONNSS [--aa|----iimmggffoorrmmaatt PPNNGG|SSVVGG|EEPPSS|PPDDFF] Image format for the generated graph. For the vector formats you can - choose among the standard Postscript fonts Courier-Bold, - Courier-BoldOblique, Courier-Oblique, Courier, Helvetica-Bold, Hel- - vetica-BoldOblique, Helvetica-Oblique, Helvetica, Symbol, Times-Bold, - Times-BoldItalic, Times-Italic, Times-Roman, and ZapfDingbats. + choose among the standard Postscript fonts Courier-Bold, Courier- + BoldOblique, Courier-Oblique, Courier, Helvetica-Bold, Helvetica- + BoldOblique, Helvetica-Oblique, Helvetica, Symbol, Times-Bold, Times- + BoldItalic, Times-Italic, Times-Roman, and ZapfDingbats. [--ii|----iinntteerrllaacceedd] @@ -436,8 +438,7 @@ OOPPTTIIOONNSS Adds the given string as a watermark, horizontally centered, at the bottom of the graph. - DDaattaa aanndd vvaarriiaabblleess - + DDaattaa aanndd vvaarriiaabblleess DDEEFF::_v_n_a_m_e==_r_r_d_f_i_l_e::_d_s_-_n_a_m_e::_C_F[::sstteepp==_s_t_e_p][::ssttaarrtt==_t_i_m_e][::eenndd==_t_i_m_e] CCDDEEFF::_v_n_a_m_e==_R_P_N _e_x_p_r_e_s_s_i_o_n @@ -454,16 +455,15 @@ OOPPTTIIOONNSS least one print statement to generate a report. See rrdgraph_graph for the exact format. - ggrraapphhvv - + ggrraapphhvv Calling rrdtool with the graphv option will return information in the rrdtool info format. On the command line this means that all output will be in key=value format. When used from the Perl and Ruby bindings a hash pointer will be returned from the call. When the filename '-' is given, the contents of the graph itself will - also be returned through this interface (hash key 'image'). On the com- - mand line the output will look like this: + also be returned through this interface (hash key 'image'). On the + command line the output will look like this: print[0] = "0.020833" print[1] = "0.0440833" @@ -509,4 +509,4 @@ AAUUTTHHOORR -1.3.99909060808 2009-05-21 RRDGRAPH(1) +1.3.999 2009-09-24 RRDGRAPH(1) diff --git a/doc/rrdgraph_data.1 b/doc/rrdgraph_data.1 index 7c9538c..60e63d6 100644 --- a/doc/rrdgraph_data.1 +++ b/doc/rrdgraph_data.1 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -25,11 +17,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,12 +124,16 @@ .\" ======================================================================== .\" .IX Title "RRDGRAPH_DATA 1" -.TH RRDGRAPH_DATA 1 "2009-04-29" "1.3.99909060808" "rrdtool" +.TH RRDGRAPH_DATA 1 "2009-06-01" "1.3.999" "rrdtool" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" rrdgraph_data \- preparing data for graphing in rrdtool graph .SH "SYNOPSIS" .IX Header "SYNOPSIS" -\&\fB\s-1DEF:\s0\fR\fI\fR=\fI\fR:\fI\fR:\fI<\s-1CF\s0>\fR[:step=\fI\fR][:start=\fI