Imported Upstream version 2.4.5p1 upstream/2.4.5p1
authorBdale Garbee <bdale@gag.com>
Tue, 20 May 2008 04:46:48 +0000 (22:46 -0600)
committerBdale Garbee <bdale@gag.com>
Tue, 20 May 2008 04:46:48 +0000 (22:46 -0600)
128 files changed:
ChangeLog
Makefile.in
NEWS
acinclude.m4
aclocal.m4
amplot/Makefile.in
changer-src/Makefile.in
client-src/Makefile.in
client-src/amandad.c
client-src/calcsize.c
client-src/client_util.c
client-src/getfsent.c
client-src/killpgrp.c
client-src/rundump.c
client-src/runtar.c
client-src/selfcheck.c
client-src/sendbackup-dump.c
client-src/sendbackup-gnutar.c
client-src/sendbackup.c
client-src/sendsize.c
client-src/versionsuffix.c
common-src/Makefile.in
common-src/amanda.h
common-src/amflock.c
common-src/debug.c
common-src/file.c
common-src/genversion.c
common-src/sl.c
common-src/statfs.c
common-src/stream.c
common-src/token.c
common-src/version.c
common-src/versuff.c
config/Makefile.in
config/config.guess
config/config.sub
config/depcomp
config/install-sh
config/libtool.m4i
config/ltmain.sh
config/missing
config/mkinstalldirs
configure
configure.in
docs/Appendix.txt [new file with mode: 0644]
docs/Makefile.am
docs/Makefile.in
docs/amanda.8.txt
docs/amanda.conf.5.txt [new file with mode: 0644]
docs/amcheck.8.txt
docs/amverifyrun.8.txt
docs/dumperapi.txt
docs/eventapi.txt
docs/exclude.txt
docs/faq.txt
docs/historical.txt
docs/howto-afs.txt
docs/howto-wrapper.txt [new file with mode: 0644]
docs/howtos.txt
docs/index.txt
docs/install.txt
docs/internals.txt
docs/ix01.txt
docs/links.txt
docs/manpages.txt
docs/multitape.txt
docs/portusage.txt
docs/pr04.txt
docs/security-api.txt
docs/security.txt
docs/strategy-api.txt
docs/survey.txt
docs/technical.txt
docs/topten.txt
docs/upgrade.txt
docs/using.txt
docs/various.txt
docs/vtape-api.txt
docs/whatwasnew.txt
docs/wishlist.txt
docs/y2k.txt
docs/zftape.txt
example/Makefile.in
example/amanda.conf.in
example/config.site
man/Makefile.am
man/Makefile.in
man/amadmin.8
man/amanda.8
man/amanda.conf.5 [new file with mode: 0644]
man/amdump.8
man/amflush.8
man/amlabel.8
man/amoverview.8
man/amtapetype.8
recover-src/Makefile.in
recover-src/amrecover.c
recover-src/uparse.c
recover-src/uparse.h
restore-src/Makefile.in
restore-src/amidxtaped.c
restore-src/amrestore.c
server-src/Makefile.in
server-src/amadmin.c
server-src/amcheck.c
server-src/amcleanupdisk.c
server-src/amflush.c
server-src/amindexd.c
server-src/amlabel.c
server-src/amlogroll.c
server-src/amoverview.pl.in
server-src/amtape.c
server-src/amtrmidx.c
server-src/amtrmlog.c
server-src/amverify.sh.in
server-src/amverifyrun.sh.in
server-src/conffile.c
server-src/diskfile.c
server-src/driver.c
server-src/driverio.c
server-src/dumper.c
server-src/getconf.c
server-src/infofile.c
server-src/planner.c
server-src/reporter.c
server-src/taper.c
tape-src/Makefile.in
tape-src/tapetype.c

index 3e4b05f43e868b94ceea11f496fb255d9f1161b3..db19ab8e25c082666d32d95fe04f5d14b502f6c1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,235 @@
+2005-10-24  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * Amanda 2.4.5p1 released.
+       * configure.in: AM_INIT_AUTOMAKE(amanda, 2.4.5p1).
+       * NEWS: Update for 2.4.5p1.
+
+2005-10-11  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * client-src/client_util.c, server-src/amcheck.c,
+         server-src/reporter.c: Add missing type for arguments.
+
+2005-10-11  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/taper.c (tape_writer_side): detach_buffers on normal exit.
+
+2005-10-07  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/taper.c: Change message: on new tape due to
+
+2005-10-06  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+       Patch by John R. Franks
+
+       * common-src/amflock.c (main): Don't call safe_fd, it's not needed
+         during configure.
+       * configure.in: '#include <sys/types.h>' in the check
+         'for Linux like scsi support (sg)'
+
+2005-10-02  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * common-src/stream.c: len is a socklen_t.
+       * server-src/amindexd.c: Add socklen as a socklen_t.
+       * restore-src/amidxtaped.c: Add socklen as a socklen_t.
+       * tape-src/tapetype.c: Change printf format.
+       * server-src/amlabel.c: Add a variable isa_zftape. init fd to -1.
+
+2005-10-01  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/reporter.c: Don't trunk hostname/diskname in
+         'FAILURE AND STRANGE DUMP SUMMARY' section.
+
+2005-09-30  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/conffile.c, server-src/diskfile.c, server-src/infofile.c,
+         client-src/getfsent.c, common-src/statfs.c, common-src/token.c
+         (main): Remove fd declaration.
+
+2005-09-30  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * client-src/runtar.c: 'e' and 'bdf' are only needed if GNUTAR.
+
+2005-09-30  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * common-src/sl.c (insert_sort_sl). Typo.
+
+2005-09-30  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * config/config.guess: Update from automake 1.9.5.
+       * config/config.sub: Update from automake 1.9.5.
+       * config/depcomp: Update from automake 1.9.5.
+       * config/install-sh: Update from automake 1.9.5.
+       * config/missing: Update from automake 1.9.5.
+       * config/mkinstalldirs: Update from automake 1.9.5.
+       * config/ltmain.sh: Update from libtool-1.5.16.
+       * config/libtool.m4i: Update from libtool-1.5.16.
+
+2005-09-22  John R. Jackson <jrj@purdue.edu>
+
+       * configure.in: If --without-server is specified, either on the
+         command line or via config.site, make sure --without-restore
+         is also in effect.  Avoids compilation errors if mismatched.
+       * example/config.site: Document above.
+
+2005-09-21  John R. Jackson <jrj@purdue.edu>
+
+       * server-src/getconf.c: Allow CLIENT_LOGIN to be retrieved via
+         "amgetconf build.CLIENT_LOGIN".
+
+2005-09-21  John R. Jackson <jrj@purdue.edu>
+
+       * server-src/amlabel.c: 'int fd' is only needed if HAVE_LINUX_ZFTAPE_H
+         is defined.
+
+2005-09-21  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/amlabel.c: 'int fd' is needed.
+
+2005-09-20  John R. Jackson <jrj@purdue.edu>
+
+       * server-src/reporter.c: Fix minor typo noticed by Scott R. Burns
+         <Scott.Burns@Netcontech.Com>.
+
+2005-09-20  John R. Jackson <jrj@purdue.edu>
+
+       * common-src/file.c: Create safe_fd() to do common file descriptor
+         safety operations at the start of every program.  In addition
+         to closing everything from three on up that used to be done
+         with explicit code, make sure stdin, stdout and stderr are
+         open per a potential (but unlikely) security report from Ben
+         Schwarz <bschwarz@EECS.berkeley.EDU>.
+       * common-src/amanda.h: Ditto.
+       * client-src/amandad.c: Ditto.
+       * client-src/calcsize.c: Ditto.
+       * client-src/getfsent.c: Ditto.
+       * client-src/killpgrp.c: Ditto.
+       * client-src/rundump.c: Ditto.
+       * client-src/runtar.c: Ditto.
+       * client-src/selfcheck.c: Ditto.
+       * client-src/sendbackup.c: Ditto.
+       * client-src/sendsize.c: Ditto.
+       * client-src/versionsuffix.c: Ditto.
+       * common-src/amflock.c: Ditto.
+       * common-src/genversion.c: Ditto.
+       * common-src/statfs.c: Ditto.
+       * common-src/token.c: Ditto.
+       * recover-src/amrecover.c: Ditto.
+       * restore-src/amidxtaped.c: Ditto.
+       * restore-src/amrestore.c: Ditto.
+       * server-src/amadmin.c: Ditto.
+       * server-src/amcheck.c: Ditto.
+       * server-src/amcleanupdisk.c: Ditto.
+       * server-src/amflush.c: Ditto.
+       * server-src/amindexd.c: Ditto.
+       * server-src/amlabel.c: Ditto.
+       * server-src/amlogroll.c: Ditto.
+       * server-src/amtape.c: Ditto.
+       * server-src/amtrmidx.c: Ditto.
+       * server-src/amtrmlog.c: Ditto.
+       * server-src/conffile.c: Ditto.
+       * server-src/diskfile.c: Ditto.
+       * server-src/driver.c: Ditto.
+       * server-src/dumper.c: Ditto.
+       * server-src/getconf.c: Ditto.
+       * server-src/infofile.c: Ditto.
+       * server-src/planner.c: Ditto.
+       * server-src/reporter.c: Ditto.
+       * server-src/taper.c: Ditto.
+
+2005-09-20  John R. Jackson <jrj@purdue.edu>
+
+       * client-src/calcsize.c: Fix format string.
+       * server-src/diskfile.c: Fix compiler warnings.
+       * server-src/planner.c: Fix compiler warnings.
+
+2005-09-20  John R. Jackson <jrj@purdue.edu>
+
+       * common-src/amanda.h: Add dbreopen() so debug file can be closed
+         and then reopened if needed.
+       * common-src/debug.c: Ditto.
+       * client-src/runtar.c: Close the debug file (fd 10) around the
+         exec of GNU tar.  Newer versions complain about stray file
+         descriptors.
+       * server-src/getconf.c: Use dbreopen() to create the debug file.
+         Do not try to open config file unless needed (allows clients to
+         use build.XXX/dbopen.XXX/dbclose.XXX).
+
+2005-09-20  John R. Jackson <jrj@purdue.edu>
+
+       * client-src/sendbackup-dump.c: Ignore a new message from Solaris
+         vxdump.
+
+2005-09-15  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/amverify.sh.in: Don't check for EOI, it's buggy.
+
+2005-09-12  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/driverio.c: Don't save history with size < 0.
+
+2005-09-12  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+       Patch by Geert Uytterhoeven <geert@linux-m68k.org>
+
+       * server-src/planner.c: Don't use history with size < 0.
+
+2005-09-07  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+        Patch Paul Bijnens <paul.bijnens@xplanation.com>
+
+        * server-src/planner.c(delay_dumps): Delay incremental dump also
+        larger than tape.
+
+2005-09-07  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+       Patch by Orion Poplawski <orion@cora.nwra.com>
+
+       * server-src/amoverview.pl.in: Add options -last, -num0 and -togo0.
+       * man/amoverview.8: Document -last, -num0 and -togo0.
+
+2005-09-07  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+       Patch by Orion Poplawski <orion@cora.nwra.com>
+
+       * server-src/driver.c: Make tape_length and tape_left unsigned long.
+
+2005-07-11  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+       Bug found by John E Hein <jhein@timing.com>.
+
+       * server-src/amadmin.c: Fix of by one with NB_HISTORY.
+       * server-src/infofile.c: Fix of by one with NB_HISTORY.
+
+2005-06-23  Stefan G. Weichinger <monitor@oops.co.at>
+
+       * client-src/sendbackup-gnutar.c: Added RE for new Samba-releases.
+
+2005-06-08  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+       Patch by Jay Fenlason <fenlason@redhat.com>
+
+       * client-src/sendsize.c: Fix dbprintf call.
+
+2005-06-03  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/amverifyrun.sh.in: Remove buggy space.
+
+2005-05-28  Stefan G. Weichinger <monitor@oops.co.at>
+
+       * example/amanda.conf.in: edited the default-value for the
+                                 holdingdisk-usage to "use -100 Mb".
+                                 The old value "use 290 Mb" didn't make much
+                                 sense anymore.
+
+2005-05-17  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * server-src/amadmin.c: Add [--days <num>] argument to tape subcommand.
+
+2005-05-13  Jean-Louis Martineau <martineau@iro.umontreal.ca>
+
+       * man/Makefile.am (COMMON_MAN_PAGES, EXTRA_DIST): Add amadmin.8.
+       * man/*: Update from latest xml-doc.
+       * docs/Makefile.am (pkgdata_DATA): Add Appendix.txt, amanda.conf.5.txt
+         and howto-wrapper.txt.
+       * docs/* Update from latest xml-docs.
+
+2005-05-05  Stefan G. Weichinger <monitor@oops.co.at>
+
+       * example/amanda.conf.in: added description for parameter estimate.
+
 2005-04-20  Jean-Louis Martineau <martineau@iro.umontreal.ca>
 
        * Amanda 2.4.5 released.
        * client-src/sendsize.c: New re_size for NetApp.
 
 2003-02-04  Jean-Louis Martineau <martineau@iro.umontreal.ca>
-       Fix by Colin Henein <cmh@orange-carb.org>
+       Fix by Colin Henein <cmh@>
 
        * common-src/amanda.h: Fix for the where S_ISDIR is not defined.
 
index 5234061b3afedd0fedaeee617f0417e191cb2f26..bf280cf8be1399009ebfbaa901d55011500c54cc 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -34,7 +34,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = .
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS \
@@ -57,6 +59,12 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-recursive installcheck-recursive installdirs-recursive \
        pdf-recursive ps-recursive uninstall-info-recursive \
        uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdatadir)"
 pkgdataDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(pkgdata_DATA)
@@ -231,6 +239,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -386,7 +396,7 @@ install-pkgdataDATA: $(pkgdata_DATA)
        test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
        @list='$(pkgdata_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         f=$(am__strip_dir) \
          echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
          $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
        done
@@ -394,7 +404,7 @@ install-pkgdataDATA: $(pkgdata_DATA)
 uninstall-pkgdataDATA:
        @$(NORMAL_UNINSTALL)
        @list='$(pkgdata_DATA)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         f=$(am__strip_dir) \
          echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
          rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
        done
@@ -406,7 +416,13 @@ uninstall-pkgdataDATA:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $$MAKEFLAGS; amf=$$2; \
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -418,7 +434,7 @@ $(RECURSIVE_TARGETS):
            local_target="$$target"; \
          fi; \
          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+         || eval $$failcom; \
        done; \
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@@ -426,7 +442,13 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $$MAKEFLAGS; amf=$$2; \
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -447,7 +469,7 @@ maintainer-clean-recursive:
            local_target="$$target"; \
          fi; \
          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+         || eval $$failcom; \
        done && test -z "$$fail"
 tags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -481,7 +503,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
        fi; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -f $$subdir/TAGS && \
+           test ! -f $$subdir/TAGS || \
              tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
@@ -492,7 +514,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -552,12 +574,14 @@ distdir: $(DISTFILES)
        list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d "$(distdir)/$$subdir" \
-           || mkdir "$(distdir)/$$subdir" \
+           || $(mkdir_p) "$(distdir)/$$subdir" \
            || exit 1; \
+           distdir=`$(am__cd) $(distdir) && pwd`; \
+           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
            (cd $$subdir && \
              $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="../$(top_distdir)" \
-               distdir="../$(distdir)/$$subdir" \
+               top_distdir="$$top_distdir" \
+               distdir="$$distdir/$$subdir" \
                distdir) \
              || exit 1; \
          fi; \
@@ -571,15 +595,15 @@ distdir: $(DISTFILES)
          ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r $(distdir)
 dist-gzip: distdir
-       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
        $(am__remove_distdir)
 
 dist-bzip2: distdir
-       $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
        $(am__remove_distdir)
 
 dist-tarZ: distdir
-       $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
+       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
        $(am__remove_distdir)
 
 dist-shar: distdir
@@ -592,7 +616,7 @@ dist-zip: distdir
        $(am__remove_distdir)
 
 dist dist-all: distdir
-       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
        $(am__remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
@@ -601,11 +625,11 @@ dist dist-all: distdir
 distcheck: dist
        case '$(DIST_ARCHIVES)' in \
        *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
-         bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
+         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
        *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
        *.shar.gz*) \
          GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
        *.zip*) \
@@ -689,7 +713,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -749,7 +773,7 @@ uninstall-info: uninstall-info-recursive
 .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
        check-am clean clean-generic clean-libtool clean-recursive \
        ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
-       dist-shar dist-tarZ dist-zip distcheck distclean \
+       dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
        distclean-generic distclean-libtool distclean-recursive \
        distclean-tags distcleancheck distdir distuninstallcheck dvi \
        dvi-am html html-am info info-am install install-am \
diff --git a/NEWS b/NEWS
index 1634f9c954ac0972638b93ec41526d6afe822d42..62afb4572afce0037f035e9a57796c1d33cc1695 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+Change in release 2.4.5p1
+
+* New [--days <num>] argument to 'amadmin <conf> tape'.
+* New amoverview -last -num0 -togo0 options.
+
 Change in release 2.4.5
 
 * new displayunit global option to select the unit use to display number
index 8d31a3f7b3e64b48917480b9bfe1a60a203bb29c..90accfde066f0ebab46fd0d000cb7317b3458c67 100644 (file)
@@ -1037,28 +1037,13 @@ ac_cv_type_intmax_t="$ac_cv_type_intmax_t"
 ])
 ])
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
 ## Free Software Foundation, Inc.
 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-##
-## As a special exception to the GNU General Public License, if you
-## distribute this file as part of a program that contains a
-## configuration script generated by Autoconf, you may include it under
-## the same distribution terms that you use for the rest of that program.
+## This file is free software; the Free Software Foundation gives
+## unlimited permission to copy and/or distribute it, with or without
+## modifications, as long as this notice is preserved.
 
 # serial 47 AC_PROG_LIBTOOL
 
@@ -1170,7 +1155,7 @@ esac
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
 
 # Same as above, but do not quote variable references.
@@ -1238,6 +1223,8 @@ if test -n "$RANLIB"; then
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
+_LT_CC_BASENAME([$compiler])
+
 # Only perform the check for file, if the check method requires it
 case $deplibs_check_method in
 file_magic*)
@@ -1283,6 +1270,48 @@ compiler=$CC
 ])# _LT_AC_SYS_COMPILER
 
 
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
 # _LT_AC_SYS_LIBPATH_AIX
 # ----------------------
 # Links a minimal program and checks the executable
@@ -1355,7 +1384,7 @@ fi
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 if test -z "$ECHO"; then
 if test "X${echo_test_string+set}" != Xset; then
@@ -1624,8 +1653,10 @@ AC_CACHE_CHECK([$1], [$2],
    echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
      fi
    fi
@@ -1656,6 +1687,11 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
+       $SED '/^$/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
      else
        $2=yes
      fi
@@ -1714,11 +1750,38 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
- *)
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    # 
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  *)
     # If test is not a shell built-in, we'll probably end up computing a
     # maximum length that is only half of the actual maximum length, but
     # we can't tell.
-    while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
               = "XX$teststring") >/dev/null 2>&1 &&
            new_result=`expr "X$teststring" : ".*" 2>&1` &&
            lt_cv_sys_max_cmd_len=$new_result &&
@@ -1984,7 +2047,9 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
      fi
    fi
@@ -2052,8 +2117,8 @@ AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
 [AC_MSG_CHECKING([how to hardcode library paths into programs])
 _LT_AC_TAGVAR(hardcode_action, $1)=
 if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
-   test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \
-   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then
+   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
 
   # We can hardcode non-existant directories.
   if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
@@ -2220,7 +2285,7 @@ beos*)
   shlibpath_var=LIBRARY_PATH
   ;;
 
-bsdi4*)
+bsdi[[45]]*)
   version_type=linux
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2278,7 +2343,7 @@ cygwin* | mingw* | pw32*)
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
     ;;
@@ -2336,7 +2401,9 @@ kfreebsd*-gnu)
   dynamic_linker='GNU ld.so'
   ;;
 
-freebsd*)
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
   case $version_type in
@@ -2355,7 +2422,7 @@ freebsd*)
   freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -2479,10 +2546,27 @@ linux*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+    if AC_TRY_EVAL(ac_compile); then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  esac
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2544,7 +2628,7 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2710,7 +2794,9 @@ if test -f "$ltmain" && test -n "$tagnames"; then
 
       case $tagname in
       CXX)
-       if test -n "$CXX" && test "X$CXX" != "Xno"; then
+       if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+           ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+           (test "X$CXX" != "Xg++"))) ; then
          AC_LIBTOOL_LANG_CXX_CONFIG
        else
          tagname=""
@@ -3115,6 +3201,15 @@ case $reload_flag in
 *) reload_flag=" $reload_flag" ;;
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
 ])# AC_PROG_LD_RELOAD_FLAG
 
 
@@ -3148,7 +3243,7 @@ beos*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-bsdi4*)
+bsdi[[45]]*)
   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
   lt_cv_file_magic_cmd='/usr/bin/file -L'
   lt_cv_file_magic_test_file=/shlib/libc.so
@@ -3171,13 +3266,13 @@ darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu)
+freebsd* | kfreebsd*-gnu | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
       # Not sure whether the presence of OpenBSD here was a mistake.
       # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
       lt_cv_file_magic_cmd=/usr/bin/file
       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
       ;;
@@ -3221,15 +3316,6 @@ irix5* | irix6* | nonstopux*)
 
 # This must be Linux ELF.
 linux*)
-  case $host_cpu in
-  alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*)
-    lt_cv_deplibs_check_method=pass_all ;;
-  *)
-    # glibc up to 2.1.1 does not perform some relocations on ARM
-    # this will be overridden with pass_all, but let us keep it just in case
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
-  esac
-  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -3252,12 +3338,10 @@ nto-qnx*)
   ;;
 
 openbsd*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
   else
-    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   fi
   ;;
 
@@ -3447,10 +3531,21 @@ AC_DEFUN([AC_LIBTOOL_CXX],
 # ---------------
 AC_DEFUN([_LT_AC_LANG_CXX],
 [AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PROG_CXXCPP])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
 ])# _LT_AC_LANG_CXX
 
+# _LT_AC_PROG_CXXCPP
+# ---------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
 
 # AC_LIBTOOL_F77
 # --------------
@@ -3523,6 +3618,10 @@ lt_simple_link_test_code='int main(){return(0);}\n'
 
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 #
 # Check for any special shared library compilation flags.
 #
@@ -3589,43 +3688,6 @@ aix3*)
 aix4* | aix5*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-  darwin* | rhapsody*)
-  if test "$GCC" = yes; then
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    case "$host_os" in
-    rhapsody* | darwin1.[[012]])
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
-      ;;
-    *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[[012]])
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-      ;;
-    esac
-    output_verbose_link_cmd='echo'
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring'
-    _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-    # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-  else
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
   fi
     ;;
 esac
@@ -3652,7 +3714,7 @@ AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
 AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
 [AC_LANG_PUSH(C++)
 AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PROG_CXXCPP])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
 
 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
@@ -3696,6 +3758,10 @@ lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC=$CC
 lt_save_LD=$LD
@@ -3717,7 +3783,7 @@ test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 # We don't want -fno-exception wen compiling C++ code, so set the
 # no_builtin_flag separately
@@ -3824,7 +3890,7 @@ case $host_os in
     _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
     if test "$GXX" = yes; then
-      case $host_os in aix4.[012]|aix4.[012].*)
+      case $host_os in aix4.[[012]]|aix4.[[012]].*)
       # We only want to do this on AIX 4.2 and lower, the check
       # below for broken collect2 doesn't work under 4.3+
        collect2name=`${CC} -print-prog-name=collect2`
@@ -3845,6 +3911,9 @@ case $host_os in
        fi
       esac
       shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+       shared_flag="$shared_flag "'${wl}-G'
+      fi
     else
       # not using gcc
       if test "$host_cpu" = ia64; then
@@ -3904,6 +3973,7 @@ case $host_os in
     esac
     ;;
 
+
   cygwin* | mingw* | pw32*)
     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
     # as there is no search path for DLLs.
@@ -3927,65 +3997,76 @@ case $host_os in
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
   ;;
+      darwin* | rhapsody*)
+        case "$host_os" in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
-  darwin* | rhapsody*)
-  if test "$GXX" = yes; then
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    case "$host_os" in
-    rhapsody* | darwin1.[[012]])
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
-      ;;
-    *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[[012]])
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup'
-            ;;
-        esac
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
       fi
-      ;;
-    esac
-    lt_int_apple_cc_single_mod=no
-    output_verbose_link_cmd='echo'
-    if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-      lt_int_apple_cc_single_mod=yes
-    fi
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    else
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    fi
-    _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-
-    # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    else
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-  else
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-  fi
-    ;;
+        ;;
 
   dgux*)
     case $cc_basename in
-      ec++)
+      ec++*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      ghcx)
+      ghcx*)
        # Green Hills C++ Compiler
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -3996,14 +4077,14 @@ case $host_os in
        ;;
     esac
     ;;
-  freebsd[12]*)
+  freebsd[[12]]*)
     # C++ shared libraries reported to be fairly broken before switch to ELF
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   freebsd-elf*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     ;;
-  freebsd* | kfreebsd*-gnu)
+  freebsd* | kfreebsd*-gnu | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -4020,11 +4101,11 @@ case $host_os in
                                # location of the library.
 
     case $cc_basename in
-    CC)
+    CC*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
-    aCC)
+    aCC*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
@@ -4034,7 +4115,7 @@ case $host_os in
       # explicitly linking system object files so we need to strip them
       # from the output so that they don't get included in the library
       # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
       ;;
     *)
       if test "$GXX" = yes; then
@@ -4085,11 +4166,11 @@ case $host_os in
     esac
 
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      aCC)
+      aCC*)
        case "$host_cpu" in
        hppa*64*|ia64*)
          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
@@ -4129,9 +4210,9 @@ case $host_os in
     ;;
   irix5* | irix6*)
     case $cc_basename in
-      CC)
+      CC*)
        # SGI C++
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        # Archives containing C++ object files must be created using
        # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -4142,7 +4223,7 @@ case $host_os in
       *)
        if test "$GXX" = yes; then
          if test "$with_gnu_ld" = no; then
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
          else
            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
          fi
@@ -4155,7 +4236,7 @@ case $host_os in
     ;;
   linux*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -4180,17 +4261,41 @@ case $host_os in
        # "CC -Bstatic", where "CC" is the KAI C++ compiler.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
        ;;
-      icpc)
+      icpc*)
        # Intel C++
        with_gnu_ld=yes
+       # version 8.0 and above of icpc choke on multiply defined symbols
+       # if we add $predep_objects and $postdep_objects, however 7.1 and
+       # earlier do not add the objects themselves.
+       case `$CC -V 2>&1` in
+       *"Version 7."*)
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       *)  # Version 8.0 or newer
+         tmp_idyn=
+         case $host_cpu in
+           ia64*) tmp_idyn=' -i_dynamic';;
+         esac
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       esac
        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
        ;;
-      cxx)
+      pgCC*)
+        # Portland Group C++ compiler
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+        ;;
+      cxx*)
        # Compaq C++
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
@@ -4221,7 +4326,7 @@ case $host_os in
     ;;
   mvs*)
     case $cc_basename in
-      cxx)
+      cxx*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
@@ -4242,9 +4347,25 @@ case $host_os in
     # Workaround some broken pre-1.5 toolchains
     output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  openbsd*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
   osf3*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -4260,14 +4381,14 @@ case $host_os in
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
 
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      cxx)
+      cxx*)
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -4285,7 +4406,7 @@ case $host_os in
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -4304,7 +4425,7 @@ case $host_os in
     ;;
   osf4* | osf5*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -4319,17 +4440,17 @@ case $host_os in
        # the KAI C++ compiler.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      cxx)
+      cxx*)
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
          echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
          $rm $lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -4348,7 +4469,7 @@ case $host_os in
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -4372,7 +4493,7 @@ case $host_os in
   sco*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
@@ -4384,12 +4505,12 @@ case $host_os in
     ;;
   sunos4*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.x
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      lcc)
+      lcc*)
        # Lucid
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -4402,7 +4523,7 @@ case $host_os in
     ;;
   solaris*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -4412,13 +4533,17 @@ case $host_os in
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
        case $host_os in
-         solaris2.[0-5] | solaris2.[0-5].*) ;;
+         solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
          *)
            # The C++ compiler is used as linker so we must use $wl
            # flag to pass the commands to the underlying system
-           # linker.
+           # linker. We must also pass each convience library through
+           # to the system linker between allextract/defaultextract.
+           # The C++ compiler will combine linker options so we
+           # cannot just pass the convience library names through
+           # without $wl.
            # Supported since Solaris 2.6 (maybe 2.5.1?)
-           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
            ;;
        esac
        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -4439,7 +4564,7 @@ case $host_os in
        # in the archive.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
        ;;
-      gcx)
+      gcx*)
        # Green Hills C++ Compiler
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 
@@ -4482,7 +4607,7 @@ case $host_os in
     ;;
   tandem*)
     case $cc_basename in
-      NCC)
+      NCC*)
        # NonStop-UX NCC 3.20
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -4718,12 +4843,16 @@ lt_simple_link_test_code="      program t\n      end\n"
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${F77-"f77"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 AC_MSG_CHECKING([if libtool supports shared libraries])
 AC_MSG_RESULT([$can_build_shared])
@@ -4742,7 +4871,9 @@ aix3*)
   fi
   ;;
 aix4* | aix5*)
-  test "$enable_shared" = yes && enable_static=no
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
   ;;
 esac
 AC_MSG_RESULT([$enable_shared])
@@ -4793,20 +4924,27 @@ _LT_AC_TAGVAR(objext, $1)=$objext
 lt_simple_compile_test_code="class foo {}\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${GCJ-"gcj"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
 
 # GCJ did not exist at the time GCC didn't implicitly link libc in.
 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
 
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
 ## CAVEAT EMPTOR:
 ## There is no encapsulation within the following macros, do not change
 ## the running order or otherwise move them around unless you know exactly
@@ -4853,11 +4991,16 @@ lt_simple_link_test_code="$lt_simple_compile_test_code"
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${RC-"windres"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
 
 AC_LIBTOOL_CONFIG($1)
@@ -4993,7 +5136,7 @@ ifelse([$1], [],
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -5004,11 +5147,11 @@ ifelse([$1], [],
 SED=$lt_SED
 
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e s/^X//"
+Xsed="$SED -e 1s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 # The names of the tagged configurations supported by this script.
 available_tags=
@@ -5039,6 +5182,12 @@ fast_install=$enable_fast_install
 # The host system.
 host_alias=$host_alias
 host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
 # An echo program that does not interpret backslashes.
 echo=$lt_echo
@@ -5115,7 +5264,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -5389,9 +5538,6 @@ symcode='[[BCDEGRST]]'
 # Regexp to match symbols that can be accessed directly from C.
 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
 
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
 # Transform an extracted symbol line into a proper C declaration
 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
 
@@ -5413,6 +5559,13 @@ hpux*) # Its linker distinguishes data from code symbols
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDGIRSTW]]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
 irix* | nonstopux*)
   symcode='[[BCDEGRST]]'
   ;;
@@ -5444,8 +5597,11 @@ esac
 # Try without a prefix undercore, then with it.
 for ac_symprfx in "" "_"; do
 
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
   # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[     ]]\($symcode$symcode*\)[[       ]][[    ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[     ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -5634,18 +5790,28 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       chorus*)
        case $cc_basename in
-       cxch68)
+       cxch68*)
          # Green Hills C++ Compiler
          # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
          ;;
        esac
        ;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           ;;
+         esac
+       ;;
       dgux*)
        case $cc_basename in
-         ec++)
+         ec++*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            ;;
-         ghcx)
+         ghcx*)
            # Green Hills C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
@@ -5653,19 +5819,19 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            ;;
        esac
        ;;
-      freebsd* | kfreebsd*-gnu)
+      freebsd* | kfreebsd*-gnu | dragonfly*)
        # FreeBSD uses GNU C++
        ;;
       hpux9* | hpux10* | hpux11*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            if test "$host_cpu" != ia64; then
              _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
            fi
            ;;
-         aCC)
+         aCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            case "$host_cpu" in
@@ -5683,7 +5849,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       irix5* | irix6* | nonstopux*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
            # CC pic flag -KPIC is the default.
@@ -5694,18 +5860,24 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       linux*)
        case $cc_basename in
-         KCC)
+         KCC*)
            # KAI C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
-         icpc)
+         icpc* | ecpc*)
            # Intel C++
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
            ;;
-         cxx)
+         pgCC*)
+           # Portland Group C++ compiler.
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           ;;
+         cxx*)
            # Compaq C++
            # Make sure the PIC flag is empty.  It appears that all Alpha
            # Linux and Compaq Tru64 Unix objects are PIC.
@@ -5722,7 +5894,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       mvs*)
        case $cc_basename in
-         cxx)
+         cxx*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
            ;;
          *)
@@ -5733,14 +5905,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       osf3* | osf4* | osf5*)
        case $cc_basename in
-         KCC)
+         KCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
            ;;
-         RCC)
+         RCC*)
            # Rational C++ 2.4.1
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
-         cxx)
+         cxx*)
            # Digital/Compaq C++
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            # Make sure the PIC flag is empty.  It appears that all Alpha
@@ -5756,7 +5928,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       sco*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
          *)
@@ -5765,13 +5937,13 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       solaris*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.2, 5.x and Centerline C++
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
            ;;
-         gcx)
+         gcx*)
            # Green Hills C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
            ;;
@@ -5781,12 +5953,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       sunos4*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.x
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
-         lcc)
+         lcc*)
            # Lucid
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
@@ -5796,7 +5968,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       tandem*)
        case $cc_basename in
-         NCC)
+         NCC*)
            # NonStop-UX NCC 3.20
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            ;;
@@ -5893,6 +6065,16 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       esac
+       ;;
 
     mingw* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
@@ -5928,12 +6110,19 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       ;;
 
     linux*)
-      case $CC in
+      case $cc_basename in
       icc* | ecc*)
        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
+      pgcc* | pgf77* | pgf90*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
       ccc*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         # All Alpha code is PIC.
@@ -5954,9 +6143,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       ;;
 
     solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -5978,6 +6172,11 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       fi
       ;;
 
+    unicos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
     uts4*)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -6038,7 +6237,7 @@ ifelse([$1],[CXX],[
     _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   *)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -6081,7 +6280,8 @@ ifelse([$1],[CXX],[
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
-
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
   case $host_os in
   cygwin* | mingw* | pw32*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
@@ -6100,7 +6300,28 @@ ifelse([$1],[CXX],[
   if test "$with_gnu_ld" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
-
+    
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+    
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -6151,7 +6372,7 @@ EOF
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_AC_TAGVAR(always_export_symbols, $1)=no
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
@@ -6165,7 +6386,37 @@ EOF
        fi~
        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
       else
-       ld_shlibs=no
+       _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
@@ -6207,31 +6458,6 @@ EOF
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_cmds, $1)="$tmp_archive_cmds"
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ [01].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="$tmp_archive_cmds"
-      fi
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -6242,16 +6468,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
-      runpath_var=LD_RUN_PATH
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-      fi
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -6315,7 +6536,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
       if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
+       case $host_os in aix4.[[012]]|aix4.[[012]].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
          collect2name=`${CC} -print-prog-name=collect2`
@@ -6336,6 +6557,9 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
          fi
        esac
        shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -6394,7 +6618,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
 
-    bsdi4*)
+    bsdi[[45]]*)
       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
       ;;
 
@@ -6415,57 +6639,57 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
       _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       case "$host_os" in
-      rhapsody* | darwin1.[[012]])
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
-       ;;
-      *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[[012]])
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-       ;;
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
       esac
-       lt_int_apple_cc_single_mod=no
-       output_verbose_link_cmd='echo'
-       if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-         lt_int_apple_cc_single_mod=yes
-       fi
-       if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-       else
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      fi
-      _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-        if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        else
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        fi
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
     fi
       ;;
 
@@ -6499,7 +6723,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd* | kfreebsd*-gnu | dragonfly*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
@@ -6610,6 +6834,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
       else
@@ -6655,7 +6880,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -6674,10 +6899,12 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
     solaris*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -6686,8 +6913,18 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       case $host_os in
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+       *)
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
@@ -6950,7 +7187,7 @@ lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
 # along with /bin/sed that truncates output.
 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && break
+  test ! -f $lt_ac_sed && continue
   cat /dev/null > conftest.in
   lt_ac_count=0
   echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -6975,7 +7212,7 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
     fi
   done
 done
-SED=$lt_cv_path_SED
 ])
+SED=$lt_cv_path_SED
 AC_MSG_RESULT([$SED])
 ])
index 1402b2e40795baa4e926af3e68adf63c218bf511..b9f8d523b5205eacec1fe865d6a5d901b25a33bb 100644 (file)
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.8.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-#                                                        -*- Autoconf -*-
-# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
-# Generated from amversion.in; do not edit by hand.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"])
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
 
 # AM_SET_CURRENT_AUTOMAKE_VERSION
 # -------------------------------
 # Call AM_AUTOMAKE_VERSION so it can be traced.
 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-        [AM_AUTOMAKE_VERSION([1.8.4])])
-
-# AM_AUX_DIR_EXPAND
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+        [AM_AUTOMAKE_VERSION([1.9.5])])
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
@@ -106,26 +83,16 @@ AC_PREREQ([2.50])dnl
 am_aux_dir=`cd $ac_aux_dir && pwd`
 ])
 
-# AM_CONDITIONAL                                              -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
+# AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 6
+# serial 7
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
@@ -145,30 +112,19 @@ else
 fi
 AC_CONFIG_COMMANDS_PRE(
 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.])
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# serial 7                                             -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
 # Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
+# serial 8
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -177,7 +133,6 @@ fi])])
 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
 
 
-
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
@@ -317,26 +272,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])
 ])
 
-# Generate code to set up dependency tracking.   -*- Autoconf -*-
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-#serial 2
+#serial 3
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
@@ -355,27 +300,21 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
   else
     continue
   fi
-  grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
-  # Extract the definition of DEP_FILES from the Makefile without
-  # running `make'.
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
   DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
   test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
   # When using ansi2knr, U may be empty or an underscore; expand it
   U=`sed -n 's/^U = //p' < "$mf"`
-  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
-  # We invoke sed twice because it is the simplest approach to
-  # changing $(DEPDIR) to its actual value in the expansion.
-  for file in `sed -n '
-    /^DEP_FILES = .*\\\\$/ {
-      s/^DEP_FILES = //
-      :loop
-       s/\\\\$//
-       p
-       n
-       /\\\\$/ b loop
-      p
-    }
-    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
@@ -401,54 +340,31 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
      [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
 ])
 
-# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 7
+# serial 8
 
 # AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
 AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
 
-# Do all the work for Automake.                            -*- Autoconf -*-
+# Do all the work for Automake.                             -*- Autoconf -*-
 
-# This macro actually does too much some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 # Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# serial 12
 
-# serial 11
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
 
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
@@ -506,7 +422,6 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_MISSING_PROG(AMTAR, tar)
 AM_PROG_INSTALL_SH
 AM_PROG_INSTALL_STRIP
 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
@@ -515,7 +430,9 @@ AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+                            [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
                   [_AM_DEPENDENCIES(CC)],
@@ -549,51 +466,27 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
 
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 AC_SUBST(install_sh)])
 
-#                                                          -*- Autoconf -*-
-# Copyright (C) 2003  Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
@@ -608,26 +501,14 @@ fi
 rmdir .tst 2>/dev/null
 AC_SUBST([am__leading_dot])])
 
-
-# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
 # Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 4
+# serial 5
 
 # AM_PROG_LEX
 # -----------
@@ -641,26 +522,15 @@ if test "$LEX" = :; then
   LEX=${am_missing_run}flex
 fi])
 
-# Check to see how 'make' treats includes.     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -704,27 +574,16 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-#  -*- Autoconf -*-
-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 3
+# serial 4
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -750,27 +609,16 @@ else
 fi
 ])
 
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
 # AM_PROG_MKDIR_P
 # ---------------
 # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
+#
 # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
 # created by `make install' are always world readable, even if the
 # installer happens to have an overly restrictive umask (e.g. 077).
@@ -791,13 +639,21 @@ fi
 # this.)
 AC_DEFUN([AM_PROG_MKDIR_P],
 [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-  # Keeping the `.' argument allows $(mkdir_p) to be used without
-  # argument.  Indeed, we sometimes output rules like
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
   #   $(mkdir_p) $(somedir)
-  # where $(somedir) is conditionally defined.
-  # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
-  # expensive solution, as it forces Make to start a sub-shell.)
-  mkdir_p='mkdir -p -- .'
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
 else
   # On NextStep and OpenStep, the `mkdir' command does not
   # recognize any option.  It will interpret all options as
@@ -816,26 +672,15 @@ else
 fi
 AC_SUBST([mkdir_p])])
 
-# Helper functions for option handling.                    -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# Helper functions for option handling.                     -*- Autoconf -*-
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -860,28 +705,16 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-#
-# Check to make sure that the build environment is sane.
-#
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 3
+# serial 4
 
 # AM_SANITY_CHECK
 # ---------------
@@ -924,25 +757,14 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
-# AM_PROG_INSTALL_STRIP
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
+# AM_PROG_INSTALL_STRIP
+# ---------------------
 # One issue with vendor `install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
@@ -963,4 +785,100 @@ fi
 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
 m4_include([acinclude.m4])
index 66a34be8b202e4514f7d035e7be1b2e83933f7dd..9648a111dd52d99067d6cba8886d08859401f61a 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -37,7 +37,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = amplot
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/amcat.awk.in $(srcdir)/amplot.sh.in
@@ -54,6 +56,12 @@ sbinSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 SCRIPTS = $(sbin_SCRIPTS)
 SOURCES =
 DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 amplotDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(amplot_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -213,6 +221,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -323,7 +333,7 @@ install-amplotDATA: $(amplot_DATA)
        test -z "$(amplotdir)" || $(mkdir_p) "$(DESTDIR)$(amplotdir)"
        @list='$(amplot_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         f=$(am__strip_dir) \
          echo " $(amplotDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(amplotdir)/$$f'"; \
          $(amplotDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(amplotdir)/$$f"; \
        done
@@ -331,7 +341,7 @@ install-amplotDATA: $(amplot_DATA)
 uninstall-amplotDATA:
        @$(NORMAL_UNINSTALL)
        @list='$(amplot_DATA)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         f=$(am__strip_dir) \
          echo " rm -f '$(DESTDIR)$(amplotdir)/$$f'"; \
          rm -f "$(DESTDIR)$(amplotdir)/$$f"; \
        done
@@ -396,7 +406,7 @@ clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
        -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -456,8 +466,9 @@ uninstall-am: uninstall-amplotDATA uninstall-info-am \
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
        distclean distclean-generic distclean-libtool distdir dvi \
        dvi-am html html-am info info-am install install-am \
-       install-amplotDATA install-data install-data-am install-exec \
-       install-exec-am install-info install-info-am install-man \
+       install-amplotDATA install-data install-data-am \
+       install-data-hook install-exec install-exec-am \
+       install-exec-hook install-info install-info-am install-man \
        install-sbinSCRIPTS install-strip installcheck installcheck-am \
        installdirs maintainer-clean maintainer-clean-generic \
        mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
index 7510aadb2f3bdf37e9ef5f17a03dd78883c691e9..e2c3e845338ae382d8aeefee9396e0c51fc61bfc 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -39,7 +39,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 libexec_PROGRAMS = $(am__EXEEXT_2)
 EXTRA_PROGRAMS = $(am__EXEEXT_1)
 subdir = changer-src
@@ -90,21 +92,13 @@ SCRIPTS = $(libexec_SCRIPTS)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/chg-scsi-chio.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/chg-scsi.Po ./$(DEPDIR)/scsi-aix.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/scsi-bsd.Po ./$(DEPDIR)/scsi-cam.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/scsi-changer-driver.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/scsi-chio.Po ./$(DEPDIR)/scsi-hpux.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/scsi-hpux_new.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/scsi-irix.Po ./$(DEPDIR)/scsi-linux.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/scsi-solaris.Po ./$(DEPDIR)/sense.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(chg_scsi_SOURCES) $(chg_scsi_chio_SOURCES)
 DIST_SOURCES = $(chg_scsi_SOURCES) $(chg_scsi_chio_SOURCES)
@@ -267,6 +261,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -465,24 +461,21 @@ distclean-compile:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
@@ -516,7 +509,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -596,7 +589,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -660,7 +653,7 @@ uninstall-am: uninstall-info-am uninstall-libexecPROGRAMS \
        distclean-compile distclean-generic distclean-libtool \
        distclean-tags distdir dvi dvi-am html html-am info info-am \
        install install-am install-data install-data-am install-exec \
-       install-exec-am install-info install-info-am \
+       install-exec-am install-exec-hook install-info install-info-am \
        install-libexecPROGRAMS install-libexecSCRIPTS install-man \
        install-strip installcheck installcheck-am installdirs \
        maintainer-clean maintainer-clean-generic mostlyclean \
index 3e0a368b073ab660d9ef4c0494ee5c6310b892a1..366cc590d12b4eb0567254152d3fd6de699ef2d9 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -41,7 +41,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 libexec_PROGRAMS = amandad$(EXEEXT) calcsize$(EXEEXT) \
        killpgrp$(EXEEXT) rundump$(EXEEXT) runtar$(EXEEXT) \
        amqde$(EXEEXT) selfcheck$(EXEEXT) sendbackup$(EXEEXT) \
@@ -58,7 +60,14 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config/config.h
 CONFIG_CLEAN_FILES = patch-system.sh
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(sbindir)"
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libexecdir)" \
+       "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(sbindir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libamclient_la_LIBADD =
@@ -144,26 +153,13 @@ SCRIPTS = $(libexec_SCRIPTS) $(sbin_SCRIPTS)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/amandad.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amandates.Plo ./$(DEPDIR)/amqde.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/calcsize.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/client_util.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/findpass.Plo ./$(DEPDIR)/getfsent.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/getfsent.test.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/killpgrp.Po ./$(DEPDIR)/rundump.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/runtar.Po ./$(DEPDIR)/selfcheck.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/sendbackup-dump.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/sendbackup-gnutar.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/sendbackup.Po ./$(DEPDIR)/sendsize.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/unctime.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/versionsuffix.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libamclient_la_SOURCES) amandad.c amqde.c calcsize.c \
        $(getfsent_SOURCES) killpgrp.c rundump.c runtar.c selfcheck.c \
@@ -331,6 +327,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -444,7 +442,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          if test -f $$p; then \
-           f="`echo $$p | sed -e 's|^.*/||'`"; \
+           f=$(am__strip_dir) \
            echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
            $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
          else :; fi; \
@@ -452,8 +450,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 
 uninstall-libLTLIBRARIES:
        @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-           p="`echo $$p | sed -e 's|^.*/||'`"; \
+       @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         p=$(am__strip_dir) \
          echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
          $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
        done
@@ -462,7 +460,7 @@ clean-libLTLIBRARIES:
        -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" = "$$p" && dir=.; \
+         test "$$dir" != "$$p" || dir=.; \
          echo "rm -f \"$${dir}/so_locations\""; \
          rm -f "$${dir}/so_locations"; \
        done
@@ -597,24 +595,21 @@ distclean-compile:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
@@ -648,7 +643,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -729,7 +724,7 @@ clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
        -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -796,14 +791,14 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
        distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
-       install-data-am install-exec install-exec-am install-info \
-       install-info-am install-libLTLIBRARIES install-libexecPROGRAMS \
-       install-libexecSCRIPTS install-man install-sbinSCRIPTS \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags uninstall uninstall-am \
-       uninstall-info-am uninstall-libLTLIBRARIES \
+       install-data-am install-exec install-exec-am install-exec-hook \
+       install-info install-info-am install-libLTLIBRARIES \
+       install-libexecPROGRAMS install-libexecSCRIPTS install-man \
+       install-sbinSCRIPTS install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+       uninstall-am uninstall-info-am uninstall-libLTLIBRARIES \
        uninstall-libexecPROGRAMS uninstall-libexecSCRIPTS \
        uninstall-sbinSCRIPTS
 
index d0e48fb60d84831018c8b58c349703c1fccb68b7..2e1e052c18442f602c854396346cf946bdd324e1 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: amandad.c,v 1.32.2.4.4.1.2.6.2.1 2004/02/13 14:01:07 martinea Exp $
+ * $Id: amandad.c,v 1.32.2.4.4.1.2.6.2.2 2005/09/20 21:31:52 jrjackson Exp $
  *
  * handle client-host side of Amanda network communications, including
  * security checks, execution of the proper service, and acking the
@@ -84,7 +84,6 @@ int argc;
 char **argv;
 {
     int n;
-    int fd;
     char *errstr = NULL;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
@@ -112,16 +111,7 @@ char **argv;
     struct service_s *servp;
     fd_set insock;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     /*
index aa95bb2371911591daa5937f9cd880ebf97f4fec..5ca13fac43c094136d0aefc89eb24813bfbf43ed 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: calcsize.c,v 1.24.2.3.6.1.2.3 2005/02/09 17:56:52 martinea Exp $
+ * $Id: calcsize.c,v 1.24.2.3.6.1.2.5 2005/09/20 21:31:52 jrjackson Exp $
  *
  * traverse directory tree to get backup size estimates
  */
@@ -108,17 +108,8 @@ char **argv;
     unsigned long dump_total=0, gtar_total=0;
     char *d;
     int l, w;
-    int fd;
-
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+
+    safe_fd(-1, 0);
 
     set_pname("calcsize");
 
@@ -142,24 +133,14 @@ char **argv;
 #else
     int i;
     char *dirname=NULL, *amname=NULL, *filename=NULL;
-    int fd;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
+    safe_cd();
 
     set_pname("calcsize");
 
-    safe_cd();
-
     malloc_size_1 = malloc_inuse(&malloc_hist_1);
 
 #if 0
@@ -171,7 +152,7 @@ char **argv;
     /* need at least program, amname, and directory name */
 
     if(argc < 3) {
-       error("Usage: %s [DUMP|GNUTAR%s] name dir [-X exclude-file] [-I include-file] [level date]*",
+       error("Usage: %s [DUMP|GNUTAR] name dir [-X exclude-file] [-I include-file] [level date]*",
              get_pname());
        return 1;
     }
index 557fee618a94017b2d8ad3438cc6bbeb62437a41..fce4c7e0eeaf8f90f457c0dc3227a713f557d264 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: client_util.c,v 1.1.2.27 2003/07/02 17:03:32 martinea Exp $
+ * $Id: client_util.c,v 1.1.2.27.2.1 2005/10/11 14:50:00 martinea Exp $
  *
  */
 
@@ -75,6 +75,7 @@ int n;
 
 static char *build_name(disk, exin, verbose)
 char *disk, *exin;
+int verbose;
 {
     int n=0, fd=-1;
     char *filename = NULL;
@@ -153,6 +154,7 @@ char *disk, *exin;
 static int add_exclude(file_exclude, aexc, verbose)
 FILE *file_exclude;
 char *aexc;
+int verbose;
 {
     int l;
 
@@ -169,6 +171,7 @@ static int add_include(disk, device, file_include, ainc, verbose)
 char *disk, *device;
 FILE *file_include;
 char *ainc;
+int verbose;
 {
     int l;
     int nb_exp=0;
index 0c18fd5dda2b9ef9075ce8cfae710ca59116763d..f191fc14341b22311361f31d718af9a9bccd120f 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: getfsent.c,v 1.20.4.1.2.2.2.6 2003/03/17 18:50:11 martinea Exp $
+ * $Id: getfsent.c,v 1.20.4.1.2.2.2.6.2.2 2005/09/30 19:13:36 martinea Exp $
  *
  * generic version of code to read fstab
  */
@@ -611,21 +611,12 @@ int main(argc, argv)
     char **argv;
 {
     generic_fsent_t fsent;
-    int fd;
     char *s;
     char *name = NULL;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("getfsent");
 
index 9c12141a03ff4a5542e92104d64b3ec449890a32..f21944f1fd6bb0cf5ff73383246e8b6738ace175 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: killpgrp.c,v 1.8.4.2.4.1 2002/10/27 14:31:18 martinea Exp $
+ * $Id: killpgrp.c,v 1.8.4.2.4.1.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * if it is the process group leader, it kills all processes in its
  * process group when it is killed itself.
@@ -52,18 +52,8 @@ int argc;
 char **argv;
 {
     amwait_t status;
-    int fd;
-
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
 
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("killpgrp");
index 26814e6173a93e42a6b087d0f9df47115d319b01..d25f2f3cf0d73123e5c28572d2e5a0af8d788c4c 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: rundump.c,v 1.23.2.3.6.1 2002/10/27 14:31:18 martinea Exp $
+ * $Id: rundump.c,v 1.23.2.3.6.1.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * runs DUMP program as root
  */
@@ -56,18 +56,8 @@ char **argv;
     int i;
     char *e;
 #endif /* ERRMSG */
-    int fd;
-
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
 
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("rundump");
index c8e9e6b4f504fb6278ff6e34a372f852964ac185..da6d9fc741c674dbdbc4072d8909bc48a0ffbcac 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: runtar.c,v 1.11.4.2.6.1 2002/10/27 14:31:18 martinea Exp $
+ * $Id: runtar.c,v 1.11.4.2.6.1.2.3 2005/09/30 19:08:04 martinea Exp $
  *
  * runs GNUTAR program as root
  */
@@ -39,20 +39,11 @@ char **argv;
 {
 #ifdef GNUTAR
     int i;
-#endif
-    int fd;
     char *e;
+    char *dbf;
+#endif
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("runtar");
@@ -91,10 +82,17 @@ char **argv;
     for (i=0; argv[i]; i++)
        dbprintf(("%s ", argv[i]));
     dbprintf(("\n"));
+    dbf = dbfn();
+    if (dbf) {
+       dbf = stralloc(dbf);
+    }
+    dbclose();
 
     execve(GNUTAR, argv, safe_env());
 
     e = strerror(errno);
+    dbreopen(dbf, "more");
+    amfree(dbf);
     dbprintf(("execve of %s failed (%s)\n", GNUTAR, e));
     dbclose();
 
index a82af7c4c9c4d5c71698884776e8b446eb09ee32..4f08d1ef873583ff413834a3c1398465b8fec963 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /* 
- * $Id: selfcheck.c,v 1.40.2.3.4.4.2.22.2.2 2004/08/12 12:30:53 martinea Exp $
+ * $Id: selfcheck.c,v 1.40.2.3.4.4.2.22.2.3 2005/09/20 21:31:52 jrjackson Exp $
  *
  * do self-check and send back any error messages
  */
@@ -90,23 +90,13 @@ char **argv;
     char *err_extra = NULL;
     char *s, *fp;
     int ch;
-    int fd;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
     option_t *options;
 
     /* initialize */
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("selfcheck");
index f0a3af5f366937d9e4b247d17effd14ecae4aace..75af415e73d850a43b7b56309d98513c643afafa 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendbackup-dump.c,v 1.65.2.5.4.2.2.9 2003/02/05 02:11:26 martinea Exp $
+ * $Id: sendbackup-dump.c,v 1.65.2.5.4.2.2.9.2.1 2005/09/20 18:13:08 jrjackson Exp $
  *
  * send backup data using BSD dump
  */
@@ -95,6 +95,7 @@ static regex_t re_table[] = {
   AM_NORMAL_RE("^vdump:"),                             /* OSF/1 */
   AM_NORMAL_RE("^ *vxdump:"),                          /* HPUX10 */
   AM_NORMAL_RE("^ *vxfs *vxdump:"),                    /* Solaris */
+  AM_NORMAL_RE("^Dumping .* to stdout"),               /* Solaris vxdump */
   AM_NORMAL_RE("^xfsdump:"),                           /* IRIX xfs */
   AM_NORMAL_RE("^ *VXDUMP:"),                          /* Sinix */
   AM_NORMAL_RE("^ *UFSDUMP:"),                         /* Sinix */
index 077dca421c2ba6ab29163cb524d55be0c8ed8e45..666796e2bcc4eff097783acc607fba8579128ffb 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendbackup-gnutar.c,v 1.56.2.15.4.4.2.11.2.1 2004/08/31 13:39:08 martinea Exp $
+ * $Id: sendbackup-gnutar.c,v 1.56.2.15.4.4.2.11.2.2 2005/06/23 08:46:07 weichinger Exp $
  *
  * send backup data using GNU tar
  */
@@ -118,6 +118,7 @@ static regex_t re_table[] = {
 #if SAMBA_VERSION >= 2
   /* Backup attempt of nonexisting directory */
   AM_ERROR_RE("ERRDOS - ERRbadpath (Directory invalid.)"),
+  AM_NORMAL_RE("^Domain="),
 #endif
 
   /* catch-all: DMP_STRANGE is returned for all other lines */
index fd71862517aa81e17977217e612c718874066f47..e8050448a6544d6b2f298187ac0d835b233fd17d 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendbackup.c,v 1.44.2.9.4.4.2.16 2004/01/14 12:59:12 martinea Exp $
+ * $Id: sendbackup.c,v 1.44.2.9.4.4.2.16.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * common code for the sendbackup-* programs.
  */
@@ -152,22 +152,14 @@ char **argv;
     int ch;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
-    int fd;
 
     /* initialize */
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
 #ifdef KRB4_SECURITY
-       if (fd != KEY_PIPE)     /* XXX interface needs to be fixed */
+    safe_fd(KEY_PIPE, 1);              /* XXX interface needs to be fixed */
+#else
+    safe_fd(-1, 0);
 #endif
-               close(fd);
-    }
 
     safe_cd();
 
index b7bf68815c8a3298806f372738a169d05eacd1ad..106b35bc62016ad26df85c174db72d35f94dff16 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendsize.c,v 1.97.2.13.4.6.2.23.2.3 2005/04/06 12:31:04 martinea Exp $
+ * $Id: sendsize.c,v 1.97.2.13.4.6.2.23.2.5 2005/09/20 21:31:52 jrjackson Exp $
  *
  * send estimated backup sizes using dump
  */
@@ -119,7 +119,6 @@ char **argv;
     char *s, *fp;
     int ch;
     char *err_extra = NULL;
-    int fd;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
     int done;
@@ -129,16 +128,7 @@ char **argv;
 
     /* initialize */
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("sendsize");
@@ -557,6 +547,7 @@ disk_estimates_t *est;
 #ifdef SAMBA_CLIENT
          if (est->amdevice[0] == '/' && est->amdevice[1] == '/')
            dbprintf(("%s: Can't use CALCSIZE for samba estimate: %s %s\n",
+                     debug_prefix_time(NULL),
                      est->amname, est->dirname));
          else
 #endif
index 0eb16e588885903f289c752fbdeef28ebc904c9c..4d60148e17d3f86cbd4ec0c72397797571c91f48 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: versionsuffix.c,v 1.6 1998/07/04 00:18:28 oliva Exp $
+ * $Id: versionsuffix.c,v 1.6.12.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * prints the (possibly empty) suffix appended to amanda program names
  */
 
 int main()
 {
-       int fd;
-
-       for(fd = 3; fd < FD_SETSIZE; fd++) {
-               /*
-                * Make sure nobody spoofs us with a lot of extra open files
-                * that would cause an open we do to get a very high file
-                * descriptor, which in turn might be used as an index into
-                * an array (e.g. an fd_set).
-                */
-               close(fd);
-       }
+       safe_fd(-1, 0);
 
        set_pname("versionsuffix");
 
index a562d6e0ef75186a27c456160283e9e2cc5f7228..c06902efbf6e1b0914887a58a68bedc334f7c6e7 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -39,7 +39,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 EXTRA_PROGRAMS = genversion$(EXEEXT) $(am__EXEEXT_1)
 subdir = common-src
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
@@ -54,6 +56,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config/config.h
 CONFIG_CLEAN_FILES = versuff.c
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
@@ -92,36 +100,13 @@ token_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Plo $(DEPDIR)/getcwd.Plo \
-@AMDEP_TRUE@   $(DEPDIR)/memmove.Plo $(DEPDIR)/mktime.Plo \
-@AMDEP_TRUE@   $(DEPDIR)/snprintf.Plo $(DEPDIR)/strcasecmp.Plo \
-@AMDEP_TRUE@   $(DEPDIR)/strerror.Plo $(DEPDIR)/strftime.Plo \
-@AMDEP_TRUE@   $(DEPDIR)/strncasecmp.Plo $(DEPDIR)/strstr.Plo \
-@AMDEP_TRUE@   $(DEPDIR)/waitpid.Plo ./$(DEPDIR)/alloc.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/amfeatures.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/amfeatures.test.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amflock.Plo ./$(DEPDIR)/clock.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/debug.Plo ./$(DEPDIR)/dgram.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/error.Plo ./$(DEPDIR)/file.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/file.test.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/fileheader.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/genversion.Po ./$(DEPDIR)/match.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/pipespawn.Plo ./$(DEPDIR)/protocol.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/regcomp.Plo ./$(DEPDIR)/regerror.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/regexec.Plo ./$(DEPDIR)/regfree.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/security.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/security.test.Po ./$(DEPDIR)/sl.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/statfs.Plo ./$(DEPDIR)/statfs.test.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/stream.Plo ./$(DEPDIR)/token.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/token.test.Po ./$(DEPDIR)/util.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/version.Plo ./$(DEPDIR)/versuff.Plo
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libamanda_la_SOURCES) $(amfeatures_SOURCES) \
        $(file_SOURCES) $(genversion_SOURCES) $(security_SOURCES) \
@@ -289,6 +274,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -422,7 +409,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          if test -f $$p; then \
-           f="`echo $$p | sed -e 's|^.*/||'`"; \
+           f=$(am__strip_dir) \
            echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
            $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
          else :; fi; \
@@ -430,8 +417,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 
 uninstall-libLTLIBRARIES:
        @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-           p="`echo $$p | sed -e 's|^.*/||'`"; \
+       @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         p=$(am__strip_dir) \
          echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
          $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
        done
@@ -440,7 +427,7 @@ clean-libLTLIBRARIES:
        -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" = "$$p" && dir=.; \
+         test "$$dir" != "$$p" || dir=.; \
          echo "rm -f \"$${dir}/so_locations\""; \
          rm -f "$${dir}/so_locations"; \
        done
@@ -517,24 +504,21 @@ distclean-compile:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
@@ -568,7 +552,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -649,7 +633,7 @@ clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
        -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
index 3d27dbcbc8f8913c71b040d8f65974e367da5470..f32ebf7c18b86c505bba95ecc347d1e42e2991a0 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amanda.h,v 1.66.2.7.4.5.2.12.2.4 2004/08/02 18:56:32 martinea Exp $
+ * $Id: amanda.h,v 1.66.2.7.4.5.2.12.2.6 2005/09/20 21:31:52 jrjackson Exp $
  *
  * the central header file included by all amanda sources
  */
@@ -373,6 +373,7 @@ extern int errno;
 
 #ifdef DEBUG_CODE                                                      /* { */
 #   define dbopen()    debug_open()
+#   define dbreopen(a,b) debug_reopen(a,b)
 #   define dbclose()   debug_close()
 #   define dbprintf(p) (debug? (debug_printf p, 0) : 0)
 #   define dbfd()      debug_fd()
@@ -380,6 +381,7 @@ extern int errno;
 #   define dbfn()      debug_fn()
 
 extern void debug_open P((void));
+extern void debug_reopen P((char *file, char *notation));
 extern void debug_close P((void));
 extern void debug_printf P((char *format, ...))
     __attribute__ ((format (printf, 1, 2)));
@@ -391,6 +393,7 @@ extern char *debug_prefix P((char *));
 extern char *debug_prefix_time P((char *));
 #else                                                                  /* }{ */
 #   define dbopen()
+#   define dbreopen(a,b)
 #   define dbclose()
 #   define dbprintf(p)
 #   define dbfd()      (-1)
@@ -540,6 +543,7 @@ extern void  *sbuf_man        P((void *bufs, void *ptr));
 extern uid_t  client_uid;
 extern gid_t  client_gid;
 extern void   safe_cd        P((void));
+extern void   safe_fd        P((int fd_start, int fd_count));
 extern void   save_core              P((void));
 extern char **safe_env        P((void));
 extern char  *validate_regexp P((char *regex));
index d27a857691088640d66a397baee9837442bc2054..528f7782eee66cf7c74f948618d6343f22be8781 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amflock.c,v 1.17.4.6.6.1 2003/10/22 17:43:33 martinea Exp $
+ * $Id: amflock.c,v 1.17.4.6.6.1.2.2 2005/10/06 17:26:36 martinea Exp $
  *
  * file locking routines, put here to hide the system dependant stuff
  * from the rest of the code
@@ -414,16 +414,6 @@ main()
     char *resn = "test";
     int fd;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
     unlink(filen);
     if ((lockfd = open(filen, O_RDONLY|O_CREAT|O_EXCL, 0600)) == -1) {
        perror (filen);
index ced7bc1cd1ee9f720ce43f214a5d8a7fc8c0494f..ce546bc37801dd89a44c482bf2d30a47cfee2696 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: debug.c,v 1.17.4.3.4.3.2.9 2003/01/04 17:46:09 martinea Exp $
+ * $Id: debug.c,v 1.17.4.3.4.3.2.9.2.1 2005/09/20 19:06:37 jrjackson Exp $
  *
  * debug log subroutines
  */
@@ -107,30 +107,25 @@ get_debug_name(t, n)
     return result;
 }
 
-void debug_open()
+static char *dbgdir = NULL;
+static time_t curtime;
+
+static void debug_setup_1()
 {
-    time_t curtime;
-    int saved_debug;
-    char *dbgdir = NULL;
+    struct passwd *pwent;
+    char *pname;
+    size_t pname_len;
     char *e = NULL;
     char *s = NULL;
-    char *dbfilename = NULL;
     DIR *d;
     struct dirent *entry;
-    char *pname;
-    size_t pname_len;
     int do_rename;
     char *test_name = NULL;
     size_t test_name_len;
-    int fd = -1;
-    int i;
     size_t d_name_len;
-    int fd_close[MIN_DB_FD+1];
-    struct passwd *pwent;
     struct stat sbuf;
-
-    pname = get_pname();
-    pname_len = strlen(pname);
+    char *dbfilename = NULL;
+    int i;
 
     if(client_uid == (uid_t) -1 && (pwent = getpwnam(CLIENT_LOGIN)) != NULL) {
        client_uid = pwent->pw_uid;
@@ -138,9 +133,13 @@ void debug_open()
        endpwent();
     }
 
+    pname = get_pname();
+    pname_len = strlen(pname);
+
     /*
      * Create the debug directory if it does not yet exist.
      */
+    amfree(dbgdir);
     dbgdir = stralloc2(AMANDA_DBGDIR, "/");
     if(mkpdir(dbgdir, 02700, client_uid, client_gid) == -1) {
         error("create debug directory \"%s\": %s",
@@ -211,25 +210,22 @@ void debug_open()
     amfree(s);
     amfree(test_name);
     closedir(d);
+}
+
+static void debug_setup_2(s, fd, notation)
+    char *s;
+    int fd;
+    char *notation;
+{
+    int saved_debug;
+    int i;
+    int fd_close[MIN_DB_FD+1];
 
-    /*
-     * Create the new file.
-     */
-    for(i = 0;
-       (dbfilename = get_debug_name(curtime, i)) != NULL
-       && (s = newvstralloc(s, dbgdir, dbfilename, NULL)) != NULL
-       && (fd = open(s, O_WRONLY|O_CREAT|O_EXCL|O_APPEND, 0600)) < 0;
-       i++, free(dbfilename)) {}
-    if(dbfilename == NULL) {
-       error("cannot create %s debug file", get_pname());
-    }
-    amfree(dbfilename);
     amfree(db_filename);
     db_filename = s;
     s = NULL;
     (void) chown(db_filename, client_uid, client_gid);
     amfree(dbgdir);
-
     /*
      * Move the file descriptor up high so it stays out of the way
      * of other processing, e.g. sendbackup.
@@ -244,15 +240,87 @@ void debug_open()
     }
     db_file = fdopen(db_fd, "a");
 
+    if (notation) {
+       /*
+        * Make the first debug log file entry.
+        */
+       saved_debug = debug; debug = 1;
+       debug_printf("%s: debug %d pid %ld ruid %ld euid %ld: %s at %s",
+                    get_pname(), saved_debug, (long)getpid(),
+                    (long)getuid(), (long)geteuid(),
+                    notation,
+                    ctime(&curtime));
+       debug = saved_debug;
+    }
+}
+
+void debug_open()
+{
+    char *dbfilename = NULL;
+    int fd = -1;
+    int i;
+    char *s = NULL;
+
     /*
-     * Make the first debug log file entry.
+     * Do initial setup.
      */
-    saved_debug = debug; debug = 1;
-    debug_printf("%s: debug %d pid %ld ruid %ld euid %ld: start at %s",
-                pname, saved_debug, (long)getpid(),
-                (long)getuid(), (long)geteuid(),
-                ctime(&curtime));
-    debug = saved_debug;
+    debug_setup_1();
+
+    /*
+     * Create the new file.
+     */
+    for(i = 0;
+       (dbfilename = get_debug_name(curtime, i)) != NULL
+       && (s = newvstralloc(s, dbgdir, dbfilename, NULL)) != NULL
+       && (fd = open(s, O_WRONLY|O_CREAT|O_EXCL|O_APPEND, 0600)) < 0;
+       i++, free(dbfilename)) {}
+    if(dbfilename == NULL) {
+       error("cannot create %s debug file", get_pname());
+    }
+    amfree(dbfilename);
+
+    /*
+     * Finish setup.
+     *
+     * Note: we release control of the string 's' points to.
+     */
+    debug_setup_2(s, fd, "start");
+}
+
+void debug_reopen(dbfilename, notation)
+    char *dbfilename;
+    char *notation;
+{
+    char *s = NULL;
+    int fd = -1;
+
+    if (dbfilename == NULL) {
+       return;
+    }
+
+    /*
+     * Do initial setup.
+     */
+    debug_setup_1();
+
+    /*
+     * Reopen the file.
+     */
+    if (*dbfilename == '/') {
+       s = stralloc(dbfilename);
+    } else {
+       s = newvstralloc(s, dbgdir, dbfilename, NULL);
+    }
+    if ((fd = open(s, O_RDWR|O_APPEND, 0600)) < 0) {
+       error("cannot reopen %s debug file %s", get_pname(), dbfilename);
+    }
+
+    /*
+     * Finish setup.
+     *
+     * Note: we release control of the string 's' points to.
+     */
+    debug_setup_2(s, fd, notation);
 }
 
 void debug_close()
index a7a418d189b1d5fdd517299e44edd85414458d2e..0e47b0142a4821b24a53597e65ad001b43e933de 100644 (file)
@@ -23,7 +23,7 @@
  * Author: AMANDA core development group.
  */
 /*
- * $Id: file.c,v 1.14.4.6.4.2.2.5 2003/01/01 23:28:52 martinea Exp $
+ * $Id: file.c,v 1.14.4.6.4.2.2.5.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * file and directory bashing routines
  */
@@ -243,6 +243,61 @@ safe_cd()
     }
 }
 
+/*
+ *=====================================================================
+ * Close all file descriptors except stdin, stdout and stderr.  Make
+ * sure they are open.
+ *
+ * void safe_fd (fd_start, fd_count)
+ *
+ * entry:      fd_start - start of fd-s to leave alone (or -1)
+ *             fd_count - count of fd-s to leave alone
+ * exit:       none
+ *
+ * On exit, all three standard file descriptors will be open and pointing
+ * someplace (either what we were handed or /dev/null) and all other
+ * file descriptors (up to FD_SETSIZE) will be closed.
+ *=====================================================================
+ */
+
+void
+safe_fd(fd_start, fd_count)
+    int                        fd_start;
+    int                        fd_count;
+{
+    int                        fd;
+
+    for(fd = 0; fd < FD_SETSIZE; fd++) {
+       if (fd < 3) {
+           /*
+            * Open three file descriptors.  If stdin, stdout and stderr
+            * are normal, i.e. open, we will open descriptor numbers
+            * 3 or higher which the rest of this loop will turn right
+            * around and close.  If one of the standard descriptors
+            * is not open it will end up pointing to /dev/null and the
+            * rest of the loop will leave it alone.
+            *
+            * This avoids, for instance, someone running us with stderr
+            * closed so that when we open some other file, messages
+            * sent to stderr do not accidentally get written to the
+            * wrong file.
+            */
+           (void) open("/dev/null", O_RDWR);
+       } else {
+           /*
+            * Make sure nobody spoofs us with a lot of extra open files
+            * that would cause an open we do to get a very high file
+            * descriptor, which in turn might be used as an index into
+            * an array (e.g. an fd_set).
+            */
+           if (fd < fd_start || fd >= fd_start + fd_count) {
+               close(fd);
+           }
+       }
+    }
+
+}
+
 /*
  *=====================================================================
  * Save an existing core file.
@@ -611,15 +666,7 @@ int main(argc, argv)
        char *file;
        char *line;
 
-       for(fd = 3; fd < FD_SETSIZE; fd++) {
-               /*
-                * Make sure nobody spoofs us with a lot of extra open files
-                * that would cause an open we do to get a very high file
-                * descriptor, which in turn might be used as an index into
-                * an array (e.g. an fd_set).
-                */
-               close(fd);
-       }
+       safe_fd(-1, 0);
 
        set_pname("file test");
 
index 65bc6f9ee115d5499e17d32a00459f0d70752087..78becebcb9f9a93e7c3ab2d63a7489a1962b0835 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: genversion.c,v 1.18.4.4.4.1.2.2 2003/10/07 17:10:08 martinea Exp $
+ * $Id: genversion.c,v 1.18.4.4.4.1.2.2.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * dump the current Amanda version info
  */
@@ -79,19 +79,10 @@ int main()
 {
     char line[STR_SIZE], *str = NULL;
     int  linelen, indent;
-    int fd;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("genversion");
 
index e023cdb728a2df691409e7edb972cc5f16ac298b..d991ab3ce539424d2ffa07c558f23b98f4b6d59f 100644 (file)
@@ -25,7 +25,7 @@
  *                         University of Maryland at College Park
  */
 /*
- * $Id: sl.c,v 1.1.2.2.2.1 2004/04/23 11:44:51 martinea Exp $
+ * $Id: sl.c,v 1.1.2.2.2.2 2005/09/30 19:01:53 martinea Exp $
  *
  * A doubly linked list of string (char *)
  */
@@ -107,7 +107,7 @@ char *name;
        sl = new_sl();
     }
 
-    for(b=sl->first; b != NULL < 0; b=b->next) {
+    for(b=sl->first; b != NULL; b=b->next) {
        int i = strcmp(b->name, name);
        if(i==0) return(sl); /* already there, no need to insert */
        if(i>0) break;
index c2b9bd9c23c044f729c30fb090a62b07337e922c..5ab78d9661d022f1bdfbbf96a5ebbf17678c4993 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: statfs.c,v 1.10.4.1 1999/05/23 17:11:18 oliva Exp $
+ * $Id: statfs.c,v 1.10.4.1.8.2 2005/09/30 19:13:36 martinea Exp $
  *
  * a generic statfs-like routine
  */
@@ -161,17 +161,8 @@ int argc;
 char **argv;
 {
     generic_fs_stats_t statbuf;
-    int fd;
-
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+
+    safe_fd(-1, 0);
 
     set_pname(argv[0]);
 
index 5fdc52adbf1e801c895a537d33ab4ac773275a40..100450d0e4b81246968b32378106af9b3c6fd2f9 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: stream.c,v 1.10.2.6.4.4.2.4 2002/11/12 19:19:03 martinea Exp $
+ * $Id: stream.c,v 1.10.2.6.4.4.2.4.2.1 2005/10/02 13:48:42 martinea Exp $
  *
  * functions for managing stream sockets
  */
@@ -150,7 +150,8 @@ stream_client_internal(hostname, port, sendsize, recvsize, localport, priv)
     char *hostname;
     int port, sendsize, recvsize, *localport, priv;
 {
-    int client_socket, len;
+    int client_socket;
+    socklen_t len;
 #ifdef SO_KEEPALIVE
     int on = 1;
     int r;
@@ -335,7 +336,7 @@ stream_client(hostname, port, sendsize, recvsize, localport)
 
 /* don't care about these values */
 static struct sockaddr_in addr;
-static int addrlen;
+static socklen_t addrlen;
 
 int stream_accept(server_socket, timeout, sendsize, recvsize)
 int server_socket, timeout, sendsize, recvsize;
index c56c9d199197f769853d5cd8e70d660ee7c9a802..dfe0212b89b090e84f9d24e393aad8ca1308d4c2 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: token.c,v 1.22.8.3 2003/10/22 17:32:33 kovert Exp $
+ * $Id: token.c,v 1.22.8.3.2.2 2005/09/30 19:13:36 martinea Exp $
  *
  * token bashing routines
  */
@@ -408,17 +408,8 @@ int main()
        int r;
        char *sr;
        int i;
-       int fd;
-
-       for(fd = 3; fd < FD_SETSIZE; fd++) {
-               /*
-                * Make sure nobody spoofs us with a lot of extra open files
-                * that would cause an open we do to get a very high file
-                * descriptor, which in turn might be used as an index into
-                * an array (e.g. an fd_set).
-                */
-               close(fd);
-       }
+
+       safe_fd(-1, 0);
 
        set_pname("token test");
 
index 7a56416e0d3d7cb5c7388893042f9a59f107d69e..ea8d231029da0eb3d08baa005fb859c90c0fbfc8 100644 (file)
@@ -1,10 +1,10 @@
 /* version.c - generated by genversion.c - DO NOT EDIT! */
 char *version_info[] = {
-  "build: VERSION=\"Amanda-2.4.5\"\n",
-  "       BUILT_DATE=\"Wed Apr 20 13:40:34 EDT 2005\"\n",
-  "       BUILT_MACH=\"Linux minifee.iro.umontreal.ca 2.6.10-1.771_FC2 #1 Mon Mar 28 00:50:14 EST 2005 i686 i686 i386 GNU/Linux\"\n",
+  "build: VERSION=\"Amanda-2.4.5p1\"\n",
+  "       BUILT_DATE=\"Mon Oct 24 17:25:18 EDT 2005\"\n",
+  "       BUILT_MACH=\"Linux minifee.iro.umontreal.ca 2.6.13-1.1526_FC4 #1 Wed Sep 28 19:15:10 EDT 2005 i686 i686 i386 GNU/Linux\"\n",
   "       CC=\"gcc\"\n",
-  "       CONFIGURE_COMMAND=\"'./configure' '--prefix=/u/martinea/linux' '--with-configdir=/u/martinea/etc/amanda' '--with-gnutar-listdir=/var/gnutar-lists' '--with-gnutar=/usr/local/amanda/bin/tar' '--with-bsd-security' '--with-user=amanda' '--with-group=amandag' '--disable-shared' '--mandir=/u/martinea/man'\"\n",
+  "       CONFIGURE_COMMAND=\"'./configure' '--prefix=/u/martinea/linux' '--with-configdir=/u/martinea/etc/amanda' '--with-gnutar-listdir=/var/gnutar-lists' '--with-bsd-security' '--with-user=amanda' '--with-group=amandag' '--disable-shared' '--mandir=/u/martinea/man'\"\n",
   "paths: bindir=\"/u/martinea/linux/bin\"\n",
   "       sbindir=\"/u/martinea/linux/sbin\"\n",
   "       libexecdir=\"/u/martinea/linux/libexec\"\n",
@@ -14,8 +14,7 @@ char *version_info[] = {
   "       RDEV_PREFIX=\"/dev/\" DUMP=\"/sbin/dump\"\n",
   "       RESTORE=\"/sbin/restore\" VDUMP=UNDEF VRESTORE=UNDEF\n",
   "       XFSDUMP=UNDEF XFSRESTORE=UNDEF VXDUMP=UNDEF VXRESTORE=UNDEF\n",
-  "       SAMBA_CLIENT=\"/usr/bin/smbclient\"\n",
-  "       GNUTAR=\"/usr/local/amanda/bin/tar\"\n",
+  "       SAMBA_CLIENT=\"/usr/bin/smbclient\" GNUTAR=\"/bin/gtar\"\n",
   "       COMPRESS_PATH=\"/usr/bin/gzip\"\n",
   "       UNCOMPRESS_PATH=\"/usr/bin/gzip\" LPRCMD=\"/usr/bin/lpr\"\n",
   "       MAILER=\"/usr/bin/Mail\" listed_incr_dir=\"/var/gnutar-lists\"\n",
index c4d081344c67214b708d8526710fec4c4990cf8a..4bdadc6379c2e20cb44dc86f1f7ef186db869407 100644 (file)
@@ -34,7 +34,7 @@
 const int   VERSION_MAJOR   = 2;
 const int   VERSION_MINOR   = 4;
 const int   VERSION_PATCH   = 5;
-const char *const VERSION_COMMENT = "";
+const char *const VERSION_COMMENT = "p1";
 
 char *
 versionsuffix()
index 0e63c9049c1cd98fb44ed6e317d72eebd03a7154..b88e5aba3094bc0dd4dcad54bcc5c598bdb08106 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -33,7 +33,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = config
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/config.h.in config.guess config.sub depcomp \
@@ -205,6 +207,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -363,7 +367,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 51fab4770970f7f000ce0a82ef95fef7b0c4e0e6..892833f9484bffa443384460ef3dd5ee86266cce 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2004-03-12'
+timestamp='2005-02-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
@@ -53,7 +53,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -203,15 +203,15 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     amiga:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    arc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
     cats:OpenBSD:*:*)
        echo arm-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
     hp300:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
+    luna88k:OpenBSD:*:*)
+       echo m88k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
     mac68k:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
@@ -227,21 +227,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     mvmeppc:OpenBSD:*:*)
        echo powerpc-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    pegasos:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    pmax:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
     sgi:OpenBSD:*:*)
-       echo mipseb-unknown-openbsd${UNAME_RELEASE}
+       echo mips64-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
     sun3:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
     *:OpenBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
@@ -307,9 +298,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # 1.2 uses "1.2" for uname -r.
        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
        exit 0 ;;
-    Alpha*:OpenVMS:*:*)
-       echo alpha-hp-vms
-       exit 0 ;;
     Alpha\ *:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # Should we change UNAME_MACHINE based on the output of uname instead
@@ -331,6 +319,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:OS/390:*:*)
        echo i370-ibm-openedition
        exit 0 ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit 0 ;;
     *:OS400:*:*)
         echo powerpc-ibm-os400
        exit 0 ;;
@@ -354,7 +345,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     DRS?6000:unix:4.0:6*)
        echo sparc-icl-nx6
        exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
        case `/usr/bin/uname -p` in
            sparc) echo sparc-icl-nx7 && exit 0 ;;
        esac ;;
@@ -764,7 +755,7 @@ EOF
        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     *:UNICOS/mp:*:*)
-       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -787,21 +778,7 @@ EOF
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit 0 ;;
     *:FreeBSD:*:*)
-       # Determine whether the default compiler uses glibc.
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #if __GLIBC__ >= 2
-       LIBC=gnu
-       #else
-       LIBC=
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
-       # FreeBSD's kernel, but not the complete OS.
-       case ${LIBC} in gnu) kernel_only='k' ;; esac
-       echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit 0 ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
@@ -827,6 +804,9 @@ EOF
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
        exit 0 ;;
+    amd64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit 0 ;;
     p*:CYGWIN*:*)
        echo powerpcle-unknown-cygwin
        exit 0 ;;
@@ -850,6 +830,12 @@ EOF
     cris:Linux:*:*)
        echo cris-axis-linux-gnu
        exit 0 ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit 0 ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit 0 ;;
     ia64:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit 0 ;;
@@ -1096,9 +1082,9 @@ EOF
     M680?0:D-NIX:5.3:*)
        echo m68k-diab-dnix
        exit 0 ;;
-    M68*:*:R3V[567]*:*)
+    M68*:*:R3V[5678]*:*)
        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
        OS_REL=''
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1196,9 +1182,10 @@ EOF
        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
        exit 0 ;;
     *:Darwin:*:*)
-       case `uname -p` in
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
            *86) UNAME_PROCESSOR=i686 ;;
-           powerpc) UNAME_PROCESSOR=powerpc ;;
+           unknown) UNAME_PROCESSOR=powerpc ;;
        esac
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit 0 ;;
@@ -1213,6 +1200,9 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit 0 ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit 0 ;;
     NSR-?:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit 0 ;;
@@ -1260,6 +1250,16 @@ EOF
     *:DragonFly:*:*)
        echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit 0 ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms && exit 0 ;;
+           I*) echo ia64-dec-vms && exit 0 ;;
+           V*) echo vax-dec-vms && exit 0 ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit 0 ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
index ba331039bb873ee5c5740459fc127af6d23578c1..d8fd2f8fa2f58cb9a31d7494d75d7ed8b7135dfe 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2004-03-12'
+timestamp='2005-02-10'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -70,7 +70,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -145,7 +145,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis)
+       -apple | -axis | -knuth | -cray)
                os=
                basic_machine=$1
                ;;
@@ -237,7 +237,7 @@ case $basic_machine in
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
-       | m32r | m32rle | m68000 | m68k | m88k | mcore \
+       | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -267,7 +267,7 @@ case $basic_machine in
        | tahoe | thumb | tic4x | tic80 | tron \
        | v850 | v850e \
        | we32k \
-       | x86 | xscale | xstormy16 | xtensa \
+       | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
        | z8k)
                basic_machine=$basic_machine-unknown
                ;;
@@ -300,7 +300,7 @@ case $basic_machine in
        | avr-* \
        | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-       | clipper-* | cydra-* \
+       | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
@@ -310,7 +310,7 @@ case $basic_machine in
        | ip2k-* | iq2000-* \
        | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | mcore-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -326,8 +326,9 @@ case $basic_machine in
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipstx39-* | mipstx39el-* \
+       | mmix-* \
        | msp430-* \
-       | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
@@ -342,8 +343,8 @@ case $basic_machine in
        | tron-* \
        | v850-* | v850e-* | vax-* \
        | we32k-* \
-       | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
-       | xtensa-* \
+       | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa-* \
        | ymp-* \
        | z8k-*)
                ;;
@@ -445,6 +446,10 @@ case $basic_machine in
                basic_machine=j90-cray
                os=-unicos
                ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
        cr16c)
                basic_machine=cr16c-unknown
                os=-elf
@@ -452,6 +457,9 @@ case $basic_machine in
        crds | unos)
                basic_machine=m68k-crds
                ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
        cris | cris-* | etrax*)
                basic_machine=cris-axis
                ;;
@@ -481,6 +489,10 @@ case $basic_machine in
                basic_machine=m88k-motorola
                os=-sysv3
                ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
        dpx20 | dpx20-*)
                basic_machine=rs6000-bull
                os=-bosx
@@ -659,10 +671,6 @@ case $basic_machine in
        mips3*)
                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
                ;;
-       mmix*)
-               basic_machine=mmix-knuth
-               os=-mmixware
-               ;;
        monitor)
                basic_machine=m68k-rom68k
                os=-coff
@@ -743,10 +751,6 @@ case $basic_machine in
        np1)
                basic_machine=np1-gould
                ;;
-       nv1)
-               basic_machine=nv1-cray
-               os=-unicosmp
-               ;;
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
@@ -1029,6 +1033,10 @@ case $basic_machine in
                basic_machine=hppa1.1-winbond
                os=-proelf
                ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
@@ -1059,6 +1067,9 @@ case $basic_machine in
        romp)
                basic_machine=romp-ibm
                ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
        rs6000)
                basic_machine=rs6000-ibm
                ;;
@@ -1294,6 +1305,9 @@ case $os in
        -kaos*)
                os=-kaos
                ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
        -none)
                ;;
        *)
@@ -1374,6 +1388,9 @@ case $basic_machine in
        *-ibm)
                os=-aix
                ;;
+       *-knuth)
+               os=-mmixware
+               ;;
        *-wec)
                os=-proelf
                ;;
index 25bdb188924c2471744f0567d126150d06ca5d07..ffcd540c3366d4ac158cd738c98d712460d99696 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2004-04-25.13
+scriptversion=2005-02-09.22
 
-# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -43,17 +43,18 @@ Environment variables:
   depmode     Dependency tracking mode.
   source      Source file read by `PROGRAMS ARGS'.
   object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
   tmpdepfile  Temporary file to use when outputing dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake@gnu.org>.
 EOF
-    exit 0
+    exit $?
     ;;
   -v | --v*)
     echo "depcomp $scriptversion"
-    exit 0
+    exit $?
     ;;
 esac
 
@@ -61,18 +62,10 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
 fi
-# `libtool' can also be set to `yes' or `no'.
-
-if test -z "$depfile"; then
-   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
-   dir=`echo "$object" | sed 's,/.*$,/,'`
-   if test "$dir" = "$object"; then
-      dir=
-   fi
-   # FIXME: should be _deps on DOS.
-   depfile="$dir.deps/$base"
-fi
 
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
@@ -294,33 +287,43 @@ tru64)
    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 
    if test "$libtool" = yes; then
-      # Dependencies are output in .lo.d with libtool 1.4.
-      # They are output in .o.d with libtool 1.5.
-      tmpdepfile1="$dir.libs/$base.lo.d"
-      tmpdepfile2="$dir.libs/$base.o.d"
-      tmpdepfile3="$dir.libs/$base.d"
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
       "$@" -Wc,-MD
    else
-      tmpdepfile1="$dir$base.o.d"
-      tmpdepfile2="$dir$base.d"
-      tmpdepfile3="$dir$base.d"
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
       "$@" -MD
    fi
 
    stat=$?
    if test $stat -eq 0; then :
    else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
       exit $stat
    fi
 
-   if test -f "$tmpdepfile1"; then
-      tmpdepfile="$tmpdepfile1"
-   elif test -f "$tmpdepfile2"; then
-      tmpdepfile="$tmpdepfile2"
-   else
-      tmpdepfile="$tmpdepfile3"
-   fi
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
       # That's a tab and a space in the [].
index e4160c991dc958a11b89654e365c72a13639f6b2..1a8353401c4223bf93e7d7dd76164de5400be672 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2004-04-01.17
+scriptversion=2005-02-02.21
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -58,9 +58,6 @@ stripprog="${STRIPPROG-strip}"
 rmprog="${RMPROG-rm}"
 mkdirprog="${MKDIRPROG-mkdir}"
 
-transformbasename=
-transform_arg=
-instcmd="$mvprog"
 chmodcmd="$chmodprog 0755"
 chowncmd=
 chgrpcmd=
@@ -70,23 +67,27 @@ mvcmd="$mvprog"
 src=
 dst=
 dir_arg=
+dstarg=
+no_target_directory=
 
-usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
    or: $0 [OPTION]... SRCFILES... DIRECTORY
-   or: $0 -d DIRECTORIES...
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
 
-In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
-In the second, create the directory path DIR.
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
 
 Options:
--b=TRANSFORMBASENAME
--c         copy source (using $cpprog) instead of moving (using $mvprog).
+-c         (ignored)
 -d         create directories instead of installing files.
--g GROUP   $chgrp installed files to GROUP.
--m MODE    $chmod installed files to MODE.
--o USER    $chown installed files to USER.
--s         strip installed files (using $stripprog).
--t=TRANSFORM
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
 --help     display this help and exit.
 --version  display version info and exit.
 
@@ -96,12 +97,7 @@ Environment variables override the default commands:
 
 while test -n "$1"; do
   case $1 in
-    -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-        shift
-        continue;;
-
-    -c) instcmd=$cpprog
-        shift
+    -c) shift
         continue;;
 
     -d) dir_arg=true
@@ -113,7 +109,7 @@ while test -n "$1"; do
         shift
         continue;;
 
-    --help) echo "$usage"; exit 0;;
+    --help) echo "$usage"; exit $?;;
 
     -m) chmodcmd="$chmodprog $2"
         shift
@@ -129,14 +125,20 @@ while test -n "$1"; do
         shift
         continue;;
 
-    -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-        shift
-        continue;;
+    -t) dstarg=$2
+       shift
+       shift
+       continue;;
 
-    --version) echo "$0 $scriptversion"; exit 0;;
+    -T) no_target_directory=true
+       shift
+       continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
 
     *)  # When -d is used, all remaining arguments are directories to create.
-       test -n "$dir_arg" && break
+       # When -t is used, the destination is already specified.
+       test -n "$dir_arg$dstarg" && break
         # Otherwise, the last argument is the destination.  Remove it from $@.
        for arg
        do
@@ -174,13 +176,13 @@ do
     src=
 
     if test -d "$dst"; then
-      instcmd=:
+      mkdircmd=:
       chmodcmd=
     else
-      instcmd=$mkdirprog
+      mkdircmd=$mkdirprog
     fi
   else
-    # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
     # might cause directories to be created, which would be especially bad
     # if $src (and thus $dsttmp) contains '*'.
     if test ! -f "$src" && test ! -d "$src"; then
@@ -202,12 +204,16 @@ do
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+       echo "$0: $dstarg: Is a directory" >&2
+       exit 1
+      fi
       dst=$dst/`basename "$src"`
     fi
   fi
 
   # This sed command emulates the dirname command.
-  dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
 
   # Make sure that the destination directory exists.
 
@@ -220,7 +226,8 @@ do
     oIFS=$IFS
     # Some sh's can't handle IFS=/ for some reason.
     IFS='%'
-    set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
     IFS=$oIFS
 
     pathcomp=
@@ -229,51 +236,42 @@ do
       pathcomp=$pathcomp$1
       shift
       if test ! -d "$pathcomp"; then
-        $mkdirprog "$pathcomp" || lasterr=$?
+        $mkdirprog "$pathcomp"
        # mkdir can fail with a `File exist' error in case several
        # install-sh are creating the directory concurrently.  This
        # is OK.
-       test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; }
+       test -d "$pathcomp" || exit
       fi
       pathcomp=$pathcomp/
     done
   fi
 
   if test -n "$dir_arg"; then
-    $doit $instcmd "$dst" \
+    $doit $mkdircmd "$dst" \
       && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
       && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
       && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
       && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
 
   else
-    # If we're going to rename the final executable, determine the name now.
-    if test -z "$transformarg"; then
-      dstfile=`basename "$dst"`
-    else
-      dstfile=`basename "$dst" $transformbasename \
-               | sed $transformarg`$transformbasename
-    fi
-
-    # don't allow the sed command to completely eliminate the filename.
-    test -z "$dstfile" && dstfile=`basename "$dst"`
+    dstfile=`basename "$dst"`
 
     # Make a couple of temp file names in the proper directory.
     dsttmp=$dstdir/_inst.$$_
     rmtmp=$dstdir/_rm.$$_
 
     # Trap to clean up those temp files at exit.
-    trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
     trap '(exit $?); exit' 1 2 13 15
 
-    # Move or copy the file name to the temp name
-    $doit $instcmd "$src" "$dsttmp" &&
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
 
     # and set any options; do chmod last to preserve setuid bits.
     #
     # If any of these fail, we abort the whole thing.  If we want to
     # ignore errors from any of these, just make sure not to ignore
-    # errors from the above "$doit $instcmd $src $dsttmp" command.
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
     #
     { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
       && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
@@ -298,7 +296,7 @@ do
               || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
               || {
                 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
-                (exit 1); exit
+                (exit 1); exit 1
               }
             else
               :
@@ -309,12 +307,12 @@ do
           $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
         }
     }
-  fi || { (exit 1); exit; }
+  fi || { (exit 1); exit 1; }
 done
 
 # The final little trick to "correctly" pass the exit status to the exit trap.
 {
-  (exit 0); exit
+  (exit 0); exit 0
 }
 
 # Local variables:
index 16f90d7b2b59f2461f1a9ebf0ffb1f69f0d22350..0b0e87cb72f3a3db13b3ac2db8164e96d090b74c 100644 (file)
@@ -1,26 +1,11 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
 ## Free Software Foundation, Inc.
 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-##
-## As a special exception to the GNU General Public License, if you
-## distribute this file as part of a program that contains a
-## configuration script generated by Autoconf, you may include it under
-## the same distribution terms that you use for the rest of that program.
+## This file is free software; the Free Software Foundation gives
+## unlimited permission to copy and/or distribute it, with or without
+## modifications, as long as this notice is preserved.
 
 # serial 47 AC_PROG_LIBTOOL
 
@@ -132,7 +117,7 @@ esac
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
 
 # Same as above, but do not quote variable references.
@@ -200,6 +185,8 @@ if test -n "$RANLIB"; then
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
+_LT_CC_BASENAME([$compiler])
+
 # Only perform the check for file, if the check method requires it
 case $deplibs_check_method in
 file_magic*)
@@ -245,6 +232,48 @@ compiler=$CC
 ])# _LT_AC_SYS_COMPILER
 
 
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
 # _LT_AC_SYS_LIBPATH_AIX
 # ----------------------
 # Links a minimal program and checks the executable
@@ -317,7 +346,7 @@ fi
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 if test -z "$ECHO"; then
 if test "X${echo_test_string+set}" != Xset; then
@@ -586,8 +615,10 @@ AC_CACHE_CHECK([$1], [$2],
    echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
      fi
    fi
@@ -618,6 +649,11 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
+       $SED '/^$/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
      else
        $2=yes
      fi
@@ -676,11 +712,38 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
- *)
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    # 
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  *)
     # If test is not a shell built-in, we'll probably end up computing a
     # maximum length that is only half of the actual maximum length, but
     # we can't tell.
-    while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
               = "XX$teststring") >/dev/null 2>&1 &&
            new_result=`expr "X$teststring" : ".*" 2>&1` &&
            lt_cv_sys_max_cmd_len=$new_result &&
@@ -946,7 +1009,9 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
      fi
    fi
@@ -1014,8 +1079,8 @@ AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
 [AC_MSG_CHECKING([how to hardcode library paths into programs])
 _LT_AC_TAGVAR(hardcode_action, $1)=
 if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
-   test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \
-   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then
+   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
 
   # We can hardcode non-existant directories.
   if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
@@ -1182,7 +1247,7 @@ beos*)
   shlibpath_var=LIBRARY_PATH
   ;;
 
-bsdi4*)
+bsdi[[45]]*)
   version_type=linux
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -1240,7 +1305,7 @@ cygwin* | mingw* | pw32*)
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
     ;;
@@ -1298,7 +1363,9 @@ kfreebsd*-gnu)
   dynamic_linker='GNU ld.so'
   ;;
 
-freebsd*)
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
   case $version_type in
@@ -1317,7 +1384,7 @@ freebsd*)
   freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -1441,10 +1508,27 @@ linux*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+    if AC_TRY_EVAL(ac_compile); then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  esac
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -1506,7 +1590,7 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -1672,7 +1756,9 @@ if test -f "$ltmain" && test -n "$tagnames"; then
 
       case $tagname in
       CXX)
-       if test -n "$CXX" && test "X$CXX" != "Xno"; then
+       if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+           ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+           (test "X$CXX" != "Xg++"))) ; then
          AC_LIBTOOL_LANG_CXX_CONFIG
        else
          tagname=""
@@ -2077,6 +2163,15 @@ case $reload_flag in
 *) reload_flag=" $reload_flag" ;;
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
 ])# AC_PROG_LD_RELOAD_FLAG
 
 
@@ -2110,7 +2205,7 @@ beos*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-bsdi4*)
+bsdi[[45]]*)
   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
   lt_cv_file_magic_cmd='/usr/bin/file -L'
   lt_cv_file_magic_test_file=/shlib/libc.so
@@ -2133,13 +2228,13 @@ darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu)
+freebsd* | kfreebsd*-gnu | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
       # Not sure whether the presence of OpenBSD here was a mistake.
       # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
       lt_cv_file_magic_cmd=/usr/bin/file
       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
       ;;
@@ -2183,15 +2278,6 @@ irix5* | irix6* | nonstopux*)
 
 # This must be Linux ELF.
 linux*)
-  case $host_cpu in
-  alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*)
-    lt_cv_deplibs_check_method=pass_all ;;
-  *)
-    # glibc up to 2.1.1 does not perform some relocations on ARM
-    # this will be overridden with pass_all, but let us keep it just in case
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
-  esac
-  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -2214,12 +2300,10 @@ nto-qnx*)
   ;;
 
 openbsd*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
   else
-    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   fi
   ;;
 
@@ -2409,10 +2493,21 @@ AC_DEFUN([AC_LIBTOOL_CXX],
 # ---------------
 AC_DEFUN([_LT_AC_LANG_CXX],
 [AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PROG_CXXCPP])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
 ])# _LT_AC_LANG_CXX
 
+# _LT_AC_PROG_CXXCPP
+# ---------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
 
 # AC_LIBTOOL_F77
 # --------------
@@ -2485,6 +2580,10 @@ lt_simple_link_test_code='int main(){return(0);}\n'
 
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 #
 # Check for any special shared library compilation flags.
 #
@@ -2551,43 +2650,6 @@ aix3*)
 aix4* | aix5*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-  darwin* | rhapsody*)
-  if test "$GCC" = yes; then
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    case "$host_os" in
-    rhapsody* | darwin1.[[012]])
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
-      ;;
-    *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[[012]])
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-      ;;
-    esac
-    output_verbose_link_cmd='echo'
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring'
-    _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-    # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-  else
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
   fi
     ;;
 esac
@@ -2614,7 +2676,7 @@ AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
 AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
 [AC_LANG_PUSH(C++)
 AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PROG_CXXCPP])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
 
 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
@@ -2658,6 +2720,10 @@ lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC=$CC
 lt_save_LD=$LD
@@ -2679,7 +2745,7 @@ test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 # We don't want -fno-exception wen compiling C++ code, so set the
 # no_builtin_flag separately
@@ -2786,7 +2852,7 @@ case $host_os in
     _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
     if test "$GXX" = yes; then
-      case $host_os in aix4.[012]|aix4.[012].*)
+      case $host_os in aix4.[[012]]|aix4.[[012]].*)
       # We only want to do this on AIX 4.2 and lower, the check
       # below for broken collect2 doesn't work under 4.3+
        collect2name=`${CC} -print-prog-name=collect2`
@@ -2807,6 +2873,9 @@ case $host_os in
        fi
       esac
       shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+       shared_flag="$shared_flag "'${wl}-G'
+      fi
     else
       # not using gcc
       if test "$host_cpu" = ia64; then
@@ -2866,6 +2935,7 @@ case $host_os in
     esac
     ;;
 
+
   cygwin* | mingw* | pw32*)
     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
     # as there is no search path for DLLs.
@@ -2889,65 +2959,76 @@ case $host_os in
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
   ;;
+      darwin* | rhapsody*)
+        case "$host_os" in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
-  darwin* | rhapsody*)
-  if test "$GXX" = yes; then
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    case "$host_os" in
-    rhapsody* | darwin1.[[012]])
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
-      ;;
-    *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[[012]])
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup'
-            ;;
-        esac
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
       fi
-      ;;
-    esac
-    lt_int_apple_cc_single_mod=no
-    output_verbose_link_cmd='echo'
-    if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-      lt_int_apple_cc_single_mod=yes
-    fi
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    else
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    fi
-    _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-
-    # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    else
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-  else
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-  fi
-    ;;
+        ;;
 
   dgux*)
     case $cc_basename in
-      ec++)
+      ec++*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      ghcx)
+      ghcx*)
        # Green Hills C++ Compiler
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -2958,14 +3039,14 @@ case $host_os in
        ;;
     esac
     ;;
-  freebsd[12]*)
+  freebsd[[12]]*)
     # C++ shared libraries reported to be fairly broken before switch to ELF
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   freebsd-elf*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     ;;
-  freebsd* | kfreebsd*-gnu)
+  freebsd* | kfreebsd*-gnu | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -2982,11 +3063,11 @@ case $host_os in
                                # location of the library.
 
     case $cc_basename in
-    CC)
+    CC*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
-    aCC)
+    aCC*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
@@ -2996,7 +3077,7 @@ case $host_os in
       # explicitly linking system object files so we need to strip them
       # from the output so that they don't get included in the library
       # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
       ;;
     *)
       if test "$GXX" = yes; then
@@ -3047,11 +3128,11 @@ case $host_os in
     esac
 
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      aCC)
+      aCC*)
        case "$host_cpu" in
        hppa*64*|ia64*)
          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
@@ -3091,9 +3172,9 @@ case $host_os in
     ;;
   irix5* | irix6*)
     case $cc_basename in
-      CC)
+      CC*)
        # SGI C++
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        # Archives containing C++ object files must be created using
        # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -3104,7 +3185,7 @@ case $host_os in
       *)
        if test "$GXX" = yes; then
          if test "$with_gnu_ld" = no; then
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
          else
            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
          fi
@@ -3117,7 +3198,7 @@ case $host_os in
     ;;
   linux*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -3142,17 +3223,41 @@ case $host_os in
        # "CC -Bstatic", where "CC" is the KAI C++ compiler.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
        ;;
-      icpc)
+      icpc*)
        # Intel C++
        with_gnu_ld=yes
+       # version 8.0 and above of icpc choke on multiply defined symbols
+       # if we add $predep_objects and $postdep_objects, however 7.1 and
+       # earlier do not add the objects themselves.
+       case `$CC -V 2>&1` in
+       *"Version 7."*)
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       *)  # Version 8.0 or newer
+         tmp_idyn=
+         case $host_cpu in
+           ia64*) tmp_idyn=' -i_dynamic';;
+         esac
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       esac
        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
        ;;
-      cxx)
+      pgCC*)
+        # Portland Group C++ compiler
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+        ;;
+      cxx*)
        # Compaq C++
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
@@ -3183,7 +3288,7 @@ case $host_os in
     ;;
   mvs*)
     case $cc_basename in
-      cxx)
+      cxx*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
@@ -3204,9 +3309,25 @@ case $host_os in
     # Workaround some broken pre-1.5 toolchains
     output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  openbsd*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
   osf3*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -3222,14 +3343,14 @@ case $host_os in
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
 
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      cxx)
+      cxx*)
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3247,7 +3368,7 @@ case $host_os in
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3266,7 +3387,7 @@ case $host_os in
     ;;
   osf4* | osf5*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -3281,17 +3402,17 @@ case $host_os in
        # the KAI C++ compiler.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      cxx)
+      cxx*)
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
          echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
          $rm $lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -3310,7 +3431,7 @@ case $host_os in
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3334,7 +3455,7 @@ case $host_os in
   sco*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
@@ -3346,12 +3467,12 @@ case $host_os in
     ;;
   sunos4*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.x
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      lcc)
+      lcc*)
        # Lucid
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -3364,7 +3485,7 @@ case $host_os in
     ;;
   solaris*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -3374,13 +3495,17 @@ case $host_os in
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
        case $host_os in
-         solaris2.[0-5] | solaris2.[0-5].*) ;;
+         solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
          *)
            # The C++ compiler is used as linker so we must use $wl
            # flag to pass the commands to the underlying system
-           # linker.
+           # linker. We must also pass each convience library through
+           # to the system linker between allextract/defaultextract.
+           # The C++ compiler will combine linker options so we
+           # cannot just pass the convience library names through
+           # without $wl.
            # Supported since Solaris 2.6 (maybe 2.5.1?)
-           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
            ;;
        esac
        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -3401,7 +3526,7 @@ case $host_os in
        # in the archive.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
        ;;
-      gcx)
+      gcx*)
        # Green Hills C++ Compiler
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 
@@ -3444,7 +3569,7 @@ case $host_os in
     ;;
   tandem*)
     case $cc_basename in
-      NCC)
+      NCC*)
        # NonStop-UX NCC 3.20
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -3680,12 +3805,16 @@ lt_simple_link_test_code="      program t\n      end\n"
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${F77-"f77"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 AC_MSG_CHECKING([if libtool supports shared libraries])
 AC_MSG_RESULT([$can_build_shared])
@@ -3704,7 +3833,9 @@ aix3*)
   fi
   ;;
 aix4* | aix5*)
-  test "$enable_shared" = yes && enable_static=no
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
   ;;
 esac
 AC_MSG_RESULT([$enable_shared])
@@ -3755,20 +3886,27 @@ _LT_AC_TAGVAR(objext, $1)=$objext
 lt_simple_compile_test_code="class foo {}\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${GCJ-"gcj"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
 
 # GCJ did not exist at the time GCC didn't implicitly link libc in.
 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
 
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
 ## CAVEAT EMPTOR:
 ## There is no encapsulation within the following macros, do not change
 ## the running order or otherwise move them around unless you know exactly
@@ -3815,11 +3953,16 @@ lt_simple_link_test_code="$lt_simple_compile_test_code"
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${RC-"windres"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
 
 AC_LIBTOOL_CONFIG($1)
@@ -3955,7 +4098,7 @@ ifelse([$1], [],
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -3966,11 +4109,11 @@ ifelse([$1], [],
 SED=$lt_SED
 
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e s/^X//"
+Xsed="$SED -e 1s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 # The names of the tagged configurations supported by this script.
 available_tags=
@@ -4001,6 +4144,12 @@ fast_install=$enable_fast_install
 # The host system.
 host_alias=$host_alias
 host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
 # An echo program that does not interpret backslashes.
 echo=$lt_echo
@@ -4077,7 +4226,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -4351,9 +4500,6 @@ symcode='[[BCDEGRST]]'
 # Regexp to match symbols that can be accessed directly from C.
 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
 
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
 # Transform an extracted symbol line into a proper C declaration
 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
 
@@ -4375,6 +4521,13 @@ hpux*) # Its linker distinguishes data from code symbols
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDGIRSTW]]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
 irix* | nonstopux*)
   symcode='[[BCDEGRST]]'
   ;;
@@ -4406,8 +4559,11 @@ esac
 # Try without a prefix undercore, then with it.
 for ac_symprfx in "" "_"; do
 
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
   # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[     ]]\($symcode$symcode*\)[[       ]][[    ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[     ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -4596,18 +4752,28 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       chorus*)
        case $cc_basename in
-       cxch68)
+       cxch68*)
          # Green Hills C++ Compiler
          # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
          ;;
        esac
        ;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           ;;
+         esac
+       ;;
       dgux*)
        case $cc_basename in
-         ec++)
+         ec++*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            ;;
-         ghcx)
+         ghcx*)
            # Green Hills C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
@@ -4615,19 +4781,19 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            ;;
        esac
        ;;
-      freebsd* | kfreebsd*-gnu)
+      freebsd* | kfreebsd*-gnu | dragonfly*)
        # FreeBSD uses GNU C++
        ;;
       hpux9* | hpux10* | hpux11*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            if test "$host_cpu" != ia64; then
              _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
            fi
            ;;
-         aCC)
+         aCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            case "$host_cpu" in
@@ -4645,7 +4811,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       irix5* | irix6* | nonstopux*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
            # CC pic flag -KPIC is the default.
@@ -4656,18 +4822,24 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       linux*)
        case $cc_basename in
-         KCC)
+         KCC*)
            # KAI C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
-         icpc)
+         icpc* | ecpc*)
            # Intel C++
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
            ;;
-         cxx)
+         pgCC*)
+           # Portland Group C++ compiler.
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           ;;
+         cxx*)
            # Compaq C++
            # Make sure the PIC flag is empty.  It appears that all Alpha
            # Linux and Compaq Tru64 Unix objects are PIC.
@@ -4684,7 +4856,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       mvs*)
        case $cc_basename in
-         cxx)
+         cxx*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
            ;;
          *)
@@ -4695,14 +4867,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       osf3* | osf4* | osf5*)
        case $cc_basename in
-         KCC)
+         KCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
            ;;
-         RCC)
+         RCC*)
            # Rational C++ 2.4.1
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
-         cxx)
+         cxx*)
            # Digital/Compaq C++
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            # Make sure the PIC flag is empty.  It appears that all Alpha
@@ -4718,7 +4890,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       sco*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
          *)
@@ -4727,13 +4899,13 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       solaris*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.2, 5.x and Centerline C++
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
            ;;
-         gcx)
+         gcx*)
            # Green Hills C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
            ;;
@@ -4743,12 +4915,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       sunos4*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.x
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
-         lcc)
+         lcc*)
            # Lucid
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
@@ -4758,7 +4930,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       tandem*)
        case $cc_basename in
-         NCC)
+         NCC*)
            # NonStop-UX NCC 3.20
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            ;;
@@ -4855,6 +5027,16 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       esac
+       ;;
 
     mingw* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
@@ -4890,12 +5072,19 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       ;;
 
     linux*)
-      case $CC in
+      case $cc_basename in
       icc* | ecc*)
        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
+      pgcc* | pgf77* | pgf90*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
       ccc*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         # All Alpha code is PIC.
@@ -4916,9 +5105,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       ;;
 
     solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -4940,6 +5134,11 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       fi
       ;;
 
+    unicos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
     uts4*)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -5000,7 +5199,7 @@ ifelse([$1],[CXX],[
     _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   *)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -5043,7 +5242,8 @@ ifelse([$1],[CXX],[
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
-
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
   case $host_os in
   cygwin* | mingw* | pw32*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
@@ -5062,7 +5262,28 @@ ifelse([$1],[CXX],[
   if test "$with_gnu_ld" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
-
+    
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+    
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -5113,7 +5334,7 @@ EOF
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_AC_TAGVAR(always_export_symbols, $1)=no
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
@@ -5127,7 +5348,37 @@ EOF
        fi~
        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
       else
-       ld_shlibs=no
+       _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
@@ -5169,31 +5420,6 @@ EOF
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_cmds, $1)="$tmp_archive_cmds"
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ [01].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="$tmp_archive_cmds"
-      fi
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -5204,16 +5430,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
-      runpath_var=LD_RUN_PATH
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-      fi
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -5277,7 +5498,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
       if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
+       case $host_os in aix4.[[012]]|aix4.[[012]].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
          collect2name=`${CC} -print-prog-name=collect2`
@@ -5298,6 +5519,9 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
          fi
        esac
        shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -5356,7 +5580,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
 
-    bsdi4*)
+    bsdi[[45]]*)
       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
       ;;
 
@@ -5377,57 +5601,57 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
       _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       case "$host_os" in
-      rhapsody* | darwin1.[[012]])
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
-       ;;
-      *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[[012]])
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-       ;;
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
       esac
-       lt_int_apple_cc_single_mod=no
-       output_verbose_link_cmd='echo'
-       if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-         lt_int_apple_cc_single_mod=yes
-       fi
-       if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-       else
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      fi
-      _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-        if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        else
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        fi
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
     fi
       ;;
 
@@ -5461,7 +5685,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd* | kfreebsd*-gnu | dragonfly*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
@@ -5572,6 +5796,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
       else
@@ -5617,7 +5842,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5636,10 +5861,12 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
     solaris*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -5648,8 +5875,18 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       case $host_os in
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+       *)
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
@@ -5912,7 +6149,7 @@ lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
 # along with /bin/sed that truncates output.
 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && break
+  test ! -f $lt_ac_sed && continue
   cat /dev/null > conftest.in
   lt_ac_count=0
   echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -5937,7 +6174,7 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
     fi
   done
 done
-SED=$lt_cv_path_SED
 ])
+SED=$lt_cv_path_SED
 AC_MSG_RESULT([$SED])
 ])
index 70f0b2d031fc2de87d0f3add3735af584f70fb01..9be0eb1c38c2db306bd70075c0b78a49d842ebf4 100644 (file)
@@ -1,7 +1,7 @@
 # ltmain.sh - Provide generalized library-building support services.
 # NOTE: Changing this file will not affect anything until you rerun configure.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
 # Free Software Foundation, Inc.
 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -17,7 +17,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -43,9 +43,14 @@ EXIT_FAILURE=1
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.5.6
-TIMESTAMP=" (1.1220.2.94 2004/04/10 16:27:27)"
+VERSION=1.5.16
+TIMESTAMP=" (1.1220.2.235 2005/04/25 18:13:26)"
 
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
 
 # Check that we have a working $echo.
 if test "X$1" = X--no-reexec; then
@@ -107,8 +112,9 @@ if test "${LANG+set}" = set; then
 fi
 
 # Make sure IFS has a sensible default
-: ${IFS="      
-"}
+lt_nl='
+'
+IFS="  $lt_nl"
 
 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
   $echo "$modename: not configured to build any kind of library" 1>&2
@@ -127,6 +133,7 @@ show_help=
 execute_dlfiles=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
+quote_scanset='[[~#^*{};<>?'"'"'       ]'
 
 #####################################
 # Shell function definitions:
@@ -138,7 +145,8 @@ o2lo="s/\\.${objext}\$/.lo/"
 # Need a lot of goo to handle *both* DLLs and import libs
 # Has to be a shell function in order to 'eat' the argument
 # that is supplied when $file_magic_command is called.
-func_win32_libid () {
+func_win32_libid ()
+{
   win32_libid_type="unknown"
   win32_fileres=`file -L $1 2>/dev/null`
   case $win32_fileres in
@@ -178,12 +186,13 @@ func_win32_libid () {
 # Only attempt this if the compiler in the base compile
 # command doesn't match the default compiler.
 # arg is usually of the form 'gcc ...'
-func_infer_tag () {
+func_infer_tag ()
+{
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
        case $arg in
-         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+         *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -204,7 +213,7 @@ func_infer_tag () {
            for arg in $CC; do
            # Double-quote args containing other shell metacharacters.
            case $arg in
-             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
+             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
              arg="\"$arg\""
              ;;
            esac
@@ -235,6 +244,108 @@ func_infer_tag () {
       esac
     fi
 }
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+       *) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      status=$?
+      if test "$status" -ne 0 && test ! -d "$my_xdir"; then
+       exit $status
+      fi
+      case $host in
+      *-darwin*)
+       $show "Extracting $my_xabs"
+       # Do not bother doing anything if just a dry run
+       if test -z "$run"; then
+         darwin_orig_dir=`pwd`
+         cd $my_xdir || exit $?
+         darwin_archive=$my_xabs
+         darwin_curdir=`pwd`
+         darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+         darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+         if test -n "$darwin_arches"; then 
+           darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+           darwin_arch=
+           $show "$darwin_base_archive has multiple architectures $darwin_arches"
+           for darwin_arch in  $darwin_arches ; do
+             mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+             cd "$darwin_curdir"
+             $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+           done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+           darwin_file=
+           darwin_files=
+           for darwin_file in $darwin_filelist; do
+             darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+             lipo -create -output "$darwin_file" $darwin_files
+           done # $darwin_filelist
+           ${rm}r unfat-$$
+           cd "$darwin_orig_dir"
+         else
+           cd "$darwin_orig_dir"
+           func_extract_an_archive "$my_xdir" "$my_xabs"
+         fi # $darwin_arches
+       fi # $run
+      ;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
 # End of Shell function definitions
 #####################################
 
@@ -305,10 +416,10 @@ do
   --version)
     $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
     $echo
-    $echo "Copyright (C) 2003  Free Software Foundation, Inc."
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
     $echo "This is free software; see the source for copying conditions.  There is NO"
     $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-    exit $EXIT_SUCCESS
+    exit $?
     ;;
 
   --config)
@@ -317,7 +428,7 @@ do
     for tagname in $taglist; do
       ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
     done
-    exit $EXIT_SUCCESS
+    exit $?
     ;;
 
   --debug)
@@ -342,7 +453,7 @@ do
     else
       $echo "disable static libraries"
     fi
-    exit $EXIT_SUCCESS
+    exit $?
     ;;
 
   --finish) mode="finish" ;;
@@ -399,7 +510,7 @@ if test -z "$show_help"; then
   # Infer the operation mode.
   if test -z "$mode"; then
     $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
-    $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
     case $nonopt in
     *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
       mode=link
@@ -516,7 +627,7 @@ if test -z "$show_help"; then
            # Many Bourne shells cannot handle close brackets correctly
            # in scan sets, so we specify it separately.
            case $arg in
-             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
+             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
              arg="\"$arg\""
              ;;
            esac
@@ -547,8 +658,11 @@ if test -z "$show_help"; then
       case $lastarg in
       # Double-quote args containing other shell metacharacters.
       # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        lastarg="\"$lastarg\""
        ;;
       esac
@@ -621,6 +735,15 @@ if test -z "$show_help"; then
       esac
     done
 
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       qlibobj="\"$qlibobj\"" ;;
+    esac
+    if test "X$libobj" != "X$qlibobj"; then
+       $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+       exit $EXIT_FAILURE
+    fi
     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
     if test "X$xdir" = "X$obj"; then
@@ -693,12 +816,17 @@ compiler."
        $run $rm $removelist
        exit $EXIT_FAILURE
       fi
-      $echo $srcfile > "$lockfile"
+      $echo "$srcfile" > "$lockfile"
     fi
 
     if test -n "$fix_srcfile_path"; then
       eval srcfile=\"$fix_srcfile_path\"
     fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
 
     $run $rm "$libobj" "${libobj}T"
 
@@ -720,10 +848,10 @@ EOF
       fbsd_hideous_sh_bug=$base_compile
 
       if test "$pic_mode" != no; then
-       command="$base_compile $srcfile $pic_flag"
+       command="$base_compile $qsrcfile $pic_flag"
       else
        # Don't build PIC code
-       command="$base_compile $srcfile"
+       command="$base_compile $qsrcfile"
       fi
 
       if test ! -d "${xdir}$objdir"; then
@@ -803,9 +931,9 @@ EOF
     if test "$build_old_libs" = yes; then
       if test "$pic_mode" != yes; then
        # Don't build PIC code
-       command="$base_compile $srcfile"
+       command="$base_compile $qsrcfile"
       else
-       command="$base_compile $srcfile $pic_flag"
+       command="$base_compile $qsrcfile $pic_flag"
       fi
       if test "$compiler_c_o" = yes; then
        command="$command -o $obj"
@@ -983,7 +1111,7 @@ EOF
       arg="$1"
       shift
       case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
        ;;
       *) qarg=$arg ;;
@@ -1227,6 +1355,11 @@ EOF
          prev=
          continue
          ;;
+        darwin_framework)
+         compiler_flags="$compiler_flags $arg"
+         prev=
+         continue
+         ;;
        *)
          eval "$prev=\"\$arg\""
          prev=
@@ -1285,6 +1418,12 @@ EOF
        continue
        ;;
 
+      -framework)
+        prev=darwin_framework
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
       -inst-prefix-dir)
        prev=inst_prefix
        continue
@@ -1345,7 +1484,7 @@ EOF
            # These systems don't actually have a C library (as such)
            test "X$arg" = "X-lc" && continue
            ;;
-         *-*-openbsd* | *-*-freebsd*)
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
            # Do not include libc due to us having libc/libc_r.
            test "X$arg" = "X-lc" && continue
            ;;
@@ -1356,7 +1495,7 @@ EOF
          esac
        elif test "X$arg" = "X-lc_r"; then
         case $host in
-        *-*-openbsd* | *-*-freebsd*)
+        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
           # Do not include libc_r directly, use -pthread flag.
           continue
           ;;
@@ -1366,8 +1505,20 @@ EOF
        continue
        ;;
 
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+       compile_command="$compile_command $arg"
+       compiler_flags="$compiler_flags $arg"
+       finalize_command="$finalize_command $arg"
+       prev=xcompiler
+       continue
+       ;;
+
      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
-       deplibs="$deplibs $arg"
+       compiler_flags="$compiler_flags $arg"
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
        continue
        ;;
 
@@ -1376,18 +1527,19 @@ EOF
        continue
        ;;
 
-      # gcc -m* arguments should be passed to the linker via $compiler_flags
-      # in order to pass architecture information to the linker
-      # (e.g. 32 vs 64-bit).  This may also be accomplished via -Wl,-mfoo
-      # but this is not reliable with gcc because gcc may use -mfoo to
-      # select a different linker, different libraries, etc, while
-      # -Wl,-mfoo simply passes -mfoo to the linker.
-      -m*)
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
+
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
+       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -1503,7 +1655,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
+           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
            flag="\"$flag\""
            ;;
          esac
@@ -1521,7 +1673,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
+           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
            flag="\"$flag\""
            ;;
          esac
@@ -1554,7 +1706,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
+       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -1688,7 +1840,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
+       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
          arg="\"$arg\""
          ;;
        esac
@@ -1855,7 +2007,7 @@ EOF
            compile_deplibs="$deplib $compile_deplibs"
            finalize_deplibs="$deplib $finalize_deplibs"
          else
-           deplibs="$deplib $deplibs"
+           compiler_flags="$compiler_flags $deplib"
          fi
          continue
          ;;
@@ -1864,10 +2016,6 @@ EOF
            $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
            continue
          fi
-         if test "$pass" = conv; then
-           deplibs="$deplib $deplibs"
-           continue
-         fi
          name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
          for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
            for search_ext in .la $std_shrext .so .a; do
@@ -1978,7 +2126,22 @@ EOF
          fi
          case $linkmode in
          lib)
-           if test "$deplibs_check_method" != pass_all; then
+           valid_a_lib=no
+           case $deplibs_check_method in
+             match_pattern*)
+               set dummy $deplibs_check_method
+               match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+               if eval $echo \"$deplib\" 2>/dev/null \
+                   | $SED 10q \
+                   | $EGREP "$match_pattern_regex" > /dev/null; then
+                 valid_a_lib=yes
+               fi
+               ;;
+             pass_all)
+               valid_a_lib=yes
+               ;;
+            esac
+           if test "$valid_a_lib" != yes; then
              $echo
              $echo "*** Warning: Trying to link with static lib archive $deplib."
              $echo "*** I have the capability to make that library automatically link in when"
@@ -2052,6 +2215,8 @@ EOF
        # it will not redefine variables installed, or shouldnotlink
        installed=yes
        shouldnotlink=no
+       avoidtemprpath=
+
 
        # Read the .la file
        case $lib in
@@ -2150,11 +2315,19 @@ EOF
            dir="$libdir"
            absdir="$libdir"
          fi
+         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
        else
-         dir="$ladir/$objdir"
-         absdir="$abs_ladir/$objdir"
-         # Remove this search path later
-         notinst_path="$notinst_path $abs_ladir"
+         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           dir="$ladir"
+           absdir="$abs_ladir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         else
+           dir="$ladir/$objdir"
+           absdir="$abs_ladir/$objdir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         fi
        fi # $installed = yes
        name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 
@@ -2227,7 +2400,7 @@ EOF
          if test -n "$library_names" &&
             { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
            # We need to hardcode the library path
-           if test -n "$shlibpath_var"; then
+           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
              # Make sure the rpath contains only unique directories.
              case "$temp_rpath " in
              *" $dir "*) ;;
@@ -2671,12 +2844,12 @@ EOF
              *) continue ;;
              esac
              case " $deplibs " in
-             *" $depdepl "*) ;;
-             *) deplibs="$depdepl $deplibs" ;;
+             *" $path "*) ;;
+             *) deplibs="$path $deplibs" ;;
              esac
              case " $deplibs " in
-             *" $path "*) ;;
-             *) deplibs="$deplibs $path" ;;
+             *" $depdepl "*) ;;
+             *) deplibs="$depdepl $deplibs" ;;
              esac
            done
          fi # link_all_deplibs != no
@@ -2941,27 +3114,27 @@ EOF
 
        # Check that each of the things are valid numbers.
        case $current in
-       0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+         $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
          exit $EXIT_FAILURE
          ;;
        esac
 
        case $revision in
-       0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+         $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
          exit $EXIT_FAILURE
          ;;
        esac
 
        case $age in
-       0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+         $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
          exit $EXIT_FAILURE
          ;;
@@ -2987,7 +3160,7 @@ EOF
          versuffix="$major.$age.$revision"
          # Darwin ld doesn't like 0 for these options...
          minor_current=`expr $current + 1`
-         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+         verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
          ;;
 
        freebsd-aout)
@@ -3193,7 +3366,7 @@ EOF
          *-*-netbsd*)
            # Don't link with libc until the a.out ld.so is fixed.
            ;;
-         *-*-openbsd* | *-*-freebsd*)
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
            # Do not include libc due to us having libc/libc_r.
            test "X$arg" = "X-lc" && continue
            ;;
@@ -3675,67 +3848,13 @@ EOF
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
          else
            gentop="$output_objdir/${outputname}x"
-           $show "${rm}r $gentop"
-           $run ${rm}r "$gentop"
-           $show "$mkdir $gentop"
-           $run $mkdir "$gentop"
-           status=$?
-           if test "$status" -ne 0 && test ! -d "$gentop"; then
-             exit $status
-           fi
            generated="$generated $gentop"
 
-           for xlib in $convenience; do
-             # Extract the objects.
-             case $xlib in
-             [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-             *) xabs=`pwd`"/$xlib" ;;
-             esac
-             xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-             xdir="$gentop/$xlib"
-
-             $show "${rm}r $xdir"
-             $run ${rm}r "$xdir"
-             $show "$mkdir $xdir"
-             $run $mkdir "$xdir"
-             status=$?
-             if test "$status" -ne 0 && test ! -d "$xdir"; then
-               exit $status
-             fi
-             # We will extract separately just the conflicting names and we will no
-             # longer touch any unique names. It is faster to leave these extract
-             # automatically by $AR in one run.
-             $show "(cd $xdir && $AR x $xabs)"
-             $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-             if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
-               :
-             else
-               $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
-               $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
-               $AR t "$xabs" | sort | uniq -cd | while read -r count name
-               do
-                 i=1
-                 while test "$i" -le "$count"
-                 do
-                  # Put our $i before any first dot (extension)
-                  # Never overwrite any file
-                  name_to="$name"
-                  while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
-                  do
-                    name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
-                  done
-                  $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
-                  $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
-                  i=`expr $i + 1`
-                 done
-               done
-             fi
-
-             libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-           done
+           func_extract_archives $gentop $convenience
+           libobjs="$libobjs $func_extract_archives_result"
          fi
        fi
-
+       
        if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
          eval flag=\"$thread_safe_flag_spec\"
          linker_flags="$linker_flags $flag"
@@ -3784,6 +3903,7 @@ EOF
            save_libobjs=$libobjs
          fi
          save_output=$output
+         output_la=`$echo "X$output" | $Xsed -e "$basename"`
 
          # Clear the reloadable object creation command queue and
          # initialize k to one.
@@ -3793,7 +3913,7 @@ EOF
          delfiles=
          last_robj=
          k=1
-         output=$output_objdir/$save_output-${k}.$objext
+         output=$output_objdir/$output_la-${k}.$objext
          # Loop over the list of objects to be linked.
          for obj in $save_libobjs
          do
@@ -3813,9 +3933,9 @@ EOF
                # the last one created.
                eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
              fi
-             last_robj=$output_objdir/$save_output-${k}.$objext
+             last_robj=$output_objdir/$output_la-${k}.$objext
              k=`expr $k + 1`
-             output=$output_objdir/$save_output-${k}.$objext
+             output=$output_objdir/$output_la-${k}.$objext
              objlist=$obj
              len=1
            fi
@@ -3835,13 +3955,13 @@ EOF
            eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
           fi
 
-         # Set up a command to remove the reloadale object files
+         # Set up a command to remove the reloadable object files
          # after they are used.
          i=0
          while test "$i" -lt "$k"
          do
            i=`expr $i + 1`
-           delfiles="$delfiles $output_objdir/$save_output-${i}.$objext"
+           delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
          done
 
          $echo "creating a temporary reloadable object file: $output"
@@ -3973,64 +4093,10 @@ EOF
          eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
        else
          gentop="$output_objdir/${obj}x"
-         $show "${rm}r $gentop"
-         $run ${rm}r "$gentop"
-         $show "$mkdir $gentop"
-         $run $mkdir "$gentop"
-         status=$?
-         if test "$status" -ne 0 && test ! -d "$gentop"; then
-           exit $status
-         fi
          generated="$generated $gentop"
 
-         for xlib in $convenience; do
-           # Extract the objects.
-           case $xlib in
-           [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-           *) xabs=`pwd`"/$xlib" ;;
-           esac
-           xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-           xdir="$gentop/$xlib"
-
-           $show "${rm}r $xdir"
-           $run ${rm}r "$xdir"
-           $show "$mkdir $xdir"
-           $run $mkdir "$xdir"
-           status=$?
-           if test "$status" -ne 0 && test ! -d "$xdir"; then
-             exit $status
-           fi
-           # We will extract separately just the conflicting names and we will no
-           # longer touch any unique names. It is faster to leave these extract
-           # automatically by $AR in one run.
-           $show "(cd $xdir && $AR x $xabs)"
-           $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-           if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
-             :
-           else
-             $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
-             $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
-             $AR t "$xabs" | sort | uniq -cd | while read -r count name
-             do
-               i=1
-               while test "$i" -le "$count"
-               do
-                # Put our $i before any first dot (extension)
-                # Never overwrite any file
-                name_to="$name"
-                while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
-                do
-                  name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
-                done
-                $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
-                $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
-                i=`expr $i + 1`
-               done
-             done
-           fi
-
-           reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-         done
+         func_extract_archives $gentop $convenience
+         reload_conv_objs="$reload_objs $func_extract_archives_result"
        fi
       fi
 
@@ -4292,12 +4358,12 @@ extern \"C\" {
 
            # Prepare the list of exported symbols
            if test -z "$export_symbols"; then
-             export_symbols="$output_objdir/$output.exp"
+             export_symbols="$output_objdir/$outputname.exp"
              $run $rm $export_symbols
              $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
            else
-             $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
-             $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
+             $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
              $run eval 'mv "$nlist"T "$nlist"'
            fi
          fi
@@ -4349,7 +4415,26 @@ extern \"C\" {
 #endif
 
 /* The mapping between symbol names and symbols. */
+"
+
+           case $host in
+           *cygwin* | *mingw* )
+         $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+             ;;
+           * )
+         $echo >> "$output_objdir/$dlsyms" "\
 const struct {
+"
+             ;;
+           esac
+
+
+         $echo >> "$output_objdir/$dlsyms" "\
   const char *name;
   lt_ptr address;
 }
@@ -4578,7 +4663,7 @@ static const void *lt_preloaded_setup() {
        esac
        case $host in
          *cygwin* | *mingw* )
-           cwrappersource=`$echo ${objdir}/lt-${output}.c`
+           cwrappersource=`$echo ${objdir}/lt-${outputname}.c`
            cwrapper=`$echo ${output}.exe`
            $rm $cwrappersource $cwrapper
            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
@@ -4811,7 +4896,7 @@ sed_quote_subst='$sed_quote_subst'
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 relink_command=\"$relink_command\"
 
@@ -4988,71 +5073,73 @@ fi\
 
       if test -n "$addlibs"; then
        gentop="$output_objdir/${outputname}x"
-       $show "${rm}r $gentop"
-       $run ${rm}r "$gentop"
-       $show "$mkdir $gentop"
-       $run $mkdir "$gentop"
-       status=$?
-       if test "$status" -ne 0 && test ! -d "$gentop"; then
-         exit $status
-       fi
        generated="$generated $gentop"
 
-       # Add in members from convenience archives.
-       for xlib in $addlibs; do
-         # Extract the objects.
-         case $xlib in
-         [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-         *) xabs=`pwd`"/$xlib" ;;
-         esac
-         xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-         xdir="$gentop/$xlib"
-
-         $show "${rm}r $xdir"
-         $run ${rm}r "$xdir"
-         $show "$mkdir $xdir"
-         $run $mkdir "$xdir"
-         status=$?
-         if test "$status" -ne 0 && test ! -d "$xdir"; then
-           exit $status
-         fi
-         # We will extract separately just the conflicting names and we will no
-         # longer touch any unique names. It is faster to leave these extract
-         # automatically by $AR in one run.
-         $show "(cd $xdir && $AR x $xabs)"
-         $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-         if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
-           :
-         else
-           $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
-           $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
-           $AR t "$xabs" | sort | uniq -cd | while read -r count name
-           do
-             i=1
-             while test "$i" -le "$count"
-             do
-              # Put our $i before any first dot (extension)
-              # Never overwrite any file
-              name_to="$name"
-              while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
-              do
-                name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
-              done
-              $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
-              $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
-              i=`expr $i + 1`
-             done
-           done
-         fi
-
-         oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
-       done
+       func_extract_archives $gentop $addlibs
+       oldobjs="$oldobjs $func_extract_archives_result"
       fi
 
       # Do each command in the archive commands.
       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
        cmds=$old_archive_from_new_cmds
       else
+       # POSIX demands no paths to be encoded in archives.  We have
+       # to avoid creating archives with duplicate basenames if we
+       # might have to extract them afterwards, e.g., when creating a
+       # static archive out of a convenience library, or when linking
+       # the entirety of a libtool archive into another (currently
+       # not supported by libtool).
+       if (for obj in $oldobjs
+           do
+             $echo "X$obj" | $Xsed -e 's%^.*/%%'
+           done | sort | sort -uc >/dev/null 2>&1); then
+         :
+       else
+         $echo "copying selected object files to avoid basename conflicts..."
+
+         if test -z "$gentop"; then
+           gentop="$output_objdir/${outputname}x"
+           generated="$generated $gentop"
+
+           $show "${rm}r $gentop"
+           $run ${rm}r "$gentop"
+           $show "$mkdir $gentop"
+           $run $mkdir "$gentop"
+           status=$?
+           if test "$status" -ne 0 && test ! -d "$gentop"; then
+             exit $status
+           fi
+         fi
+
+         save_oldobjs=$oldobjs
+         oldobjs=
+         counter=1
+         for obj in $save_oldobjs
+         do
+           objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+           case " $oldobjs " in
+           " ") oldobjs=$obj ;;
+           *[\ /]"$objbase "*)
+             while :; do
+               # Make sure we don't pick an alternate name that also
+               # overlaps.
+               newobj=lt$counter-$objbase
+               counter=`expr $counter + 1`
+               case " $oldobjs " in
+               *[\ /]"$newobj "*) ;;
+               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+               esac
+             done
+             $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+             $run ln "$obj" "$gentop/$newobj" ||
+             $run cp "$obj" "$gentop/$newobj"
+             oldobjs="$oldobjs $gentop/$newobj"
+             ;;
+           *) oldobjs="$oldobjs $obj" ;;
+           esac
+         done
+       fi
+
        eval cmds=\"$old_archive_cmds\"
 
        if len=`expr "X$cmds" : ".*"` &&
@@ -5066,20 +5153,7 @@ fi\
          objlist=
          concat_cmds=
          save_oldobjs=$oldobjs
-         # GNU ar 2.10+ was changed to match POSIX; thus no paths are
-         # encoded into archives.  This makes 'ar r' malfunction in
-         # this piecewise linking case whenever conflicting object
-         # names appear in distinct ar calls; check, warn and compensate.
-           if (for obj in $save_oldobjs
-           do
-             $echo "X$obj" | $Xsed -e 's%^.*/%%'
-           done | sort | sort -uc >/dev/null 2>&1); then
-           :
-         else
-           $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2
-           $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2
-           AR_FLAGS=cq
-         fi
+
          # Is there a better way of finding the last object in the list?
          for obj in $save_oldobjs
          do
@@ -5291,7 +5365,7 @@ relink_command=\"$relink_command\""
       # Aesthetically quote it.
       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        arg="\"$arg\""
        ;;
       esac
@@ -5307,7 +5381,7 @@ relink_command=\"$relink_command\""
     # Aesthetically quote it.
     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case $arg in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*)
+    *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
       arg="\"$arg\""
       ;;
     esac
@@ -5355,7 +5429,7 @@ relink_command=\"$relink_command\""
       # Aesthetically quote the argument.
       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
+      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
        arg="\"$arg\""
        ;;
       esac
@@ -6394,7 +6468,7 @@ esac
 $echo
 $echo "Try \`$modename --help' for more information about other modes."
 
-exit $EXIT_SUCCESS
+exit $?
 
 # The TAGs below are defined such that we never get into a situation
 # in which we disable both kinds of libraries.  Given conflicting
index e7ef83a1c2512ce091a7c622ece4ade5bf4acf98..09edd8844dedc652ffe4d9aa931eed179489019f 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2003-09-02.23
+scriptversion=2005-02-08.22
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
 #   Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
@@ -60,11 +60,6 @@ case "$1" in
     msg="probably too old"
   fi
   ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
 
   -h|--h|--he|--hel|--help)
     echo "\
@@ -92,10 +87,12 @@ Supported PROGRAM values:
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
 Send bug reports to <bug-automake@gnu.org>."
+    exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
     echo "missing $scriptversion (GNU Automake)"
+    exit $?
     ;;
 
   -*)
@@ -104,12 +101,42 @@ Send bug reports to <bug-automake@gnu.org>."
     exit 1
     ;;
 
-  aclocal*)
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.
        exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
     fi
+    ;;
+esac
 
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
@@ -119,11 +146,6 @@ WARNING: \`$1' is $msg.  You should only need it if
     ;;
 
   autoconf)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`${configure_ac}'.  You might want to install the
@@ -133,11 +155,6 @@ WARNING: \`$1' is $msg.  You should only need it if
     ;;
 
   autoheader)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
@@ -157,11 +174,6 @@ WARNING: \`$1' is $msg.  You should only need it if
     ;;
 
   automake*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
@@ -173,11 +185,6 @@ WARNING: \`$1' is $msg.  You should only need it if
     ;;
 
   autom4te)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
 WARNING: \`$1' is needed, but is $msg.
          You might have modified some files without having the
@@ -254,11 +261,6 @@ WARNING: \`$1' is $msg.  You should only need it if
     ;;
 
   help2man)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
         you modified a dependency of a manual page.  You may need the
@@ -279,11 +281,6 @@ WARNING: \`$1' is $msg.  You should only need it if
     ;;
 
   makeinfo)
-    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
-       # We have makeinfo, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -291,20 +288,20 @@ WARNING: \`$1' is $msg.  You should only need it if
          call might also be the consequence of using a buggy \`make' (AIX,
          DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
     if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
     touch $file
     ;;
 
   tar)
     shift
-    if test -n "$run"; then
-      echo 1>&2 "ERROR: \`tar' requires --run"
-      exit 1
-    fi
 
     # We have already tried tar in the generic part.
     # Look for gnutar/gtar before invocation to avoid ugly error
index 6fbe5e117629c75a723710efc4b2e0341c17c895..5d26a485f11223c19546f3e02ce59d201a5afe48 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # mkinstalldirs --- make directory hierarchy
 
-scriptversion=2004-02-15.20
+scriptversion=2005-02-02.21
 
 # Original author: Noah Friedman <friedman@prep.ai.mit.edu>
 # Created: 1993-05-16
@@ -27,7 +27,7 @@ while test $# -gt 0 ; do
   case $1 in
     -h | --help | --h*)         # -h for help
       echo "$usage"
-      exit 0
+      exit $?
       ;;
     -m)                         # -m PERM arg
       shift
@@ -37,7 +37,7 @@ while test $# -gt 0 ; do
       ;;
     --version)
       echo "$0 $scriptversion"
-      exit 0
+      exit $?
       ;;
     --)                         # stop option processing
       shift
index f49a1df2f4598ca927ba5b4e7923fb5be686968c..4b6d6cea15d7a79940bc225e3562cc81cac81a45 100755 (executable)
--- a/configure
+++ b/configure
@@ -278,7 +278,7 @@ fi
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 if test -z "$ECHO"; then
 if test "X${echo_test_string+set}" != Xset; then
@@ -463,7 +463,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CONFIGURE_COMMAND INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot SNAPSHOT_STAMP VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_COMMENT VERSION_SUFFIX CONFIG_DIR USE_VERSION_SUFFIXES CLIENT_SCRIPTS_OPT DEFAULT_SERVER CLIENT_LOGIN SETUID_GROUP BINARY_OWNER DEFAULT_CONFIG DEFAULT_TAPE_SERVER DEFAULT_TAPE_DEVICE DEFAULT_RAW_TAPE_DEVICE DEFAULT_CHANGER_DEVICE GNUTAR_LISTED_INCREMENTAL_DIRX MAXTAPEBLOCKSIZE AMANDA_TMPDIR AMANDA_DBGDIR AMANDA_DEBUG_DAYS SERVICE_SUFFIX CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE MT_FILE_FLAG CPP EGREP AR AWK_VAR_ASSIGNMENT_OPT YACC CAT COMPRESS DD GETCONF GNUPLOT GREP GNUTAR SAMBA_CLIENT GZIP MAILER MT CHIO CHS MTX MCUTIL PRINT PCAT PERL DUMP RESTORE XFSDUMP XFSRESTORE VXDUMP VXRESTORE VDUMP VRESTORE AMPLOT_COMPRESS AMPLOT_CAT_GZIP AMPLOT_CAT_COMPRESS AMPLOT_CAT_PACK LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBTOOL_DEPS LEX LEXLIB LEX_OUTPUT_ROOT READLINE_LIBS DB_EXT ALLOCA LIBOBJS ac_n ac_c WANT_CLIENT_TRUE WANT_CLIENT_FALSE WANT_SAMBA_TRUE WANT_SAMBA_FALSE WANT_RESTORE_TRUE WANT_RESTORE_FALSE WANT_SERVER_TRUE WANT_SERVER_FALSE WANT_RECOVER_TRUE WANT_RECOVER_FALSE WANT_TAPE_TRUE WANT_TAPE_FALSE WANT_AMPLOT_TRUE WANT_AMPLOT_FALSE WANT_CHG_SCSI_TRUE WANT_CHG_SCSI_FALSE WANT_CHIO_SCSI_TRUE WANT_CHIO_SCSI_FALSE WANT_RUNTIME_PSEUDO_RELOC_TRUE WANT_RUNTIME_PSEUDO_RELOC_FALSE WANT_SETUID_CLIENT_TRUE WANT_SETUID_CLIENT_FALSE LTLIBOBJS LTALLOCA'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CONFIGURE_COMMAND INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar SNAPSHOT_STAMP VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_COMMENT VERSION_SUFFIX CONFIG_DIR USE_VERSION_SUFFIXES CLIENT_SCRIPTS_OPT DEFAULT_SERVER CLIENT_LOGIN SETUID_GROUP BINARY_OWNER DEFAULT_CONFIG DEFAULT_TAPE_SERVER DEFAULT_TAPE_DEVICE DEFAULT_RAW_TAPE_DEVICE DEFAULT_CHANGER_DEVICE GNUTAR_LISTED_INCREMENTAL_DIRX MAXTAPEBLOCKSIZE AMANDA_TMPDIR AMANDA_DBGDIR AMANDA_DEBUG_DAYS SERVICE_SUFFIX CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE MT_FILE_FLAG CPP EGREP AR AWK_VAR_ASSIGNMENT_OPT YACC CAT COMPRESS DD GETCONF GNUPLOT GREP GNUTAR SAMBA_CLIENT GZIP MAILER MT CHIO CHS MTX MCUTIL PRINT PCAT PERL DUMP RESTORE XFSDUMP XFSRESTORE VXDUMP VXRESTORE VDUMP VRESTORE AMPLOT_COMPRESS AMPLOT_CAT_GZIP AMPLOT_CAT_COMPRESS AMPLOT_CAT_PACK LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBTOOL_DEPS LEX LEXLIB LEX_OUTPUT_ROOT READLINE_LIBS DB_EXT ALLOCA LIBOBJS ac_n ac_c WANT_CLIENT_TRUE WANT_CLIENT_FALSE WANT_SAMBA_TRUE WANT_SAMBA_FALSE WANT_RESTORE_TRUE WANT_RESTORE_FALSE WANT_SERVER_TRUE WANT_SERVER_FALSE WANT_RECOVER_TRUE WANT_RECOVER_FALSE WANT_TAPE_TRUE WANT_TAPE_FALSE WANT_AMPLOT_TRUE WANT_AMPLOT_FALSE WANT_CHG_SCSI_TRUE WANT_CHG_SCSI_FALSE WANT_CHIO_SCSI_TRUE WANT_CHIO_SCSI_FALSE WANT_RUNTIME_PSEUDO_RELOC_TRUE WANT_RUNTIME_PSEUDO_RELOC_FALSE WANT_SETUID_CLIENT_TRUE WANT_SETUID_CLIENT_FALSE LTLIBOBJS LTALLOCA'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1673,7 +1673,7 @@ _ACEOF
 
 
 
-am__api_version="1.8"
+am__api_version="1.9"
 # 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:
@@ -1825,13 +1825,21 @@ echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
 fi
 
 if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-  # Keeping the `.' argument allows $(mkdir_p) to be used without
-  # argument.  Indeed, we sometimes output rules like
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
   #   $(mkdir_p) $(somedir)
-  # where $(somedir) is conditionally defined.
-  # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
-  # expensive solution, as it forces Make to start a sub-shell.)
-  mkdir_p='mkdir -p -- .'
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
 else
   # On NextStep and OpenStep, the `mkdir' command does not
   # recognize any option.  It will interpret all options as
@@ -1947,7 +1955,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=amanda
- VERSION=2.4.5
+ VERSION=2.4.5p1
 
 
 cat >>confdefs.h <<_ACEOF
@@ -1975,9 +1983,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 
 # Installed binaries are usually stripped using `strip' when the user
@@ -2070,6 +2075,13 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
 
 
 
@@ -2358,6 +2370,9 @@ echo "$as_me: error: *** You must not supply an argument to --with-server option
 
 
 fi;
+if test "x${NO_SERVER_MODE+set}" != xset ; then
+   NO_SERVER_MODE=false
+fi
 
 
 # Check whether --with-restore or --without-restore was given.
@@ -2376,6 +2391,19 @@ echo "$as_me: error: *** You must not supply an argument to --with-restore optio
 
 
 fi;
+if test "x${NO_RESTORE_MODE+set}" != xset ; then
+   NO_RESTORE_MODE=${NO_SERVER_MODE-false}
+fi
+
+if ${NO_SERVER_MODE-false}; then
+   if ${NO_RESTORE_MODE-false}; then
+                        true
+   else
+      { { echo "$as_me:$LINENO: error: *** --without-server requires --without-restore" >&5
+echo "$as_me: error: *** --without-server requires --without-restore" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+fi
 
 
 # Check whether --with-amrecover or --without-amrecover was given.
@@ -10199,7 +10227,7 @@ lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
 # along with /bin/sed that truncates output.
 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && break
+  test ! -f $lt_ac_sed && continue
   cat /dev/null > conftest.in
   lt_ac_count=0
   echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -10224,10 +10252,10 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
     fi
   done
 done
-SED=$lt_cv_path_SED
 
 fi
 
+SED=$lt_cv_path_SED
 echo "$as_me:$LINENO: result: $SED" >&5
 echo "${ECHO_T}$SED" >&6
 
@@ -10353,6 +10381,15 @@ case $reload_flag in
 *) reload_flag=" $reload_flag" ;;
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
 
 echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
@@ -10439,7 +10476,7 @@ beos*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-bsdi4*)
+bsdi[45]*)
   lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
   lt_cv_file_magic_cmd='/usr/bin/file -L'
   lt_cv_file_magic_test_file=/shlib/libc.so
@@ -10462,13 +10499,13 @@ darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu)
+freebsd* | kfreebsd*-gnu | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
       # Not sure whether the presence of OpenBSD here was a mistake.
       # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
       lt_cv_file_magic_cmd=/usr/bin/file
       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
       ;;
@@ -10512,15 +10549,6 @@ irix5* | irix6* | nonstopux*)
 
 # This must be Linux ELF.
 linux*)
-  case $host_cpu in
-  alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*)
-    lt_cv_deplibs_check_method=pass_all ;;
-  *)
-    # glibc up to 2.1.1 does not perform some relocations on ARM
-    # this will be overridden with pass_all, but let us keep it just in case
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
-  esac
-  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -10543,12 +10571,10 @@ nto-qnx*)
   ;;
 
 openbsd*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
   else
-    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   fi
   ;;
 
@@ -10638,7 +10664,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 10641 "configure"' > conftest.$ac_ext
+  echo '#line 10667 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -11414,7 +11440,12 @@ else
 fi
 
 
-ac_ext=cc
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cc
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -11644,6 +11675,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+fi
+
 
 ac_ext=f
 ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
@@ -11737,7 +11770,7 @@ fi
 
 
 # Provide some information about the compiler.
-echo "$as_me:11740:" \
+echo "$as_me:11773:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -11927,11 +11960,38 @@ else
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
- *)
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  *)
     # If test is not a shell built-in, we'll probably end up computing a
     # maximum length that is only half of the actual maximum length, but
     # we can't tell.
-    while (test "X"`$CONFIG_SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
               = "XX$teststring") >/dev/null 2>&1 &&
            new_result=`expr "X$teststring" : ".*" 2>&1` &&
            lt_cv_sys_max_cmd_len=$new_result &&
@@ -11977,9 +12037,6 @@ symcode='[BCDEGRST]'
 # Regexp to match symbols that can be accessed directly from C.
 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
 # Transform an extracted symbol line into a proper C declaration
 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
 
@@ -12001,6 +12058,13 @@ hpux*) # Its linker distinguishes data from code symbols
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDGIRSTW]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
 irix* | nonstopux*)
   symcode='[BCDEGRST]'
   ;;
@@ -12032,8 +12096,11 @@ esac
 # Try without a prefix undercore, then with it.
 for ac_symprfx in "" "_"; do
 
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
   # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -12195,7 +12262,7 @@ esac
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
 sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
 
 # Same as above, but do not quote variable references.
@@ -12500,6 +12567,17 @@ if test -n "$RANLIB"; then
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
 # Only perform the check for file, if the check method requires it
 case $deplibs_check_method in
 file_magic*)
@@ -12686,6 +12764,20 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 #
 # Check for any special shared library compilation flags.
 #
@@ -12727,6 +12819,11 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
+       $SED '/^$/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works=yes
+       fi
      else
        lt_prog_compiler_static_works=yes
      fi
@@ -12775,15 +12872,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12778: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12875: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:12782: \$? = $ac_status" >&5
+   echo "$as_me:12879: \$? = $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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
      fi
    fi
@@ -12886,6 +12985,16 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic='-qnocommon'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       esac
+       ;;
 
     mingw* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
@@ -12921,12 +13030,19 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     linux*)
-      case $CC in
+      case $cc_basename in
       icc* | ecc*)
        lt_prog_compiler_wl='-Wl,'
        lt_prog_compiler_pic='-KPIC'
        lt_prog_compiler_static='-static'
         ;;
+      pgcc* | pgf77* | pgf90*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fpic'
+       lt_prog_compiler_static='-static'
+        ;;
       ccc*)
         lt_prog_compiler_wl='-Wl,'
         # All Alpha code is PIC.
@@ -12947,9 +13063,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     solaris*)
-      lt_prog_compiler_wl='-Wl,'
       lt_prog_compiler_pic='-KPIC'
       lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -12971,6 +13092,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       fi
       ;;
 
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
     uts4*)
       lt_prog_compiler_pic='-pic'
       lt_prog_compiler_static='-Bstatic'
@@ -13008,15 +13134,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13011: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13137: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13015: \$? = $ac_status" >&5
+   echo "$as_me:13141: \$? = $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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works=yes
      fi
    fi
@@ -13068,16 +13196,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13071: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13199: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13075: \$? = $ac_status" >&5
+   echo "$as_me:13203: \$? = $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
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o=yes
      fi
    fi
@@ -13157,6 +13287,16 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
   case $host_os in
   cygwin* | mingw* | pw32*)
@@ -13177,6 +13317,27 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -13227,7 +13388,7 @@ EOF
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
@@ -13245,6 +13406,36 @@ EOF
       fi
       ;;
 
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         whole_archive_flag_spec=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
@@ -13283,31 +13474,6 @@ EOF
       hardcode_shlibpath_var=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_cmds="$tmp_archive_cmds"
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        archive_expsym_cmds="$tmp_archive_cmds"
-      fi
-    else
-      ld_shlibs=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -13318,16 +13484,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$ld_shlibs" = yes; then
-      runpath_var=LD_RUN_PATH
-      hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-      export_dynamic_flag_spec='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec=
-      fi
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -13391,7 +13552,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       link_all_deplibs=yes
 
       if test "$GCC" = yes; then
-       case $host_os in aix4.012|aix4.012.*)
+       case $host_os in aix4.[012]|aix4.[012].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
          collect2name=`${CC} -print-prog-name=collect2`
@@ -13412,6 +13573,9 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
          fi
        esac
        shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -13572,7 +13736,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ld_shlibs=no
       ;;
 
-    bsdi4*)
+    bsdi[45]*)
       export_dynamic_flag_spec=-rdynamic
       ;;
 
@@ -13598,52 +13762,52 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
-      archive_cmds_need_lc=no
       case "$host_os" in
-      rhapsody* | darwin1.[012])
-       allow_undefined_flag='-undefined suppress'
-       ;;
-      *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       allow_undefined_flag='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-       ;;
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
       esac
-       lt_int_apple_cc_single_mod=no
-       output_verbose_link_cmd='echo'
-       if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-         lt_int_apple_cc_single_mod=yes
-       fi
-       if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-         archive_cmds='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-       else
-        archive_cmds='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      fi
-      module_cmds='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-        if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-          archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        else
-          archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        fi
-          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      archive_cmds_need_lc=no
       hardcode_direct=no
       hardcode_automatic=yes
       hardcode_shlibpath_var=unsupported
-      whole_archive_flag_spec='-all_load $convenience'
+      whole_archive_flag_spec=''
       link_all_deplibs=yes
+    if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      ld_shlibs=no
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs=no
+          ;;
+      esac
     fi
       ;;
 
@@ -13677,7 +13841,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd* | kfreebsd*-gnu | dragonfly*)
       archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
@@ -13788,6 +13952,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var=no
       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
        export_dynamic_flag_spec='${wl}-E'
       else
@@ -13833,7 +13998,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        allow_undefined_flag=' -expect_unresolved \*'
        archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        hardcode_libdir_flag_spec='-rpath $libdir'
@@ -13852,10 +14017,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     solaris*)
       no_undefined_flag=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -13864,8 +14031,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var=no
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+       *)
+         whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       link_all_deplibs=yes
       ;;
@@ -14139,7 +14316,7 @@ beos*)
   shlibpath_var=LIBRARY_PATH
   ;;
 
-bsdi4*)
+bsdi[45]*)
   version_type=linux
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -14197,7 +14374,7 @@ cygwin* | mingw* | pw32*)
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
     ;;
@@ -14255,7 +14432,9 @@ kfreebsd*-gnu)
   dynamic_linker='GNU ld.so'
   ;;
 
-freebsd*)
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
   case $version_type in
@@ -14274,7 +14453,7 @@ freebsd*)
   freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
-  freebsd3.01* | freebsdelf3.01*)
+  freebsd3.[01]* | freebsdelf3.[01]*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -14398,10 +14577,31 @@ linux*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 14584 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  esac
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -14463,7 +14663,7 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -14585,8 +14785,8 @@ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var " || \
-   test "X$hardcode_automatic"="Xyes" ; then
+   test -n "$runpath_var" || \
+   test "X$hardcode_automatic" = "Xyes" ; then
 
   # We can hardcode non-existant directories.
   if test "$hardcode_direct" != no &&
@@ -15252,7 +15452,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 15255 "configure"
+#line 15455 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -15350,7 +15550,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 15353 "configure"
+#line 15553 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -15478,43 +15678,6 @@ aix3*)
 aix4* | aix5*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-  darwin* | rhapsody*)
-  if test "$GCC" = yes; then
-    archive_cmds_need_lc=no
-    case "$host_os" in
-    rhapsody* | darwin1.[012])
-      allow_undefined_flag='-undefined suppress'
-      ;;
-    *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       allow_undefined_flag='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-      ;;
-    esac
-    output_verbose_link_cmd='echo'
-    archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring'
-    module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-    # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    hardcode_direct=no
-    hardcode_automatic=yes
-    hardcode_shlibpath_var=unsupported
-    whole_archive_flag_spec='-all_load $convenience'
-    link_all_deplibs=yes
-  else
-    ld_shlibs=no
   fi
     ;;
 esac
@@ -15645,7 +15808,7 @@ echo "$as_me: creating $ofile" >&6;}
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -15656,11 +15819,11 @@ echo "$as_me: creating $ofile" >&6;}
 SED=$lt_SED
 
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e s/^X//"
+Xsed="$SED -e 1s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 # The names of the tagged configurations supported by this script.
 available_tags=
@@ -15690,6 +15853,12 @@ fast_install=$enable_fast_install
 # The host system.
 host_alias=$host_alias
 host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
 # An echo program that does not interpret backslashes.
 echo=$lt_echo
@@ -15766,7 +15935,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -16061,7 +16230,9 @@ echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
 
       case $tagname in
       CXX)
-       if test -n "$CXX" && test "X$CXX" != "Xno"; then
+       if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+           ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+           (test "X$CXX" != "Xg++"))) ; then
          ac_ext=cc
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -16119,6 +16290,20 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC=$CC
 lt_save_LD=$LD
@@ -16140,7 +16325,16 @@ test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
 compiler=$CC
 compiler_CXX=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 
 # We don't want -fno-exception wen compiling C++ code, so set the
 # no_builtin_flag separately
@@ -16354,7 +16548,7 @@ case $host_os in
     link_all_deplibs_CXX=yes
 
     if test "$GXX" = yes; then
-      case $host_os in aix4.012|aix4.012.*)
+      case $host_os in aix4.[012]|aix4.[012].*)
       # We only want to do this on AIX 4.2 and lower, the check
       # below for broken collect2 doesn't work under 4.3+
        collect2name=`${CC} -print-prog-name=collect2`
@@ -16375,6 +16569,9 @@ case $host_os in
        fi
       esac
       shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+       shared_flag="$shared_flag "'${wl}-G'
+      fi
     else
       # not using gcc
       if test "$host_cpu" = ia64; then
@@ -16536,6 +16733,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     esac
     ;;
 
+
   cygwin* | mingw* | pw32*)
     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
     # as there is no search path for DLLs.
@@ -16559,65 +16757,76 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ld_shlibs_CXX=no
     fi
   ;;
+      darwin* | rhapsody*)
+        case "$host_os" in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      archive_cmds_need_lc_CXX=no
+      hardcode_direct_CXX=no
+      hardcode_automatic_CXX=yes
+      hardcode_shlibpath_var_CXX=unsupported
+      whole_archive_flag_spec_CXX=''
+      link_all_deplibs_CXX=yes
 
-  darwin* | rhapsody*)
-  if test "$GXX" = yes; then
-    archive_cmds_need_lc_CXX=no
-    case "$host_os" in
-    rhapsody* | darwin1.[012])
-      allow_undefined_flag_CXX='-undefined suppress'
-      ;;
-    *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       allow_undefined_flag_CXX='-flat_namespace -undefined suppress'
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag_CXX='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag_CXX='-undefined dynamic_lookup'
-            ;;
-        esac
+          archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_CXX=no
+          ;;
+      esac
       fi
-      ;;
-    esac
-    lt_int_apple_cc_single_mod=no
-    output_verbose_link_cmd='echo'
-    if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-      lt_int_apple_cc_single_mod=yes
-    fi
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    else
-      archive_cmds_CXX='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    fi
-    module_cmds_CXX='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-
-    # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    else
-      archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    hardcode_direct_CXX=no
-    hardcode_automatic_CXX=yes
-    hardcode_shlibpath_var_CXX=unsupported
-    whole_archive_flag_spec_CXX='-all_load $convenience'
-    link_all_deplibs_CXX=yes
-  else
-    ld_shlibs_CXX=no
-  fi
-    ;;
+        ;;
 
   dgux*)
     case $cc_basename in
-      ec++)
+      ec++*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      ghcx)
+      ghcx*)
        # Green Hills C++ Compiler
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
@@ -16628,14 +16837,14 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ;;
     esac
     ;;
-  freebsd12*)
+  freebsd[12]*)
     # C++ shared libraries reported to be fairly broken before switch to ELF
     ld_shlibs_CXX=no
     ;;
   freebsd-elf*)
     archive_cmds_need_lc_CXX=no
     ;;
-  freebsd* | kfreebsd*-gnu)
+  freebsd* | kfreebsd*-gnu | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     ld_shlibs_CXX=yes
@@ -16652,11 +16861,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
                                # location of the library.
 
     case $cc_basename in
-    CC)
+    CC*)
       # FIXME: insert proper C++ library support
       ld_shlibs_CXX=no
       ;;
-    aCC)
+    aCC*)
       archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
@@ -16666,7 +16875,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       # explicitly linking system object files so we need to strip them
       # from the output so that they don't get included in the library
       # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
       ;;
     *)
       if test "$GXX" = yes; then
@@ -16717,11 +16926,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     esac
 
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      aCC)
+      aCC*)
        case "$host_cpu" in
        hppa*64*|ia64*)
          archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
@@ -16761,9 +16970,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   irix5* | irix6*)
     case $cc_basename in
-      CC)
+      CC*)
        # SGI C++
-       archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        # Archives containing C++ object files must be created using
        # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -16774,7 +16983,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes; then
          if test "$with_gnu_ld" = no; then
-           archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+           archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
          else
            archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
          fi
@@ -16787,7 +16996,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   linux*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -16812,17 +17021,41 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # "CC -Bstatic", where "CC" is the KAI C++ compiler.
        old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
        ;;
-      icpc)
+      icpc*)
        # Intel C++
        with_gnu_ld=yes
+       # version 8.0 and above of icpc choke on multiply defined symbols
+       # if we add $predep_objects and $postdep_objects, however 7.1 and
+       # earlier do not add the objects themselves.
+       case `$CC -V 2>&1` in
+       *"Version 7."*)
+         archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       *)  # Version 8.0 or newer
+         tmp_idyn=
+         case $host_cpu in
+           ia64*) tmp_idyn=' -i_dynamic';;
+         esac
+         archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         ;;
+       esac
        archive_cmds_need_lc_CXX=no
-       archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
        hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
        whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
        ;;
-      cxx)
+      pgCC*)
+        # Portland Group C++ compiler
+       archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+       hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+       export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+       whole_archive_flag_spec_CXX=''
+        ;;
+      cxx*)
        # Compaq C++
        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
        archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
@@ -16853,7 +17086,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   mvs*)
     case $cc_basename in
-      cxx)
+      cxx*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
@@ -16874,9 +17107,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     # Workaround some broken pre-1.5 toolchains
     output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    ld_shlibs_CXX=no
+    ;;
+  openbsd*)
+    hardcode_direct_CXX=yes
+    hardcode_shlibpath_var_CXX=no
+    archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      export_dynamic_flag_spec_CXX='${wl}-E'
+      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
   osf3*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -16892,14 +17141,14 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
 
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      cxx)
+      cxx*)
        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
        hardcode_libdir_separator_CXX=:
@@ -16917,7 +17166,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-         archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+         archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
          hardcode_libdir_separator_CXX=:
@@ -16936,7 +17185,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   osf4* | osf5*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -16951,17 +17200,17 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # the KAI C++ compiler.
        old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      cxx)
+      cxx*)
        allow_undefined_flag_CXX=' -expect_unresolved \*'
-       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
          echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
          $rm $lib.exp'
 
        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
@@ -16980,7 +17229,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-        archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+        archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
          hardcode_libdir_separator_CXX=:
@@ -17004,7 +17253,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
   sco*)
     archive_cmds_need_lc_CXX=no
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
@@ -17016,12 +17265,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   sunos4*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.x
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      lcc)
+      lcc*)
        # Lucid
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
@@ -17034,7 +17283,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   solaris*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
        no_undefined_flag_CXX=' -zdefs'
        archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -17044,13 +17293,17 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        hardcode_libdir_flag_spec_CXX='-R$libdir'
        hardcode_shlibpath_var_CXX=no
        case $host_os in
-         solaris2.0-5 | solaris2.0-5.*) ;;
+         solaris2.[0-5] | solaris2.[0-5].*) ;;
          *)
            # The C++ compiler is used as linker so we must use $wl
            # flag to pass the commands to the underlying system
-           # linker.
+           # linker. We must also pass each convience library through
+           # to the system linker between allextract/defaultextract.
+           # The C++ compiler will combine linker options so we
+           # cannot just pass the convience library names through
+           # without $wl.
            # Supported since Solaris 2.6 (maybe 2.5.1?)
-           whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+           whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
            ;;
        esac
        link_all_deplibs_CXX=yes
@@ -17071,7 +17324,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # in the archive.
        old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
        ;;
-      gcx)
+      gcx*)
        # Green Hills C++ Compiler
        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 
@@ -17114,7 +17367,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   tandem*)
     case $cc_basename in
-      NCC)
+      NCC*)
        # NonStop-UX NCC 3.20
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
@@ -17327,18 +17580,28 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       chorus*)
        case $cc_basename in
-       cxch68)
+       cxch68*)
          # Green Hills C++ Compiler
          # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
          ;;
        esac
        ;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           lt_prog_compiler_pic_CXX='-qnocommon'
+           lt_prog_compiler_wl_CXX='-Wl,'
+           ;;
+         esac
+       ;;
       dgux*)
        case $cc_basename in
-         ec++)
+         ec++*)
            lt_prog_compiler_pic_CXX='-KPIC'
            ;;
-         ghcx)
+         ghcx*)
            # Green Hills C++ Compiler
            lt_prog_compiler_pic_CXX='-pic'
            ;;
@@ -17346,19 +17609,19 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
            ;;
        esac
        ;;
-      freebsd* | kfreebsd*-gnu)
+      freebsd* | kfreebsd*-gnu | dragonfly*)
        # FreeBSD uses GNU C++
        ;;
       hpux9* | hpux10* | hpux11*)
        case $cc_basename in
-         CC)
+         CC*)
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            if test "$host_cpu" != ia64; then
              lt_prog_compiler_pic_CXX='+Z'
            fi
            ;;
-         aCC)
+         aCC*)
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            case "$host_cpu" in
@@ -17376,7 +17639,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       irix5* | irix6* | nonstopux*)
        case $cc_basename in
-         CC)
+         CC*)
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_static_CXX='-non_shared'
            # CC pic flag -KPIC is the default.
@@ -17387,18 +17650,24 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       linux*)
        case $cc_basename in
-         KCC)
+         KCC*)
            # KAI C++ Compiler
            lt_prog_compiler_wl_CXX='--backend -Wl,'
            lt_prog_compiler_pic_CXX='-fPIC'
            ;;
-         icpc)
+         icpc* | ecpc*)
            # Intel C++
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_pic_CXX='-KPIC'
            lt_prog_compiler_static_CXX='-static'
            ;;
-         cxx)
+         pgCC*)
+           # Portland Group C++ compiler.
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-fpic'
+           lt_prog_compiler_static_CXX='-static'
+           ;;
+         cxx*)
            # Compaq C++
            # Make sure the PIC flag is empty.  It appears that all Alpha
            # Linux and Compaq Tru64 Unix objects are PIC.
@@ -17415,7 +17684,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       mvs*)
        case $cc_basename in
-         cxx)
+         cxx*)
            lt_prog_compiler_pic_CXX='-W c,exportall'
            ;;
          *)
@@ -17426,14 +17695,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       osf3* | osf4* | osf5*)
        case $cc_basename in
-         KCC)
+         KCC*)
            lt_prog_compiler_wl_CXX='--backend -Wl,'
            ;;
-         RCC)
+         RCC*)
            # Rational C++ 2.4.1
            lt_prog_compiler_pic_CXX='-pic'
            ;;
-         cxx)
+         cxx*)
            # Digital/Compaq C++
            lt_prog_compiler_wl_CXX='-Wl,'
            # Make sure the PIC flag is empty.  It appears that all Alpha
@@ -17449,7 +17718,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       sco*)
        case $cc_basename in
-         CC)
+         CC*)
            lt_prog_compiler_pic_CXX='-fPIC'
            ;;
          *)
@@ -17458,13 +17727,13 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       solaris*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.2, 5.x and Centerline C++
            lt_prog_compiler_pic_CXX='-KPIC'
            lt_prog_compiler_static_CXX='-Bstatic'
            lt_prog_compiler_wl_CXX='-Qoption ld '
            ;;
-         gcx)
+         gcx*)
            # Green Hills C++ Compiler
            lt_prog_compiler_pic_CXX='-PIC'
            ;;
@@ -17474,12 +17743,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       sunos4*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.x
            lt_prog_compiler_pic_CXX='-pic'
            lt_prog_compiler_static_CXX='-Bstatic'
            ;;
-         lcc)
+         lcc*)
            # Lucid
            lt_prog_compiler_pic_CXX='-pic'
            ;;
@@ -17489,7 +17758,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       tandem*)
        case $cc_basename in
-         NCC)
+         NCC*)
            # NonStop-UX NCC 3.20
            lt_prog_compiler_pic_CXX='-KPIC'
            ;;
@@ -17533,15 +17802,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17536: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17805: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17540: \$? = $ac_status" >&5
+   echo "$as_me:17809: \$? = $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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_CXX=yes
      fi
    fi
@@ -17593,16 +17864,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17596: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17867: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:17600: \$? = $ac_status" >&5
+   echo "$as_me:17871: \$? = $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
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
      fi
    fi
@@ -17661,7 +17934,7 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     export_symbols_cmds_CXX="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -17841,7 +18114,7 @@ beos*)
   shlibpath_var=LIBRARY_PATH
   ;;
 
-bsdi4*)
+bsdi[45]*)
   version_type=linux
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -17899,7 +18172,7 @@ cygwin* | mingw* | pw32*)
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
     ;;
@@ -17957,7 +18230,9 @@ kfreebsd*-gnu)
   dynamic_linker='GNU ld.so'
   ;;
 
-freebsd*)
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
   case $version_type in
@@ -17976,7 +18251,7 @@ freebsd*)
   freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
-  freebsd3.01* | freebsdelf3.01*)
+  freebsd3.[01]* | freebsdelf3.[01]*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -18100,10 +18375,31 @@ linux*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 18382 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  esac
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -18165,7 +18461,7 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -18287,8 +18583,8 @@ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
 hardcode_action_CXX=
 if test -n "$hardcode_libdir_flag_spec_CXX" || \
-   test -n "$runpath_var CXX" || \
-   test "X$hardcode_automatic_CXX"="Xyes" ; then
+   test -n "$runpath_var_CXX" || \
+   test "X$hardcode_automatic_CXX" = "Xyes" ; then
 
   # We can hardcode non-existant directories.
   if test "$hardcode_direct_CXX" != no &&
@@ -18954,7 +19250,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18957 "configure"
+#line 19253 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19052,7 +19348,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 19055 "configure"
+#line 19351 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19270,6 +19566,12 @@ fast_install=$enable_fast_install
 # The host system.
 host_alias=$host_alias
 host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
 # An echo program that does not interpret backslashes.
 echo=$lt_echo
@@ -19346,7 +19648,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -19627,12 +19929,35 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${F77-"f77"}
 compiler=$CC
 compiler_F77=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 
 echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
@@ -19654,7 +19979,9 @@ aix3*)
   fi
   ;;
 aix4* | aix5*)
-  test "$enable_shared" = yes && enable_static=no
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
   ;;
 esac
 echo "$as_me:$LINENO: result: $enable_shared" >&5
@@ -19757,6 +20084,16 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_F77='-qnocommon'
+         lt_prog_compiler_wl_F77='-Wl,'
+         ;;
+       esac
+       ;;
 
     mingw* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
@@ -19792,12 +20129,19 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     linux*)
-      case $CC in
+      case $cc_basename in
       icc* | ecc*)
        lt_prog_compiler_wl_F77='-Wl,'
        lt_prog_compiler_pic_F77='-KPIC'
        lt_prog_compiler_static_F77='-static'
         ;;
+      pgcc* | pgf77* | pgf90*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       lt_prog_compiler_wl_F77='-Wl,'
+       lt_prog_compiler_pic_F77='-fpic'
+       lt_prog_compiler_static_F77='-static'
+        ;;
       ccc*)
         lt_prog_compiler_wl_F77='-Wl,'
         # All Alpha code is PIC.
@@ -19818,9 +20162,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     solaris*)
-      lt_prog_compiler_wl_F77='-Wl,'
       lt_prog_compiler_pic_F77='-KPIC'
       lt_prog_compiler_static_F77='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl_F77='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl_F77='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -19842,6 +20191,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       fi
       ;;
 
+    unicos*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_can_build_shared_F77=no
+      ;;
+
     uts4*)
       lt_prog_compiler_pic_F77='-pic'
       lt_prog_compiler_static_F77='-Bstatic'
@@ -19879,15 +20233,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:19882: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20236: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:19886: \$? = $ac_status" >&5
+   echo "$as_me:20240: \$? = $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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_F77=yes
      fi
    fi
@@ -19939,16 +20295,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:19942: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20298: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:19946: \$? = $ac_status" >&5
+   echo "$as_me:20302: \$? = $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
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_F77=yes
      fi
    fi
@@ -20028,6 +20386,16 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
   case $host_os in
   cygwin* | mingw* | pw32*)
@@ -20048,6 +20416,27 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       whole_archive_flag_spec_F77=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -20098,7 +20487,7 @@ EOF
       allow_undefined_flag_F77=unsupported
       always_export_symbols_F77=no
       enable_shared_with_static_runtimes_F77=yes
-      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
@@ -20112,7 +20501,37 @@ EOF
        fi~
        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
       else
-       ld_shlibs=no
+       ld_shlibs_F77=no
+      fi
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         whole_archive_flag_spec_F77=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_F77=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       ld_shlibs_F77=no
       fi
       ;;
 
@@ -20154,31 +20573,6 @@ EOF
       hardcode_shlibpath_var_F77=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_cmds_F77="$tmp_archive_cmds"
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        archive_expsym_cmds_F77="$tmp_archive_cmds"
-      fi
-    else
-      ld_shlibs_F77=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -20189,16 +20583,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$ld_shlibs_F77" = yes; then
-      runpath_var=LD_RUN_PATH
-      hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
-      export_dynamic_flag_spec_F77='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec_F77=
-      fi
+    if test "$ld_shlibs_F77" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_F77=
+      export_dynamic_flag_spec_F77=
+      whole_archive_flag_spec_F77=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -20262,7 +20651,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       link_all_deplibs_F77=yes
 
       if test "$GCC" = yes; then
-       case $host_os in aix4.012|aix4.012.*)
+       case $host_os in aix4.[012]|aix4.[012].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
          collect2name=`${CC} -print-prog-name=collect2`
@@ -20283,6 +20672,9 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
          fi
        esac
        shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -20423,7 +20815,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ld_shlibs_F77=no
       ;;
 
-    bsdi4*)
+    bsdi[45]*)
       export_dynamic_flag_spec_F77=-rdynamic
       ;;
 
@@ -20444,57 +20836,57 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       old_archive_From_new_cmds_F77='true'
       # FIXME: Should let the user specify the lib program.
       old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes_F77=yes
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
-      archive_cmds_need_lc_F77=no
       case "$host_os" in
-      rhapsody* | darwin1.[012])
-       allow_undefined_flag_F77='-undefined suppress'
-       ;;
-      *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       allow_undefined_flag_F77='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag_F77='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag_F77='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-       ;;
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
       esac
-       lt_int_apple_cc_single_mod=no
-       output_verbose_link_cmd='echo'
-       if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-         lt_int_apple_cc_single_mod=yes
-       fi
-       if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-         archive_cmds_F77='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-       else
-        archive_cmds_F77='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      fi
-      module_cmds_F77='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-        if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-          archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        else
-          archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        fi
-          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      archive_cmds_need_lc_F77=no
       hardcode_direct_F77=no
       hardcode_automatic_F77=yes
       hardcode_shlibpath_var_F77=unsupported
-      whole_archive_flag_spec_F77='-all_load $convenience'
+      whole_archive_flag_spec_F77=''
       link_all_deplibs_F77=yes
+    if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+        archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      ld_shlibs_F77=no
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_F77=no
+          ;;
+      esac
     fi
       ;;
 
@@ -20528,7 +20920,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd* | kfreebsd*-gnu | dragonfly*)
       archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec_F77='-R$libdir'
       hardcode_direct_F77=yes
@@ -20639,6 +21031,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var_F77=no
       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
        archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
        hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
        export_dynamic_flag_spec_F77='${wl}-E'
       else
@@ -20684,7 +21077,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        allow_undefined_flag_F77=' -expect_unresolved \*'
        archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        hardcode_libdir_flag_spec_F77='-rpath $libdir'
@@ -20703,10 +21096,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     solaris*)
       no_undefined_flag_F77=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -20715,8 +21110,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var_F77=no
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+       *)
+         whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       link_all_deplibs_F77=yes
       ;;
@@ -20990,7 +21395,7 @@ beos*)
   shlibpath_var=LIBRARY_PATH
   ;;
 
-bsdi4*)
+bsdi[45]*)
   version_type=linux
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -21048,7 +21453,7 @@ cygwin* | mingw* | pw32*)
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
     ;;
@@ -21106,7 +21511,9 @@ kfreebsd*-gnu)
   dynamic_linker='GNU ld.so'
   ;;
 
-freebsd*)
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
   case $version_type in
@@ -21125,7 +21532,7 @@ freebsd*)
   freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
-  freebsd3.01* | freebsdelf3.01*)
+  freebsd3.[01]* | freebsdelf3.[01]*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -21249,10 +21656,31 @@ linux*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 21663 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  esac
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -21314,7 +21742,7 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -21436,8 +21864,8 @@ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
 hardcode_action_F77=
 if test -n "$hardcode_libdir_flag_spec_F77" || \
-   test -n "$runpath_var F77" || \
-   test "X$hardcode_automatic_F77"="Xyes" ; then
+   test -n "$runpath_var_F77" || \
+   test "X$hardcode_automatic_F77" = "Xyes" ; then
 
   # We can hardcode non-existant directories.
   if test "$hardcode_direct_F77" != no &&
@@ -21614,6 +22042,12 @@ fast_install=$enable_fast_install
 # The host system.
 host_alias=$host_alias
 host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
 # An echo program that does not interpret backslashes.
 echo=$lt_echo
@@ -21690,7 +22124,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -21928,7 +22362,7 @@ objext_GCJ=$objext
 lt_simple_compile_test_code="class foo {}\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
@@ -21939,15 +22373,41 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${GCJ-"gcj"}
 compiler=$CC
 compiler_GCJ=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 
 # GCJ did not exist at the time GCC didn't implicitly link libc in.
 archive_cmds_need_lc_GCJ=no
 
+old_archive_cmds_GCJ=$old_archive_cmds
+
 ## CAVEAT EMPTOR:
 ## There is no encapsulation within the following macros, do not change
 ## the running order or otherwise move them around unless you know exactly
@@ -21977,15 +22437,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:21980: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:22440: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:21984: \$? = $ac_status" >&5
+   echo "$as_me:22444: \$? = $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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
      fi
    fi
@@ -22088,6 +22550,16 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_GCJ='-qnocommon'
+         lt_prog_compiler_wl_GCJ='-Wl,'
+         ;;
+       esac
+       ;;
 
     mingw* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
@@ -22123,12 +22595,19 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     linux*)
-      case $CC in
+      case $cc_basename in
       icc* | ecc*)
        lt_prog_compiler_wl_GCJ='-Wl,'
        lt_prog_compiler_pic_GCJ='-KPIC'
        lt_prog_compiler_static_GCJ='-static'
         ;;
+      pgcc* | pgf77* | pgf90*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       lt_prog_compiler_wl_GCJ='-Wl,'
+       lt_prog_compiler_pic_GCJ='-fpic'
+       lt_prog_compiler_static_GCJ='-static'
+        ;;
       ccc*)
         lt_prog_compiler_wl_GCJ='-Wl,'
         # All Alpha code is PIC.
@@ -22149,9 +22628,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     solaris*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
       lt_prog_compiler_pic_GCJ='-KPIC'
       lt_prog_compiler_static_GCJ='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl_GCJ='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl_GCJ='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -22173,6 +22657,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       fi
       ;;
 
+    unicos*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_can_build_shared_GCJ=no
+      ;;
+
     uts4*)
       lt_prog_compiler_pic_GCJ='-pic'
       lt_prog_compiler_static_GCJ='-Bstatic'
@@ -22210,15 +22699,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22213: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:22702: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:22217: \$? = $ac_status" >&5
+   echo "$as_me:22706: \$? = $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
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_GCJ=yes
      fi
    fi
@@ -22270,16 +22761,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22273: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:22764: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:22277: \$? = $ac_status" >&5
+   echo "$as_me:22768: \$? = $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
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_GCJ=yes
      fi
    fi
@@ -22359,6 +22852,16 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
   case $host_os in
   cygwin* | mingw* | pw32*)
@@ -22379,6 +22882,27 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       whole_archive_flag_spec_GCJ=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -22429,7 +22953,7 @@ EOF
       allow_undefined_flag_GCJ=unsupported
       always_export_symbols_GCJ=no
       enable_shared_with_static_runtimes_GCJ=yes
-      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
@@ -22443,7 +22967,37 @@ EOF
        fi~
        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
       else
-       ld_shlibs=no
+       ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         whole_archive_flag_spec_GCJ=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_GCJ=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       ld_shlibs_GCJ=no
       fi
       ;;
 
@@ -22485,31 +23039,6 @@ EOF
       hardcode_shlibpath_var_GCJ=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_cmds_GCJ="$tmp_archive_cmds"
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        archive_expsym_cmds_GCJ="$tmp_archive_cmds"
-      fi
-    else
-      ld_shlibs_GCJ=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -22520,16 +23049,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$ld_shlibs_GCJ" = yes; then
-      runpath_var=LD_RUN_PATH
-      hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
-      export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec_GCJ=
-      fi
+    if test "$ld_shlibs_GCJ" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_GCJ=
+      export_dynamic_flag_spec_GCJ=
+      whole_archive_flag_spec_GCJ=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -22593,7 +23117,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       link_all_deplibs_GCJ=yes
 
       if test "$GCC" = yes; then
-       case $host_os in aix4.012|aix4.012.*)
+       case $host_os in aix4.[012]|aix4.[012].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
          collect2name=`${CC} -print-prog-name=collect2`
@@ -22614,6 +23138,9 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
          fi
        esac
        shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -22774,7 +23301,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ld_shlibs_GCJ=no
       ;;
 
-    bsdi4*)
+    bsdi[45]*)
       export_dynamic_flag_spec_GCJ=-rdynamic
       ;;
 
@@ -22795,57 +23322,57 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       old_archive_From_new_cmds_GCJ='true'
       # FIXME: Should let the user specify the lib program.
       old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes_GCJ=yes
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
-      archive_cmds_need_lc_GCJ=no
       case "$host_os" in
-      rhapsody* | darwin1.[012])
-       allow_undefined_flag_GCJ='-undefined suppress'
-       ;;
-      *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-       allow_undefined_flag_GCJ='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag_GCJ='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag_GCJ='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
-       ;;
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
       esac
-       lt_int_apple_cc_single_mod=no
-       output_verbose_link_cmd='echo'
-       if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-         lt_int_apple_cc_single_mod=yes
-       fi
-       if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-         archive_cmds_GCJ='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-       else
-        archive_cmds_GCJ='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      fi
-      module_cmds_GCJ='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-        if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-          archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        else
-          archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-        fi
-          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      archive_cmds_need_lc_GCJ=no
       hardcode_direct_GCJ=no
       hardcode_automatic_GCJ=yes
       hardcode_shlibpath_var_GCJ=unsupported
-      whole_archive_flag_spec_GCJ='-all_load $convenience'
+      whole_archive_flag_spec_GCJ=''
       link_all_deplibs_GCJ=yes
+    if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+        archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      ld_shlibs_GCJ=no
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_GCJ=no
+          ;;
+      esac
     fi
       ;;
 
@@ -22879,7 +23406,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd* | kfreebsd*-gnu | dragonfly*)
       archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec_GCJ='-R$libdir'
       hardcode_direct_GCJ=yes
@@ -22990,6 +23517,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var_GCJ=no
       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
        archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
        hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
        export_dynamic_flag_spec_GCJ='${wl}-E'
       else
@@ -23035,7 +23563,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        allow_undefined_flag_GCJ=' -expect_unresolved \*'
        archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
@@ -23054,10 +23582,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     solaris*)
       no_undefined_flag_GCJ=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -23066,8 +23596,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var_GCJ=no
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+       *)
+         whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       link_all_deplibs_GCJ=yes
       ;;
@@ -23341,7 +23881,7 @@ beos*)
   shlibpath_var=LIBRARY_PATH
   ;;
 
-bsdi4*)
+bsdi[45]*)
   version_type=linux
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -23399,7 +23939,7 @@ cygwin* | mingw* | pw32*)
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
     ;;
@@ -23457,7 +23997,9 @@ kfreebsd*-gnu)
   dynamic_linker='GNU ld.so'
   ;;
 
-freebsd*)
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
   case $version_type in
@@ -23476,7 +24018,7 @@ freebsd*)
   freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
-  freebsd3.01* | freebsdelf3.01*)
+  freebsd3.[01]* | freebsdelf3.[01]*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -23600,10 +24142,31 @@ linux*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 24149 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  esac
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -23665,7 +24228,7 @@ nto-qnx*)
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -23787,8 +24350,8 @@ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
 hardcode_action_GCJ=
 if test -n "$hardcode_libdir_flag_spec_GCJ" || \
-   test -n "$runpath_var GCJ" || \
-   test "X$hardcode_automatic_GCJ"="Xyes" ; then
+   test -n "$runpath_var_GCJ" || \
+   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
 
   # We can hardcode non-existant directories.
   if test "$hardcode_direct_GCJ" != no &&
@@ -24454,7 +25017,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 24457 "configure"
+#line 25020 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -24552,7 +25115,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 24555 "configure"
+#line 25118 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -24770,6 +25333,12 @@ fast_install=$enable_fast_install
 # The host system.
 host_alias=$host_alias
 host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
 # An echo program that does not interpret backslashes.
 echo=$lt_echo
@@ -24846,7 +25415,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -25094,11 +25663,35 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${RC-"windres"}
 compiler=$CC
 compiler_RC=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 lt_cv_prog_compiler_c_o_RC=yes
 
 # The else clause should only fire when bootstrapping the
@@ -25215,6 +25808,12 @@ fast_install=$enable_fast_install
 # The host system.
 host_alias=$host_alias
 host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
 # An echo program that does not interpret backslashes.
 echo=$lt_echo
@@ -25291,7 +25890,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -28497,6 +29096,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#include <sys/types.h>
 #include <scsi/sg.h>
 #include <sys/mtio.h>
 
@@ -50112,7 +50712,6 @@ s,@AUTOCONF@,$AUTOCONF,;t t
 s,@AUTOMAKE@,$AUTOMAKE,;t t
 s,@AUTOHEADER@,$AUTOHEADER,;t t
 s,@MAKEINFO@,$MAKEINFO,;t t
-s,@AMTAR@,$AMTAR,;t t
 s,@install_sh@,$install_sh,;t t
 s,@STRIP@,$STRIP,;t t
 s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
@@ -50121,6 +50720,9 @@ s,@mkdir_p@,$mkdir_p,;t t
 s,@AWK@,$AWK,;t t
 s,@SET_MAKE@,$SET_MAKE,;t t
 s,@am__leading_dot@,$am__leading_dot,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@am__tar@,$am__tar,;t t
+s,@am__untar@,$am__untar,;t t
 s,@SNAPSHOT_STAMP@,$SNAPSHOT_STAMP,;t t
 s,@VERSION_MAJOR@,$VERSION_MAJOR,;t t
 s,@VERSION_MINOR@,$VERSION_MINOR,;t t
@@ -50869,27 +51471,21 @@ echo X"$mf" |
   else
     continue
   fi
-  grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
-  # Extract the definition of DEP_FILES from the Makefile without
-  # running `make'.
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
   DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
   test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
   # When using ansi2knr, U may be empty or an underscore; expand it
   U=`sed -n 's/^U = //p' < "$mf"`
-  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
-  # We invoke sed twice because it is the simplest approach to
-  # changing $(DEPDIR) to its actual value in the expansion.
-  for file in `sed -n '
-    /^DEP_FILES = .*\\\\$/ {
-      s/^DEP_FILES = //
-      :loop
-       s/\\\\$//
-       p
-       n
-       /\\\\$/ b loop
-      p
-    }
-    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
index e3ee866bd74e93183ddf54d30e1b8bad1e1c2514..ff7e4901c46490a2deb720ab4f96ea92f0fafba3 100644 (file)
@@ -14,7 +14,7 @@ AC_DEFINE_UNQUOTED(CONFIGURE_COMMAND,"$CONFIGURE_COMMAND",
          [Saves the original ./configure command line arguments])
 AC_SUBST(CONFIGURE_COMMAND)
 
-AM_INIT_AUTOMAKE(amanda, 2.4.5)
+AM_INIT_AUTOMAKE(amanda, 2.4.5p1)
 AM_CONFIG_HEADER(config/config.h)
 
 AC_PREREQ(2.59)                dnl Minimum Autoconf version required.
@@ -242,6 +242,9 @@ AC_ARG_WITH(server,
        esac
     ]
 )
+if test "x${NO_SERVER_MODE+set}" != xset ; then
+   NO_SERVER_MODE=false
+fi
 
 AC_ARG_WITH(restore,
     [  --without-restore      do not build amrestore nor amidxtaped],
@@ -255,6 +258,20 @@ AC_ARG_WITH(restore,
        esac
     ]
 )
+if test "x${NO_RESTORE_MODE+set}" != xset ; then
+   NO_RESTORE_MODE=${NO_SERVER_MODE-false}
+fi
+
+if ${NO_SERVER_MODE-false}; then
+   if ${NO_RESTORE_MODE-false}; then
+      dnl
+      dnl --without-server and --without-restore is OK
+      dnl
+      true
+   else
+      AC_MSG_ERROR([*** --without-server requires --without-restore])
+   fi
+fi
 
 AC_ARG_WITH(amrecover,
     [  --without-amrecover    do not build amrecover],
@@ -1783,6 +1800,7 @@ if test x"$ac_cv_header_sys_mtio_h" = x"yes" &&
        AC_CACHE_CHECK([for Linux like scsi support (sg)],
        amanda_cv_linux_sg_scsi,
        [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
 #include <scsi/sg.h>
 #include <sys/mtio.h>
 ]], [[
diff --git a/docs/Appendix.txt b/docs/Appendix.txt
new file mode 100644 (file)
index 0000000..099ae71
--- /dev/null
@@ -0,0 +1,22 @@
+
+Part VII. Appendixes
+Prev            Next
+
+-------------------------------------------------------------------------------
+
+
+Appendixes
+
+Table of Contents
+
+
+  35._The_AMANDA_Manual_Pages.
+
+  36._Web_Ressources
+
+-------------------------------------------------------------------------------
+
+Prev                              Up                                   Next
+Chapter 34. Usage of floppy tape Home  Chapter 35. The AMANDA Manual Pages.
+drives on Linux 
+
index f0ebcdff2be027ec5351210ffb45744580a49687..4945798d9d2cfe1f3859b5f8f1cc66150caa73db 100644 (file)
@@ -1,7 +1,9 @@
 ## Process this file with automake to produce Makefile.in
 pkgdata_DATA = \
+       Appendix.txt \
        amadmin.8.txt \
        amanda.8.txt \
+       amanda.conf.5.txt \
        amcheck.8.txt \
        amcheckdb.8.txt \
        amcleanup.8.txt \
@@ -32,6 +34,7 @@ pkgdata_DATA = \
        howto-afs.txt \
        howto-cygwin.txt \
        howto-filedriver.txt \
+       howto-wrapper.txt \
        howtos.txt \
        index.txt \
        indexing.txt \
index b7a9185f083db3cbaf33a91aa76077237a7aabda..f85b1b22dabdd5b2716ab6fe178533cd8e9be1f9 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -34,7 +34,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = docs
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -47,6 +49,12 @@ CONFIG_HEADER = $(top_builddir)/config/config.h
 CONFIG_CLEAN_FILES =
 SOURCES =
 DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdatadir)"
 pkgdataDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(pkgdata_DATA)
@@ -207,6 +215,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -240,8 +250,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 pkgdata_DATA = \
+       Appendix.txt \
        amadmin.8.txt \
        amanda.8.txt \
+       amanda.conf.5.txt \
        amcheck.8.txt \
        amcheckdb.8.txt \
        amcleanup.8.txt \
@@ -272,6 +284,7 @@ pkgdata_DATA = \
        howto-afs.txt \
        howto-cygwin.txt \
        howto-filedriver.txt \
+       howto-wrapper.txt \
        howtos.txt \
        index.txt \
        indexing.txt \
@@ -360,7 +373,7 @@ install-pkgdataDATA: $(pkgdata_DATA)
        test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
        @list='$(pkgdata_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         f=$(am__strip_dir) \
          echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
          $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
        done
@@ -368,7 +381,7 @@ install-pkgdataDATA: $(pkgdata_DATA)
 uninstall-pkgdataDATA:
        @$(NORMAL_UNINSTALL)
        @list='$(pkgdata_DATA)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         f=$(am__strip_dir) \
          echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
          rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
        done
@@ -432,7 +445,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index cb98f620f47ed0e4caa54b7e23efa0b80bcfd9ed..1deec2631f1eb0ba48931c68d1862031ab89946a 100644 (file)
@@ -10,24 +10,28 @@ amanda \14 Advanced Maryland Automatic Network Disk Archiver
 
 Synopsis
 
+amadmin config command [options]
+amcheck [options] config
+amcheckdb config
+amcleanup config
+amdd [options]
 amdump config
 amflush [-f ] config
-amcleanup config
-amrecover [config] [options]
-amrestore [options] tapedevice [ hostname [diskname]]
+amgetconf [config] parameter
 amlabel config label [ slot slot ]
-amcheck [options] config
-amadmin config command [options]
-amtape config command [options]
-amverify config
-amrmtape [options] config label
-amstatus config [options]
+ammt [options]
 amoverview config [options]
 amplot [options] amdump-files
+amrecover [config] [options]
 amreport [config] [options]
+amrestore [options] tapedevice [ hostname [diskname]]
+amrmtape [options] config label
+amstatus config [options]
+amtape config command [options]
+amtapetype [options]
 amtoc [options] logfile
-amcheckdb config
-amgetconf [config] parameter
+amverify config
+amverifyrun config
 
 DESCRIPTION
 
@@ -115,15 +119,19 @@ for all the gory details.
   amgetconf
       Look up parameters in the AMANDA configuration file.
 
+  amtapetype
+      Generate a tapetype definition.
+
 
 CONFIGURATION
 
-There are three user-editable files that control the behavior of AMANDA. The
-first is amanda.conf, the main configuration file. It contains parameters to
-customize AMANDA for the site. Second is the disklist file, which lists hosts
-and disk partitions to back up. Third is the tapelist file, which lists tapes
-that are currently active. These files are described in more detail in the
-following sections.
+There are three user-editable files that control the behavior of AMANDA.
+The first is amanda.conf, the main configuration file. It contains parameters
+to customize AMANDA for the site. Refer to the amanda.conf(5), manpage for
+details on AMANDA configuration parameters.
+Second is the disklist file, which lists hosts and disk partitions to back up.
+Third is the tapelist file, which lists tapes that are currently active. These
+files are described in more detail in the following sections.
 All files are stored in individual configuration directories under /usr/local/
 etc/amanda/. A site will often have more than one configuration. For example,
 it might have a normal configuration for everyday backups and an archive
@@ -151,755 +159,6 @@ Index (backup image catalogue) files older than the full dump matching the
 oldest backup image for a given client and disk are removed by amdump at the
 end of each run.
 
-CONFIG FILE PARAMETERS
-
-There are a number of configuration parameters that control the behavior of the
-AMANDA programs. All have default values, so you need not specify the parameter
-in amanda.conf if the default is suitable.
-Lines starting with # are ignored, as are blank lines. Comments may be placed
-on a line with a directive by starting the comment with a #. The remainder of
-the line is ignored.
-Keywords are case insensitive, i.e. mailto and MailTo are treated the same.
-Integer arguments may have one of the following (case insensitive) suffixes,
-some of which have a multiplier effect:
-
-
-  b byte bytes
-      Some number of bytes.
-
-  bps
-      Some number of bytes per second.
-
-  k kb kbyte kbytes kilobyte kilobytes
-      Some number of kilobytes (bytes*1024).
-
-  kps kbps
-      Some number of kilobytes per second (bytes*1024).
-
-  m mb meg mbyte mbytes megabyte megabytes
-      Some number of megabytes (bytes*1024*1024).
-
-  mps mbps
-      Some number of megabytes per second (bytes*1024*1024).
-
-  g gb gbyte gbytes gigabyte gigabytes
-      Some number of gigabytes (bytes*1024*1024*1024).
-
-  tape tapes
-      Some number of tapes.
-
-  day days
-      Some number of days.
-
-  week weeks
-      Some number of weeks (days*7).
-
-      Note
-
-      The value inf may be used in most places where an integer is expected to
-      mean an infinite amount.
-      Boolean arguments may have any of the values y, yes, t, true or on to
-      indicate a true state, or n, no, f, false or off to indicate a false
-      state. If no argument is given, true is assumed.
-
-
-
-  org string
-      Default: daily. A descriptive name for the configuration. This string
-      appears in the Subject line of mail reports. Each AMANDA configuration
-      should have a different string to keep mail reports distinct.
-
-  mailto string
-      Default: operators. A space separated list of recipients for mail
-      reports.
-
-  dumpcycle int
-      Default: 10 days. The number of days in the backup cycle. Each disk will
-      get a full backup at least this often. Setting this to zero tries to do a
-      full backup each run.
-
-      Note
-
-      This parameter may also be set in a specific dumptype (see below). This
-      value sets the default for all dumptypes so must appear in amanda.conf
-      before any dumptypes are defined.
-
-  runspercycle int
-      Default: same as dumpcycle. The number of amdump runs in dumpcycle days.
-      A value of 0 means the same value as dumpcycle. A value of -1 means guess
-      the number of runs from the tapelist file, which is the number of tapes
-      used in the last dumpcycle days / runtapes.
-
-  tapecycle int
-      Default: 15 tapes. Typically tapes are used by AMANDA in an ordered
-      rotation. The tapecycle parameter defines the size of that rotation. The
-      number of tapes in rotation must be larger than the number of tapes
-      required for a complete dump cycle (see the dumpcycle parameter).
-      This is calculated by multiplying the number of amdump runs per dump
-      cycle (runspercycle parameter) times the number of tapes used per run
-      (runtapes parameter). Typically two to four times this calculated number
-      of tapes are in rotation. While AMANDA is always willing to use a new
-      tape in its rotation, it refuses to reuse a tape until at least
-      'tapecycle -1' number of other tapes have been used.
-      It is considered good administrative practice to set the tapecycle
-      parameter slightly lower than the actual number of tapes in rotation.
-      This allows the administrator to more easily cope with damaged or
-      misplaced tapes or schedule adjustments that call for slight adjustments
-      in the rotation order.
-
-
-
-  dumpuser string
-      Default: amanda. The login name AMANDA uses to run the backups. The
-      backup client hosts must allow access from the tape server host as this
-      user via .rhosts or .amandahosts, depending on how the AMANDA software
-      was built.
-
-  printer string
-      Printer to use when doing tape labels. See the lbl-templ tapetype option.
-
-  tapedev string
-      Default: /dev/nst0. The path name of the non-rewinding tape device. Non-
-      rewinding tape device names often have an 'n' in the name, e.g. /dev/rmt/
-      0mn, however this is operating system specific and you should consult
-      that documentation for detailed naming information.
-      If a tape changer is configured (see the tpchanger option), this option
-      might not be used.
-      If the null output driver is selected (see the OUTPUT_DRIVERS section
-      later for more information), programs such as amdump will run normally
-      but all images will be thrown away. This should only be used for
-      debugging and testing, and probably only with the record option set to
-      no.
-
-  rawtapedev string
-      Default: /dev/null. The path name of the raw tape device. This is only
-      used if AMANDA is compiled for Linux machines with floppy tapes and is
-      needed for QIC volume table operations.
-
-  tpchanger string
-      Default: none. The name of the tape changer. If a tape changer is not
-      configured, this option is not used and should be commented out of the
-      configuration file.
-      If a tape changer is configured, choose one of the changer scripts (e.g.
-      chg-scsi) and enter that here.
-
-
-
-  changerdev string
-      Default: /dev/null. A tape changer configuration parameter. Usage depends
-      on the particular changer defined with the tpchanger option.
-
-  changerfile string
-      Default: /usr/adm/amanda/log/changer-status. A tape changer configuration
-      parameter. Usage depends on the particular changer defined with the
-      tpchanger option.
-
-  runtapes int
-      Default: 1. The maximum number of tapes used in a single run. If a tape
-      changer is not configured, this option is not used and should be
-      commented out of the configuration file.
-      If a tape changer is configured, this may be set larger than one to let
-      AMANDA write to more than one tape.
-      Note that this is an upper bound on the number of tapes, and AMANDA may
-      use less.
-      Also note that as of this release, AMANDA does not support true tape
-      overflow. When it reaches the end of one tape, the backup image AMANDA
-      was processing starts over again on the next tape.
-
-
-
-  maxdumpsize int
-      Default: runtapes*tape_length. Maximum number of bytes the planner will
-      schedule for a run.
-
-  taperalgo [first|firstfit|largest|largestfit|smallest|last]
-      Default: first. The algorithm used to choose which dump image to send to
-      the taper.
-
-
-        first
-            First in, first out.
-
-        firstfit
-            The first dump image that will fit on the current tape.
-
-        largest
-            The largest dump image.
-
-        largestfit
-            The largest dump image that will fit on the current tape.
-
-        smallest
-            The smallest dump image.
-
-        last
-            Last in, first out.
-
-
-  labelstr string
-      Default: .*. The tape label constraint regular expression. All tape
-      labels generated (see amlabel(8)) and used by this configuration must
-      match the regular expression. If multiple configurations are run from the
-      same tape server host, it is helpful to set their labels to different
-      strings (for example, "DAILY[0-9][0-9]*" vs. "ARCHIVE[0-9][0-9]*") to
-      avoid overwriting each other's tapes.
-
-  tapetype string
-      Default: EXABYTE. The type of tape drive associated with tapedev or
-      tpchanger. This refers to one of the defined tapetypes in the config file
-      (see below), which specify various tape parameters, like the length,
-      filemark size, and speed of the tape media and device.
-
-  ctimeout int
-      Default: 30 seconds. Maximum amount of time that amcheck will wait for
-      each client host.
-
-  dtimeout int
-      Default: 1800 seconds. Amount of idle time per disk on a given client
-      that a dumper running from within amdump will wait before it fails with a
-      data timeout error.
-
-  etimeout int
-      Default: 300 seconds. Amount of time per disk on a given client that the
-      planner step of amdump will wait to get the dump size estimates. For
-      instance, with the default of 300 seconds and four disks on client A,
-      planner will wait up to 20 minutes for that machine. A negative value
-      will be interpreted as a total amount of time to wait per client instead
-      of per disk.
-
-  netusage int
-      Default: 300 Kbps. The maximum network bandwidth allocated to AMANDA, in
-      Kbytes per second. See also the interface section.
-
-  inparallel int
-      Default: 10. The maximum number of backups that AMANDA will attempt to
-      run in parallel. AMANDA will stay within the constraints of network
-      bandwidth and holding disk space available, so it doesn't hurt to set
-      this number a bit high. Some contention can occur with larger numbers of
-      backups, but this effect is relatively small on most systems.
-
-  displayunit "k|m|g|t"
-      Default: "k". The unit used to print many numbers, k=kilo, m=mega,
-      g=giga, t=tera.
-
-  dumporder string
-      Default: tttTTTTTTT. The priority order of each dumper:
-
-      * s: smallest size
-      * S: largest size
-      * t: smallest time
-      * T: largest time
-      * b: smallest bandwidth
-      * B: largest bandwidth
-
-
-
-
-  maxdumps int
-      Default: 1. The maximum number of backups from a single host that AMANDA
-      will attempt to run in parallel. See also the inparallel option.
-      Note that this parameter may also be set in a specific dumptype (see
-      below). This value sets the default for all dumptypes so must appear in
-      amanda.conf before any dumptypes are defined.
-
-
-
-  bumpsize int
-      Default: 10 Mbytes. The minimum savings required to trigger an automatic
-      bump from one incremental level to the next. If AMANDA determines that
-      the next higher backup level will be this much smaller than the current
-      level, it will do the next level. See also the bumpmult option.
-
-  bumpmult float
-      Default: 1.5. The bump size multiplier. AMANDA multiplies bumpsize by
-      this factor for each level. This prevents active filesystems from bumping
-      too much by making it harder to bump to the next level. For example, with
-      the default bumpsize and bumpmult set to 2.0, the bump threshold will be
-      10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level
-      three, and so on.
-
-  bumpdays int
-      Default: 2 days. To insure redundancy in the dumps, AMANDA keeps
-      filesystems at the same incremental level for at least bumpdays days,
-      even if the other bump threshold criteria are met.
-
-  diskfile string
-      Default: disklist. The file name for the disklist file holding client
-      hosts, disks and other client dumping information.
-
-  infofile string
-      Default: /usr/adm/amanda/curinfo. The file or directory name for the
-      historical information database. If AMANDA was configured to use DBM
-      databases, this is the base file name for them. If it was configured to
-      use text formated databases (the default), this is the base directory and
-      within here will be a directory per client, then a directory per disk,
-      then a text file of data.
-
-  logdir string
-      Default: /usr/adm/amanda. The directory for the amdump and log files.
-
-  indexdir string
-      Default /usr/adm/amanda/index. The directory where index files (backup
-      image catalogues) are stored. Index files are only generated for
-      filesystems whose dumptype has the index option enabled.
-
-  tapelist string
-      Default: tapelist. The file name for the active tapelist file. AMANDA
-      maintains this file with information about the active set of tapes.
-
-  tapebufs int
-      Default: 20. The number of buffers used by the taper process run by
-      amdump and amflush to hold data as it is read from the network or disk
-      before it is written to tape. Each buffer is a little larger than 32
-      KBytes and is held in a shared memory region.
-
-  reserve number
-      Default: 100. The part of holding-disk space that should be reserved for
-      incremental backups if no tape is available, expressed as a percentage of
-      the available holding-disk space (0-100). By default, when there is no
-      tape to write to, degraded mode (incremental) backups will be performed
-      to the holding disk. If full backups should also be allowed in this case,
-      the amount of holding disk space reserved for incrementals should be
-      lowered.
-
-  autoflush bool
-      Default: off. Whether an amdump run will flush the dump already on
-      holding disk to tape.
-
-  amrecover_do_fsf bool
-      Default: off. Amrecover will call amrestore with the -f flag for faster
-      positioning of the tape.
-
-  amrecover_check_label bool
-      Default: off. Amrecover will call amrestore with the -l flag to check the
-      label.
-
-  amrecover_changer string
-      Default: ''. Amrecover will use the changer if you use 'settape <string>'
-      and that string is the same as the amrecover_changer setting.
-
-  columnspec string
-      Defines the width of columns amreport should use. String is a comma (',')
-      separated list of triples. Each triple consists of three parts which are
-      separated by a equal sign ('=') and a colon (':') (see the example).
-      These three parts specify:
-
-      * the name of the column, which may be:
-
-        o Compress (compression ratio)
-        o Disk (client disk name)
-        o DumpRate (dump rate in KBytes/sec)
-        o DumpTime (total dump time in hours:minutes)
-        o HostName (client host name)
-        o Level (dump level)
-        o OrigKB (original image size in KBytes)
-        o OutKB (output image size in KBytes)
-        o TapeRate (tape writing rate in KBytes/sec)
-        o TapeTime (total tape time in hours:minutes)
-
-      * the amount of space to display before the column (used to get
-        whitespace between columns).
-      * the width of the column itself. If set to a negative value, the width
-        will be calculated on demand to fit the largest entry in this column.
-
-      Here is an example:
-
-        columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
-
-      The above will display the disk information in 18 characters and put one
-      space before it. The hostname column will be 10 characters wide with no
-      space to the left. The output KBytes column is seven characters wide with
-      one space before it.
-
-
-
-  includefile string
-      Default: none. The name of an AMANDA configuration file to include within
-      the current file. Useful for sharing dumptypes, tapetypes and interface
-      definitions among several configurations.
-
-
-HOLDINGDISK SECTION
-
-The amanda.conf file may define one or more holding disks used as buffers to
-hold backup images before they are written to tape. The syntax is:
-
-  holdingdisk name {
-      holdingdisk-option holdingdisk-value
-      ...
-  }
-
-Name is a logical name for this holding disk.
-The options and values are:
-
-
-  comment string
-      Default: none. A comment string describing this holding disk.
-
-  directory disk
-      Default: /dumps/amanda. The path to this holding area.
-
-  use int
-      Default: 0 Gb. Amount of space that can be used in this holding disk
-      area. If the value is zero, all available space on the file system is
-      used. If the value is negative, AMANDA will use all available space minus
-      that value.
-
-  chunksize int
-      Default: 1 Gb. Holding disk chunk size. Dumps larger than the specified
-      size will be stored in multiple holding disk files. The size of each
-      chunk will not exceed the specified value. However, even though dump
-      images are split in the holding disk, they are concatenated as they are
-      written to tape, so each dump image still corresponds to a single
-      continuous tape section.
-      If 0 is specified, AMANDA will create holding disk chunks as large as (
-      (INT_MAX/1024)-64) Kbytes.
-      Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk
-      size is 64 Kbytes (but that would be really silly).
-      Operating systems that are limited to a maximum file size of 2 Gbytes
-      actually cannot handle files that large. They must be at least one byte
-      less than 2 Gbytes. Since AMANDA works with 32 Kbyte blocks, and to
-      handle the final read at the end of the chunk, the chunk size should be
-      at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size,
-      e.g. 2047 Mbytes.
-
-
-DUMPTYPE SECTION
-
-The amanda.conf file may define multiple sets of backup options and refer to
-them by name from the disklist file. For instance, one set of options might be
-defined for file systems that can benefit from high compression, another set
-that does not compress well, another set for file systems that should always
-get a full backup and so on.
-A set of backup options are entered in a dumptype section, which looks like
-this:
-
-  define dumptype name {
-      dumptype-option dumptype-value
-      ...
-  }
-
-Name is the name of this set of backup options. It is referenced from the
-disklist file.
-Some of the options in a dumptype section are the same as those in the main
-part of amanda.conf. The main option value is used to set the default for all
-dumptype sections. For instance, setting dumpcycle to 50 in the main part of
-the config file causes all following dumptype sections to start with that
-value, but the value may be changed on a section by section basis. Changes to
-variables in the main part of the config file must be done before (earlier in
-the file) any dumptypes are defined.
-The dumptype options and values are:
-
-
-  auth string
-      Default: bsd. Type of authorization to perform between tape server and
-      backup client hosts. May be krb4 to use Kerberos-IV authorization.
-
-  comment string
-      Default: none. A comment string describing this set of backup options.
-
-  comprate float [, float ]
-      Default: 0.50, 0.50. The expected full and incremental compression factor
-      for dumps. It is only used if AMANDA does not have any history
-      information on compression rates for a filesystem, so should not usually
-      need to be set. However, it may be useful for the first time a very large
-      filesystem that compresses very little is backed up.
-
-  compress [client|server] string
-      Default: client fast. If AMANDA does compression of the backup images, it
-      can do so either on the backup client host before it crosses the network
-      or on the tape server host as it goes from the network into the holding
-      disk or to tape. Which place to do compression (if at all) depends on how
-      well the dump image usually compresses, the speed and load on the client
-      or server, network capacity, holding disk capacity, availability of tape
-      hardware compression, etc.
-      For either type of compression, AMANDA also allows the selection of two
-      styles of compression. Best is the best compression available, often at
-      the expense of CPU overhead. Fast is often not as good a compression as
-      best, but usually less CPU overhead.
-      So the compress options line may be one of:
-
-      * compress none
-      * compress [client] fast
-      * compress [client] best
-      * compress server fast
-      * compress server best
-
-      Note that some tape devices do compression and this option has nothing to
-      do with whether that is used. If hardware compression is used (usually
-      via a particular tape device name or mt option), AMANDA (software)
-      compression should be disabled.
-
-  dumpcycle int
-      Default: 10 days. The number of days in the backup cycle. Each disk using
-      this set of options will get a full backup at least this often. Setting
-      this to zero tries to do a full backup each run.
-
-  exclude [ list|file ][[optional][ append ][ string ]+]
-      Default: file. There are two exclude lists, exclude file and exclude
-      list. With exclude file , the string is a GNU-tar exclude expression.
-      With exclude list , the string is a file name on the client containing
-      GNU-tar exclude expressions.
-      All exclude expressions are concatenated in one file and passed to GNU-
-      tar as an --exclude-from argument.
-      With the append keyword, the string is appended to the current list,
-      without it, the string overwrites the list.
-      If optional is specified for exclude list, then amcheck will not complain
-      if the file doesn't exist or is not readable.
-      For exclude list, if the file name is relative, the disk name being
-      backed up is prepended. So if this is entered:
-
-            exclude list ".amanda.excludes"
-
-      the actual file used would be /var/.amanda.excludes for a backup of /var,
-      /usr/local/.amanda.excludes for a backup of /usr/local, and so on.
-
-  holdingdisk boolean
-      Default: yes. Whether a holding disk should be used for these backups or
-      whether they should go directly to tape. If the holding disk is a portion
-      of another file system that AMANDA is backing up, that file system should
-      refer to a dumptype with holdingdisk set to no to avoid backing up the
-      holding disk into itself.
-
-  ignore boolean
-      Default: no. Whether disks associated with this backup type should be
-      backed up or not. This option is useful when the disklist file is shared
-      among several configurations, some of which should not back up all the
-      listed file systems.
-
-  include [ list|file ][[optional][ append ][ string ]+]
-      Default: file ".". There are two include lists, include file and include
-      list. With include file , the string is a glob expression. With include
-      list , the string is a file name on the client containing glob
-      expressions.
-      All include expressions are expanded by AMANDA, concatenated in one file
-      and passed to GNU-tar as a --files-from argument. They must start with
-      "./" and contain no other "/".
-      With the append keyword, the string is appended to the current list,
-      without it, the string overwrites the list.
-      If optional is specified for include list, then amcheck will not complain
-      if the file doesn't exist or is not readable.
-      For include list, If the file name is relative, the disk name being
-      backed up is prepended.
-
-  index boolean
-      Default: no. Whether an index (catalogue) of the backup should be
-      generated and saved in indexdir. These catalogues are used by the
-      amrecover utility.
-
-  kencrypt boolean
-      Default: no. Whether the backup image should be encrypted by Kerberos as
-      it is sent across the network from the backup client host to the tape
-      server host.
-
-  maxdumps int
-      Default: 1. The maximum number of backups from a single host that AMANDA
-      will attempt to run in parallel. See also the main section parameter
-      inparallel.
-
-  maxpromoteday int
-      Default: 10000. The maximum number of day for a promotion, set it 0 if
-      you don't want promotion, set it to 1 or 2 if your disks get
-      overpromoted.
-
-  priority string
-      Default: medium. When there is no tape to write to, AMANDA will do
-      incremental backups in priority order to the holding disk. The priority
-      may be high (2). medium (1), low (0) or a number of your choice.
-
-  program string
-      Default: DUMP. The type of backup to perform. Valid values are DUMP for
-      the native operating system backup program, and GNUTAR to use GNU-tar or
-      to do PC backups using Samba.
-
-  record boolean
-      Default: yes. Whether to ask the backup program to update its database
-      (e.g. /etc/dumpdates for DUMP or /usr/local/var/amanda/gnutar-lists for
-      GNUTAR) of time stamps. This is normally enabled for daily backups and
-      turned off for periodic archival runs.
-
-  skip-full boolean
-      Default: no. If true and planner has scheduled a full backup, these disks
-      will be skipped, and full backups should be run off-line on these days.
-      It was reported that AMANDA only schedules level 1 incrementals in this
-      configuration; this is probably a bug.
-
-  skip-incr boolean
-      Default: no. If true and planner has scheduled an incremental backup,
-      these disks will be skipped.
-
-  starttime int
-      Default: none. Backups will not start until after this time of day. The
-      value should be hh*100+mm, e.g. 6:30PM (18:30) would be entered as 1830.
-
-  strategy string
-      Default: standard. Strategy to use when planning what level of backup to
-      run next. Values are:
-
-The following dumptype entries are predefined by AMANDA:
-
-  define dumptype no-compress {
-      compress none
-  }
-  define dumptype compress-fast {
-      compress client fast
-  }
-  define dumptype compress-best {
-      compress client best
-  }
-  define dumptype srvcompress {
-      compress server fast
-  }
-  define dumptype bsd-auth {
-      auth bsd
-  }
-  define dumptype krb4-auth {
-      auth krb4
-  }
-  define dumptype no-record {
-      record no
-  }
-  define dumptype no-hold {
-      holdingdisk no
-  }
-  define dumptype no-full {
-      skip-full yes
-  }
-
-In addition to options in a dumptype section, one or more other dumptype names
-may be entered, which make this dumptype inherit options from other previously
-defined dumptypes. For instance, two sections might be the same except for the
-record option:
-
-  define dumptype normal {
-      comment "Normal backup, no compression, do indexing"
-      no-compress
-      index yes
-      maxdumps 2
-  }
-  define dumptype testing {
-      comment "Test backup, no compression, do indexing, no recording"
-      normal
-      record no
-  }
-
-AMANDA provides a dumptype named global in the sample amanda.conf file that all
-dumptypes should reference. This provides an easy place to make changes that
-will affect every dumptype.
-
-TAPETYPE SECTION
-
-The amanda.conf file may define multiple types of tape media and devices. The
-information is entered in a tapetype section, which looks like this in the
-config file:
-
-  define tapetype name {
-      tapetype-option tapetype-value
-      ...
-  }
-
-Name is the name of this type of tape medium/device. It is referenced from the
-tapetype option in the main part of the config file.
-The tapetype options and values are:
-
-
-  comment string
-      Default: none. A comment string describing this set of tape information.
-
-  filemark int
-      Default: 1000 bytes. How large a file mark (tape mark) is, measured in
-      bytes. If the size is only known in some linear measurement (e.g.
-      inches), convert it to bytes using the device density.
-
-  length int
-      Default: 2000 kbytes. How much data will fit on a tape.
-      Note that this value is only used by AMANDA to schedule which backups
-      will be run. Once the backups start, AMANDA will continue to write to a
-      tape until it gets an error, regardless of what value is entered for
-      length (but see the OUTPUT_DRIVERS section later for exceptions).
-
-  blocksize int
-      Default: 32. How much data will be written in each tape record expressed
-      in KiloBytes. The tape record size (= blocksize) can not be reduced below
-      the default 32 KBytes. The parameter blocksize can only be raised if
-      AMANDA was compiled with the configure option --with-maxtapeblocksize=N
-      set with "N" greater than 32 during configure.
-
-  file-pad boolean
-      Default: true. If true, every record, including the last one in the file,
-      will have the same length. This matches the way AMANDA wrote tapes prior
-      to the availability of this parameter. It may also be useful on devices
-      that only support a fixed blocksize.
-      Note that the last record on the tape probably includes trailing null
-      byte padding, which will be passed back to gzip, compress or the restore
-      program. Most programs just ignore this (although possibly with a
-      warning).
-      If this parameter is false, the last record in a file may be shorter than
-      the block size. The file will contain the same amount of data the dump
-      program generated, without trailing null byte padding. When read, the
-      same amount of data that was written will be returned.
-
-  speed int
-      Default: 200 bps. How fast the drive will accept data, in bytes per
-      second. This parameter is NOT currently used by AMANDA.
-
-  lbl-templ string
-      A PostScript template file used by amreport to generate labels. Several
-      sample files are provided with the AMANDA sources in the example
-      directory. See the amreport(8) man page for more information.
-
-In addition to options, another tapetype name may be entered, which makes this
-tapetype inherit options from another tapetype. For instance, the only
-difference between a DLT4000 tape drive using Compact-III tapes and one using
-Compact-IV tapes is the length of the tape. So they could be entered as:
-
-  define tapetype DLT4000-III {
-      comment "DLT4000 tape drives with Compact-III tapes"
-      length 12500 mbytes         # 10 Gig tapes with some compression
-      filemark 2000 kbytes
-      speed 1536 kps
-  }
-  define tapetype DLT4000-IV {
-      DLT4000-III
-      comment "DLT4000 tape drives with Compact-IV tapes"
-      length 25000 mbytes         # 20 Gig tapes with some compression
-  }
-
-
-INTERFACE SECTION
-
-The amanda.conf file may define multiple types of network interfaces. The
-information is entered in an interface section, which looks like this:
-
-  define interface name {
-      interface-option interface-value
-      ...
-  }
-
-name is the name of this type of network interface. It is referenced from the
-disklist file.
-Note that these sections define network interface characteristics, not the
-actual interface that will be used. Nor do they impose limits on the bandwidth
-that will actually be taken up by AMANDA. AMANDA computes the estimated
-bandwidth each file system backup will take based on the estimated size and
-time, then compares that plus any other running backups with the limit as
-another of the criteria when deciding whether to start the backup. Once a
-backup starts, AMANDA will use as much of the network as it can leaving
-throttling up to the operating system and network hardware.
-The interface options and values are:
-
-
-  comment string
-      Default: none. A comment string describing this set of network
-      information.
-
-  use int
-      Default: 300 Kbps. The speed of the interface in Kbytes per second.
-
-In addition to options, another interface name may be entered, which makes this
-interface inherit options from another interface. At the moment, this is of
-little use.
-
 DISKLIST FILE
 
 The disklist file determines which disks will be backed up by AMANDA. The file
@@ -1117,66 +376,66 @@ expression at left with a '^'. You can anchor the expression at right with a
 '$'. The matcher is case insensitive for host but is case sensitive for disk. A
 match succeeds if all words in your expression match contiguous words in the
 host or disk.
-
-   .   word separator for a host
-   /   word separator for a disk
-   ^   anchor at left
-   $   anchor at right
-   ?   match exactly one character except the separator
-   *   match zero or more characters except the separator
-   **  match zero or more characters including the separator
+ ________________________________________________________
+|._|word_separator_for_a_host____________________________|
+|/_|word_separator_for_a_disk____________________________|
+|^_|anchor_at_left_______________________________________|
+|$_|anchor_at_right______________________________________|
+|?_|match_exactly_one_character_except_the_separator_____|
+|*_|match_zero_or_more_characters_except_the_separator___|
+|**|match_zero_or_more_characters_including_the_separator|
 
 Some examples:
-
-    EXPRESSION      WILL MATCH              WILL NOT MATCH
-    hosta           hosta                   hostb
-                    hoSTA.dOMAIna.ORG
-                    foo.hosta.org
-    host            host                    hosta
-    host?           hosta                   host
-                    hostb
-    ho*na           hoina                   ho.aina.org
-    ho**na          hoina
-                    ho.aina.org
-    ^hosta          hosta                   foo.hosta.org
-    sda*            /dev/sda1
-                    /dev/sda12
-    /opt/           opt (disk)              opt (host)
-    .opt.           opt (host)              opt (disk)
-    /               /                       any other disk
-    /usr            /usr
-                    /usr/opt
-    /usr$           /usr                    /usr/opt
+ ___________________________________________
+|EXPRESSION|WILL_MATCH_______|WILL_NOT_MATCH|
+|hosta_____|hosta____________|hostb_________|
+|__________|hoSTA.dOMAIna.ORG|______________|
+|__________|foo.hosta.org____|______________|
+|host______|host_____________|hosta_________|
+|host?_____|hosta____________|host__________|
+|__________|hostb____________|______________|
+|ho*na_____|hoina____________|ho.aina.org___|
+|ho**na____|hoina____________|______________|
+|__________|ho.aina.org______|______________|
+|^hosta____|hosta____________|foo.hosta.org_|
+|sda*______|/dev/sda1________|______________|
+|__________|/dev/sda12_______|______________|
+|/opt/_____|opt_(disk)_______|opt_(host)____|
+|.opt._____|opt_(host)_______|opt_(disk)____|
+|/_________|/________________|any_other_disk|
+|/usr______|/usr_____________|______________|
+|__________|/usr/opt_________|______________|
+|/usr$_____|/usr_____________|/usr/opt______|
 
 
 DATESTAMP EXPRESSION
 
 A datestamp expression is a range expression where we only match the prefix.
 Leading ^ is removed. Trailing $ forces an exact match.
-
-    20001212-14  match all dates beginning with 20001212, 20001213 or 20001214
-    20001212-4   same as previous
-    20001212-24  match all dates between 20001212 and 20001224
-    2000121      match all dates that start with 2000121 (20001210-20001219)
-    2            match all dates that start with 2 (20000101-29991231)
-    2000-10      match all dates between 20000101-20101231
-    200010$      match only 200010
+ _________________________________________________________________________
+|20001212-14|match_all_dates_beginning_with_20001212,_20001213_or_20001214|
+|20001212-4_|same_as_previous_____________________________________________|
+|20001212-24|match_all_dates_between_20001212_and_20001224________________|
+|2000121____|match_all_dates_that_start_with_2000121_(20001210-20001219)__|
+|2__________|match_all_dates_that_start_with_2_(20000101-29991231)________|
+|2000-10____|match_all_dates_between_20000101-20101231____________________|
+|200010$____|match_only_200010____________________________________________|
 
 
 AUTHOR
 
 James da Silva, <jds@amanda.org> : Original text
 Stefan G. Weichinger, <sgw@amanda.org>, maintainer of the AMANDA-documentation:
-XML-conversion,major update
+XML-conversion, major update
 
 SEE ALSO
 
-amadmin(8), amcheck(8), amcheckdb(8), amcleanup(8), amdd(8), amdump(8), amflush
-(8), amgetconf(8), amlabel(8), ammt(8), amoverview(8), amplot(8), amrecover(8),
-amreport(8), amrestore(8), amrmtape(8), amstatus(8), amtape(8), amtoc(8),
-amverify(8), amverifyrun(8)
+amadmin(8), amanda.conf(5), amcheck(8), amcheckdb(8), amcleanup(8), amdd(8),
+amdump(8), amflush(8), amgetconf(8), amlabel(8), ammt(8), amoverview(8), amplot
+(8), amrecover(8), amreport(8), amrestore(8), amrmtape(8), amstatus(8), amtape
+(8), amtapetype(8), amtoc(8), amverify(8), amverifyrun(8)
 -------------------------------------------------------------------------------
 
-Prev      Up      Next
-amadmin  Home  amcheck
+Prev      Up          Next
+amadmin  Home  amanda.conf
 
diff --git a/docs/amanda.conf.5.txt b/docs/amanda.conf.5.txt
new file mode 100644 (file)
index 0000000..ecaf1ca
--- /dev/null
@@ -0,0 +1,861 @@
+
+                           amanda.conf
+Prev  Chapter 35. The AMANDA Manual Pages.  Next
+
+-------------------------------------------------------------------------------
+
+Name
+
+amanda.conf \14 Main configuration file for AMANDA, the Advanced Maryland
+Automatic Network Disk Archiver
+
+DESCRIPTION
+
+amanda.conf is the main configuration file for AMANDA. This manpage lists the
+relevant sections and parameters of this file for quick reference.
+
+PARAMETERS
+
+There are a number of configuration parameters that control the behavior of the
+AMANDA programs. All have default values, so you need not specify the parameter
+in amanda.conf if the default is suitable.
+Lines starting with # are ignored, as are blank lines. Comments may be placed
+on a line with a directive by starting the comment with a #. The remainder of
+the line is ignored.
+Keywords are case insensitive, i.e. mailto and MailTo are treated the same.
+Integer arguments may have one of the following (case insensitive) suffixes,
+some of which have a multiplier effect:
+
+POSSIBLE SUFFIXES
+
+
+
+  b byte bytes
+      Some number of bytes.
+
+  bps
+      Some number of bytes per second.
+
+  k kb kbyte kbytes kilobyte kilobytes
+      Some number of kilobytes (bytes*1024).
+
+  kps kbps
+      Some number of kilobytes per second (bytes*1024).
+
+  m mb meg mbyte mbytes megabyte megabytes
+      Some number of megabytes (bytes*1024*1024).
+
+  mps mbps
+      Some number of megabytes per second (bytes*1024*1024).
+
+  g gb gbyte gbytes gigabyte gigabytes
+      Some number of gigabytes (bytes*1024*1024*1024).
+
+  tape tapes
+      Some number of tapes.
+
+  day days
+      Some number of days.
+
+  week weeks
+      Some number of weeks (days*7).
+
+      Note
+
+      The value inf may be used in most places where an integer is expected to
+      mean an infinite amount.
+      Boolean arguments may have any of the values y, yes, t, true or on to
+      indicate a true state, or n, no, f, false or off to indicate a false
+      state. If no argument is given, true is assumed.
+
+
+PARAMETERS
+
+
+
+  org string
+      Default: daily. A descriptive name for the configuration. This string
+      appears in the Subject line of mail reports. Each AMANDA configuration
+      should have a different string to keep mail reports distinct.
+
+  mailto string
+      Default: operators. A space separated list of recipients for mail
+      reports.
+
+  dumpcycle int
+      Default: 10 days. The number of days in the backup cycle. Each disk will
+      get a full backup at least this often. Setting this to zero tries to do a
+      full backup each run.
+
+      Note
+
+      This parameter may also be set in a specific dumptype (see below). This
+      value sets the default for all dumptypes so must appear in amanda.conf
+      before any dumptypes are defined.
+
+  runspercycle int
+      Default: same as dumpcycle. The number of amdump runs in dumpcycle days.
+      A value of 0 means the same value as dumpcycle. A value of -1 means guess
+      the number of runs from the tapelist file, which is the number of tapes
+      used in the last dumpcycle days / runtapes.
+
+  tapecycle int
+      Default: 15 tapes. Typically tapes are used by AMANDA in an ordered
+      rotation. The tapecycle parameter defines the size of that rotation. The
+      number of tapes in rotation must be larger than the number of tapes
+      required for a complete dump cycle (see the dumpcycle parameter).
+      This is calculated by multiplying the number of amdump runs per dump
+      cycle (runspercycle parameter) times the number of tapes used per run
+      (runtapes parameter). Typically two to four times this calculated number
+      of tapes are in rotation. While AMANDA is always willing to use a new
+      tape in its rotation, it refuses to reuse a tape until at least
+      'tapecycle -1' number of other tapes have been used.
+      It is considered good administrative practice to set the tapecycle
+      parameter slightly lower than the actual number of tapes in rotation.
+      This allows the administrator to more easily cope with damaged or
+      misplaced tapes or schedule adjustments that call for slight adjustments
+      in the rotation order.
+
+  dumpuser string
+      Default: amanda. The login name AMANDA uses to run the backups. The
+      backup client hosts must allow access from the tape server host as this
+      user via .rhosts or .amandahosts, depending on how the AMANDA software
+      was built.
+
+  printer string
+      Printer to use when doing tape labels. See the lbl-templ tapetype option.
+
+  tapedev string
+      Default: /dev/nst0. The path name of the non-rewinding tape device. Non-
+      rewinding tape device names often have an 'n' in the name, e.g. /dev/rmt/
+      0mn, however this is operating system specific and you should consult
+      that documentation for detailed naming information.
+      If a tape changer is configured (see the tpchanger option), this option
+      might not be used.
+      If the null output driver is selected (see the section OUTPUT DRIVERS in
+      the amanda(8) manpage for more information), programs such as amdump will
+      run normally but all images will be thrown away. This should only be used
+      for debugging and testing, and probably only with the record option set
+      to no.
+
+  rawtapedev string
+      Default: /dev/null. The path name of the raw tape device. This is only
+      used if AMANDA is compiled for Linux machines with floppy tapes and is
+      needed for QIC volume table operations.
+
+  tpchanger string
+      Default: none. The name of the tape changer. If a tape changer is not
+      configured, this option is not used and should be commented out of the
+      configuration file.
+      If a tape changer is configured, choose one of the changer scripts (e.g.
+      chg-scsi) and enter that here.
+
+  changerdev string
+      Default: /dev/null. A tape changer configuration parameter. Usage depends
+      on the particular changer defined with the tpchanger option.
+
+  changerfile string
+      Default: /usr/adm/amanda/log/changer-status. A tape changer configuration
+      parameter. Usage depends on the particular changer defined with the
+      tpchanger option.
+
+  runtapes int
+      Default: 1. The maximum number of tapes used in a single run. If a tape
+      changer is not configured, this option is not used and should be
+      commented out of the configuration file.
+      If a tape changer is configured, this may be set larger than one to let
+      AMANDA write to more than one tape.
+      Note that this is an upper bound on the number of tapes, and AMANDA may
+      use less.
+      Also note that as of this release, AMANDA does not support true tape
+      overflow. When it reaches the end of one tape, the backup image AMANDA
+      was processing starts over again on the next tape.
+
+  maxdumpsize int
+      Default: runtapes*tape_length. Maximum number of bytes the planner will
+      schedule for a run.
+
+  taperalgo [first|firstfit|largest|largestfit|smallest|last]
+      Default: first. The algorithm used to choose which dump image to send to
+      the taper.
+
+
+        first
+            First in, first out.
+
+        firstfit
+            The first dump image that will fit on the current tape.
+
+        largest
+            The largest dump image.
+
+        largestfit
+            The largest dump image that will fit on the current tape.
+
+        smallest
+            The smallest dump image.
+
+        last
+            Last in, first out.
+
+
+  labelstr string
+      Default: .*. The tape label constraint regular expression. All tape
+      labels generated (see amlabel(8)) and used by this configuration must
+      match the regular expression. If multiple configurations are run from the
+      same tape server host, it is helpful to set their labels to different
+      strings (for example, "DAILY[0-9][0-9]*" vs. "ARCHIVE[0-9][0-9]*") to
+      avoid overwriting each other's tapes.
+
+  tapetype string
+      Default: EXABYTE. The type of tape drive associated with tapedev or
+      tpchanger. This refers to one of the defined tapetypes in the config file
+      (see below), which specify various tape parameters, like the length,
+      filemark size, and speed of the tape media and device.
+
+  ctimeout int
+      Default: 30 seconds. Maximum amount of time that amcheck will wait for
+      each client host.
+
+  dtimeout int
+      Default: 1800 seconds. Amount of idle time per disk on a given client
+      that a dumper running from within amdump will wait before it fails with a
+      data timeout error.
+
+  etimeout int
+      Default: 300 seconds. Amount of time per disk on a given client that the
+      planner step of amdump will wait to get the dump size estimates. For
+      instance, with the default of 300 seconds and four disks on client A,
+      planner will wait up to 20 minutes for that machine. A negative value
+      will be interpreted as a total amount of time to wait per client instead
+      of per disk.
+
+  netusage int
+      Default: 300 Kbps. The maximum network bandwidth allocated to AMANDA, in
+      Kbytes per second. See also the interface section.
+
+  inparallel int
+      Default: 10. The maximum number of backups that AMANDA will attempt to
+      run in parallel. AMANDA will stay within the constraints of network
+      bandwidth and holding disk space available, so it doesn't hurt to set
+      this number a bit high. Some contention can occur with larger numbers of
+      backups, but this effect is relatively small on most systems.
+
+  displayunit "k|m|g|t"
+      Default: "k". The unit used to print many numbers, k=kilo, m=mega,
+      g=giga, t=tera.
+
+  dumporder string
+      Default: tttTTTTTTT. The priority order of each dumper:
+
+      * s: smallest size
+      * S: largest size
+      * t: smallest time
+      * T: largest time
+      * b: smallest bandwidth
+      * B: largest bandwidth
+
+
+  maxdumps int
+      Default: 1. The maximum number of backups from a single host that AMANDA
+      will attempt to run in parallel. See also the inparallel option.
+      Note that this parameter may also be set in a specific dumptype (see
+      below). This value sets the default for all dumptypes so must appear in
+      amanda.conf before any dumptypes are defined.
+
+  bumpsize int
+      Default: 10 Mbytes. The minimum savings required to trigger an automatic
+      bump from one incremental level to the next, expressed as size. If AMANDA
+      determines that the next higher backup level will be this much smaller
+      than the current level, it will do the next level. The value of this
+      parameter is used only if the parameter bumppercent is set to 0.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+      See also the options bumppercent, bumpmult and bumpdays.
+
+  bumppercent int
+      Default: 0 percent. The minimum savings required to trigger an automatic
+      bump from one incremental level to the next, expressed as percentage of
+      the current size of the DLE (size of current level 0). If AMANDA
+      determines that the next higher backup level will be this much smaller
+      than the current level, it will do the next level.
+      If this parameter is set to 0, the value of the parameter bumpsize is
+      used to trigger bumping.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+      See also the options bumpsize, bumpmult and bumpdays.
+
+  bumpmult float
+      Default: 1.5. The bump size multiplier. AMANDA multiplies bumpsize by
+      this factor for each level. This prevents active filesystems from bumping
+      too much by making it harder to bump to the next level. For example, with
+      the default bumpsize and bumpmult set to 2.0, the bump threshold will be
+      10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level
+      three, and so on.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+
+  bumpdays int
+      Default: 2 days. To insure redundancy in the dumps, AMANDA keeps
+      filesystems at the same incremental level for at least bumpdays days,
+      even if the other bump threshold criteria are met.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+
+  diskfile string
+      Default: disklist. The file name for the disklist file holding client
+      hosts, disks and other client dumping information.
+
+  infofile string
+      Default: /usr/adm/amanda/curinfo. The file or directory name for the
+      historical information database. If AMANDA was configured to use DBM
+      databases, this is the base file name for them. If it was configured to
+      use text formated databases (the default), this is the base directory and
+      within here will be a directory per client, then a directory per disk,
+      then a text file of data.
+
+  logdir string
+      Default: /usr/adm/amanda. The directory for the amdump and log files.
+
+  indexdir string
+      Default /usr/adm/amanda/index. The directory where index files (backup
+      image catalogues) are stored. Index files are only generated for
+      filesystems whose dumptype has the index option enabled.
+
+  tapelist string
+      Default: tapelist. The file name for the active tapelist file. AMANDA
+      maintains this file with information about the active set of tapes.
+
+  tapebufs int
+      Default: 20. The number of buffers used by the taper process run by
+      amdump and amflush to hold data as it is read from the network or disk
+      before it is written to tape. Each buffer is a little larger than 32
+      KBytes and is held in a shared memory region.
+
+  reserve number
+      Default: 100. The part of holding-disk space that should be reserved for
+      incremental backups if no tape is available, expressed as a percentage of
+      the available holding-disk space (0-100). By default, when there is no
+      tape to write to, degraded mode (incremental) backups will be performed
+      to the holding disk. If full backups should also be allowed in this case,
+      the amount of holding disk space reserved for incrementals should be
+      lowered.
+
+  autoflush bool
+      Default: off. Whether an amdump run will flush the dump already on
+      holding disk to tape.
+
+  amrecover_do_fsf bool
+      Default: off. Amrecover will call amrestore with the -f flag for faster
+      positioning of the tape.
+
+  amrecover_check_label bool
+      Default: off. Amrecover will call amrestore with the -l flag to check the
+      label.
+
+  amrecover_changer string
+      Default: ''. Amrecover will use the changer if you use 'settape <string>'
+      and that string is the same as the amrecover_changer setting.
+
+  columnspec string
+      Defines the width of columns amreport should use. String is a comma (',')
+      separated list of triples. Each triple consists of three parts which are
+      separated by a equal sign ('=') and a colon (':') (see the example).
+      These three parts specify:
+
+      * the name of the column, which may be:
+
+        o Compress (compression ratio)
+        o Disk (client disk name)
+        o DumpRate (dump rate in KBytes/sec)
+        o DumpTime (total dump time in hours:minutes)
+        o HostName (client host name)
+        o Level (dump level)
+        o OrigKB (original image size in KBytes)
+        o OutKB (output image size in KBytes)
+        o TapeRate (tape writing rate in KBytes/sec)
+        o TapeTime (total tape time in hours:minutes)
+
+      * the amount of space to display before the column (used to get
+        whitespace between columns).
+      * the width of the column itself. If set to a negative value, the width
+        will be calculated on demand to fit the largest entry in this column.
+
+      Here is an example:
+
+        columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
+
+      The above will display the disk information in 18 characters and put one
+      space before it. The hostname column will be 10 characters wide with no
+      space to the left. The output KBytes column is seven characters wide with
+      one space before it.
+
+  includefile string
+      Default: none. The name of an AMANDA configuration file to include within
+      the current file. Useful for sharing dumptypes, tapetypes and interface
+      definitions among several configurations.
+
+
+HOLDINGDISK SECTION
+
+The amanda.conf file may define one or more holding disks used as buffers to
+hold backup images before they are written to tape. The syntax is:
+
+  holdingdisk name {
+      holdingdisk-option holdingdisk-value
+      ...
+  }
+
+Name is a logical name for this holding disk.
+The options and values are:
+
+
+  comment string
+      Default: none. A comment string describing this holding disk.
+
+  directory disk
+      Default: /dumps/amanda. The path to this holding area.
+
+  use int
+      Default: 0 Gb. Amount of space that can be used in this holding disk
+      area. If the value is zero, all available space on the file system is
+      used. If the value is negative, AMANDA will use all available space minus
+      that value.
+
+  chunksize int
+      Default: 1 Gb. Holding disk chunk size. Dumps larger than the specified
+      size will be stored in multiple holding disk files. The size of each
+      chunk will not exceed the specified value. However, even though dump
+      images are split in the holding disk, they are concatenated as they are
+      written to tape, so each dump image still corresponds to a single
+      continuous tape section.
+      If 0 is specified, AMANDA will create holding disk chunks as large as (
+      (INT_MAX/1024)-64) Kbytes.
+      Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk
+      size is 64 Kbytes (but that would be really silly).
+      Operating systems that are limited to a maximum file size of 2 Gbytes
+      actually cannot handle files that large. They must be at least one byte
+      less than 2 Gbytes. Since AMANDA works with 32 Kbyte blocks, and to
+      handle the final read at the end of the chunk, the chunk size should be
+      at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size,
+      e.g. 2047 Mbytes.
+
+
+DUMPTYPE SECTION
+
+The amanda.conf file may define multiple sets of backup options and refer to
+them by name from the disklist file. For instance, one set of options might be
+defined for file systems that can benefit from high compression, another set
+that does not compress well, another set for file systems that should always
+get a full backup and so on.
+A set of backup options are entered in a dumptype section, which looks like
+this:
+
+  define dumptype name {
+      dumptype-option dumptype-value
+      ...
+  }
+
+Name is the name of this set of backup options. It is referenced from the
+disklist file.
+Some of the options in a dumptype section are the same as those in the main
+part of amanda.conf. The main option value is used to set the default for all
+dumptype sections. For instance, setting dumpcycle to 50 in the main part of
+the config file causes all following dumptype sections to start with that
+value, but the value may be changed on a section by section basis. Changes to
+variables in the main part of the config file must be done before (earlier in
+the file) any dumptypes are defined.
+The dumptype options and values are:
+
+
+  auth string
+      Default: bsd. Type of authorization to perform between tape server and
+      backup client hosts. May be krb4 to use Kerberos-IV authorization.
+
+  bumpsize int
+      Default: 10 Mbytes. The minimum savings required to trigger an automatic
+      bump from one incremental level to the next, expressed as size. If AMANDA
+      determines that the next higher backup level will be this much smaller
+      than the current level, it will do the next level. The value of this
+      parameter is used only if the parameter bumppercent is set to 0.
+      See also the options bumppercent, bumpmult and bumpdays.
+
+  bumppercent int
+      Default: 0 percent. The minimum savings required to trigger an automatic
+      bump from one incremental level to the next, expressed as percentage of
+      the current size of the DLE (size of current level 0). If AMANDA
+      determines that the next higher backup level will be this much smaller
+      than the current level, it will do the next level.
+      If this parameter is set to 0, the value of the parameter bumpsize is
+      used to trigger bumping.
+      See also the options bumpsize, bumpmult and bumpdays.
+
+  bumpmult float
+      Default: 1.5. The bump size multiplier. AMANDA multiplies bumpsize by
+      this factor for each level. This prevents active filesystems from bumping
+      too much by making it harder to bump to the next level. For example, with
+      the default bumpsize and bumpmult set to 2.0, the bump threshold will be
+      10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level
+      three, and so on.
+
+  bumpdays int
+      Default: 2 days. To insure redundancy in the dumps, AMANDA keeps
+      filesystems at the same incremental level for at least bumpdays days,
+      even if the other bump threshold criteria are met.
+
+  comment string
+      Default: none. A comment string describing this set of backup options.
+
+  comprate float [, float ]
+      Default: 0.50, 0.50. The expected full and incremental compression factor
+      for dumps. It is only used if AMANDA does not have any history
+      information on compression rates for a filesystem, so should not usually
+      need to be set. However, it may be useful for the first time a very large
+      filesystem that compresses very little is backed up.
+
+  compress [client|server] string
+      Default: client fast. If AMANDA does compression of the backup images, it
+      can do so either on the backup client host before it crosses the network
+      or on the tape server host as it goes from the network into the holding
+      disk or to tape. Which place to do compression (if at all) depends on how
+      well the dump image usually compresses, the speed and load on the client
+      or server, network capacity, holding disk capacity, availability of tape
+      hardware compression, etc.
+      For either type of compression, AMANDA also allows the selection of two
+      styles of compression. Best is the best compression available, often at
+      the expense of CPU overhead. Fast is often not as good a compression as
+      best, but usually less CPU overhead.
+      So the compress options line may be one of:
+
+      * compress none
+      * compress [client] fast
+      * compress [client] best
+      * compress server fast
+      * compress server best
+
+      Note that some tape devices do compression and this option has nothing to
+      do with whether that is used. If hardware compression is used (usually
+      via a particular tape device name or mt option), AMANDA (software)
+      compression should be disabled.
+
+  dumpcycle int
+      Default: 10 days. The number of days in the backup cycle. Each disk using
+      this set of options will get a full backup at least this often. Setting
+      this to zero tries to do a full backup each run.
+
+  estimate client|calcsize|server
+      Default: client. Determine the way AMANDA does it's estimate.
+
+      * client:
+        Use the same program as the dumping program, this is the most accurate
+        way to do estimates, but it can take a long time.
+      * calcsize:
+        Use a faster program to do estimates, but the result is less accurate.
+      * server:
+        Use only statistics from the previous run to give an estimate, it takes
+        only a few seconds but the result is not accurate if your disk usage
+        changes from day to day.
+
+
+  exclude [ list|file ][[optional][ append ][ string ]+]
+      Default: file. There are two exclude lists, exclude file and exclude
+      list. With exclude file , the string is a GNU-tar exclude expression.
+      With exclude list , the string is a file name on the client containing
+      GNU-tar exclude expressions.
+      All exclude expressions are concatenated in one file and passed to GNU-
+      tar as an --exclude-from argument.
+      With the append keyword, the string is appended to the current list,
+      without it, the string overwrites the list.
+      If optional is specified for exclude list, then amcheck will not complain
+      if the file doesn't exist or is not readable.
+      For exclude list, if the file name is relative, the disk name being
+      backed up is prepended. So if this is entered:
+
+            exclude list ".amanda.excludes"
+
+      the actual file used would be /var/.amanda.excludes for a backup of /var,
+      /usr/local/.amanda.excludes for a backup of /usr/local, and so on.
+
+  holdingdisk boolean
+      Default: yes. Whether a holding disk should be used for these backups or
+      whether they should go directly to tape. If the holding disk is a portion
+      of another file system that AMANDA is backing up, that file system should
+      refer to a dumptype with holdingdisk set to no to avoid backing up the
+      holding disk into itself.
+
+  ignore boolean
+      Default: no. Whether disks associated with this backup type should be
+      backed up or not. This option is useful when the disklist file is shared
+      among several configurations, some of which should not back up all the
+      listed file systems.
+
+  include [ list|file ][[optional][ append ][ string ]+]
+      Default: file ".". There are two include lists, include file and include
+      list. With include file , the string is a glob expression. With include
+      list , the string is a file name on the client containing glob
+      expressions.
+      All include expressions are expanded by AMANDA, concatenated in one file
+      and passed to GNU-tar as a --files-from argument. They must start with
+      "./" and contain no other "/".
+      With the append keyword, the string is appended to the current list,
+      without it, the string overwrites the list.
+      If optional is specified for include list, then amcheck will not complain
+      if the file doesn't exist or is not readable.
+      For include list, If the file name is relative, the disk name being
+      backed up is prepended.
+
+  index boolean
+      Default: no. Whether an index (catalogue) of the backup should be
+      generated and saved in indexdir. These catalogues are used by the
+      amrecover utility.
+
+  kencrypt boolean
+      Default: no. Whether the backup image should be encrypted by Kerberos as
+      it is sent across the network from the backup client host to the tape
+      server host.
+
+  maxdumps int
+      Default: 1. The maximum number of backups from a single host that AMANDA
+      will attempt to run in parallel. See also the main section parameter
+      inparallel.
+
+  maxpromoteday int
+      Default: 10000. The maximum number of day for a promotion, set it 0 if
+      you don't want promotion, set it to 1 or 2 if your disks get
+      overpromoted.
+
+  priority string
+      Default: medium. When there is no tape to write to, AMANDA will do
+      incremental backups in priority order to the holding disk. The priority
+      may be high (2), medium (1), low (0) or a number of your choice.
+
+  program string
+      Default: DUMP. The type of backup to perform. Valid values are DUMP for
+      the native operating system backup program, and GNUTAR to use GNU-tar or
+      to do PC backups using Samba.
+
+  record boolean
+      Default: yes. Whether to ask the backup program to update its database
+      (e.g. /etc/dumpdates for DUMP or /usr/local/var/amanda/gnutar-lists for
+      GNUTAR) of time stamps. This is normally enabled for daily backups and
+      turned off for periodic archival runs.
+
+  skip-full boolean
+      Default: no. If true and planner has scheduled a full backup, these disks
+      will be skipped, and full backups should be run off-line on these days.
+      It was reported that AMANDA only schedules level 1 incrementals in this
+      configuration; this is probably a bug.
+
+  skip-incr boolean
+      Default: no. If true and planner has scheduled an incremental backup,
+      these disks will be skipped.
+
+  starttime int
+      Default: none. Backups will not start until after this time of day. The
+      value should be hh*100+mm, e.g. 6:30PM (18:30) would be entered as 1830.
+
+  strategy string
+      Default: standard. Strategy to use when planning what level of backup to
+      run next. Values are:
+
+
+        standard
+            The standard AMANDA schedule.
+
+        nofull
+            Never do full backups, only level 1 incrementals.
+
+        noinc
+            Never do incremental backups, only full dumps.
+
+        skip
+            Never do backups (useful when sharing the disklist file).
+
+        incronly
+            Only do incremental dumps. amadmin force should be used to tell
+            AMANDA that a full dump has been performed off-line, so that it
+            resets to level 1. It is similar to skip-full, but with incronly
+            full dumps may be scheduled manually. Unfortunately, it appears
+            that AMANDA will perform full backups with this configuration,
+            which is probably a bug.
+
+
+The following dumptype entries are predefined by AMANDA:
+
+  define dumptype no-compress {
+      compress none
+  }
+  define dumptype compress-fast {
+      compress client fast
+  }
+  define dumptype compress-best {
+      compress client best
+  }
+  define dumptype srvcompress {
+      compress server fast
+  }
+  define dumptype bsd-auth {
+      auth bsd
+  }
+  define dumptype krb4-auth {
+      auth krb4
+  }
+  define dumptype no-record {
+      record no
+  }
+  define dumptype no-hold {
+      holdingdisk no
+  }
+  define dumptype no-full {
+      skip-full yes
+  }
+
+In addition to options in a dumptype section, one or more other dumptype names
+may be entered, which make this dumptype inherit options from other previously
+defined dumptypes. For instance, two sections might be the same except for the
+record option:
+
+  define dumptype normal {
+      comment "Normal backup, no compression, do indexing"
+      no-compress
+      index yes
+      maxdumps 2
+  }
+  define dumptype testing {
+      comment "Test backup, no compression, do indexing, no recording"
+      normal
+      record no
+  }
+
+AMANDA provides a dumptype named global in the sample amanda.conf file that all
+dumptypes should reference. This provides an easy place to make changes that
+will affect every dumptype.
+
+TAPETYPE SECTION
+
+The amanda.conf file may define multiple types of tape media and devices. The
+information is entered in a tapetype section, which looks like this in the
+config file:
+
+  define tapetype name {
+      tapetype-option tapetype-value
+      ...
+  }
+
+Name is the name of this type of tape medium/device. It is referenced from the
+tapetype option in the main part of the config file.
+The tapetype options and values are:
+
+
+  comment string
+      Default: none. A comment string describing this set of tape information.
+
+  filemark int
+      Default: 1000 bytes. How large a file mark (tape mark) is, measured in
+      bytes. If the size is only known in some linear measurement (e.g.
+      inches), convert it to bytes using the device density.
+
+  length int
+      Default: 2000 kbytes. How much data will fit on a tape.
+      Note that this value is only used by AMANDA to schedule which backups
+      will be run. Once the backups start, AMANDA will continue to write to a
+      tape until it gets an error, regardless of what value is entered for
+      length (but see the section OUTPUT DRIVERS in the amanda(8) manpage for
+      exceptions).
+
+  blocksize int
+      Default: 32. How much data will be written in each tape record expressed
+      in KiloBytes. The tape record size (= blocksize) can not be reduced below
+      the default 32 KBytes. The parameter blocksize can only be raised if
+      AMANDA was compiled with the configure option --with-maxtapeblocksize=N
+      set with "N" greater than 32 during configure.
+
+  file-pad boolean
+      Default: true. If true, every record, including the last one in the file,
+      will have the same length. This matches the way AMANDA wrote tapes prior
+      to the availability of this parameter. It may also be useful on devices
+      that only support a fixed blocksize.
+      Note that the last record on the tape probably includes trailing null
+      byte padding, which will be passed back to gzip, compress or the restore
+      program. Most programs just ignore this (although possibly with a
+      warning).
+      If this parameter is false, the last record in a file may be shorter than
+      the block size. The file will contain the same amount of data the dump
+      program generated, without trailing null byte padding. When read, the
+      same amount of data that was written will be returned.
+
+  speed int
+      Default: 200 bps. How fast the drive will accept data, in bytes per
+      second. This parameter is NOT currently used by AMANDA.
+
+  lbl-templ string
+      A PostScript template file used by amreport to generate labels. Several
+      sample files are provided with the AMANDA sources in the example
+      directory. See the amreport(8) man page for more information.
+
+In addition to options, another tapetype name may be entered, which makes this
+tapetype inherit options from another tapetype. For instance, the only
+difference between a DLT4000 tape drive using Compact-III tapes and one using
+Compact-IV tapes is the length of the tape. So they could be entered as:
+
+  define tapetype DLT4000-III {
+      comment "DLT4000 tape drives with Compact-III tapes"
+      length 12500 mbytes         # 10 Gig tapes with some compression
+      filemark 2000 kbytes
+      speed 1536 kps
+  }
+  define tapetype DLT4000-IV {
+      DLT4000-III
+      comment "DLT4000 tape drives with Compact-IV tapes"
+      length 25000 mbytes         # 20 Gig tapes with some compression
+  }
+
+
+INTERFACE SECTION
+
+The amanda.conf file may define multiple types of network interfaces. The
+information is entered in an interface section, which looks like this:
+
+  define interface name {
+      interface-option interface-value
+      ...
+  }
+
+name is the name of this type of network interface. It is referenced from the
+disklist file.
+Note that these sections define network interface characteristics, not the
+actual interface that will be used. Nor do they impose limits on the bandwidth
+that will actually be taken up by AMANDA. AMANDA computes the estimated
+bandwidth each file system backup will take based on the estimated size and
+time, then compares that plus any other running backups with the limit as
+another of the criteria when deciding whether to start the backup. Once a
+backup starts, AMANDA will use as much of the network as it can leaving
+throttling up to the operating system and network hardware.
+The interface options and values are:
+
+
+  comment string
+      Default: none. A comment string describing this set of network
+      information.
+
+  use int
+      Default: 300 Kbps. The speed of the interface in Kbytes per second.
+
+In addition to options, another interface name may be entered, which makes this
+interface inherit options from another interface. At the moment, this is of
+little use.
+
+AUTHOR
+
+James da Silva, <jds@amanda.org>: Original text
+Stefan G. Weichinger, <sgw@amanda.org>, maintainer of the AMANDA-documentation:
+XML-conversion, major update, splitting
+
+SEE ALSO
+
+amanda(8),
+-------------------------------------------------------------------------------
+
+Prev     Up      Next
+amanda  Home  amcheck
+
index 794bab1c7e3b61608ed57d169fc2b6593877c3c1..c3c06165fed63e8c2cae22e267a91dc9923103ef 100644 (file)
@@ -362,6 +362,6 @@ SEE ALSO
 amanda(8), amdump(8)
 -------------------------------------------------------------------------------
 
-Prev     Up        Next
-amanda  Home  amcheckdb
+Prev          Up        Next
+amanda.conf  Home  amcheckdb
 
index d4f1464b726e6ed9f174a901d74df0a0331e89f5..0f542417d32a5192b891f82d332ac2881c55198a 100644 (file)
@@ -22,6 +22,6 @@ SEE ALSO
 amanda(8), amverify(8)
 -------------------------------------------------------------------------------
 
-Prev       Up    Next
-amverify  Home  Index
+Prev       Up                         Next
+amverify  Home  Chapter 36. Web Ressources
 
index e593ff2a397b9ab4fe3020e580f8724822d801aa..72c68efc6a801d87f7a3e49c6d8dee8b29986f46 100644 (file)
@@ -1,10 +1,10 @@
 
-        Chapter 21. AMANDA dumper API
+        Chapter 22. AMANDA dumper API
 Prev  Part V. Technical Background  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 21. AMANDA dumper API
+Chapter 22. AMANDA dumper API
 
 
 Alexandre Oliva
@@ -320,6 +320,6 @@ and/or the API. Some help on its implementation would be welcome, too.
 -------------------------------------------------------------------------------
 
 Prev                                     Up                           Next
-Chapter 20. How AMANDA uses UDP and TCP Home  Chapter 22. AMANDA Internals
+Chapter 21. How AMANDA uses UDP and TCP Home  Chapter 23. AMANDA Internals
 ports 
 
index 0b5e0c96945afb195348bc3542206474d92c3e0a..f36daa33c08bb2087f3aa1e82fd6bf8b4c010876 100644 (file)
@@ -1,10 +1,10 @@
 
-         Chapter 23. AMANDA Event API
+         Chapter 24. AMANDA Event API
 Prev  Part V. Technical Background  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 23. AMANDA Event API
+Chapter 24. AMANDA Event API
 
 
 Mike Grupenhoff
@@ -163,5 +163,5 @@ argument equal to the argument this event was registered with.
 -------------------------------------------------------------------------------
 
 Prev                           Up                              Next
-Chapter 22. AMANDA Internals  Home  Chapter 24. AMANDA Security API
+Chapter 23. AMANDA Internals  Home  Chapter 25. AMANDA Security API
 
index cfb0f48dad5147b3555cd4bf06f71a8de67baa0d..239e5cbcd62c8854370af2c17aa03dcaa7ff1225 100644 (file)
@@ -155,7 +155,8 @@ Note
 
 UPDATE: Recent AMANDA-releases bring the option "exclude append" which enables
 the administrator to define more than one exclusion-pattern within one dumptype
-without using a exclude-list. Please look at the amanda.8-manpage for details.
+without using a exclude-list. Please look at the amanda.conf.5-manpage for
+details.
 Any path specified to be excluded must be encapsulated with quotes. Continuing
 with our example from above /var/log/somefile and using the same dumptype as
 above, the dumptype would now look like:
index 2c30deb7763caea1f0d38dcaca3a2fcf2b2e1c46..560862a0d5572e6974407703021ed39fe25023bc 100644 (file)
@@ -1,10 +1,10 @@
 
-             Chapter 16. AMANDA FAQ
+             Chapter 17. AMANDA FAQ
 Prev  Part IV. Various Information  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 16. AMANDA FAQ
+Chapter 17. AMANDA FAQ
 
 
 AMANDA Core Team
@@ -16,528 +16,500 @@ Stefan G. Weichinger
 XML-conversion;Updates
 AMANDA Core Team
 <sgw@amanda.org>
-Table of Contents
 
+Note
 
-  QUESTION:_Why_does_AMANDA_fail_to_build_on_my_system?
-
-  QUESTION:_Why_does_amdump_report_that_all_disks_failed?
-
-  QUESTION:_Why_does_amcheck_say_"port_NNN_is_not_secure"?
+Refer to http://www.amanda.org/docs/faq.html for the current version of this
+document.
+This file contains answers to some questions that are frequently asked in the
+AMANDA mailing lists, specially by new users. Please take a look at this file
+before posting, this can save us time that could be spent improving AMANDA and
+its documentation.
+New entries and modifications are welcome; send them to mailto://amanda-
+users@amanda.org or mailto://amanda-hackers@amanda.org.
+You may also want to take a look at the AMANDA FAQ-O-Matic http://
+www.amanda.org/fom-serve/cache/1.html.
 
-  QUESTION:_Why_does_amcheck_claim_that_the_tape_is_"not_an_amanda_tape"?
 
-  QUESTION:_Why_does_amcheck_report_"selfcheck_request_timed_out"?
+  Why_does_AMANDA_fail_to_build_on_my_system?
 
-  QUESTION:_Why_does_amandad.debug_contain_"error_receiving_message"?
+  Why_does_amdump_report_that_all_disks_failed?
 
-  QUESTION:_Why_does_amcheck_say_"access_as_<username>_not_allowed..."?
+  Why_does_amcheck_say_"port_NNN_is_not_secure"?
 
-  QUESTION:_Why_does_amcheck_report_"ip_address_#.#.#.#"_is_not_in_the_ip_list
-  list_for_<hostname>'?
+  Why_does_amcheck_claim_that_the_tape_is_"not_an_AMANDA_tape"?
 
-  QUESTION:_Why_does_amcheck_say_"cannot_overwrite_active_tape"?
+  Why_does_amcheck_report_"selfcheck_request_timed_out"?
 
-  QUESTION:_Why_does_amcheck_tell_me_"DUMP_program_not_available"?
+  Why_does_amandad.debug_contain_"error_receiving_message"?
 
-  QUESTION:_Which_tape_changer_configuration_should_I_use_in_amanda.conf?
+  Why_does_amcheck_say_"access_as_<username>_not_allowed..."?
 
-  QUESTION:_Should_I_use_software_or_hardware_compression?
+  Why_does_amcheck_report_"ip_address_#.#.#.#"_is_not_in_the_ip_list_list_for
+  <hostname>'?
 
-  QUESTION:_How_can_I_configure_AMANDA_so_that_it_performs_full_backups_on_the
-  week-end_and_incrementals_on_weekdays?
+  Why_does_amcheck_say_"cannot_overwrite_active_tape"?
 
-  QUESTION:_What_if_my_tape_unit_uses_expensive_tapes,_and_I_don't_want_to_use
-  one_tape_per_day?_Can't_AMANDA_append_to_tapes?
+  Why_does_amcheck_tell_me_"DUMP_program_not_available"?
 
-  QUESTION:_How_can_I_configure_AMANDA_for_long-term_archiving?
+  Which_tape_changer_configuration_should_I_use_in_amanda.conf?
 
-  QUESTION:_Can_I_backup_separate_disks_of_the_same_host_in_different
-  configurations?
+  Should_I_use_software_or_hardware_compression?
 
-  QUESTION:_Can_AMANDA_span_large_filesystems_across_multiple_tapes?
+  How_can_I_configure_AMANDA_so_that_it_performs_full_backups_on_the_week-end
+  and_incrementals_on_weekdays?
 
-  QUESTION:_What's_the_difference_between_option_"skip-full"_and_"strategy
-  nofull"?
+  What_if_my_tape_unit_uses_expensive_tapes,_and_I_don't_want_to_use_one_tape
+  per_day?_Can't_AMANDA_append_to_tapes?
 
-  QUESTION:_Why_does_amdump_report_"results_missing"?
+  How_can_I_configure_AMANDA_for_long-term_archiving?
 
-  QUESTION:_Why_does_amdump_report_"disk_offline"?
+  Can_I_backup_separate_disks_of_the_same_host_in_different_configurations?
 
-  QUESTION:_What_if_amdump_reports_"dumps_way_too_big,_must_skip_incremental
-  dumps"?
+  Can_AMANDA_span_large_filesystems_across_multiple_tapes?
 
-  QUESTION:_amdump_reported_"infofile_update_failed"._What_should_I_do?
+  What's_the_difference_between_option_"skip-full"_and_"strategy_nofull"?
 
-  QUESTION:_Why_does_AMANDA_sometimes_promote_full_dumps?
+  Why_does_amdump_report_"results_missing"?
 
-  QUESTION:_Why_does_amrecover_report_"no_index_records"_or_"disk_not_found"?
+  Why_does_amdump_report_"disk_offline"?
 
-  QUESTION:_Ok,_I'm_done_with_testing_AMANDA,_now_I_want_to_put_it_in
-  production._How_can_I_reset_its_databases_so_as_to_start_from_scratch?
+  What_if_amdump_reports_"dumps_way_too_big,_must_skip_incremental_dumps"?
 
-  QUESTION:_The_man-page_of_dump_says_that_active_filesystems_may_be_backed_up
-  inconsistently._What_does_AMANDA_do_to_prevent_inconsistent_backups?
+  amdump_reported_"infofile_update_failed"._What_should_I_do?
 
-  QUESTION:_Which_version_of_GNU-tar_should_I_use?
+  Why_does_AMANDA_sometimes_promote_full_dumps?
 
+  Why_does_amrecover_report_"no_index_records"_or_"disk_not_found"?
 
-Note
+  Ok,_I'm_done_with_testing_AMANDA,_now_I_want_to_put_it_in_production._How_can
+  I_reset_its_databases_so_as_to_start_from_scratch?
 
-Refer to http://www.amanda.org/docs/faq.html for the current version of this
-document.
-This file contains answers to some questions that are frequently asked in the
-AMANDA mailing lists, specially by new users. Please take a look at this file
-before posting, this can save us time that could be spent improving AMANDA and
-its documentation.
-New entries and modifications are welcome; send them to mailto://amanda-
-users@amanda.org or mailto://amanda-hackers@amanda.org.
-You may also want to take a look at the AMANDA FAQ-O-Matic http://
-www.amanda.org/fom-serve/cache/1.html.
+  The_man-page_of_dump_says_that_active_filesystems_may_be_backed_up
+  inconsistently._What_does_AMANDA_do_to_prevent_inconsistent_backups?
 
- QUESTION: Why does AMANDA fail to build on my system?
-
-ANSWER: One of the most common reasons for compile-time errors is stale
-information in config.cache, after a build on a different platform using the
-same build tree. In order to avoid this problem, make sure you don't ever reuse
-build trees across platforms, or at least run make distclean before running
-configure on another platform.
-Another common reason for failure, that causes link-time errors, is a problem
-in libtool that causes it to search for symbols in already-installed amanda
-libraries, instead of in the just-built ones. This problem is known to affect
-SunOS 4.1.3 and FreeBSD. You can usually work around it by specifying a
-different prefix when you configure the new version of AMANDA. However, it may
-not work if the previous version of AMANDA was installed in /usr/local and gcc
-searches this directory by default; in this case, you must either remove the
-old libraries (which you don't want to do, right? :-) or call configure with
-the flag --disable-libtool. In this case, AMANDA won't create shared libraries,
-so binaries will be larger, but you may worry about that later.
-You may also want to take a look at AMANDA_2.4.x_-_System-Specific_Installation
-Notes, as well as to the AMANDA Patches Page (http://www.amanda.org/patches/
-) for other known problems. If everything fails, you should read the manual,
-but since we don't have one yet, just post a help request to the amanda-users
-mailing list (mailto://amanda-users@amanda.org), showing the last few lines of
-the failed build.
-
- QUESTION: Why does amdump report that all disks failed?
-
-ANSWER: Probably because the AMANDA clients are not properly configured. Before
-you ever run amdump, make sure amcheck succeeds. When it does, so should
-amdump.
-Make sure you run amcheck as the same user that is supposed to start amdump,
-otherwise you may get incorrect results.
-
- QUESTION: Why does amcheck say "port NNN is not secure"?
-
-ANSWER: Because amcheck, as some other AMANDA programs, must be installed as
-setuid-root. Run make install as "root", or chown all AMANDA setuid programs to
-"root", then chown u+s them again, if chown drops the setuid bit.
-
- QUESTION: Why does amcheck claim that the tape is "not an amanda tape"?
-
-ANSWER: Because AMANDA requires you to label tapes before it uses them. Run
-amlabel in order to label a tape.
-If, even after labeling a tape, amcheck still complains about it, make sure the
-regular expression specified in amanda.conf matches the label you have
-specified, and check whether you have configured non-rewinding tape devices for
-AMANDA to use. For example, use /dev/nrst0 instead of /dev/rst0, /dev/rmt/0bn
-instead of /dev/rmt/0b, or some other system-dependent device name that
-contains an "n", instead of one that does not. The "n" stands for non-
-rewinding.
-If you have labeled any tapes using the rewiding device configuration, you'll
-have to label them again.
-
- QUESTION: Why does amcheck report "selfcheck request timed out"?
-
-ANSWER: This can occur under several different situations. First, make sure
-this problem is repeatable; if AMANDA programs are NFS-auto-mounted, some
-clients may fail to mount the AMANDA binaries in time.
-If the error is repeatable, log into the client, and check whether the
-directory /tmp/amanda exists, and a file named amandad.debug exists in there:
-amandad will create this file whenever it starts. If this file does not exist,
-amandad is not starting properly, or it lacks permission to create /tmp/amanda/
-amandad.debug.
-In the latter case, wipe out /tmp/amanda, and amandad should create it next
-time it runs. In the former case, check your inetd configuration. Make sure you
-have added the AMANDA services to /etc/services (or the NIS services map), that
-/etc/inetd.conf was properly configured, and that you have signalled inetd to
-reread this file (some systems may need rebooting). Check section 2.2 from in
-the Amanda_Installation_Notes for details. Check the inetd man-page for
-possible differences between the standard format of /etc/inetd.conf and the one
-in your system.
-Pay special attention to typos in /etc/inetd.conf; error messages will probably
-appear in /var/adm/messages or /var/log/messages if you have typed the amandad
-program name incorrectly. Make sure the same user that you have specified at
-configure-time (configure --with-user=<USERNAME>) is listed in /etc/inetd.conf.
-Check whether this user has permission to run amandad, as well as any shared
-libraries amandad depends upon, by running the specified amandad command by
-hand, as the AMANDA user. It should just time-out after 30 seconds waiting for
-a UDP packet. If you type anything, it will abort immediately, because it can't
-read a UDP packet from the keyboard.
-As soon as you have properly configured /etc/inetd.conf so as to run amandad,
-you should no longer get the "selfcheck request timed out" message. A nice tool
-to help make sure inetd is really listening on the amandad port is lsof,
-available at ftp://vic.cc.purdue.edu/pub/tools/unix/lsof.
-
- QUESTION: Why does amandad.debug contain "error receiving message"?
-
-ANSWER: One possibility is that you have run amandad from the command line
-prompt and typed anything instead of waiting for it to time-out: in this case,
-it will try to read a UDP packet from the keyboard, and this was reported not
-to work on most keyboards :-). However, if you have run amandad as any user
-other than the one listed in /etc/inetd.conf, it may have created a /tmp/amanda
-directory that the AMANDA user cannot write to, so you should wipe it out.
-Another possibility is that the AMANDA service was not properly configured as a
-UDP service; check /etc/services and /etc/inetd.conf.
-
- QUESTION: Why does amcheck say "access as <username> not allowed..."?
-
-ANSWER: There must be something wrong with .amandahosts configuration (or
-.rhosts, if you have configured --without-amandahosts).
-First, if the <username> is not what you expect (i.e., not what you have
-specified in the --with-user flag, at configure time), check the inetd
-configuration file: you must have specified the wrong username there.
-Make sure you specify the names exactly as they appear in the error message
-after the `@' sign in .amandahosts/.rhosts. You'll need a fully-qualified
-domain name or not, depending on how your client resolves IP addresses to host
-names.
-
- QUESTION: Why does amcheck report "ip address #.#.#.#" is not in the ip list
-list for <hostname>'?
-
-ANSWER: Check your DNS configuration tables. In order to avoid DNS-spoofing,
-AMANDA double-checks hostname<->IP address mapping. If the IP address the
-request comes from maps to a hostname, but this hostname does not map back to
-the incoming IP address, the request is denied.
-
- QUESTION: Why does amcheck say "cannot overwrite active tape"?
-
-ANSWER: Because, if you configure AMANDA to use N tapes, by setting tapecycle
-to N in amanda.conf, before AMANDA overwrites a tape, it must write to at least
-other N-1 tapes. Of course, AMANDA will always refuse to overwrite a tape
-marked for `noreuse' with amadmin. Furthermore, such tapes are not counted when
-AMANDA computes `N-1' tapes.
-If, for some reason, you want to tell AMANDA to overwrite a particular tape,
-regardless of its position in the cycle, use amrmtape. This command will remove
-this tape from the tapelist file, that is used to manage the tape cycle, and
-will delete information about backups stored in that tape from the AMANDA
-database.
-
- QUESTION: Why does amcheck tell me "DUMP program not available"?
-
-ANSWER: Because configure could not find dump when it was first run. This is a
-common problem on Linux hosts, because most Linux distributions do not install
-dump by default.
-If you don't have a DUMP program installed, install it, remove config.cache,
-run configure again and rebuild AMANDA. While configure is running, make sure
-it can find the installed DUMP program. If it cannot, you may have to set the
-environment variables DUMP and RESTORE by hand, before running configure.
-If you can't or don't want to install DUMP, you may use GNU tar, but make sure
-it as release 1.12 or newer; release 1.11.8 may work, but estimates will be
-slow as hell.
-
- QUESTION: Which tape changer configuration should I use in amanda.conf?
-
-ANSWER: If you only have one tape unit, you have two choices: (i) don't use a
-tape changer at all, i.e., set runtapes to 1, set tapedev to the non-rewinding
-device corresponding to the tape unit, and comment out tpchanger, changerfile
-and changerdev; or (ii) set up chg-manual, so that you can change tapes
-manually. If you select chg-manual, you will not be able to start amdump as a
-cron job, and you should always run amflush -f, because chg-manual will ask you
-to press return in the terminal where you started the controlling program.
-If you have several tape units, which you want to use to emulate a tape
-changer, you want chg-multi. Even if you do own a real tape changer, that
-operates based on ejecting a tape or such, chg-multi may be useful.
-Actual tape changers usually require specialized changer programs, such as mtx,
-chio or specific system calls. The availability of these programs is much more
-dependent on the operating system you're running than on the particular tape
-changer hardware you have.
-mtx, for example, is available for several platforms. However, even if you find
-it for your platform, beware that there exist several different programs named
-mtx, that require different command line arguments, and print different output,
-and AMANDA's chg-mtx does not support them all. You may have to edit the
-script, which shouldn't be hard to do.
-In section BUILT-IN TAPE CHANGERS of AMANDA_Tape_Changer_Support you will find
-details about the tape changer interfacing programs provided with AMANDA, that
-can interact with common tape changer programs and with tape changer-related
-system calls provided by some operating system. If none of them matches your
-needs, you may have to develop your own tape changer interface script.
-Before posting a question to the AMANDA mailing lists, *please* search the
-archives, and try to obtain as much information about driving your tape changer
-hardware from the vendor of the changer hardware and of the operating system,
-rather than from the AMANDA mailing lists. We usually don't have much to say
-about tape changer units, and several questions about them remain unanswered. :
--(
-Anyway, if you decide to post a question, make sure you specify both the tape
-changer hardware *and* the OS/platform that is going to interface with it. Good
-luck! :-)
-
- QUESTION: Should I use software or hardware compression?
-
-ANSWER: When you enable software compression, you drastically reduce the
-compression that might be achieved by hardware. In fact, tape drives will
-usually use *more* tape if you tell them to try to further compress already
-compressed data.
-Thus, you must choose whether you're going to use software or hardware
-compression; don't ever enable both unless you want to waste tape space.
-Since AMANDA prefers to have complete information about tape sizes and
-compression rates, it can do a better job if you use software compression.
-However, if you can't afford the extra CPU usage, AMANDA can live with the
-unpredictability of hardware compression, but you'll have to be very
-conservative about the specified tape size, specially if there are filesystems
-that contain mostly uncompressible data.
-
- QUESTION: How can I configure AMANDA so that it performs full backups on the
-week-end and incrementals on weekdays?
-
-ANSWER: You can't. AMANDA doesn't work this way. You just have to tell AMANDA
-how many tapes you have (tapecycle), and how often you want it to perform full
-backups of each filesystem (dumpcycle). If you don't run it once a daily
-(including Saturdays and Sundays :-), you'll also want to tell AMANDA how many
-times you'll run it per dumpcycle (runspercycle). It will spread full backups
-along the dumpcycle, so you won't have any full-only or incremental-only runs.
-Please also refer to "the friday-tape-question" in Collection_of_the_top_ten
-AMANDA_questions._And_answers..
-
- QUESTION: What if my tape unit uses expensive tapes, and I don't want to use
-one tape per day? Can't AMANDA append to tapes?
-
-ANSWER: It can't, and this is good. Tape drives and OS drivers are (in)famous
-for rewinding tapes at unexpected times, without telling the program that's
-writing to them. If you have a month's worth of backups in that tape, you
-really don't want them to be overwritten, so AMANDA has taken the safe approach
-of requiring tapes to be written from the beginning on every run.
-This can be wasteful, specially if you have a small amount of data to back up,
-but expensive large-capacity tapes. One possible approach is to run amdump with
-tapes only, say once a week, to perform full backups, and run it without tape
-on the other days, so that it performs incremental backups and stores them in
-the holding disk. Once or twice a week, you flush all backups in the holding
-disk to a single tape.
-If you don't trust your holding disk, and you'd rather have all your data on
-tapes daily, you can create an alternate configuration, with two tapes, that
-backs up the holding disk only, always as a full backup. You'd run this
-configuration always after your regular backup, so you always have a complete
-image of the holding disk on tape, just in case it fails.
-
- QUESTION: How can I configure AMANDA for long-term archiving?
-
-ANSWER: The best approach is to create a separate configuration for your
-archive backups. It should use a separate set of tapes, and have all dumptypes
-configured with `record no', so it doesn't interfere with regular backups.
-
- QUESTION: Can I backup separate disks of the same host in different
-configurations?
-
-ANSWER: Yes, but you have to be careful. AMANDA uses UDP to issue estimate and
-backup requests and, although replies to backup requests are immediate (so that
-TCP connections for the actual backup can be established), replies to estimate
-requests are not and, while one request is being processed, any other request
-is ignored. The effect is two-fold:
-(i) if another configuration requests for estimates, the request will be
-ignored, and the requester will end up timing out;
-(ii) if another configuration has already finished the estimates, and is now
-requesting for backups, the backup requests will time-out.
-So, there are two easy ways out:
-(i) ensure that the configurations never run concurrently, or
-(ii) set up two different installations of the AMANDA server, using different
-services names to contact the clients, i.e., different port numbers. This can
-be attained with the configure flag --with-testing=<service-suffix>i. Yes, the
-flag name is not appropriate, but so what?
-If you don't want to set up two installations of AMANDA (I agree, it's
-overkill), but you still want to back up disks of the same host in separate
-configurations, you can set up AMANDA so that one configuration only starts
-after the first one has already finished its One possible way to work-around
-this limitation is to start one configuration only after you know the estimates
-for the first one have already finished (modifying the crontab entries,
-according to history data). You'll also have to delay the starttime (a dumptype
-option) of the disks in the first configuration, so that they don't start
-backing up before the estimates of the second configuration finish.
-
- QUESTION: Can AMANDA span large filesystems across multiple tapes?
-
-ANSWER: Not yet :-(
-This is an open project, looking for developers. If you'd like to help, please
-take a look at the AMANDA Ongoing Projects Page (http://www.amanda.org/
-ongoing.php), where more up-to-date information is likely to be found about
-this project.
-Update September 2004: Refer to the archive of the amanda-hackers mailinglist
-(http://marc.theaimsgroup.com/?l=amanda-hackers). A patch by John Stange is
-being discussed there, which allows splitting and spanning.
-The current work-around is to use GNU tar to back up subdirectories of the huge
-filesystem separately. But be aware of the problems listed in the question
-about "results missing".
-
- QUESTION: What's the difference between option "skip-full" and "strategy
-nofull"?
-
-ANSWER: "strategy nofull" is supposed to handle the following situation: you
-run a full dump off-line once a millenium :-), because that disk isn't supposed
-to change at all and, if it does, changes are minimal. AMANDA will run only
-level 1 backups of that filesystem, to avoid the risk of overwriting a level 1
-backup needed to do a restore. Remember, you run full dumps once a millenium,
-and your tape cycle probably won't last that long :-)
-"skip-full", OTOH, is supposed to let the user run full dumps off-line
-regularly (i.e., as often as specified in the dumpcycle), while AMANDA takes
-care of the incrementals. Currently, AMANDA will tell you when you're supposed
-to run the level 0 backups but, if you fail to do so, AMANDA will not only skip
-a full day's worth of valuable backups of the filesystem, on the day it told
-you to the full backup manually, but it will also run a level 1 backup on the
-next day, even if you have not performed the full backup yet. Worse yet: it
-might perform a level 2 on the next day, just after you have run the level 0,
-so, if the disk should crash, you'd have to restore a level 0 then a level 2,
-but not the level 1! Not a real problem, but definitely strange, eh?
-
- QUESTION: Why does amdump report "results missing"?
-
-ANSWER: One of the possible reasons is that you have requested too many backups
-of the host. In this case, the estimate request or the reply may not fit in a
-UDP packet. This will cause AMANDA not to perform some of the backups. Fixing
-this problem involves modifying the way estimate requests are issued, so that
-no packet exceeds the maximum packet size, and issuing additional requests that
-did not fit in a UDP packet after a reply for the previous set is obtained. The
-probability of getting this problem has been considerably reduced since we
-increased the maximum UDP packet size from 1Kb to 64Kb, but some operating
-systems may not support such large packets.
-One possible work-around is to try to shorten the pathnames of the directories
-and the exclude file names, so that more requests fit in the UDP packet. You
-may create short-named links in some directory closer to the root (/) so as to
-reduce the length of names. I.e., instead of backing up /usr/home/foo and /usr/
-home/bar, create the following links:
-
-  /.foo -> /usr/home/foo
-  /.bar -> /usr/home/bar
-
-then list /.foo and /.bar in the disklist.
-Another approach is to group sub-directories in backup sets, instead of backing
-up them all separately. For example, create /usr/home/.bkp1 and move `foo' and
-`bar' into it, then create links so that the original pathnames remain
-functional. Then, list /usr/home/.bkp1 in the disklist. You may create as many
-`.bkp<N>' directories as you need.
-A simpler approach, that may work for you, is to backup only a subset of the
-subdirectories of a filesystem separately. The others can be backed up together
-with the root of the filesystem, using an exclude list that prevents duplicate
-backups.
-
- QUESTION: Why does amdump report "disk offline"?
-
-ANSWER: Well, assuming the disk is not really off line :-), it may be a
-permission problem, but then, amcheck would have reported it.
-Another possible reason for this failure is a filesystem error, that causes
-DUMP to crash before it estimates the backup size; a fsck may help.
-Yet another possibility is that the filesystem is so large that the backup
-program is incorrectly reporting the estimated size, for example, by printing a
-negative value that AMANDA will not accept as a valid estimate. If you are
-using dump, contact your vendor and request a patch for dump that fixes this
-bug. If you are using GNU tar, make sure it is release 1.12 or newer; 1.11.8
-won't do! Even release 1.12 may require a patch to correctly report estimates
-and dump sizes, as well as to handle sparse files correctly and quickly instead
-of printing error messages like `Read error at byte 0, reading 512 bytes, in
-file ./var/log/lastlog: Bad file number' in sendsize.debug and being very slow.
-Check the patches directory of the AMANDA distribution.
-
- QUESTION: What if amdump reports "dumps way too big, must skip incremental
-dumps"?
-
-ANSWER: It means AMANDA couldn't back up some disk because it wouldn't fit in
-the tape(s) you have configured AMANDA to use. It considered performing some
-incrementals instead of full dumps, so that all disks would fit, but this
-wouldn't be enough, so the disk really had to be dropped in this run.
-In general, you can just ignore this message if it happens only once in a
-while. Low-priority disks are discarded first, so you'll hardly miss really
-important data.
-One real work-around is to configure AMANDA to use more tapes: increase
-`runtapes' in amanda.conf. Even if you don't have a real tape changer, you can
-act yourself as a changer (`chg-manual'; more details in the question about
-tape changer configuration), or use `chg-multi' with a single tape unit, and
-lie to AMANDA that it will have two tapes to use. If you have a holding disk as
-large as a tape, and configure AMANDA (2.4.1b1 or newer) not to reserve any
-space for degraded dumps, dumps that would be stored in the second tape of a
-run will be performed to the holding disk, so you can flush them to tape in the
-morning.
-
- QUESTION: amdump reported "infofile update failed". What should I do?
-
-ANSWER: Make sure all directories and files are readable and writable by the
-AMANDA user, within the directory you specified as `infofile' in amanda.conf.
-From then on, only run amanda server commands ( amadmin, amdump, amflush,
-amcleanup) as the AMANDA user, not as root.
-
- QUESTION: Why does AMANDA sometimes promote full dumps?
-
-ANSWER: To spread the full dumps along the dumpcycle, so that daily runs take
-roughly the same amount of tape and time. As soon as you start using AMANDA, it
-will run full dumps of all filesystems. Then, on the following runs, it will
-promote some backups, so as to adjust the balance. After one or two dumpcycles,
-it should stop promoting dumps. You can see how well it is doing with amadmin
-<conf> balance. If you find the results surprising, you may want to adjust
-dumpcycle or runspercycle.
-
- QUESTION: Why does amrecover report "no index records" or "disk not found"?
-
-ANSWER: The most common cause of this problem is not having enabled index
-generation in amanda.conf. The `index yes' option must be present in every
-dumptype for whose disks indexes should be generated.
-Another possibility is that amrecover is not selecting the configuration name
-that contains the backups for the selected disk. You may specify a
-configuration name with the `-C' switch, when you invoke amrecover. The default
-configuration name can only be specified at AMANDA configure time (configure --
-with-config=<name>).
-Indexes are currently generated at backup-time only, so, if a backup was
-performed without creating an index, you won't be able to use amrecover to
-restore it, you'll have to use amrestore.
-
- QUESTION: Ok, I'm done with testing AMANDA, now I want to put it in
-production. How can I reset its databases so as to start from scratch?
-
-ANSWER: First, remove the `curinfo' database. By default, it is a directory,
-but, if you have selected any other database format (don't, they're
-deprecated), they may be files with extensions such as .dir and .pag.
-Then, remove any log files from the log directory: log.<TIMESTAMP>.<count> and
-amdump.<count>. Finally, remove the tapelist file, stored in the directory that
-contains amanda.conf, unless amanda.conf specifies otherwise. Depending on the
-tape changer you have selected, you may also want to reset its state file.
-
- QUESTION: The man-page of dump says that active filesystems may be backed up
-inconsistently. What does AMANDA do to prevent inconsistent backups?
-
-ANSWER: Nothing. When you back up an active filesystem, there are two
-possibilities:
-dump may print strange error messages about invalid blocks, then fail; in this
-case, AMANDA will retry the backup on the next run.
-Files that are modified while dump runs may be backed up inconsistently. But
-then, they will be included in the next incremental backup, which should
-usually be enough.
-Large, critical files such as databases should be locked somehow, to avoid
-inconsistent backups, but there's no direct support for that in AMANDA. The
-best bet is to configure AMANDA to use a wrapper to dump, that locks and
-unlocks the database when appropriate.
-
- QUESTION: Which version of GNU-tar should I use?
-
-ANSWER: (slightly adapted from a posting by Paul Bijnens
-<paul.bijnens@xplanation.com>, Mon, 11 Apr 2005):
-
-* 1.13.19 is good.
-  However it still sets return code 2 for some infrequent conditions even with
-  --ignore-failed-read option. This results in AMANDA thinking the total
-  archive is bad, and drops the complete archive. Those conditions are very
-  rare on a quiet filesystem.
-* 1.13.25 is good: no problems found (yet).
-* 1.13.9x is not good.
-  It has changed the format of "tar -t", resulting in amrecover not able to use
-  the indexes.
-* 1.14.x is not good.
-  It writes good archives, but when restoring, it has trouble with sparse
-  files; the sparse file itself, and *all* files after it cannot be read
-  anymore. But you can read the archive with a good tar version (i.e. the tar
-  images produced are fine).
-* 1.15.1 is good: no problems found (yet).
-  Paul Bijnens: "I'm using this version on most of my clients since january
-  this year (2005), and have already done successful restore too."
+  Which_version_of_GNU-tar_should_I_use?
+
+  What_does_"bumping"bumping_mean?
+
+  How_do_I_backup_a_Windows_server?
+
+
+ Why does AMANDA fail to build on my system?
+ One of the most common reasons for compile-time errors is stale information in
+ config.cache, after a build on a different platform using the same build tree.
+ In order to avoid this problem, make sure you don't ever reuse build trees
+ across platforms, or at least run make distclean before running configure on
+ another platform.
+ Another common reason for failure, that causes link-time errors, is a problem
+ in libtool that causes it to search for symbols in already-installed amanda
+ libraries, instead of in the just-built ones. This problem is known to affect
+ SunOS 4.1.3 and FreeBSD. You can usually work around it by specifying a
+ different prefix when you configure the new version of AMANDA. However, it may
+ not work if the previous version of AMANDA was installed in /usr/local and gcc
+ searches this directory by default; in this case, you must either remove the
+ old libraries (which you don't want to do, right? :-) or call configure with
+ the flag --disable-libtool. In this case, AMANDA won't create shared
+ libraries, so binaries will be larger, but you may worry about that later.
+ You may also want to take a look at AMANDA_2.4.x_-_System-Specific
+ Installation_Notes, as well as to the AMANDA Patches Page (http://
+ www.amanda.org/patches/) for other known problems. If everything fails, you
+ should read the manual, but since we don't have one yet, just post a help
+ request to the amanda-users mailing list (mailto://amanda-users@amanda.org),
+ showing the last few lines of the failed build.
+ Why does amdump report that all disks failed?
+ Probably because the AMANDA clients are not properly configured. Before you
+ ever run amdump, make sure amcheck succeeds. When it does, so should amdump.
+ Make sure you run amcheck as the same user that is supposed to start amdump,
+ otherwise you may get incorrect results.
+ Why does amcheck say "port NNN is not secure"?
+ Because amcheck, as some other AMANDA programs, must be installed as setuid-
+ root. Run make install as "root", or chown all AMANDA setuid programs to
+ "root", then chown u+s them again, if chown drops the setuid bit.
+ Why does amcheck claim that the tape is "not an AMANDA tape"?
+ Because AMANDA requires you to label tapes before it uses them. Run amlabel in
+ order to label a tape.
+ If, even after labeling a tape, amcheck still complains about it, make sure
+ the regular expression specified in amanda.conf matches the label you have
+ specified, and check whether you have configured non-rewinding tape devices
+ for AMANDA to use. For example, use /dev/nrst0 instead of /dev/rst0, /dev/rmt/
+ 0bn instead of /dev/rmt/0b, or some other system-dependent device name that
+ contains an "n", instead of one that does not. The "n" stands for non-
+ rewinding.
+ If you have labeled any tapes using the rewiding device configuration, you'll
+ have to label them again.
+ Why does amcheck report "selfcheck request timed out"?
+ This can occur under several different situations. First, make sure this
+ problem is repeatable; if AMANDA programs are NFS-auto-mounted, some clients
+ may fail to mount the AMANDA binaries in time.
+ If the error is repeatable, log into the client, and check whether the
+ directory /tmp/amanda exists, and a file named amandad.debug exists in there:
+ amandad will create this file whenever it starts. If this file does not exist,
+ amandad is not starting properly, or it lacks permission to create /tmp/
+ amanda/amandad.debug.
+ In the latter case, wipe out /tmp/amanda, and amandad should create it next
+ time it runs. In the former case, check your inetd configuration. Make sure
+ you have added the AMANDA services to /etc/services (or the NIS services map),
+ that /etc/inetd.conf was properly configured, and that you have signalled
+ inetd to reread this file (some systems may need rebooting). Check section 2.2
+ from in the Amanda_Installation_Notes for details. Check the inetd man-page
+ for possible differences between the standard format of /etc/inetd.conf and
+ the one in your system.
+ Pay special attention to typos in /etc/inetd.conf; error messages will
+ probably appear in /var/adm/messages or /var/log/messages if you have typed
+ the amandad program name incorrectly. Make sure the same user that you have
+ specified at configure-time (configure --with-user=<USERNAME>) is listed in /
+ etc/inetd.conf. Check whether this user has permission to run amandad, as well
+ as any shared libraries amandad depends upon, by running the specified amandad
+ command by hand, as the AMANDA user. It should just time-out after 30 seconds
+ waiting for a UDP packet. If you type anything, it will abort immediately,
+ because it can't read a UDP packet from the keyboard.
+ As soon as you have properly configured /etc/inetd.conf so as to run amandad,
+ you should no longer get the "selfcheck request timed out" message. A nice
+ tool to help make sure inetd is really listening on the amandad port is lsof,
+ available at ftp://vic.cc.purdue.edu/pub/tools/unix/lsof.
+ Why does amandad.debug contain "error receiving message"?
+ One possibility is that you have run amandad from the command line prompt and
+ typed anything instead of waiting for it to time-out: in this case, it will
+ try to read a UDP packet from the keyboard, and this was reported not to work
+ on most keyboards :-). However, if you have run amandad as any user other than
+ the one listed in /etc/inetd.conf, it may have created a /tmp/amanda directory
+ that the AMANDA user cannot write to, so you should wipe it out.
+ Another possibility is that the AMANDA service was not properly configured as
+ a UDP service; check /etc/services and /etc/inetd.conf.
+ Why does amcheck say "access as <username> not allowed..."?
+ There must be something wrong with .amandahosts configuration (or .rhosts, if
+ you have configured --without-amandahosts).
+ First, if the <username> is not what you expect (i.e., not what you have
+ specified in the --with-user flag, at configure time), check the inetd
+ configuration file: you must have specified the wrong username there.
+ Make sure you specify the names exactly as they appear in the error message
+ after the `@' sign in .amandahosts/.rhosts. You'll need a fully-qualified
+ domain name or not, depending on how your client resolves IP addresses to host
+ names.
+ Why does amcheck report "ip address #.#.#.#" is not in the ip list list for
+ <hostname>'?
+ Check your DNS configuration tables. In order to avoid DNS-spoofing, AMANDA
+ double-checks hostname<->IP address mapping. If the IP address the request
+ comes from maps to a hostname, but this hostname does not map back to the
+ incoming IP address, the request is denied.
+ Why does amcheck say "cannot overwrite active tape"?
+ Because, if you configure AMANDA to use N tapes, by setting tapecycle to N in
+ amanda.conf, before AMANDA overwrites a tape, it must write to at least other
+ N-1 tapes. Of course, AMANDA will always refuse to overwrite a tape marked for
+ `noreuse' with amadmin. Furthermore, such tapes are not counted when AMANDA
+ computes `N-1' tapes.
+ If, for some reason, you want to tell AMANDA to overwrite a particular tape,
+ regardless of its position in the cycle, use amrmtape. This command will
+ remove this tape from the tapelist file, that is used to manage the tape
+ cycle, and will delete information about backups stored in that tape from the
+ AMANDA database.
+ Why does amcheck tell me "DUMP program not available"?
+ Because configure could not find dump when it was first run. This is a common
+ problem on Linux hosts, because most Linux distributions do not install dump
+ by default.
+ If you don't have a DUMP program installed, install it, remove config.cache,
+ run configure again and rebuild AMANDA. While configure is running, make sure
+ it can find the installed DUMP program. If it cannot, you may have to set the
+ environment variables DUMP and RESTORE by hand, before running configure.
+ If you can't or don't want to install DUMP, you may use GNU tar, but make sure
+ it as release 1.12 or newer; release 1.11.8 may work, but estimates will be
+ slow as hell.
+ Which tape changer configuration should I use in amanda.conf?
+ If you only have one tape unit, you have two choices:
+
+   i. Don't use a tape changer at all, i.e., set runtapes to 1, set tapedev to
+      the non-rewinding device corresponding to the tape unit, and comment out
+      tpchanger, changerfile and changerdev
+  ii. Set up chg-manual, so that you can change tapes manually. If you select
+      chg-manual, you will not be able to start amdump as a cron job, and you
+      should always run amflush -f, because chg-manual will ask you to press
+      return in the terminal where you started the controlling program.
+
+ If you have several tape units, which you want to use to emulate a tape
+ changer, you want chg-multi. Even if you do own a real tape changer, that
+ operates based on ejecting a tape or such, chg-multi may be useful.
+ Actual tape changers usually require specialized changer programs, such as
+ mtx, chio or specific system calls. The availability of these programs is much
+ more dependent on the operating system you're running than on the particular
+ tape changer hardware you have.
+ mtx, for example, is available for several platforms. However, even if you
+ find it for your platform, beware that there exist several different programs
+ named mtx, that require different command line arguments, and print different
+ output, and AMANDA's chg-mtx does not support them all. You may have to edit
+ the script, which shouldn't be hard to do.
+ In section BUILT-IN TAPE CHANGERS of AMANDA_Tape_Changer_Support you will find
+ details about the tape changer interfacing programs provided with AMANDA, that
+ can interact with common tape changer programs and with tape changer-related
+ system calls provided by some operating system. If none of them matches your
+ needs, you may have to develop your own tape changer interface script.
+ Before posting a question to the AMANDA mailing lists, *please* search the
+ archives, and try to obtain as much information about driving your tape
+ changer hardware from the vendor of the changer hardware and of the operating
+ system, rather than from the AMANDA mailing lists. We usually don't have much
+ to say about tape changer units, and several questions about them remain
+ unanswered. :-(
+ Anyway, if you decide to post a question, make sure you specify both the tape
+ changer hardware *and* the OS/platform that is going to interface with it.
+ Good luck! :-)
+ Should I use software or hardware compression?
+ When you enable software compression, you drastically reduce the compression
+ that might be achieved by hardware. In fact, tape drives will usually use
+ *more* tape if you tell them to try to further compress already compressed
+ data.
+ Thus, you must choose whether you're going to use software or hardware
+ compression; don't ever enable both unless you want to waste tape space.
+ Since AMANDA prefers to have complete information about tape sizes and
+ compression rates, it can do a better job if you use software compression.
+ However, if you can't afford the extra CPU usage, AMANDA can live with the
+ unpredictability of hardware compression, but you'll have to be very
+ conservative about the specified tape size, specially if there are filesystems
+ that contain mostly uncompressible data.
+ How can I configure AMANDA so that it performs full backups on the week-end
+ and incrementals on weekdays?
+ You can't. AMANDA doesn't work this way. You just have to tell AMANDA how many
+ tapes you have (tapecycle), and how often you want it to perform full backups
+ of each filesystem (dumpcycle). If you don't run it once a daily (including
+ Saturdays and Sundays :-), you'll also want to tell AMANDA how many times
+ you'll run it per dumpcycle (runspercycle). It will spread full backups along
+ the dumpcycle, so you won't have any full-only or incremental-only runs.
+ Please also refer to "the friday-tape-question" in Collection_of_the_top_ten
+ AMANDA_questions._And_answers..
+ What if my tape unit uses expensive tapes, and I don't want to use one tape
+ per day? Can't AMANDA append to tapes?
+ It can't, and this is good. Tape drives and OS drivers are (in)famous for
+ rewinding tapes at unexpected times, without telling the program that's
+ writing to them. If you have a month's worth of backups in that tape, you
+ really don't want them to be overwritten, so AMANDA has taken the safe
+ approach of requiring tapes to be written from the beginning on every run.
+ This can be wasteful, specially if you have a small amount of data to back up,
+ but expensive large-capacity tapes. One possible approach is to run amdump
+ with tapes only, say once a week, to perform full backups, and run it without
+ tape on the other days, so that it performs incremental backups and stores
+ them in the holding disk. Once or twice a week, you flush all backups in the
+ holding disk to a single tape.
+ If you don't trust your holding disk, and you'd rather have all your data on
+ tapes daily, you can create an alternate configuration, with two tapes, that
+ backs up the holding disk only, always as a full backup. You'd run this
+ configuration always after your regular backup, so you always have a complete
+ image of the holding disk on tape, just in case it fails.
+ How can I configure AMANDA for long-term archiving?
+ The best approach is to create a separate configuration for your archive
+ backups. It should use a separate set of tapes, and have all dumptypes
+ configured with `record no', so it doesn't interfere with regular backups.
+ Can I backup separate disks of the same host in different configurations?
+ Yes, but you have to be careful. AMANDA uses UDP to issue estimate and backup
+ requests and, although replies to backup requests are immediate (so that TCP
+ connections for the actual backup can be established), replies to estimate
+ requests are not and, while one request is being processed, any other request
+ is ignored. The effect is two-fold:
+
+   i. If another configuration requests for estimates, the request will be
+      ignored, and the requester will end up timing out;
+  ii. If another configuration has already finished the estimates, and is now
+      requesting for backups, the backup requests will time-out.
+
+ So, there are two easy ways out:
+
+   i. Ensure that the configurations never run concurrently, or
+  ii. set up two different installations of the AMANDA server, using different
+      services names to contact the clients, i.e., different port numbers. This
+      can be attained with the configure flag --with-testing=<service-suffix>i.
+      Yes, the flag name is not appropriate, but so what?
+
+ If you don't want to set up two installations of AMANDA (I agree, it's
+ overkill), but you still want to back up disks of the same host in separate
+ configurations, you can set up AMANDA so that one configuration only starts
+ after the first one has already finished its One possible way to work-around
+ this limitation is to start one configuration only after you know the
+ estimates for the first one have already finished (modifying the crontab
+ entries, according to history data). You'll also have to delay the starttime
+ (a dumptype option) of the disks in the first configuration, so that they
+ don't start backing up before the estimates of the second configuration
+ finish.
+ Can AMANDA span large filesystems across multiple tapes?
+ Not yet :-(
+ This is an open project, looking for developers. If you'd like to help, please
+ take a look at the AMANDA Ongoing Projects Page (http://www.amanda.org/
+ ongoing.php), where more up-to-date information is likely to be found about
+ this project.
+ Update September 2004: Refer to the archive of the amanda-hackers mailinglist
+ (http://marc.theaimsgroup.com/?l=amanda-hackers). A patch by John Stange is
+ being discussed there, which allows splitting and spanning.
+ The current work-around is to use GNU tar to back up subdirectories of the
+ huge filesystem separately. But be aware of the problems listed in the
+ question about "results missing".
+ What's the difference between option "skip-full" and "strategy nofull"?
+ "strategy nofull" is supposed to handle the following situation: you run a
+ full dump off-line once a millenium :-), because that disk isn't supposed to
+ change at all and, if it does, changes are minimal. AMANDA will run only level
+ 1 backups of that filesystem, to avoid the risk of overwriting a level 1
+ backup needed to do a restore. Remember, you run full dumps once a millenium,
+ and your tape cycle probably won't last that long :-)
+ "skip-full", OTOH, is supposed to let the user run full dumps off-line
+ regularly (i.e., as often as specified in the dumpcycle), while AMANDA takes
+ care of the incrementals. Currently, AMANDA will tell you when you're supposed
+ to run the level 0 backups but, if you fail to do so, AMANDA will not only
+ skip a full day's worth of valuable backups of the filesystem, on the day it
+ told you to the full backup manually, but it will also run a level 1 backup on
+ the next day, even if you have not performed the full backup yet. Worse yet:
+ it might perform a level 2 on the next day, just after you have run the level
+ 0, so, if the disk should crash, you'd have to restore a level 0 then a level
+ 2, but not the level 1! Not a real problem, but definitely strange, eh?
+ Why does amdump report "results missing"?
+ One of the possible reasons is that you have requested too many backups of the
+ host. In this case, the estimate request or the reply may not fit in a UDP
+ packet. This will cause AMANDA not to perform some of the backups. Fixing this
+ problem involves modifying the way estimate requests are issued, so that no
+ packet exceeds the maximum packet size, and issuing additional requests that
+ did not fit in a UDP packet after a reply for the previous set is obtained.
+ The probability of getting this problem has been considerably reduced since we
+ increased the maximum UDP packet size from 1Kb to 64Kb, but some operating
+ systems may not support such large packets.
+ One possible work-around is to try to shorten the pathnames of the directories
+ and the exclude file names, so that more requests fit in the UDP packet. You
+ may create short-named links in some directory closer to the root (/) so as to
+ reduce the length of names. I.e., instead of backing up /usr/home/foo and /
+ usr/home/bar, create the following links:
+
+   /.foo -> /usr/home/foo
+   /.bar -> /usr/home/bar
+
+ then list /.foo and /.bar in the disklist.
+ Another approach is to group sub-directories in backup sets, instead of
+ backing up them all separately. For example, create /usr/home/.bkp1 and move
+ `foo' and `bar' into it, then create links so that the original pathnames
+ remain functional. Then, list /usr/home/.bkp1 in the disklist. You may create
+ as many `.bkp<N>' directories as you need.
+ A simpler approach, that may work for you, is to backup only a subset of the
+ subdirectories of a filesystem separately. The others can be backed up
+ together with the root of the filesystem, using an exclude list that prevents
+ duplicate backups.
+ Why does amdump report "disk offline"?
+ Well, assuming the disk is not really off line :-), it may be a permission
+ problem, but then, amcheck would have reported it.
+ Another possible reason for this failure is a filesystem error, that causes
+ DUMP to crash before it estimates the backup size; a fsck may help.
+ Yet another possibility is that the filesystem is so large that the backup
+ program is incorrectly reporting the estimated size, for example, by printing
+ a negative value that AMANDA will not accept as a valid estimate. If you are
+ using dump, contact your vendor and request a patch for dump that fixes this
+ bug. If you are using GNU-tar, make sure it is release 1.12 or newer; 1.11.8
+ won't do! Even release 1.12 may require a patch to correctly report estimates
+ and dump sizes, as well as to handle sparse files correctly and quickly
+ instead of printing error messages like `Read error at byte 0, reading 512
+ bytes, in file ./var/log/lastlog: Bad file number' in sendsize.debug and being
+ very slow. Check the patches directory of the AMANDA distribution.
+ What if amdump reports "dumps way too big, must skip incremental dumps"?
+ It means AMANDA couldn't back up some disk because it wouldn't fit in the tape
+ (s) you have configured AMANDA to use. It considered performing some
+ incrementals instead of full dumps, so that all disks would fit, but this
+ wouldn't be enough, so the disk really had to be dropped in this run.
+ In general, you can just ignore this message if it happens only once in a
+ while. Low-priority disks are discarded first, so you'll hardly miss really
+ important data.
+ One real work-around is to configure AMANDA to use more tapes: increase
+ `runtapes' in amanda.conf. Even if you don't have a real tape changer, you can
+ act yourself as a changer (`chg-manual'; more details in the question about
+ tape changer configuration), or use `chg-multi' with a single tape unit, and
+ lie to AMANDA that it will have two tapes to use. If you have a holding disk
+ as large as a tape, and configure AMANDA (2.4.1b1 or newer) not to reserve any
+ space for degraded dumps, dumps that would be stored in the second tape of a
+ run will be performed to the holding disk, so you can flush them to tape in
+ the morning.
+ amdump reported "infofile update failed". What should I do?
+ Make sure all directories and files are readable and writable by the AMANDA
+ user, within the directory you specified as `infofile' in amanda.conf. From
+ then on, only run amanda server commands ( amadmin, amdump, amflush,
+ amcleanup) as the AMANDA user, not as root.
+ Why does AMANDA sometimes promote full dumps?
+ To spread the full dumps along the dumpcycle, so that daily runs take roughly
+ the same amount of tape and time. As soon as you start using AMANDA, it will
+ run full dumps of all filesystems. Then, on the following runs, it will
+ promote some backups, so as to adjust the balance. After one or two
+ dumpcycles, it should stop promoting dumps. You can see how well it is doing
+ with amadmin <conf> balance. If you find the results surprising, you may want
+ to adjust dumpcycle or runspercycle.
+ Why does amrecover report "no index records" or "disk not found"?
+ The most common cause of this problem is not having enabled index generation
+ in amanda.conf. The `index yes' option must be present in every dumptype for
+ whose disks indexes should be generated.
+ Another possibility is that amrecover is not selecting the configuration name
+ that contains the backups for the selected disk. You may specify a
+ configuration name with the `-C' switch, when you invoke amrecover. The
+ default configuration name can only be specified at AMANDA configure time
+ (configure --with-config=<name>).
+ Indexes are currently generated at backup-time only, so, if a backup was
+ performed without creating an index, you won't be able to use amrecover to
+ restore it, you'll have to use amrestore.
+ Ok, I'm done with testing AMANDA, now I want to put it in production. How can
+ I reset its databases so as to start from scratch?
+ First, remove the `curinfo' database. By default, it is a directory, but, if
+ you have selected any other database format (don't, they're deprecated), they
+ may be files with extensions such as .dir and .pag.
+ Then, remove any log files from the log directory: log.<TIMESTAMP>.<count> and
+ amdump.<count>. Finally, remove the tapelist file, stored in the directory
+ that contains amanda.conf, unless amanda.conf specifies otherwise. Depending
+ on the tape changer you have selected, you may also want to reset its state
+ file.
+ The man-page of dump says that active filesystems may be backed up
+ inconsistently. What does AMANDA do to prevent inconsistent backups?
+ Nothing. When you back up an active filesystem, there are two possibilities:
+ dump may print strange error messages about invalid blocks, then fail; in this
+ case, AMANDA will retry the backup on the next run.
+ Files that are modified while dump runs may be backed up inconsistently. But
+ then, they will be included in the next incremental backup, which should
+ usually be enough.
+ Large, critical files such as databases should be locked somehow, to avoid
+ inconsistent backups, but there's no direct support for that in AMANDA. The
+ best bet is to configure AMANDA to use a wrapper to dump, that locks and
+ unlocks the database when appropriate.
+ Which version of GNU-tar should I use?
+ (This answer was slightly adapted from a posting by Paul Bijnens
+ <paul.bijnens@xplanation.com>, Mon, 11 Apr 2005):
+
+ * 1.13.19 is good.
+   However it still sets return code 2 for some infrequent conditions even with
+   --ignore-failed-read option. This results in AMANDA thinking the total
+   archive is bad, and drops the complete archive. Those conditions are very
+   rare on a quiet filesystem.
+ * 1.13.25 is good: no problems found (yet).
+ * 1.13.9x is not good.
+   It has changed the format of "tar -t", resulting in amrecover not able to
+   use the indexes.
+ * 1.14.x is not good.
+   It writes good archives, but when restoring, it has trouble with sparse
+   files; the sparse file itself, and *all* files after it cannot be read
+   anymore. But you can read the archive with a good tar version (i.e. the tar
+   images produced are fine).
+ * 1.15.1 is good: no problems found (yet).
+   Paul Bijnens: "I'm using this version on most of my clients since january
+   this year (2005), and have already done successful restore too."
+
+ What does "bumping" mean?
+ The term "bumping" is used to describe the change from one backup-level to the
+ next higher level. If AMANDA changes from Level 0 to Level 1 for a specific
+ DLE, it "bumps".
+ The basic goal of "bumping" is to save precious space on the backup media as
+ higher level incremental backups are smaller in size than lower level
+ incremental backups.
+ The disadvantage of increasing backup levels is the fact that restoring from
+ higher level incremental backups needs more tapes. This increases the amount
+ of work time that are needed to fully restore a DLE as well as the possibility
+ of tape-errors and similar problems during the process of restore. So in
+ general it is recommended to keep the levels as low as possible with the given
+ hardware and data.
+ There are various amanda.conf parameters to control and fine-tune AMANDA's
+ behavior when it comes to "bumping":
+ Please refer to the amanda-manpage and the example amanda.conf for details on
+ the parameters bumppercent, bumpsize, bumpdays and bumpmult.
+ How do I backup a Windows server?
+ AMANDA is able to use smbclient to dump SMB/CIFS-shares. Refer to the Backup
+ PC_hosts_using_Samba for details.
 
 -------------------------------------------------------------------------------
 
 Prev                       Up                                           Next
-Chapter 15. Using AMANDA  Home  Chapter 17. Collection of the top ten AMANDA
+Chapter 16. Using AMANDA  Home  Chapter 18. Collection of the top ten AMANDA
                                                      questions. And answers.
 
index ba9f05ac821cd26d1c260d54b6eb1c55472671c6..b483bdb5be6a695aa64d27c46cd66407c607e3bd 100644 (file)
@@ -22,7 +22,7 @@ AMANDA.
 Table of Contents
 
 
-  27._Response_to_CPIO_Security_Notice_Issue_11:
+  28._Response_to_CPIO_Security_Notice_Issue_11:
 
 
         Affected_Versions
@@ -32,9 +32,9 @@ Table of Contents
         Acknowledgements
 
 
-  28._Upgrade_Issues
+  29._Upgrade_Issues
 
-  29._What_once_was_new
+  30._What_once_was_new
 
 
         What's_new_in_AMANDA_2.3
@@ -94,7 +94,7 @@ Table of Contents
 
 
 
-  30._Multitape_support_in_AMANDA_2.2
+  31._Multitape_support_in_AMANDA_2.2
 
 
         Introduction
@@ -124,15 +124,15 @@ Table of Contents
 
 
 
-  31._Thoughts_about_a_Strategy_API
+  32._Thoughts_about_a_Strategy_API
 
-  32._Y2K_Compliancy
+  33._Y2K_Compliancy
 
-  33._Usage_of_floppy_tape_drives_on_Linux
+  34._Usage_of_floppy_tape_drives_on_Linux
 
 -------------------------------------------------------------------------------
 
 Prev                             Up                                    Next
-Chapter 26. Using Kerberos with Home  Chapter 27. Response to CPIO Security
+Chapter 27. Using Kerberos with Home  Chapter 28. Response to CPIO Security
 AMANDA                                                     Notice Issue 11:
 
index 3b680d2e8e3ad24c4bce0a25ecfbaa87f8207b27..d409c123e9e25939999c76fbc4d73a4669f9f43c 100644 (file)
@@ -29,7 +29,7 @@ and checkout project 'amanda-afs'
 The patch to AMANDA is already included in this distribution.
 -------------------------------------------------------------------------------
 
-Prev                                     Up                           Next
-Chapter 13. How to use the AMANDA file- Home  Part IV. Various Information
+Prev                                     Up                               Next
+Chapter 13. How to use the AMANDA file- Home  Chapter 15. How to use a wrapper
 driver 
 
diff --git a/docs/howto-wrapper.txt b/docs/howto-wrapper.txt
new file mode 100644 (file)
index 0000000..c5eaf8e
--- /dev/null
@@ -0,0 +1,185 @@
+
+Chapter 15. How to use a wrapper
+Prev  Part III. HOWTOs      Next
+
+-------------------------------------------------------------------------------
+
+Chapter 15. How to use a wrapper
+
+
+Bert de Ridder
+
+Original text
+
+Stefan G. Weichinger
+
+XML-conversion; Updates
+AMANDA Core Team
+<sgw@amanda.org>
+
+Note
+
+Refer to http://www.amanda.org/docs/howto-wrapper.html for the current version
+of this document.
+
+Note
+
+The script used in this document is not part of the official AMANDA release.
+The AMANDA core team does not take any responsibility for this script.
+This is a mini-howto explaining how to control other running tasks on a server
+where the AMANDA software is used to backup data.
+Problem : Lots of software is picky about their datafiles being backed up while
+the files are in use. It sometimes is even necessary to know the state of the
+datafiles at the moment of backup so that when restoring you know exactly
+*what* you are restoring. And most of the time there are dependencies between
+the datafiles as well (for instance, the pure datafiles and the controlfiles of
+an Oracle database.)
+The solution is actually quite simple; you just use a custom made backupscript
+instead of the standard tar command. Inside this tar command, you do some
+necessary processing before executing the tar command and - if necessary - do
+some more processing. This way, you can easily stop an Oracle database, tar the
+files, send them to the tape server and restart the Oracle database. This of
+course is just an example, anything you can do in a shell script can be done.
+
+  1. Create the script
+     This is the most important step, this script is the work horse of the
+     solution. I've called it /bin/amandatar. You can call it whatever you want
+     though. It's a Perl script, it may not be very pretty code, but it does
+     the job. In the script, an example is given for the backup of a Lotus
+     Notes Domino server.
+
+       #!/usr/bin/perl
+
+       # Tar wrapper for Amanda's tar.
+       #
+
+       use Getopt::Long qw(:config pass_through);
+
+       # Obtain directory and file information from the command line.
+
+       $result = GetOptions (
+        'directory=s' => \$dir,
+        'file=s' => \$file
+       );
+
+       # Check whether Amanda wants to do some administrative task (eg.
+       indexinfo
+       # or obtain the number of bytes to be backed up)
+       # if file = /dev/null it's an administrative task and most of the time,
+       no extra
+       #   processing is necessary.
+
+       # What you see here is just a log of the backup start time, and \96 more
+       important
+       #   the stopping of the domino server
+
+       if ( $file ne '/dev/null' )
+       {
+         if ( $dir eq '/local/notesdata' )
+         {
+           system "echo 'Start backup notes at ' >> /var/lib/amanda/runtime" ;
+           system "date >> /var/lib/amanda/runtime";
+           system ( "/etc/init.d/domino stop >> /var/lib/amanda/runtime" );
+         }
+       }
+
+       # The command line is being 'reconstructed'. Necessary because the
+       GetOptions
+       #   call above has stripped the file and directory information.
+       # This is what I meant with 'ugly'  code ;-)
+
+       while ( $ARGV[0] ne '' )
+       {
+         $val = $ARGV[0] ;
+         unshift ( @NEWARGV, $val, ) ;
+         shift @ARGV;
+       }
+
+       while ( $NEWARGV[0] ne '' )
+       {
+         $val = $NEWARGV[0] ;
+         unshift ( @ARGV, $val ) ;
+         shift @NEWARGV;
+       }
+
+       if ( $dir ne '' )
+       {
+         unshift ( @ARGV, '--directory', $dir );
+       }
+       if ( $file ne '' )
+       {
+         unshift ( @ARGV, '--file', $file );
+       }
+
+       if ( $file ne '/dev/null' )
+       {
+         system "echo 'Backing up directory ' $dir >> /var/lib/amanda/runtime"
+       ;
+       }
+
+       # And finally make sure tar is called :-)
+       #   (path may differ on your installation)
+       unshift ( @ARGV , "/bin/tar" ) ;
+
+       system ( @ARGV ) ;
+
+       # Postprocessing
+       #
+       # If Notes backup was requested, restart the server.
+       # Log the backup end time.
+       #
+
+       if ( $file ne '/dev/null' )
+       {
+         if ( $dir eq '/local/notesdata' )
+         {
+           system ( "/etc/init.d/domino start >> /var/lib/amanda/runtime" );
+           system "echo 'End backup notes at ' >> /var/lib/amanda/runtime" ;
+           system "date >> /var/lib/amanda/runtime";
+         }
+       }
+
+       exit 0;
+
+       # End script
+
+     On some systems it may be necessary to setuid root the script.
+  2. Rebuild AMANDA so that it uses your newly created script.
+     Download the sources, untar them to a directory. I'm sure there are lots
+     of documents already available on how to do this, so I won't go into too
+     much detail. (Refer to Amanda_Installation_Notes).
+     fast path :
+
+       /usr/local/src # tar -xvzf amanda-source.tar.gz
+       /usr/local/src # cd amanda-version
+       /usr/local/src/amanda-version # ./configure \
+         --with-user=amanda \
+         --prefix=/usr/local \
+         --exec-prefix=/usr \
+         --bindir=/usr/bin \
+         --sbindir=/usr/sbin \
+         --libexecdir=/usr/lib/amanda \
+         --with-configdir=/etc/amanda \
+         --with-group=disk \
+         --with-gnutar=/bin/amandatar \
+         --with-gnutar-listdir=/var/lib/amanda/gnutar-lists \
+         --with-tmpdir=/tmp/amanda \
+         --with-smbclient=/usr/bin/smbclient \
+         --mandir=/usr/local/man
+
+     Here, it may be necessary to adjust some paths to match your installation.
+     This setup works on SuSE Linux (also SLES) and MacOSX although you may
+     have to use another binary tar.
+     As you see, you may also "replace" the smbclient if necessary. I haven't
+     yet tested it though. I'll leave it as an exercise for the reader <g>.
+
+       /usr/local/src/amanda-version # make
+       /usr/local/src/amanda-version # make install
+
+     Now proceed as with a "normal" installation.
+
+-------------------------------------------------------------------------------
+
+Prev                    Up                           Next
+Chapter 14. AFS HOWTO  Home  Part IV. Various Information
+
index b80e4309bc4338ee806d0f5d266182a874448b68..cfc9e6caa49370c07612b3f269d3965b9e0f0543 100644 (file)
@@ -64,6 +64,8 @@ Table of Contents
 
   14._AFS_HOWTO
 
+  15._How_to_use_a_wrapper
+
 -------------------------------------------------------------------------------
 
 Prev                             Up                                 Next
index 9ab300f7e3242c879d1e4af9b51c201542325a5a..e51b1cd16eb3f85a922cebbeff60981c83f39160 100644 (file)
@@ -298,11 +298,13 @@ Table of Contents
 
         14._AFS_HOWTO
 
+        15._How_to_use_a_wrapper
+
 
   IV._Various_Information
 
 
-        15._Using_AMANDA
+        16._Using_AMANDA
 
 
               An_Introduction
@@ -384,82 +386,9 @@ Table of Contents
 
 
 
-        16._AMANDA_FAQ
-
-
-              QUESTION:_Why_does_AMANDA_fail_to_build_on_my_system?
-
-              QUESTION:_Why_does_amdump_report_that_all_disks_failed?
-
-              QUESTION:_Why_does_amcheck_say_"port_NNN_is_not_secure"?
-
-              QUESTION:_Why_does_amcheck_claim_that_the_tape_is_"not_an_amanda
-              tape"?
-
-              QUESTION:_Why_does_amcheck_report_"selfcheck_request_timed_out"?
-
-              QUESTION:_Why_does_amandad.debug_contain_"error_receiving
-              message"?
-
-              QUESTION:_Why_does_amcheck_say_"access_as_<username>_not
-              allowed..."?
-
-              QUESTION:_Why_does_amcheck_report_"ip_address_#.#.#.#"_is_not_in
-              the_ip_list_list_for_<hostname>'?
-
-              QUESTION:_Why_does_amcheck_say_"cannot_overwrite_active_tape"?
-
-              QUESTION:_Why_does_amcheck_tell_me_"DUMP_program_not_available"?
-
-              QUESTION:_Which_tape_changer_configuration_should_I_use_in
-              amanda.conf?
-
-              QUESTION:_Should_I_use_software_or_hardware_compression?
-
-              QUESTION:_How_can_I_configure_AMANDA_so_that_it_performs_full
-              backups_on_the_week-end_and_incrementals_on_weekdays?
-
-              QUESTION:_What_if_my_tape_unit_uses_expensive_tapes,_and_I_don't
-              want_to_use_one_tape_per_day?_Can't_AMANDA_append_to_tapes?
+        17._AMANDA_FAQ
 
-              QUESTION:_How_can_I_configure_AMANDA_for_long-term_archiving?
-
-              QUESTION:_Can_I_backup_separate_disks_of_the_same_host_in
-              different_configurations?
-
-              QUESTION:_Can_AMANDA_span_large_filesystems_across_multiple
-              tapes?
-
-              QUESTION:_What's_the_difference_between_option_"skip-full"_and
-              "strategy_nofull"?
-
-              QUESTION:_Why_does_amdump_report_"results_missing"?
-
-              QUESTION:_Why_does_amdump_report_"disk_offline"?
-
-              QUESTION:_What_if_amdump_reports_"dumps_way_too_big,_must_skip
-              incremental_dumps"?
-
-              QUESTION:_amdump_reported_"infofile_update_failed"._What_should_I
-              do?
-
-              QUESTION:_Why_does_AMANDA_sometimes_promote_full_dumps?
-
-              QUESTION:_Why_does_amrecover_report_"no_index_records"_or_"disk
-              not_found"?
-
-              QUESTION:_Ok,_I'm_done_with_testing_AMANDA,_now_I_want_to_put_it
-              in_production._How_can_I_reset_its_databases_so_as_to_start_from
-              scratch?
-
-              QUESTION:_The_man-page_of_dump_says_that_active_filesystems_may
-              be_backed_up_inconsistently._What_does_AMANDA_do_to_prevent
-              inconsistent_backups?
-
-              QUESTION:_Which_version_of_GNU-tar_should_I_use?
-
-
-        17._Collection_of_the_top_ten_AMANDA_questions._And_answers.
+        18._Collection_of_the_top_ten_AMANDA_questions._And_answers.
 
 
               Reason_for_starting_this_list.
@@ -489,15 +418,15 @@ Table of Contents
               ...
 
 
-        18._AMANDA_WISHLIST
+        19._AMANDA_WISHLIST
 
-        19._AMANDA_Survey_Results
+        20._AMANDA_Survey_Results
 
 
   V._Technical_Background
 
 
-        20._How_AMANDA_uses_UDP_and_TCP_ports
+        21._How_AMANDA_uses_UDP_and_TCP_ports
 
 
               TCP_port_allocation
@@ -511,7 +440,7 @@ Table of Contents
               Firewalls_and_NAT
 
 
-        21._AMANDA_dumper_API
+        22._AMANDA_dumper_API
 
 
               Introduction
@@ -539,7 +468,7 @@ Table of Contents
               Conclusion
 
 
-        22._AMANDA_Internals
+        23._AMANDA_Internals
 
 
               Protocols
@@ -553,7 +482,7 @@ Table of Contents
               taper(read)_and_taper(write)
 
 
-        23._AMANDA_Event_API
+        24._AMANDA_Event_API
 
 
               Introduction
@@ -597,7 +526,7 @@ Table of Contents
 
 
 
-        24._AMANDA_Security_API
+        25._AMANDA_Security_API
 
 
               Introduction
@@ -661,9 +590,9 @@ Table of Contents
 
 
 
-        25._Virtual_Tape_API
+        26._Virtual_Tape_API
 
-        26._Using_Kerberos_with_AMANDA
+        27._Using_Kerberos_with_AMANDA
 
 
               AMANDA_2.5.0_-_KERBEROS_v4_SUPPORT_NOTES
@@ -693,7 +622,7 @@ Table of Contents
   VI._Historical_files
 
 
-        27._Response_to_CPIO_Security_Notice_Issue_11:
+        28._Response_to_CPIO_Security_Notice_Issue_11:
 
 
               Affected_Versions
@@ -703,9 +632,9 @@ Table of Contents
               Acknowledgements
 
 
-        28._Upgrade_Issues
+        29._Upgrade_Issues
 
-        29._What_once_was_new
+        30._What_once_was_new
 
 
               What's_new_in_AMANDA_2.3
@@ -765,7 +694,7 @@ Table of Contents
 
 
 
-        30._Multitape_support_in_AMANDA_2.2
+        31._Multitape_support_in_AMANDA_2.2
 
 
               Introduction
@@ -795,20 +724,20 @@ Table of Contents
 
 
 
-        31._Thoughts_about_a_Strategy_API
+        32._Thoughts_about_a_Strategy_API
 
-        32._Y2K_Compliancy
+        33._Y2K_Compliancy
 
-        33._Usage_of_floppy_tape_drives_on_Linux
+        34._Usage_of_floppy_tape_drives_on_Linux
 
 
-  VII._References
+  VII._Appendixes
 
 
-        34._Web_Ressources
-
         35._The_AMANDA_Manual_Pages.
 
+        36._Web_Ressources
+
 
   Index
 
@@ -817,12 +746,12 @@ List of Tables
 
   4.1. Protocol_between_amindexd_and_amrecover
 
-  19.1. Operating_Systems_Running_on_AMANDA_Server_Hosts
+  20.1. Operating_Systems_Running_on_AMANDA_Server_Hosts
 
 List of Examples
 
 
-  15.1. A_C_Program_to_Check_the_AMANDA_Service_Numbers
+  16.1. A_C_Program_to_Check_the_AMANDA_Service_Numbers
 
 -------------------------------------------------------------------------------
 
index 45a0f7941d24ccd75d410bbcbcd65648df0df1e5..5b8630237654675ce53e4194152e7de0ce07998b 100644 (file)
@@ -82,7 +82,8 @@ AMANDA programs (see section 1.2.H below).
      Samba allows Unix systems to talk to PC clients. AMANDA can back up
      Microsoft Windows clients using Samba:
      http://www.samba.org
-     Read Samba for configuration tips and known limitations.
+     Read Backup_PC_hosts_using_Samba for configuration tips and known
+     limitations.
      Look at http://www.amanda.org/patches.html for up to date information on
      patches.
   b. If you wish to make use of some of the scripts that come with AMANDA, you
@@ -226,8 +227,8 @@ AMANDA programs (see section 1.2.H below).
      want to run with "no-record" under normal operations.
   b. Put AMANDA into your crontab. Here's a sample:
 
-       0 16 * * 1-5 /usr/local/bin/amcheck -m confname
-       45 0 * * 2-6 /usr/local/bin/amdump confname
+       0 16 * * 1-5 /usr/local/sbin/amcheck -m confname
+       45 0 * * 2-6 /usr/local/sbin/amdump confname
 
      This is for SunOS 4.x, which has a per-user crontab; most other systems
      also require a userid on each cron line. See your cron(8) for details.
index bd56b08cd8bf7d23cd57d577b01e33479ea3b46d..17fa74d61d3b79b87e7f077f4c02ccea9c57b8df 100644 (file)
@@ -1,10 +1,10 @@
 
-         Chapter 22. AMANDA Internals
+         Chapter 23. AMANDA Internals
 Prev  Part V. Technical Background  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 22. AMANDA Internals
+Chapter 23. AMANDA Internals
 
 
 George Scott
@@ -177,5 +177,5 @@ Quit Q --->
 -------------------------------------------------------------------------------
 
 Prev                            Up                           Next
-Chapter 21. AMANDA dumper API  Home  Chapter 23. AMANDA Event API
+Chapter 22. AMANDA dumper API  Home  Chapter 24. AMANDA Event API
 
index 23f9fdf7f952701f39702c64c5071802e1113a30..35f588577347fb1563b5724e8de6524101463678 100644 (file)
@@ -14,6 +14,13 @@ A
   autoflush, the_multiple-dumps-question
 
 
+B
+
+
+
+  bumping, AMANDA_FAQ
+
+
 C
 
 
@@ -83,6 +90,6 @@ V
 
 -------------------------------------------------------------------------------
 
-Prev          Up   
-amverifyrun  Home  
+Prev                         Up   
+Chapter 36. Web Ressources  Home  
 
index 33cba638ea8cf3b6fa70ab1b4901e27d8a1153c1..5b9519e6ba937a9e4912ce826c00113e72ae2bcf 100644 (file)
@@ -1,10 +1,10 @@
 
-    Chapter 34. Web Ressources
-Prev  Part VII. References  Next
+    Chapter 36. Web Ressources
+Prev  Part VII. Appendixes  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 34. Web Ressources
+Chapter 36. Web Ressources
 
 
 Stefan G. Weichinger
@@ -28,6 +28,6 @@ See some original AMANDA-papers by James da Silva and Olafur Gundmundsson here:
 
 -------------------------------------------------------------------------------
 
-Prev                   Up                                   Next
-Part VII. References  Home  Chapter 35. The AMANDA Manual Pages.
+Prev          Up    Next
+amverifyrun  Home  Index
 
index 488bb2ffccc599ac646969e5d0388c3cfce866c8..fda852c1bbc8203bf2e9ac8ab23f67d37181ce18 100644 (file)
@@ -1,6 +1,6 @@
 
 Chapter 35. The AMANDA Manual Pages.
-Prev  Part VII. References      Next
+Prev  Part VII. Appendixes      Next
 
 -------------------------------------------------------------------------------
 
@@ -13,6 +13,9 @@ Table of Contents
 
   amanda - Advanced Maryland Automatic Network Disk Archiver
 
+  amanda.conf - Main configuration file for AMANDA, the Advanced Maryland
+  Automatic Network Disk Archiver
+
   amcheck - run AMANDA self-checks
 
   amcheckdb - check AMANDA database for tape consistency
@@ -63,6 +66,6 @@ this document.
 This chapter contains the manual pages from the official AMANDA distribution.
 -------------------------------------------------------------------------------
 
-Prev                         Up      Next
-Chapter 34. Web Ressources  Home  amadmin
+Prev                   Up      Next
+Part VII. Appendixes  Home  amadmin
 
index ca7d58399f47dffa37a14f1563244519c7b050ec..920920ed6086dfc8338dcb600682dbe6867c10f3 100644 (file)
@@ -1,10 +1,10 @@
 
-Chapter 30. Multitape support in AMANDA 2.2
+Chapter 31. Multitape support in AMANDA 2.2
 Prev  Part VI. Historical files        Next
 
 -------------------------------------------------------------------------------
 
-Chapter 30. Multitape support in AMANDA 2.2
+Chapter 31. Multitape support in AMANDA 2.2
 
 
 James da Silva
@@ -178,5 +178,5 @@ whether or not the end of tape was reached.
 -------------------------------------------------------------------------------
 
 Prev                            Up                                        Next
-Chapter 29. What once was new  Home  Chapter 31. Thoughts about a Strategy API
+Chapter 30. What once was new  Home  Chapter 32. Thoughts about a Strategy API
 
index 3e461916d4d35474f7e07748a7c56839f459eb6e..3536e539dcb4dcd31cdb4bf4565895e4601133e8 100644 (file)
@@ -1,10 +1,10 @@
 
-Chapter 20. How AMANDA uses UDP and TCP ports
+Chapter 21. How AMANDA uses UDP and TCP ports
 Prev  Part V. Technical Background       Next
 
 -------------------------------------------------------------------------------
 
-Chapter 20. How AMANDA uses UDP and TCP ports
+Chapter 21. How AMANDA uses UDP and TCP ports
 
 
 John R. Jackson
@@ -202,5 +202,5 @@ up on the documentation that comes with them.
 -------------------------------------------------------------------------------
 
 Prev                           Up                            Next
-Part V. Technical Background  Home  Chapter 21. AMANDA dumper API
+Part V. Technical Background  Home  Chapter 22. AMANDA dumper API
 
index 1c55c945a97d947dd5630db62c0f5c36cf1d22c5..4d8e9af87707ba0bbbb6cde555eb0000036ea567 100644 (file)
@@ -71,6 +71,11 @@ AFS_HOWTO
 
 * Stefan G. Weichinger <sgw@amanda.org> (XML-conversion;Updates)
 
+How_to_use_a_wrapper
+
+* Bert de Ridder (Original text)
+* Stefan G. Weichinger <sgw@amanda.org> (XML-conversion; Updates)
+
 Using_AMANDA
 
 * John R. Jackson <jrj@purdue.edu> (Original text)
index 8184b9799ccaed09866e52db1b90c2494c1624a3..cdd5c63d6f6961ca968f5031d9e670e7fc472a81 100644 (file)
@@ -1,10 +1,10 @@
 
-      Chapter 24. AMANDA Security API
+      Chapter 25. AMANDA Security API
 Prev  Part V. Technical Background  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 24. AMANDA Security API
+Chapter 25. AMANDA Security API
 
 
 Mike Grupenhoff
@@ -443,5 +443,5 @@ Implementation of security_stream_read_cancel.
 -------------------------------------------------------------------------------
 
 Prev                           Up                           Next
-Chapter 23. AMANDA Event API  Home  Chapter 25. Virtual Tape API
+Chapter 24. AMANDA Event API  Home  Chapter 26. Virtual Tape API
 
index e3d5803dade6e780d4ce1df2723ad24a0820083c..fff409496f432eb6aa30d16075bd316bf5835fa2 100644 (file)
@@ -1,10 +1,10 @@
 
-Chapter 27. Response to CPIO Security Notice Issue 11:
+Chapter 28. Response to CPIO Security Notice Issue 11:
 Prev  Part VI. Historical files                   Next
 
 -------------------------------------------------------------------------------
 
-Chapter 27. Response to CPIO Security Notice Issue 11:
+Chapter 28. Response to CPIO Security Notice Issue 11:
 
 
 AMANDA Core Team
@@ -75,5 +75,5 @@ improving AMANDA.
 -------------------------------------------------------------------------------
 
 Prev                        Up                         Next
-Part VI. Historical files  Home  Chapter 28. Upgrade Issues
+Part VI. Historical files  Home  Chapter 29. Upgrade Issues
 
index 22bde2655cf423432ba24f6a97f8811f57fc7d22..e2dffb9c943faf6360d96b735c2ea88328f53030 100644 (file)
@@ -1,10 +1,10 @@
 
-Chapter 31. Thoughts about a Strategy API
+Chapter 32. Thoughts about a Strategy API
 Prev  Part VI. Historical files      Next
 
 -------------------------------------------------------------------------------
 
-Chapter 31. Thoughts about a Strategy API
+Chapter 32. Thoughts about a Strategy API
 
 
 Alexandre Oliva
@@ -61,5 +61,5 @@ of this document.
 -------------------------------------------------------------------------------
 
 Prev                                          Up                         Next
-Chapter 30. Multitape support in AMANDA 2.2  Home  Chapter 32. Y2K Compliancy
+Chapter 31. Multitape support in AMANDA 2.2  Home  Chapter 33. Y2K Compliancy
 
index d362fa3904bf4a231322df3b4beb4ee458dc6b33..042c9567560235d28732b759a6dfbd9124bfe1d4 100644 (file)
@@ -1,10 +1,10 @@
 
-     Chapter 19. AMANDA Survey Results
+     Chapter 20. AMANDA Survey Results
 Prev  Part IV. Various Information  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 19. AMANDA Survey Results
+Chapter 20. AMANDA Survey Results
 
 
 Jon LaBadie
@@ -148,7 +148,7 @@ AMANDA servers
 |6_____|1_|
 |7_____|1_|
 
-Table 19.1. Operating Systems Running on AMANDA Server Hosts
+Table 20.1. Operating Systems Running on AMANDA Server Hosts
  _____________________________________
 |FreeBSD:_______|Total_10,_including__|
 |2______________|4-STABLE_____________|
@@ -619,5 +619,5 @@ client in the near future.
 -------------------------------------------------------------------------------
 
 Prev                          Up                           Next
-Chapter 18. AMANDA WISHLIST  Home  Part V. Technical Background
+Chapter 19. AMANDA WISHLIST  Home  Part V. Technical Background
 
index bc645888af3d93bf7e7e6a3b63bf6fe96d88dac4..402a92525fea5480f29bce7585ef79911d9e69d2 100644 (file)
@@ -17,7 +17,7 @@ the internals of AMANDA.
 Table of Contents
 
 
-  20._How_AMANDA_uses_UDP_and_TCP_ports
+  21._How_AMANDA_uses_UDP_and_TCP_ports
 
 
         TCP_port_allocation
@@ -31,7 +31,7 @@ Table of Contents
         Firewalls_and_NAT
 
 
-  21._AMANDA_dumper_API
+  22._AMANDA_dumper_API
 
 
         Introduction
@@ -59,7 +59,7 @@ Table of Contents
         Conclusion
 
 
-  22._AMANDA_Internals
+  23._AMANDA_Internals
 
 
         Protocols
@@ -73,7 +73,7 @@ Table of Contents
         taper(read)_and_taper(write)
 
 
-  23._AMANDA_Event_API
+  24._AMANDA_Event_API
 
 
         Introduction
@@ -117,7 +117,7 @@ Table of Contents
 
 
 
-  24._AMANDA_Security_API
+  25._AMANDA_Security_API
 
 
         Introduction
@@ -181,9 +181,9 @@ Table of Contents
 
 
 
-  25._Virtual_Tape_API
+  26._Virtual_Tape_API
 
-  26._Using_Kerberos_with_AMANDA
+  27._Using_Kerberos_with_AMANDA
 
 
         AMANDA_2.5.0_-_KERBEROS_v4_SUPPORT_NOTES
@@ -212,6 +212,6 @@ Table of Contents
 -------------------------------------------------------------------------------
 
 Prev                                Up                                  Next
-Chapter 19. AMANDA Survey Results  Home  Chapter 20. How AMANDA uses UDP and
+Chapter 20. AMANDA Survey Results  Home  Chapter 21. How AMANDA uses UDP and
                                                                    TCP ports
 
index de92e3e7647b969dcb3d9c22cdf155bc0a82ccb6..7b8b9314cb440ffc63f27ab18f7b2e43a9d1d106 100644 (file)
@@ -1,10 +1,10 @@
 
-Chapter 17. Collection of the top ten AMANDA questions. And answers.
+Chapter 18. Collection of the top ten AMANDA questions. And answers.
 Prev  Part IV. Various Information                              Next
 
 -------------------------------------------------------------------------------
 
-Chapter 17. Collection of the top ten AMANDA questions. And answers.
+Chapter 18. Collection of the top ten AMANDA questions. And answers.
 
 
 Stefan G. Weichinger
@@ -427,5 +427,5 @@ users-mailinglist at mailto://amanda-users@amanda.org.
 -------------------------------------------------------------------------------
 
 Prev                     Up                          Next
-Chapter 16. AMANDA FAQ  Home  Chapter 18. AMANDA WISHLIST
+Chapter 17. AMANDA FAQ  Home  Chapter 19. AMANDA WISHLIST
 
index 81db04e28649fe4e8b1aae08f759eacd57fb36c2..3b64d8c602cb1dbc06284fb10c0afc36f5874a16 100644 (file)
@@ -1,10 +1,10 @@
 
-        Chapter 28. Upgrade Issues
+        Chapter 29. Upgrade Issues
 Prev  Part VI. Historical files  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 28. Upgrade Issues
+Chapter 29. Upgrade Issues
 
 
 Stefan G. Weichinger
@@ -63,6 +63,6 @@ http://www.amanda.org/2.4-conv/msg00428.html
 -------------------------------------------------------------------------------
 
 Prev                                   Up                            Next
-Chapter 27. Response to CPIO Security Home  Chapter 29. What once was new
+Chapter 28. Response to CPIO Security Home  Chapter 30. What once was new
 Notice Issue 11: 
 
index 48e95550fe8f798c260188ea32655799ebdd5ca8..0c7a775b3dad796158abcf360d2fe26074f0f8c3 100644 (file)
@@ -1,10 +1,10 @@
 
-            Chapter 15. Using AMANDA
+            Chapter 16. Using AMANDA
 Prev  Part IV. Various Information  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 15. Using AMANDA
+Chapter 16. Using AMANDA
 
 
 John R. Jackson
@@ -293,7 +293,7 @@ development.
 
 AMANDA Resources
 
-AMANDA may be obtained via the http://www.amanda.org web page or with anonymous
+AMANDA may be obtained via the web page http://www.amanda.org or with anonymous
 ftp at ftp://ftp.amanda.org/pub/amanda.A typical release is a gzip compressed
 tar file with a name like amanda-2.4.1.tar.gz, which means it is major version
 2.4 and minor version 1. There are occasional patch releases that have a name
@@ -943,7 +943,7 @@ try:
   C program in Figure 4-1 uses the same system call as AMANDA to look up
   entries:
 
-Example 15.1. A C Program to Check the AMANDA Service Numbers
+Example 16.1. A C Program to Check the AMANDA Service Numbers
 
        
            #include <stdio.h>
@@ -1979,5 +1979,5 @@ the principles and techniques are familiar when disaster strikes.
 -------------------------------------------------------------------------------
 
 Prev                           Up                     Next
-Part IV. Various Information  Home  Chapter 16. AMANDA FAQ
+Part IV. Various Information  Home  Chapter 17. AMANDA FAQ
 
index 16f4705193fc88862b961ec9dd63fef1af383a5b..20e1d197ddc889e0093ee0777570a08066af0bf9 100644 (file)
@@ -18,7 +18,7 @@ addition is the "famous" AMANDA-chapter by John R. Jackson.
 Table of Contents
 
 
-  15._Using_AMANDA
+  16._Using_AMANDA
 
 
         An_Introduction
@@ -100,75 +100,9 @@ Table of Contents
 
 
 
-  16._AMANDA_FAQ
+  17._AMANDA_FAQ
 
-
-        QUESTION:_Why_does_AMANDA_fail_to_build_on_my_system?
-
-        QUESTION:_Why_does_amdump_report_that_all_disks_failed?
-
-        QUESTION:_Why_does_amcheck_say_"port_NNN_is_not_secure"?
-
-        QUESTION:_Why_does_amcheck_claim_that_the_tape_is_"not_an_amanda_tape"?
-
-        QUESTION:_Why_does_amcheck_report_"selfcheck_request_timed_out"?
-
-        QUESTION:_Why_does_amandad.debug_contain_"error_receiving_message"?
-
-        QUESTION:_Why_does_amcheck_say_"access_as_<username>_not_allowed..."?
-
-        QUESTION:_Why_does_amcheck_report_"ip_address_#.#.#.#"_is_not_in_the_ip
-        list_list_for_<hostname>'?
-
-        QUESTION:_Why_does_amcheck_say_"cannot_overwrite_active_tape"?
-
-        QUESTION:_Why_does_amcheck_tell_me_"DUMP_program_not_available"?
-
-        QUESTION:_Which_tape_changer_configuration_should_I_use_in_amanda.conf?
-
-        QUESTION:_Should_I_use_software_or_hardware_compression?
-
-        QUESTION:_How_can_I_configure_AMANDA_so_that_it_performs_full_backups
-        on_the_week-end_and_incrementals_on_weekdays?
-
-        QUESTION:_What_if_my_tape_unit_uses_expensive_tapes,_and_I_don't_want
-        to_use_one_tape_per_day?_Can't_AMANDA_append_to_tapes?
-
-        QUESTION:_How_can_I_configure_AMANDA_for_long-term_archiving?
-
-        QUESTION:_Can_I_backup_separate_disks_of_the_same_host_in_different
-        configurations?
-
-        QUESTION:_Can_AMANDA_span_large_filesystems_across_multiple_tapes?
-
-        QUESTION:_What's_the_difference_between_option_"skip-full"_and
-        "strategy_nofull"?
-
-        QUESTION:_Why_does_amdump_report_"results_missing"?
-
-        QUESTION:_Why_does_amdump_report_"disk_offline"?
-
-        QUESTION:_What_if_amdump_reports_"dumps_way_too_big,_must_skip
-        incremental_dumps"?
-
-        QUESTION:_amdump_reported_"infofile_update_failed"._What_should_I_do?
-
-        QUESTION:_Why_does_AMANDA_sometimes_promote_full_dumps?
-
-        QUESTION:_Why_does_amrecover_report_"no_index_records"_or_"disk_not
-        found"?
-
-        QUESTION:_Ok,_I'm_done_with_testing_AMANDA,_now_I_want_to_put_it_in
-        production._How_can_I_reset_its_databases_so_as_to_start_from_scratch?
-
-        QUESTION:_The_man-page_of_dump_says_that_active_filesystems_may_be
-        backed_up_inconsistently._What_does_AMANDA_do_to_prevent_inconsistent
-        backups?
-
-        QUESTION:_Which_version_of_GNU-tar_should_I_use?
-
-
-  17._Collection_of_the_top_ten_AMANDA_questions._And_answers.
+  18._Collection_of_the_top_ten_AMANDA_questions._And_answers.
 
 
         Reason_for_starting_this_list.
@@ -198,12 +132,12 @@ Table of Contents
         ...
 
 
-  18._AMANDA_WISHLIST
+  19._AMANDA_WISHLIST
 
-  19._AMANDA_Survey_Results
+  20._AMANDA_Survey_Results
 
 -------------------------------------------------------------------------------
 
-Prev                    Up                       Next
-Chapter 14. AFS HOWTO  Home  Chapter 15. Using AMANDA
+Prev                               Up                       Next
+Chapter 15. How to use a wrapper  Home  Chapter 16. Using AMANDA
 
index e1637f406df12b7e12f051bed4f3b178012dccdf..517b5d2f6aa1c8fa8bf335d1f530028efa251275 100644 (file)
@@ -1,10 +1,10 @@
 
-         Chapter 25. Virtual Tape API
+         Chapter 26. Virtual Tape API
 Prev  Part V. Technical Background  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 25. Virtual Tape API
+Chapter 26. Virtual Tape API
 
 
 Stefan G. Weichinger
@@ -61,5 +61,5 @@ but we hope to add a "rmt" (remote tape client), and possibly "dvd" types soon.
 -------------------------------------------------------------------------------
 
 Prev                              Up                                     Next
-Chapter 24. AMANDA Security API  Home  Chapter 26. Using Kerberos with AMANDA
+Chapter 25. AMANDA Security API  Home  Chapter 27. Using Kerberos with AMANDA
 
index 936edbc544b1d22430649c651ce7b2aac12c7858..6aee12ce21d2308e0bde95bd19825832d599f028 100644 (file)
@@ -1,10 +1,10 @@
 
-      Chapter 29. What once was new
+      Chapter 30. What once was new
 Prev  Part VI. Historical files  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 29. What once was new
+Chapter 30. What once was new
 
 
 AMANDA Core Team
@@ -464,5 +464,5 @@ will be reserved for degraded mode dumps (e.g. the percentage keeps sliding).
 -------------------------------------------------------------------------------
 
 Prev                         Up                                          Next
-Chapter 28. Upgrade Issues  Home  Chapter 30. Multitape support in AMANDA 2.2
+Chapter 29. Upgrade Issues  Home  Chapter 31. Multitape support in AMANDA 2.2
 
index 7112a97d1bfd88dcf0e2f5b3c597e1a3d825fd0b..245efd56d1d28f5d3bac9b8e2f19543a69e2b8d4 100644 (file)
@@ -1,10 +1,10 @@
 
-         Chapter 18. AMANDA WISHLIST
+         Chapter 19. AMANDA WISHLIST
 Prev  Part IV. Various Information  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 18. AMANDA WISHLIST
+Chapter 19. AMANDA WISHLIST
 
 
 AMANDA Core Team
@@ -269,6 +269,6 @@ The WISHLIST should get shortened.
 -------------------------------------------------------------------------------
 
 Prev                                   Up                                Next
-Chapter 17. Collection of the top ten Home  Chapter 19. AMANDA Survey Results
+Chapter 18. Collection of the top ten Home  Chapter 20. AMANDA Survey Results
 AMANDA questions. And answers. 
 
index c53249755fb1d234d72004d4a1ec80860fb2e3b7..4eb5ce610c3efceec8c3a36b4237261beac111d2 100644 (file)
@@ -1,10 +1,10 @@
 
-        Chapter 32. Y2K Compliancy
+        Chapter 33. Y2K Compliancy
 Prev  Part VI. Historical files  Next
 
 -------------------------------------------------------------------------------
 
-Chapter 32. Y2K Compliancy
+Chapter 33. Y2K Compliancy
 
 
 AMANDA Core Team
@@ -29,6 +29,6 @@ where years are represented with the century-included notation.
 -------------------------------------------------------------------------------
 
 Prev                                   Up                               Next
-Chapter 31. Thoughts about a Strategy Home  Chapter 33. Usage of floppy tape
+Chapter 32. Thoughts about a Strategy Home  Chapter 34. Usage of floppy tape
 API                                                          drives on Linux
 
index cdcbf2bf1b9f8e522ab3399ebebde973f8a4b929..4bd48fdb5411dac03622b5597633ec696db021b2 100644 (file)
@@ -1,10 +1,10 @@
 
-Chapter 33. Usage of floppy tape drives on Linux
+Chapter 34. Usage of floppy tape drives on Linux
 Prev  Part VI. Historical files             Next
 
 -------------------------------------------------------------------------------
 
-Chapter 33. Usage of floppy tape drives on Linux
+Chapter 34. Usage of floppy tape drives on Linux
 
 
 Albrecht Gebhardt
@@ -105,5 +105,5 @@ waste 29 kb.
 -------------------------------------------------------------------------------
 
 Prev                         Up                   Next
-Chapter 32. Y2K Compliancy  Home  Part VII. References
+Chapter 33. Y2K Compliancy  Home  Part VII. Appendixes
 
index 7b952e0ae03b376ef218d41586d78b9969d07ce4..db659ba1fd7db64c59d67b8e731f6a38c8deb758 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -36,7 +36,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = example
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/amanda.conf.chg-scsi.in $(srcdir)/amanda.conf.in \
@@ -213,6 +215,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -361,7 +365,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 807f8bb9ba4c044b3fe68077d8af52075ac9fdfb..b8b68e155613d73831ed54ce53b1b5eda1ec9997 100644 (file)
@@ -142,7 +142,7 @@ amrecover_changer "@DEFAULT_TAPE_DEVICE@"   # amrecover will use the changer if yo
 holdingdisk hd1 {
     comment "main holding disk"
     directory "/dumps/amanda"  # where the holding disk is
-    use 290 Mb         # how much space can we use on it
+    use -100 Mb                # how much space can we use on it
                        # a non-positive value means:
                        #        use all space but that value
     chunksize 1Gb      # size of chunk if you want big dump to be
@@ -350,6 +350,17 @@ define tapetype MIMSY-MEGATAPE {
 #                Default: [compress client fast]
 #   dumpcycle  - set the number of days in the dump cycle, ie, set how often a
 #                full dump should be performed.  Default: from DUMPCYCLE above
+#   estimate      Determine the way AMANDA does it's estimate. 
+#                "client"      - Use the same program as the dumping program,
+#                              this is the most accurate way to do estimates, 
+#                              but it can take a long time.
+#                "calcsize"    - Use a faster program to do estimates, but the
+#                              result is less accurate.
+#                "server"      - Use only statistics from the previous run to 
+#                              give an estimate, 
+#                              it takes only a few seconds but the result is not 
+#                              accurate if your disk usage changes from day to day.
+#                Default: [client]
 #   exclude    - specify files and directories to be excluded from the dump.
 #                Useful with gnutar only; silently ignored by dump and samba.
 #                Valid values are:
index 2bbd0c95725b2d3c7a641bbf8aaed15293fc4844..2ead4d8498411abef23e1c1a7e331245789c372a 100644 (file)
@@ -93,6 +93,9 @@
 # NO_SERVER_MODE       --without-server
 #                      Default: false
 #                      if true, disables building server stuff.
+#                      Note: setting NO_SERVER_MODE=true implies
+#                      --without-restore, i.e. NO_RESTORE_MODE=true,
+#                      and it is an error to try to force a mismatch
 # NO_SERVER_MODE=true
 
 
index 5212169c703dd4a04cb52f130e8725f1ad9052fa..8ad8e77127cc774f506758ad50e28c4ff8ff9b87 100644 (file)
@@ -6,7 +6,7 @@ if WANT_AMPLOT
 AMPLOT_MAN_PAGES = amplot.8
 endif
 
-COMMON_MAN_PAGES = amanda.8
+COMMON_MAN_PAGES = amanda.8 amanda.conf.5
 
 if WANT_SERVER
 SERVER_MAN_PAGES = amadmin.8 \
@@ -39,7 +39,7 @@ RESTORE_MAN_PAGES = amrestore.8
 endif
 
 # not autoconf-generated:
-EXTRA_DIST = amadmin.8 amanda.8 amcheck.8 amcheckdb.8 amcleanup.8 amdd.8 amdump.8 amflush.8 amgetconf.8 amlabel.8 ammt.8 amoverview.8 amplot.8 amreport.8 amrecover.8 amrestore.8 amrmtape.8 amstatus.8 amtape.8 amtapetype.8 amtoc.8 amverify.8 amverifyrun.8
+EXTRA_DIST = amadmin.8 amanda.8 amanda.conf.5 amcheck.8 amcheckdb.8 amcleanup.8 amdd.8 amdump.8 amflush.8 amgetconf.8 amlabel.8 ammt.8 amoverview.8 amplot.8 amreport.8 amrecover.8 amrestore.8 amrmtape.8 amstatus.8 amtape.8 amtapetype.8 amtoc.8 amverify.8 amverifyrun.8
 
 man_MANS = $(AMPLOT_MAN_PAGES) \
           $(COMMON_MAN_PAGES) \
index 81f391d08efbf2742f6455684d1e8b699743b6fe..906df072cb205fb597c7b8e802e2e58a233f5c12 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -34,7 +34,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = man
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -47,8 +49,9 @@ CONFIG_HEADER = $(top_builddir)/config/config.h
 CONFIG_CLEAN_FILES =
 SOURCES =
 DIST_SOURCES =
+man5dir = $(mandir)/man5
+am__installdirs = "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"
 man8dir = $(mandir)/man8
-am__installdirs = "$(DESTDIR)$(man8dir)"
 NROFF = nroff
 MANS = $(man_MANS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -209,6 +212,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -242,7 +247,7 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 @WANT_AMPLOT_TRUE@AMPLOT_MAN_PAGES = amplot.8
-COMMON_MAN_PAGES = amanda.8
+COMMON_MAN_PAGES = amanda.8 amanda.conf.5
 @WANT_SERVER_TRUE@SERVER_MAN_PAGES = amadmin.8 \
 @WANT_SERVER_TRUE@                amcheck.8 \
 @WANT_SERVER_TRUE@                amcheckdb.8 \
@@ -267,7 +272,7 @@ COMMON_MAN_PAGES = amanda.8
 @WANT_RESTORE_TRUE@RESTORE_MAN_PAGES = amrestore.8
 
 # not autoconf-generated:
-EXTRA_DIST = amadmin.8 amanda.8 amcheck.8 amcheckdb.8 amcleanup.8 amdd.8 amdump.8 amflush.8 amgetconf.8 amlabel.8 ammt.8 amoverview.8 amplot.8 amreport.8 amrecover.8 amrestore.8 amrmtape.8 amstatus.8 amtape.8 amtapetype.8 amtoc.8 amverify.8 amverifyrun.8
+EXTRA_DIST = amadmin.8 amanda.8 amanda.conf.5 amcheck.8 amcheckdb.8 amcleanup.8 amdd.8 amdump.8 amflush.8 amgetconf.8 amlabel.8 ammt.8 amoverview.8 amplot.8 amreport.8 amrecover.8 amrestore.8 amrmtape.8 amstatus.8 amtape.8 amtapetype.8 amtoc.8 amverify.8 amverifyrun.8
 man_MANS = $(AMPLOT_MAN_PAGES) \
           $(COMMON_MAN_PAGES) \
           $(SERVER_MAN_PAGES) \
@@ -316,6 +321,51 @@ clean-libtool:
 distclean-libtool:
        -rm -f libtool
 uninstall-info-am:
+install-man5: $(man5_MANS) $(man_MANS)
+       @$(NORMAL_INSTALL)
+       test -z "$(man5dir)" || $(mkdir_p) "$(DESTDIR)$(man5dir)"
+       @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
+       l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+       for i in $$l2; do \
+         case "$$i" in \
+           *.5*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+         else file=$$i; fi; \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           5*) ;; \
+           *) ext='5' ;; \
+         esac; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed -e 's/^.*\///'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
+         $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst"; \
+       done
+uninstall-man5:
+       @$(NORMAL_UNINSTALL)
+       @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
+       l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+       for i in $$l2; do \
+         case "$$i" in \
+           *.5*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           5*) ;; \
+           *) ext='5' ;; \
+         esac; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed -e 's/^.*\///'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " rm -f '$(DESTDIR)$(man5dir)/$$inst'"; \
+         rm -f "$(DESTDIR)$(man5dir)/$$inst"; \
+       done
 install-man8: $(man8_MANS) $(man_MANS)
        @$(NORMAL_INSTALL)
        test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)"
@@ -399,7 +449,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(MANS)
 installdirs:
-       for dir in "$(DESTDIR)$(man8dir)"; do \
+       for dir in "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \
          test -z "$$dir" || $(mkdir_p) "$$dir"; \
        done
 install: install-am
@@ -421,7 +471,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -452,7 +502,7 @@ install-exec-am:
 
 install-info: install-info-am
 
-install-man: install-man8
+install-man: install-man5 install-man8
 
 installcheck-am:
 
@@ -474,18 +524,18 @@ ps-am:
 
 uninstall-am: uninstall-info-am uninstall-man
 
-uninstall-man: uninstall-man8
+uninstall-man: uninstall-man5 uninstall-man8
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
        distclean distclean-generic distclean-libtool distdir dvi \
        dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-exec install-exec-am \
-       install-info install-info-am install-man install-man8 \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am uninstall-info-am uninstall-man \
-       uninstall-man8
+       install-data install-data-am install-data-hook install-exec \
+       install-exec-am install-info install-info-am install-man \
+       install-man5 install-man8 install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+       uninstall-info-am uninstall-man uninstall-man5 uninstall-man8
 
 
 install-data-hook:
index edad7189d9cb6036ffd2a2a57da38b32d9557895..66359824f69e75e30cd2e8b44257e20d1e6791ac 100644 (file)
@@ -39,7 +39,7 @@ See the \fBamanda\fR(8) man page for more details about \fBAMANDA\fR\&.
 .SH "COMMANDS"
 
 .PP
-Commands that take a \fBhostname\fR [ \fBdisks\fR ] parameter pair operate on all disks in the \fBdisklist\fR for that \fBhostname\fR if no disks are specified\&. Where \fBhostname\fR is also marked as being optional, the command operates on all hosts and disks in the \fBdisklist\fR\&. Both \fBhostname\fR and \fBdisks\fR are special expressions, see the ``\fBHOST & DISK EXPRESSION\fR'' section of \fBamanda\fR(8) for a description\&.
+Commands that take a \fBhostname\fR [ \fBdisks\fR ] parameter pair operate on all disks in the \fBdisklist\fR for that \fBhostname\fR if no disks are specified\&. Where \fBhostname\fR is also marked as being optional, the command operates on all hosts and disks in the \fBdisklist\fR\&. Both \fBhostname\fR and \fBdisks\fR are special expressions, see the "HOST & DISK EXPRESSION" section of \fBamanda\fR(8) for a description\&.
 
 .TP
 \fBversion\fR
index f8e5c4d6524398ff03a7935993e81eee827b77dd..71af7ddd2abbe8106bb7868a9036a77a4940a308 100644 (file)
@@ -23,32 +23,50 @@ amanda \- Advanced Maryland Automatic Network Disk Archiver
 .SH "SYNOPSIS"
 .ad l
 .hy 0
-.HP 7
-\fBamdump\fR \fIconfig\fR
+.HP 8
+\fBamadmin\fR \fIconfig\fR \fIcommand\fR [\fIoptions\fR]
 .ad
 .hy
 .ad l
 .hy 0
 .HP 8
-\fBamflush\fR [\-f] \fIconfig\fR
+\fBamcheck\fR [\fIoptions\fR] \fIconfig\fR
 .ad
 .hy
 .ad l
 .hy 0
 .HP 10
-\fBamcleanup\fR \fIconfig\fR
+\fBamcheckdb\fR \fIconfig\fR
 .ad
 .hy
 .ad l
 .hy 0
 .HP 10
-\fBamrecover\fR [\fIconfig\fR] [\fIoptions\fR]
+\fBamcleanup\fR \fIconfig\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 5
+\fBamdd\fR [\fIoptions\fR]
+.ad
+.hy
+.ad l
+.hy 0
+.HP 7
+\fBamdump\fR \fIconfig\fR
+.ad
+.hy
+.ad l
+.hy 0
+.HP 8
+\fBamflush\fR [\-f] \fIconfig\fR
 .ad
 .hy
 .ad l
 .hy 0
 .HP 10
-\fBamrestore\fR [\fIoptions\fR] \fItapedevice\fR [\fIhostname\fR\ [\fIdiskname\fR]]
+\fBamgetconf\fR [\fIconfig\fR] \fIparameter\fR
 .ad
 .hy
 .ad l
@@ -59,56 +77,62 @@ amanda \- Advanced Maryland Automatic Network Disk Archiver
 .hy
 .ad l
 .hy 0
-.HP 8
-\fBamcheck\fR [\fIoptions\fR] \fIconfig\fR
+.HP 5
+\fBammt\fR [\fIoptions\fR]
 .ad
 .hy
 .ad l
 .hy 0
-.HP 8
-\fBamadmin\fR \fIconfig\fR \fIcommand\fR [\fIoptions\fR]
+.HP 11
+\fBamoverview\fR \fIconfig\fR [\fIoptions\fR]
 .ad
 .hy
 .ad l
 .hy 0
 .HP 7
-\fBamtape\fR \fIconfig\fR \fIcommand\fR [\fIoptions\fR]
+\fBamplot\fR [\fIoptions\fR] \fIamdump\-files\fR
 .ad
 .hy
 .ad l
 .hy 0
-.HP 9
-\fBamverify\fR \fIconfig\fR
+.HP 10
+\fBamrecover\fR [\fIconfig\fR] [\fIoptions\fR]
 .ad
 .hy
 .ad l
 .hy 0
 .HP 9
-\fBamrmtape\fR [\fIoptions\fR] \fIconfig\fR \fIlabel\fR
+\fBamreport\fR [\fIconfig\fR] [\fIoptions\fR]
+.ad
+.hy
+.ad l
+.hy 0
+.HP 10
+\fBamrestore\fR [\fIoptions\fR] \fItapedevice\fR [\fIhostname\fR\ [\fIdiskname\fR]]
 .ad
 .hy
 .ad l
 .hy 0
 .HP 9
-\fBamstatus\fR \fIconfig\fR [\fIoptions\fR]
+\fBamrmtape\fR [\fIoptions\fR] \fIconfig\fR \fIlabel\fR
 .ad
 .hy
 .ad l
 .hy 0
-.HP 11
-\fBamoverview\fR \fIconfig\fR [\fIoptions\fR]
+.HP 9
+\fBamstatus\fR \fIconfig\fR [\fIoptions\fR]
 .ad
 .hy
 .ad l
 .hy 0
 .HP 7
-\fBamplot\fR [\fIoptions\fR] \fIamdump\-files\fR
+\fBamtape\fR \fIconfig\fR \fIcommand\fR [\fIoptions\fR]
 .ad
 .hy
 .ad l
 .hy 0
-.HP 9
-\fBamreport\fR [\fIconfig\fR] [\fIoptions\fR]
+.HP 11
+\fBamtapetype\fR [\fIoptions\fR]
 .ad
 .hy
 .ad l
@@ -119,21 +143,21 @@ amanda \- Advanced Maryland Automatic Network Disk Archiver
 .hy
 .ad l
 .hy 0
-.HP 10
-\fBamcheckdb\fR \fIconfig\fR
+.HP 9
+\fBamverify\fR \fIconfig\fR
 .ad
 .hy
 .ad l
 .hy 0
-.HP 10
-\fBamgetconf\fR [\fIconfig\fR] \fIparameter\fR
+.HP 12
+\fBamverifyrun\fR \fIconfig\fR
 .ad
 .hy
 
 .SH "DESCRIPTION"
 
 .PP
-\fBAMANDA\fR is the ``\fBAdvanced Maryland Automatic Network Disk Archiver\fR''\&. This manual page gives an overview of the \fBAMANDA\fR commands and configuration files for quick reference\&.
+\fBAMANDA\fR is the "Advanced Maryland Automatic Network Disk Archiver"\&. This manual page gives an overview of the \fBAMANDA\fR commands and configuration files for quick reference\&.
 
 .PP
 Here are all the \fBAMANDA\fR commands\&. Each one has its own manual page\&. See them for all the gory details\&.
@@ -210,743 +234,41 @@ Verify every tape \fBAMANDA\fR knows about is consistent in the database\&.
 \fBamgetconf\fR
 Look up parameters in the \fBAMANDA\fR configuration file\&.
 
-.SH "CONFIGURATION"
-
-.PP
-There are three user\-editable files that control the behavior of \fBAMANDA\fR\&. The first is \fBamanda\&.conf\fR, the main configuration file\&. It contains parameters to customize \fBAMANDA\fR for the site\&. Second is the \fBdisklist\fR file, which lists hosts and disk partitions to back up\&. Third is the \fBtapelist\fR file, which lists tapes that are currently active\&. These files are described in more detail in the following sections\&.
-
-.PP
-All files are stored in individual configuration directories under \fI/usr/local/etc/amanda/\fR\&. A site will often have more than one configuration\&. For example, it might have a \fBnormal\fR configuration for everyday backups and an \fBarchive\fR configuration for infrequent full archival backups\&. The configuration files would be stored under directories \fI/usr/local/etc/amanda/normal/\fR and \fI/usr/local/etc/amanda/archive/\fR, respectively\&. Part of the job of an \fBAMANDA\fR administrator is to create, populate and maintain these directories\&.
-
-.PP
-All log and database files generated by \fBAMANDA\fR go in corresponding directories somewhere\&. The exact location is controlled by entries in \fBamanda\&.conf\fR\&. A typical location would be under \fI/var/adm/amanda\fR\&. For the above example, the files might go in \fI/var/adm/amanda/normal/\fR and \fI/var/adm/amanda/archive/\fR\&.
-
-.PP
-As log files are no longer needed (no longer contain relevant information), \fBAMANDA\fR cycles them out in various ways, depending on the type of file\&.
-
-.PP
-Detailed information about \fBamdump\fR runs are stored in files named \fBamdump\&.\fR\fBNN\fR where \fBNN\fR is a sequence number, with 1 being the most recent file\&. \fBAmdump\fR rotates these files each run, keeping roughly the last \fBtapecycle\fR (see below) worth of them\&.
-
-.PP
-The file used by \fBamreport\fR to generate the mail summary is named \fBlog\&.\fR\fBYYYYMMDD\&.NN\fR where \fBYYYYMMDD\fR is the datestamp of the start of the \fBamdump\fR run and \fBNN\fR is a sequence number started at 0\&. At the end of each \fBamdump\fR run, log files for runs whose tapes have been reused are renamed into a subdirectory of the main log directory (see the \fBlogdir\fR parameter below) named \fBoldlog\fR\&. It is up to the \fBAMANDA\fR administrator to remove them from this directory when desired\&.
-
-.PP
-Index (backup image catalogue) files older than the full dump matching the oldest backup image for a given client and disk are removed by \fBamdump\fR at the end of each run\&.
-
-.SH "CONFIG FILE PARAMETERS"
-
-.PP
-There are a number of configuration parameters that control the behavior of the \fBAMANDA\fR programs\&. All have default values, so you need not specify the parameter in \fBamanda\&.conf\fR if the default is suitable\&.
-
-.PP
-Lines starting with # are ignored, as are blank lines\&. Comments may be placed on a line with a directive by starting the comment with a #\&. The remainder of the line is ignored\&.
-
-.PP
-Keywords are case insensitive, i\&.e\&. \fBmailto\fR and \fBMailTo\fR are treated the same\&.
-
-.PP
-Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
-
-.TP
-\fBb byte bytes\fR
-Some number of bytes\&.
-
-.TP
-\fBbps\fR
-Some number of bytes per second\&.
-
-.TP
-\fBk kb kbyte kbytes kilobyte kilobytes\fR
-Some number of kilobytes (bytes*1024)\&.
-
-.TP
-\fBkps kbps\fR
-Some number of kilobytes per second (bytes*1024)\&.
-
-.TP
-\fBm mb meg mbyte mbytes megabyte megabytes\fR
-Some number of megabytes (bytes*1024*1024)\&.
-
-.TP
-\fBmps mbps\fR
-Some number of megabytes per second (bytes*1024*1024)\&.
-
-.TP
-\fBg gb gbyte gbytes gigabyte gigabytes\fR
-Some number of gigabytes (bytes*1024*1024*1024)\&.
-
-.TP
-\fBtape tapes\fR
-Some number of tapes\&.
-
-.TP
-\fBday days\fR
-Some number of days\&.
-
-.TP
-\fBweek weeks\fR
-Some number of weeks (days*7)\&.
-
- .RS .Sh "Note" The value \fBinf\fR may be used in most places where an integer is expected to mean an infinite amount\&. Boolean arguments may have any of the values \fBy\fR, \fByes\fR, \fBt\fR, \fBtrue\fR or \fBon\fR to indicate a true state, or \fBn\fR, \fBno\fR, \fBf\fR, \fBfalse\fR or \fBoff\fR to indicate a false state\&. If no argument is given, \fBtrue\fR is assumed\&. .RE 
-
-.TP
-\fBorg\fR \fB string\fR
-Default: \fBdaily\fR\&. A descriptive name for the configuration\&. This string appears in the Subject line of mail reports\&. Each \fBAMANDA\fR configuration should have a different string to keep mail reports distinct\&.
-
-.TP
-\fBmailto\fR \fB string\fR
-Default: \fBoperators\fR\&. A space separated list of recipients for mail reports\&.
-
-.TP
-\fBdumpcycle\fR \fB int\fR
-Default: \fB10 days\fR\&. The number of days in the backup cycle\&. Each disk will get a full backup at least this often\&. Setting this to zero tries to do a full backup each run\&.
-
- .RS .Sh "Note" This parameter may also be set in a specific \fBdumptype\fR (see below)\&. This value sets the default for all \fBdumptype\fRs so must appear in \fBamanda\&.conf\fR before any \fBdumptype\fRs are defined\&. .RE 
-
-.TP
-\fBrunspercycle\fR \fB int\fR
-Default: \fBsame as dumpcycle\fR\&. The number of amdump runs in \fBdumpcycle\fR days\&. A value of 0 means the same value as \fBdumpcycle\fR\&. A value of \-1 means guess the number of runs from the \fBtapelist\fR file, which is the number of tapes used in the last \fBdumpcycle\fR days / \fBruntapes\fR\&.
-
-.TP
-\fBtapecycle\fR \fB int\fR
-Default: \fB15 tapes\fR\&. Typically tapes are used by \fBAMANDA\fR in an ordered rotation\&. The \fBtapecycle\fR parameter defines the size of that rotation\&. The number of tapes in rotation must be larger than the number of tapes required for a complete dump cycle (see the \fBdumpcycle\fR parameter)\&.
-
-This is calculated by multiplying the number of \fBamdump\fR runs per dump cycle (\fBrunspercycle\fR parameter) times the number of tapes used per run (\fBruntapes\fR parameter)\&. Typically two to four times this calculated number of tapes are in rotation\&. While \fBAMANDA\fR is always willing to use a new tape in its rotation, it refuses to reuse a tape until at least '\fBtapecycle\fR \-1' number of other tapes have been used\&.
-
-It is considered good administrative practice to set the \fBtapecycle\fR parameter slightly lower than the actual number of tapes in rotation\&. This allows the administrator to more easily cope with damaged or misplaced tapes or schedule adjustments that call for slight adjustments in the rotation order\&.
-
-.TP
-\fBdumpuser\fR \fB string\fR
-Default: \fBamanda\fR\&. The login name \fBAMANDA\fR uses to run the backups\&. The backup client hosts must allow access from the tape server host as this user via \&.rhosts or \&.amandahosts, depending on how the \fBAMANDA\fR software was built\&.
-
-.TP
-\fBprinter\fR string
-Printer to use when doing tape labels\&. See the \fBlbl\-templ\fR  \fBtapetype\fR option\&.
-
-.TP
-\fBtapedev\fR string
-Default: \fI/dev/nst0\fR\&. The path name of the non\-rewinding tape device\&. Non\-rewinding tape device names often have an 'n' in the name, e\&.g\&. \fI/dev/rmt/0mn\fR, however this is operating system specific and you should consult that documentation for detailed naming information\&.
-
-If a tape changer is configured (see the \fBtpchanger\fR option), this option might not be used\&.
-
-If the \fBnull\fR output driver is selected (see the OUTPUT DRIVERS section later for more information), programs such as \fBamdump\fR will run normally but all images will be thrown away\&. This should only be used for debugging and testing, and probably only with the \fBrecord\fR option set to \fBno\fR\&.
-
-.TP
-\fBrawtapedev\fR string
-Default: \fI/dev/null\fR\&. The path name of the raw tape device\&. This is only used if \fBAMANDA\fR is compiled for Linux machines with floppy tapes and is needed for QIC volume table operations\&.
-
-.TP
-\fBtpchanger\fR string
-Default: \fBnone\fR\&. The name of the tape changer\&. If a tape changer is not configured, this option is not used and should be commented out of the configuration file\&.
-
-If a tape changer is configured, choose one of the changer scripts (e\&.g\&. \fBchg\-scsi\fR) and enter that here\&.
-
-.TP
-\fBchangerdev\fR string
-Default: \fI/dev/null\fR\&. A tape changer configuration parameter\&. Usage depends on the particular changer defined with the \fBtpchanger\fR option\&.
-
-.TP
-\fBchangerfile\fR string
-Default: \fI/usr/adm/amanda/log/changer\-status\fR\&. A tape changer configuration parameter\&. Usage depends on the particular changer defined with the \fBtpchanger\fR option\&.
-
-.TP
-\fBruntapes\fR int
-Default: 1\&. The maximum number of tapes used in a single run\&. If a tape changer is not configured, this option is not used and should be commented out of the configuration file\&.
-
-If a tape changer is configured, this may be set larger than one to let \fBAMANDA\fR write to more than one tape\&.
-
-Note that this is an upper bound on the number of tapes, and \fBAMANDA\fR may use less\&.
-
-Also note that as of this release, \fBAMANDA\fR does not support true tape overflow\&. When it reaches the end of one tape, the backup image \fBAMANDA\fR was processing starts over again on the next tape\&.
-
-.TP
-\fBmaxdumpsize\fR int
-Default: \fBruntapes\fR*\fBtape_length\fR\&. Maximum number of bytes the planner will schedule for a run\&.
-
-.TP
-\fBtaperalgo\fR [first|firstfit|largest|largestfit|smallest|last]
-Default: \fBfirst\fR\&. The algorithm used to choose which dump image to send to the taper\&.
-
-.RS
-
-.TP
-\fBfirst\fR
-First in, first out\&.
-
-.TP
-\fBfirstfit\fR
-The first dump image that will fit on the current tape\&.
-
-.TP
-\fBlargest\fR
-The largest dump image\&.
-
-.TP
-\fBlargestfit\fR
-The largest dump image that will fit on the current tape\&.
-
-.TP
-\fBsmallest\fR
-The smallest dump image\&.
-
-.TP
-\fBlast\fR
-Last in, first out\&.
-
-.RE
-.IP
-
-.TP
-\fBlabelstr\fR \fB string\fR
-Default: \fB\&.*\fR\&. The tape label constraint regular expression\&. All tape labels generated (see \fBamlabel(8)\fR) and used by this configuration must match the regular expression\&. If multiple configurations are run from the same tape server host, it is helpful to set their labels to different strings (for example, ``\fBDAILY[0\-9][0\-9]*\fR'' vs\&. ``\fBARCHIVE[0\-9][0\-9]*\fR'') to avoid overwriting each other's tapes\&.
-
-.TP
-\fBtapetype\fR \fB string\fR
-Default: \fBEXABYTE\fR\&. The type of tape drive associated with \fBtapedev\fR or \fBtpchanger\fR\&. This refers to one of the defined \fBtapetype\fRs in the config file (see below), which specify various tape parameters, like the \fBlength\fR, \fBfilemark\fR size, and \fBspeed\fR of the tape media and device\&.
-
-.TP
-\fBctimeout\fR int
-Default: \fB30 seconds\fR\&. Maximum amount of time that \fBamcheck\fR will wait for each client host\&.
-
-.TP
-\fBdtimeout\fR int
-Default: \fB1800 seconds\fR\&. Amount of idle time per disk on a given client that a \fBdumper\fR running from within \fBamdump\fR will wait before it fails with a data timeout error\&.
-
-.TP
-\fBetimeout\fR int
-Default: \fB300 seconds\fR\&. Amount of time per disk on a given client that the \fBplanner\fR step of \fBamdump\fR will wait to get the dump size estimates\&. For instance, with the default of 300 seconds and four disks on client A, \fBplanner\fR will wait up to 20 minutes for that machine\&. A negative value will be interpreted as a total amount of time to wait per client instead of per disk\&.
-
-.TP
-\fBnetusage\fR int
-Default: \fB300 Kbps\fR\&. The maximum network bandwidth allocated to \fBAMANDA\fR, in Kbytes per second\&. See also the \fBinterface\fR section\&.
-
-.TP
-\fBinparallel\fR int
-Default: 10\&. The maximum number of backups that \fBAMANDA\fR will attempt to run in parallel\&. \fBAMANDA\fR will stay within the constraints of network bandwidth and holding disk space available, so it doesn't hurt to set this number a bit high\&. Some contention can occur with larger numbers of backups, but this effect is relatively small on most systems\&.
-
-.TP
-\fBdisplayunit\fR "k|m|g|t"
-Default: "k"\&. The unit used to print many numbers, k=kilo, m=mega, g=giga, t=tera\&.
-
-.TP
-\fBdumporder\fR string
-Default: \fBtttTTTTTTT\fR\&. The priority order of each dumper:
-
-.RS
-.TP 3
-\(bu
-s: smallest size
-.TP
-\(bu
-S: largest size
-.TP
-\(bu
-t: smallest time
-.TP
-\(bu
-T: largest time
-.TP
-\(bu
-b: smallest bandwidth
-.TP
-\(bu
-B: largest bandwidth
-.LP
-.RE
-.IP
-
-.TP
-\fBmaxdumps\fR int
-Default: 1\&. The maximum number of backups from a single host that \fBAMANDA\fR will attempt to run in parallel\&. See also the \fBinparallel\fR option\&.
-
-Note that this parameter may also be set in a specific \fBdumptype\fR (see below)\&. This value sets the default for all \fBdumptype\fRs so must appear in \fBamanda\&.conf\fR before any \fBdumptype\fRs are defined\&.
-
-.TP
-\fBbumpsize\fR int
-Default: \fB10 Mbytes\fR\&. The minimum savings required to trigger an automatic bump from one incremental level to the next\&. If \fBAMANDA\fR determines that the next higher backup level will be this much smaller than the current level, it will do the next level\&. See also the \fBbumpmult\fR option\&.
-
-.TP
-\fBbumpmult\fR \fB float\fR
-Default: 1\&.5\&. The bump size multiplier\&. \fBAMANDA\fR multiplies \fBbumpsize\fR by this factor for each level\&. This prevents active filesystems from bumping too much by making it harder to bump to the next level\&. For example, with the default \fBbumpsize\fR and \fBbumpmult\fR set to 2\&.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on\&.
-
-.TP
-\fBbumpdays\fR \fB int\fR
-Default: \fB2 days\fR\&. To insure redundancy in the dumps, \fBAMANDA\fR keeps filesystems at the same incremental level for at least \fBbumpdays\fR days, even if the other bump threshold criteria are met\&.
-
-.TP
-\fBdiskfile\fR \fB string\fR
-Default: \fBdisklist\fR\&. The file name for the \fBdisklist\fR file holding client hosts, disks and other client dumping information\&.
-
 .TP
-\fBinfofile\fR \fB string\fR
-Default: \fI/usr/adm/amanda/curinfo\fR\&. The file or directory name for the historical information database\&. If \fBAMANDA\fR was configured to use DBM databases, this is the base file name for them\&. If it was configured to use text formated databases (the default), this is the base directory and within here will be a directory per client, then a directory per disk, then a text file of data\&.
+\fBamtapetype\fR
+Generate a tapetype definition\&.
 
-.TP
-\fBlogdir\fR \fB string\fR
-Default: \fI/usr/adm/amanda\fR\&. The directory for the \fBamdump\fR and \fBlog\fR files\&.
-
-.TP
-\fBindexdir\fR \fB string\fR
-Default \fI/usr/adm/amanda/index\fR\&. The directory where index files (backup image catalogues) are stored\&. Index files are only generated for filesystems whose \fBdumptype\fR has the \fBindex\fR option enabled\&.
-
-.TP
-\fBtapelist\fR \fB string\fR
-Default: \fBtapelist\fR\&. The file name for the active \fBtapelist\fR file\&. \fBAMANDA\fR maintains this file with information about the active set of tapes\&.
-
-.TP
-\fBtapebufs\fR \fB int\fR
-Default: 20\&. The number of buffers used by the \fBtaper\fR process run by \fBamdump\fR and \fBamflush\fR to hold data as it is read from the network or disk before it is written to tape\&. Each buffer is a little larger than 32 KBytes and is held in a shared memory region\&.
-
-.TP
-\fBreserve\fR \fB number\fR
-Default: 100\&. The part of holding\-disk space that should be reserved for incremental backups if no tape is available, expressed as a percentage of the available holding\-disk space (0\-100)\&. By default, when there is no tape to write to, degraded mode (incremental) backups will be performed to the holding disk\&. If full backups should also be allowed in this case, the amount of holding disk space reserved for incrementals should be lowered\&.
-
-.TP
-\fBautoflush\fR \fB bool\fR
-Default: \fBoff\fR\&. Whether an amdump run will flush the dump already on holding disk to tape\&.
-
-.TP
-\fBamrecover_do_fsf\fR \fB bool\fR
-Default: \fBoff\fR\&. Amrecover will call amrestore with the \-f flag for faster positioning of the tape\&.
-
-.TP
-\fBamrecover_check_label\fR \fB bool\fR
-Default: \fBoff\fR\&. Amrecover will call amrestore with the \-l flag to check the label\&.
-
-.TP
-\fBamrecover_changer\fR \fB string\fR
-Default: ''\&. Amrecover will use the changer if you use 'settape <string>' and that string is the same as the amrecover_changer setting\&.
-
-.TP
-\fBcolumnspec\fR \fB string\fR
-Defines the width of columns \fBamreport\fR should use\&. \fBString\fR is a comma (',') separated list of triples\&. Each triple consists of three parts which are separated by a equal sign ('=') and a colon (':') (see the example)\&. These three parts specify:
-
-
-.RS
-.TP 3
-\(bu
-the name of the column, which may be:
-
-.RS
-.TP 3
-\(bu
-Compress (compression ratio)
-.TP
-\(bu
-Disk (client disk name)
-.TP
-\(bu
-DumpRate (dump rate in KBytes/sec)
-.TP
-\(bu
-DumpTime (total dump time in hours:minutes)
-.TP
-\(bu
-HostName (client host name)
-.TP
-\(bu
-Level (dump level)
-.TP
-\(bu
-OrigKB (original image size in KBytes)
-.TP
-\(bu
-OutKB (output image size in KBytes)
-.TP
-\(bu
-TapeRate (tape writing rate in KBytes/sec)
-.TP
-\(bu
-TapeTime (total tape time in hours:minutes)
-.LP
-.RE
-.IP
-.TP
-\(bu
-the amount of space to display before the column (used to get whitespace between columns)\&.
-.TP
-\(bu
-the width of the column itself\&. If set to a negative value, the width will be calculated on demand to fit the largest entry in this column\&.
-.LP
-.RE
-.IP
-Here is an example:
-
-.nf
-
-columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
-.fi
-The above will display the disk information in 18 characters and put one space before it\&. The hostname column will be 10 characters wide with no space to the left\&. The output KBytes column is seven characters wide with one space before it\&.
-
-.TP
-\fBincludefile\fR \fB string\fR
-Default: \fBnone\fR\&. The name of an \fBAMANDA\fR configuration file to include within the current file\&. Useful for sharing dumptypes, tapetypes and interface definitions among several configurations\&.
-
-.SH "HOLDINGDISK SECTION"
-
-.PP
-The \fBamanda\&.conf\fR file may define one or more holding disks used as buffers to hold backup images before they are written to tape\&. The syntax is:
-.nf
-
-holdingdisk \fBname\fR {
-    \fBholdingdisk\-option\fR \fBholdingdisk\-value\fR
-    \&.\&.\&.
-}
-.fi
-
-.PP
-\fBName\fR is a logical name for this holding disk\&.
-
-.PP
-The options and values are:
-
-.TP
-\fBcomment\fR \fB string\fR
-Default: \fBnone\fR\&. A comment string describing this holding disk\&.
-
-.TP
-\fBdirectory\fR \fB disk\fR
-Default: \fI/dumps/amanda\fR\&. The path to this holding area\&.
-
-.TP
-\fBuse\fR \fB int\fR
-Default: \fB0 Gb\fR\&. Amount of space that can be used in this holding disk area\&. If the value is zero, all available space on the file system is used\&. If the value is negative, \fBAMANDA\fR will use all available space minus that value\&.
-
-.TP
-\fBchunksize\fR \fB int\fR
-Default: \fB1 Gb\fR\&. Holding disk chunk size\&. Dumps larger than the specified size will be stored in multiple holding disk files\&. The size of each chunk will not exceed the specified value\&. However, even though dump images are split in the holding disk, they are concatenated as they are written to tape, so each dump image still corresponds to a single continuous tape section\&.
-
-If 0 is specified, \fBAMANDA\fR will create holding disk chunks as large as ((INT_MAX/1024)\-64) Kbytes\&.
-
-Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk size is 64 Kbytes (but that would be really silly)\&.
-
-Operating systems that are limited to a maximum file size of 2 Gbytes actually cannot handle files that large\&. They must be at least one byte less than 2 Gbytes\&. Since \fBAMANDA\fR works with 32 Kbyte blocks, and to handle the final read at the end of the chunk, the chunk size should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size, e\&.g\&. 2047 Mbytes\&.
-
-.SH "DUMPTYPE SECTION"
-
-.PP
-The \fBamanda\&.conf\fR file may define multiple sets of backup options and refer to them by name from the \fBdisklist\fR file\&. For instance, one set of options might be defined for file systems that can benefit from high compression, another set that does not compress well, another set for file systems that should always get a full backup and so on\&.
-
-.PP
-A set of backup options are entered in a \fBdumptype\fR section, which looks like this:
-.nf
-
-define dumptype \fBname\fR {
-    \fBdumptype\-option\fR \fBdumptype\-value\fR
-    \&.\&.\&.
-}
-.fi
-
-.PP
-\fBName\fR is the name of this set of backup options\&. It is referenced from the \fBdisklist\fR file\&.
-
-.PP
-Some of the options in a \fBdumptype\fR section are the same as those in the main part of \fBamanda\&.conf\fR\&. The main option value is used to set the default for all \fBdumptype\fR sections\&. For instance, setting \fBdumpcycle\fR to 50 in the main part of the config file causes all following \fBdumptype\fR sections to start with that value, but the value may be changed on a section by section basis\&. Changes to variables in the main part of the config file must be done before (earlier in the file) any \fBdumptype\fRs are defined\&.
-
-.PP
-The dumptype options and values are:
-
-.TP
-\fBauth\fR \fB string\fR
-Default: \fBbsd\fR\&. Type of authorization to perform between tape server and backup client hosts\&. May be \fBkrb4\fR to use Kerberos\-IV authorization\&.
-
-.TP
-\fBcomment\fR \fB string\fR
-Default: \fBnone\fR\&. A comment string describing this set of backup options\&.
-
-.TP
-\fBcomprate\fR \fBfloat\fR [, \fBfloat\fR ]
-Default: 0\&.50, 0\&.50\&. The expected full and incremental compression factor for dumps\&. It is only used if \fBAMANDA\fR does not have any history information on compression rates for a filesystem, so should not usually need to be set\&. However, it may be useful for the first time a very large filesystem that compresses very little is backed up\&.
-
-.TP
-\fBcompress [client|server]\fR \fB string\fR
-Default: \fBclient fast\fR\&. If \fBAMANDA\fR does compression of the backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape\&. Which place to do compression (if at all) depends on how well the dump image usually compresses, the speed and load on the client or server, network capacity, holding disk capacity, availability of tape hardware compression, etc\&.
-
-For either type of compression, \fBAMANDA\fR also allows the selection of two styles of compression\&. \fBBest\fR is the best compression available, often at the expense of CPU overhead\&. \fBFast\fR is often not as good a compression as \fBbest\fR, but usually less CPU overhead\&.
-
-So the \fBcompress\fR options line may be one of:
-
-
-.RS
-.TP 3
-\(bu
-compress none
-.TP
-\(bu
-compress [client] fast
-.TP
-\(bu
-compress [client] best
-.TP
-\(bu
-compress server fast
-.TP
-\(bu
-compress server best
-.LP
-.RE
-.IP
-Note that some tape devices do compression and this option has nothing to do with whether that is used\&. If hardware compression is used (usually via a particular tape device name or \fBmt\fR option), \fBAMANDA\fR (software) compression should be disabled\&.
-
-.TP
-\fBdumpcycle\fR \fB int\fR
-Default: \fB10 days\fR\&. The number of days in the backup cycle\&. Each disk using this set of options will get a full backup at least this often\&. Setting this to zero tries to do a full backup each run\&.
-
-.TP
-\fBexclude\fR [ \fBlist|file\fR ][[optional][ \fBappend\fR ][ \fB string\fR ]+]
-Default: \fBfile\fR\&. There are two exclude lists, \fBexclude file\fR and \fBexclude list\&.\fR With \fBexclude file\fR , the \fBstring\fR is a \fBGNU\-tar\fR exclude expression\&. With \fBexclude list\fR , the \fBstring\fR is a file name on the client containing \fBGNU\-tar\fR exclude expressions\&.
-
-All exclude expressions are concatenated in one file and passed to \fBGNU\-tar\fR as an \fB\-\-exclude\-from\fR argument\&.
-
-With the \fBappend\fR keyword, the \fBstring\fR is appended to the current list, without it, the \fBstring\fR overwrites the list\&.
-
-If \fBoptional\fR is specified for \fBexclude list\fR, then amcheck will not complain if the file doesn't exist or is not readable\&.
-
-For \fBexclude list\fR, if the file name is relative, the disk name being backed up is prepended\&. So if this is entered:
-
-.nf
-
-    exclude list ``\fB\&.amanda\&.excludes\fR''
-.fi
-the actual file used would be \fI/var/\&.amanda\&.excludes\fR for a backup of \fI/var\fR, \fI/usr/local/\&.amanda\&.excludes\fR for a backup of \fI/usr/local\fR, and so on\&.
-
-.TP
-\fBholdingdisk\fR \fB boolean\fR
-Default: \fByes\fR\&. Whether a holding disk should be used for these backups or whether they should go directly to tape\&. If the holding disk is a portion of another file system that \fBAMANDA\fR is backing up, that file system should refer to a dumptype with \fBholdingdisk\fR set to \fBno\fR to avoid backing up the holding disk into itself\&.
-
-.TP
-\fBignore\fR \fB boolean\fR
-Default: \fBno\fR\&. Whether disks associated with this backup type should be backed up or not\&. This option is useful when the \fBdisklist\fR file is shared among several configurations, some of which should not back up all the listed file systems\&.
-
-.TP
-\fBinclude\fR [ \fBlist|file\fR ][[optional][ \fBappend\fR ][ \fB string\fR ]+]
-Default: \fBfile\fR "\&."\&. There are two include lists, \fBinclude file\fR and \fBinclude list\&.\fR With \fBinclude file\fR , the \fBstring\fR is a glob expression\&. With \fBinclude list\fR , the \fBstring\fR is a file name on the client containing glob expressions\&.
-
-All include expressions are expanded by \fBAMANDA\fR, concatenated in one file and passed to \fBGNU\-tar\fR as a \fB\-\-files\-from\fR argument\&. They must start with "\&./" and contain no other "/"\&.
-
-With the \fBappend\fR keyword, the \fBstring\fR is appended to the current list, without it, the \fBstring\fR overwrites the list\&.
-
-If \fBoptional\fR is specified for \fBinclude list,\fR then amcheck will not complain if the file doesn't exist or is not readable\&.
-
-For \fBinclude list\fR, If the file name is relative, the disk name being backed up is prepended\&.
-
-.TP
-\fBindex\fR \fB boolean\fR
-Default: \fBno\fR\&. Whether an index (catalogue) of the backup should be generated and saved in \fBindexdir\fR\&. These catalogues are used by the \fBamrecover\fR utility\&.
-
-.TP
-\fBkencrypt\fR \fB boolean\fR
-Default: \fBno\fR\&. Whether the backup image should be encrypted by Kerberos as it is sent across the network from the backup client host to the tape server host\&.
-
-.TP
-\fBmaxdumps\fR \fB int\fR
-Default: 1\&. The maximum number of backups from a single host that \fBAMANDA\fR will attempt to run in parallel\&. See also the main section parameter \fBinparallel\fR\&.
-
-.TP
-\fBmaxpromoteday\fR \fB int\fR
-Default: 10000\&. The maximum number of day for a promotion, set it 0 if you don't want promotion, set it to 1 or 2 if your disks get overpromoted\&.
-
-.TP
-\fBpriority\fR \fB string\fR
-Default: \fBmedium\fR\&. When there is no tape to write to, \fBAMANDA\fR will do incremental backups in priority order to the holding disk\&. The priority may be high (2)\&. medium (1), low (0) or a number of your choice\&.
-
-.TP
-\fBprogram\fR \fB string\fR
-Default: \fBDUMP\fR\&. The type of backup to perform\&. Valid values are \fBDUMP\fR for the native operating system backup program, and \fBGNUTAR\fR to use \fBGNU\-tar\fR or to do PC backups using Samba\&.
-
-.TP
-\fBrecord\fR \fB boolean\fR
-Default: \fByes\fR\&. Whether to ask the backup program to update its database (e\&.g\&. \fI/etc/dumpdates\fR for DUMP or \fI/usr/local/var/amanda/gnutar\-lists\fR for GNUTAR) of time stamps\&. This is normally enabled for daily backups and turned off for periodic archival runs\&.
-
-.TP
-\fBskip\-full\fR \fB boolean\fR
-Default: \fBno\fR\&. If \fBtrue\fR and \fBplanner\fR has scheduled a full backup, these disks will be skipped, and full backups should be run off\-line on these days\&. It was reported that \fBAMANDA\fR only schedules level 1 incrementals in this configuration; this is probably a bug\&.
-
-.TP
-\fBskip\-incr\fR \fB boolean\fR
-Default: \fBno\fR\&. If \fBtrue\fR and \fBplanner\fR has scheduled an incremental backup, these disks will be skipped\&.
-
-.TP
-\fBstarttime\fR \fB int\fR
-Default: \fBnone\fR\&. Backups will not start until after this time of day\&. The value should be hh*100+mm, e\&.g\&. 6:30PM (18:30) would be entered as 1830\&.
-
-.TP
-\fBstrategy\fR \fB string\fR
-Default: \fBstandard\fR\&. Strategy to use when planning what level of backup to run next\&. Values are:
-
-.TP
-\fBstandard\fR
-The standard \fBAMANDA\fR schedule\&.
-
-.TP
-\fBnofull\fR
-Never do full backups, only level 1 incrementals\&.
-
-.TP
-\fBnoinc\fR
-Never do incremental backups, only full dumps\&.
-
-.TP
-\fBskip\fR
-Never do backups (useful when sharing the \fBdisklist\fR file)\&.
-
-.TP
-\fBincronly\fR
-Only do incremental dumps\&. \fBamadmin force\fR should be used to tell \fBAMANDA\fR that a full dump has been performed off\-line, so that it resets to level 1\&. It is similar to skip\-full, but with incronly full dumps may be scheduled manually\&. Unfortunately, it appears that \fBAMANDA\fR will perform full backups with this configuration, which is probably a bug\&.
-
-.PP
-The following \fBdumptype\fR entries are predefined by \fBAMANDA\fR:
-.nf
-
-define dumptype no\-compress {
-    compress none
-}
-define dumptype compress\-fast {
-    compress client fast
-}
-define dumptype compress\-best {
-    compress client best
-}
-define dumptype srvcompress {
-    compress server fast
-}
-define dumptype bsd\-auth {
-    auth bsd
-}
-define dumptype krb4\-auth {
-    auth krb4
-}
-define dumptype no\-record {
-    record no
-}
-define dumptype no\-hold {
-    holdingdisk no
-}
-define dumptype no\-full {
-    skip\-full yes
-} 
-.fi
-
-.PP
-In addition to options in a \fBdumptype\fR section, one or more other \fBdumptype\fR names may be entered, which make this \fBdumptype\fR inherit options from other previously defined \fBdumptype\fRs\&. For instance, two sections might be the same except for the \fBrecord\fR option:
-.nf
-
-define dumptype normal {
-    comment "Normal backup, no compression, do indexing"
-    no\-compress
-    index yes
-    maxdumps 2
-}
-define dumptype testing {
-    comment "Test backup, no compression, do indexing, no recording"
-    normal
-    record no
-}
-.fi
+.SH "CONFIGURATION"
 
 .PP
-\fBAMANDA\fR provides a \fBdumptype\fR named \fBglobal\fR in the sample \fBamanda\&.conf\fR file that all \fBdumptype\fRs should reference\&. This provides an easy place to make changes that will affect every \fBdumptype\fR\&.
-
-.SH "TAPETYPE SECTION"
+There are three user\-editable files that control the behavior of \fBAMANDA\fR\&.
 
 .PP
-The \fBamanda\&.conf\fR file may define multiple types of tape media and devices\&. The information is entered in a \fBtapetype\fR section, which looks like this in the config file:
-.nf
-
-define tapetype \fBname\fR {
-    \fBtapetype\-option\fR \fBtapetype\-value\fR
-    \&.\&.\&.
-}
-.fi
+The first is \fBamanda\&.conf\fR, the main configuration file\&. It contains parameters to customize \fBAMANDA\fR for the site\&. Refer to the \fBamanda\&.conf\fR(5), manpage for details on \fBAMANDA\fR configuration parameters\&.
 
 .PP
-\fBName\fR is the name of this type of tape medium/device\&. It is referenced from the \fBtapetype\fR option in the main part of the config file\&.
+Second is the \fBdisklist\fR file, which lists hosts and disk partitions to back up\&.
 
 .PP
-The tapetype options and values are:
-
-.TP
-\fBcomment\fR \fB string\fR
-Default: \fBnone\fR\&. A comment string describing this set of tape information\&.
-
-.TP
-\fBfilemark\fR \fB int\fR
-Default: \fB1000 bytes\fR\&. How large a file mark (tape mark) is, measured in bytes\&. If the size is only known in some linear measurement (e\&.g\&. inches), convert it to bytes using the device density\&.
-
-.TP
-\fBlength\fR \fB int\fR
-Default: \fB2000 kbytes\fR\&. How much data will fit on a tape\&.
-
-Note that this value is only used by \fBAMANDA\fR to schedule which backups will be run\&. Once the backups start, \fBAMANDA\fR will continue to write to a tape until it gets an error, regardless of what value is entered for \fBlength\fR (but see the OUTPUT DRIVERS section later for exceptions)\&.
-
-.TP
-\fBblocksize\fR \fB int\fR
-Default: \fB32\fR\&. How much data will be written in each tape record expressed in KiloBytes\&. The tape record size (= blocksize) can not be reduced below the default 32 KBytes\&. The parameter blocksize can only be raised if \fBAMANDA\fR was compiled with the configure option \-\-with\-maxtapeblocksize=N set with "N" greater than 32 during \fBconfigure\fR\&.
-
-.TP
-\fBfile\-pad\fR \fB boolean\fR
-Default: \fBtrue\fR\&. If true, every record, including the last one in the file, will have the same length\&. This matches the way \fBAMANDA\fR wrote tapes prior to the availability of this parameter\&. It may also be useful on devices that only support a fixed blocksize\&.
-
-Note that the last record on the tape probably includes trailing null byte padding, which will be passed back to \fBgzip\fR, \fBcompress\fR or the restore program\&. Most programs just ignore this (although possibly with a warning)\&.
-
-If this parameter is false, the last record in a file may be shorter than the block size\&. The file will contain the same amount of data the dump program generated, without trailing null byte padding\&. When read, the same amount of data that was written will be returned\&.
-
-.TP
-\fBspeed\fR \fB int\fR
-Default: \fB200 bps\fR\&. How fast the drive will accept data, in bytes per second\&. This parameter is NOT currently used by \fBAMANDA\fR\&.
-
-.TP
-\fBlbl\-templ\fR \fB string\fR
-A PostScript template file used by \fBamreport\fR to generate labels\&. Several sample files are provided with the \fBAMANDA\fR sources in the \fBexample\fR directory\&. See the \fBamreport\fR(8) man page for more information\&.
+Third is the \fBtapelist\fR file, which lists tapes that are currently active\&. These files are described in more detail in the following sections\&.
 
 .PP
-In addition to options, another \fBtapetype\fR name may be entered, which makes this \fBtapetype\fR inherit options from another \fBtapetype\fR\&. For instance, the only difference between a DLT4000 tape drive using Compact\-III tapes and one using Compact\-IV tapes is the length of the tape\&. So they could be entered as:
-.nf
-
-define tapetype DLT4000\-III {
-    comment "DLT4000 tape drives with Compact\-III tapes"
-    length 12500 mbytes         # 10 Gig tapes with some compression
-    filemark 2000 kbytes
-    speed 1536 kps
-}
-define tapetype DLT4000\-IV {
-    DLT4000\-III
-    comment "DLT4000 tape drives with Compact\-IV tapes"
-    length 25000 mbytes         # 20 Gig tapes with some compression
-}
-.fi
-
-.SH "INTERFACE SECTION"
+All files are stored in individual configuration directories under \fI/usr/local/etc/amanda/\fR\&. A site will often have more than one configuration\&. For example, it might have a \fBnormal\fR configuration for everyday backups and an \fBarchive\fR configuration for infrequent full archival backups\&. The configuration files would be stored under directories \fI/usr/local/etc/amanda/normal/\fR and \fI/usr/local/etc/amanda/archive/\fR, respectively\&. Part of the job of an \fBAMANDA\fR administrator is to create, populate and maintain these directories\&.
 
 .PP
-The \fBamanda\&.conf\fR file may define multiple types of network interfaces\&. The information is entered in an \fBinterface\fR section, which looks like this:
-.nf
-
-define interface \fBname\fR {
-    \fBinterface\-option\fR \fBinterface\-value\fR
-    \&.\&.\&.
-}
-.fi
+All log and database files generated by \fBAMANDA\fR go in corresponding directories somewhere\&. The exact location is controlled by entries in \fBamanda\&.conf\fR\&. A typical location would be under \fI/var/adm/amanda\fR\&. For the above example, the files might go in \fI/var/adm/amanda/normal/\fR and \fI/var/adm/amanda/archive/\fR\&.
 
 .PP
-\fBname\fR is the name of this type of network interface\&. It is referenced from the \fBdisklist\fR file\&.
+As log files are no longer needed (no longer contain relevant information), \fBAMANDA\fR cycles them out in various ways, depending on the type of file\&.
 
 .PP
-Note that these sections define network interface characteristics, not the actual interface that will be used\&. Nor do they impose limits on the bandwidth that will actually be taken up by \fBAMANDA\fR\&. \fBAMANDA\fR computes the estimated bandwidth each file system backup will take based on the estimated size and time, then compares that plus any other running backups with the limit as another of the criteria when deciding whether to start the backup\&. Once a backup starts, \fBAMANDA\fR will use as much of the network as it can leaving throttling up to the operating system and network hardware\&.
+Detailed information about \fBamdump\fR runs are stored in files named \fBamdump\&.\fR\fBNN\fR where \fBNN\fR is a sequence number, with 1 being the most recent file\&. \fBAmdump\fR rotates these files each run, keeping roughly the last \fBtapecycle\fR (see below) worth of them\&.
 
 .PP
-The interface options and values are:
-
-.TP
-\fBcomment\fR \fB string\fR
-Default: \fBnone\fR\&. A comment string describing this set of network information\&.
-
-.TP
-\fBuse\fR \fB int\fR
-Default: \fB300 Kbps\fR\&. The speed of the interface in Kbytes per second\&.
+The file used by \fBamreport\fR to generate the mail summary is named \fBlog\&.\fR\fBYYYYMMDD\&.NN\fR where \fBYYYYMMDD\fR is the datestamp of the start of the \fBamdump\fR run and \fBNN\fR is a sequence number started at 0\&. At the end of each \fBamdump\fR run, log files for runs whose tapes have been reused are renamed into a subdirectory of the main log directory (see the \fBlogdir\fR parameter below) named \fBoldlog\fR\&. It is up to the \fBAMANDA\fR administrator to remove them from this directory when desired\&.
 
 .PP
-In addition to options, another \fBinterface\fR name may be entered, which makes this \fBinterface\fR inherit options from another \fBinterface\fR\&. At the moment, this is of little use\&.
+Index (backup image catalogue) files older than the full dump matching the oldest backup image for a given client and disk are removed by \fBamdump\fR at the end of each run\&.
 
 .SH "DISKLIST FILE"
 
@@ -1045,7 +367,7 @@ tapedev tape:/dev/rmt/0mn
 
 .TP
 \fBnull\fR
-This driver throws away anything written to it and returns EOF for any reads except a special case is made for reading a label, in which case a ``\fBfake\fR'' value is returned that \fBAMANDA\fR checks for and allows through regardless of what you have set in \fBlabelstr\fR\&. The \fBdriver\-info\fR field is not used and may be left blank:
+This driver throws away anything written to it and returns EOF for any reads except a special case is made for reading a label, in which case a "fake" value is returned that \fBAMANDA\fR checks for and allows through regardless of what you have set in \fBlabelstr\fR\&. The \fBdriver\-info\fR field is not used and may be left blank:
 
 
 .nf
@@ -1125,8 +447,7 @@ For Samba access, \fBAMANDA\fR needs a file on the Samba server (which may or ma
 .nf
 
   //some\-pc/home normalpw
-  //another\-pc/disk otheruser%otherpw
-  .fi
+  //another\-pc/disk otheruser%otherpw.fi
 With clear text passwords, this file should obviously be tightly protected\&. It only needs to be readable by the \fBAMANDA\fR\-user on the Samba server\&.
 
 You can find further information in the \fBdocs/SAMBA\fR   file that comes with an \fBAMANDA\fR distribution\&.
@@ -1138,56 +459,20 @@ All host and disk arguments to programs are special expressions\&. The command a
 
 .PP
 The matcher matches by word, each word is a glob expression, words are separated by the separator '\&.' for host and '/' for disk\&. You can anchor the expression at left with a '^'\&. You can anchor the expression at right with a '$'\&. The matcher is case insensitive for host but is case sensitive for disk\&. A match succeeds if all words in your expression match contiguous words in the host or disk\&.
-.nf
-
- \&.   word separator for a host
- /   word separator for a disk
- ^   anchor at left
- $   anchor at right
- ?   match exactly one character except the separator
- *   match zero or more characters except the separator
- **  match zero or more characters including the separator
-.fi
-
+\&. word separator for a host/ word separator for a disk^ anchor at left$ anchor at right? match exactly one character except the separator* match zero or more characters except the separator**match zero or more characters including the separator
 .PP
 Some examples:
-.nf
+EXPRESSIONWILL MATCH       WILL NOT MATCHhosta     hosta            hostb hoSTA\&.dOMAIna\&.ORG  foo\&.hosta\&.org host      host             hostahost?     hosta            host hostb ho*na     hoina            ho\&.aina\&.orgho**na    hoina  ho\&.aina\&.org ^hosta    hosta            foo\&.hosta\&.orgsda*      /dev/sda1  /dev/sda12 /opt/     opt (disk)       opt (host)\&.opt\&.     opt (host)       opt (disk)/         /                any other disk/usr      /usr  /usr/opt /usr$     /usr             /usr/opt 
+.PP
 
-  EXPRESSION      WILL MATCH              WILL NOT MATCH
-  hosta           hosta                   hostb
-                  hoSTA\&.dOMAIna\&.ORG
-                  foo\&.hosta\&.org
-  host            host                    hosta
-  host?           hosta                   host
-                  hostb
-  ho*na           hoina                   ho\&.aina\&.org
-  ho**na          hoina
-                  ho\&.aina\&.org
-  ^hosta          hosta                   foo\&.hosta\&.org
-  sda*            /dev/sda1
-                  /dev/sda12
-  /opt/           opt (disk)              opt (host)
-  \&.opt\&.           opt (host)              opt (disk)
-  /               /                       any other disk
-  /usr            /usr
-                  /usr/opt
-  /usr$           /usr                    /usr/opt 
-.fi
 
 .SH "DATESTAMP EXPRESSION"
 
 .PP
 A \fBdatestamp\fR expression is a range expression where we only match the prefix\&. Leading ^ is removed\&. Trailing $ forces an exact match\&.
-.nf
+20001212\-14match all dates beginning with 20001212, 20001213 or 2000121420001212\-4same as previous20001212\-24match all dates between 20001212 and 200012242000121match all dates that start with 2000121 (20001210\-20001219)2match all dates that start with 2 (20000101\-29991231)2000\-10match all dates between 20000101\-20101231200010$match only 200010
+.PP
 
-  20001212\-14  match all dates beginning with 20001212, 20001213 or 20001214
-  20001212\-4   same as previous
-  20001212\-24  match all dates between 20001212 and 20001224
-  2000121      match all dates that start with 2000121 (20001210\-20001219)
-  2            match all dates that start with 2 (20000101\-29991231)
-  2000\-10      match all dates between 20000101\-20101231
-  200010$      match only 200010 
-.fi
 
 .SH "AUTHOR"
 
@@ -1195,10 +480,10 @@ A \fBdatestamp\fR expression is a range expression where we only match the prefi
 James da Silva, <jds@amanda\&.org> : Original text
 
 .PP
-Stefan G\&. Weichinger, <sgw@amanda\&.org>, maintainer of the \fBAMANDA\fR\-documentation: XML\-conversion,major update
+Stefan G\&. Weichinger, <sgw@amanda\&.org>, maintainer of the \fBAMANDA\fR\-documentation: XML\-conversion, major update
 
 .SH "SEE ALSO"
 
 .PP
-\fBamadmin\fR(8), \fBamcheck\fR(8), \fBamcheckdb\fR(8), \fBamcleanup\fR(8), \fBamdd\fR(8), \fBamdump\fR(8), \fBamflush\fR(8), \fBamgetconf\fR(8), \fBamlabel\fR(8), \fBammt\fR(8), \fBamoverview\fR(8), \fBamplot\fR(8), \fBamrecover\fR(8), \fBamreport\fR(8), \fBamrestore\fR(8), \fBamrmtape\fR(8), \fBamstatus\fR(8), \fBamtape\fR(8), \fBamtoc\fR(8), \fBamverify\fR(8), \fBamverifyrun\fR(8)
+ \fBamadmin\fR(8), \fBamanda\&.conf\fR(5), \fBamcheck\fR(8), \fBamcheckdb\fR(8), \fBamcleanup\fR(8), \fBamdd\fR(8), \fBamdump\fR(8), \fBamflush\fR(8), \fBamgetconf\fR(8), \fBamlabel\fR(8), \fBammt\fR(8), \fBamoverview\fR(8), \fBamplot\fR(8), \fBamrecover\fR(8), \fBamreport\fR(8), \fBamrestore\fR(8), \fBamrmtape\fR(8), \fBamstatus\fR(8), \fBamtape\fR(8), \fBamtapetype\fR(8), \fBamtoc\fR(8), \fBamverify\fR(8), \fBamverifyrun\fR(8)
 
diff --git a/man/amanda.conf.5 b/man/amanda.conf.5
new file mode 100644 (file)
index 0000000..df18a5c
--- /dev/null
@@ -0,0 +1,826 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.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
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "AMANDA.CONF" 5 "" "" ""
+.SH NAME
+amanda.conf \- Main configuration file for AMANDA, the Advanced Maryland Automatic Network Disk Archiver
+.SH "DESCRIPTION"
+
+.PP
+\fIamanda\&.conf\fR is the main configuration file for \fBAMANDA\fR\&. This manpage lists the relevant sections and parameters of this file for quick reference\&.
+
+.SH "PARAMETERS"
+
+.PP
+There are a number of configuration parameters that control the behavior of the \fBAMANDA\fR programs\&. All have default values, so you need not specify the parameter in \fBamanda\&.conf\fR if the default is suitable\&.
+
+.PP
+Lines starting with # are ignored, as are blank lines\&. Comments may be placed on a line with a directive by starting the comment with a #\&. The remainder of the line is ignored\&.
+
+.PP
+Keywords are case insensitive, i\&.e\&. \fBmailto\fR and \fBMailTo\fR are treated the same\&.
+
+.PP
+Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
+
+.SS "POSSIBLE SUFFIXES"
+
+.TP
+\fBb byte bytes\fR
+Some number of bytes\&.
+
+.TP
+\fBbps\fR
+Some number of bytes per second\&.
+
+.TP
+\fBk kb kbyte kbytes kilobyte kilobytes\fR
+Some number of kilobytes (bytes*1024)\&.
+
+.TP
+\fBkps kbps\fR
+Some number of kilobytes per second (bytes*1024)\&.
+
+.TP
+\fBm mb meg mbyte mbytes megabyte megabytes\fR
+Some number of megabytes (bytes*1024*1024)\&.
+
+.TP
+\fBmps mbps\fR
+Some number of megabytes per second (bytes*1024*1024)\&.
+
+.TP
+\fBg gb gbyte gbytes gigabyte gigabytes\fR
+Some number of gigabytes (bytes*1024*1024*1024)\&.
+
+.TP
+\fBtape tapes\fR
+Some number of tapes\&.
+
+.TP
+\fBday days\fR
+Some number of days\&.
+
+.TP
+\fBweek weeks\fR
+Some number of weeks (days*7)\&.
+
+ .RS .Sh "Note" The value \fBinf\fR may be used in most places where an integer is expected to mean an infinite amount\&. Boolean arguments may have any of the values \fBy\fR, \fByes\fR, \fBt\fR, \fBtrue\fR or \fBon\fR to indicate a true state, or \fBn\fR, \fBno\fR, \fBf\fR, \fBfalse\fR or \fBoff\fR to indicate a false state\&. If no argument is given, \fBtrue\fR is assumed\&. .RE 
+
+.SS "PARAMETERS"
+
+.TP
+\fBorg\fR \fB string\fR
+Default: \fBdaily\fR\&. A descriptive name for the configuration\&. This string appears in the Subject line of mail reports\&. Each \fBAMANDA\fR configuration should have a different string to keep mail reports distinct\&.
+
+.TP
+\fBmailto\fR \fB string\fR
+Default: \fBoperators\fR\&. A space separated list of recipients for mail reports\&.
+
+.TP
+\fBdumpcycle\fR \fB int\fR
+Default: \fB10 days\fR\&. The number of days in the backup cycle\&. Each disk will get a full backup at least this often\&. Setting this to zero tries to do a full backup each run\&.
+
+ .RS .Sh "Note" This parameter may also be set in a specific \fBdumptype\fR (see below)\&. This value sets the default for all \fBdumptype\fRs so must appear in \fBamanda\&.conf\fR before any \fBdumptype\fRs are defined\&. .RE 
+
+.TP
+\fBrunspercycle\fR \fB int\fR
+Default: \fBsame as dumpcycle\fR\&. The number of amdump runs in \fBdumpcycle\fR days\&. A value of 0 means the same value as \fBdumpcycle\fR\&. A value of \-1 means guess the number of runs from the \fBtapelist\fR file, which is the number of tapes used in the last \fBdumpcycle\fR days / \fBruntapes\fR\&.
+
+.TP
+\fBtapecycle\fR \fB int\fR
+Default: \fB15 tapes\fR\&. Typically tapes are used by \fBAMANDA\fR in an ordered rotation\&. The \fBtapecycle\fR parameter defines the size of that rotation\&. The number of tapes in rotation must be larger than the number of tapes required for a complete dump cycle (see the \fBdumpcycle\fR parameter)\&.
+
+This is calculated by multiplying the number of \fBamdump\fR runs per dump cycle (\fBrunspercycle\fR parameter) times the number of tapes used per run (\fBruntapes\fR parameter)\&. Typically two to four times this calculated number of tapes are in rotation\&. While \fBAMANDA\fR is always willing to use a new tape in its rotation, it refuses to reuse a tape until at least '\fBtapecycle\fR \-1' number of other tapes have been used\&.
+
+It is considered good administrative practice to set the \fBtapecycle\fR parameter slightly lower than the actual number of tapes in rotation\&. This allows the administrator to more easily cope with damaged or misplaced tapes or schedule adjustments that call for slight adjustments in the rotation order\&.
+
+.TP
+\fBdumpuser\fR \fB string\fR
+Default: \fBamanda\fR\&. The login name \fBAMANDA\fR uses to run the backups\&. The backup client hosts must allow access from the tape server host as this user via \&.rhosts or \&.amandahosts, depending on how the \fBAMANDA\fR software was built\&.
+
+.TP
+\fBprinter\fR string
+Printer to use when doing tape labels\&. See the \fBlbl\-templ\fR  \fBtapetype\fR option\&.
+
+.TP
+\fBtapedev\fR string
+Default: \fI/dev/nst0\fR\&. The path name of the non\-rewinding tape device\&. Non\-rewinding tape device names often have an 'n' in the name, e\&.g\&. \fI/dev/rmt/0mn\fR, however this is operating system specific and you should consult that documentation for detailed naming information\&.
+
+If a tape changer is configured (see the \fBtpchanger\fR option), this option might not be used\&.
+
+If the \fBnull\fR output driver is selected (see the section OUTPUT DRIVERS in the \fBamanda\fR(8) manpage for more information), programs such as \fBamdump\fR will run normally but all images will be thrown away\&. This should only be used for debugging and testing, and probably only with the \fBrecord\fR option set to \fBno\fR\&.
+
+.TP
+\fBrawtapedev\fR string
+Default: \fI/dev/null\fR\&. The path name of the raw tape device\&. This is only used if \fBAMANDA\fR is compiled for Linux machines with floppy tapes and is needed for QIC volume table operations\&.
+
+.TP
+\fBtpchanger\fR string
+Default: \fBnone\fR\&. The name of the tape changer\&. If a tape changer is not configured, this option is not used and should be commented out of the configuration file\&.
+
+If a tape changer is configured, choose one of the changer scripts (e\&.g\&. \fBchg\-scsi\fR) and enter that here\&.
+
+.TP
+\fBchangerdev\fR string
+Default: \fI/dev/null\fR\&. A tape changer configuration parameter\&. Usage depends on the particular changer defined with the \fBtpchanger\fR option\&.
+
+.TP
+\fBchangerfile\fR string
+Default: \fI/usr/adm/amanda/log/changer\-status\fR\&. A tape changer configuration parameter\&. Usage depends on the particular changer defined with the \fBtpchanger\fR option\&.
+
+.TP
+\fBruntapes\fR int
+Default: 1\&. The maximum number of tapes used in a single run\&. If a tape changer is not configured, this option is not used and should be commented out of the configuration file\&.
+
+If a tape changer is configured, this may be set larger than one to let \fBAMANDA\fR write to more than one tape\&.
+
+Note that this is an upper bound on the number of tapes, and \fBAMANDA\fR may use less\&.
+
+Also note that as of this release, \fBAMANDA\fR does not support true tape overflow\&. When it reaches the end of one tape, the backup image \fBAMANDA\fR was processing starts over again on the next tape\&.
+
+.TP
+\fBmaxdumpsize\fR int
+Default: \fBruntapes\fR*\fBtape_length\fR\&. Maximum number of bytes the planner will schedule for a run\&.
+
+.TP
+\fBtaperalgo\fR [first|firstfit|largest|largestfit|smallest|last]
+Default: \fBfirst\fR\&. The algorithm used to choose which dump image to send to the taper\&.
+
+.RS
+
+.TP
+\fBfirst\fR
+First in, first out\&.
+
+.TP
+\fBfirstfit\fR
+The first dump image that will fit on the current tape\&.
+
+.TP
+\fBlargest\fR
+The largest dump image\&.
+
+.TP
+\fBlargestfit\fR
+The largest dump image that will fit on the current tape\&.
+
+.TP
+\fBsmallest\fR
+The smallest dump image\&.
+
+.TP
+\fBlast\fR
+Last in, first out\&.
+
+.RE
+.IP
+
+.TP
+\fBlabelstr\fR \fB string\fR
+Default: \fB\&.*\fR\&. The tape label constraint regular expression\&. All tape labels generated (see \fBamlabel\fR(8)) and used by this configuration must match the regular expression\&. If multiple configurations are run from the same tape server host, it is helpful to set their labels to different strings (for example, "DAILY[0\-9][0\-9]*" vs\&. "ARCHIVE[0\-9][0\-9]*") to avoid overwriting each other's tapes\&.
+
+.TP
+\fBtapetype\fR \fB string\fR
+Default: \fBEXABYTE\fR\&. The type of tape drive associated with \fBtapedev\fR or \fBtpchanger\fR\&. This refers to one of the defined \fBtapetype\fRs in the config file (see below), which specify various tape parameters, like the \fBlength\fR, \fBfilemark\fR size, and \fBspeed\fR of the tape media and device\&.
+
+.TP
+\fBctimeout\fR int
+Default: \fB30 seconds\fR\&. Maximum amount of time that \fBamcheck\fR will wait for each client host\&.
+
+.TP
+\fBdtimeout\fR int
+Default: \fB1800 seconds\fR\&. Amount of idle time per disk on a given client that a \fBdumper\fR running from within \fBamdump\fR will wait before it fails with a data timeout error\&.
+
+.TP
+\fBetimeout\fR int
+Default: \fB300 seconds\fR\&. Amount of time per disk on a given client that the \fBplanner\fR step of \fBamdump\fR will wait to get the dump size estimates\&. For instance, with the default of 300 seconds and four disks on client A, \fBplanner\fR will wait up to 20 minutes for that machine\&. A negative value will be interpreted as a total amount of time to wait per client instead of per disk\&.
+
+.TP
+\fBnetusage\fR int
+Default: \fB300 Kbps\fR\&. The maximum network bandwidth allocated to \fBAMANDA\fR, in Kbytes per second\&. See also the \fBinterface\fR section\&.
+
+.TP
+\fBinparallel\fR int
+Default: 10\&. The maximum number of backups that \fBAMANDA\fR will attempt to run in parallel\&. \fBAMANDA\fR will stay within the constraints of network bandwidth and holding disk space available, so it doesn't hurt to set this number a bit high\&. Some contention can occur with larger numbers of backups, but this effect is relatively small on most systems\&.
+
+.TP
+\fBdisplayunit\fR "k|m|g|t"
+Default: "k"\&. The unit used to print many numbers, k=kilo, m=mega, g=giga, t=tera\&.
+
+.TP
+\fBdumporder\fR string
+Default: \fBtttTTTTTTT\fR\&. The priority order of each dumper:
+
+.RS
+.TP 3
+\(bu
+s: smallest size
+.TP
+\(bu
+S: largest size
+.TP
+\(bu
+t: smallest time
+.TP
+\(bu
+T: largest time
+.TP
+\(bu
+b: smallest bandwidth
+.TP
+\(bu
+B: largest bandwidth
+.LP
+.RE
+.IP
+
+.TP
+\fBmaxdumps\fR int
+Default: 1\&. The maximum number of backups from a single host that \fBAMANDA\fR will attempt to run in parallel\&. See also the \fBinparallel\fR option\&.
+
+Note that this parameter may also be set in a specific \fBdumptype\fR (see below)\&. This value sets the default for all \fBdumptype\fRs so must appear in \fBamanda\&.conf\fR before any \fBdumptype\fRs are defined\&.
+
+.TP
+\fBbumpsize\fR int
+Default: \fB10 Mbytes\fR\&. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size\&. If \fBAMANDA\fR determines that the next higher backup level will be this much smaller than the current level, it will do the next level\&. The value of this parameter is used only if the parameter \fBbumppercent\fR is set to 0\&.
+
+The global setting of this parameter can be overwritten inside of a dumptype\-definition\&.
+
+See also the options \fBbumppercent\fR, \fBbumpmult\fR and \fBbumpdays\fR\&.
+
+.TP
+\fBbumppercent\fR int
+Default: \fB0 percent\fR\&. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0)\&. If \fBAMANDA\fR determines that the next higher backup level will be this much smaller than the current level, it will do the next level\&.
+
+If this parameter is set to 0, the value of the parameter \fBbumpsize\fR is used to trigger bumping\&.
+
+The global setting of this parameter can be overwritten inside of a dumptype\-definition\&.
+
+See also the options \fBbumpsize\fR, \fBbumpmult\fR and \fBbumpdays\fR\&.
+
+.TP
+\fBbumpmult\fR \fB float\fR
+Default: 1\&.5\&. The bump size multiplier\&. \fBAMANDA\fR multiplies \fBbumpsize\fR by this factor for each level\&. This prevents active filesystems from bumping too much by making it harder to bump to the next level\&. For example, with the default \fBbumpsize\fR and \fBbumpmult\fR set to 2\&.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on\&.
+
+The global setting of this parameter can be overwritten inside of a dumptype\-definition\&.
+
+.TP
+\fBbumpdays\fR \fB int\fR
+Default: \fB2 days\fR\&. To insure redundancy in the dumps, \fBAMANDA\fR keeps filesystems at the same incremental level for at least \fBbumpdays\fR days, even if the other bump threshold criteria are met\&.
+
+The global setting of this parameter can be overwritten inside of a dumptype\-definition\&.
+
+.TP
+\fBdiskfile\fR \fB string\fR
+Default: \fBdisklist\fR\&. The file name for the \fBdisklist\fR file holding client hosts, disks and other client dumping information\&.
+
+.TP
+\fBinfofile\fR \fB string\fR
+Default: \fI/usr/adm/amanda/curinfo\fR\&. The file or directory name for the historical information database\&. If \fBAMANDA\fR was configured to use DBM databases, this is the base file name for them\&. If it was configured to use text formated databases (the default), this is the base directory and within here will be a directory per client, then a directory per disk, then a text file of data\&.
+
+.TP
+\fBlogdir\fR \fB string\fR
+Default: \fI/usr/adm/amanda\fR\&. The directory for the \fBamdump\fR and \fBlog\fR files\&.
+
+.TP
+\fBindexdir\fR \fB string\fR
+Default \fI/usr/adm/amanda/index\fR\&. The directory where index files (backup image catalogues) are stored\&. Index files are only generated for filesystems whose \fBdumptype\fR has the \fBindex\fR option enabled\&.
+
+.TP
+\fBtapelist\fR \fB string\fR
+Default: \fBtapelist\fR\&. The file name for the active \fBtapelist\fR file\&. \fBAMANDA\fR maintains this file with information about the active set of tapes\&.
+
+.TP
+\fBtapebufs\fR \fB int\fR
+Default: 20\&. The number of buffers used by the \fBtaper\fR process run by \fBamdump\fR and \fBamflush\fR to hold data as it is read from the network or disk before it is written to tape\&. Each buffer is a little larger than 32 KBytes and is held in a shared memory region\&.
+
+.TP
+\fBreserve\fR \fB number\fR
+Default: 100\&. The part of holding\-disk space that should be reserved for incremental backups if no tape is available, expressed as a percentage of the available holding\-disk space (0\-100)\&. By default, when there is no tape to write to, degraded mode (incremental) backups will be performed to the holding disk\&. If full backups should also be allowed in this case, the amount of holding disk space reserved for incrementals should be lowered\&.
+
+.TP
+\fBautoflush\fR \fB bool\fR
+Default: \fBoff\fR\&. Whether an amdump run will flush the dump already on holding disk to tape\&.
+
+.TP
+\fBamrecover_do_fsf\fR \fB bool\fR
+Default: \fBoff\fR\&. Amrecover will call amrestore with the \-f flag for faster positioning of the tape\&.
+
+.TP
+\fBamrecover_check_label\fR \fB bool\fR
+Default: \fBoff\fR\&. Amrecover will call amrestore with the \-l flag to check the label\&.
+
+.TP
+\fBamrecover_changer\fR \fB string\fR
+Default: ''\&. Amrecover will use the changer if you use 'settape <string>' and that string is the same as the amrecover_changer setting\&.
+
+.TP
+\fBcolumnspec\fR \fB string\fR
+Defines the width of columns \fBamreport\fR should use\&. \fBString\fR is a comma (',') separated list of triples\&. Each triple consists of three parts which are separated by a equal sign ('=') and a colon (':') (see the example)\&. These three parts specify:
+
+
+.RS
+.TP 3
+\(bu
+the name of the column, which may be:
+
+.RS
+.TP 3
+\(bu
+Compress (compression ratio)
+.TP
+\(bu
+Disk (client disk name)
+.TP
+\(bu
+DumpRate (dump rate in KBytes/sec)
+.TP
+\(bu
+DumpTime (total dump time in hours:minutes)
+.TP
+\(bu
+HostName (client host name)
+.TP
+\(bu
+Level (dump level)
+.TP
+\(bu
+OrigKB (original image size in KBytes)
+.TP
+\(bu
+OutKB (output image size in KBytes)
+.TP
+\(bu
+TapeRate (tape writing rate in KBytes/sec)
+.TP
+\(bu
+TapeTime (total tape time in hours:minutes)
+.LP
+.RE
+.IP
+.TP
+\(bu
+the amount of space to display before the column (used to get whitespace between columns)\&.
+.TP
+\(bu
+the width of the column itself\&. If set to a negative value, the width will be calculated on demand to fit the largest entry in this column\&.
+.LP
+.RE
+.IP
+Here is an example:
+
+.nf
+
+columnspec "Disk=1:18,HostName=0:10,OutKB=1:7".fi
+The above will display the disk information in 18 characters and put one space before it\&. The hostname column will be 10 characters wide with no space to the left\&. The output KBytes column is seven characters wide with one space before it\&.
+
+.TP
+\fBincludefile\fR \fB string\fR
+Default: \fBnone\fR\&. The name of an \fBAMANDA\fR configuration file to include within the current file\&. Useful for sharing dumptypes, tapetypes and interface definitions among several configurations\&.
+
+.SH "HOLDINGDISK SECTION"
+
+.PP
+The \fBamanda\&.conf\fR file may define one or more holding disks used as buffers to hold backup images before they are written to tape\&. The syntax is:
+.nf
+
+holdingdisk \fBname\fR {
+    \fBholdingdisk\-option\fR \fBholdingdisk\-value\fR
+    \&.\&.\&.
+}.fi
+
+.PP
+\fBName\fR is a logical name for this holding disk\&.
+
+.PP
+The options and values are:
+
+.TP
+\fBcomment\fR \fB string\fR
+Default: \fBnone\fR\&. A comment string describing this holding disk\&.
+
+.TP
+\fBdirectory\fR \fB disk\fR
+Default: \fI/dumps/amanda\fR\&. The path to this holding area\&.
+
+.TP
+\fBuse\fR \fB int\fR
+Default: \fB0 Gb\fR\&. Amount of space that can be used in this holding disk area\&. If the value is zero, all available space on the file system is used\&. If the value is negative, \fBAMANDA\fR will use all available space minus that value\&.
+
+.TP
+\fBchunksize\fR \fB int\fR
+Default: \fB1 Gb\fR\&. Holding disk chunk size\&. Dumps larger than the specified size will be stored in multiple holding disk files\&. The size of each chunk will not exceed the specified value\&. However, even though dump images are split in the holding disk, they are concatenated as they are written to tape, so each dump image still corresponds to a single continuous tape section\&.
+
+If 0 is specified, \fBAMANDA\fR will create holding disk chunks as large as ((INT_MAX/1024)\-64) Kbytes\&.
+
+Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk size is 64 Kbytes (but that would be really silly)\&.
+
+Operating systems that are limited to a maximum file size of 2 Gbytes actually cannot handle files that large\&. They must be at least one byte less than 2 Gbytes\&. Since \fBAMANDA\fR works with 32 Kbyte blocks, and to handle the final read at the end of the chunk, the chunk size should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size, e\&.g\&. 2047 Mbytes\&.
+
+.SH "DUMPTYPE SECTION"
+
+.PP
+The \fBamanda\&.conf\fR file may define multiple sets of backup options and refer to them by name from the \fBdisklist\fR file\&. For instance, one set of options might be defined for file systems that can benefit from high compression, another set that does not compress well, another set for file systems that should always get a full backup and so on\&.
+
+.PP
+A set of backup options are entered in a \fBdumptype\fR section, which looks like this:
+.nf
+
+define dumptype \fBname\fR {
+    \fBdumptype\-option\fR \fBdumptype\-value\fR
+    \&.\&.\&.
+}
+.fi
+
+.PP
+\fBName\fR is the name of this set of backup options\&. It is referenced from the \fBdisklist\fR file\&.
+
+.PP
+Some of the options in a \fBdumptype\fR section are the same as those in the main part of \fBamanda\&.conf\fR\&. The main option value is used to set the default for all \fBdumptype\fR sections\&. For instance, setting \fBdumpcycle\fR to 50 in the main part of the config file causes all following \fBdumptype\fR sections to start with that value, but the value may be changed on a section by section basis\&. Changes to variables in the main part of the config file must be done before (earlier in the file) any \fBdumptype\fRs are defined\&.
+
+.PP
+The dumptype options and values are:
+
+.TP
+\fBauth\fR \fB string\fR
+Default: \fBbsd\fR\&. Type of authorization to perform between tape server and backup client hosts\&. May be \fBkrb4\fR to use Kerberos\-IV authorization\&.
+
+.TP
+\fBbumpsize\fR int
+Default: \fB10 Mbytes\fR\&. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size\&. If \fBAMANDA\fR determines that the next higher backup level will be this much smaller than the current level, it will do the next level\&. The value of this parameter is used only if the parameter \fBbumppercent\fR is set to 0\&.
+
+See also the options \fBbumppercent\fR, \fBbumpmult\fR and \fBbumpdays\fR\&.
+
+.TP
+\fBbumppercent\fR int
+Default: \fB0 percent\fR\&. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0)\&. If \fBAMANDA\fR determines that the next higher backup level will be this much smaller than the current level, it will do the next level\&.
+
+If this parameter is set to 0, the value of the parameter \fBbumpsize\fR is used to trigger bumping\&.
+
+See also the options \fBbumpsize\fR, \fBbumpmult\fR and \fBbumpdays\fR\&.
+
+.TP
+\fBbumpmult\fR \fB float\fR
+Default: 1\&.5\&. The bump size multiplier\&. \fBAMANDA\fR multiplies \fBbumpsize\fR by this factor for each level\&. This prevents active filesystems from bumping too much by making it harder to bump to the next level\&. For example, with the default \fBbumpsize\fR and \fBbumpmult\fR set to 2\&.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on\&.
+
+.TP
+\fBbumpdays\fR \fB int\fR
+Default: \fB2 days\fR\&. To insure redundancy in the dumps, \fBAMANDA\fR keeps filesystems at the same incremental level for at least \fBbumpdays\fR days, even if the other bump threshold criteria are met\&.
+
+.TP
+\fBcomment\fR \fB string\fR
+Default: \fBnone\fR\&. A comment string describing this set of backup options\&.
+
+.TP
+\fBcomprate\fR \fBfloat\fR [, \fBfloat\fR ]
+Default: 0\&.50, 0\&.50\&. The expected full and incremental compression factor for dumps\&. It is only used if \fBAMANDA\fR does not have any history information on compression rates for a filesystem, so should not usually need to be set\&. However, it may be useful for the first time a very large filesystem that compresses very little is backed up\&.
+
+.TP
+\fBcompress [client|server]\fR \fB string\fR
+Default: \fBclient fast\fR\&. If \fBAMANDA\fR does compression of the backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape\&. Which place to do compression (if at all) depends on how well the dump image usually compresses, the speed and load on the client or server, network capacity, holding disk capacity, availability of tape hardware compression, etc\&.
+
+For either type of compression, \fBAMANDA\fR also allows the selection of two styles of compression\&. \fBBest\fR is the best compression available, often at the expense of CPU overhead\&. \fBFast\fR is often not as good a compression as \fBbest\fR, but usually less CPU overhead\&.
+
+So the \fBcompress\fR options line may be one of:
+
+
+.RS
+.TP 3
+\(bu
+compress none
+.TP
+\(bu
+compress [client] fast
+.TP
+\(bu
+compress [client] best
+.TP
+\(bu
+compress server fast
+.TP
+\(bu
+compress server best
+.LP
+.RE
+.IP
+Note that some tape devices do compression and this option has nothing to do with whether that is used\&. If hardware compression is used (usually via a particular tape device name or \fBmt\fR option), \fBAMANDA\fR (software) compression should be disabled\&.
+
+.TP
+\fBdumpcycle\fR \fB int\fR
+Default: \fB10 days\fR\&. The number of days in the backup cycle\&. Each disk using this set of options will get a full backup at least this often\&. Setting this to zero tries to do a full backup each run\&.
+
+.TP
+\fBestimate\fR \fBclient|calcsize|server\fR
+Default: \fBclient\fR\&. Determine the way \fBAMANDA\fR does it's estimate\&.
+
+.RS
+.TP 3
+\(bu
+client:
+
+Use the same program as the dumping program, this is the most accurate way to do estimates, but it can take a long time\&.
+.TP
+\(bu
+calcsize:
+
+Use a faster program to do estimates, but the result is less accurate\&.
+.TP
+\(bu
+server:
+
+Use only statistics from the previous run to give an estimate, it takes only a few seconds but the result is not accurate if your disk usage changes from day to day\&.
+.LP
+.RE
+.IP
+
+.TP
+\fBexclude\fR [ \fBlist|file\fR ][[optional][ \fBappend\fR ][ \fB string\fR ]+]
+Default: \fBfile\fR\&. There are two exclude lists, \fBexclude file\fR and \fBexclude list\&.\fR With \fBexclude file\fR , the \fBstring\fR is a \fBGNU\-tar\fR exclude expression\&. With \fBexclude list\fR , the \fBstring\fR is a file name on the client containing \fBGNU\-tar\fR exclude expressions\&.
+
+All exclude expressions are concatenated in one file and passed to \fBGNU\-tar\fR as an \fB\-\-exclude\-from\fR argument\&.
+
+With the \fBappend\fR keyword, the \fBstring\fR is appended to the current list, without it, the \fBstring\fR overwrites the list\&.
+
+If \fBoptional\fR is specified for \fBexclude list\fR, then amcheck will not complain if the file doesn't exist or is not readable\&.
+
+For \fBexclude list\fR, if the file name is relative, the disk name being backed up is prepended\&. So if this is entered:
+
+.nf
+
+    exclude list "\&.amanda\&.excludes"
+.fi
+the actual file used would be \fI/var/\&.amanda\&.excludes\fR for a backup of \fI/var\fR, \fI/usr/local/\&.amanda\&.excludes\fR for a backup of \fI/usr/local\fR, and so on\&.
+
+.TP
+\fBholdingdisk\fR \fB boolean\fR
+Default: \fByes\fR\&. Whether a holding disk should be used for these backups or whether they should go directly to tape\&. If the holding disk is a portion of another file system that \fBAMANDA\fR is backing up, that file system should refer to a dumptype with \fBholdingdisk\fR set to \fBno\fR to avoid backing up the holding disk into itself\&.
+
+.TP
+\fBignore\fR \fB boolean\fR
+Default: \fBno\fR\&. Whether disks associated with this backup type should be backed up or not\&. This option is useful when the \fBdisklist\fR file is shared among several configurations, some of which should not back up all the listed file systems\&.
+
+.TP
+\fBinclude\fR [ \fBlist|file\fR ][[optional][ \fBappend\fR ][ \fB string\fR ]+]
+Default: \fBfile\fR "\&."\&. There are two include lists, \fBinclude file\fR and \fBinclude list\&.\fR With \fBinclude file\fR , the \fBstring\fR is a glob expression\&. With \fBinclude list\fR , the \fBstring\fR is a file name on the client containing glob expressions\&.
+
+All include expressions are expanded by \fBAMANDA\fR, concatenated in one file and passed to \fBGNU\-tar\fR as a \fB\-\-files\-from\fR argument\&. They must start with "\&./" and contain no other "/"\&.
+
+With the \fBappend\fR keyword, the \fBstring\fR is appended to the current list, without it, the \fBstring\fR overwrites the list\&.
+
+If \fBoptional\fR is specified for \fBinclude list,\fR then amcheck will not complain if the file doesn't exist or is not readable\&.
+
+For \fBinclude list\fR, If the file name is relative, the disk name being backed up is prepended\&.
+
+.TP
+\fBindex\fR \fB boolean\fR
+Default: \fBno\fR\&. Whether an index (catalogue) of the backup should be generated and saved in \fBindexdir\fR\&. These catalogues are used by the \fBamrecover\fR utility\&.
+
+.TP
+\fBkencrypt\fR \fB boolean\fR
+Default: \fBno\fR\&. Whether the backup image should be encrypted by Kerberos as it is sent across the network from the backup client host to the tape server host\&.
+
+.TP
+\fBmaxdumps\fR \fB int\fR
+Default: 1\&. The maximum number of backups from a single host that \fBAMANDA\fR will attempt to run in parallel\&. See also the main section parameter \fBinparallel\fR\&.
+
+.TP
+\fBmaxpromoteday\fR \fB int\fR
+Default: 10000\&. The maximum number of day for a promotion, set it 0 if you don't want promotion, set it to 1 or 2 if your disks get overpromoted\&.
+
+.TP
+\fBpriority\fR \fB string\fR
+Default: \fBmedium\fR\&. When there is no tape to write to, \fBAMANDA\fR will do incremental backups in priority order to the holding disk\&. The priority may be high (2), medium (1), low (0) or a number of your choice\&.
+
+.TP
+\fBprogram\fR \fB string\fR
+Default: \fBDUMP\fR\&. The type of backup to perform\&. Valid values are \fBDUMP\fR for the native operating system backup program, and \fBGNUTAR\fR to use \fBGNU\-tar\fR or to do PC backups using Samba\&.
+
+.TP
+\fBrecord\fR \fB boolean\fR
+Default: \fByes\fR\&. Whether to ask the backup program to update its database (e\&.g\&. \fI/etc/dumpdates\fR for DUMP or \fI/usr/local/var/amanda/gnutar\-lists\fR for GNUTAR) of time stamps\&. This is normally enabled for daily backups and turned off for periodic archival runs\&.
+
+.TP
+\fBskip\-full\fR \fB boolean\fR
+Default: \fBno\fR\&. If \fBtrue\fR and \fBplanner\fR has scheduled a full backup, these disks will be skipped, and full backups should be run off\-line on these days\&. It was reported that \fBAMANDA\fR only schedules level 1 incrementals in this configuration; this is probably a bug\&.
+
+.TP
+\fBskip\-incr\fR \fB boolean\fR
+Default: \fBno\fR\&. If \fBtrue\fR and \fBplanner\fR has scheduled an incremental backup, these disks will be skipped\&.
+
+.TP
+\fBstarttime\fR \fB int\fR
+Default: \fBnone\fR\&. Backups will not start until after this time of day\&. The value should be hh*100+mm, e\&.g\&. 6:30PM (18:30) would be entered as 1830\&.
+
+.TP
+\fBstrategy\fR \fB string\fR
+Default: \fBstandard\fR\&. Strategy to use when planning what level of backup to run next\&. Values are:
+
+.RS
+
+.TP
+\fBstandard\fR
+The standard \fBAMANDA\fR schedule\&.
+
+.TP
+\fBnofull\fR
+Never do full backups, only level 1 incrementals\&.
+
+.TP
+\fBnoinc\fR
+Never do incremental backups, only full dumps\&.
+
+.TP
+\fBskip\fR
+Never do backups (useful when sharing the \fBdisklist\fR file)\&.
+
+.TP
+\fBincronly\fR
+Only do incremental dumps\&. \fBamadmin force\fR should be used to tell \fBAMANDA\fR that a full dump has been performed off\-line, so that it resets to level 1\&. It is similar to skip\-full, but with incronly full dumps may be scheduled manually\&. Unfortunately, it appears that \fBAMANDA\fR will perform full backups with this configuration, which is probably a bug\&.
+
+.RE
+.IP
+
+.PP
+The following \fBdumptype\fR entries are predefined by \fBAMANDA\fR:
+.nf
+
+define dumptype no\-compress {
+    compress none
+}
+define dumptype compress\-fast {
+    compress client fast
+}
+define dumptype compress\-best {
+    compress client best
+}
+define dumptype srvcompress {
+    compress server fast
+}
+define dumptype bsd\-auth {
+    auth bsd
+}
+define dumptype krb4\-auth {
+    auth krb4
+}
+define dumptype no\-record {
+    record no
+}
+define dumptype no\-hold {
+    holdingdisk no
+}
+define dumptype no\-full {
+    skip\-full yes
+} 
+.fi
+
+.PP
+In addition to options in a \fBdumptype\fR section, one or more other \fBdumptype\fR names may be entered, which make this \fBdumptype\fR inherit options from other previously defined \fBdumptype\fRs\&. For instance, two sections might be the same except for the \fBrecord\fR option:
+.nf
+
+define dumptype normal {
+    comment "Normal backup, no compression, do indexing"
+    no\-compress
+    index yes
+    maxdumps 2
+}
+define dumptype testing {
+    comment "Test backup, no compression, do indexing, no recording"
+    normal
+    record no
+}
+.fi
+
+.PP
+\fBAMANDA\fR provides a \fBdumptype\fR named \fBglobal\fR in the sample \fBamanda\&.conf\fR file that all \fBdumptype\fRs should reference\&. This provides an easy place to make changes that will affect every \fBdumptype\fR\&.
+
+.SH "TAPETYPE SECTION"
+
+.PP
+The \fBamanda\&.conf\fR file may define multiple types of tape media and devices\&. The information is entered in a \fBtapetype\fR section, which looks like this in the config file:
+.nf
+
+define tapetype \fBname\fR {
+    \fBtapetype\-option\fR \fBtapetype\-value\fR
+    \&.\&.\&.
+}
+.fi
+
+.PP
+\fBName\fR is the name of this type of tape medium/device\&. It is referenced from the \fBtapetype\fR option in the main part of the config file\&.
+
+.PP
+The tapetype options and values are:
+
+.TP
+\fBcomment\fR \fB string\fR
+Default: \fBnone\fR\&. A comment string describing this set of tape information\&.
+
+.TP
+\fBfilemark\fR \fB int\fR
+Default: \fB1000 bytes\fR\&. How large a file mark (tape mark) is, measured in bytes\&. If the size is only known in some linear measurement (e\&.g\&. inches), convert it to bytes using the device density\&.
+
+.TP
+\fBlength\fR \fB int\fR
+Default: \fB2000 kbytes\fR\&. How much data will fit on a tape\&.
+
+Note that this value is only used by \fBAMANDA\fR to schedule which backups will be run\&. Once the backups start, \fBAMANDA\fR will continue to write to a tape until it gets an error, regardless of what value is entered for \fBlength\fR (but see the section OUTPUT DRIVERS in the \fBamanda\fR(8) manpage for exceptions)\&.
+
+.TP
+\fBblocksize\fR \fB int\fR
+Default: \fB32\fR\&. How much data will be written in each tape record expressed in KiloBytes\&. The tape record size (= blocksize) can not be reduced below the default 32 KBytes\&. The parameter blocksize can only be raised if \fBAMANDA\fR was compiled with the configure option \-\-with\-maxtapeblocksize=N set with "N" greater than 32 during \fBconfigure\fR\&.
+
+.TP
+\fBfile\-pad\fR \fB boolean\fR
+Default: \fBtrue\fR\&. If true, every record, including the last one in the file, will have the same length\&. This matches the way \fBAMANDA\fR wrote tapes prior to the availability of this parameter\&. It may also be useful on devices that only support a fixed blocksize\&.
+
+Note that the last record on the tape probably includes trailing null byte padding, which will be passed back to \fBgzip\fR, \fBcompress\fR or the restore program\&. Most programs just ignore this (although possibly with a warning)\&.
+
+If this parameter is false, the last record in a file may be shorter than the block size\&. The file will contain the same amount of data the dump program generated, without trailing null byte padding\&. When read, the same amount of data that was written will be returned\&.
+
+.TP
+\fBspeed\fR \fB int\fR
+Default: \fB200 bps\fR\&. How fast the drive will accept data, in bytes per second\&. This parameter is NOT currently used by \fBAMANDA\fR\&.
+
+.TP
+\fBlbl\-templ\fR \fB string\fR
+A PostScript template file used by \fBamreport\fR to generate labels\&. Several sample files are provided with the \fBAMANDA\fR sources in the \fBexample\fR directory\&. See the \fBamreport\fR(8) man page for more information\&.
+
+.PP
+In addition to options, another \fBtapetype\fR name may be entered, which makes this \fBtapetype\fR inherit options from another \fBtapetype\fR\&. For instance, the only difference between a DLT4000 tape drive using Compact\-III tapes and one using Compact\-IV tapes is the length of the tape\&. So they could be entered as:
+.nf
+
+define tapetype DLT4000\-III {
+    comment "DLT4000 tape drives with Compact\-III tapes"
+    length 12500 mbytes         # 10 Gig tapes with some compression
+    filemark 2000 kbytes
+    speed 1536 kps
+}
+define tapetype DLT4000\-IV {
+    DLT4000\-III
+    comment "DLT4000 tape drives with Compact\-IV tapes"
+    length 25000 mbytes         # 20 Gig tapes with some compression
+}
+.fi
+
+.SH "INTERFACE SECTION"
+
+.PP
+The \fBamanda\&.conf\fR file may define multiple types of network interfaces\&. The information is entered in an \fBinterface\fR section, which looks like this:
+.nf
+
+define interface \fBname\fR {
+    \fBinterface\-option\fR \fBinterface\-value\fR
+    \&.\&.\&.
+}
+.fi
+
+.PP
+\fBname\fR is the name of this type of network interface\&. It is referenced from the \fBdisklist\fR file\&.
+
+.PP
+Note that these sections define network interface characteristics, not the actual interface that will be used\&. Nor do they impose limits on the bandwidth that will actually be taken up by \fBAMANDA\fR\&. \fBAMANDA\fR computes the estimated bandwidth each file system backup will take based on the estimated size and time, then compares that plus any other running backups with the limit as another of the criteria when deciding whether to start the backup\&. Once a backup starts, \fBAMANDA\fR will use as much of the network as it can leaving throttling up to the operating system and network hardware\&.
+
+.PP
+The interface options and values are:
+
+.TP
+\fBcomment\fR \fB string\fR
+Default: \fBnone\fR\&. A comment string describing this set of network information\&.
+
+.TP
+\fBuse\fR \fB int\fR
+Default: \fB300 Kbps\fR\&. The speed of the interface in Kbytes per second\&.
+
+.PP
+In addition to options, another \fBinterface\fR name may be entered, which makes this \fBinterface\fR inherit options from another \fBinterface\fR\&. At the moment, this is of little use\&.
+
+.SH "AUTHOR"
+
+.PP
+James da Silva, <jds@amanda\&.org>: Original text
+
+.PP
+Stefan G\&. Weichinger, <sgw@amanda\&.org>, maintainer of the \fBAMANDA\fR\-documentation: XML\-conversion, major update, splitting
+
+.SH "SEE ALSO"
+
+.PP
+ \fBamanda\fR(8),
+
index e824edd4c9db2ac5d7fb063a8880c7337ca5654d..f571ab6700bf2fb05e46a6de7fcd8b13c47560c6 100644 (file)
@@ -58,7 +58,7 @@ Please see the \fBcrontab\fR(5) or \fBcrontab\fR(1) manual page for the correct
 
 .TP
 amdump: waiting for hold file to be removed
-The ``\fBhold\fR'' file exists and \fBamdump\fR is waiting for it to be removed before starting backups\&.
+The "hold" file exists and \fBamdump\fR is waiting for it to be removed before starting backups\&.
 
 .TP
 amdump: amdump or amflush is already running, or you must run amcleanup
index 797bfd9766723930353aa88303db7334ec31acb5..9276731c58912e1ce34da981926161ec314646fb 100644 (file)
@@ -49,10 +49,10 @@ Write log to stdout/stderr instead of the amflush log file\&. Requires the \fB\-
 
 .TP
 \fB\-D datestamp\fR
-specify a datestamp expression you want to flush, see the ``\fBDATESTAMP EXPRESSION\fR'' section of \fBamanda\fR(8) for a description\&. \fB\-D 20001225\-7\fR will flush all dumps from 25 december 2000 to 27 december 2000\&.
+specify a datestamp expression you want to flush, see the "DATESTAMP EXPRESSION" section of \fBamanda\fR(8) for a description\&. \fB\-D 20001225\-7\fR will flush all dumps from 25 december 2000 to 27 december 2000\&.
 
 .PP
-You can specify many host/disk expressions, only disks that match an expression will be flushed\&. All disks are flushed if no expressions are given\&. see the ``\fBHOST & DISK EXPRESSION\fR'' section of \fBamanda\fR(8) for a description\&.
+You can specify many host/disk expressions, only disks that match an expression will be flushed\&. All disks are flushed if no expressions are given\&. see the "HOST & DISK EXPRESSION" section of \fBamanda\fR(8) for a description\&.
 
 .PP
 \fBAmflush\fR will look in the holding disks specified by the \fBamanda\&.conf\fR file in /usr/local/etc/amanda/\fBconfig\fR for any non\-empty \fBAMANDA\fR work directories\&. It then prompts you to select a directory or to process all of the directories\&. The work directories in the holding disks are named by the date at the time \fBamdump\fR was run, e\&.g\&. 19910215\&.
index 863da6cccc6b74d3980a504259e1fdec6288b9d0..e4568aefc298b1b06fdd4eb9e7619ec169d10e73 100644 (file)
@@ -51,14 +51,14 @@ See the \fBamanda\fR(8) man page for more details about \fBAMANDA\fR\&.
 .SH "EXAMPLE"
 
 .PP
-Write an \fBAMANDA\fR label with the string ``\fBDMP000\fR'' on the tape loaded in the device named in the \fBtapedev\fR option in /usr/local/etc/amanda/daily/amanda\&.conf:
+Write an \fBAMANDA\fR label with the string "DMP000" on the tape loaded in the device named in the \fBtapedev\fR option in /usr/local/etc/amanda/daily/amanda\&.conf:
 .nf
 
 % amlabel daily DMP000 
 .fi
 
 .PP
-Label the tape in slot 3 of the currently configured tape changer with the string ``\fBDMP003\fR'':
+Label the tape in slot 3 of the currently configured tape changer with the string "DMP003":
 .nf
 
 % amlabel daily DMP003 slot 3 
index 21c7c15aa6f240761d72352ec9328d1793ef1126..275d07624df24cf3b38489e3a2e12fb155cf0ad6 100644 (file)
@@ -24,7 +24,7 @@ amoverview \- display file systems processed by AMANDA over time
 .ad l
 .hy 0
 .HP 11
-\fBamoverview\fR [[\-config]\ \fIconfig\fR] [\-hostwidth\ \fIwidth\fR] [\-diskwidth\ \fIwidth\fR] [\-skipmissed] [\-verbose]
+\fBamoverview\fR [[\-config]\ \fIconfig\fR] [\-hostwidth\ \fIwidth\fR] [\-diskwidth\ \fIwidth\fR] [\-skipmissed] [\-last] [\-num0] [\-togo0] [\-verbose]
 .ad
 .hy
 
@@ -54,6 +54,18 @@ Set \fBdisk\fR field column width to \fBwidth\fR characters instead of 20\&.
 \fB\-skipmissed\fR
 Compacts the output by only printing stats for the days \fBAMANDA\fR actually ran\&.
 
+.TP
+\fB\-last\fR
+Outputs the last status of each disk at the start.  Useful for long tapecycles and/or sparse reports\&.
+
+.TP
+\fB\-num0\fR
+Outputs the number of level 0 dumps for each disk\&.
+
+.TP
+\fB\-togo0\fR
+Outputs the number of runs until the last level 0 dump is overwritten\&.
+
 .TP
 \fB\-verbose\fR
 \fBAmoverview\fR can take a long while on large systems\&. This option reports intermediate steps while it is working\&.
@@ -61,16 +73,16 @@ Compacts the output by only printing stats for the days \fBAMANDA\fR actually ra
 .SH "RESULTS"
 
 .PP
-\fBamoverview\fR is a summary of the output of " \fBamadmin <config> find\fR "\&. When the last column of \fBamadmin find\fR contains anything other than ``\fBOK\fR'', amoverview translates this into ``\fBE\fR'' for that day\&.
+\fBamoverview\fR is a summary of the output of " \fBamadmin <config> find\fR "\&. When the last column of \fBamadmin find\fR contains anything other than "OK", amoverview translates this into "E" for that day\&.
 
 .PP
-A number indicates the level of backup and it succeeded\&. An ``\fBE\fR'' indicates an error for that day\&. You get an ``\fBE\fR'' for all errors, like failed to connect, datatimeout, computer crashed, etc, but also for failing to write to tape\&.
+A number indicates the level of backup and it succeeded\&. An "E" indicates an error for that day\&. You get an "E" for all errors, like failed to connect, datatimeout, computer crashed, etc, but also for failing to write to tape\&.
 
 .PP
-You can have an ``\fBE\fR'' followed by a number if a filesystem ran into end\-of\-tape once (gives an ``\fBE\fR'', and later that day, you flush it to a second tape (a number: the level, indicating success)\&. If the flush failed too, you get a double ``\fBEE\fR'' for that day\&.
+You can have an "E" followed by a number if a filesystem ran into end\-of\-tape once (gives an "E", and later that day, you flush it to a second tape (a number: the level, indicating success)\&. If the flush failed too, you get a double "EE" for that day\&.
 
 .PP
-You can also have a double code if you have two tapes in the changer and \fBAMANDA\fR failed to write to tape the first time because it hit end of tape (resulting in ``\fBE0\fR'', for a full, ``\fBE1\fR'' for an incremental etc\&.) or twice with error (``\fBEE\fR''), and may a successful flush afterwards giving maybe ``\fBEE0\fR''\&. (Only the latest 2 characters are printed)\&.
+You can also have a double code if you have two tapes in the changer and \fBAMANDA\fR failed to write to tape the first time because it hit end of tape (resulting in "E0", for a full, "E1" for an incremental etc\&.) or twice with error ("EE"), and may a successful flush afterwards giving maybe "EE0"\&. (Only the latest 2 characters are printed)\&.
 
 .SH "EXAMPLE"
 
index ff168a271bfbfd3fbf9eec79f29d3c82b1cd62e1..61c350c5ca734e479c89ceebfff063c69bf25da9 100644 (file)
@@ -98,7 +98,7 @@ So if we wrote 1\&.0 GBytes on the first pass and 100 file marks, and 0\&.9 GByt
 Note that if the estimated capacity is wrong, the only thing that happens is a lot more (or less, but unlikely) files, and thus, file marks, get written\&. But the math still works out the same\&. The \-e flag is there to keep the number of file marks down because they can be slow (since they force the drive to flush all its buffers to physical media)\&.
 
 .PP
-All sorts of things might happen to cause the amount of data written to vary enough to generate a big file mark size guess\&. A little more ``\fBshoe shining\fR'' because of the additional file marks (and flushes), dirt left on the heads from the first pass of a brand new tape, the temperature/humidity changed during the multi\-hour run, a different amount of data was written after the last file mark before EOT was reported, etc\&.
+All sorts of things might happen to cause the amount of data written to vary enough to generate a big file mark size guess\&. A little more "shoe shining" because of the additional file marks (and flushes), dirt left on the heads from the first pass of a brand new tape, the temperature/humidity changed during the multi\-hour run, a different amount of data was written after the last file mark before EOT was reported, etc\&.
 
 .PP
 Note that the file mark size might really be zero for whatever device this is, and it was just the measured capacity variation that caused \fBamtapetype\fR to think those extra file marks in pass 2 actually took up space\&.
index c8aec5617626b7d4b637e023111f73ec4d4bfac7..167f607716f0b4bce8375807d1a41963e5903202 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -39,7 +39,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 sbin_PROGRAMS = amrecover$(EXEEXT)
 subdir = recover-src
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
@@ -67,18 +69,13 @@ amrecover_DEPENDENCIES = ../common-src/libamanda.$(LIB_EXTENSION) \
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/amrecover.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/display_commands.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/extract_list.Po ./$(DEPDIR)/help.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/set_commands.Po ./$(DEPDIR)/uparse.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/uscan.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
 LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
@@ -247,6 +244,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -392,24 +391,21 @@ distclean-compile:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
 .l.c:
@@ -423,7 +419,8 @@ distclean-compile:
          to=`echo "$*_H" | sed \
                 -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
                 -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
-         sed "/^#/ s/Y_TAB_H/$$to/g" y.tab.h >$*.ht; \
+         sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \
+            y.tab.h >$*.ht; \
          rm -f y.tab.h; \
          if cmp -s $*.ht $*.h; then \
            rm -f $*.ht ;\
@@ -468,7 +465,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -548,14 +545,14 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
+       -rm -f uparse.c
        -rm -f uparse.h
        -rm -f uscan.c
-       -rm -f uparse.c
 clean: clean-am
 
 clean-am: clean-generic clean-libtool clean-sbinPROGRAMS \
@@ -614,8 +611,8 @@ uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS
        distclean-compile distclean-generic distclean-libtool \
        distclean-tags distdir dvi dvi-am html html-am info info-am \
        install install-am install-data install-data-am install-exec \
-       install-exec-am install-info install-info-am install-man \
-       install-sbinPROGRAMS install-strip installcheck \
+       install-exec-am install-exec-hook install-info install-info-am \
+       install-man install-sbinPROGRAMS install-strip installcheck \
        installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
index 1a54b1f8adbd49573ded0d0c00b4abfd0f9944fa..4e2776a60356bf01fff2416d71ad02363e7adab7 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amrecover.c,v 1.29.4.7.4.6.2.7 2003/01/04 04:33:32 martinea Exp $
+ * $Id: amrecover.c,v 1.29.4.7.4.6.2.7.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * an interactive program for recovering backed-up files
  */
@@ -424,17 +424,8 @@ char **argv;
     char cwd[STR_SIZE], *dn_guess = NULL, *mpt_guess = NULL;
     char *service_name;
     char *line = NULL;
-    int fd;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("amrecover");
     dbopen();
index d773b31f1dc2609c267c337bafdc42be6825cb06..10a89fca9496ca1d31da7538eca459ed551fb33b 100644 (file)
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 1.875c.  */
+/* A Bison parser, made by GNU Bison 2.0.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -144,7 +144,7 @@ typedef union YYSTYPE {
   char *strval;
   int subtok;
 } YYSTYPE;
-/* Line 191 of yacc.c.  */
+/* Line 190 of yacc.c.  */
 #line 149 "uparse.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -156,7 +156,7 @@ typedef union YYSTYPE {
 /* Copy the second part of user declarations.  */
 
 
-/* Line 214 of yacc.c.  */
+/* Line 213 of yacc.c.  */
 #line 161 "uparse.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
@@ -172,14 +172,10 @@ typedef union YYSTYPE {
 
 # ifdef YYSTACK_USE_ALLOCA
 #  if YYSTACK_USE_ALLOCA
-#   define YYSTACK_ALLOC alloca
-#  endif
-# else
-#  if defined (alloca) || defined (_ALLOCA_H)
-#   define YYSTACK_ALLOC alloca
-#  else
 #   ifdef __GNUC__
 #    define YYSTACK_ALLOC __builtin_alloca
+#   else
+#    define YYSTACK_ALLOC alloca
 #   endif
 #  endif
 # endif
@@ -205,7 +201,7 @@ typedef union YYSTYPE {
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
 {
-  short yyss;
+  short int yyss;
   YYSTYPE yyvs;
   };
 
@@ -215,7 +211,7 @@ union yyalloc
 /* The size of an array large to enough to hold all stacks, each with
    N elements.  */
 # define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))                    \
       + YYSTACK_GAP_MAXIMUM)
 
 /* Copy COUNT objects from FROM to TO.  The source and destination do
@@ -257,7 +253,7 @@ union yyalloc
 #if defined (__STDC__) || defined (__cplusplus)
    typedef signed char yysigned_char;
 #else
-   typedef short yysigned_char;
+   typedef short int yysigned_char;
 #endif
 
 /* YYFINAL -- State number of the termination state. */
@@ -374,7 +370,7 @@ static const char *const yytname[] =
 # ifdef YYPRINT
 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    token YYLEX-NUM.  */
-static const unsigned short yytoknum[] =
+static const unsigned short int yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
@@ -528,20 +524,53 @@ do                                                                \
     }                                                          \
 while (0)
 
+
 #define YYTERROR       1
 #define YYERRCODE      256
 
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).  */
 
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
 #ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   ((Current).first_line   = (Rhs)[1].first_line,      \
-    (Current).first_column = (Rhs)[1].first_column,    \
-    (Current).last_line    = (Rhs)[N].last_line,       \
-    (Current).last_column  = (Rhs)[N].last_column)
+# define YYLLOC_DEFAULT(Current, Rhs, N)                               \
+    do                                                                 \
+      if (N)                                                           \
+       {                                                               \
+         (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
+         (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
+         (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
+         (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
+       }                                                               \
+      else                                                             \
+       {                                                               \
+         (Current).first_line   = (Current).last_line   =              \
+           YYRHSLOC (Rhs, 0).last_line;                                \
+         (Current).first_column = (Current).last_column =              \
+           YYRHSLOC (Rhs, 0).last_column;                              \
+       }                                                               \
+    while (0)
 #endif
 
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)                 \
+     fprintf (File, "%d.%d-%d.%d",                     \
+              (Loc).first_line, (Loc).first_column,    \
+              (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
 /* YYLEX -- calling `yylex' with the right arguments.  */
 
 #ifdef YYLEX_PARAM
@@ -564,19 +593,13 @@ do {                                              \
     YYFPRINTF Args;                            \
 } while (0)
 
-# define YYDSYMPRINT(Args)                     \
-do {                                           \
-  if (yydebug)                                 \
-    yysymprint Args;                           \
-} while (0)
-
-# define YYDSYMPRINTF(Title, Token, Value, Location)           \
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)         \
 do {                                                           \
   if (yydebug)                                                 \
     {                                                          \
       YYFPRINTF (stderr, "%s ", Title);                                \
       yysymprint (stderr,                                      \
-                  Token, Value);       \
+                  Type, Value);        \
       YYFPRINTF (stderr, "\n");                                        \
     }                                                          \
 } while (0)
@@ -588,12 +611,12 @@ do {                                                              \
 
 #if defined (__STDC__) || defined (__cplusplus)
 static void
-yy_stack_print (short *bottom, short *top)
+yy_stack_print (short int *bottom, short int *top)
 #else
 static void
 yy_stack_print (bottom, top)
-    short *bottom;
-    short *top;
+    short int *bottom;
+    short int *top;
 #endif
 {
   YYFPRINTF (stderr, "Stack now");
@@ -643,8 +666,7 @@ do {                                        \
 int yydebug;
 #else /* !YYDEBUG */
 # define YYDPRINTF(Args)
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YY_STACK_PRINT(Bottom, Top)
 # define YY_REDUCE_PRINT(Rule)
 #endif /* !YYDEBUG */
@@ -662,10 +684,6 @@ int yydebug;
    SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
    evaluated with infinite-precision integer arithmetic.  */
 
-#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
 #ifndef YYMAXDEPTH
 # define YYMAXDEPTH 10000
 #endif
@@ -747,15 +765,15 @@ yysymprint (yyoutput, yytype, yyvaluep)
   (void) yyvaluep;
 
   if (yytype < YYNTOKENS)
-    {
-      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-# ifdef YYPRINT
-      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
-    }
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
   else
     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
+
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
   switch (yytype)
     {
       default:
@@ -771,10 +789,11 @@ yysymprint (yyoutput, yytype, yyvaluep)
 
 #if defined (__STDC__) || defined (__cplusplus)
 static void
-yydestruct (int yytype, YYSTYPE *yyvaluep)
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 #else
 static void
-yydestruct (yytype, yyvaluep)
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
     int yytype;
     YYSTYPE *yyvaluep;
 #endif
@@ -782,6 +801,10 @@ yydestruct (yytype, yyvaluep)
   /* Pacify ``unused variable'' warnings.  */
   (void) yyvaluep;
 
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
   switch (yytype)
     {
 
@@ -809,10 +832,10 @@ int yyparse ();
 
 
 
-/* The lookahead symbol.  */
+/* The look-ahead symbol.  */
 int yychar;
 
-/* The semantic value of the lookahead symbol.  */
+/* The semantic value of the look-ahead symbol.  */
 YYSTYPE yylval;
 
 /* Number of syntax errors so far.  */
@@ -848,7 +871,7 @@ yyparse ()
   int yyresult;
   /* Number of tokens to shift before error messages enabled.  */
   int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
+  /* Look-ahead token as an internal (translated) token number.  */
   int yytoken = 0;
 
   /* Three stacks and their tools:
@@ -860,9 +883,9 @@ yyparse ()
      to reallocate them elsewhere.  */
 
   /* The state stack.  */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  register short int *yyssp;
 
   /* The semantic value stack.  */
   YYSTYPE yyvsa[YYINITDEPTH];
@@ -899,6 +922,9 @@ yyparse ()
   yyssp = yyss;
   yyvsp = yyvs;
 
+
+  yyvsp[0] = yylval;
+
   goto yysetstate;
 
 /*------------------------------------------------------------.
@@ -924,7 +950,7 @@ yyparse ()
           these so that the &'s don't force the real ones into
           memory.  */
        YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
+       short int *yyss1 = yyss;
 
 
        /* Each stack pointer address is followed by the size of the
@@ -952,7 +978,7 @@ yyparse ()
        yystacksize = YYMAXDEPTH;
 
       {
-       short *yyss1 = yyss;
+       short int *yyss1 = yyss;
        union yyalloc *yyptr =
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
        if (! yyptr)
@@ -988,18 +1014,18 @@ yyparse ()
 yybackup:
 
 /* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
+/* Read a look-ahead token if we need one and don't already have one.  */
 /* yyresume: */
 
-  /* First try to decide what to do without reference to lookahead token.  */
+  /* First try to decide what to do without reference to look-ahead token.  */
 
   yyn = yypact[yystate];
   if (yyn == YYPACT_NINF)
     goto yydefault;
 
-  /* Not known => get a lookahead token if don't already have one.  */
+  /* Not known => get a look-ahead token if don't already have one.  */
 
-  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
@@ -1014,7 +1040,7 @@ yybackup:
   else
     {
       yytoken = YYTRANSLATE (yychar);
-      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
     }
 
   /* If the proper action on seeing token YYTOKEN is to reduce or to
@@ -1034,8 +1060,8 @@ yybackup:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -1086,7 +1112,7 @@ yyreduce:
     {
         case 12:
 #line 76 "uparse.y"
-    { list_disk(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { list_disk((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 13:
@@ -1096,27 +1122,27 @@ yyreduce:
 
   case 14:
 #line 78 "uparse.y"
-    { set_date(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { set_date((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 15:
 #line 79 "uparse.y"
-    { set_host(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { set_host((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 16:
 #line 80 "uparse.y"
-    { set_disk(yyvsp[-1].strval, yyvsp[0].strval); amfree(yyvsp[-1].strval); amfree(yyvsp[0].strval); }
+    { set_disk((yyvsp[-1].strval), (yyvsp[0].strval)); amfree((yyvsp[-1].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 17:
 #line 81 "uparse.y"
-    { set_disk(yyvsp[0].strval, NULL); amfree(yyvsp[0].strval); }
+    { set_disk((yyvsp[0].strval), NULL); amfree((yyvsp[0].strval)); }
     break;
 
   case 18:
 #line 82 "uparse.y"
-    { set_tape(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { set_tape((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 19:
@@ -1126,12 +1152,12 @@ yyreduce:
 
   case 20:
 #line 84 "uparse.y"
-    { cd_glob(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { cd_glob((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 21:
 #line 85 "uparse.y"
-    { cd_regex(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { cd_regex((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 22:
@@ -1164,7 +1190,7 @@ yyreduce:
 
   case 26:
 #line 101 "uparse.y"
-    { display_extract_list(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { display_extract_list((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 27:
@@ -1194,42 +1220,42 @@ yyreduce:
 
   case 33:
 #line 117 "uparse.y"
-    { add_glob(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { add_glob((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 34:
 #line 118 "uparse.y"
-    { add_glob(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { add_glob((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 36:
 #line 126 "uparse.y"
-    { add_regex(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { add_regex((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 37:
 #line 127 "uparse.y"
-    { add_regex(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { add_regex((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 39:
 #line 135 "uparse.y"
-    { delete_glob(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { delete_glob((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 40:
 #line 136 "uparse.y"
-    { delete_glob(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { delete_glob((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 42:
 #line 144 "uparse.y"
-    { delete_regex(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { delete_regex((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 43:
 #line 145 "uparse.y"
-    { delete_regex(yyvsp[0].strval); amfree(yyvsp[0].strval); }
+    { delete_regex((yyvsp[0].strval)); amfree((yyvsp[0].strval)); }
     break;
 
   case 44:
@@ -1240,10 +1266,10 @@ yyreduce:
   case 45:
 #line 150 "uparse.y"
     {
-               if (chdir(yyvsp[0].strval) == -1) {
-                       perror(yyvsp[0].strval);
+               if (chdir((yyvsp[0].strval)) == -1) {
+                       perror((yyvsp[0].strval));
                }
-               amfree(yyvsp[0].strval);
+               amfree((yyvsp[0].strval));
        }
     break;
 
@@ -1260,8 +1286,8 @@ yyreduce:
 
     }
 
-/* Line 1000 of yacc.c.  */
-#line 1265 "uparse.c"
+/* Line 1037 of yacc.c.  */
+#line 1291 "uparse.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -1361,7 +1387,7 @@ yyerrlab:
 
   if (yyerrstatus == 3)
     {
-      /* If just tried and failed to reuse lookahead token after an
+      /* If just tried and failed to reuse look-ahead token after an
         error, discard it.  */
 
       if (yychar <= YYEOF)
@@ -1371,23 +1397,22 @@ yyerrlab:
          if (yychar == YYEOF)
             for (;;)
               {
+
                 YYPOPSTACK;
                 if (yyssp == yyss)
                   YYABORT;
-                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
-                yydestruct (yystos[*yyssp], yyvsp);
+                yydestruct ("Error: popping",
+                             yystos[*yyssp], yyvsp);
               }
         }
       else
        {
-         YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
-         yydestruct (yytoken, &yylval);
+         yydestruct ("Error: discarding", yytoken, &yylval);
          yychar = YYEMPTY;
-
        }
     }
 
-  /* Else will try to reuse lookahead token after shifting the error
+  /* Else will try to reuse look-ahead token after shifting the error
      token.  */
   goto yyerrlab1;
 
@@ -1404,7 +1429,7 @@ yyerrorlab:
      goto yyerrorlab;
 #endif
 
-  yyvsp -= yylen;
+yyvsp -= yylen;
   yyssp -= yylen;
   yystate = *yyssp;
   goto yyerrlab1;
@@ -1434,8 +1459,8 @@ yyerrlab1:
       if (yyssp == yyss)
        YYABORT;
 
-      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
-      yydestruct (yystos[yystate], yyvsp);
+
+      yydestruct ("Error: popping", yystos[yystate], yyvsp);
       YYPOPSTACK;
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
@@ -1444,11 +1469,12 @@ yyerrlab1:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
   *++yyvsp = yylval;
 
 
+  /* Shift the error token. */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
   yystate = yyn;
   goto yynewstate;
 
@@ -1464,6 +1490,9 @@ yyacceptlab:
 | yyabortlab -- YYABORT comes here.  |
 `-----------------------------------*/
 yyabortlab:
+  yydestruct ("Error: discarding lookahead",
+              yytoken, &yylval);
+  yychar = YYEMPTY;
   yyresult = 1;
   goto yyreturn;
 
index a6c5327c29a9956ff3a7d89e259689ec0f02df5a..5db3760d0cefd0490c885bba059ad9dfe8dca187 100644 (file)
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 1.875c.  */
+/* A Bison parser, made by GNU Bison 2.0.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -97,8 +97,8 @@ typedef union YYSTYPE {
   char *strval;
   int subtok;
 } YYSTYPE;
-/* Line 1275 of yacc.c.  */
-#line 102 "y.tab.h"
+/* Line 1318 of yacc.c.  */
+#line 102 "uparse.h"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
index ed420428335e381cd0abf23b8aa01c7e0ff72dc9..a5f06980c969bf37c181f2b50a81c6129ffe9d54 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -38,7 +38,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 sbin_PROGRAMS = amrestore$(EXEEXT)
 libexec_PROGRAMS = amidxtaped$(EXEEXT)
 subdir = restore-src
@@ -70,15 +72,13 @@ amrestore_DEPENDENCIES = ../common-src/libamanda.$(LIB_EXTENSION) \
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/amidxtaped.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amrestore.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(amidxtaped_SOURCES) amrestore.c
 DIST_SOURCES = $(amidxtaped_SOURCES) amrestore.c
@@ -241,6 +241,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -401,24 +403,21 @@ distclean-compile:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
@@ -452,7 +451,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -532,7 +531,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -596,9 +595,9 @@ uninstall-am: uninstall-info-am uninstall-libexecPROGRAMS \
        distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
-       install-data-am install-exec install-exec-am install-info \
-       install-info-am install-libexecPROGRAMS install-man \
-       install-sbinPROGRAMS install-strip installcheck \
+       install-data-am install-exec install-exec-am install-exec-hook \
+       install-info install-info-am install-libexecPROGRAMS \
+       install-man install-sbinPROGRAMS install-strip installcheck \
        installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
index 9f9e62ad139655560d67d8f0e2f6f97ca4ebf022..4c672721be956aba82360b31e0a908b77c19f54b 100644 (file)
@@ -23,7 +23,7 @@
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
-/* $Id: amidxtaped.c,v 1.25.2.3.4.1.2.11 2004/01/29 19:26:51 martinea Exp $
+/* $Id: amidxtaped.c,v 1.25.2.3.4.1.2.11.2.2 2005/10/02 13:48:42 martinea Exp $
  *
  * This daemon extracts a dump image off a tape for amrecover and
  * returns it over the network. It basically, reads a number of
@@ -192,12 +192,12 @@ char **argv;
     char **amrestore_args;
     char *buf = NULL;
     int i;
+    socklen_t socklen;
     char *amrestore_path;
     pid_t pid;
     int isafile;
     struct stat stat_tape;
     char *tapename = NULL;
-    int fd;
     char *s, *fp;
     int ch;
     char *errstr = NULL;
@@ -214,16 +214,7 @@ char **argv;
     char *re_datestamp = NULL;
     char *re_config = NULL;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     /*
@@ -292,8 +283,8 @@ char **argv;
                  debug_prefix_time(NULL)));
     }
 
-    i = sizeof (addr);
-    if (getpeername(0, (struct sockaddr *)&addr, &i) == -1)
+    socklen = sizeof (addr);
+    if (getpeername(0, (struct sockaddr *)&addr, &socklen) == -1)
        error("getpeername: %s", strerror(errno));
     if (addr.sin_family != AF_INET || ntohs(addr.sin_port) == 20) {
        error("connection rejected from %s family %d port %d",
index dca74ba3c0c043fc753b9372a104b04e5bc0da02..aef9ba429d57cd8e417ffd09855993c1024e6069 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amrestore.c,v 1.28.2.4.4.3.2.8.2.3 2004/11/19 18:12:30 martinea Exp $
+ * $Id: amrestore.c,v 1.28.2.4.4.3.2.8.2.4 2005/09/20 21:31:52 jrjackson Exp $
  *
  * retrieves files from an amanda tape
  */
@@ -477,22 +477,13 @@ char **argv;
     int found_match;
     int arg_state;
     amwait_t compress_status;
-    int fd;
     int r = 0;
     char *e;
     char *err;
     char *label = NULL;
     int count_error;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("amrestore");
 
index ea0cd2a6f6557133c54069e48f9c8400b28a3026..f0cffa0d7ea10a8cfb52faa6243f9ba2cd283bba 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -46,7 +46,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 sbin_PROGRAMS = amadmin$(EXEEXT) amcheck$(EXEEXT) amflush$(EXEEXT) \
        amgetconf$(EXEEXT) amlabel$(EXEEXT) amtape$(EXEEXT) \
        amreport$(EXEEXT)
@@ -73,7 +75,14 @@ CONFIG_HEADER = $(top_builddir)/config/config.h
 CONFIG_CLEAN_FILES = amcheckdb.sh amcleanup.sh amdump.sh \
        amfreetapes.sh amoverview.pl amrmtape.sh amtoc.pl amverify.sh \
        amstatus.pl amverifyrun.sh
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(sbindir)"
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libexecdir)" \
+       "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(sbindir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libamserver_la_LIBADD =
@@ -224,32 +233,13 @@ SCRIPTS = $(sbin_SCRIPTS)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/amadmin.Po ./$(DEPDIR)/amcheck.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amcleanupdisk.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amflush.Po ./$(DEPDIR)/amindex.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/amindexd.Po ./$(DEPDIR)/amlabel.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amlogroll.Po ./$(DEPDIR)/amtape.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amtrmidx.Po ./$(DEPDIR)/amtrmlog.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/changer.Plo ./$(DEPDIR)/conffile.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/conffile.test.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/disk_history.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/diskfile.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/diskfile.test.Po ./$(DEPDIR)/driver.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/driverio.Plo ./$(DEPDIR)/dumper.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/find.Plo ./$(DEPDIR)/getconf.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/holding.Plo ./$(DEPDIR)/infofile.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/infofile.test.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/list_dir.Po ./$(DEPDIR)/logfile.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/planner.Po ./$(DEPDIR)/reporter.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/server_util.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/tapefile.Plo ./$(DEPDIR)/taper.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libamserver_la_SOURCES) amadmin.c amcheck.c \
        amcleanupdisk.c amflush.c $(amgetconf_SOURCES) \
@@ -423,6 +413,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -561,7 +553,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          if test -f $$p; then \
-           f="`echo $$p | sed -e 's|^.*/||'`"; \
+           f=$(am__strip_dir) \
            echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
            $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
          else :; fi; \
@@ -569,8 +561,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 
 uninstall-libLTLIBRARIES:
        @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-           p="`echo $$p | sed -e 's|^.*/||'`"; \
+       @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         p=$(am__strip_dir) \
          echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
          $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
        done
@@ -579,7 +571,7 @@ clean-libLTLIBRARIES:
        -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" = "$$p" && dir=.; \
+         test "$$dir" != "$$p" || dir=.; \
          echo "rm -f \"$${dir}/so_locations\""; \
          rm -f "$${dir}/so_locations"; \
        done
@@ -761,24 +753,21 @@ distclean-compile:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
@@ -812,7 +801,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -893,7 +882,7 @@ clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -960,15 +949,15 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
        distclean-generic distclean-libtool distclean-tags distdir dvi \
        dvi-am html html-am info info-am install install-am \
        install-data install-data-am install-exec install-exec-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-libexecPROGRAMS install-man install-sbinPROGRAMS \
-       install-sbinSCRIPTS install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-       uninstall-am uninstall-info-am uninstall-libLTLIBRARIES \
-       uninstall-libexecPROGRAMS uninstall-sbinPROGRAMS \
-       uninstall-sbinSCRIPTS
+       install-exec-hook install-info install-info-am \
+       install-libLTLIBRARIES install-libexecPROGRAMS install-man \
+       install-sbinPROGRAMS install-sbinSCRIPTS install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-info-am \
+       uninstall-libLTLIBRARIES uninstall-libexecPROGRAMS \
+       uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS
 
 
 .pl:
index c3169076fc61696f00ff58f9f673155dee708d98..1309cf5314aecdc12ef933ff15fabec20fb9d6cb 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: amadmin.c,v 1.49.2.13.2.3.2.15.2.9 2005/03/29 16:35:11 martinea Exp $
+ * $Id: amadmin.c,v 1.49.2.13.2.3.2.15.2.12 2005/09/20 21:31:52 jrjackson Exp $
  *
  * controlling process for the Amanda backup system
  */
@@ -63,7 +63,7 @@ void find P((int argc, char **argv));
 void delete P((int argc, char **argv));
 void delete_one P((disk_t *dp));
 void balance P((int argc, char **argv));
-void tape P((void));
+void tape P((int argc, char **argv));
 void bumpsize P((void));
 void diskloop P((int argc, char **argv, char *cmdname,
                 void (*func) P((disk_t *dp))));
@@ -84,23 +84,13 @@ int main(argc, argv)
 int argc;
 char **argv;
 {
-    int fd;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
     char *conf_diskfile;
     char *conf_infofile;
     char *conffile;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amadmin");
@@ -170,7 +160,7 @@ char **argv;
     else if(strcmp(argv[2],"find") == 0) find(argc, argv);
     else if(strcmp(argv[2],"delete") == 0) delete(argc, argv);
     else if(strcmp(argv[2],"balance") == 0) balance(argc, argv);
-    else if(strcmp(argv[2],"tape") == 0) tape();
+    else if(strcmp(argv[2],"tape") == 0) tape(argc, argv);
     else if(strcmp(argv[2],"bumpsize") == 0) bumpsize();
     else if(strcmp(argv[2],"import") == 0) import_db(argc, argv);
     else if(strcmp(argv[2],"export") == 0) export_db(argc, argv);
@@ -225,7 +215,7 @@ void usage P((void))
     fprintf(stderr,
            "\tbalance [-days <num>]\t\t# Show nightly dump size balance.\n");
     fprintf(stderr,
-           "\ttape\t\t\t\t# Show which tape is due next.\n");
+           "\ttape [-days <num>]\t\t# Show which tape is due next.\n");
     fprintf(stderr,
            "\tbumpsize\t\t\t# Show current bump thresholds.\n");
     fprintf(stderr,
@@ -750,22 +740,36 @@ char **argv;
 
 /* ----------------------------------------------- */
 
-void tape()
+void tape(argc, argv)
+int argc;
+char **argv;
 {
     tape_t *tp, *lasttp;
-    int runtapes, i;
+    int runtapes, i, j;
+    int nb_days = 1;
 
+    if(argc > 4 && strcmp(argv[3],"--days") == 0) {
+       nb_days = atoi(argv[4]);
+       if(nb_days < 1) {
+           printf("days must be an integer bigger than 0\n");
+           return;
+       }
+    }
     runtapes = getconf_int(CNF_RUNTAPES);
     tp = lookup_last_reusable_tape(0);
 
-    for ( i=0 ; i < runtapes ; i++ ) {
-       printf("The next Amanda run should go onto ");
-
-       if(tp != NULL)
-           printf("tape %s or ", tp->label);
-       printf("a new tape.\n");
+    for ( j=0 ; j < nb_days ; j++ ) {
+       for ( i=0 ; i < runtapes ; i++ ) {
+           if(i==0)
+               printf("The next Amanda run should go onto ");
+           else
+               printf("                                   ");
+           if(tp != NULL)
+               printf("tape %s or ", tp->label);
+           printf("a new tape.\n");
        
-       tp = lookup_last_reusable_tape(i + 1);
+           tp = lookup_last_reusable_tape((j*runtapes) + i + 1);
+       }
     }
     lasttp = lookup_tapepos(lookup_nb_tape());
     i = runtapes;
@@ -1474,7 +1478,7 @@ int import_one P((void))
        info.inf[level] = onestat;
     }
     nb_history = 0;
-    for(i=0;i<=NB_HISTORY+1;i++) {
+    for(i=0;i<=NB_HISTORY;i++) {
        info.history[i].level = -2;
     }
     while(1) {
index b7c2c172dafc000fc3386e3482c21070e09613cb..79f2d308447bde3dc1fe9a2323668376159ce693 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amcheck.c,v 1.50.2.19.2.7.2.20.2.10 2005/04/06 12:32:31 martinea Exp $
+ * $Id: amcheck.c,v 1.50.2.19.2.7.2.20.2.12 2005/10/11 14:50:00 martinea Exp $
  *
  * checks for common problems in server and clients
  */
@@ -109,7 +109,6 @@ char **argv;
     pid_t pid;
     extern int optind;
     int l, n, s;
-    int fd;
     char *mailto = NULL;
     extern char *optarg;
     int mailout;
@@ -121,16 +120,7 @@ char **argv;
     struct passwd *pw;
     uid_t uid_me;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amcheck");
@@ -660,6 +650,7 @@ uid_t dumpuid;
 
 int start_server_check(fd, do_localchk, do_tapechk)
     int fd;
+    int do_localchk, do_tapechk;
 {
     char *errstr, *tapename;
     generic_fs_stats_t fs;
index 657ad0103cb7e4c751c271f3ca0bf1a906928ed8..27d33a701f4331406d38a7270e25931d6e7634fe 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amcleanupdisk.c,v 1.1.2.6.4.3.2.2 2002/11/05 01:59:23 martinea Exp $
+ * $Id: amcleanupdisk.c,v 1.1.2.6.4.3.2.2.2.1 2005/09/20 21:31:52 jrjackson Exp $
  */
 #include "amanda.h"
 
@@ -50,22 +50,12 @@ char **main_argv;
 {
     struct passwd *pw;
     char *dumpuser;
-    int fd;
     disklist_t *diskqp;
     char *conffile;
     char *conf_diskfile;
     char *conf_infofile;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amcleanupdisk");
index f6a5df5d79315905ccc0d9fa73aec2481e9df0ea..c8d5a4a428221e588ab6958be46e5e77d88abe4a 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amflush.c,v 1.41.2.13.4.6.2.9.2.2 2004/10/20 21:49:26 martinea Exp $
+ * $Id: amflush.c,v 1.41.2.13.4.6.2.9.2.3 2005/09/20 21:31:52 jrjackson Exp $
  *
  * write files from work directory onto tape
  */
@@ -68,7 +68,6 @@ char **main_argv;
     char *dumpuser;
     char **datearg = NULL;
     int nb_datearg = 0;
-    int fd;
     char *conffile;
     char *conf_diskfile;
     char *conf_tapelist;
@@ -85,16 +84,7 @@ char **main_argv;
     char date_string[100];
     time_t today;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amflush");
index e35d2709fe2ed89c4108cec033778f2e464f4fc3..7ad24e871941771e3da41b7fb987f9457607afc4 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amindexd.c,v 1.39.2.11.4.4.2.13.2.1 2004/04/05 17:22:59 martinea Exp $
+ * $Id: amindexd.c,v 1.39.2.11.4.4.2.13.2.3 2005/10/02 13:48:42 martinea Exp $
  *
  * This is the server daemon part of the index client/server system.
  * It is assumed that this is launched from inetd instead of being
@@ -798,27 +798,17 @@ char **argv;
     char *s, *fp;
     int ch;
     char *cmd_undo, cmd_undo_ch;
-    int i;
+    socklen_t socklen;
     struct sockaddr_in his_addr;
     struct hostent *his_name;
     char *arg;
     char *cmd;
     int len;
-    int fd;
     int user_validated = 0;
     char *errstr = NULL;
     char *pgm = "amindexd";                    /* in case argv[0] is not set */
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     /*
@@ -913,8 +903,8 @@ char **argv;
               (char *)his_name->h_addr_list[0], his_name->h_length);
     } else {
        /* who are we talking to? */
-       i = sizeof (his_addr);
-       if (getpeername(0, (struct sockaddr *)&his_addr, &i) == -1)
+       socklen = sizeof (his_addr);
+       if (getpeername(0, (struct sockaddr *)&his_addr, &socklen) == -1)
            error("getpeername: %s", strerror(errno));
     }
     if (his_addr.sin_family != AF_INET || ntohs(his_addr.sin_port) == 20)
index 4e0ae46b26a6ab8a76c553ee8bf4c1e3dd771a1d..b713fc0a384ec22d00de75639443a594a80fbec0 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amlabel.c,v 1.18.2.15.4.3.2.4 2003/01/01 23:28:53 martinea Exp $
+ * $Id: amlabel.c,v 1.18.2.15.4.3.2.4.2.4 2005/10/02 13:48:42 martinea Exp $
  *
  * write an Amanda label on a tape
  */
@@ -63,7 +63,10 @@ int main(argc, argv)
     char *conf_tapelist_old;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
-    int fd;
+#ifdef HAVE_LINUX_ZFTAPE_H
+    int fd = -1;
+    int isa_zftape;
+#endif /* HAVE_LINUX_ZFTAPE_H */
     int have_changer;
     int force, tape_ok;
     tape_t *tp;
@@ -82,16 +85,7 @@ int main(argc, argv)
     int first_seg, last_seg;
 #endif /* HAVE_LIBVTBLC */
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amlabel");
@@ -189,7 +183,8 @@ int main(argc, argv)
     }
 
 #ifdef HAVE_LINUX_ZFTAPE_H
-    if (is_zftape(tapename) == 1){
+    isa_zftape = is_zftape(tapename);
+    if (isa_zftape) {
        if((fd = tape_open(tapename, O_WRONLY)) == -1) {
            errstr = newstralloc2(errstr, "amlabel: ",
                                  (errno == EACCES) ? "tape is write-protected"
@@ -202,7 +197,7 @@ int main(argc, argv)
     printf("rewinding"); fflush(stdout);
 
 #ifdef HAVE_LINUX_ZFTAPE_H
-    if (is_zftape(tapename) == 1){
+    if (isa_zftape) {
        if(tapefd_rewind(fd) == -1) {
            putchar('\n');
            error(strerror(errno));
@@ -245,7 +240,7 @@ int main(argc, argv)
     printf("rewinding"); fflush(stdout);
 
 #ifdef HAVE_LINUX_ZFTAPE_H
-    if (is_zftape(tapename) == 1){
+    if (isa_zftape) {
        if(tapefd_rewind(fd) == -1) {
            putchar('\n');
            error(strerror(errno));
@@ -262,7 +257,7 @@ int main(argc, argv)
        printf(", writing label %s", label); fflush(stdout);
 
 #ifdef HAVE_LINUX_ZFTAPE_H
-       if (is_zftape(tapename) == 1){
+       if (isa_zftape) {
            errstr = tapefd_wrlabel(fd, "X", label, tt_blocksize_kb * 1024);
            if(errstr != NULL) {
                putchar('\n');
@@ -278,13 +273,13 @@ int main(argc, argv)
        }
 
 #ifdef HAVE_LINUX_ZFTAPE_H
-       if (is_zftape(tapename) == 1){
+       if (isa_zftape) {
            tapefd_weof(fd, 1);
        }
 #endif /* HAVE_LINUX_ZFTAPE_H */
 
 #ifdef HAVE_LINUX_ZFTAPE_H
-       if (is_zftape(tapename) == 1){
+       if (isa_zftape) {
            errstr = tapefd_wrendmark(fd, "X", tt_blocksize_kb * 1024);
            if(errstr != NULL) {
                putchar('\n');
@@ -300,7 +295,7 @@ int main(argc, argv)
        }
 
 #ifdef HAVE_LINUX_ZFTAPE_H
-       if (is_zftape(tapename) == 1){
+       if (isa_zftape) {
            tapefd_weof(fd, 1);
 
            printf(",\nrewinding"); fflush(stdout); 
index 728ee3a3bff796eb23cd457608f669242d9177c3..cd7601b911b6a416cf02f79e091df440fc45ccac 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: amlogroll.c,v 1.1.2.1.4.1.2.3 2003/10/27 17:55:39 martinea Exp $
+ * $Id: amlogroll.c,v 1.1.2.1.4.1.2.3.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * rename a live log file to the datestamped name.
  */
@@ -47,20 +47,11 @@ char **argv;
     char *logfname;
     char *conf_logdir;
     FILE *logfile;
-    int fd;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
     char my_cwd[STR_SIZE];
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("amlogroll");
 
index dc303d17474331149e94d8e790307c21329047c7..25f1e07c888d89da0a77957c88c59d12114daf5e 100644 (file)
@@ -14,7 +14,7 @@ use POSIX;
 
 sub Usage {
     print STDERR <<END;
-Usage: $0 [[-config] CONFIG] [-hostwidth width] [-diskwidth width] [-skipmissed] [-verbose]
+Usage: $0 [[-config] CONFIG] [-hostwidth width] [-diskwidth width] [-skipmissed] [-last] [-num0] [-togo0] [-verbose]
 
 This script generates to standard output an overview of the filesystems
 dumped over time and the type of dump done on a particular day, such as
@@ -56,12 +56,18 @@ my $opt_config              = "$config";
 my $opt_hostwidth      = 8;
 my $opt_diskwidth      = 20;
 my $opt_skipmissed     = 0;
+my $opt_last           = 0;
+my $opt_num0           = 0;
+my $opt_togo0          = 0;
 my $opt_verbose                = 0;
 
 GetOptions('config=s'          => \$opt_config,
           'hostwidth=i'        => \$opt_hostwidth,
           'diskwidth=i'        => \$opt_diskwidth,
           'skipmissed'         => \$opt_skipmissed,
+          'last'               => \$opt_last,
+          'num0'               => \$opt_num0,
+          'togo0'              => \$opt_togo0,
           'verbose'            => \$opt_verbose)
 or Usage();
 
@@ -128,19 +134,51 @@ $fh->close or
     die "$0: error in closing `$amadmin $opt_config find|' pipe: $!\n";
 
 # Process the status to arrive at a "last" status
-for $host (sort keys %disks) {
-    for $disk (sort keys %{$disks{$host}}) {
-       $level{$host}{$disk}{"0000-LA-ST"} = '';
-       for $date (sort keys %dates) {
-           if ($level{$host}{$disk}{$date} eq "E"
-                && $level{$host}{$disk}{"0000-LA-ST"} =~ /^\d/ ) {
-               $level{$host}{$disk}{"0000-LA-ST"} .= $level{$host}{$disk}{$date};
-           } elsif ($level{$host}{$disk}{$date} eq "") {
-               $level{$host}{$disk}{"0000-LA-ST"} =~ s/E//;
-           } else {
-               $level{$host}{$disk}{"0000-LA-ST"} = $level{$host}{$disk}{$date};
+if ($opt_last) {
+    for $host (sort keys %disks) {
+        for $disk (sort keys %{$disks{$host}}) {
+           $level{$host}{$disk}{"0000-LA-ST"} = '';
+           for $date (sort keys %dates) {
+               if ($level{$host}{$disk}{$date} eq "E"
+                    && $level{$host}{$disk}{"0000-LA-ST"} =~ /^\d/ ) {
+                   $level{$host}{$disk}{"0000-LA-ST"} .= $level{$host}{$disk}{$date};
+               } elsif ($level{$host}{$disk}{$date} eq "") {
+                   $level{$host}{$disk}{"0000-LA-ST"} =~ s/E//;
+               } else {
+                   $level{$host}{$disk}{"0000-LA-ST"} = $level{$host}{$disk}{$date};
+               }
            }
-       }
+        }
+    }
+}
+
+# Number of level 0 backups
+if ($opt_num0) {
+    for $host (sort keys %disks) {
+        for $disk (sort keys %{$disks{$host}}) {
+            $level{$host}{$disk}{'0000-NM-L0'} = 0;
+            for $date (sort keys %dates) {
+                if ($level{$host}{$disk}{$date} =~ /0/) {
+                    $level{$host}{$disk}{'0000-NM-L0'} += 1;
+                }
+            }
+        }
+    }
+}
+
+# Runs to the last level 0
+if ($opt_togo0) {
+    for $host (sort keys %disks) {
+        for $disk (sort keys %{$disks{$host}}) {
+            $level{$host}{$disk}{'0000-TO-GO'} = 0;
+            my $togo=0;
+            for $date (sort keys %dates) {
+                if ($level{$host}{$disk}{$date} =~ /0/) {
+                    $level{$host}{$disk}{'0000-TO-GO'} = $togo;
+                }
+                $togo++;
+            }
+        }
     }
 }
 
@@ -161,7 +199,13 @@ unless ($opt_skipmissed)
 }
 
 #Add the "last" entry    
-$dates{"0000-LA-ST"}=1;
+$dates{"0000-LA-ST"}=1 if ($opt_last);
+
+#Add the "Number of Level 0s" entry
+$dates{"0000-NM-L0"}=1 if ($opt_num0);
+
+#Add the "Runs to go" entry
+$dates{"0000-TO-GO"}=1 if ($opt_togo0);
 
 # make formats
 
index 9c0f7f5a960e969aa64495335cbf0948b7e160bf..3465e7ffdb958923e3f4c6b59a087b59d3632975 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amtape.c,v 1.22.2.6.4.5.2.4 2003/11/25 12:21:08 martinea Exp $
+ * $Id: amtape.c,v 1.22.2.6.4.5.2.4.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * tape changer interface program
  */
@@ -91,23 +91,13 @@ char **argv;
     char *argv0 = argv[0];
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
-    int fd;
     int have_changer;
     uid_t uid_me;
     uid_t uid_dumpuser;
     char *dumpuser;
     struct passwd *pw;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amtape");
index 19e2c57ec1a712f86642fc6fa46dcf06f42663fe..62adeb7fe269b849f6d96b9e0dce131e9f248eb1 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amtrmidx.c,v 1.21.4.1.4.2.2.5.2.1 2004/02/12 18:28:37 martinea Exp $
+ * $Id: amtrmidx.c,v 1.21.4.1.4.2.2.5.2.2 2005/09/20 21:31:52 jrjackson Exp $
  *
  * trims number of index files to only those still in system.  Well
  * actually, it keeps a few extra, plus goes back to the last level 0
@@ -63,21 +63,11 @@ char **argv;
     char *conf_diskfile;
     char *conf_tapelist;
     char *conf_indexdir;
-    int fd;
     find_result_t *output_find;
     time_t tmp_time;
     int amtrmidx_debug = 0;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amtrmidx");
index 065547dcd4ffedf82eb8ba1c1713c9945d8fbef4..52e936db9d633020e1bfc9966e8f8b5cdf0ab3c2 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amtrmlog.c,v 1.1.2.3.4.1.2.2 2003/01/01 23:28:53 martinea Exp $
+ * $Id: amtrmlog.c,v 1.1.2.3.4.1.2.2.2.1 2005/09/20 21:31:52 jrjackson Exp $
  *
  * trims number of index files to only those still in system.  Well
  * actually, it keeps a few extra, plus goes back to the last level 0
@@ -48,7 +48,6 @@ char **argv;
 {
     disklist_t *diskl;
     int no_keep;                       /* files per system to keep */
-    int fd;
     char **output_find_log;
     DIR *dir;
     struct dirent *adir;
@@ -66,16 +65,7 @@ char **argv;
     char *conf_logdir;
     int amtrmidx_debug = 0;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
-
+    safe_fd(-1, 0);
     safe_cd();
 
     set_pname("amtrmlog");
index 8b052e12fb6c3a081157d46ce32b970d4771731d..9af9118e9c335788c59cf62526fb90718406f74b 100644 (file)
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-#      $Id: amverify.sh.in,v 1.7.2.13.4.5.2.6.2.2 2004/11/19 18:12:30 martinea Exp $
+#      $Id: amverify.sh.in,v 1.7.2.13.4.5.2.6.2.3 2005/09/15 13:26:45 martinea Exp $
 #
 # (C) 1996 by ICEM Systems GmbH
 # Author: Axel Zinser (fifi@icem.de)
@@ -437,9 +437,6 @@ while [ $SLOT -lt $SLOTS ]; do
                elif [ -n "$EOF" ]; then
                        report "End-of-Tape detected."
                        break
-               elif [ -n "$EOI" ]; then
-                       report "End-of-Information detected."
-                       break
                else
                        report "** Error detected ($FILE)"
                        echo "$VOLUME ($FILE):" >>$DEFECTS
index b842d7aa9f4301607bfbb32aac9d32b707f90fc9..389679f97925122b0300b0ff30354104988fe8f1 100644 (file)
@@ -48,8 +48,8 @@ else
 fi
 
 
-FIRST_SLOT=`grep "taper: slot" $AMLOG | fgrep 'exact label match 
-new tape 
+FIRST_SLOT=`grep "taper: slot" $AMLOG | fgrep 'exact label match
+new tape
 first labelstr match' | sed 1q | sed 's/://g' | awk '{print $3}'`
 if [ X"$FIRST_SLOT" = X"" ]; then
   FIRST_SLOT='-1'
index 16cd795eb1cbab095f1d2492898fe27188fe0f06..f921c39f591616390477bb0bcaa4a91f0b8a1c9e 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: conffile.c,v 1.54.2.16.2.5.2.20.2.8 2005/03/29 16:35:11 martinea Exp $
+ * $Id: conffile.c,v 1.54.2.16.2.5.2.20.2.10 2005/09/30 19:13:36 martinea Exp $
  *
  * read configuration file
  */
@@ -3199,19 +3199,10 @@ main(argc, argv)
   char *conffile;
   char *diskfile;
   int result;
-  int fd;
   unsigned long malloc_hist_1, malloc_size_1;
   unsigned long malloc_hist_2, malloc_size_2;
 
-  for(fd = 3; fd < FD_SETSIZE; fd++) {
-    /*
-     * Make sure nobody spoofs us with a lot of extra open files
-     * that would cause an open we do to get a very high file
-     * descriptor, which in turn might be used as an index into
-     * an array (e.g. an fd_set).
-     */
-    close(fd);
-  }
+  safe_fd(-1, 0);
 
   set_pname("conffile");
 
index a952394846509a01e12893be071988f4434b718e..1adb6eedebd32da364e7493487578e0d22c55e68 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: diskfile.c,v 1.27.4.6.4.3.2.15.2.5 2004/11/19 13:28:15 martinea Exp $
+ * $Id: diskfile.c,v 1.27.4.6.4.3.2.15.2.8 2005/09/30 19:13:36 martinea Exp $
  *
  * read disklist file
  */
@@ -449,7 +449,7 @@ static int read_diskline()
        fp1=fp;
        if (*fp1 == '-') fp1++;
        for(;*fp1!='\0';fp1++) {
-           if(!isdigit(*fp1)) {
+           if(!isdigit((int)*fp1)) {
                is_digit = 0;
            }
        }
@@ -990,19 +990,10 @@ char *argv[];
   char *conffile;
   char *conf_diskfile;
   int result;
-  int fd;
   unsigned long malloc_hist_1, malloc_size_1;
   unsigned long malloc_hist_2, malloc_size_2;
 
-  for(fd = 3; fd < FD_SETSIZE; fd++) {
-    /*
-     * Make sure nobody spoofs us with a lot of extra open files
-     * that would cause an open we do to get a very high file
-     * descriptor, which in turn might be used as an index into
-     * an array (e.g. an fd_set).
-     */
-    close(fd);
-  }
+  safe_fd(-1, 0);
 
   set_pname("diskfile");
 
index 248eb218c9aa9e253b2f35ec3f599b88728dcc0f..345f3f931d2ba14d5e07e58b205c13d4fca2d26e 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: driver.c,v 1.58.2.31.2.8.2.20.2.14 2005/02/09 18:12:31 martinea Exp $
+ * $Id: driver.c,v 1.58.2.31.2.8.2.20.2.16 2005/09/20 21:31:52 jrjackson Exp $
  *
  * controlling process for the Amanda backup system
  */
@@ -55,7 +55,7 @@ unsigned long total_disksize;
 char *dumper_program;
 int  inparallel;
 int nodump = 0;
-long tape_length, tape_left = 0;
+unsigned long tape_length, tape_left = 0;
 int conf_taperalgo;
 am_host_t *flushhost = NULL;
 
@@ -147,15 +147,7 @@ int main(main_argc, main_argv)
     char *conf_tapetype;
     tapetype_t *tape;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     setvbuf(stdout, (char *)NULL, _IOLBF, 0);
     setvbuf(stderr, (char *)NULL, _IOLBF, 0);
index bfb3a24ee35a22fa63eebaa3df96de38530e57bd..9973d12123c0d42d590bd638034cd893632c9c03 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: driverio.c,v 1.35.2.14.4.2.2.5.2.4 2005/03/16 18:15:28 martinea Exp $
+ * $Id: driverio.c,v 1.35.2.14.4.2.2.5.2.5 2005/09/12 13:39:55 martinea Exp $
  *
  * I/O-related functions for driver program
  */
@@ -563,15 +563,17 @@ void update_info_dumper(dp, origsize, dumpsize, dumptime)
        info.consecutive_runs = 1;
     }
 
-    for(i=NB_HISTORY-1;i>0;i--) {
-       info.history[i] = info.history[i-1];
-    }
+    if(origsize >=0 && dumpsize >=0) {
+       for(i=NB_HISTORY-1;i>0;i--) {
+           info.history[i] = info.history[i-1];
+       }
 
-    info.history[0].level = level;
-    info.history[0].size  = origsize;
-    info.history[0].csize = dumpsize;
-    info.history[0].date  = sched(dp)->timestamp;
-    info.history[0].secs  = dumptime;
+       info.history[0].level = level;
+       info.history[0].size  = origsize;
+       info.history[0].csize = dumpsize;
+       info.history[0].date  = sched(dp)->timestamp;
+       info.history[0].secs  = dumptime;
+    }
 
     if(put_info(dp->host->hostname, dp->name, &info))
        error("infofile update failed (%s,%s)\n", dp->host->hostname, dp->name);
index 92af8e874209aa47738be2f713a245aa0f6e46d0..6afc7c052b0f6b10025c166aefce79b5e193572f 100644 (file)
@@ -23,7 +23,7 @@
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
-/* $Id: dumper.c,v 1.75.2.14.2.7.2.17.2.3 2005/03/31 13:08:05 martinea Exp $
+/* $Id: dumper.c,v 1.75.2.14.2.7.2.17.2.4 2005/09/20 21:31:52 jrjackson Exp $
  *
  * requests remote amandad processes to dump filesystems
  */
@@ -179,19 +179,10 @@ char **main_argv;
     unsigned long malloc_hist_2, malloc_size_2;
     char *conffile;
     char *q = NULL;
-    int fd;
     char *tmp_filename = NULL, *pc;
     int a;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("dumper");
 
@@ -1226,9 +1217,7 @@ int mesgfd, datafd, indexfd, outfd;
                fprintf(stderr, "err dup2 out: %s\n", strerror(errno));
            if (dup2(tmpfd, 0) == -1)
                fprintf(stderr, "err dup2 in: %s\n", strerror(errno));
-           for(tmpfd = 3; tmpfd <= FD_SETSIZE; ++tmpfd) {
-               close(tmpfd);
-           }
+           safe_fd(-1, 0);
            /* now spawn gzip -1 to take care of the rest */
            execlp(COMPRESS_PATH, COMPRESS_PATH,
                   (srvcompress == srvcomp_best ? COMPRESS_BEST_OPT
@@ -1241,8 +1230,6 @@ int mesgfd, datafd, indexfd, outfd;
 
     indexpid = -1;
     if (indexfd != -1) {
-       int tmpfd;
-
        indexfile_real = getindexfname(hostname, diskname, datestamp, level),
        indexfile_tmp = stralloc2(indexfile_real, ".tmp");
 
@@ -1277,9 +1264,7 @@ int mesgfd, datafd, indexfd, outfd;
                error("err open %s: %s", indexfile_tmp, strerror(errno));
            if (dup2(indexfd,1) == -1)
                error("err dup2 out: %s", strerror(errno));
-           for(tmpfd = 3; tmpfd <= FD_SETSIZE; ++tmpfd) {
-               close(tmpfd);
-           }
+           safe_fd(-1, 0);
            execlp(COMPRESS_PATH, COMPRESS_PATH, COMPRESS_BEST_OPT, (char *)0);
            error("error: couldn't exec %s.", COMPRESS_PATH);
        }
index dd0e8b0d95ce346d1edb86bc60b517fca759c70d..b495216d8ca4a7f71bdd51413c6afc577ed99946 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: getconf.c,v 1.8.4.2.2.2.2.4 2003/12/16 22:36:45 martinea Exp $
+ * $Id: getconf.c,v 1.8.4.2.2.2.2.4.2.3 2005/09/21 19:04:22 jrjackson Exp $
  *
  * a little wrapper to extract config variables for shell scripts
  */
@@ -57,6 +57,7 @@ static struct build_info {
     { "DEFAULT_CONFIG",                        DEFAULT_CONFIG },
     { "DEFAULT_TAPE_SERVER",           DEFAULT_TAPE_SERVER },
     { "DEFAULT_TAPE_DEVICE",           DEFAULT_TAPE_SERVER },
+    { "CLIENT_LOGIN",                  CLIENT_LOGIN },
 
     { "BUILT_DATE",
 #if defined(BUILT_DATE)
@@ -310,7 +311,6 @@ int argc;
 char **argv;
 {
     char *result;
-    int fd;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
     char *pgm;
@@ -319,15 +319,7 @@ char **argv;
     int i;
     char number[NUM_STR_SIZE];
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     malloc_size_1 = malloc_inuse(&malloc_hist_1);
 
@@ -362,12 +354,6 @@ char **argv;
 
     safe_cd();
 
-    conffile = stralloc2(config_dir, CONFFILE_NAME);
-    if(read_conffile(conffile)) {
-       error("errors processing config file \"%s\"", conffile);
-    }
-    amfree(conffile);
-
     /*
      * Fill in the build values that need runtime help.
      */
@@ -426,6 +412,10 @@ char **argv;
        } else {
            result = stralloc(dbname);
        }
+       /*
+        * Note that we deliberately do *not* call dbclose to prevent
+        * the end line from being added to the file.
+        */
 
 #undef p
 #define        p       "dbclose."
@@ -434,8 +424,6 @@ char **argv;
        char *t;
        char *pname;
        char *dbname;
-       int old_fd2;
-       int new_fd2;
 
        t = stralloc(parmname + sizeof(p) - 1);
        if((dbname = strchr(t, ':')) == NULL) {
@@ -448,38 +436,18 @@ char **argv;
            pname++;
        }
        fflush(stderr);
-       if((old_fd2 = dup(2)) < 0) {
-           error("cannot dup2 fd2");
-       }
-       close(2);
-       if((new_fd2 = open(dbname, O_RDWR|O_APPEND, 0600)) != 2) {
-           int save_errno = errno;
-           FILE *f;
-
-           if((f = fdopen(old_fd2, "a")) == NULL) {
-               /* give up */
-               return 3;
-           }
-           fprintf(f, "%s: cannot open %s: ", get_pname(), dbname);
-           if(new_fd2 < 0) {
-               fputs(strerror(save_errno), f);
-           } else {
-               fprintf(f, "got %d instead of 2", new_fd2);
-           }
-           fputc('\n', f);
-           fclose(f);
-       }
-       /*
-        * Because we have not called dbopen(), dbclose() will write the
-        * end line to stderr, which we just redirected to the file on
-        * the command line.
-        */
        set_pname(pname);
+       dbreopen(dbname, NULL);
        dbclose();
        result = stralloc(dbname);
        amfree(t);
 
     } else {
+       conffile = stralloc2(config_dir, CONFFILE_NAME);
+       if(read_conffile(conffile)) {
+           error("errors processing config file \"%s\"", conffile);
+       }
+       amfree(conffile);
        result = getconf_byname(parmname);
     }
     if(result == NULL) {
index ef5052ca944f7eb272e00c66e6165688da5afcb1..68e0ec85275d2fee129670945b841dbc66edf6ea 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: infofile.c,v 1.44.4.4.8.2 2005/03/16 18:15:28 martinea Exp $
+ * $Id: infofile.c,v 1.44.4.4.8.5 2005/09/30 19:13:36 martinea Exp $
  *
  * manage current info file
  */
@@ -274,7 +274,7 @@ info_t *info;
     rc = 0;
 
     nb_history = 0;
-    for(i=0;i<=NB_HISTORY+1;i++) {
+    for(i=0;i<=NB_HISTORY;i++) {
        info->history[i].level = -2;
     }
     for(rc = -2; (line = agets(infof)) != NULL; free(line)) {
@@ -854,19 +854,10 @@ int argc;
 char *argv[];
 {
   int i;
-  int fd;
   unsigned long malloc_hist_1, malloc_size_1;
   unsigned long malloc_hist_2, malloc_size_2;
 
-  for(fd = 3; fd < FD_SETSIZE; fd++) {
-    /*
-     * Make sure nobody spoofs us with a lot of extra open files
-     * that would cause an open we do to get a very high file
-     * descriptor, which in turn might be used as an index into
-     * an array (e.g. an fd_set).
-     */
-    close(fd);
-  }
+  safe_fd(-1, 0);
 
   set_pname("infofile");
 
index 9aec032e7d20902f6dc2d15bcdfe3790f2612fdf..8c886b4ce0b5898b010f37f44decac0c2f7925c5 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: planner.c,v 1.76.2.15.2.13.2.32.2.16 2005/03/16 18:09:50 martinea Exp $
+ * $Id: planner.c,v 1.76.2.15.2.13.2.32.2.20 2005/09/20 21:31:52 jrjackson Exp $
  *
  * backup schedule planner for the Amanda backup system.
  */
@@ -165,22 +165,13 @@ char **argv;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
     long initial_size;
-    int fd;
     char *conffile;
     char *conf_diskfile;
     char *conf_tapelist;
     char *conf_infofile;
     times_t section_start;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     setvbuf(stderr, (char *)NULL, _IOLBF, 0);
 
@@ -1164,13 +1155,13 @@ static void get_estimates P((void))
        if(est(dp)->level[0] != -1 && est(dp)->est_size[0] < 0) {
            if(est(dp)->est_size[0] == -1) {
                log_add(L_WARNING,
-                       "disk %s:%s, estimate of level %d failed: %d.",
+                       "disk %s:%s, estimate of level %d failed: %lu.",
                        dp->host->hostname, dp->name,
                        est(dp)->level[0], est(dp)->est_size[0]);
            }
            else {
                log_add(L_WARNING,
-                       "disk %s:%s, estimate of level %d timed out: %d.",
+                       "disk %s:%s, estimate of level %d timed out: %lu.",
                        dp->host->hostname, dp->name,
                        est(dp)->level[0], est(dp)->est_size[0]);
            }
@@ -1180,13 +1171,13 @@ static void get_estimates P((void))
        if(est(dp)->level[1] != -1 && est(dp)->est_size[1] < 0) {
            if(est(dp)->est_size[1] == -1) {
                log_add(L_WARNING,
-                       "disk %s:%s, estimate of level %d failed: %d.",
+                       "disk %s:%s, estimate of level %d failed: %lu.",
                        dp->host->hostname, dp->name,
                        est(dp)->level[1], est(dp)->est_size[1]);
            }
            else {
                log_add(L_WARNING,
-                       "disk %s:%s, estimate of level %d timed out: %d.",
+                       "disk %s:%s, estimate of level %d timed out: %lu.",
                        dp->host->hostname, dp->name,
                        est(dp)->level[1], est(dp)->est_size[1]);
            }
@@ -1196,13 +1187,13 @@ static void get_estimates P((void))
        if(est(dp)->level[2] != -1 && est(dp)->est_size[2] < 0) {
            if(est(dp)->est_size[2] == -1) {
                log_add(L_WARNING,
-                       "disk %s:%s, estimate of level %d failed: %d.",
+                       "disk %s:%s, estimate of level %d failed: %lu.",
                        dp->host->hostname, dp->name,
                        est(dp)->level[2], est(dp)->est_size[2]);
            }
            else {
                log_add(L_WARNING,
-                       "disk %s:%s, estimate of level %d timed out: %d.",
+                       "disk %s:%s, estimate of level %d timed out: %lu.",
                        dp->host->hostname, dp->name,
                        est(dp)->level[2], est(dp)->est_size[2]);
            }
@@ -1393,6 +1384,7 @@ am_host_t *hostp;
 
                        for(j=NB_HISTORY-2;j>=0;j--) {
                            if(info.history[j].level == 0) {
+                               if(info.history[j].size < 0) continue;
                                est_size = info.history[j].size;
                                nb_est++;
                            }
@@ -1421,6 +1413,7 @@ am_host_t *hostp;
 
                        for(j=NB_HISTORY-2;j>=0;j--) {
                            if(info.history[j].level <= 0) continue;
+                           if(info.history[j].size < 0) continue;
                            if(info.history[j].level == info.history[j+1].level) {
                                if(nb_day <NB_DAY-1) nb_day++;
                                est_size_day[nb_day] += info.history[j].size;
@@ -1453,6 +1446,7 @@ am_host_t *hostp;
 
                        for(j=NB_HISTORY-2;j>=0;j--) {
                            if(info.history[j].level <= 0) continue;
+                           if(info.history[j].size < 0) continue;
                            if(info.history[j].level == info.history[j+1].level + 1 ) {
                                est_size += info.history[j].size;
                                nb_est++;
@@ -1760,21 +1754,21 @@ pkt_t *pkt;
 
                    if(est(dp)->level[2] != -1 && est(dp)->est_size[2] < 0) {
                        log_add(L_WARNING,
-                               "disk %s:%s, estimate of level %d failed: %d.",
+                               "disk %s:%s, estimate of level %d failed: %lu.",
                                dp->host->hostname, dp->name,
                                est(dp)->level[2], est(dp)->est_size[2]);
                        est(dp)->level[2] = -1;
                    }
                    if(est(dp)->level[1] != -1 && est(dp)->est_size[1] < 0) {
                        log_add(L_WARNING,
-                               "disk %s:%s, estimate of level %d failed: %d.",
+                               "disk %s:%s, estimate of level %d failed: %lu.",
                                dp->host->hostname, dp->name,
                                est(dp)->level[1], est(dp)->est_size[1]);
                        est(dp)->level[1] = -1;
                    }
                    if(est(dp)->level[0] != -1 && est(dp)->est_size[0] < 0) {
                        log_add(L_WARNING,
-                               "disk %s:%s, estimate of level %d failed: %d.",
+                               "disk %s:%s, estimate of level %d failed: %lu.",
                                dp->host->hostname, dp->name,
                                est(dp)->level[0], est(dp)->est_size[0]);
                        est(dp)->level[0] = -1;
@@ -2139,7 +2133,7 @@ static void delay_dumps P((void))
     for(dp = schedq.head; dp != NULL; dp = ndp) {
        ndp = dp->next; /* remove_disk zaps this */
 
-       if (est(dp)->dump_size <= tape->length) {
+       if (est(dp)->dump_size == -1 || est(dp)->dump_size <= tape->length) {
            continue;
        }
 
@@ -2159,6 +2153,10 @@ static void delay_dumps P((void))
                delete = 1;
                message = "but no incremental estimate";
            }
+           else if (est(dp)->degr_size > tape->length) {
+               delete = 1;
+               message = "incremental dump also larger than tape";
+           }
            else {
                delete = 0;
                message = "full dump delayed";
index a28d5b49a80830f1009d589ca57991c89cc4f45b..c9c75640545054db7b546872e7db1c26c4dbd44b 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: reporter.c,v 1.44.2.17.4.6.2.16.2.6 2005/03/29 16:35:11 martinea Exp $
+ * $Id: reporter.c,v 1.44.2.17.4.6.2.16.2.10 2005/10/11 14:50:00 martinea Exp $
  *
  * nightly Amanda Report generator
  */
@@ -96,6 +96,16 @@ typedef struct taper_s {
 taper_t *stats_by_tape = NULL;
 taper_t *current_tape = NULL;
 
+typedef struct strange_s {
+    char *hostname;
+    char *diskname;
+    int  level;
+    char *str;
+    struct strange_s *next;
+} strange_t;
+
+strange_t *first_strange=NULL, *last_strange=NULL;
+
 float total_time, startup_time, planner_time;
 
 /* count files to tape */
@@ -152,12 +162,15 @@ void output_tapeinfo P((void));
 void output_lines P((line_t *lp, FILE *f));
 void output_stats P((void));
 void output_summary P((void));
+void output_strange P((void));
 void sort_disks P((void));
 int sort_by_time P((disk_t *a, disk_t *b));
 int sort_by_name P((disk_t *a, disk_t *b));
 void bogus_line P((void));
 char *nicedate P((int datestamp));
 static char *prefix P((char *host, char *disk, int level));
+static char *prefixstrange P((char *host, char *disk, int level, int len_host, int len_disk));
+static void addtostrange P((char *host, char *disk, int level, char *str));
 repdata_t *find_repdata P((disk_t *dp, char *datestamp, int level));
 
 
@@ -257,7 +270,7 @@ char **argv;
     char *conf_infofile;
     char *logfname, *psfname, *outfname, *subj_str = NULL;
     tapetype_t *tp;
-    int fd, opt;
+    int opt;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
     char *mail_cmd = NULL, *printer_cmd = NULL;
@@ -267,15 +280,7 @@ char **argv;
     char *errstr = NULL;
     int cn;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("amreport");
 
@@ -587,9 +592,10 @@ char **argv;
 
     output_tapeinfo();
 
-    if(errsum) {
+    if(first_strange || errsum) {
        fprintf(mailf,"\nFAILURE AND STRANGE DUMP SUMMARY:\n");
-       output_lines(errsum, mailf);
+       if(first_strange) output_strange();
+       if(errsum) output_lines(errsum, mailf);
     }
     fputs("\n\n", mailf);
 
@@ -861,7 +867,7 @@ void output_tapeinfo()
     if (run_tapes <= 1)
        fputs("The next tape Amanda expects to use is: ", mailf);
     else
-       fprintf(mailf, "The next %d tapes Amanda expects to used are: ",
+       fprintf(mailf, "The next %d tapes Amanda expects to use are: ",
                run_tapes);
     
     while(run_tapes > 0) {
@@ -908,6 +914,24 @@ void output_tapeinfo()
 }
 
 /* ----- */
+void output_strange()
+{
+    int len_host=0, len_disk=0;
+    strange_t *strange;
+    char *str = NULL;
+
+    for(strange=first_strange; strange != NULL; strange = strange->next) {
+       if(strlen(strange->hostname) > len_host)
+           len_host = strlen(strange->hostname);
+       if(strlen(strange->diskname) > len_disk)
+           len_disk = strlen(strange->diskname);
+    }
+    for(strange=first_strange; strange != NULL; strange = strange->next) {
+       str = vstralloc("  ", prefixstrange(strange->hostname, strange->diskname, strange->level, len_host, len_disk),
+                       "  ", strange->str, NULL);
+       fprintf(mailf, "%s\n", str);
+    }
+}
 
 void output_lines(lp, f)
 line_t *lp;
@@ -1735,13 +1759,7 @@ repdata_t *handle_success()
 
     dp = lookup_disk(hostname, diskname);
     if(dp == NULL) {
-       char *str = NULL;
-
-       str = vstralloc("  ", prefix(hostname, diskname, level),
-                       " ", "ERROR [not in disklist]",
-                       NULL);
-       addline(&errsum, str);
-       amfree(str);
+       addtostrange(hostname, diskname, level, "ERROR [not in disklist]");
        amfree(hostname);
        amfree(diskname);
        amfree(datestamp);
@@ -1852,11 +1870,9 @@ void handle_strange()
     }
     addline(&errdet,"\\--------");
 
-    str = vstralloc("  ", prefix(repdata->disk->host->hostname, 
-                                repdata->disk->name, repdata->level),
-                   " ", "STRANGE", " ", strangestr,
-                   NULL);
-    addline(&errsum, str);
+    str = vstralloc("STRANGE", " ", strangestr, NULL);
+    addtostrange(repdata->disk->host->hostname, repdata->disk->name, repdata->level,
+                str);
     amfree(str);
     amfree(strangestr);
 }
@@ -1936,11 +1952,7 @@ void handle_failed()
 
     dp = lookup_disk(hostname, diskname);
     if(dp == NULL) {
-       str = vstralloc("  ", prefix(hostname, diskname, level),
-                       " ", "ERROR [not in disklist]",
-                       NULL);
-       addline(&errsum, str);
-       amfree(str);
+       addtostrange(hostname, diskname, level, "ERROR [not in disklist]");
     } else {
        repdata = find_repdata(dp, datestamp, level);
 
@@ -1953,11 +1965,8 @@ void handle_failed()
     }
     amfree(datestamp);
 
-    str = vstralloc("  ", prefix(hostname, diskname, level),
-                   " ", "FAILED",
-                   " ", errstr,
-                   NULL);
-    addline(&errsum, str);
+    str = vstralloc("FAILED", " ", errstr, NULL);
+    addtostrange(hostname, diskname, level, str);
     amfree(str);
 
     if(curprog == P_DUMPER) {
@@ -1980,15 +1989,10 @@ void handle_failed()
 void generate_missing()
 {
     disk_t *dp;
-    char *str = NULL;
 
     for(dp = diskq->head; dp != NULL; dp = dp->next) {
        if(dp->todo && data(dp) == NULL) {
-           str = vstralloc("  ", prefix(dp->host->hostname, dp->name, -987),
-                           " ", "RESULTS MISSING",
-                           NULL);
-           addline(&errsum, str);
-           amfree(str);
+           addtostrange(dp->host->hostname, dp->name, -987, "RESULTS MISSING");
        }
     }
 }
@@ -1999,30 +2003,87 @@ prefix (host, disk, level)
     char *disk;
     int level;
 {
-    char h[10+1];
+    char number[NUM_STR_SIZE];
+    static char *str = NULL;
+
+    ap_snprintf(number, sizeof(number), "%d", level);
+    str = newvstralloc(str,
+                      " ", host ? host : "(host?)",
+                      " ", disk ? disk : "(disk?)",
+                      level != -987 ? " lev " : "",
+                      level != -987 ? number : "",
+                      NULL);
+    return str;
+}
+
+static char *
+prefixstrange (host, disk, level, len_host, len_disk)
+    char *host;
+    char *disk;
+    int level;
+    int len_host, len_disk;
+{
+    char *h, *d;
     int l;
     char number[NUM_STR_SIZE];
     static char *str = NULL;
 
     ap_snprintf(number, sizeof(number), "%d", level);
+    h=malloc(len_host+1);
     if(host) {
-       strncpy(h, host, sizeof(h)-1);
+       strncpy(h, host, len_host);
     } else {
-       strncpy(h, "(host?)", sizeof(h)-1);
+       strncpy(h, "(host?)", len_host);
     }
-    h[sizeof(h)-1] = '\0';
-    for(l = strlen(h); l < sizeof(h)-1; l++) {
+    h[len_host] = '\0';
+    for(l = strlen(h); l < len_host; l++) {
        h[l] = ' ';
     }
+    d=malloc(len_disk+1);
+    if(disk) {
+       strncpy(d, disk, len_disk);
+    } else {
+       strncpy(d, "(disk?)", len_disk);
+    }
+    d[len_disk] = '\0';
+    for(l = strlen(d); l < len_disk; l++) {
+       d[l] = ' ';
+    }
     str = newvstralloc(str,
                       h,
-                      " ", disk ? disk : "(disk?)",
-                      level != -987 ? " lev " : "",
+                      "  ", d,
+                      level != -987 ? "  lev " : "",
                       level != -987 ? number : "",
                       NULL);
+    amfree(h);
+    amfree(d);
     return str;
 }
 
+static void
+addtostrange (host, disk, level, str)
+    char *host;
+    char *disk;
+    int  level;
+    char *str;
+{
+    strange_t *strange;
+
+    strange = malloc(sizeof(strange_t));
+    strange->hostname = stralloc(host);
+    strange->diskname = stralloc(disk);
+    strange->level    = level;
+    strange->str      = stralloc(str);
+    strange->next = NULL;
+    if(first_strange == NULL) {
+       first_strange = strange;
+    }
+    else {
+        last_strange->next = strange;
+    }
+    last_strange = strange;
+}
+
 void copy_template_file(lbl_templ)
 char *lbl_templ;
 {
index b110522b5995398aea8eecbfd5d7e20f1c855748..612e822012a86a21be9925ed26e985b85bbb6d4e 100644 (file)
@@ -23,7 +23,7 @@
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
-/* $Id: taper.c,v 1.47.2.14.4.8.2.17.2.1 2004/02/13 14:09:34 martinea Exp $
+/* $Id: taper.c,v 1.47.2.14.4.8.2.17.2.4 2005/10/11 11:10:20 martinea Exp $
  *
  * moves files from holding disk to tape, or from a socket to tape
  */
@@ -170,22 +170,13 @@ char **main_argv;
 {
     int p2c[2], c2p[2];                /* parent-to-child, child-to-parent pipes */
     char *conffile;
-    int fd;
     unsigned int size;
     int i;
     int j;
     int page_size;
     char *first_buffer;
 
-    for(fd = 3; fd < FD_SETSIZE; fd++) {
-       /*
-        * Make sure nobody spoofs us with a lot of extra open files
-        * that would cause an open we do to get a very high file
-        * descriptor, which in turn might be used as an index into
-        * an array (e.g. an fd_set).
-        */
-       close(fd);
-    }
+    safe_fd(-1, 0);
 
     set_pname("taper");
 
@@ -805,7 +796,7 @@ void read_file(fd, handle, hostname, diskname, datestamp, level, port_flag)
                q = squote(errstr);
                putresult(TRYAGAIN, "%s %s\n", handle, q);
                amfree(q);
-               log_add(L_INFO, "retrying %s:%s.%d on new tape: %s",
+               log_add(L_INFO, "retrying %s:%s.%d on new tape due to: %s",
                        hostname, diskname, level, errstr);
                closing = 1;
                syncpipe_put('X');      /* X == buffer snafu, bail */
@@ -945,7 +936,7 @@ void read_file(fd, handle, hostname, diskname, datestamp, level, port_flag)
            q = squote(errstr);
            if(tok == 'T') {
                putresult(TRYAGAIN, "%s %s\n", handle, q);
-               log_add(L_INFO, "retrying %s:%s.%d on new tape: %s",
+               log_add(L_INFO, "retrying %s:%s.%d on new tape due to: %s",
                        hostname, diskname, level, errstr);
            } else {
                putresult(TAPE_ERROR, "%s %s\n", handle, q);
@@ -1225,6 +1216,7 @@ int getp, putp;
        case 'Q':
            end_tape(0);        /* XXX check results of end tape ?? */
            clear_tapelist();
+           detach_buffers(buffers);
            amfree(taper_datestamp);
            amfree(label);
            amfree(errstr);
index 8018cee6f32c1cc61a16f5836b7f962707cc7998..017739ae6dfc6e0070c53380cd21823fafb39244 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.8.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
+# 2003, 2004, 2005  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -40,7 +40,9 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 sbin_PROGRAMS = ammt$(EXEEXT) amdd$(EXEEXT) amtapetype$(EXEEXT)
 EXTRA_PROGRAMS = $(am__EXEEXT_1)
 subdir = tape-src
@@ -54,6 +56,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config/config.h
 CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sbindir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
@@ -90,20 +98,13 @@ amtapetype_DEPENDENCIES = ../common-src/libamanda.$(LIB_EXTENSION) \
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/amdd.Po ./$(DEPDIR)/ammt.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/amtapeio.test.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/output-file.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/output-null.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/output-rait.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/output-tape.Plo ./$(DEPDIR)/tapeio.Plo \
-@AMDEP_TRUE@   ./$(DEPDIR)/tapetype.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libamtape_la_SOURCES) amdd.c ammt.c $(amtapeio_SOURCES) \
        $(amtapetype_SOURCES)
@@ -269,6 +270,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -377,7 +380,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          if test -f $$p; then \
-           f="`echo $$p | sed -e 's|^.*/||'`"; \
+           f=$(am__strip_dir) \
            echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
            $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
          else :; fi; \
@@ -385,8 +388,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 
 uninstall-libLTLIBRARIES:
        @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-           p="`echo $$p | sed -e 's|^.*/||'`"; \
+       @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         p=$(am__strip_dir) \
          echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
          $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
        done
@@ -395,7 +398,7 @@ clean-libLTLIBRARIES:
        -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
        @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
          dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" = "$$p" && dir=.; \
+         test "$$dir" != "$$p" || dir=.; \
          echo "rm -f \"$${dir}/so_locations\""; \
          rm -f "$${dir}/so_locations"; \
        done
@@ -462,24 +465,21 @@ distclean-compile:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
@@ -513,7 +513,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -z "$$unique" && unique=$$empty_fix; \
+         test -n "$$unique" || unique=$$empty_fix; \
          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
            $$tags $$unique; \
        fi
@@ -594,7 +594,7 @@ clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
-       -rm -f $(CONFIG_CLEAN_FILES)
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -658,9 +658,9 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
        distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
-       install-data-am install-exec install-exec-am install-info \
-       install-info-am install-libLTLIBRARIES install-man \
-       install-sbinPROGRAMS install-strip installcheck \
+       install-data-am install-exec install-exec-am install-exec-hook \
+       install-info install-info-am install-libLTLIBRARIES \
+       install-man install-sbinPROGRAMS install-strip installcheck \
        installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
index ece9686d7bc29d0a65cea3625368dc7c810363de..50340ad850c4882daaef000c3acd5894c79cb96c 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
- * $Id: tapetype.c,v 1.3.2.3.4.3.2.9.2.2 2004/11/10 16:28:43 martinea Exp $
+ * $Id: tapetype.c,v 1.3.2.3.4.3.2.9.2.3 2005/10/02 13:48:42 martinea Exp $
  *
  * tests a tape in a given tape unit and prints a tapetype entry for
  * it.  */
@@ -510,7 +510,7 @@ int main(argc, argv)
   /*
    * Inform about estimated time needed to run the remaining of this program
    */
-  fprintf(stderr, "Estimated time to write 2 * %d Mbyte: ", estsize / 1024);
+  fprintf(stderr, "Estimated time to write 2 * %lu Mbyte: ", (unsigned long) (estsize / 1024));
   pass1time = (time_t)(2.0 * pass2time * estsize / (1.0 * pass0size * blockkb));
        /* avoid overflow and underflow by doing math in floating point */
   fprintf(stderr, "%ld sec = ", pass1time);