From d92f70685083588e2a7ce6bc312a735f6937b5a6 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Wed, 22 Oct 2008 18:35:22 +0200 Subject: [PATCH] revert to upstream --- ChangeLog | 8 +- Makefile.in | 4 - amandad-src/Makefile.in | 4 +- amandad-src/amandad.c | 15 +- amplot/Makefile.in | 4 - amplot/amplot.sh | 3 +- changer-src/Makefile.in | 4 - changer-src/chg-lib.sh.in | 23 +- changer-src/chg-mtx.sh | 30 - changer-src/chg-null.sh | 2 +- changer-src/chg-zd-mtx.sh | 12 - changer-src/scsi-aix.c | 2 - changer-src/scsi-chio.c | 4 - client-src/Makefile.in | 4 - client-src/amandates.c | 4 +- client-src/getfsent.c | 2 - client-src/killpgrp.c | 1 - client-src/selfcheck.c | 10 - client-src/sendbackup-gnutar.c | 4 +- client-src/sendbackup.c | 2 - client-src/sendsize.c | 4 - common-src/Makefile.am | 4 - common-src/Makefile.in | 4 - common-src/amanda.h | 189 - common-src/amflock.c | 4 +- common-src/genversion.c | 8 - common-src/packet.h | 4 +- config/Makefile.am | 1 - config/Makefile.in | 4 - config/config.h.in | 18 - config/gnulib.m4i | 35 - config/gnulib/longdouble.m4 | 31 - config/gnulib/socklen.m4 | 8 +- configure | 9251 ++++++----------- docs/Appendix.txt | 88 - docs/amadmin.8.txt | 242 - docs/amaespipe.8.txt | 35 - docs/amanda-client.conf.5.txt | 183 - docs/amanda.8.txt | 486 - docs/amanda.conf.5.txt | 1057 -- docs/amcheck.8.txt | 375 - docs/amcheckdb.8.txt | 49 - docs/amcleanup.8.txt | 62 - docs/amcrypt-asym-ossl.8.txt | 86 - docs/amcrypt-ossl.8.txt | 50 - docs/amcrypt.8.txt | 56 - docs/amdd.8.txt | 85 - docs/amdump.8.txt | 78 - docs/amfetchdump.8.txt | 147 - docs/amflush.8.txt | 100 - docs/amgetconf.8.txt | 113 - docs/amlabel.8.txt | 100 - docs/ammt.8.txt | 118 - docs/amoverview.8.txt | 97 - docs/amplot.8.txt | 99 - docs/amrecover.8.txt | 368 - docs/amreport.8.txt | 94 - docs/amrestore.8.txt | 150 - docs/amrmtape.8.txt | 62 - docs/amstatus.8.txt | 80 - docs/amtape.8.txt | 117 - docs/amtapetype.8.txt | 100 - docs/amtoc.8.txt | 98 - docs/amverify.8.txt | 47 - docs/amverifyrun.8.txt | 27 - docs/chgscsi.txt | 266 - docs/dumperapi.txt | 325 - docs/eventapi.txt | 175 - docs/exclude.txt | 339 - docs/faq.txt | 583 -- docs/historical.txt | 138 - docs/howto-afs.txt | 35 - docs/howto-auth.txt | 196 - docs/howto-cygwin.txt | 261 - docs/howto-filedriver.txt | 434 - docs/howto-wrapper.txt | 303 - docs/howtos.txt | 115 - docs/index.txt | 908 -- docs/indexing.txt | 371 - docs/install.txt | 453 - docs/internals.txt | 181 - docs/introduction.txt | 152 - docs/ix01.txt | 88 - docs/kerberos.txt | 253 - docs/labelprinting.txt | 81 - docs/links.txt | 33 - docs/manpages.txt | 86 - docs/multitape.txt | 182 - docs/portusage.txt | 209 - docs/pr01.txt | 32 - docs/pr02.txt | 13 - docs/pr03.txt | 27 - docs/pr04.txt | 181 - docs/rait.txt | 104 - docs/references.txt | 22 - docs/restore.txt | 201 - docs/samba.txt | 188 - docs/security-api.txt | 447 - docs/security.txt | 79 - docs/strategy-api.txt | 65 - docs/survey.txt | 623 -- docs/systemnotes.txt | 328 - docs/tapechangers.txt | 676 -- docs/tapesnchangers.txt | 112 - docs/tapetypes.txt | 51 - docs/technical.txt | 219 - docs/topten.txt | 431 - docs/upgrade.txt | 68 - docs/using.txt | 1989 ---- docs/various.txt | 142 - docs/vtape-api.txt | 65 - docs/whatwasnew.txt | 468 - docs/wishlist.txt | 256 - docs/y2k.txt | 34 - docs/zftape.txt | 109 - dumper-src/amgtar.pl.in | 326 - dumper-src/generic-dumper.pl.in | 273 - example/Makefile.in | 6 - gnulib/regenerate/getaddrinfo-cygwin.patch | 46 - gnulib/regenerate/no-error.patch | 4 - .../no-error.patch.BACKUP.7723.patch | 18 - .../no-error.patch.LOCAL.7723.patch | 14 - .../no-error.patch.REMOTE.7723.patch | 14 - gnulib/snprintf.h | 29 - gnulib/socket_.h | 70 - man/Makefile.in | 6 +- man/amaespipe.8.BACKUP.16324.8 | 94 - man/amaespipe.8.LOCAL.16324.8 | 55 - man/amaespipe.8.REMOTE.16324.8 | 56 - man/amoverview.8 | 46 +- man/xml-source/amtapetype.8.xml | 4 +- man/xslt/man.xsl | 70 - recover-src/Makefile.in | 4 - recover-src/amrecover.c | 18 - recover-src/uscan.c | 11 - restore-src/Makefile.in | 4 - restore-src/amidxtaped.c | 27 - server-src/Makefile.in | 4 - server-src/amaespipe.sh.in | 85 - server-src/amcheck.c | 7 - server-src/amcrypt-ossl-asym.sh.in | 181 - server-src/amcrypt-ossl.sh.in | 41 - server-src/amcrypt.sh.in | 39 - server-src/amlabel.c | 4 - server-src/amtape.c | 59 - server-src/amtrmidx.c | 6 +- server-src/amtrmlog.c | 4 +- server-src/amverify.sh | 8 +- server-src/disk_history.c | 1 - server-src/diskfile.c | 2 - server-src/driver.c | 10 +- server-src/dumper.c | 20 +- server-src/find.c | 1 - server-src/getconf.c | 18 +- server-src/holding.c | 47 - server-src/infofile.c | 2 - server-src/logfile.c | 1 - server-src/planner.c | 24 - server-src/reporter.c | 2 - server-src/taper.c | 4 +- tape-src/Makefile.in | 4 - 161 files changed, 3476 insertions(+), 25946 deletions(-) diff --git a/ChangeLog b/ChangeLog index 271276c..e671971 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6518,7 +6518,7 @@ 2006-02-03 Ian Turner * server-src/amadmin.c (main): Don't free conf_tapelist too - early. Thanks to Cédric Lucantis + early. Thanks to Cédric Lucantis for the patch. 2006-02-02 Kevin Till @@ -13411,7 +13411,7 @@ * server-src/amverify.sh.in: Wait until device becomes ready after rewinding. -1999-06-15 Björn Brezger , Alexandre Oliva +1999-06-15 Björn Brezger , Alexandre Oliva * client-src/calcsize.c (ROUND): Rewrite, it was broken. Reported by Erik Lindahl @@ -17098,7 +17098,7 @@ * example/Makefile.am (EXTRA_DIST): add DIN-A4.ps -1998-08-07 Günter Felkel +1998-08-07 Günter Felkel * example/DIN-A4.ps: new file @@ -17912,7 +17912,7 @@ Version 2.4.0p1 -Rob Riggs pass kerberos encryption switch to client. - -Fredrik Jönsson + -Fredrik Jönsson rename afree to amfree, to work around IRIX 6.4's afree. -oliva, reported Stephan P. Martin diff --git a/Makefile.in b/Makefile.in index 209160d..ac65c5e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -197,7 +197,6 @@ DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print -ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -213,7 +212,6 @@ AMPLOT_CAT_GZIP = @AMPLOT_CAT_GZIP@ AMPLOT_CAT_PACK = @AMPLOT_CAT_PACK@ AMPLOT_COMPRESS = @AMPLOT_COMPRESS@ AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ @@ -423,8 +421,6 @@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LL_FMT = @LL_FMT@ -LL_RFMT = @LL_RFMT@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ diff --git a/amandad-src/Makefile.in b/amandad-src/Makefile.in index 09c5621..489ef14 100644 --- a/amandad-src/Makefile.in +++ b/amandad-src/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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. diff --git a/amandad-src/amandad.c b/amandad-src/amandad.c index c5e057f..430f2b7 100644 --- a/amandad-src/amandad.c +++ b/amandad-src/amandad.c @@ -48,9 +48,9 @@ #define REP_TIMEOUT (6*60*60) /* secs for service to reply */ #define ACK_TIMEOUT 10 /* XXX should be configurable */ -#define amandad_debug(i,x) do { \ +#define amandad_debug(i, ...) do { \ if ((i) <= debug_amandad) { \ - dbprintf(x); \ + dbprintf(__VA_ARGS__); \ } \ } while (0) @@ -133,17 +133,6 @@ static struct { TAILQ_HEAD_INITIALIZER(serviceq.tailq), 0 }; -/* - * Data for dbmalloc to check for memory leaks - */ -#ifdef USE_DBMALLOC -static struct { - struct { - unsigned long size, hist; - } start, end; -} dbmalloc_info; -#endif - static int wait_30s = 1; static int exit_on_qlength = 1; static char *auth = NULL; diff --git a/amplot/Makefile.in b/amplot/Makefile.in index 12179cb..f2e6b09 100644 --- a/amplot/Makefile.in +++ b/amplot/Makefile.in @@ -291,7 +291,6 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; amplotDATA_INSTALL = $(INSTALL_DATA) DATA = $(amplot_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -307,7 +306,6 @@ AMPLOT_CAT_GZIP = @AMPLOT_CAT_GZIP@ AMPLOT_CAT_PACK = @AMPLOT_CAT_PACK@ AMPLOT_COMPRESS = @AMPLOT_COMPRESS@ AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ @@ -517,8 +515,6 @@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LL_FMT = @LL_FMT@ -LL_RFMT = @LL_RFMT@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ diff --git a/amplot/amplot.sh b/amplot/amplot.sh index cfbe3f9..fe47bcc 100644 --- a/amplot/amplot.sh +++ b/amplot/amplot.sh @@ -48,8 +48,7 @@ confdir=@CONFIG_DIR@ PATH="$PATH:/usr/sbin:/sbin:/usr/ucb" export PATH -AWK=@AWK@ -GNUPLOT=@GNUPLOT@ +# we use a different version of the compression variable than amanda itself. COMPRESS=@AMPLOT_COMPRESS@ # Function to check that awk can do command-line variable diff --git a/changer-src/Makefile.in b/changer-src/Makefile.in index 6c5552c..fb70087 100644 --- a/changer-src/Makefile.in +++ b/changer-src/Makefile.in @@ -356,7 +356,6 @@ DATA = $(amlibexec_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -372,7 +371,6 @@ AMPLOT_CAT_GZIP = @AMPLOT_CAT_GZIP@ AMPLOT_CAT_PACK = @AMPLOT_CAT_PACK@ AMPLOT_COMPRESS = @AMPLOT_COMPRESS@ AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ @@ -582,8 +580,6 @@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LL_FMT = @LL_FMT@ -LL_RFMT = @LL_RFMT@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ diff --git a/changer-src/chg-lib.sh.in b/changer-src/chg-lib.sh.in index 0e383e6..791154c 100644 --- a/changer-src/chg-lib.sh.in +++ b/changer-src/chg-lib.sh.in @@ -17,31 +17,12 @@ MTF=@MT_FILE_FLAG@ # No user-level customization should be required beyond this point. ################################################################################ -#### -# Set up paths, including PATH for finding amanda executables - -PATH="$PATH:@sbindir@:@libexecdir@" prefix="@prefix@" exec_prefix="@exec_prefix@" sbindir="@sbindir@" libexecdir="@libexecdir@" - -#### -# Gettext - -#+ -# Function to: -# Simplify gettext usage by allowing printf format -# strings for translators, use _() identifier for -# xgettext extraction similar to "C" usage and -# collapsing "printf `gettext fmt` ...", which is -# used everywhere, into one function. -#- -_() { - fmt=`gettext -d amanda "$1"` - shift - printf "$fmt" $* -} +amlibexecdir="@amlibexecdir@" +. "${amlibexecdir}/amanda-sh-lib.sh" #### # Eponymous functions to access various amanda apps diff --git a/changer-src/chg-mtx.sh b/changer-src/chg-mtx.sh index 173f20e..72ffe89 100644 --- a/changer-src/chg-mtx.sh +++ b/changer-src/chg-mtx.sh @@ -37,36 +37,6 @@ if [ "$tape" = "/dev/null" -o "$TAPE" = "/dev/null" ]; then exit 2; fi -MTX=@MTX@ - -if [ -x $sbindir/ammt$SUF ]; then - MT=$sbindir/ammt$SUF - MTF=-f -elif [ -x "@MT@" ]; then - MT=@MT@ - MTF=@MT_FILE_FLAG@ -else - answer=" $myname: mt program not found" - code=1 - echo "Exit -> $answer" >> $logfile - echo "$answer" - exit $code -fi -echo MT "->" $MT $MTF >> $logfile - -if [ -x $sbindir/amdd$SUF ]; then - DD=$sbindir/amdd$SUF -elif [ -x "@DD@" ]; then - DD=@DD@ -else - answer=" $myname: dd program not found" - code=1 - echo "Exit -> $answer" >> $logfile - echo "$answer" - exit $code -fi -echo DD "->" $DD >> $logfile - firstslot=1 lastslot=5 # counted from 1 !!! diff --git a/changer-src/chg-null.sh b/changer-src/chg-null.sh index 04ebb47..2f9a90c 100644 --- a/changer-src/chg-null.sh +++ b/changer-src/chg-null.sh @@ -44,7 +44,7 @@ totalslots=200 changerfile=`amgetconf$SUF changerfile` -tapedev=`amgetconf$SUF tapedev` +tapedev="null:/dev/xxx$$" cleanfile=$changerfile-clean accessfile=$changerfile-access diff --git a/changer-src/chg-zd-mtx.sh b/changer-src/chg-zd-mtx.sh index 36236da..464c075 100644 --- a/changer-src/chg-zd-mtx.sh +++ b/changer-src/chg-zd-mtx.sh @@ -192,8 +192,6 @@ # # autocleancount=99 #### Number of access before a clean. # -# cleancycle=120 #### Time (seconds) to clean drive (default 120) -# # havereader=0 #### If you have a barcode reader, set to 1. # # offline_before_unload=0 #### Does your robot require an @@ -707,11 +705,6 @@ labelfile=$changerfile-barcodes cleancount=`cat $cleanfile` accesscount=`cat $accessfile` -test -z "$MT" && Exit 2 "" "No mt command defined" -test ! -f "$MT" && Exit 2 "" "mt command ($MT) doesn't exist" -test -z "$MTX" && Exit 2 "" "No mtx command defined" -test ! -f "$MTX" && Exit 2 "" "mtx command ($MTX) doesn't exist" - #### Dig out of the config file what is needed varlist= @@ -762,11 +755,6 @@ if [ $DBGFILE = /dev/null ]; then fi Log `_ '=== Start %s ===' "\`date\`"` fi -if [ -z "$driveslot" ]; then - Exit 2 \ - `_ ''` \ - `_ 'cannot determine drive slot from %s' "$tape"` -fi stdout=$TMPDIR/$myname.1.$$ stderr=$TMPDIR/$myname.2.$$ diff --git a/changer-src/scsi-aix.c b/changer-src/scsi-aix.c index 5e523df..b768c73 100644 --- a/changer-src/scsi-aix.c +++ b/changer-src/scsi-aix.c @@ -34,8 +34,6 @@ #include -#ifdef HAVE_AIX_LIKE_SCSI - #include #ifdef HAVE_SYS_TYPES_H diff --git a/changer-src/scsi-chio.c b/changer-src/scsi-chio.c index d597b5e..32c3dbb 100644 --- a/changer-src/scsi-chio.c +++ b/changer-src/scsi-chio.c @@ -13,10 +13,6 @@ #include "config.h" #include "amanda.h" -#include "scsi-defs.h" - -#if (defined(HAVE_CHIO_H) || defined(HAVE_SYS_CHIO_H)) \ - && !defined(HAVE_CAMLIB_H) #include #include diff --git a/client-src/Makefile.in b/client-src/Makefile.in index 9a1d003..e830366 100644 --- a/client-src/Makefile.in +++ b/client-src/Makefile.in @@ -396,7 +396,6 @@ HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -412,7 +411,6 @@ AMPLOT_CAT_GZIP = @AMPLOT_CAT_GZIP@ AMPLOT_CAT_PACK = @AMPLOT_CAT_PACK@ AMPLOT_COMPRESS = @AMPLOT_COMPRESS@ AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ @@ -622,8 +620,6 @@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LL_FMT = @LL_FMT@ -LL_RFMT = @LL_RFMT@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ diff --git a/client-src/amandates.c b/client-src/amandates.c index 12da1f5..abbef36 100644 --- a/client-src/amandates.c +++ b/client-src/amandates.c @@ -26,7 +26,7 @@ /* * $Id: amandates.c,v 1.21 2006/07/25 18:35:21 martinea Exp $ * - * manage amandates file, that mimics /var/lib/dumpdates, but stores + * manage amandates file, that mimics /etc/dumpdates, but stores * GNUTAR dates */ @@ -312,7 +312,7 @@ import_dumpdates( devname = amname_to_devname(amdp->name); - if((dumpdf = fopen("/var/lib/dumpdates", "r")) == NULL) { + if((dumpdf = fopen("/etc/dumpdates", "r")) == NULL) { amfree(devname); return; } diff --git a/client-src/getfsent.c b/client-src/getfsent.c index 496c4e1..6f0f275 100644 --- a/client-src/getfsent.c +++ b/client-src/getfsent.c @@ -666,8 +666,6 @@ main( /* Don't die when child closes pipe */ signal(SIGPIPE, SIG_IGN); - malloc_size_1 = malloc_inuse(&malloc_hist_1); - if(!open_fstab()) { g_fprintf(stderr, _("getfsent_test: could not open fstab\n")); return 1; diff --git a/client-src/killpgrp.c b/client-src/killpgrp.c index 3749e32..d747294 100644 --- a/client-src/killpgrp.c +++ b/client-src/killpgrp.c @@ -100,7 +100,6 @@ main( /*NOTREACHED*/ } - /* Consume any extranious input */ signal(SIGTERM, term_kill_soft); /* Consume any extranious input */ diff --git a/client-src/selfcheck.c b/client-src/selfcheck.c index aad6872..8787a82 100644 --- a/client-src/selfcheck.c +++ b/client-src/selfcheck.c @@ -47,12 +47,6 @@ #include "findpass.h" #endif -#define selfcheck_debug(i,x) do { \ - if ((i) <= debug_selfcheck) { \ - dbprintf(x); \ - } \ -} while (0) - int need_samba=0; int need_rundump=0; int need_dump=0; @@ -125,10 +119,6 @@ main( /* Don't die when child closes pipe */ signal(SIGPIPE, SIG_IGN); -#if defined(USE_DBMALLOC) - malloc_size_1 = malloc_inuse(&malloc_hist_1); -#endif - erroutput_type = (ERR_INTERACTIVE|ERR_SYSLOG); dbopen(DBG_SUBDIR_CLIENT); startclock(); diff --git a/client-src/sendbackup-gnutar.c b/client-src/sendbackup-gnutar.c index 7e1a2a8..c11b55c 100644 --- a/client-src/sendbackup-gnutar.c +++ b/client-src/sendbackup-gnutar.c @@ -65,8 +65,7 @@ static amregex_t re_table[] = { /* samba may produce these output messages */ AM_NORMAL_RE("^[Aa]dded interface"), AM_NORMAL_RE("^session request to "), - AM_NORMAL_RE("^ *tar: dumped [0-9][0-9]* (tar )?files"), - AM_NORMAL_RE("^Domain="), + AM_NORMAL_RE("^tar: dumped [0-9][0-9]* (tar )?files"), #if SAMBA_VERSION < 2 AM_NORMAL_RE("^doing parameter"), @@ -74,6 +73,7 @@ static amregex_t re_table[] = { AM_NORMAL_RE("^adding IPC"), AM_NORMAL_RE("^Opening"), AM_NORMAL_RE("^Connect"), + AM_NORMAL_RE("^Domain="), AM_NORMAL_RE("^max"), AM_NORMAL_RE("^security="), AM_NORMAL_RE("^capabilities"), diff --git a/client-src/sendbackup.c b/client-src/sendbackup.c index 2e91c9b..9f26daf 100644 --- a/client-src/sendbackup.c +++ b/client-src/sendbackup.c @@ -193,7 +193,6 @@ main( char *line = NULL; char *err_extra = NULL; char *s; - char *conffile; int i; int ch; FILE *toolin; @@ -748,7 +747,6 @@ check_status( return 0; /* normal exit */ } - snprintf(numberpid, SIZEOF(number), "%d", (int)pid); if(ret == 0) { thiserr = vstrallocf(_("%s (%d) %s got signal %d"), strX, (int)pid, str, sig); diff --git a/client-src/sendsize.c b/client-src/sendsize.c index 8c64f63..4a335b7 100644 --- a/client-src/sendsize.c +++ b/client-src/sendsize.c @@ -169,10 +169,6 @@ main( /* Don't die when child closes pipe */ signal(SIGPIPE, SIG_IGN); -#if defined(USE_DBMALLOC) - malloc_size_1 = malloc_inuse(&malloc_hist_1); -#endif - erroutput_type = (ERR_INTERACTIVE|ERR_SYSLOG); dbopen(DBG_SUBDIR_CLIENT); startclock(); diff --git a/common-src/Makefile.am b/common-src/Makefile.am index 488b276..91a42a1 100644 --- a/common-src/Makefile.am +++ b/common-src/Makefile.am @@ -120,10 +120,6 @@ noinst_HEADERS = \ util.h \ version.h -.sh: - cat $< > $@ - chmod a+x $@ - EXTRA_PROGRAMS = genversion $(TEST_PROGS) # Version-building steps: diff --git a/common-src/Makefile.in b/common-src/Makefile.in index af31e0a..b88a973 100644 --- a/common-src/Makefile.in +++ b/common-src/Makefile.in @@ -397,7 +397,6 @@ HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -413,7 +412,6 @@ AMPLOT_CAT_GZIP = @AMPLOT_CAT_GZIP@ AMPLOT_CAT_PACK = @AMPLOT_CAT_PACK@ AMPLOT_COMPRESS = @AMPLOT_COMPRESS@ AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ @@ -623,8 +621,6 @@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LL_FMT = @LL_FMT@ -LL_RFMT = @LL_RFMT@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ diff --git a/common-src/amanda.h b/common-src/amanda.h index d03d8bc..9aa3d6a 100644 --- a/common-src/amanda.h +++ b/common-src/amanda.h @@ -298,10 +298,6 @@ struct iovec { #include #include -#if !defined(CONFIGURE_TEST) -# include "amanda-int.h" -#endif - #ifdef HAVE_ARPA_INET_H #include #endif @@ -314,121 +310,6 @@ struct iovec { #define INET_ADDRSTRLEN 16 #endif -/* Calculate the length of the data in a struct sockaddr_storage. - * THIS IS A HACK. - * - * To be truly portable, the length of an address should be passed - * in a companion variable. When such lengths are available - * everywhere they are needed, this macro should be removed. - */ -#ifdef WORKING_IPV6 -# define SS_LEN(ss) (((struct sockaddr *)(ss))->sa_family==AF_INET6?sizeof(struct sockaddr_in6):sizeof(struct sockaddr_in)) -#else -# define SS_LEN(ss) (sizeof(struct sockaddr_in)) -#endif - - -/* AF_NATIVE is the "best" address family we support, backward compatible - * through to AF_INET. - */ -#ifdef WORKING_IPV6 -#define AF_NATIVE AF_INET6 -#else -#define AF_NATIVE AF_INET -#endif - -/* SS_INIT(ss, family) initializes ss to all zeroes (as directed by RFC), - * and sets its ss_family as specified - */ -#define SS_INIT(ss, family) do { \ - memset((ss), 0, sizeof(*(ss))); \ - (ss)->ss_family = (family); \ -} while (0); - -/* SS_SET_INADDR_ANY(ss) sets ss to the family-appropriate equivalent of - * INADDR_ANY, a wildcard address and port. - */ -#ifdef WORKING_IPV6 -#define SS_SET_INADDR_ANY(ss) do { \ - switch ((ss)->ss_family) { \ - case AF_INET6: \ - ((struct sockaddr_in6 *)(ss))->sin6_flowinfo = 0; \ - ((struct sockaddr_in6 *)(ss))->sin6_addr = in6addr_any; \ - break; \ - case AF_INET: \ - ((struct sockaddr_in *)(ss))->sin_addr.s_addr = INADDR_ANY; \ - break; \ - } \ -} while (0); -#else -#define SS_SET_INADDR_ANY(ss) do { \ - ((struct sockaddr_in *)(ss))->sin_addr.s_addr = INADDR_ANY; \ -} while (0); -#endif - -/* Set/get the port in a sockaddr_storage that already has an family */ -#ifdef WORKING_IPV6 -#define SS_SET_PORT(ss, port) \ -switch ((ss)->ss_family) { \ - case AF_INET: \ - ((struct sockaddr_in *)(ss))->sin_port = (in_port_t)htons((port)); \ - break; \ - case AF_INET6: \ - ((struct sockaddr_in6 *)(ss))->sin6_port = (in_port_t)htons((port)); \ - break; \ - default: assert(0); \ -} -#else -#define SS_SET_PORT(ss, port) \ - ((struct sockaddr_in *)(ss))->sin_port = (in_port_t)htons((port)); -#endif - -#ifdef WORKING_IPV6 -#define SS_GET_PORT(ss) (ntohs( \ - (ss)->ss_family == AF_INET6? \ - ((struct sockaddr_in6 *)(ss))->sin6_port \ - :((struct sockaddr_in *)(ss))->sin_port)) -#else -#define SS_GET_PORT(ss) (ntohs( \ - ((struct sockaddr_in *)(ss))->sin_port)) -#endif - -/* - * The dbmalloc package comes from: - * - * http://www.clark.net/pub/dickey/dbmalloc/dbmalloc.tar.gz - * - * or - * - * ftp://gatekeeper.dec.com/pub/usenet/comp.sources.misc/volume32/dbmalloc/ - * - * The following functions are sprinkled through the code, but are - * disabled unless USE_DBMALLOC is defined: - * - * malloc_enter(char *) -- stack trace for malloc reports - * malloc_leave(char *) -- stack trace for malloc reports - * malloc_mark(void *) -- mark an area as never to be free-d - * malloc_chain_check(void) -- check the malloc area now - * malloc_dump(int fd) -- report the malloc contents to a file descriptor - * malloc_list(int fd, ulong a, ulong b) -- report memory activated since - * history stamp a that is still active as of stamp b (leak check) - * malloc_inuse(ulong *h) -- create history stamp h and return the amount - * of memory currently in use. - */ - -#ifdef USE_DBMALLOC -#include "dbmalloc.h" -#else -#define malloc_enter(func) ((void)0) -#define malloc_leave(func) ((void)0) -#define malloc_mark(ptr) ((void)0) -#define malloc_chain_check() ((void)0) -#define malloc_dump(fd) ((void)0) -#define malloc_list(a,b,c) ((void)0) -#define malloc_inuse(hist) (*(hist) = 0, 0) -#define dbmalloc_caller_loc(x,y) (x) -#endif - #if !defined(HAVE_SIGACTION) && defined(HAVE_SIGVEC) /* quick'n'dirty hack for NextStep31 */ # define sa_flags sv_flags @@ -494,76 +375,6 @@ extern int errno; #define stringize(x) #x #define stringconcat(x, y) x ## y -/* - * So that we can use GNUC attributes (such as to get -Wall warnings - * for printf-like functions). Only do this in gcc 2.7 or later ... - * it may work on earlier stuff, but why chance it. - */ -#if !defined(__GNUC__) || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) || defined(S_SPLINT_S) || defined(LINT) || defined(__lint) -#undef __attribute__ -#define __attribute__(__x) -#endif - -/* - * assertions, but call error() instead of abort - */ -#ifndef ASSERTIONS - -#define assert(exp) ((void)0) - -#else /* ASSERTIONS */ - -#define assert(exp) do { \ - if (!(exp)) { \ - onerror(abort); \ - error("assert: %s false, file %s, line %d", \ - stringize(exp), __FILE__, __LINE__); \ - /*NOTREACHED*/ \ - } \ -} while (0) - -#endif /* ASSERTIONS */ - -/* - * print debug output, else compile to nothing. - */ - -#ifdef DEBUG_CODE /* { */ -# define dbopen(a) debug_open(a) -# define dbreopen(a,b) debug_reopen(a,b) -# define dbrename(a,b) debug_rename(a,b) -# define dbclose() debug_close() -# define dbprintf(p) (debug_printf p) -# define dbfd() debug_fd() -# define dbfp() debug_fp() -# define dbfn() debug_fn() - -extern void debug_open(char *subdir); -extern void debug_reopen(char *file, char *notation); -extern void debug_rename(char *config, char *subdir); -extern void debug_close(void); -extern void debug_printf(const char *format, ...) - __attribute__ ((format (printf, 1, 2))); -extern int debug_fd(void); -extern FILE * debug_fp(void); -extern char * debug_fn(void); -extern void set_debug_prefix_pid(pid_t); -extern char *debug_prefix(char *); -extern char *debug_prefix_time(char *); -#else /* }{ */ -# define dbopen(a) -# define dbreopen(a,b) -# define dbrename(a,b) -# define dbclose() -# define dbprintf(p) -# define dbfd() (-1) -# define dbfp() NULL -# define dbfn() NULL -# define set_debug_prefix_pid(x) -# define debug_prefix(x) get_pname() -# define debug_prefix_time(x) get_pname() -#endif /* } */ - /* amanda #days calculation, with roundoff */ #define SECS_PER_DAY (24*60*60) diff --git a/common-src/amflock.c b/common-src/amflock.c index 2b012e3..c105996 100644 --- a/common-src/amflock.c +++ b/common-src/amflock.c @@ -90,7 +90,7 @@ amflock_impl_t *amflock_impls[] = { /* FIXME: for now, these just use the first non-NULL implementation */ -/* Locking using existance of a file. +/* Get a file lock (for read/write files). */ int amflock( @@ -100,8 +100,6 @@ amflock( if (!amflock_impls[0]) return 0; /* no locking */ return amflock_impls[0]->amflock_impl(fd, resource); } -#endif - /* * Get a file lock (for read-only files). diff --git a/common-src/genversion.c b/common-src/genversion.c index 5ded561..1b4f7f5 100644 --- a/common-src/genversion.c +++ b/common-src/genversion.c @@ -338,10 +338,6 @@ main( prstr("AIX_BACKUP"); #endif -#ifdef AIX_TAPEIO - prstr("AIX_TAPEIO"); -#endif - #ifdef BROKEN_VOID prstr("BROKEN_VOID"); #endif @@ -402,10 +398,6 @@ main( prstr("ASSERTIONS"); #endif -#ifdef DEBUG_CODE - prstr("DEBUG_CODE"); -#endif - #ifdef AMANDA_DEBUG_DAYS prnum("AMANDA_DEBUG_DAYS", AMANDA_DEBUG_DAYS); #endif diff --git a/common-src/packet.h b/common-src/packet.h index cd40615..cc117f6 100644 --- a/common-src/packet.h +++ b/common-src/packet.h @@ -44,13 +44,13 @@ typedef struct { */ void pkt_init_empty(pkt_t *pkt, pktype_t type); void pkt_init(pkt_t *, pktype_t, const char *, ...) - __attribute__ ((format (printf, 3, 4))); + G_GNUC_PRINTF(3,4); /* * Append data to a packet */ void pkt_cat(pkt_t *, const char *, ...) - __attribute__ ((format (printf, 2, 3))); + G_GNUC_PRINTF(2,3); /* * Convert the packet type to and from a string diff --git a/config/Makefile.am b/config/Makefile.am index 6e32254..489e52c 100644 --- a/config/Makefile.am +++ b/config/Makefile.am @@ -2,7 +2,6 @@ EXTRA_DIST = config.guess \ config.sub \ - gnulib.m4i \ install-sh \ libtool.m4 \ ltmain.sh \ diff --git a/config/Makefile.in b/config/Makefile.in index 3f046b7..7f0a293 100644 --- a/config/Makefile.in +++ b/config/Makefile.in @@ -154,7 +154,6 @@ CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -170,7 +169,6 @@ AMPLOT_CAT_GZIP = @AMPLOT_CAT_GZIP@ AMPLOT_CAT_PACK = @AMPLOT_CAT_PACK@ AMPLOT_COMPRESS = @AMPLOT_COMPRESS@ AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ AR = @AR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ @@ -380,8 +378,6 @@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LL_FMT = @LL_FMT@ -LL_RFMT = @LL_RFMT@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ diff --git a/config/config.h.in b/config/config.h.in index 2196c49..5c2d004 100644 --- a/config/config.h.in +++ b/config/config.h.in @@ -126,9 +126,6 @@ /* Define as good substitute value for EOVERFLOW. */ #undef EOVERFLOW -/* Define to force to another user on client machines. */ -#undef FORCE_USERID - /* Define to 1 if the `getpgrp' function requires zero arguments. */ #undef GETPGRP_VOID @@ -479,9 +476,6 @@ /* Define if isnormal is declared. */ #undef HAVE_ISNORMAL_DECL -/* Define to 1 if you have the `c' library (-lc). */ -#undef HAVE_LIBC - /* Define to 1 if you have the `cam' library (-lcam). */ #undef HAVE_LIBCAM @@ -635,12 +629,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H -/* Define to 1 if you have the header file. */ -#undef HAVE_NETINET_IN_SYSTM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NETINET_IP_H - /* Define to 1 if you have the `on_exit' function. */ #undef HAVE_ON_EXIT @@ -1516,9 +1504,6 @@ /* Define if the Win32 multithreading API can be used. */ #undef USE_WIN32_THREADS -/* Define on UnixWare. */ -#undef UWARE_TAPEIO - /* Define the location of the vdump program. */ #undef VDUMP @@ -1590,9 +1575,6 @@ /* Target system has functional IPv6 support */ #undef WORKING_IPV6 -/* Define on XENIX/ISC. */ -#undef XENIX_TAPEIO - /* Define the location of the xfsdump program on Irix hosts. */ #undef XFSDUMP diff --git a/config/gnulib.m4i b/config/gnulib.m4i index b211f5f..e69de29 100644 --- a/config/gnulib.m4i +++ b/config/gnulib.m4i @@ -1,35 +0,0 @@ -m4_include([config/gnulib/absolute-header.m4]) -m4_include([config/gnulib/alloca.m4]) -m4_include([config/gnulib/arpa_inet_h.m4]) -m4_include([config/gnulib/eoverflow.m4]) -m4_include([config/gnulib/extensions.m4]) -m4_include([config/gnulib/getaddrinfo.m4]) -m4_include([config/gnulib/gnulib-cache.m4]) -m4_include([config/gnulib/gnulib-common.m4]) -m4_include([config/gnulib/gnulib-comp.m4]) -m4_include([config/gnulib/gnulib-tool.m4]) -m4_include([config/gnulib/inet_ntop.m4]) -m4_include([config/gnulib/intmax_t.m4]) -m4_include([config/gnulib/inttypes_h.m4]) -m4_include([config/gnulib/lib-ld.m4]) -m4_include([config/gnulib/lib-link.m4]) -m4_include([config/gnulib/lib-prefix.m4]) -m4_include([config/gnulib/lock.m4]) -m4_include([config/gnulib/longdouble.m4]) -m4_include([config/gnulib/longlong.m4]) -m4_include([config/gnulib/netinet_in_h.m4]) -m4_include([config/gnulib/onceonly_2_57.m4]) -m4_include([config/gnulib/size_max.m4]) -m4_include([config/gnulib/snprintf.m4]) -m4_include([config/gnulib/socklen.m4]) -m4_include([config/gnulib/sockpfaf.m4]) -m4_include([config/gnulib/stdbool.m4]) -m4_include([config/gnulib/stdint_h.m4]) -m4_include([config/gnulib/strdup.m4]) -m4_include([config/gnulib/string_h.m4]) -m4_include([config/gnulib/sys_socket_h.m4]) -m4_include([config/gnulib/vasnprintf.m4]) -m4_include([config/gnulib/visibility.m4]) -m4_include([config/gnulib/wchar_t.m4]) -m4_include([config/gnulib/wint_t.m4]) -m4_include([config/gnulib/xsize.m4]) diff --git a/config/gnulib/longdouble.m4 b/config/gnulib/longdouble.m4 index 25590f4..e69de29 100644 --- a/config/gnulib/longdouble.m4 +++ b/config/gnulib/longdouble.m4 @@ -1,31 +0,0 @@ -# longdouble.m4 serial 2 (gettext-0.15) -dnl Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. -dnl Test whether the compiler supports the 'long double' type. -dnl Prerequisite: AC_PROG_CC - -dnl This file is only needed in autoconf <= 2.59. Newer versions of autoconf -dnl have a macro AC_TYPE_LONG_DOUBLE with identical semantics. - -AC_DEFUN([gt_TYPE_LONGDOUBLE], -[ - AC_CACHE_CHECK([for long double], gt_cv_c_long_double, - [if test "$GCC" = yes; then - gt_cv_c_long_double=yes - else - AC_TRY_COMPILE([ - /* The Stardent Vistra knows sizeof(long double), but does not support it. */ - long double foo = 0.0; - /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ - int array [2*(sizeof(long double) >= sizeof(double)) - 1]; - ], , - gt_cv_c_long_double=yes, gt_cv_c_long_double=no) - fi]) - if test $gt_cv_c_long_double = yes; then - AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) - fi -]) diff --git a/config/gnulib/socklen.m4 b/config/gnulib/socklen.m4 index 5e3765a..d39a314 100644 --- a/config/gnulib/socklen.m4 +++ b/config/gnulib/socklen.m4 @@ -1,5 +1,5 @@ -# socklen.m4 serial 4 -dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +# socklen.m4 serial 5 +dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -12,14 +12,14 @@ dnl types for the argument to getsockopt, getpeername, etc. So we dnl have to test to find something that will work. dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find -dnl it there first. That file is included by gnulib's socket_.h, which +dnl it there first. That file is included by gnulib's sys_socket_.h, which dnl all users of this module should include. Cygwin must not include dnl ws2tcpip.h. AC_DEFUN([gl_TYPE_SOCKLEN_T], [AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl AC_CHECK_TYPE([socklen_t], , [AC_MSG_CHECKING([for socklen_t equivalent]) - AC_CACHE_VAL([gl_cv_gl_cv_socklen_t_equiv], + AC_CACHE_VAL([gl_cv_socklen_t_equiv], [# Systems have either "struct sockaddr *" or # "void *" as the second argument to getpeername gl_cv_socklen_t_equiv= diff --git a/configure b/configure index d90c7e7..49ddd55 100755 --- a/configure +++ b/configure @@ -2460,11 +2460,6 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov fi -gl_header_list="$gl_header_list arpa/inet.h" -gl_header_list="$gl_header_list sys/socket.h" -gl_header_list="$gl_header_list netinet/in.h" -gl_header_list="$gl_header_list netdb.h" -gl_header_list="$gl_header_list string.h" @@ -3105,8 +3100,6 @@ ac_config_headers="$ac_config_headers config/config.h" -if test -f "$srcdir/SNAPSHOT"; then - cat < "$srcdir/SNAPSHOT" # # Take care of some early Amanda-specific setup @@ -3128,7 +3121,6 @@ if test -f "$srcdir/SNAPSHOT"; then fi -VERSION_SUFFIX="$VERSION" VERSION_MAJOR=`expr "$VERSION" : '\([0-9]*\)'` @@ -3144,14 +3136,6 @@ VERSION_SUFFIX="$VERSION" - case "$withval" in - "" | y | ye | yes | n | no) - { { echo "$as_me:$LINENO: error: *** You must supply an argument to the --with-cflags option." >&5 -echo "$as_me: error: *** You must supply an argument to the --with-cflags option." >&2;} - { (exit 1); exit 1; }; } - ;; - esac - CFLAGS="$withval" if test -f config.local; then echo "running local script ./config.local" @@ -3303,10 +3287,6 @@ else echo "${ECHO_T}no" >&6; } fi - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi fi fi @@ -4080,146 +4060,6 @@ echo "${ECHO_T}unsupported" >&6; } ;; echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -4803,17 +4643,6 @@ else ac_cv_path_GREP=$GREP fi -echo "$as_me:$LINENO: checking for AIX" >&5 -echo $ECHO_N "checking for AIX... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef _AIX - yes -#endif fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 @@ -4895,7 +4724,6 @@ fi else ac_cv_path_EGREP=$EGREP fi -rm -f conftest* fi @@ -9701,6 +9529,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -10079,6 +9910,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -11066,9 +10900,6 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in @@ -11281,6 +11112,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -11317,6 +11151,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || @@ -12245,6 +12082,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -12655,19 +12495,6 @@ gl_cv_func_gettimeofday_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_inet_ntop" >&5 -echo "${ECHO_T}$ac_cv_have_decl_inet_ntop" >&6 -if test $ac_cv_have_decl_inet_ntop = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_NTOP 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_NTOP 0 -_ACEOF fi @@ -13353,51 +13180,13 @@ _ACEOF fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -int -main () -{ @@ -13676,11 +13465,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - test "$gl_cv_socklen_t_equiv" != "" && break - done - test "$gl_cv_socklen_t_equiv" != "" && break - done rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 @@ -32614,7 +32398,16 @@ if test "${enable_static+set}" = set; then yes) enable_static=yes ;; no) enable_static=no ;; *) - lt_prog_compiler_pic_CXX='-fPIC' + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" ;; esac else @@ -32637,202 +32430,9 @@ if test "${enable_fast_install+set}" = set; then if test "X$pkg" = "X$p"; then enable_fast_install=yes fi - ;; - chorus*) - case $cc_basename in - 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++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - 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*) - 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 - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - sco*) - case $cc_basename in - CC*) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - *) - ;; - esac - ;; - solaris*) - case $cc_basename in - 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*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - unixware*) - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; + done + IFS="$lt_save_ifs" + ;; esac else enable_fast_install=yes @@ -32891,8 +32491,6 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do done fi -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6 SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 @@ -32934,7 +32532,8 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } ac_prog=ld ;; *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then @@ -33003,39 +32602,6 @@ fi echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:30398: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:30402: \$? = $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 - $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 - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } @@ -33138,27 +32704,14 @@ lt_cv_deplibs_check_method='unknown' # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - 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' +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + +beos*) + lt_cv_deplibs_check_method=pass_all ;; - esac bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' @@ -33166,32 +32719,22 @@ bsdi[45]*) lt_cv_file_magic_test_file=/shlib/libc.so ;; -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; freebsd* | kfreebsd*-gnu | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then @@ -33204,192 +32747,41 @@ freebsd* | kfreebsd*-gnu | dragonfly*) lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac + lt_cv_deplibs_check_method=pass_all fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac ;; gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes + lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes ;; -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. @@ -33398,38 +32790,21 @@ linux*) ;; netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes ;; -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes + lt_cv_deplibs_check_method=unknown ;; openbsd*) @@ -33440,130 +32815,47 @@ openbsd*) fi ;; -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + lt_cv_deplibs_check_method=pass_all ;; sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH + lt_cv_deplibs_check_method=pass_all ;; solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes + lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; esac ;; -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all ;; esac -echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no -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 - - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } @@ -33571,51 +32863,12 @@ file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown -if test "$hardcode_action_CXX" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -striplib= -old_striplib= -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - ;; - *) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - esac -fi +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= +# Allow CC to be a program name with arguments. +compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then @@ -33738,26 +32991,23 @@ echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); int main () { -dlopen (); + ; return 0; } @@ -33790,7 +33040,12 @@ fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } @@ -33800,13 +33055,10 @@ echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } fi ;; - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes +esac -fi +need_locks="$enable_libtool_lock" - ;; for ac_header in dlfcn.h @@ -33831,50 +33083,8 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -char (*f) () = shl_load; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != shl_load; - ; - return 0; -} +$ac_includes_default +#include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -33914,21 +33124,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -int -main () -{ -shl_load (); - ; - return 0; -} +#include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -33951,11 +33147,7 @@ else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_dld_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext @@ -33998,33 +33190,15 @@ ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } -#ifdef __STDC__ -# include -#else -# include -#endif +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF -#undef dlopen +fi -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -char (*f) () = dlopen; -#endif -#ifdef __cplusplus -} -#endif +done ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -34190,7 +33364,10 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -return f != dlopen; +#ifndef __GNUC__ + choke me +#endif + ; return 0; } @@ -34245,17 +33422,10 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); int main () { -dlopen (); + ; return 0; } @@ -34394,68 +33564,52 @@ 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 - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" +depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) @@ -34496,11 +33650,11 @@ else fi done -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 @@ -34516,7 +33670,6 @@ else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi -rm -fr conftest* @@ -34578,11 +33731,8 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 }; then : else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <&5 +sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue @@ -34629,18 +33779,15 @@ fi rm -f conftest.err conftest.$ac_ext -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } + done + ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP @@ -34679,6 +33826,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || @@ -34689,6 +33839,8 @@ else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. +continue fi rm -f conftest.err conftest.$ac_ext @@ -34725,71 +33877,25 @@ else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac + # Passes both tests. +ac_preproc_ok=: +break fi rm -f conftest.err conftest.$ac_ext -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # 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 - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -34908,10 +34014,6 @@ esac fi fi -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 @@ -35057,17 +34159,16 @@ else fi fi -# A symbol stripping program -STRIP=$lt_STRIP +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 @@ -35078,24 +34179,38 @@ else i=0 teststring="ABCD" -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; -# Object file suffix (normally "o"). -objext="$ac_objext" + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; -# Old archive suffix (normally "a"). -libext="$libext" + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. @@ -35145,9 +34260,7 @@ shrext_cmds='$shrext_cmds' ;; esac -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode +fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 @@ -35157,14 +34270,8 @@ else echo "${ECHO_T}none" >&6; } fi -# 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? -need_locks=$lt_need_locks -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 @@ -35173,20 +34280,20 @@ if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else -# Whether dlopen is supported. -dlopen_support=$enable_dlopen +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # 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'" -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX +# Transform an extracted symbol line into symbol name and symbol address +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'" # Define system-specific variables. case $host_os in @@ -35224,14 +34331,22 @@ sysv4) ;; esac -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac -# Library versioning type. -version_type=$version_type +# 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" @@ -35239,46 +34354,117 @@ version_type=$version_type # 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'" -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec + # Check to see that the pipe works correctly. + pipe_works=no -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX +fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= @@ -35310,40 +34496,43 @@ fi echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='sed -e 1s/^X//' sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' -# This is the shared library runtime path variable. -runpath_var=$runpath_var +# Constants: +rm="rm -f" -# This is the shared library path variable. -shlibpath_var=$shlibpath_var +# Global variables: +default_ofile=libtool +can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). @@ -35640,10 +34829,9 @@ else STRIP="$ac_cv_prog_STRIP" fi -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX -# ### END LIBTOOL TAG CONFIG: $tagname +old_CC="$CC" +old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$AR" && AR=ar @@ -35821,12 +35009,12 @@ fi fi fi + fi + ;; +esac -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +enable_dlopen=no +enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then @@ -35835,8 +35023,6 @@ fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then # Check whether --with-pic was given. if test "${with_pic+set}" = set; then @@ -35847,39 +35033,29 @@ fi test -z "$pic_mode" && pic_mode=default -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Source file extension for f77 test sources. -ac_ext=f -# Object file extension for compiled f77 test sources. +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. objext=o -objext_F77=$objext +objext=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code=" subroutine t\n return\n end\n" +lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests -lt_simple_link_test_code=" program t\n end\n" +lt_simple_link_test_code='int main(){return(0);}\n' -# ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} @@ -35940,14 +35116,6 @@ AAW_EOF fi fi - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; # # Check to make sure the static flag actually works. @@ -35983,43 +35151,20 @@ fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; +## 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 +## what you are doing... - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; +lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' @@ -36148,12 +35293,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) - lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_static='-Bstatic' else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) @@ -36170,11 +35315,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' + lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in @@ -36182,30 +35327,30 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # +Z the default ;; *) - lt_prog_compiler_pic_F77='+Z' + lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' + lt_prog_compiler_static='-non_shared' ;; newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' ;; linux*) case $cc_basename in icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, @@ -36215,22 +35360,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } lt_prog_compiler_static='-Bstatic' ;; ccc*) - lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' + lt_prog_compiler_static='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' + lt_prog_compiler_static='-non_shared' ;; sco3.2v5*) - lt_prog_compiler_pic_F77='-Kpic' - lt_prog_compiler_static_F77='-dn' + lt_prog_compiler_pic='-Kpic' + lt_prog_compiler_static='-dn' ;; solaris*) @@ -36245,21 +35390,21 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } ;; sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' fi ;; @@ -36269,12 +35414,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } ;; uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' ;; *) - lt_prog_compiler_can_build_shared_F77=no + lt_prog_compiler_can_build_shared=no ;; esac fi @@ -36285,17 +35430,17 @@ echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # -if test -n "$lt_prog_compiler_pic_F77"; then +if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - lt_prog_compiler_pic_works_F77=no + lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -36325,24 +35470,24 @@ fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) - lt_prog_compiler_pic_F77= + lt_prog_compiler_pic= ;; *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -36351,7 +35496,7 @@ echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" > if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - lt_cv_prog_compiler_c_o_F77=no + lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest @@ -36398,7 +35543,7 @@ echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } @@ -36431,35 +35576,35 @@ fi echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list - include_expsyms_F77= + include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. - exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot @@ -36491,7 +35636,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ;; esac - ld_shlibs_F77=yes + ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' @@ -36522,7 +35667,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then - ld_shlibs_F77=no + ld_shlibs=no cat <&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported @@ -36536,9 +35681,9 @@ EOF ;; amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up @@ -36546,22 +35691,22 @@ EOF # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. - ld_shlibs_F77=no + ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported + allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else - ld_shlibs_F77=no + ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported @@ -36570,10 +35715,10 @@ EOF 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_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; @@ -36581,7 +35726,7 @@ 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_F77=no + ld_shlibs=no fi ;; @@ -36618,17 +35763,17 @@ EOF netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris* | sysv5*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no + ld_shlibs=no cat <&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably @@ -36640,26 +35785,26 @@ EOF EOF elif $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' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else - ld_shlibs_F77=no + ld_shlibs=no fi ;; sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no + hardcode_direct=yes + hardcode_shlibpath_var=no ;; *) 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' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else - ld_shlibs_F77=no + ld_shlibs=no fi ;; esac @@ -36674,16 +35819,16 @@ EOF # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. - hardcode_minus_L_F77=yes + hardcode_minus_L=yes if test "$GCC" = yes && test -z "$link_static_flag"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. - hardcode_direct_F77=unsupported + hardcode_direct=unsupported fi ;; @@ -36698,9 +35843,9 @@ EOF # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -36726,10 +35871,10 @@ EOF # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) @@ -36740,16 +35885,16 @@ EOF strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 - hardcode_direct_F77=yes + hardcode_direct=yes else # We have old collect2 - hardcode_direct_F77=unsupported + hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= fi esac shared_flag='-shared' @@ -36773,16 +35918,26 @@ EOF # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes + always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' + allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF - program main +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - end +int +main () +{ + + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" @@ -36819,19 +35974,29 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF - program main +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - end +int +main () +{ + + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" @@ -36868,13 +36033,13 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' # -bexpall does not export symbols beginning with underscore (_) - always_export_symbols_F77=yes + always_export_symbols=yes # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec=' ' archive_cmds_need_lc=yes @@ -36885,11 +36050,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no + ld_shlibs=no ;; bsdi[45]*) @@ -36901,20 +36066,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' + old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) @@ -36968,13 +36133,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no ;; freebsd1*) - ld_shlibs_F77=no + ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor @@ -36982,18 +36147,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. @@ -37006,67 +36171,67 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' ;; hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*|ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*|ia64*) - archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; *) - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; esac fi if test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=no + hardcode_shlibpath_var=no ;; ia64*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + hardcode_shlibpath_var=no # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. - hardcode_minus_L_F77=yes + hardcode_minus_L=yes ;; *) - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. - hardcode_minus_L_F77=yes + hardcode_minus_L=yes ;; esac fi @@ -37074,38 +36239,38 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $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' + archive_cmds='$CC -shared $libobjs $deplibs $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_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no ;; newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no ;; openbsd*) - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no + hardcode_direct=yes + 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' @@ -37114,42 +36279,42 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' ;; *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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' + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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 - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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_F77='${wl}-rpath ${wl}$libdir' + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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='${wl}-rpath ${wl}$libdir' else 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' @@ -37157,15 +36322,15 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi $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' + hardcode_libdir_flag_spec='-rpath $libdir' fi - hardcode_libdir_separator_F77=: + hardcode_libdir_separator=: ;; sco3.2v5*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='${wl}-Bexport' + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='${wl}-Bexport' runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ;; @@ -37193,8 +36358,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi lt_prog_compiler_static='-static' fi fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) @@ -37210,101 +36375,101 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 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_F77=yes + link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no ;; motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no + hardcode_shlibpath_var=no ;; sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes - ld_shlibs_F77=yes + ld_shlibs=yes fi ;; sysv4.2uw2*) - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=no + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=no + hardcode_shlibpath_var=no hardcode_runpath_var=yes runpath_var=LD_RUN_PATH ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) - no_undefined_flag_F77='${wl}-z ${wl}text' + no_undefined_flag='${wl}-z ${wl}text' if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' else - archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' fi runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no + hardcode_shlibpath_var=no ;; sysv5*) - no_undefined_flag_F77=' -z text' + no_undefined_flag=' -z text' # $CC -shared without GNU ld will not create a library from C++ # object files and a static libstdc++, better avoid it by now - 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~ + 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' - hardcode_libdir_flag_spec_F77= - hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec= + hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' ;; uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no ;; *) - ld_shlibs_F77=no + ld_shlibs=no ;; esac fi @@ -37321,13 +36486,13 @@ fi # # Do we need to explicitly link libc? # -case "x$archive_cmds_need_lc_F77" in +case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added - archive_cmds_need_lc_F77=yes + archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 in + case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; @@ -37349,25 +36514,25 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >& lib=conftest libobjs=conftest.$ac_objext deplibs= - wl=$lt_prog_compiler_wl_F77 + wl=$lt_prog_compiler_wl compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then - archive_cmds_need_lc_F77=no + archive_cmds_need_lc=no else - archive_cmds_need_lc_F77=yes + archive_cmds_need_lc=yes fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag + allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi @@ -37946,27 +37111,27 @@ if test -n "$hardcode_libdir_flag_spec" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && + if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink + hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate + hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. - hardcode_action_F77=unsupported + hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } -if test "$hardcode_action_F77" = relink; then +if test "$hardcode_action" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || @@ -38004,87 +37169,30 @@ echo "${ECHO_T}no" >&6; } esac fi +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # 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 - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; darwin*) # if libdl is installed we need to link against it @@ -38153,14 +37261,13 @@ if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared +fi -# Whether or not to build static libraries. -build_old_libs=$enable_static + ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 @@ -38178,17 +37285,18 @@ cat >>conftest.$ac_ext <<_ACEOF For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -# An echo program that does not interpret backslashes. -echo=$lt_echo +#ifdef __STDC__ +# include +#else +# include +#endif -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS +#undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -38325,14 +37433,18 @@ cat >>conftest.$ac_ext <<_ACEOF For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen -# A symbol stripping program -STRIP=$lt_STRIP +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD +#ifdef __STDC__ +# include +#else +# include +#endif -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" +#undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -38583,54 +37695,40 @@ if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix -# Do we need a version for libraries? -need_version=$need_version +fi -# Whether dlopen is supported. -dlopen_support=$enable_dlopen -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self +fi -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 +fi -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 +fi -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 +fi -# Library versioning type. -version_type=$version_type + ;; + esac -# Format of library name prefix. -libname_spec=$lt_libname_spec + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } @@ -38646,34 +37744,60 @@ else #line 37744 "configure" #include "confdefs.h" -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 +#if HAVE_DLFCN_H +#include +#endif -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds +#include -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 +#ifdef __cplusplus +extern "C" void exit (int); +#endif -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } exit (status); } @@ -38697,9 +37821,6 @@ EOF fi rm -fr conftest* -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 @@ -39202,10 +38323,10 @@ deplibs_check_method=$lt_deplibs_check_method file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 +allow_undefined_flag=$lt_allow_undefined_flag # Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 +no_undefined_flag=$lt_no_undefined_flag # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds @@ -39232,45 +38353,45 @@ shlibpath_var=$shlibpath_var shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 +hardcode_action=$hardcode_action # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 +hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. -hardcode_direct=$hardcode_direct_F77 +hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 +hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 +hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_F77 +hardcode_automatic=$hardcode_automatic # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 +link_all_deplibs=$link_all_deplibs # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec @@ -39279,28 +38400,53 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_F77" +fix_srcfile_path="$fix_srcfile_path" # Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 +always_export_symbols=$always_export_symbols # The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 +export_symbols_cmds=$lt_export_symbols_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 +exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 +include_expsyms=$lt_include_expsyms -# ### END LIBTOOL TAG CONFIG: $tagname +# ### END LIBTOOL CONFIG __EOF__ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the @@ -39382,6 +38528,7 @@ AAW_EOF echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; + esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then @@ -39407,8 +38554,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -# Source file extension for Java test sources. -ac_ext=java archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= @@ -39441,13 +38586,13 @@ ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o -objext_GCJ=$objext +objext_CXX=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}\n" +lt_simple_compile_test_code="int some_variable = 0;\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='int main(int, char *) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -39473,8 +38618,24 @@ $rm conftest* # Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do @@ -39488,15 +38649,17 @@ 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 +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi -old_archive_cmds_GCJ=$old_archive_cmds +if test "$GXX" = yes; then + # Set up default GNU C++ configuration -## 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 -## what you are doing... # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then @@ -39572,8 +38735,6 @@ else lt_cv_path_LD="$LD" # Let the user override the test with a path. fi fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 LD="$lt_cv_path_LD" if test -n "$LD"; then @@ -39605,55 +38766,51 @@ fi echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; +else + GXX=no + with_gnu_ld=no + wlarc= +fi # PORTME: fill in a description of your system's C++ link characteristics { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 @@ -39674,18 +38831,19 @@ case $host_os in else aix_use_runtimelinking=no - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done esac - ;; exp_sym_flag='-bexport' no_entry_flag='-bnoentry' @@ -39730,118 +38888,96 @@ case $host_os in else # not using gcc if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi 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 - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; + fi - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; +int +main () +{ - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then - linux*) - 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* | pgf95*) - # 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='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - esac - ;; +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - sco3.2v5*) - lt_prog_compiler_pic_GCJ='-Kpic' - lt_prog_compiler_static_GCJ='-dn' - ;; +fi - solaris*) - 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 - ;; +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; +int +main () +{ ; return 0; @@ -39866,138 +39002,14 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - -echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6 -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:35216: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:35220: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $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 - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6 - -if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 -if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:35278: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:35282: \$? = $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 - $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 - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 fi @@ -40021,10 +39033,14 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi fi fi ;; - openbsd*) - with_gnu_ld=no + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac ;; - esac cygwin* | mingw* | pw32*) @@ -40042,7 +39058,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else - whole_archive_flag_spec_GCJ= + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) @@ -40226,15 +39247,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -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 # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -43042,412 +42054,170 @@ allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX - 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 - ;; +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval - solaris* | sysv5*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&2 +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -EOF - elif $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' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; +# This is the shared library runtime path variable. +runpath_var=$runpath_var - *) - 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' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac +# This is the shared library path variable. +shlibpath_var=$shlibpath_var - 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) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - if test "$GCC" = yes; then - 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` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_GCJ=yes - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - 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 - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX -int -main () -{ +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -int -main () -{ +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - always_export_symbols_GCJ=yes - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ=' ' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" fi - fi - ;; + ;; - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - 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_GCJ='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - darwin* | rhapsody*) - case $host_os in - 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 - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - 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 lds - 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 - 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 lds - 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 - ;; +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; +# Source file extension for f77 test sources. +ac_ext=f - freebsd1*) - ld_shlibs_GCJ=no - ;; +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" # Code to be used in simple link tests lt_simple_link_test_code=" program t\n end\n" @@ -43526,187 +42296,65 @@ test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; +test "$ld_shlibs_F77" = no && can_build_shared=no - openbsd*) - hardcode_direct_GCJ=yes - 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 - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - ;; +GCC_F77="$G77" +LD_F77="$LD" - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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_GCJ='${wl}-rpath ${wl}$libdir' - else - 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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' fi - hardcode_libdir_separator_GCJ=: ;; - sco3.2v5*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; - 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' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # 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 + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. ;; - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' ;; - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) - no_undefined_flag_GCJ='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + lt_prog_compiler_pic_F77=-Kconform_pic fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv5*) - no_undefined_flag_GCJ=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - 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' - hardcode_libdir_flag_spec_GCJ= - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' ;; hpux*) @@ -43723,151 +42371,19 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } ;; *) - ld_shlibs_GCJ=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -echo "${ECHO_T}$ld_shlibs_GCJ" >&6 -test "$ld_shlibs_GCJ" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - $rm conftest* - printf "$lt_simple_compile_test_code" > 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); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6 + lt_prog_compiler_pic_F77='-fPIC' ;; esac - fi - ;; -esac - -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. + # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' else - can_build_shared=no + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) @@ -43881,11 +42397,11 @@ aix4* | aix5*) esac ;; -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-Wl,' @@ -43903,25 +42419,16 @@ amigaos*) lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; linux*) case $cc_basename in @@ -43945,27 +42452,15 @@ cygwin* | mingw* | pw32*) esac ;; - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi + + sco3.2v5*) + lt_prog_compiler_pic_F77='-Kpic' + lt_prog_compiler_static_F77='-dn' ;; solaris*) @@ -43978,45 +42473,25 @@ cygwin* | mingw* | pw32*) lt_prog_compiler_wl_F77='-Wl,';; esac ;; - esac - ;; - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' @@ -44028,93 +42503,19 @@ dgux*) lt_prog_compiler_static_F77='-Bstatic' ;; -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; + *) + lt_prog_compiler_can_build_shared_F77=no + ;; esac fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } @@ -44171,23 +42572,9 @@ case $host_os in lt_prog_compiler_pic_F77= ;; *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; +esac { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } @@ -44239,14 +42626,6 @@ fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then @@ -44328,13 +42707,18 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -openbsd*) - version_type=sunos - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; esac ld_shlibs_F77=yes @@ -44365,69 +42749,46 @@ openbsd*) # See if GNU ld supports shared libraries. case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; +EOF + fi + ;; -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, @@ -44484,45 +42845,44 @@ sunos4*) ld_shlibs_F77=no fi ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi ;; - esac - ;; -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -*) - dynamic_linker=no - ;; -esac -echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no +EOF + elif $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' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; -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 + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -44557,59 +42917,49 @@ if test -n "$hardcode_libdir_flag_spec_GCJ" || \ fi ;; -striplib= -old_striplib= -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - ;; - *) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - esac -fi + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) @@ -44651,20 +43001,18 @@ else fi fi -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" @@ -44701,33 +43049,19 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -char (*f) () = shl_load; -#endif -#ifdef __cplusplus -} -#endif + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main -int -main () -{ -return f != shl_load; - ; - return 0; -} + end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" @@ -45145,141 +43479,65 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_shlibpath_var_F77=no ;; -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -int -main () -{ -shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; -ac_cv_lib_dld_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ + sysv4.2uw2*) + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; -#ifdef __STDC__ -# include -#else -# include -#endif + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + no_undefined_flag_F77='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; -#undef dlopen + sysv5*) + no_undefined_flag_F77=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + 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' + hardcode_libdir_flag_spec_F77= + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + ;; -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -char (*f) () = dlopen; -#endif -#ifdef __cplusplus -} -#endif + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; -int -main () -{ -return f != dlopen; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + *) + ld_shlibs_F77=no + ;; + esac + fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } @@ -45289,66 +43547,14 @@ variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6 -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 in @@ -45364,40 +43570,25 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >& $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + 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); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } @@ -45446,72 +43637,80 @@ if test "$GCC" = yes; then sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dld_link (); -int -main () -{ -dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown -ac_cv_lib_dld_dld_link=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; -fi +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; bsdi[45]*) version_type=linux @@ -45527,6 +43726,11 @@ bsdi[45]*) # libtool to hard-code these into programs ;; +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) @@ -45572,6 +43776,14 @@ bsdi[45]*) esac ;; + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" @@ -45592,11 +43804,30 @@ darwin* | rhapsody*) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; -fi +freebsd1*) + dynamic_linker=no + ;; - ;; - esac +kfreebsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new @@ -45637,10 +43868,15 @@ freebsd* | dragonfly*) esac ;; - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to @@ -45688,26 +43924,62 @@ hpux9* | hpux10* | hpux11*) postinstall_cmds='chmod 555 $lib' ;; - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; - echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then @@ -45715,54 +43987,61 @@ else sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif +knetbsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; -#ifdef __cplusplus -extern "C" void exit (int); -#endif +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; openbsd*) version_type=sunos @@ -45787,71 +44066,99 @@ openbsd*) else shlibpath_overrides_runpath=yes fi -fi -rm -fr conftest* + ;; +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; -fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6 +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; -#include +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; -#ifdef __cplusplus -extern "C" void exit (int); -#endif +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; *) dynamic_linker=no @@ -45868,33 +44175,35 @@ if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 - fi striplib= old_striplib= @@ -45923,19 +44232,10 @@ fi echo "${ECHO_T}no" >&6; } ;; esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac fi + # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are @@ -45958,51 +44258,51 @@ if test -f "$ltmain"; then lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ @@ -46039,10 +44339,10 @@ build_libtool_libs=$enable_shared build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ +build_libtool_need_lc=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install @@ -46068,16 +44368,16 @@ AR_FLAGS=$lt_AR_FLAGS LTCC=$lt_LTCC # A language-specific compiler. -CC=$lt_compiler_GCJ +CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ +with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. -LD=$lt_LD_GCJ +LD=$lt_LD_F77 # Whether we need hard or soft links. LN_S=$lt_LN_S @@ -46108,7 +44408,7 @@ reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ +wl=$lt_lt_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" @@ -46123,14 +44423,14 @@ shrext_cmds='$shrext_cmds' exeext="$exeext" # Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_flag=$lt_lt_prog_compiler_pic_F77 pic_mode=$pic_mode # What is the maximum length of a command? 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 +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -46151,19 +44451,19 @@ dlopen_self=$enable_dlopen_self dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ +link_static_flag=$lt_lt_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # Library versioning type. version_type=$version_type @@ -46180,25 +44480,25 @@ soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ +old_archive_cmds=$lt_old_archive_cmds_F77 old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 # Commands to strip libraries. old_striplib=$lt_old_striplib @@ -46206,23 +44506,23 @@ striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=$lt_predep_objects_GCJ +predep_objects=$lt_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=$lt_postdep_objects_GCJ +postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. -predeps=$lt_predeps_GCJ +predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. -postdeps=$lt_postdeps_GCJ +postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -46231,10 +44531,10 @@ deplibs_check_method=$lt_deplibs_check_method file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ +allow_undefined_flag=$lt_allow_undefined_flag_F77 # Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ +no_undefined_flag=$lt_no_undefined_flag_F77 # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds @@ -46261,14 +44561,14 @@ shlibpath_var=$shlibpath_var shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ +hardcode_action=$hardcode_action_F77 # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does @@ -46568,8 +44868,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } esac ;; -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-Wl,' @@ -46587,13 +44890,16 @@ hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; linux*) case $cc_basename in @@ -46617,12 +44923,16 @@ hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ esac ;; -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ + sco3.2v5*) + lt_prog_compiler_pic_GCJ='-Kpic' + lt_prog_compiler_static_GCJ='-dn' + ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' @@ -46635,14 +44945,24 @@ link_all_deplibs=$link_all_deplibs_GCJ esac ;; -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_GCJ" + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' @@ -46654,13 +44974,19 @@ always_export_symbols=$always_export_symbols_GCJ lt_prog_compiler_static_GCJ='-Bstatic' ;; -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } -# ### END LIBTOOL TAG CONFIG: $tagname +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } @@ -46700,14 +45026,14 @@ fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no fi fi @@ -46771,8 +45097,6 @@ fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then @@ -46854,168 +45178,24 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar 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 -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # 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 - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no ;; esac -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Whether or not to optimize for fast installation. -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 - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_RC - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" + ld_shlibs_GCJ=yes + 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 @@ -47046,21 +45226,40 @@ OBJDUMP="$OBJDUMP" ld_shlibs_GCJ=no cat <&2 -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC +EOF + fi + ;; -# Object file suffix (normally "o"). -objext="$ac_objext" + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes -# Old archive suffix (normally "a"). -libext="$libext" + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, @@ -47118,20 +45317,43 @@ shrext_cmds='$shrext_cmds' fi ;; -# Must we lock files when doing compilation? -need_locks=$lt_need_locks + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 -# Do we need a version for libraries? -need_version=$need_version +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -# Whether dlopen is supported. -dlopen_support=$enable_dlopen +EOF + elif $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' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -47166,20 +45388,49 @@ dlopen_self=$enable_dlopen_self fi ;; -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. -# Library versioning type. -version_type=$version_type + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) @@ -47221,12 +45472,24 @@ version_type=$version_type fi fi -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec +int +main () +{ ; return 0; @@ -47251,8 +45514,14 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 fi @@ -47261,13 +45530,25 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC +int +main () +{ ; return 0; @@ -47292,9 +45573,14 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 fi @@ -47319,8 +45605,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi fi ;; -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-rdynamic @@ -47397,17 +45688,34 @@ allow_undefined_flag=$lt_allow_undefined_flag_RC fi ;; -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + freebsd1*) + ld_shlibs_GCJ=no + ;; -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; -# This is the shared library runtime path variable. -runpath_var=$runpath_var + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | kfreebsd*-gnu | dragonfly*) @@ -47417,11 +45725,21 @@ runpath_var=$runpath_var hardcode_shlibpath_var_GCJ=no ;; -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then @@ -47457,25 +45775,54 @@ hardcode_action=$hardcode_action_RC hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + *) + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $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_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; openbsd*) hardcode_direct_GCJ=yes @@ -47499,13 +45846,25 @@ hardcode_minus_L=$hardcode_minus_L_RC fi ;; -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_RC + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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 + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then @@ -47518,11 +45877,19 @@ variables_saved_for_relink="$variables_saved_for_relink" 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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + sco3.2v5*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; solaris*) no_undefined_flag_GCJ=' -z text' @@ -47567,49 +45934,118 @@ sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec link_all_deplibs_GCJ=yes ;; -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC + sysv4.2uw2*) + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; -# ### END LIBTOOL TAG CONFIG: $tagname + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; -__EOF__ + sysv5*) + no_undefined_flag_GCJ=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + 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' + hardcode_libdir_flag_spec_GCJ= + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + ;; + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" + *) + ld_shlibs_GCJ=no + ;; + esac fi -fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi - ;; +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ in @@ -47689,28 +46125,83 @@ if test "$GCC" = yes; then # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else - rm -f "${ofile}T" - { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi +need_lib_prefix=unknown +hardcode_into_libs=no +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - - - + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; bsdi[45]*) version_type=linux @@ -47726,6 +46217,11 @@ bsdi[45]*) # libtool to hard-code these into programs ;; +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) @@ -47771,6 +46267,14 @@ bsdi[45]*) esac ;; + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" @@ -47791,8 +46295,30 @@ darwin* | rhapsody*) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; +freebsd1*) + dynamic_linker=no + ;; +kfreebsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new @@ -47833,6 +46359,15 @@ freebsd* | dragonfly*) esac ;; +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to @@ -47880,8 +46415,62 @@ hpux9* | hpux10* | hpux11*) postinstall_cmds='chmod 555 $lib' ;; +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then @@ -47889,124 +46478,61 @@ hpux9* | hpux10* | hpux11*) sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; - if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -Autoconf TCGETA -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* +knetbsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 -echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; -echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; openbsd*) version_type=sunos @@ -48033,32 +46559,97 @@ openbsd*) fi ;; -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; -fi +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + ;; - echo "$as_me:$LINENO: checking for working unsigned long constants" >&5 -echo $ECHO_N "checking for working unsigned long constants... $ECHO_C" >&6 -if test "${amanda_cv_c_unsigned_long_constants+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; -int -main () -{ +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; - long l = 1ul; +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; *) dynamic_linker=no @@ -48075,20 +46666,35 @@ if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless fi -echo "$as_me:$LINENO: result: $amanda_cv_c_unsigned_long_constants" >&5 -echo "${ECHO_T}$amanda_cv_c_unsigned_long_constants" >&6 - if test "$amanda_cv_c_unsigned_long_constants" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_UNSIGNED_LONG_CONSTANTS 1 -_ACEOF - - fi striplib= old_striplib= @@ -48119,71 +46725,30 @@ echo "${ECHO_T}no" >&6; } esac fi -echo "$as_me:$LINENO: checking for pid_t" >&5 -echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 -if test "${ac_cv_type_pid_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((pid_t *) 0) - return 0; -if (sizeof (pid_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_pid_t=yes +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + lt_cv_dlopen=no + lt_cv_dlopen_libs= -ac_cv_type_pid_t=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 -echo "${ECHO_T}$ac_cv_type_pid_t" >&6 -if test $ac_cv_type_pid_t = yes; then - : -else + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; -fi + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; darwin*) # if libdl is installed we need to link against it @@ -48192,7 +46757,9 @@ echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -48250,12 +46817,13 @@ if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else -cat >>confdefs.h <<_ACEOF -#define size_t unsigned -_ACEOF + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes fi + ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 @@ -48269,32 +46837,22 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* - -fi -echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 -echo "${ECHO_T}$ac_cv_type_uid_t" >&6 -if test $ac_cv_type_uid_t = no; then - -cat >>confdefs.h <<\_ACEOF -#define uid_t int -_ACEOF +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -cat >>confdefs.h <<\_ACEOF -#define gid_t int -_ACEOF +#ifdef __STDC__ +# include +#else +# include +#endif -fi +#undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -48357,14 +46915,14 @@ echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -48421,14 +46979,28 @@ echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfl $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -48480,7 +47052,6 @@ fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } @@ -48493,7 +47064,7 @@ if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-ll $LIBS" +LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -48556,13 +47127,8 @@ echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # POSIX says lex can declare yytext either as a pointer or an array; the -# default is implementation-dependent. Figure out which it is, since -# not all implementations provide the %pointer and %array declarations. -ac_cv_prog_lex_yytext_pointer=no -echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c -ac_save_LIBS=$LIBS -LIBS="$LIBS $LEXLIB" + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -48625,16 +47191,14 @@ echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include -#include -#include /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -48686,47 +47250,16 @@ echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no fi -rm -f conftest* + fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no fi -rm -f conftest* + fi @@ -48776,27 +47309,56 @@ else #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif #endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 @@ -48813,7 +47375,9 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 lt_cv_dlopen_self=no fi fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* + + fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } @@ -48909,95 +47473,142 @@ EOF lt_cv_dlopen_self_static=no fi fi +rm -fr conftest* + + fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } fi -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac fi +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # 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 + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do -echo "$as_me:$LINENO: checking for socklen_t" >&5 -echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 -if test "${ac_cv_type_socklen_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if STDC_HEADERS -#include -#include -#endif -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "(^|[^a-zA-Z_0-9])socklen_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - ac_cv_type_socklen_t=yes -else - ac_cv_type_socklen_t=no -fi -rm -f conftest* + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done -fi -echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 -echo "${ECHO_T}$ac_cv_type_socklen_t" >&6 -if test "x$ac_cv_type_socklen_t" = xno; then + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac -cat >>confdefs.h <<\_ACEOF -#define socklen_t int -_ACEOF +cfgfile="$ofile" -fi + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname -echo "$as_me:$LINENO: checking for sa_family_t" >&5 -echo $ECHO_N "checking for sa_family_t... $ECHO_C" >&6 -if test "${ac_cv_type_sa_family_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if STDC_HEADERS -#include -#include -#endif -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "(^|[^a-zA-Z_0-9])sa_family_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - ac_cv_type_sa_family_t=yes -else - ac_cv_type_sa_family_t=no -fi -rm -f conftest* +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -fi -echo "$as_me:$LINENO: result: $ac_cv_type_sa_family_t" >&5 -echo "${ECHO_T}$ac_cv_type_sa_family_t" >&6 -if test "x$ac_cv_type_sa_family_t" = xno; then +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL -cat >>confdefs.h <<\_ACEOF -#define sa_family_t unsigned short -_ACEOF +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared -fi +# Whether or not to build static libraries. +build_old_libs=$enable_static +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install # The host system. host_alias=$host_alias @@ -49009,390 +47620,77 @@ build_alias=$build_alias build=$build build_os=$build_os +# An echo program that does not interpret backslashes. +echo=$lt_echo -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include <$ac_hdr> +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# A C compiler. +LTCC=$lt_LTCC -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF +# A language-specific compiler. +CC=$lt_compiler_GCJ -ac_header_dirent=$ac_hdr; break -fi +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# An ERE matcher. +EGREP=$lt_EGREP -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="none required" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# The linker used to build libraries. +LD=$lt_LD_GCJ -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_opendir" = no; then - for ac_lib in dir; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Whether we need hard or soft links. +LN_S=$lt_LN_S -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# A BSD-compatible nm program. +NM=$lt_NM -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6 -if test "$ac_cv_search_opendir" != no; then - test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" +# A symbol stripping program +STRIP=$lt_STRIP -fi +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD -else - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="none required" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_opendir" = no; then - for ac_lib in x; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Used on cygwin: assembler. +AS="$AS" -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# The name of the directory that contains temporary libtool files. +objdir=$objdir -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6 -if test "$ac_cv_search_opendir" != no; then - test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_GCJ -fi +# Object file suffix (normally "o"). +objext="$ac_objext" +# Old archive suffix (normally "a"). +libext="$libext" +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' +# Executable file suffix (normally ""). +exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ pic_mode=$pic_mode -for ac_header in sys/wait.h wait.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# What is the maximum length of a command? +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 @@ -49400,63 +47698,20 @@ compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ # Must we lock files when doing compilation? need_locks=$lt_need_locks - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +# Do we need a version for libraries? +need_version=$need_version -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +# Whether dlopen is supported. +dlopen_support=$enable_dlopen -fi +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self -done +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_GCJ @@ -49473,51 +47728,18 @@ whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ - union wait x; int i; - wait(&x); i = WIFEXITED(x) +# Library versioning type. +version_type=$version_type - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_arg_union_wait=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Format of library name prefix. +libname_spec=$lt_libname_spec -cf_cv_arg_union_wait=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $cf_cv_arg_union_wait" >&5 -echo "${ECHO_T}$cf_cv_arg_union_wait" >&6 -if test $cf_cv_arg_union_wait = yes; then +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec -cat >>confdefs.h <<\_ACEOF -#define WAIT_USES_UNION 1 -_ACEOF +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB @@ -49541,56 +47763,9 @@ postuninstall_cmds=$lt_postuninstall_cmds module_cmds=$lt_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ -for ac_header in sys/wait.h wait.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. @@ -49612,9 +47787,11 @@ postdeps=$lt_postdeps_GCJ # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ -fi +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method -done +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_GCJ @@ -49622,108 +47799,35 @@ allow_undefined_flag=$lt_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ -#if HAVE_SYS_WAIT_H -# include -#else -# if HAVE_WAIT_H -# include -# endif -#endif +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds -#ifdef __STDC__ -pid_t wait(int *); -#endif +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval -int -main () -{ +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - int x; int i; - wait(&x); i = WIFEXITED(x) +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_arg_int=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address -cf_cv_arg_int=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $cf_cv_arg_int" >&5 -echo "${ECHO_T}$cf_cv_arg_int" >&6 -if test $cf_cv_arg_int = yes; then +# This is the shared library runtime path variable. +runpath_var=$runpath_var -cat >>confdefs.h <<\_ACEOF -#define WAIT_USES_INT 1 -_ACEOF +# This is the shared library path variable. +shlibpath_var=$shlibpath_var -fi +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_GCJ -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. @@ -49753,11 +47857,18 @@ hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_GCJ +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_GCJ +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path_GCJ" @@ -49768,6 +47879,8 @@ always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_GCJ @@ -49775,12 +47888,29 @@ exclude_expsyms=$lt_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ +# ### END LIBTOOL TAG CONFIG: $tagname +__EOF__ +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +CC="$lt_save_CC" else tagname="" @@ -50236,9 +48366,6 @@ include_expsyms=$lt_include_expsyms_RC __EOF__ - int device=1; - char Command; - ioctl(device, DS_ENTER, &Command); else # If there is no Makefile yet, we rely on a make rule to execute @@ -50288,19 +48415,6 @@ echo "$as_me: error: unable to update list of available tagged configurations." fi fi -if test x"$ac_cv_header_sys_mtio_h" = x"yes" && - test x"$ac_cv_header_sys_scsi_impl_uscsi_h" = x"yes"; then - echo "$as_me:$LINENO: checking for Solaris-like scsi support" >&5 -echo $ECHO_N "checking for Solaris-like scsi support... $ECHO_C" >&6 -if test "${amanda_cv_solaris_scsi+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ # This can be used to rebuild libtool when needed @@ -50322,72 +48436,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool' - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - amanda_cv_aix_scsi=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -amanda_cv_aix_scsi=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $amanda_cv_aix_scsi" >&5 -echo "${ECHO_T}$amanda_cv_aix_scsi" >&6 - if test x"$amanda_cv_aix_scsi" = x"yes";then -cat >>confdefs.h <<\_ACEOF -#define HAVE_AIX_LIKE_SCSI 1 -_ACEOF - NO_SCSI_CHANGER_MODE=false - fi -fi -if test x"$ac_cv_header_cam_cam_h" = x"yes";then - echo "$as_me:$LINENO: checking for CAM like scsi support" >&5 -echo $ECHO_N "checking for CAM like scsi support... $ECHO_C" >&6 -if test "${amanda_cv_cam_scsi+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -# include -# include -# include -# include -# include -# include @@ -50510,15 +48562,6 @@ else fi rm -f conftest* -if test x"$ac_cv_header_chio_h" = x"yes" || - test x"$ac_cv_header_sys_chio_h" = x"yes"; then - if test x"$ac_cv_header_camlib_h" != x"yes"; then - if $NO_SCSI_CHANGER_MODE; then - NO_SCSI_CHANGER_MODE=false - else - NO_CHIO_CHANGER_MODE=false - fi - fi fi if test $ac_cv_header_stdc = yes; then @@ -50526,9 +48569,7 @@ if test $ac_cv_header_stdc = yes; then if test "$cross_compiling" = yes; then : else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcur_colr $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -50602,26 +48643,28 @@ cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF +fi { echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; } if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - +#include +#include +#include int main () { -main (); +if ((struct tm *) 0) +return 0; ; return 0; } @@ -50657,13 +48700,13 @@ fi echo "${ECHO_T}$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then - LIBS="-lintl $LIBS" +cat >>confdefs.h <<\_ACEOF +#define TIME_WITH_SYS_TIME 1 +_ACEOF fi -case "$target" in - *sgi-irix*) @@ -50735,15 +48778,8 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - - -int -main () -{ -main (); - ; - return 0; -} +$ac_includes_default +#include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -50783,15 +48819,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - - -int -main () -{ -main (); - ; - return 0; -} +#include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in @@ -50814,7 +48842,7 @@ else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_resolv_main=no + ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext @@ -50860,13 +48888,13 @@ echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRESOLV 1 +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - LIBS="-lresolv $LIBS" - fi +done + # # Types @@ -50876,9 +48904,7 @@ echo $ECHO_N "checking if sockaddr_storage struct exists... $ECHO_C" >&6; } if test "${ac_cv_has_sockaddr_storage+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -50937,9 +48963,7 @@ echo $ECHO_N "checking for int... $ECHO_C" >&6; } if test "${ac_cv_type_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -51249,9 +49273,7 @@ See \`config.log' for more details." >&2;} fi ;; esac else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lvtblc $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -51312,7 +49334,8 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` else - echo "$as_me: failed program was:" >&5 + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) @@ -51345,9 +49368,7 @@ echo $ECHO_N "checking for long... $ECHO_C" >&6; } if test "${ac_cv_type_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -51641,9 +49662,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $mt_erreg_result" >&5 -echo "${ECHO_T}$mt_erreg_result" >&6 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done @@ -51660,9 +49678,7 @@ See \`config.log' for more details." >&2;} fi ;; esac else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lc $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -51757,9 +49773,7 @@ echo $ECHO_N "checking for long long... $ECHO_C" >&6; } if test "${ac_cv_type_long_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldb $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -51974,6 +49988,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -52155,8 +50172,6 @@ cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long _ACEOF - ndbm) - if test "x$ac_cv_header_ndbm_h" = xyes; then { echo "$as_me:$LINENO: checking for intmax_t" >&5 echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6; } @@ -52407,13 +50422,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi -echo "$as_me:$LINENO: result: $amanda_cv_have_char_min" >&5 -echo "${ECHO_T}$amanda_cv_have_char_min" >&6 -if test "x$amanda_cv_have_char_min" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_CHAR_MIN 1 -_ACEOF rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -52459,18 +50467,8 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else - amanda_cv_have_char_max=no -fi -rm -f conftest* - -fi -echo "$as_me:$LINENO: result: $amanda_cv_have_char_max" >&5 -echo "${ECHO_T}$amanda_cv_have_char_max" >&6 -if test "x$amanda_cv_have_char_max" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_CHAR_MAX 1 -_ACEOF + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi @@ -52573,9 +50571,6 @@ fi { echo "$as_me:$LINENO: result: $ac_cv_sizeof_intmax_t" >&5 echo "${ECHO_T}$ac_cv_sizeof_intmax_t" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_CHAR_BIT 1 -_ACEOF cat >>confdefs.h <<_ACEOF @@ -52662,6 +50657,9 @@ main () static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; test_array [0] = 0 + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -52696,8 +50694,9 @@ main () static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 -cat >>confdefs.h <<_ACEOF -#define HAVE_ACCEPT_DECL 1 + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -52823,17 +50822,8 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined(CRAY) && ! defined(CRAY2) -webecray -#else -wenotbecray -#endif + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi @@ -52916,7 +50906,7 @@ static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeo #include #include int -find_stack_direction () +main () { FILE *f = fopen ("conftest.val", "w"); @@ -52938,10 +50928,8 @@ find_stack_direction () } return ferror (f) || fclose (f) != 0; -int -main () -{ - exit (find_stack_direction () < 0); + ; + return 0; } _ACEOF rm -f conftest$ac_exeext @@ -53144,7 +51132,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi ac_mid=`expr 2 '*' $ac_mid + 1` fi -done rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done @@ -53550,7 +51537,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi ac_mid=`expr 2 '*' $ac_mid + 1` fi -done rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done @@ -53651,8 +51637,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi -fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -53703,7 +51687,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi -done rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done @@ -53959,10 +51942,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi ac_mid=`expr 2 '*' $ac_mid + 1` fi -done - - -ice_have_bind=no rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done @@ -54054,7 +52033,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi ac_mid=`expr 2 '*' $ac_mid` fi -done rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done @@ -54280,17 +52258,8 @@ else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$header> -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "${ice_re_word}bcopy[ ]*\(" >/dev/null 2>&1; then - ice_cv_have_bcopy_decl=yes fi -rm -f conftest* { echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } @@ -54417,7 +52386,6 @@ cat >>confdefs.h <<_ACEOF _ACEOF fi -done { echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6; } @@ -54518,9 +52486,6 @@ _ACEOF echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6; } if test "${ac_cv_struct_tm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_closedir_void=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -54550,6 +52515,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -54557,8 +52525,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 } && test -s conftest.$ac_objext; then ac_cv_struct_tm=time.h else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_struct_tm=sys/time.h @@ -54652,9 +52619,6 @@ echo "${ECHO_T}$gl_cv_socklen_t_equiv" >&6; } cat >>confdefs.h <<_ACEOF #define socklen_t_equiv $gl_cv_socklen_t_equiv _ACEOF - ice_have_closelog=yes -fi -done @@ -54664,13 +52628,7 @@ echo $ECHO_N "checking for sa_family_t... $ECHO_C" >&6; } if test "${ac_cv_type_sa_family_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -ice_cv_have_closelog_decl=no -ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' -ice_re_word='(^|[^a-zA-Z0-9_])' -for header in syslog.h; do -# Check for ordinary declaration -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -55250,7 +53208,6 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -done # @@ -55587,7 +53544,6 @@ _ACEOF LIBS="-lnsl $LIBS" fi -done { echo "$as_me:$LINENO: checking for main in -lsocket" >&5 @@ -56961,7 +54917,7 @@ _ACEOF fi -ice_have_gethostname=no +fi @@ -57142,9 +55098,7 @@ echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; } if test "${ac_cv_working_alloca_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsun $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -57188,7 +55142,6 @@ fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; } @@ -57316,6 +55269,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | else ac_cv_os_cray=no fi +rm -f conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 @@ -57586,74 +55540,10 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - ice_have_getopt=yes -fi -done -if test "${ice_have_getopt}" = yes; then -echo "$as_me:$LINENO: checking for getopt declaration in stdlib.h unistd.h libc.h" >&5 -echo $ECHO_N "checking for getopt declaration in stdlib.h unistd.h libc.h... $ECHO_C" >&6 -if test "${ice_cv_have_getopt_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -ice_cv_have_getopt_decl=no -ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' -ice_re_word='(^|[^a-zA-Z0-9_])' -for header in stdlib.h unistd.h libc.h; do -# Check for ordinary declaration -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$header> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "${ice_re_word}getopt[ ]*\(" >/dev/null 2>&1; then - ice_cv_have_getopt_decl=yes -fi -rm -f conftest* - -if test "$ice_cv_have_getopt_decl" = yes; then - break -fi -# Check for "fixed" declaration like "getpid _PARAMS((int))" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$header> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "${ice_re_word}getopt[ ]*$ice_re_params\(\(" >/dev/null 2>&1; then - ice_cv_have_getopt_decl=yes -fi -rm -f conftest* - -if test "$ice_cv_have_getopt_decl" = yes; then - break fi done -fi - -echo "$as_me:$LINENO: result: $ice_cv_have_getopt_decl" >&5 -echo "${ECHO_T}$ice_cv_have_getopt_decl" >&6 -if test "$ice_cv_have_getopt_decl" = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_DECL 1 -_ACEOF - -fi -fi - ice_have_atof=no @@ -57853,7 +55743,6 @@ cat >>conftest.$ac_ext <<_ACEOF builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" -{ #endif char $ac_func (); /* The GNU C library defines this for functions which it implements @@ -57963,9 +55852,6 @@ fi done fi -echo "$as_me:$LINENO: result: $ac_cv_func_getpgrp_void" >&5 -echo "${ECHO_T}$ac_cv_func_getpgrp_void" >&6 -if test $ac_cv_func_getpgrp_void = yes; then { echo "$as_me:$LINENO: result: $ice_cv_have_atol_decl" >&5 echo "${ECHO_T}$ice_cv_have_atol_decl" >&6; } @@ -58467,17 +56353,23 @@ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func -#ifdef TIME_WITH_SYS_TIME -# include -# include +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include #else # include #endif @@ -58543,9 +56435,8 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - fi - - +fi +done ice_have_bind=no @@ -58694,6 +56585,7 @@ if test "$ice_cv_have_bind_decl" = yes; then fi done +fi { echo "$as_me:$LINENO: result: $ice_cv_have_bind_decl" >&5 echo "${ECHO_T}$ice_cv_have_bind_decl" >&6; } @@ -60205,6 +58097,7 @@ if test "$ice_cv_have_fputs_decl" = yes; then fi done +fi { echo "$as_me:$LINENO: result: $ice_cv_have_fputs_decl" >&5 echo "${ECHO_T}$ice_cv_have_fputs_decl" >&6; } @@ -60705,14 +58598,8 @@ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -60791,127 +58678,104 @@ ac_res=`eval echo '${'$as_ac_var'}'` echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -for ac_func in getpwuid_r -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi +done + + +for ac_func in getpwuid_r +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi done @@ -62162,6 +60026,7 @@ if test "$ice_cv_have_ioctl_decl" = yes; then fi done +fi { echo "$as_me:$LINENO: result: $ice_cv_have_ioctl_decl" >&5 echo "${ECHO_T}$ice_cv_have_ioctl_decl" >&6; } @@ -62440,7 +60305,7 @@ else ice_cv_have_listen_decl=no ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' ice_re_word='(^|[^a-zA-Z0-9_])' -for header in stdlib.h; do +for header in sys/types.h sys/socket.h; do # Check for ordinary declaration cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -63260,11 +61125,15 @@ rm -f conftest* if test "$ice_cv_have_mkstemp_decl" = yes; then break fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +# Check for "fixed" declaration like "getpid _PARAMS((int))" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$header> + _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "${ice_re_word}mkstemp[ ]*$ice_re_params\(\(" >/dev/null 2>&1; then @@ -63277,6 +61146,7 @@ if test "$ice_cv_have_mkstemp_decl" = yes; then fi done +fi { echo "$as_me:$LINENO: result: $ice_cv_have_mkstemp_decl" >&5 echo "${ECHO_T}$ice_cv_have_mkstemp_decl" >&6; } @@ -63531,156 +61401,164 @@ sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - ice_have_mktime=yes -fi -done - -if test "${ice_have_mktime}" = yes; then -{ echo "$as_me:$LINENO: checking for mktime declaration in time.h sys/time.h" >&5 -echo $ECHO_N "checking for mktime declaration in time.h sys/time.h... $ECHO_C" >&6; } -if test "${ice_cv_have_mktime_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -ice_cv_have_mktime_decl=no -ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' -ice_re_word='(^|[^a-zA-Z0-9_])' -for header in time.h sys/time.h; do -# Check for ordinary declaration -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$header> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "${ice_re_word}mktime[ ]*\(" >/dev/null 2>&1; then - ice_cv_have_mktime_decl=yes -fi -rm -f conftest* - -if test "$ice_cv_have_mktime_decl" = yes; then - break -fi -# Check for "fixed" declaration like "getpid _PARAMS((int))" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$header> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "${ice_re_word}mktime[ ]*$ice_re_params\(\(" >/dev/null 2>&1; then - ice_cv_have_mktime_decl=yes -fi -rm -f conftest* - -if test "$ice_cv_have_mktime_decl" = yes; then - break -fi -done - -fi - -{ echo "$as_me:$LINENO: result: $ice_cv_have_mktime_decl" >&5 -echo "${ECHO_T}$ice_cv_have_mktime_decl" >&6; } -if test "$ice_cv_have_mktime_decl" = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_MKTIME_DECL 1 -_ACEOF - -fi -fi - - -for ac_func in on_exit -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - rm -f conftest.c - cat <conftest.$ac_ext -#include "confdefs.h" -#ifdef HAVE_SYS_TIME_H -# include -#endif -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_SELECT_H -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int main() -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + ice_have_mktime=yes +fi +done + +if test "${ice_have_mktime}" = yes; then +{ echo "$as_me:$LINENO: checking for mktime declaration in time.h sys/time.h" >&5 +echo $ECHO_N "checking for mktime declaration in time.h sys/time.h... $ECHO_C" >&6; } +if test "${ice_cv_have_mktime_decl+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +ice_cv_have_mktime_decl=no +ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' +ice_re_word='(^|[^a-zA-Z0-9_])' +for header in time.h sys/time.h; do +# Check for ordinary declaration +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$header> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "${ice_re_word}mktime[ ]*\(" >/dev/null 2>&1; then + ice_cv_have_mktime_decl=yes +fi +rm -f conftest* + +if test "$ice_cv_have_mktime_decl" = yes; then + break +fi +# Check for "fixed" declaration like "getpid _PARAMS((int))" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$header> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "${ice_re_word}mktime[ ]*$ice_re_params\(\(" >/dev/null 2>&1; then + ice_cv_have_mktime_decl=yes +fi +rm -f conftest* + +if test "$ice_cv_have_mktime_decl" = yes; then + break +fi +done + +fi + +{ echo "$as_me:$LINENO: result: $ice_cv_have_mktime_decl" >&5 +echo "${ECHO_T}$ice_cv_have_mktime_decl" >&6; } +if test "$ice_cv_have_mktime_decl" = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_MKTIME_DECL 1 +_ACEOF + +fi +fi + + +for ac_func in on_exit +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi @@ -64494,6 +62372,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -65062,46 +62943,9 @@ if test "$ice_cv_have_remove_decl" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_REMOVE_DECL 1 _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_setpgid=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_func_setpgid=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_setpgid" >&5 -echo "${ECHO_T}$ac_cv_func_setpgid" >&6 -if test $ac_cv_func_setpgid = yes; then - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_SETPGID 1 -_ACEOF ice_have_rename=no @@ -65280,12 +63124,12 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define setpgrp to an innocuous variant, in case declares setpgrp. +/* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ -#define setpgrp innocuous_setpgrp +#define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char setpgrp (); below. + which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ @@ -65295,7 +63139,7 @@ cat >>conftest.$ac_ext <<_ACEOF # include #endif -#undef setpgrp +#undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -65377,20 +63221,8 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#if HAVE_UNISTD_H -# include -#endif +#include <$header> -int -main () -{ -/* If this system has a BSD-style setpgrp which takes arguments, - setpgrp(1, 1) will fail with ESRCH and return -1, in that case - exit successfully. */ - exit (setpgrp (1,1) == -1 ? 0 : 1); - ; - return 0; -} _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "${ice_re_word}rewind[ ]*\(" >/dev/null 2>&1; then @@ -65420,10 +63252,9 @@ rm -f conftest* if test "$ice_cv_have_rewind_decl" = yes; then break fi +done + fi -echo "$as_me:$LINENO: result: $ac_cv_func_setpgrp_void" >&5 -echo "${ECHO_T}$ac_cv_func_setpgrp_void" >&6 -if test $ac_cv_func_setpgrp_void = yes; then { echo "$as_me:$LINENO: result: $ice_cv_have_rewind_decl" >&5 echo "${ECHO_T}$ice_cv_have_rewind_decl" >&6; } @@ -65434,7 +63265,6 @@ cat >>confdefs.h <<_ACEOF _ACEOF fi - fi @@ -66883,74 +64713,10 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - ice_have_socket=yes -fi -done -if test "${ice_have_socket}" = yes; then -echo "$as_me:$LINENO: checking for socket declaration in sys/types.h sys/socket.h" >&5 -echo $ECHO_N "checking for socket declaration in sys/types.h sys/socket.h... $ECHO_C" >&6 -if test "${ice_cv_have_socket_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -ice_cv_have_socket_decl=no -ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' -ice_re_word='(^|[^a-zA-Z0-9_])' -for header in sys/types.h sys/socket.h; do -# Check for ordinary declaration -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$header> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "${ice_re_word}socket[ ]*\(" >/dev/null 2>&1; then - ice_cv_have_socket_decl=yes -fi -rm -f conftest* - -if test "$ice_cv_have_socket_decl" = yes; then - break -fi -# Check for "fixed" declaration like "getpid _PARAMS((int))" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$header> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "${ice_re_word}socket[ ]*$ice_re_params\(\(" >/dev/null 2>&1; then - ice_cv_have_socket_decl=yes -fi -rm -f conftest* - -if test "$ice_cv_have_socket_decl" = yes; then - break fi done -fi - -echo "$as_me:$LINENO: result: $ice_cv_have_socket_decl" >&5 -echo "${ECHO_T}$ice_cv_have_socket_decl" >&6 -if test "$ice_cv_have_socket_decl" = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_SOCKET_DECL 1 -_ACEOF - -fi -fi - ice_have_snprintf=no @@ -68094,7 +65860,7 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then _ACEOF fi -fi +done ice_have_socket=no @@ -69007,7 +66773,7 @@ else ice_cv_have_strftime_decl=no ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' ice_re_word='(^|[^a-zA-Z0-9_])' -for header in stdio.h; do +for header in time.h sys/time.h; do # Check for ordinary declaration cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -69175,20 +66941,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define _doprnt to an innocuous variant, in case declares _doprnt. - For example, HP-UX 11i declares gettimeofday. */ -#define _doprnt innocuous__doprnt - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char _doprnt (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif +#include <$header> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | @@ -69209,13 +66962,6 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$header> -int -main () -{ -return f != _doprnt; - ; - return 0; -} _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "${ice_re_word}strncasecmp[ ]*$ice_re_params\(\(" >/dev/null 2>&1; then @@ -69226,12 +66972,9 @@ rm -f conftest* if test "$ice_cv_have_strncasecmp_decl" = yes; then break fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +done + fi -echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 -echo "${ECHO_T}$ac_cv_func__doprnt" >&6 -if test $ac_cv_func__doprnt = yes; then { echo "$as_me:$LINENO: result: $ice_cv_have_strncasecmp_decl" >&5 echo "${ECHO_T}$ice_cv_have_strncasecmp_decl" >&6; } @@ -69242,10 +66985,7 @@ cat >>confdefs.h <<_ACEOF _ACEOF fi - fi -done - ice_have_syslog=no @@ -69723,38 +67463,10 @@ if test "$ice_cv_have_time_decl" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_TIME_DECL 1 _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_wait4=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_func_wait4=no fi fi -#AC_REPLACE_FUNCS(writev) ice_have_tolower=no @@ -70189,52 +67901,26 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -#undef ASSERTIONS -#define CONFIGURE_TEST -#define USE_POSIX_FCNTL -#include "${srcdir-.}/common-src/amflock.c" +#include <$header> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "${ice_re_word}ungetc[ ]*\(" >/dev/null 2>&1; then ice_cv_have_ungetc_decl=yes fi -echo "$as_me:$LINENO: result: $amanda_cv_posix_filelocking" >&5 -echo "${ECHO_T}$amanda_cv_posix_filelocking" >&6 -if test "x$amanda_cv_posix_filelocking" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define USE_POSIX_FCNTL 1 -_ACEOF +rm -f conftest* if test "$ice_cv_have_ungetc_decl" = yes; then break fi - -if test -z "$HAS_WORKING_FILE_LOCK"; then - echo "$as_me:$LINENO: checking whether flock locking works" >&5 -echo $ECHO_N "checking whether flock locking works... $ECHO_C" >&6 -if test "${amanda_cv_flock_filelocking+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - if test "$cross_compiling" = yes; then - - amanda_cv_flock_filelocking="no (cannot run test)" - -else - cat >conftest.$ac_ext <<_ACEOF +# Check for "fixed" declaration like "getpid _PARAMS((int))" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -#undef ASSERTIONS -#define CONFIGURE_TEST -#define USE_FLOCK -#include "${srcdir-.}/common-src/amflock.c" +#include <$header> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | @@ -70246,12 +67932,9 @@ rm -f conftest* if test "$ice_cv_have_ungetc_decl" = yes; then break fi - rm -f /tmp/conftest.lock +done fi -echo "$as_me:$LINENO: result: $amanda_cv_flock_filelocking" >&5 -echo "${ECHO_T}$amanda_cv_flock_filelocking" >&6 - if test "x$amanda_cv_flock_filelocking" = xyes; then { echo "$as_me:$LINENO: result: $ice_cv_have_ungetc_decl" >&5 echo "${ECHO_T}$ice_cv_have_ungetc_decl" >&6; } @@ -70261,8 +67944,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_UNGETC_DECL 1 _ACEOF - HAS_WORKING_FILE_LOCK=1 - fi +fi fi @@ -70282,6 +67964,22 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -70314,6 +68012,9 @@ esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || @@ -70322,14 +68023,9 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) - - amanda_cv_lockf_filelocking="no" - eval "$as_ac_var=no" fi @@ -70345,6 +68041,7 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then _ACEOF ice_have_vfprintf=yes fi +done if test "${ice_have_vfprintf}" = yes; then { echo "$as_me:$LINENO: checking for vfprintf declaration in stdio.h stdlib.h" >&5 @@ -70395,6 +68092,7 @@ rm -f conftest* if test "$ice_cv_have_vfprintf_decl" = yes; then break fi +done fi @@ -70420,20 +68118,28 @@ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - WANT_SERVER_TRUE='#' - WANT_SERVER_FALSE= -fi - + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -if test x"$NO_RECOVER_MODE" != x"true" && test x"$NO_CLIENT_MODE" != x"true"; then - WANT_RECOVER_TRUE= - WANT_RECOVER_FALSE='#' -else - WANT_RECOVER_TRUE='#' - WANT_RECOVER_FALSE= -fi +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -70477,11 +68183,8 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else - WANT_TAPE_TRUE='#' - WANT_TAPE_FALSE= -fi - - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi @@ -70498,6 +68201,7 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then _ACEOF ice_have_vprintf=yes fi +done if test "${ice_have_vprintf}" = yes; then { echo "$as_me:$LINENO: checking for vprintf declaration in stdio.h stdlib.h" >&5 @@ -70505,10 +68209,6 @@ echo $ECHO_N "checking for vprintf declaration in stdio.h stdlib.h... $ECHO_C" > if test "${ice_cv_have_vprintf_decl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - WANT_RUNTIME_PSEUDO_RELOC_TRUE='#' - WANT_RUNTIME_PSEUDO_RELOC_FALSE= -fi - ice_cv_have_vprintf_decl=no ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*' @@ -70528,157 +68228,33 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "${ice_re_word}vprintf[ ]*\(" >/dev/null 2>&1; then ice_cv_have_vprintf_decl=yes fi +rm -f conftest* if test "$ice_cv_have_vprintf_decl" = yes; then break fi - - -case "${FORCE_USE_RUNDUMP-${USE_RUNDUMP}}" in -y | ye | yes) -cat >>confdefs.h <<\_ACEOF -#define USE_RUNDUMP 1 +# Check for "fixed" declaration like "getpid _PARAMS((int))" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF -;; -esac - -# This is necessary so that .o files in LIBOBJS are also built via -# the ANSI2KNR-filtering rules. -LIBOBJS=`echo "$LIBOBJS" | - sed 's,\.[^.]* ,$U&,g;s,\.[^.]*$,$U&,'` -LTLIBOBJS=`echo "$LIBOBJS" | - sed 's,\.[^.]* ,.lo ,g;s,\.[^.]*$,.lo,'` - - -LTALLOCA=`echo "$ALLOCA" | sed 's/\.'"${ac_objext}"'/\.lo/g'` - - -## This stuff is needed for the documentation. -DOC_BUILD_DATE=`date '+%d-%m-%Y'` - - -# Check whether --enable-manpage-build or --disable-manpage-build was given. -if test "${enable_manpage_build+set}" = set; then - enableval="$enable_manpage_build" - ENABLE_MANPAGE_BUILD=$enableval -else - ENABLE_MANPAGE_BUILD=no -fi; - - -XSLTPROC_FLAGS="--nonet" - - -# The (lack of) whitespace and overquoting here are all necessary for -# proper formatting. - -# Check whether --with-xsltproc or --without-xsltproc was given. -if test "${with_xsltproc+set}" = set; then - withval="$with_xsltproc" - ac_with_xsltproc=$withval; -else - ac_with_xsltproc=maybe; -fi; - - -# Check whether --with-xsltproc-flags or --without-xsltproc-flags was given. -if test "${with_xsltproc_flags+set}" = set; then - withval="$with_xsltproc_flags" - if test "x$withval" == "xno"; then - XSLTPROC_FLAGS='' - else - if test "x$withval" != "xyes"; then - XSLTPROC_FLAGS="$withval" - fi - fi - -fi; - -# search for xsltproc if it wasn't specified -if test "$ac_with_xsltproc" = "yes" -o "$ac_with_xsltproc" = "maybe"; then - for ac_prog in xsltproc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_XSLTPROC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $XSLTPROC in - [\\/]* | ?:[\\/]*) - ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $LOCSYSPATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$header> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "${ice_re_word}vprintf[ ]*$ice_re_params\(\(" >/dev/null 2>&1; then ice_cv_have_vprintf_decl=yes fi -XSLTPROC=$ac_cv_path_XSLTPROC +rm -f conftest* if test "$ice_cv_have_vprintf_decl" = yes; then break fi - - test -n "$XSLTPROC" && break -done - -else - if test "$ac_with_xsltproc" != "no"; then - if test -x "$ac_with_xsltproc"; then - XSLTPROC="$ac_with_xsltproc"; - else - { echo "$as_me:$LINENO: WARNING: Specified xsltproc of $ac_with_xsltproc isn't" >&5 -echo "$as_me: WARNING: Specified xsltproc of $ac_with_xsltproc isn't" >&2;} - { echo "$as_me:$LINENO: WARNING: executable; searching for an alternative." >&5 -echo "$as_me: WARNING: executable; searching for an alternative." >&2;} - for ac_prog in xsltproc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_XSLTPROC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $XSLTPROC in - [\\/]* | ?:[\\/]*) - ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $LOCSYSPATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done done - ;; -esac fi -XSLTPROC=$ac_cv_path_XSLTPROC { echo "$as_me:$LINENO: result: $ice_cv_have_vprintf_decl" >&5 echo "${ECHO_T}$ice_cv_have_vprintf_decl" >&6; } @@ -70688,8 +68264,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_VPRINTF_DECL 1 _ACEOF - fi - fi +fi fi { echo "$as_me:$LINENO: checking for wait4" >&5 @@ -70712,6 +68287,11 @@ cat >>conftest.$ac_ext <<_ACEOF Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ +#ifdef __STDC__ +# include +#else +# include +#endif #undef wait4 @@ -70757,6 +68337,8 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 $as_test_x conftest$ac_exeext; then ac_cv_func_wait4=yes else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_wait4=no fi @@ -71008,9 +68590,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext diff --git a/docs/Appendix.txt b/docs/Appendix.txt index 62d4433..e69de29 100644 --- a/docs/Appendix.txt +++ b/docs/Appendix.txt @@ -1,88 +0,0 @@ - -Part VII. Appendixes -Prev Next - -------------------------------------------------------------------------------- - - -Part VII. Appendixes - -Table of Contents - - - 36._The_Amanda_Manual_Pages. - - - amadmin  administrative interface to control Amanda backups - - amaespipe  wrapper program for aespipe - - amanda  Advanced Maryland Automatic Network Disk Archiver - - amanda.conf  Main configuration file for Amanda, the Advanced Maryland - Automatic Network Disk Archiver - - amanda-client.conf  Client configuration file for Amanda, the Advanced - Maryland Automatic Network Disk Archiver - - amcheck  run Amanda self-checks - - amcheckdb  check Amanda database for tape consistency - - amcleanup  run the Amanda cleanup process after a failure - - amcrypt  reference crypt program for Amanda symmetric data encryption - - amcrypt-ossl  crypt program for Amanda symmetric data encryption using - OpenSSL - - amcrypt-ossl-asym  crypt program for Amanda asymmetric data encryption - using OpenSSL - - amdd  Amanda version of dd - - amdump  back up all disks in an Amanda configuration - - amfetchdump  extract backup images from multiple Amanda tapes. - - amflush  flush Amanda backup files from holding disk to tape - - amgetconf  look up amanda.conf variables - - amlabel  label an Amanda tape - - ammt  Amanda version of mt - - amoverview  display file systems processed by Amanda over time - - amplot  visualize the behavior of Amanda - - amrecover  Amanda index database browser - - amreport  generate a formatted output of statistics for an Amanda run - - amrestore  extract backup images from an Amanda tape - - amrmtape  remove a tape from the Amanda database - - amstatus  display the state of an Amanda run - - amtape  user interface to Amanda tape changer controls - - amtapetype  generate a tapetype definition. - - amtoc  generate TOC (Table Of Contents) for an Amanda run - - amverify  check an Amanda tape for errors - - amverifyrun  check the tapes written by the last Amanda run - - - 37._Web_Ressources - -------------------------------------------------------------------------------- - -Prev Next -Chapter 35. Usage of floppy tape Home Chapter 36. The Amanda Manual Pages. -drives on Linux - diff --git a/docs/amadmin.8.txt b/docs/amadmin.8.txt index 5fea43a..e69de29 100644 --- a/docs/amadmin.8.txt +++ b/docs/amadmin.8.txt @@ -1,242 +0,0 @@ - - amadmin -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amadmin  administrative interface to control Amanda backups - -Synopsis - -amadmin config command [command_options...] [-oconfigoption]... - -DESCRIPTION - -Amadmin performs various administrative tasks on the config Amanda -configuration. -See the amanda(8) man page for more details about Amanda. - -COMMANDS - -Commands that take a hostname [ disks ] parameter pair operate on all disks in -the disklist for that hostname if no disks are specified. Where hostname is -also marked as being optional, the command operates on all hosts and disks in -the disklist. Both hostname and disks are special expressions; see the "HOST & -DISK EXPRESSION" section of amanda(8) for a description. -Commands that take one or more dumpspec parameters operate on the set of dumps -specified by all of the expressions. See the "DUMP SPECIFICATIONS" section of -amanda(8) for a description. - - - version - Show the current version and some compile time and runtime parameters. - The config parameter must be present but is ignored. - - force-bump [ hostname [ disks ]* ]+ - Force the disks on hostname to bump to a new incremental level during the - next Amanda run. - - force-no-bump [ hostname [ disks ]* ]+ - Force the disks on hostname to not bump to a new incremental level during - the next Amanda run. - - unforce-bump [ hostname [ disks ]* ]+ - Undo a previous force-bump or force-no-bump command. - - force [ hostname [ disks ]* ]+ - Force the disks on hostname to do a full (level 0) backup during the next - Amanda run. - - unforce [ hostname [ disks ]* ]+ - Undo a previous force command. - - reuse tapelabel [ ... ] - The tapes listed will be available for reuse at their point in the tape - cycle. - - no-reuse tapelabel [ ... ] - The tapes listed will not be reused when their turn comes up again in the - tape cycle. Note that if this causes the number of reusable tapes to drop - below the amanda.conf tapecycle value, Amanda will request new tapes - until the count is satisfied again. - - due [ hostname [ disks ]* ]* - Show when the next full dump is due. - - find [ --sort hkdlpb ] [ hostname [ disks ]* ]* - Display all backups currently on tape or in the holding disk. The tape - label or holding disk filename, file number, and status are displayed. - The --sort option changes the sort order using the following flags: - - h: host name - k: disk name - d: dump date - l: backup level - p: dump part - b: tape label - - An uppercase letter reverses the sort order for that key. The default - sort order is hkdlpb. - - holding delete hostname [ disk [ datestamp [ .. ] ] ] - Delete holding files matching the given specification. At least a - hostname must be provided. - - holding list [-l] [ hostname [ disk [ datestamp [ .. ] ] ] ] - List holding files matching the given specification, or all holding files - if no specification is provided. With '-l', additional information (size - and level) is provided. - - delete [ hostname [ disks ]* ]+ - Delete the specified disks on hostname from the Amanda database. - - Note - - If you do not also remove the disk from the disklist file, Amanda will - treat it as a new disk during the next run. - - tape - Display the tape(s) Amanda expects to write to during the next run. See - also amcheck(8). - - bumpsize - Display the current bump threshold parameters, calculated for all backup - levels. - - balance [ --days ] - Display the distribution of full backups throughout the dump schedule. - - export [ hostname [ disks ]* ]* - Convert records from the Amanda database to a text format that may be - transmitted to another Amanda machine and imported. - - import - Convert exported records read from standard input to a form Amanda uses - and insert them into the database on this machine. - - disklist [ hostname [ disks ]* ]* - Display the disklist information for each of the disks on hostname (or - all hosts). Mostly used for debugging. - - info [ hostname [ disks ]* ]* - Display the database record for each of the disks on hostname (or all - hosts). Mostly used for debugging. - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -EXAMPLES - -Request three specific file systems on machine-a get a full level 0 backup -during the next Amanda run. - - $ amadmin daily force machine-a / /var /usr - amadmin: machine-a:/ is set to a forced level 0 tonight. - amadmin: machine-a:/var is set to a forced level 0 tonight. - amadmin: machine-a:/usr is set to a forced level 0 tonight. - -Request all file systems on machine-b get a full level 0 backup during the next -Amanda run. - - $ amadmin daily force machine-b - amadmin: machine-b:/ is set to a forced level 0 tonight. - amadmin: machine-b:/var is set to a forced level 0 tonight. - amadmin: machine-b:/usr is set to a forced level 0 tonight. - amadmin: machine-b:/home is set to a forced level 0 tonight. - -Undo the previous force request for /home on machine-b. The other file systems -will still get a full level 0 backup. - - $ amadmin daily unforce machine-b /home - amadmin: force command for machine-b:/home cleared. - -Locate backup images of /var from machine-c. The tape or file column displays -either a tape label or a filename depending on whether the image is on tape or -is still in the holding disk. If the image is on tape, the file column tells -you which file on the tape has the image (file number zero is a tape label). -This column shows zero and is not meaningful if the image is still in the -holding disk. The status column tells you whether the backup was successful or -had some type of error. - - $ amadmin daily find machine-c /var - date host disk lv tape or file file part status - 2000-11-09 machine-c /var 0 000110 9 -- OK - 2000-11-08 machine-c /var 2 000109 2 -- OK - 2000-11-07 machine-c /var 2 /amanda/20001107/machine-c._var.2 0 OK - 2000-11-06 machine-c /var 2 000107 2 -- OK - 2000-11-05 machine-c /var 2 000106 3 -- OK - 2000-11-04 machine-c /var 2 000105 2 -- OK - 2000-11-03 machine-c /var 2 000104 2 -- OK - 2000-11-02 machine-c /var 2 000103 2 -- OK - 2000-11-01 machine-c /var 1 000102 5 -- OK - 2000-10-31 machine-c /var 1 000101 3 -- OK - -Forget about the /workspace disk on machine-d. If you do not also remove the -disk from the disklist file, Amanda will treat it as a new disk during the next -run. - - $ amadmin daily delete machine-d /workspace - amadmin: machine-d:/workspace deleted from database. - amadmin: NOTE: you'll have to remove these from the disklist yourself. - -Find the next tape Amanda will use (in this case, 123456). - - $ amadmin daily tape - The next Amanda run should go onto tape 123456 or a new tape. - -Show how well full backups are balanced across the dump cycle. The due-date -column is the day the backups are due for a full backup. #fs shows the number -of filesystems doing full backups that night, and orig KB and out KB show the -estimated total size of the backups before and after any compression, -respectively. -The balance column shows how far off that night's backups are from the average -size (shown at the bottom of the balance column). Amanda tries to keep the -backups within +/- 5%, but since the amount of data on each filesystem is -always changing, and Amanda will never delay backups just to rebalance the -schedule, it is common for the schedule to fluctuate by larger percentages. In -particular, in the case of a tape or backup failure, a bump will occur the -following night, which will not be smoothed out until the next pass through the -schedule. -The last line also shows an estimate of how many Amanda runs will be made -between full backups for a file system. In the example, a file system will -probably have a full backup done every eight times Amanda is run (e.g. every -eight days). - - $ amadmin daily balance - due-date #fs orig KB out KB balance - ------------------------------------------- - 11/10 Mon 21 930389 768753 +5.1% - 11/11 Tue 29 1236272 733211 +0.2% - 11/12 Wed 31 1552381 735796 +0.6% - 11/13 Thu 23 1368447 684552 -6.4% - 11/14 Fri 32 1065603 758155 +3.6% - 11/15 Sat 14 1300535 738430 +0.9% - 11/16 Sun 31 1362696 740365 +1.2% - 11/17 Mon 30 1427936 773397 +5.7% - 11/18 Tue 11 1059191 721786 -1.3% - 11/19 Wed 19 1108737 661867 -9.5% - ------------------------------------------- - TOTAL 241 12412187 7316312 731631 (estimated 8 runs per dumpcycle) - - -FILES - -/usr/local/etc/amanda/config/amanda.conf - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8), amcheck(8), amdump(8), amrestore(8), amfetchdump(8) -------------------------------------------------------------------------------- - -Prev Up Next -Chapter 36. The Amanda Manual Pages. Home amaespipe - diff --git a/docs/amaespipe.8.txt b/docs/amaespipe.8.txt index b222701..e69de29 100644 --- a/docs/amaespipe.8.txt +++ b/docs/amaespipe.8.txt @@ -1,35 +0,0 @@ - - amaespipe -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amaespipe  wrapper program for aespipe - -Synopsis - -amaespipe - -DESCRIPTION - -amaespipe requires aespipe, uuencode and gpg to work. Aespipe is available from -http://loop-aes.sourceforge.net -amaespipe will search for the aespipe program in the following directories: / -usr/bin:/usr/local/bin:/sbin:/usr/sbin. -amaespipe is called by amcrypt for Amanda data encryption. -amaespipe is based on aespipe's bzaespipe program. It calls aespipe to encrypt -data using AES256 as the encryption and SHA256 as the hash function. GPG key -should be stored in $AMANDA_HOME/.gnupg/am_key.gpg. amaespipe reads passphrase -from file descriptor 3. During decryption, amaespipe autodects encryption type -and hash function from the encrypted image. - -SEE ALSO - -amanda(8), amanda.conf(5), aespipe(1), amcrypt(8), gpg(1) -------------------------------------------------------------------------------- - -Prev Up Next -amadmin Home amanda - diff --git a/docs/amanda-client.conf.5.txt b/docs/amanda-client.conf.5.txt index 50bdd40..e69de29 100644 --- a/docs/amanda-client.conf.5.txt +++ b/docs/amanda-client.conf.5.txt @@ -1,183 +0,0 @@ - - amanda-client.conf -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amanda-client.conf  Client configuration file for Amanda, the Advanced -Maryland Automatic Network Disk Archiver - -DESCRIPTION - -amanda-client.conf is the client configuration file for Amanda. This manpage -lists the relevant sections and parameters of this file for quick reference. -The files /amanda-client.conf and //amanda- -client.conf are loaded. - -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-client.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. auth and Auth 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 - - - - conf string - Default: Set by configure. The conf use by amrecover. - - index_server string - Default: Set by configure. The amindexd server amrecover will connect to. - - tape_server string - Default: Set by configure. The amidxtaped server amrecover will connect - to. - - tapedev string - Default: Set by configure. The tapedev amrecover will use. - - auth string - Default: bsd. Type of authorization to perform between tape server and - backup client hosts. - bsd, bsd authorization with udp initial connection and one tcp connection - by data stream. - bsdtcp, bsd authorization but use only one tcp connection. - bsdudp, like bsd, but will use only one tcp connection for all data - stream. - krb4 to use Kerberos-IV authorization. - krb5 to use Kerberos-V authorization. - rsh to use rsh authorization. - ssh to use OpenSSH authorization. - - ssh_keys string - Default: No default. The key file the ssh auth will use, it must be the - private key. If this parameter is not specified, then the deafult ssh key - will be used. - - gnutar_list_dir string - Default from configure --with-gnutar-listdir=DIR. The directory where - gnutar keep its state file. - - amandates string - Default: /etc/amandates. The file where amanda keep the last date of each - dumplevel. - - connect_tries int - Default: 3. How many times the server will try a connection. - - rep_tries int - Default: 5. How many times amandad will resend a REP packet if it doesn't - get the ACK packet. - - debug_amandad int - Default: 0. Debug level of the amandad process - - debug_amidxtaped int - Default: 0. Debug level of the amidxtaped process - - debug_amindexd int - Default: 0. Debug level of the amindexd process - - debug_amrecover int - Default: 0. Debug level of the amrecover process - - debug_auth int - Default: 0. Debug level of the auth module - - debug_event int - Default: 0. Debug level of the event module - - debug_holding int - Default: 0. Debug level of the holdingdisk module - - debug_protocol int - Default: 0. Debug level of the protocol module - - debug_selfcheck int - Default: 0. Debug level of the selfcheck process - - debug_sendsize int - Default: 0. Debug level of the sendsize process - - debug_sendbackup int - Default: 0. Debug level of the sendbackup process - - reserved-udp-port int,int - Default: --with-udpportrange or 512,1023. Reserved udp port that will be - used (amrecover with bsd or bsdudp) - - reserved-tcp-port int,int - Default: --with-low-tcpportrange or 512,1023. Reserved tcp port that will - be used (amrecover with bsdtcp) - - unreserved-tcp-port int,int - Default: --with-tcpportrange or 1025,65536. Unreserved tcp port that will - be used (bsd, bsdudp) - - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion, major update, splitting - -SEE ALSO - -amanda(8), amanda.conf(5), amcrypt(8), aespipe(1), -------------------------------------------------------------------------------- - -Prev Up Next -amanda.conf Home amcheck - diff --git a/docs/amanda.8.txt b/docs/amanda.8.txt index 845dfee..e69de29 100644 --- a/docs/amanda.8.txt +++ b/docs/amanda.8.txt @@ -1,486 +0,0 @@ - - amanda -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amanda  Advanced Maryland Automatic Network Disk Archiver - -Synopsis - -amadmin config command [options] -amcheck [options] config -amcheckdb config -amcleanup config -amcrypt -amdd [options] -amdump config -amaespipe -amflush [-f ] config -amgetconf [config] parameter -amlabel config label [ slot slot ] -ammt [options] -amoverview config [options] -amplot [options] amdump-files -amrecover [config] [options] -amreport [config] [options] -amrestore [options] tapedevice [ hostname [diskname]] -amfetchdump [options] config [ hostname [ diskname [ date [level]]]] -amrmtape [options] config label -amstatus config [options] -amtape config command [options] -amtapetype [options] -amtoc [options] logfile -amverify config -amverifyrun config - -DESCRIPTION - -Amanda is the "Advanced Maryland Automatic Network Disk Archiver". This manual -page gives an overview of the Amanda commands and configuration files for quick -reference. -Here are all the Amanda commands. Each one has its own manual page. See them -for all the gory details. - - - amdump - Take care of automatic Amanda backups. This is normally executed by cron - on a computer called the tape server host and requests backups of file - systems located on backup clients. Amdump backs up all disks in the - disklist file (discussed below) to tape or, if there is a problem, to a - special holding disk. After all backups are done, amdump sends mail - reporting failures and successes. - - amflush - Flush backups from the holding disk to tape. Amflush is used after amdump - has reported it could not write backups to tape for some reason. When - this happens, backups stay in the holding disk. Run amflush after the - tape problem is corrected to write backups from the holding disk to tape. - - amcleanup - Clean up after an interrupted amdump. This command is only needed if - amdump was unable to complete for some reason, usually because the tape - server host crashed while amdump was running. - - amrecover - Provides an interactive interface to browse the Amanda index files - (backup image catalogues) and select which tapes to recover files from. - It can also run amrestore and a restore program (e.g. tar) to actually - recover the files. - - amrestore - Read an Amanda tape, searching for requested backups. Amrestore is - suitable for everything from interactive restores of single files to a - full restore of all partitions on a failed disk. - - amfetchdump - Performs Amanda tape restoration, similar to amrestore. Additional - capabilities include "hands-off" searching of multiple tapes, automatic - retrieval of specific dump files based on dump logs, and assembly of - tape-spanning split dump files. - - amlabel - Write an Amanda format label onto a tape. All Amanda tapes must be - labeled with amlabel. Amdump and amflush will not write to an unlabeled - tape (see TAPE MANAGEMENT below). - - amcheck - Verify the correct tape is mounted and all file systems on all backup - client systems are ready to be backed up. Often run by cron before amdump - to generate a mail warning that backups might fail unless corrective - action is taken. - - amadmin - Take care of administrative tasks like finding out which tapes are needed - to restore a filesystem, forcing hosts to do full backups of selected - disks and looking at schedule balance information. - - amtape - Take care of tape changer control operations like loading particular - tapes, ejecting tapes and scanning the tape storage slots. - - amverify - Check Amanda backup tapes for errors. - - amrmtape - Delete a tape from the Amanda databases. - - amstatus - Report the status of a running or completed amdump. - - amoverview - Display a chart of hosts and file systems backed up every run. - - amplot - Generate utilization plots of Amanda runs for performance tuning. - - amreport - Generate an Amanda summary E-mail report. - - amtoc - Generate table of content files for Amanda tapes. - - amcheckdb - Verify every tape Amanda knows about is consistent in the database. - - amgetconf - Look up parameters in the Amanda configuration file. - - amtapetype - Generate a tapetype definition. - - amaespipe - Wrapper program from aespipe (data encryption utility) - - amcrypt - Reference encryption program for Amanda symmetric data encryption - - -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. 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 -configuration for infrequent full archival backups. The configuration files -would be stored under directories /usr/local/etc/amanda/normal/ and /usr/local/ -etc/amanda/archive/, respectively. Part of the job of an Amanda administrator -is to create, populate and maintain these directories. -All log and database files generated by Amanda go in corresponding directories -somewhere. The exact location is controlled by entries in amanda.conf. A -typical location would be under /var/adm/amanda. For the above example, the -files might go in /var/adm/amanda/normal/ and /var/adm/amanda/archive/. -As log files are no longer needed (no longer contain relevant information), -Amanda cycles them out in various ways, depending on the type of file. -Detailed information about amdump runs are stored in files named amdump.NN -where NN is a sequence number, with 1 being the most recent file. Amdump -rotates these files each run, keeping roughly the last tapecycle (see below) -worth of them. -The file used by amreport to generate the mail summary is named log.YYYYMMDD.NN -where YYYYMMDD is the datestamp of the start of the amdump run and NN is a -sequence number started at 0. At the end of each amdump run, log files for runs -whose tapes have been reused are renamed into a subdirectory of the main log -directory (see the logdir parameter below) named oldlog. It is up to the Amanda -administrator to remove them from this directory when desired. -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. - -DISKLIST FILE - -The disklist file determines which disks will be backed up by Amanda. The file -usually contains one line per disk: - - hostname diskname [diskdevice] dumptype [spindle [interface] ] - -All pairs [ hostname diskname ] must be unique. -Lines starting with # are ignored, as are blank lines. The fields have the -following meanings: - - - hostname - The name of the host to be backed up. If diskdevice refers to a PC share, - this is the host Amanda will run the Samba smbclient program on to back - up the share. - - diskname - The name of the disk (a label). In most case, you set your diskname to - the diskdevice and you don't set the diskdevice. If you want multiple - entries with the same diskdevice, you must set a different diskname for - each entry. It's the diskname that you use on the commandline for any - Amanda command. Look at the example/disklist file for example. - - diskdevice - Default: same as diskname. The name of the disk device to be backed up. - It may be a full device name, a device name without the /dev/ prefix, - e.g. sd0a, or a mount point such as /usr. - It may also refer to a PC share by starting the name with two (forward) - slashes, e.g. //some-pc/home. In this case, the program option in the - associated dumptype must be entered as GNUTAR. It is the combination of - the double slash disk name and program GNUTAR in the dumptype that - triggers the use of Samba. - - dumptype - Refers to a dumptype defined in the amanda.conf file. Dumptypes specify - backup related parameters, such as whether to compress the backups, - whether to record backup results in /etc/dumpdates, the disk's relative - priority, etc. - - spindle - Default: -1. A number used to balance backup load on a host. Amanda will - not run multiple backups at the same time on the same spindle, unless the - spindle number is -1, which means there is no spindle restriction. - - interface - Default: local. The name of a network interface definition in the - amanda.conf file, used to balance network load. - -Instead of naming a dumptype, it is possible to define one in-line, enclosing -dumptype options within curly braces, one per line, just like a dumptype -definition in amanda.conf. Since pre-existing dumptypes are valid option names, -this syntax may be used to customize dumptypes for particular disks. -A line break must follow the left curly bracket. -For instance, if a dumptype named normal is used for most disks, but use of the -holding disk needs to be disabled for the file system that holds it, this would -work instead of defining a new dumptype: - - hostname diskname [ diskdevice ] { - normal - holdingdisk never - } [ spindle [ interface ] ] - - -TAPE MANAGEMENT - -The tapelist file contains the list of tapes in active use. This file is -maintained entirely by Amanda and should not be created or edited during normal -operation. It contains lines of the form: - - YYYYMMDD label flags - -Where YYYYMMDD is the date the tape was written, label is a label for the tape -as written by amlabel and flags tell Amanda whether the tape may be reused, etc -(see the reuse options of amadmin). -Amdump and amflush will refuse to write to an unlabeled tape, or to a labeled -tape that is considered active. There must be more tapes in active rotation -(see the tapecycle option) than there are runs in the backup cycle (see the -dumpcycle option) to prevent overwriting a backup image that would be needed to -do a full recovery. - -OUTPUT DRIVERS - -The normal value for the tapedev parameter, or for what a tape changer returns, -is a full path name to a non-rewinding tape device, such as /dev/nst0 or /dev/ -rmt/0mn or /dev/nst0.1 or whatever conventions the operating system uses. -Amanda provides additional application level drivers that support non- -traditional tape-simulations or features. To access a specific output driver, -set tapedev (or configure your changer to return) a string of the form driver: -driver-info where driver is one of the supported drivers and driver-info is -optional additional information needed by the driver. -The supported drivers are: - - - tape - This is the default driver. The driver-info is the tape device name. - Entering - - tapedev /dev/rmt/0mn - - is really a short hand for - - tapedev tape:/dev/rmt/0mn - - - null - 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 Amanda checks for and allows through - regardless of what you have set in labelstr. The driver-info field is not - used and may be left blank: - - tapedev null: - - The length value from the associated tapetype is used to limit the amount - of data written. When the limit is reached, the driver will simulate end - of tape. - - Note - - This driver should only be used for debugging and testing, and probably - only with the record option set to no. - - rait - Redundant Array of Inexpensive (?) Tapes. Reads and writes tapes mounted - on multiple drives by spreading the data across N-1 drives and using the - last drive for a checksum. See docs/RAIT for more information. - The driver-info field describes the devices to use. Curly braces indicate - multiple replacements in the string. For instance: - - tapedev rait:/dev/rmt/tps0d{4,5,6}n - - would use the following devices: - /dev/rmt/tps0d4n /dev/rmt/tps0d5n /dev/rmt/tps0d6n - - - - file - This driver emulates a tape device with a set of files in a directory. - The driver-info field must be the name of an existing directory. The - driver will test for a subdirectory of that named data and return offline - until it is present. When present, the driver uses two files in the data - subdirectory for each tape file. One contains the actual data. The other - contains record length information. - The driver uses a file named status in the file device directory to hold - driver status information, such as tape position. If not present, the - driver will create it as though the device is rewound. - The length value from the associated tapetype is used to limit the amount - of data written. When the limit is reached, the driver will simulate end - of tape. - One way to use this driver with a real device such as a CD-writer is to - create a directory for the file device and one or more other directories - for the actual data. Create a symlink named data in the file directory to - one of the data directories. Set the tapetype length to whatever the - medium will hold. - When Amanda fills the file device, remove the symlink and (optionally) - create a new symlink to another data area. Use a CD writer software - package to burn the image from the first data area. - To read the CD, mount it and create the data symlink in the file device - directory. - - -AUTHORIZATION - -Amanda processes on the tape server host run as the dumpuser user listed in -amanda.conf. When they connect to a backup client, they do so with an Amanda- -specific protocol. They do not, for instance, use rsh or ssh directly. -On the client side, the amandad daemon validates the connection using one of -several methods, depending on how it was compiled and on options it is passed: - - - .rhosts - Even though Amanda does not use rsh, it can use .rhosts-style - authentication and a .rhosts file. - - .amandahosts - This is essentially the same as .rhosts authentication except a different - file, with almost the same format, is used. This is the default mechanism - built into Amanda. - The format of the .amandahosts file is: - hostname [ username [ service ]*] - If username is ommitted, it defaults to the user running amandad, i.e. - the user listed in the inetd or xinetd configuration file. - The service is a list of the service the client is authorized to execute: - amdump, noop, selfcheck, sendsize, sendbackup, amindexd, amidxtaped. - amdump is a shortcut for "noop selfcheck sendsize sendbackup" - - Kerberos - Amanda may use the Kerberos authentication system. Further information is - in the docs/KERBEROS file that comes with an Amanda distribution. - For Samba access, Amanda needs a file on the Samba server (which may or - may not also be the tape server) named /etc/amandapass with share names, - (clear text) passwords and (optional) domain names, in that order, one - per line, whitespace separated. By default, the user used to connect to - the PC is the same for all PC's and is compiled into Amanda. It may be - changed on a host by host basis by listing it first in the password field - followed by a percent sign and then the password. For instance: - - //some-pc/home normalpw - //another-pc/disk otheruser%otherpw - - With clear text passwords, this file should obviously be tightly - protected. It only needs to be readable by the Amanda-user on the Samba - server. - You can find further information in the docs/SAMBA file that comes with - an Amanda distribution. - - -HOST & DISK EXPRESSION - -All host and disk arguments to programs are special expressions. The command -applies to all disks that match your arguments. This section describes the -matcher. -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. - -. 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 - - -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____________________________________________| - - -DUMP SPECIFICATIONS - -A dump specification selects one or more dumps. It has the form [host][:disk] -[@datestamp], where each component is a pattern as described above. If a -component is missing, it is treated as a wildcard. The characters ':', '@', and -'\' may be escaped within any component by preceding them with a '\'. -Some examples: - -DUMPSPEC DESCRIPTION -client17 all dumps of client17 -@20080615 All dumps on with datestamps matching 20080615 -webserver:/var/www All dumps of /var/www on host webserver -webserver:/var/www@200806150317 The dump of webserver with datestamp - 200806150317 -:/var/www All dumps of /var/www on any host - - -CONFIGURATION OVERRIDE - -Most command allow to overwrite any configuration parameter on the command line -with the -o option. --o NAME=value -eg. -o runtapes=2 -eg. -o DUMPTYPE:no-compress:compress="server fast" -eg. -o TAPETYPE:HP-DAT:length=2000m -eg. -o INTERFACE:local:use="2000 kbps" - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion, major update - -SEE ALSO - -amadmin(8), amanda.conf(5), amanda-client.conf(5), amcheck(8), amcheckdb(8), -amcleanup(8), amdd(8), amdump(8), amfetchdump(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 -amaespipe Home amanda.conf - diff --git a/docs/amanda.conf.5.txt b/docs/amanda.conf.5.txt index c1ddfdd..e69de29 100644 --- a/docs/amanda.conf.5.txt +++ b/docs/amanda.conf.5.txt @@ -1,1057 +0,0 @@ - - amanda.conf -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amanda.conf  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. -The file //amanda.conf is loaded. - -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. - - usetimestamps bool - Default: No. By default, Amanda can only track at most one run per - calendar day. When this option is enabled, however, Amanda can track as - many runs as you care to make. - WARNING: This option is not backward-compatible. Do not enable it if you - intend to downgrade your server installation to Amanda community edition - 2.5.0 - - label_new_tapes string - Default: not set. When set, this directive will cause Amanda to - automatically write an Amanda tape label to any blank tape she - encounters. This option is DANGEROUS because when set, Amanda will ERASE - any non-Amanda tapes you may have, and may also ERASE any near-failing - tapes. Use with caution. - When using this directive, specify the template for new tape labels. The - template should contain some number of contiguous '%' characters, which - will be replaced with a generated number. Be sure to specify enough '%' - characters that you do not run out of tape labels. Example: - label_new_tapes "DailySet1-%%%" - - 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: null:. 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: 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. - First character of a tapetype string must be an alphabetic character - - 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. - - connect_tries int - Default: 3. How many times the server will try a connection. - - req_tries int - Default: 3. How many times the server will resend a REQ packet if it - doesn't get the ACK packet. - - 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 dumps from holding - disk to tape. - - amrecover_do_fsf bool - Default: on. Amrecover will call amrestore with the -f flag for faster - positioning of the tape. - - amrecover_check_label bool - Default: on. 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 ' - 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: - - 1. the name of the column, which may be: - - Compress (compression ratio) - Disk (client disk name) - DumpRate (dump rate in KBytes/sec) - DumpTime (total dump time in hours:minutes) - HostName (client host name) - Level (dump level) - OrigKB (original image size in KBytes) - OutKB (output image size in KBytes) - TapeRate (tape writing rate in KBytes/sec) - TapeTime (total tape time in hours:minutes) - - - 2. the amount of space to display before the column (used to get - whitespace between columns). - 3. 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. - - debug_auth int - Default: 0. Debug level of the auth module - - debug_event int - Default: 0. Debug level of the event module - - debug_holding int - Default: 0. Debug level of the holdingdisk module - - debug_protocol int - Default: 0. Debug level of the protocol module - - debug_planner int - Default: 0. Debug level of the planner process - - debug_driver int - Default: 0. Debug level of the driver process - - debug_dumper int - Default: 0. Debug level of the dumper process - - debug_chunker int - Default: 0. Debug level of the chunker process - - debug_taper int - Default: 0. Debug level of the taper process - - reserved-udp-port int,int - Default: --with-udpportrange or 512,1023. Reserved udp port that will be - used (bsd, bsdudp) - - reserved-tcp-port int,int - Default: --with-low-tcpportrange or 512,1023. Reserved tcp port that will - be used (bsdtcp) - - unreserved-tcp-port int,int - Default: --with-tcpportrange or 1025,65536. Unreserved tcp port that will - be used (bsd, bsdudp) - - -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. - bsd, bsd authorization with udp initial connection and one tcp connection - by data stream. - bsdtcp, bsd authorization but use only one tcp connection. - bsdudp, like bsd, but will use only one tcp connection for all data - stream. - krb4 to use Kerberos-IV authorization. - krb5 to use Kerberos-V authorization. - rsh to use rsh authorization. - ssh to use OpenSSH authorization. - - amandad_path string - Default: $libexec/amandad. Specify the amandad path of the client, only - use with rsh/ssh authentification. - - client_username string - Default: CLIENT_LOGIN. Specify the username to connect on the client, - only use with rsh/ssh authentification. - - 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 three - 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. Or to specify Custom to use your own - compression method. (See dumptype custom-compress in example/amanda.conf - for reference) - So the compress options line may be one of: - - - compress none - - compress client fast - - compress client best - - compress client custom - Specify client_custom_compress "PROG" - PROG must not contain white space and it must accept -d for - uncompress. - - compress server fast - - compress server best - - compress server custom - Specify server_custom_compress "PROG" - PROG must not contain white space and it must accept -d for - uncompress. - - 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 of ten. Setting - this to zero tries to do a full backup each run. - - encrypt [none|client|server] - Default: none. To encrypt 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. - So the encrypt options line may be one of: - - - encrypt none - - encrypt client - Specify client_encrypt "PROG" - PROG must not contain white space. - Specify client_decrypt_option "decryption-parameter" Default: "-d" - decryption-parameter must not contain white space. - (See dumptype server-encrypt-fast in example/amanda.conf for - reference) - - encrypt server - Specify server_encrypt "PROG" - PROG must not contain white space. - Specify server_decrypt_option "decryption-parameter" Default: "-d" - decryption-parameter must not contain white space. - (See dumptype client-encrypt-nocomp in example/amanda.conf for - reference) - - Note that current logic assumes compression then encryption during backup - (thus decrypt then uncompress during restore). So specifying client- - encryption AND server-compression is not supported. amcrypt which is a - wrapper of aespipe is provided as a reference symmetric encryption - program. - - 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. The path to the specified exclude list file, - if present (see description of 'optional' below), must be readable by the - Amanda user. - All exclude expressions are concatenated in one file and passed to GNU- - tar as an --exclude-from argument. - Exclude expressions must always be specified as relative to the head - directory of the DLE. - 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 [ never|auto|required ] - Default: auto. 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 never to avoid backing up the - holding disk into itself. - - - never|no|false|off - Never use a holdingdisk, the dump will always go directly to tape. - There will be no dump if you have a tape error. - - auto|yes|true|on - Use the holding disk, unless there is a problem with the holding - disk, the dump won't fit there or the medium doesn't require - spooling (e.g., VFS device) - - required - Always dump to holdingdisk, never directly to tape. There will be - no dump if it doesn't fit on holdingdisk - - - 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 "/". - Include expressions must always be specified as relative to the head - directory of the DLE. - - Note - - For globbing to work at all, even the limited single level, the top level - directory of the DLE must be readable by the Amanda user. - 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. - - - tape_splitsize int - Default: none. Split dump file on tape into pieces of a specified size. - This allows dumps to be spread across multiple tapes, and can potentially - make more efficient use of tape space. Note that if this value is too - large (more than half the size of the average dump being split), - substantial tape space can be wasted. If too small, large dumps will be - split into innumerable tiny dumpfiles, adding to restoration complexity. - A good rule of thumb, usually, is 1/10 of the size of your tape. - - split_diskbuffer string - Default: none. When dumping a split dump in PORT-WRITE mode (usually - meaning "no holding disk"), buffer the split chunks to a file in the - directory specified by this option. - - fallback_splitsize int - Default: 10M. When dumping a split dump in PORT-WRITE mode, if no - split_diskbuffer is specified (or if we somehow fail to use our - split_diskbuffer), we must buffer split chunks in memory. This specifies - the maximum size split chunks can be in this scenario, and thus the - maximum amount of memory consumed for in-memory splitting. The size of - this buffer can be changed from its (very conservative) default to a - value reflecting the amount of memory that each taper process on the dump - server may reasonably consume. - -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: 1 kbytes. How large a file mark (tape mark) is, measured in - kbytes. If the size is only known in some linear measurement (e.g. - inches), convert it to kbytes 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 kbytes. 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. - - readblocksize int - Default: (from configure --with-maxtapeblocksize). How much data will be - read in each tape record expressed in KiloBytes. Some hardware require a - value not too large, and some require it to be equal to the blocksize. It - is useful if you configured amanda with a big --with-maxtapeblocksize and - your hardware don't work with a value that big. - - 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, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion, major update, splitting - -SEE ALSO - -amanda(8), amanda-client.conf(5), amcrypt(8), aespipe(1), -------------------------------------------------------------------------------- - -Prev Up Next -amanda Home amanda-client.conf - diff --git a/docs/amcheck.8.txt b/docs/amcheck.8.txt index f043cf9..e69de29 100644 --- a/docs/amcheck.8.txt +++ b/docs/amcheck.8.txt @@ -1,375 +0,0 @@ - - amcheck -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amcheck  run Amanda self-checks - -Synopsis - -amcheck [-am] [-w] [-sclt] [-M address] config [ host [disk...] ...] [ - -o configoption]... - -DESCRIPTION - -Amcheck runs a number of self-checks on both the Amanda tape server host and -the Amanda client hosts. -On the tape server host, amcheck can go through the same tape checking used at -the start of the nightly amdump run to verify the correct tape for the next run -is mounted. -Amcheck can also do a self-check on all client hosts to make sure each host is -running and that permissions on filesystems to be backed up are correct. -You can specify many host/disk expressions, only disks that match an expression -will be checked. All disks are checked if no expressions are given. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - -s - Run the tape server local and tape checks (same as -lt). - - -c - Run the client host checks. Multiple specific clients can be checked by - specifying the client name. - - -l - Run the local tests (e.g. permissions) on the server host. - - -t - Run the tape tests on the server host. - - -w - Enables a DESTRUCTIVE check for write-protection on the tape (which would - otherwise cause the subsequent amdump to fail). If the tape is writable, - this check causes all data after the tape label to be erased. If the - label_new_tapes option is enabled, this check may ERASE any non-Amanda - tape in the drive or changer. The check enable the tape tests on the - server host and is only made if the tape is otherwise correct. - - -m - Nothing is printed, but mail is sent if any errors are detected. The mail - goes to the mailto address specified in the amanda.conf file or the - address value if -M is set. - - -a - Like -m but the mail is always sent. - - -M address - Mail the report to address instead of the mailto value from amanda.conf. - Implies -m. - - host [disk]* - Specify the host and disk on which the command will work. - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - -The default is -cs. - -EXAMPLES - -In this example, both the tape server and client tests are run. The results are -displayed on standard output. - - % amcheck daily - Amanda Tape Server Host Check - ----------------------------- - /amanda2/amanda/work: 911475 KB disk space available, that's plenty. - NOTE: skipping tape-writable test. - Tape VOL10 label ok. - Server check took 34.966 seconds. - - Amanda Backup Client Hosts Check - -------------------------------- - WARNING: northstar: selfcheck request timed out. Host down? - WARNING: drinkme: selfcheck request timed out. Host down? - WARNING: scruffy: selfcheck request timed out. Host down? - Client check: 136 hosts checked in 51.945 seconds, 3 problems found. - - (brought to you by Amanda 2.5.0) - -In this example, if the line mailto csd-amanda is in amanda.conf, mail will be -sent to csd-amanda if the server check returns an error. - - % amcheck -s -m daily - - -MESSAGES - - - - fatal slot slot: error message - (error) The tape changer detected some kind of fatal error while trying - to load slot slot. - - slot slot: error message - (warning) The tape changer detected some kind of non-fatal error (e.g. an - empty slot was detected) while trying to load slot slot, or an error was - detected trying to read the tape label. - - slot slot: date YYYYMMDD label label (result) - (info) Tape label in slot slot was loaded and found to have been last - written on YYYYMMDD. If the tape is new, the date field will be an X. The - result may be one of: - - - exact label match - This is the expected tape. - - no match - This label does not match the labelstr pattern in amanda.conf. Tape - scanning will continue. - - active tape - This tape is still active and cannot be overwritten. Tape scanning - will continue. - - first labelstr match - This tape is the first one that matches the labelstr pattern in - amanda.conf. Tape scanning will continue if necessary. - - labelstr match - This tape is the next one that matches the labelstr pattern in - amanda.conf. Tape scanning will continue. - - - ERROR: cannot look up dump user user - (error) Dump user user from amanda.conf could not be found in the system - password information. - - ERROR: cannot look up my own uid (uid) - (error) User id uid running amcheck could not be found in the system - password information. - - ERROR: running as user runuser instead of dumpuser - (error) Amcheck should be run as the dump user dumpuser from amanda.conf - instead of runuser. - - ERROR: program dir directory: not accessible - (error) The directory Amanda expects to find its auxiliary programs in, - directory, is not accessible. - - ERROR: program program: does not exist - (error) Program program needed on the tape server could not be found. - - ERROR: program program: not a file - (error) Program program needed on the tape server exists but is not a - file. - - ERROR: program program: not executable - (error) Program program needed on the tape server exists but is not - executable. - - WARNING: program program: not setuid-root - (warning) Program program needed on the tape server exists but should be - owned by user "root" and setuid. - - ERROR: XXX dir directory: not writable - (error) Directory directory is either not writable, i.e. the dump user - will not be able to create or remove files, or cannot be accessed, - perhaps because a parent directory does not allow search permission. The - XXX may be: - - - log - for the Amanda log directory (see logdir in amanda.conf) - - oldlog - for the directory that holds the old log files (see logdir in - amanda.conf) - - info - for an Amanda database information directory (see curinfo in - amanda.conf) or - - index - for an Amanda index directory (see indexdir in amanda.conf) - - tapelist - for the Amanda tapelist directory (see tapelist in amanda.conf) - - - NOTE: XXX dir directory: does not exist - (info) A database (info) or index directory does not exist or cannot be - accessed. This might just mean this is a new client or disk, but if that - is not the case, this should be treated as an error. - - NOTE: it will be created on the next run - (info) This indicates the info directory listed in the previous message - will be created on the next run. - - ERROR: XXX dir name: not a directory - (error) Amcheck expected name to be a directory, but it is something else - (e.g. file). - - WARNING: info file file: does not exist - (warning) File file does not exist in the text format database. Since the - parent directories do exist, the file should already have been created. - - ERROR: info file name: not a file - (error) Amcheck expected name to be a file, but it is something else - (e.g. file). - - ERROR: info file file: not readable - (error) The text format database file file is not readable. - - ERROR: log file file: not writable - (error) Log file file (file log in logdir from amanda.conf) is either not - writable, or cannot be accessed, perhaps because a parent directory does - not allow search permission. - - ERROR: tape list tapelist: not writable - (error) Amanda tape list file tapelist (see tapelist in amanda.conf) is - not writable or was not found. - - ERROR: tape list tapelist: parse error - (error) Amanda tape list file tapelist (see tapelist in amanda.conf) - could not be read or parsed. - - WARNING: tapedev is /dev/null, dumps will be thrown away - (warning) The tapedev parameter in amanda.conf is set to /dev/null and - Amanda uses that when debugging to throw all the dump images away. - - WARNING: hold file file exists - (info) Hold file file exists and will cause amdump to pause at the - beginning until it is removed. - - ERROR: holding disk disk: statfs: error message - (error) An error was returned from the statfs system call on holding disk - disk (maybe because it does not exist). - - ERROR: holding disk disk: not writable - (error) Holding disk disk, is not writable, probably because the caller - does not have write permission or a parent directory does not allow - search permission. - - WARNING: holding disk disk: available space unknown N KB requested. - (warning) Amcheck could not determine the amount of available space on - holding disk disk to see if there were at least N KBytes available. - - WARNING: holding disk disk: only F KB free (R KB requested). - (warning) amanda.conf requested R KBytes of free space on holding disk - disk, but only F KBytes were available. 10 MBytes is subtracted for each - backup process (see the inparallel amanda.conf option) to allow for - unexpected overruns. - - Note - - Even though this message is listed as a warning, it causes amcheck to - exit with a non-zero status. - - - - Holding disk disk: N KB disk space available, that's plenty. - (info) There was sufficient free space on holding disk disk. - - WARNING: holding disk disk: only F KB free, using nothing - (warning) Holding disk disk has F KBytes of free space, but that is not - enough for what is requested in amanda.conf. - - Holding disk disk: F KB disk space available, using U KB - (info) Holding disk disk has F KBytes of free space and Amanda will be - using up to U Kbytes. - - WARNING: if a tape changer is not available, runtapes must be set to 1. - (warning) The runtapes amanda.conf option must be set to 1 if the - tpchanger amanda.conf option is not set. - - ERROR: error message. - (error) An error was detected while initializing the tape changer. - - ERROR: tape device: error message. - (error) An error was detected while processing the tape label. - - ERROR: cannot overwrite active tape label. - (error) Tape label is still active and cannot be used. - - ERROR: label label doesn't match labelstr pattern . - (error) The label on tape label does not match the labelstr amanda.conf - option. - - (expecting a new tape) - (info) The tape is not OK and a new tape was expected. - - (expecting tape label or a new tape) - (info) The tape is not OK and either tape label or a new tape was - expected. - - ERROR: tape label label ok, but is not writable. - (error) Tape label is OK, but the write enable test failed. - - Tape label is writable. - (info) Tape label is OK and the write enable test succeeded. - - NOTE: skipping tape-writable test. - (info) The tape write test (see the -w option) was not enabled. - - WARNING: skipping tape test because amdump or amflush seem to be running, - WARNING: if they are not, you must run amcleanup - (warning) It looked to amcheck like either amdump or amflush were running - because a log file or amdump file exists. If they are not running, you - probably need to run amcleanup to clear up a previous failure. Otherwise, - you need to wait until they complete before running amcheck. - - NOTE: skipping tape checks - (info) The tape tests are being skipped because you used the -t command - line option. - - WARNING: compress is not executable, server-compression and indexing will not - work - (warning) Compression program compress is not executable, so compression - on the tape server host and creating index files will not work. - - Tape label label ok. - (info) Tape label is OK for the next run. - - Server check took S seconds. - (info) Reports how long the tape server host checks took. - - ERROR: host: could not resolve hostname - (error) Could not look up client hostname host. - - Client check: H hosts checked in S seconds, N problems found. - (info) Reports the number of client hosts checked, how long it took and - the number of errors detected. - - WARNING: host: selfcheck request timed out. Host down? - (warning) There was no response from host when trying to do the client - checks. The host might really be down or it might not be configured - properly. - - ERROR: host NAK: message - (error) Host reported a negative acknowledgment error of message to the - status check request. - - ERROR: host NAK: [NAK parse failed] - (error) Amcheck could not parse the negative acknowledgment error from - host. There might be an Amanda version mismatch between the host running - amcheck and host. - - ERROR: host [mutual-authentication failed] - (error) Kerberos authentication failed while contacting host. - - ERROR: host: message - (error) Error message was reported by the status check on host. - - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8), amdump(8) -------------------------------------------------------------------------------- - -Prev Up Next -amanda-client.conf Home amcheckdb - diff --git a/docs/amcheckdb.8.txt b/docs/amcheckdb.8.txt index 8821ca6..e69de29 100644 --- a/docs/amcheckdb.8.txt +++ b/docs/amcheckdb.8.txt @@ -1,49 +0,0 @@ - - amcheckdb -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amcheckdb  check Amanda database for tape consistency - -Synopsis - -amcheckdb config - -DESCRIPTION - -Amcheckdb verifies that every tape mentioned in the Amanda database is still -valid in the tapelist file. -See the amanda(8) man page for more details about Amanda. - -EXAMPLE - -This shows a normal response: - - # amcheckdb daily - Ready. - -This shows tape DMP014 is still listed in the database but is no longer listed -in the tapelist file: - - # amcheckdb daily - Tape DMP014 missing in /usr/local/etc/amanda//daily/tapelist - Ready. - - -AUTHOR - -Adrian T. Filipi-Martin : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amadmin(8), amrmtape(8), amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -amcheck Home amcleanup - diff --git a/docs/amcleanup.8.txt b/docs/amcleanup.8.txt index c09e7b3..e69de29 100644 --- a/docs/amcleanup.8.txt +++ b/docs/amcleanup.8.txt @@ -1,62 +0,0 @@ - - amcleanup -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amcleanup  run the Amanda cleanup process after a failure - -Synopsis - -amcleanup config - -DESCRIPTION - -Amcleanup generates the Amanda Mail Report and updates the Amanda databases -after a system failure on a tape server host. This cleanup process is normally -done automatically as part of the amdump program, but if amdump cannot complete -for some reason (usually because of a tape server host crash), amcleanup must -be run some time later (usually during system boot). -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - -k - Kill all Amanda processes. - - -EXAMPLES - -This example runs the Amanda cleanup process by hand after a failure. - - % amcleanup daily - -Putting the following line in a system boot script (e.g. /etc/rc.local) runs -the Amanda cleanup process as part of the reboot, eliminating the need to run -it by hand. - - /usr/local/sbin/amcleanup daily - -If nothing needs to be done, amcleanup exits normally with the message: - - amcleanup: no unprocessed logfile to clean up. - - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8), amdump(8) -------------------------------------------------------------------------------- - -Prev Up Next -amcheckdb Home amcrypt - diff --git a/docs/amcrypt-asym-ossl.8.txt b/docs/amcrypt-asym-ossl.8.txt index 711be5c..e69de29 100644 --- a/docs/amcrypt-asym-ossl.8.txt +++ b/docs/amcrypt-asym-ossl.8.txt @@ -1,86 +0,0 @@ - - amcrypt-ossl-asym -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amcrypt-ossl-asym  crypt program for Amanda asymmetric data encryption using -OpenSSL - -Synopsis - -amcrypt-ossl-asym [-d] - -DESCRIPTION - -amcrypt-ossl-asym uses OpenSSL to encrypt and decrypt data. OpenSSL is -available from www.openssl.org. OpenSSL offers a wide variety of cipher choices -( amcrypt-ossl-asym defaults to 256-bit AES) and can use hardware cryptographic -accelerators on several platforms. -amcrypt-ossl-asym will search for the OpenSSL program in the following -directories: /bin:/usr/bin:/usr/local/bin:/usr/ssl/bin:/usr/local/ssl/bin. - -GENERATING PUBLIC AND PRIVATE KEYS - -RSA keys can be generated with the standard OpenSSL commands, e.g.: - - $ cd /var/lib/amanda - $ openssl genrsa -aes128 -out backup-privkey.pem 1024 - Generating RSA private key, 1024 bit long modulus - [...] - Enter pass phrase for backup-privkey.pem: ENTER YOUR PASS PHRASE - Verifying - Enter pass phrase for backup-key.pem: ENTER YOUR PASS PHRASE - - $ openssl rsa -in backup-privkey.pem -pubout -out backup-pubkey.pem - Enter pass phrase for backup-privkey.pem: ENTER YOUR PASS PHRASE - Writing RSA key - -To generate a private key without a passphrase, omit the -aes128 option. See -openssl_genrsa(1) for more key generation options. -Note that it is always possible to generate the public key from the private -key. - -KEY AND PASSPHRASE MANAGEMENT - -amcrypt-ossl-asym uses the public key to encrypt data. The security of the data -does not depend on the confidentiality of the public key. The private key is -used to decrypt data, and must be protected. Encrypted backup data cannot be -recovered without the private key. The private key may optionally be encrypted -with a passphrase. -While the public key must be online at all times to perorm backups, the private -key and optional passphrase are only needed to restore data. It is recommended -that the latter be stored offline all other times. For example, you could keep -the private key on removable media, and copy it into place for a restore; or -you could keep the private key online, encrypted with a passphrase that is -present only for a restore. -OpenSSL's key derivation routines use a salt to guard against dictionary -attacks on the pass phrase; still it is important to pick a pass phrase that is -hard to guess. The Diceware method (see www.diceware.com) can be used to create -passphrases that are difficult to guess and easy to remember. - -FILES - - - - /var/lib/amanda/backup-privkey.pem - File containing the RSA private key. It should not be readable by any - user other than the Amanda user. - - /var/lib/amanda/backup-pubkey.pem - File containing the RSA public key. - - /var/lib/amanda/.am_passphrase - File containing the passphrase. It should not be readable by any user - other than the Amanda user. - - -SEE ALSO - -amanda(8), amanda.conf(5), openssl(1), amcrypt-ossl(8) -------------------------------------------------------------------------------- - -Prev Up Next -amcrypt-ossl Home amdd - diff --git a/docs/amcrypt-ossl.8.txt b/docs/amcrypt-ossl.8.txt index c3eb0b6..e69de29 100644 --- a/docs/amcrypt-ossl.8.txt +++ b/docs/amcrypt-ossl.8.txt @@ -1,50 +0,0 @@ - - amcrypt-ossl -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amcrypt-ossl  crypt program for Amanda symmetric data encryption using OpenSSL - -Synopsis - -amcrypt-ossl [-d] - -DESCRIPTION - -amcrypt-ossl uses OpenSSL to encrypt and decrypt data. OpenSSL is available -from www.openssl.org. OpenSSL offers a wide variety of cipher choices -( amcrypt-ossl defaults to 256-bit AES) and can use hardware cryptographic -accelerators on several platforms. -amcrypt-ossl will search for the OpenSSL program in the following directories: -/bin:/usr/bin:/usr/local/bin:/usr/ssl/bin:/usr/local/ssl/bin. - -PASSPHRASE MANAGEMENT - -amcrypt-ossl uses the same pass phrase to encrypt and decrypt data. It is very -important to store and protect the pass phrase properly. Encrypted backup data -can only be recovered with the correct passphrase. -OpenSSL's key derivation routines use a salt to guard against dictionary -attacks on the pass phrase; still it is important to pick a pass phrase that is -hard to guess. The Diceware method (see www.diceware.com) can be used to create -passphrases that are difficult to guess and easy to remember. - -FILES - - - - /var/lib/amanda/.am_passphrase - File containing the pass phrase. It should not be readable by any user - other than the Amanda user. - - -SEE ALSO - -amanda(8), amanda.conf(5), openssl(1), amcrypt-ossl-asym(8) -------------------------------------------------------------------------------- - -Prev Up Next -amcrypt Home amcrypt-ossl-asym - diff --git a/docs/amcrypt.8.txt b/docs/amcrypt.8.txt index 1282fd3..e69de29 100644 --- a/docs/amcrypt.8.txt +++ b/docs/amcrypt.8.txt @@ -1,56 +0,0 @@ - - amcrypt -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amcrypt  reference crypt program for Amanda symmetric data encryption - -Synopsis - -amcrypt - -DESCRIPTION - -amcrypt requires aespipe, uuencode and gpg to work. Aespipe is available from -http://loop-aes.sourceforge.net -amcrypt will search for the aespipe program in the following directories: /usr/ -bin:/usr/local/bin:/sbin:/usr/sbin. -amcrypt calls amaespipe and pass the passphrase through file descriptor 3. The -passphrase should be stored in ~amanda/.am_passphrase. - -How to create encryption keys for amcrypt - -1. Create 65 random encryption keys and encrypt those keys using gpg. Reading -from /dev/random may take indefinitely long if kernel's random entropy pool is -empty. If that happens, do some other work on some other console (use keyboard, -mouse and disks). -head -c 2925 /dev/random | uuencode -m - | head -n 66 | tail -n 65 \ | gpg -- -symmetric -a > ~amanda/.gnupg/am_key.gpg -This will ask for a passphrase. Remember this passphrase as you will need it in -the next step. -2. Store the passphrase inside the home-directory of the AMANDA-user and -protect it with proper permissions: - - echo my_secret_passphrase > ~amanda/.am_passphrase - chown amanda:disk ~amanda/.am_passphrase - chmod 700 ~amanda/.am_passphrase - - -Key and Passphrase - -amcrypt uses the same key to encrypt and decrypt data. -It is very important to store and protect the key and the passphrase properly. -Encrypted backup data can only be recovered with the correct key and -passphrase. - -SEE ALSO - -amanda(8), amanda.conf(5), aespipe(1), amaespipe(8), gpg(1) -------------------------------------------------------------------------------- - -Prev Up Next -amcleanup Home amcrypt-ossl - diff --git a/docs/amdd.8.txt b/docs/amdd.8.txt index 13ea42b..e69de29 100644 --- a/docs/amdd.8.txt +++ b/docs/amdd.8.txt @@ -1,85 +0,0 @@ - - amdd -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amdd  Amanda version of dd - -Synopsis - -amdd [-d ] [if=input] [of=output] [bs=blocksize] [skip=count] [count=count] - -DESCRIPTION - -Amdd provides just enough of the standard UNIX dd command for the needs of -Amanda. This is handy when doing a full restore and the standard dd program has -not yet been found. -Amdd also provides access to the Amanda output drivers that support various -tape simulations. This may be used for debugging or to convert from one format -to another. -See the amanda(8) man page for more details about Amanda. See the OUTPUT -DRIVERS section of amanda(8) for more information on the Amanda output drivers. - -OPTIONS - - - - -d - Turn on debugging output. - - -llength - Set the output length. If the output driver limits the output size, this - controls when end of tape will be simulated. - Length may have a multiplier suffix: - - k -> 1024 (Kilobytes) - b -> 512 (Blocks) - M -> 1024*1024 (Megabytes) - The default is no multiplier (bytes). - - - - if=input - Input to dd. Default is stdin. - - of=output - Where to send the output of dd. Default is stdout. - - bs=blocksize - Size of each record. Input records smaller than this will not be padded. - Output records will be the same size as the corresponding input record. - Default is 512 bytes. - Blocksize may have a multiplier suffix: - - k -> 1024 (Kilobytes) - b -> 512 (Blocks) - M -> 1024*1024 (Megabytes) - The default is no multiplier (bytes). - - - - count=count - Number of records to copy. Default is all records until end of file. - - skip=count - Number of records to skip before copying input to output. Default is - zero. - - -AUTHOR - -Marc Mengel , John R. Jackson : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -amcrypt-ossl-asym Home amdump - diff --git a/docs/amdump.8.txt b/docs/amdump.8.txt index bcfbf6e..e69de29 100644 --- a/docs/amdump.8.txt +++ b/docs/amdump.8.txt @@ -1,78 +0,0 @@ - - amdump -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amdump  back up all disks in an Amanda configuration - -Synopsis - -amdump config [ host [disk...] ...] [ -o configoption]... - -DESCRIPTION - -Amdump switches to the appropriate Amanda configuration directory, e.g. /usr/ -local/etc/amanda/config, then attempts to back up every disk specified by the -amanda.conf file. Amdump is normally run by cron. -You can specify many host/disk expressions, only disks that match an expression -will be dumped. All disks are dumped if no expressions are given. -If the file /usr/local/etc/amanda/config/hold exists, amdump will wait until it -is removed before starting the backups. This allows scheduled backups to be -delayed when circumstances warrant, for example, if the tape device is being -used for some other purpose. While waiting, amdump checks for the hold file -every minute. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - host [disk]* - Specify the host and disk on which the command will work. - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -EXAMPLE - -Here is a typical crontab entry. It runs amdump every weeknight at 1 a.m. as -user bin: - - 0 1 * * 1-5 bin /usr/local/sbin/amdump daily - -Please see the crontab(5) or crontab(1) manual page for the correct crontab -format for your system. - -MESSAGES - - - - amdump: waiting for hold file to be removed - The "hold" file exists and amdump is waiting for it to be removed before - starting backups. - - amdump: amdump or amflush is already running, or you must run amcleanup - Amdump detected another amdump or amflush running, or the remains of a - previous incomplete amdump or amflush run. This run is terminated. If the - problem is caused by the remains of a previous run, you must execute - amcleanup(8) and then rerun amdump. - - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8), amcheck(8), amcleanup(8), amrestore(8), amflush(8), cron(8) -------------------------------------------------------------------------------- - -Prev Up Next -amdd Home amfetchdump - diff --git a/docs/amfetchdump.8.txt b/docs/amfetchdump.8.txt index 7015e6c..e69de29 100644 --- a/docs/amfetchdump.8.txt +++ b/docs/amfetchdump.8.txt @@ -1,147 +0,0 @@ - - amfetchdump -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amfetchdump  extract backup images from multiple Amanda tapes. - -Synopsis - -amfetchdump [-pcClawns] [-d device] [-O directory] [-i logfile] [-b blocksize] -config hostname [ disk [ date [ level [ hostname [...] ] ] ] ] [ - -o configoption]... - -DESCRIPTION - -Amfetchdump pulls one or more matching dumps from tape or from the holding -disk, handling the reassembly of multi-tape split dump files as well as any -tape autochanger operations. -It will automatically use the logs created by amdump(8) to locate available -dumps on tape, in the same way that the find feature of amadmin(8) lists -available dumps. If these logs are unavailable, it can search tape-by-tape to -find what it needs, and can generate new logs to serve as an emergency tape -inventory. -The hostname, diskname, datestamp, and level dump pattern-matching works as in -amrestore(8), with the added requirement that at minimum a hostname must be -specified when not in inventory mode. -Unless -p is used, backup images are extracted to files in the current -directory named: -hostname.diskname.datestamp.dumplevel - -OPTIONS - - - - -p - Pipe exactly one complete dump file to stdout, instead of writing the - file to disk. This will restore only the first matching dumpfile (where - "first" is determined by the dump log search facility). - - -d device - Restore from this tape device instead of the default. - - -O directory - Output restored files to this directory, instead of to the current - working directory. - - -c - Compress output, fastest method available. - - -C - Compress output, smallest file size method available. - - -l - Leave dumps in the compressed/uncompressed state in which they were found - on tape. By default, amfetchdump will automatically uncompress when - restoring. - - -a - Assume that all tapes are already available, via tape changer or - otherwise, instead of prompting the operator to ensure that all tapes are - loaded. - - -i filename - Generate an inventory of all dumps "seen" on the tapes we search, for - later use as a log. - - -w - Wait to put split dumps together until all chunks have been restored. - Normally, amfetchdump will attempt to read pieces of a split file from - tape in order, so that it can assemble them simply by appending each file - to the first. This option disables the appending behavior, and instead - restores each piece as an individual file and reassembles them only after - all have been restored. - - Note - - This requires at least double the size of your dump in free disk space, - in order to build the final assembled dumpfile. - This behavior is implicitly invoked in circumstances where knowing the - location of all dumps on tape in advance is not possible, such as when - you are restoring without log files. - - -n - Do not reassemble split dump files at all, just restore each piece as an - individual file. - - -s - Do not fast-forward straight to needed files on tape. This will slow down - most restores substantially. Only use this option if your tape drive does - not properly support the fast-forward operation. - - -b blocksize - Force a particular block size when reading from tapes. This value will - usually be autodetected, and should not normally need to be set. - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -EXAMPLES - -All the examples here assume your configuration is called SetA. -Here's a simple case, restoring all known dumps of the host vanya to the -current working directory. - -$ amfetchdump SetA vanya -A more likely scenario involves restoring a particular dump from a particular -date. We'll pipe this one to GNU-tar as well, to automatically extract the -dump. - -$ amfetchdump -p SetA vanya /home 20051020 | gtar -xvpf - -In a situation where all of our dump logs have been wiped out, we could also -use amfetchdump to inventory our tapes and recreate an imitation of those logs, -which we'll send to stdout for casual perusal. - -$ amfetchdump -i - SetA -Note that you can specify a restore while in inventory mode, and amfetchdump -will continue searching for more dumps from this host even after successfully -restoring a dump, inventorying all the while. If your backup searcher has been -trashed, this is a handy way to recover what you have. - -$ amfetchdump -i /var/amanda/log SetA backupserver - -CAVEATS - -Amfetchdump is dependent on accessing your server's config, tape changer, and -(normally) dump logs. As such, it's not necessarily the most useful tool when -those have all been wiped out and you desperately need to pull things from your -tape. Pains have been taken to make it as capable as possible, but for -seriously minimialist restores, look to amrestore(8) or dd(8) instead. - -AUTHOR - -John Stange, , National Academies Press -Ian Turner, : XML-conversion - -SEE ALSO - -amanda(8), amadmin(8), amrestore(8), tar(1) restore(8) -------------------------------------------------------------------------------- - -Prev Up Next -amdump Home amflush - diff --git a/docs/amflush.8.txt b/docs/amflush.8.txt index df6d970..e69de29 100644 --- a/docs/amflush.8.txt +++ b/docs/amflush.8.txt @@ -1,100 +0,0 @@ - - amflush -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amflush  flush Amanda backup files from holding disk to tape - -Synopsis - -amflush [-b] [-f] [-s] [-D datestamp] config [ host [disk...] ...] [ - -o configoption]... - -DESCRIPTION - -Amflush writes Amanda backups from the holding disks to tape, and updates the -Amanda info database and tapelist accordingly. Backups may stay in a holding -disk when something is wrong with the tape at the time amdump is run. When this -happens, the problem must be corrected and amflush run by hand. - -OPTIONS - - - - -b - Run amflush in batch mode. All datestamps are selected unless specified. - The flush is started without confirmation. - - -f - Run amflush in foreground. Amflush normally detaches itself from the tty - and runs as a background process. With the -f option, amflush stays in - the foreground. This is useful if amflush is run as part of another - script that, for example, advances the tape after the flush is completed. - - -s - Write log to stdout/stderr instead of the amflush log file. Requires the - -f option. - - -D datestamp - specify a datestamp expression you want to flush, see the "DATESTAMP - EXPRESSION" section of amanda(8) for a description. -D 20001225-7 will - flush all dumps from 25 december 2000 to 27 december 2000. - - host [disk]* - Specify the host and disk on which the command will work. - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - -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 amanda(8) for a description. -Amflush will look in the holding disks specified by the amanda.conf file in / -usr/local/etc/amanda/config for any non-empty Amanda 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 amdump -was run, e.g. 19910215. -See the amanda(8) man page for more details about Amanda. - -EXAMPLE - -Amflush will search for holding areas associated with the daily configuration. -After you select which holding area to flush, amflush writes the data to tape, -updates the databases and sends a mail report similar to amdump(8). - - % amflush daily - Scanning /amanda-hold... - 20001113: found Amanda directory. - 20001114: found Amanda directory. - - Multiple Amanda directories, please pick one by letter: - A. 20001113 - B. 20001114 - Select directories to flush [A..B]: [ALL] all - - Flushing dumps in 20001113, 20001114, - today: 20001117 - to tape drive /dev/rmt/0mn. - Expecting tape DMP014 or a new tape. (The last dumps were to tape DMP013) - Are you sure you want to do this? yes - Running in background, you can log off now. - You'll get mail when amflush is finished. - - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8), amdump(8) -------------------------------------------------------------------------------- - -Prev Up Next -amfetchdump Home amgetconf - diff --git a/docs/amgetconf.8.txt b/docs/amgetconf.8.txt index af20932..e69de29 100644 --- a/docs/amgetconf.8.txt +++ b/docs/amgetconf.8.txt @@ -1,113 +0,0 @@ - - amgetconf -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amgetconf  look up amanda.conf variables - -Synopsis - -amgetconf [config] [--list] parameter [ -o configoption]... - -DESCRIPTION - -Amgetconf looks up parameters in amanda.conf, the Amanda configuration file, or -from the build and runtime environment, and returns their corresponding value. -If config is not specified, amgetconf assumes it is being run from the -configuration directory and that amanda.conf is present. -If parameter begins with build., the (case insensitive) string following the -period is a build environment variable. Variables without a value (e.g. XFSDUMP -on a system that does not support that type of file system) will not report an -error and will return an empty string as the value. Flag variables (e.g. -USE_AMANDAHOSTS) will return 1 if the flag is set or an empty string if it is -not. -If parameter begins with dbopen., the string following the period is a program -name and an Amanda debug file will be created for the caller. The name of the -file is returned. -If parameter begins with dbclose., the string following the period is a program -name previously used with dbopen., followed by a colon (:) and the previously -opened file name. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - --list - The parameter must be 'tapetype', 'dumptype, 'holdingdisk' or - 'interface'. It will output, one by line, the list of identifier for the - parameter. - - - --list tapetype - Output the list of tapetype, one by line. - - --list dumptype - Output the list of dumptype, one by line. - - --list holdingdisk - Output the list of holdingdisk, one by line. - - --list interface - Output the list of interface, one by line. - - - parameter - It could be one of the below format: - - - runtapes - - DUMPTYPE:no-compress:compress - - TAPETYPE:HP-DAT:length - - INTERFACE:local:use - - HOLDINGDISK:hd1:use - - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -EXAMPLE - -Find out the path to the log file directory: - -% amgetconf daily logdir -/usr/local/etc/amanda//daily -Find out the current tape type: - -% amgetconf daily tapetype -DLT4000-IV -Find out the default configuration directory: - -% amgetconf daily build.CONFIG_DIR -/usr/local/etc/amanda/ -Create, use and close a debug file in a script: - -% set debug_file = `amgetconf daily dbopen.myscript` -% echo debug information >> $debug_file -% amgetconf daily dbclose.myscript:$debug_file - -MESSAGES - - - - amgetconf: no such parameter param - Parameter param is not a known keyword (e.g. not a valid amanda.conf - keyword). - - -SEE ALSO - -amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -amflush Home amlabel - diff --git a/docs/amlabel.8.txt b/docs/amlabel.8.txt index 89a0985..e69de29 100644 --- a/docs/amlabel.8.txt +++ b/docs/amlabel.8.txt @@ -1,100 +0,0 @@ - - amlabel -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amlabel  label an Amanda tape - -Synopsis - -amlabel [-f ] config label [slot slot] [ -o configoption]... - -DESCRIPTION - -All Amanda tapes must be pre-labeled before they are used. Amanda verifies the -label in amdump and amflush before writing to make sure the proper tape is -loaded. -Amlabel writes an Amanda label on the tape in the device specified by the -amanda.conf file in /usr/local/etc/amanda/config. Label may be any string that -does not contain whitespace and that matches the amanda.conf labelstr regular -expression option. It is up to the system administrator to define a naming -convention. -Amlabel appends the new tape to the tapelist file so it will be used by Amanda -before it reuses any other tapes. When you amlabel multiple tapes, they will be -used in the order you amlabel them. -Amlabel will not write the label if the tape contains an active Amanda tape or -if the label specified is on an active tape. The -f (force) flag bypasses these -verifications. -An optional slot may be specified after the tape label. If a tape changer is in -use, amlabel will label the tape in the specified slot instead of the currently -loaded tape. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -EXAMPLE - -Write an Amanda label with the string "DMP000" on the tape loaded in the device -named in the tapedev option in /usr/local/etc/amanda/daily/amanda.conf: - - % amlabel daily DMP000 - -Label the tape in slot 3 of the currently configured tape changer with the -string "DMP003": - - % amlabel daily DMP003 slot 3 - - -MESSAGES - - - - label label doesn't match labelstr str - Label label on the command line does not match the labelstr regular - expression str from amanda.conf. - - label label already on a tape - Label label is already listed as an active Amanda tape. - - no tpchanger specified in path , so slot command invalid - The command line has the slot parameter but the amanda.conf file in path - does not have a tape changer configured. - - reading label label, tape is in another amanda configuration - This tape appears to be a valid Amanda tape, but label does not match - labelstr for this configuration so it is probably part of a different - Amanda configuration. - - reading label label, tape is active - Tape label appears to already be part of this Amanda configuration and - active, i.e. has valid data on it. - - no label found, are you sure tape is non-rewinding? - While checking that the label was written correctly, amlabel got an error - that might be caused by mis-configuring Amanda with a rewinding tape - device name instead of a non-rewinding device name for tape. - - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8) amdump(8) amflush(8) -------------------------------------------------------------------------------- - -Prev Up Next -amgetconf Home ammt - diff --git a/docs/ammt.8.txt b/docs/ammt.8.txt index 353ef27..e69de29 100644 --- a/docs/ammt.8.txt +++ b/docs/ammt.8.txt @@ -1,118 +0,0 @@ - - ammt -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -ammt  Amanda version of mt - -Synopsis - -ammt [-d ] [ -f | -t | device ] command [count] - -DESCRIPTION - -Ammt provides just enough of the standard UNIX mt command for the needs of -Amanda. This is handy when doing a full restore and the standard mt program has -not yet been found. -Ammt also provides access to the Amanda output drivers that support various -tape simulations. -See the amanda(8) man page for more details about Amanda. See the OUTPUT -DRIVERS section of amanda(8) for more information on the Amanda output drivers. - -OPTIONS - - - - -d - Turn on debugging output. - - -fdevice - Access tape device device. If not specified, the TAPE environment - variable is used. - - -tdevice - Same as -f. - - commandcount - Which command to issue, and an optional count of operations. - - -COMMANDS - -Each command may be abbreviated to whatever length makes it unique. - - - eof|weofcount - Write count (default: 1) end of file marks (tapemarks). - - fsfcount - Skip forward count (default: 1) files. - - bsfcount - Skip backward count (default: 1) files. - - asfcount - Position to file number count (default: 0) where zero is beginning of - tape. This is the same as a rewind followed by a fsf count. - - rewind - Rewind to beginning of tape. - - offline|rewoffl - Rewind to beginning of tape and unload the tape from the drive. - - status - Report status information about the drive. Which data reported, and what - it means, depends on the underlying operating system, and may include: - - - ONLINE - Indicates the drive is online and ready. - - OFFLINE - Indicates the drive is offline or not ready. - - BOT - Indicates the drive is at beginning of tape. - - EOT - Indicates the drive is at end of tape. - - PROTECTED - Indicates the tape is write protected. - - ds - Device status. - - er - Error register. - - fileno - Current tape file number. - - blkno - Current tape block number file. - - - -Note - -Many systems only report good data when a tape is in the drive and ready. - -AUTHOR - -Marc Mengel , John R. Jackson : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -amlabel Home amoverview - diff --git a/docs/amoverview.8.txt b/docs/amoverview.8.txt index a5f93e6..e69de29 100644 --- a/docs/amoverview.8.txt +++ b/docs/amoverview.8.txt @@ -1,97 +0,0 @@ - - amoverview -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amoverview  display file systems processed by Amanda over time - -Synopsis - -amoverview [[-config ] config ] [-hostwidth width] [-diskwidth width] [- -skipmissed] [-last] [-num0] [-togo0] [-verbose] - -DESCRIPTION - -Amoverview displays a chart showing hosts and file systems processed by Amanda -along with the backup level performed each day. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - -config config - Use configuration config instead of configuration daily. - - -hostwidth width - Set host field column width to width characters instead of 8. - - -diskwidth width - Set disk field column width to width characters instead of 20. - - -skipmissed - Compacts the output by only printing stats for the days Amanda actually - ran. - - -last - Outputs the last status of each disk at the start. Useful for long - tapecycles and/or sparse reports. - - -num0 - Outputs the number of level 0 dumps for each disk. - - -togo0 - Outputs the number of runs until the last level 0 dump is overwritten. - - -verbose - Amoverview can take a long while on large systems. This option reports - intermediate steps while it is working. - - -RESULTS - -amoverview is a summary of the output of " amadmin find ". When the -last column of amadmin find contains anything other than "OK", amoverview -translates this into "E" for that day. -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. -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. -You can also have a double code if you have two tapes in the changer and Amanda -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). - -EXAMPLE - -This shows the /home file system on host2 was backed up at level 3 on the 8th, -9th and 10th of December, had a full backup on the 11th, a level 1 on the 12th -and a level 2 on the 13th. - - # amoverview - date 12 12 12 12 12 12 - host disk 08 09 10 11 12 13 - - host1 / 0 1 1 1 1 1 - host1 /var 0 1 1 1 1 1 - host2 / 1 1 1 1 1 0 - host2 /home 3 3 3 0 1 2 - host2 /opt 1 1 1 1 1 1 - host2 /var 1 1 0 1 1 1 - - -SEE ALSO - -amadmin(8), amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -ammt Home amplot - diff --git a/docs/amplot.8.txt b/docs/amplot.8.txt index bba73ea..e69de29 100644 --- a/docs/amplot.8.txt +++ b/docs/amplot.8.txt @@ -1,99 +0,0 @@ - - amplot -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amplot  visualize the behavior of Amanda - -Synopsis - -amplot [-b ] [-c ] [-e ] [-g ] [-l ] [-p ] [ -t T ] amdump_files - -DESCRIPTION - -Amplot reads an amdump output file that Amanda generates each run (e.g. -amdump.1) and translates the information into a picture format that may be used -to determine how your installation is doing and if any parameters need to be -changed. Amplot also prints out amdump lines that it either does not understand -or knows to be warning or error lines and a summary of the start, end and total -time for each backup image. -Amplot is a shell script that executes an awk program (amplot.awk) to scan the -amdump output file. It then executes a gnuplot program (amplot.g) to generate -the graph. The awk program is written in an enhanced version of awk, such as -GNU awk (gawk version 2.15 or later) or nawk. -During execution, amplot generates a few temporary files that gnuplot uses. -These files are deleted at the end of execution. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - -b - Generate b/w postscript file (need -p). - - -c - Compress amdump_files after plotting. - - -e - Extend the X (time) axis if needed. - - -g - Direct gnuplot output directly to the X11 display (default). - - -p - Direct postscript output to file YYYYMMDD.ps (opposite of -g). - - -l - Generate landscape oriented output (needs -p). - - -tT - Set the right edge of the plot to be T hours. - -The amdump_files may be in various compressed formats (compress, gzip, pact, -compact). - -INTERPRETATION - -The figure is divided into a number of regions. There are titles on the top -that show important statistical information about the configuration and from -this execution of amdump. In the figure, the X axis is time, with 0 being the -moment amdump was started. The Y axis is divided into 5 regions: -QUEUES: How many backups have not been started, how many are waiting on space -in the holding disk and how many have been transferred successfully to tape. -%BANDWIDTH: Percentage of allowed network bandwidth in use. -HOLDING DISK: The higher line depicts space allocated on the holding disk to -backups in progress and completed backups waiting to be written to tape. The -lower line depicts the fraction of the holding disk containing completed -backups waiting to be written to tape including the file currently being -written to tape. The scale is percentage of the holding disk. -TAPE: Tape drive usage. -%DUMPERS: Percentage of active dumpers. -The idle period at the left of the graph is time amdump is asking the machines -how much data they are going to dump. This process can take a while if hosts -are down or it takes them a long time to generate estimates. - -AUTHOR - -Olafur Gudmundsson , Trusted Information Systems, formerly at -University of Maryland, College Park: Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -BUGS - -Reports lines it does not recognize, mainly error cases but some are legitimate -lines the program needs to be taught about. - -SEE ALSO - -amanda(8), amdump(8), gawk(1), nawk(1), awk(1), gnuplot(1), sh(1), compress(1), -gzip(1) -------------------------------------------------------------------------------- - -Prev Up Next -amoverview Home amrecover - diff --git a/docs/amrecover.8.txt b/docs/amrecover.8.txt index b0f5373..e69de29 100644 --- a/docs/amrecover.8.txt +++ b/docs/amrecover.8.txt @@ -1,368 +0,0 @@ - - amrecover -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amrecover  Amanda index database browser - -Synopsis - -amrecover [-C config] [-s index-server] [-t tape-server] [-d tape-device] [ - -o configoption]... - -DESCRIPTION - -Amrecover browses the database of Amanda index files to determine which tapes -contain files to recover. Furthermore, it is able to recover files. -In order to restore files in place, you must invoke amrecover from the root of -the backed up filesystem, or use lcd to move into that directory, otherwise a -directory tree that resembles the backed up filesystem will be created in the -current directory. See the examples below for details. -Amrecover will read the amanda-client.conf file and the config/amanda- -client.conf file. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - -Note - -The Default values are those set at compile-time. Use amrestore to recover -client-encrypted or client-custom-compressed tapes. - - - [ -C ] config - Amanda configuration. - - -s index-server - Host that runs the index daemon. - - -t tape-server - Host that runs the tape server daemon. - - -d tape-device - Tape device to use on the tape server host. - - -o clientconfigoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -COMMANDS - -Amrecover connects to the index server and then presents a command line prompt. -Usage is similar to an ftp client. The GNU readline library is used to provide -command line history and editing if it was built in to amrecover. -The purpose of browsing the database is to build up a restore list of files to -be extracted from the backup system. The following commands are available: - - - sethost hostname - Specifies which host to look at backup files for (default: the local - host). - - setdate YYYY-MM-DD-HH-MM[-SS] | YYYY-MM-DD - Set the restore time (default: now). File listing commands only return - information on backup images for this day, for the day before with the - next lower dump level, and so on, until the most recent level 0 backup on - or before the specified date is encountered. - For example, if: - - 1996-07-01 was a level 0 backup - 1996-07-02 through 1996-07-05 were level 1 backups - 1996-07-06 through 1997-07-08 were level 2 backups - then the command setdate 1997-07-08-00 would yield files from the - following days: - - 1997-07-08 (the latest level 2 backup) - 1997-07-05 (the latest level 1 backup) - 1997-07-01 (the latest level 0 backup) - Only the most recent version of a file will be presented. - The following abbreviated date specifications are accepted: - - - --MM-DD - dates in the current year - - ---DD - dates in the current month of the current year - - - - - setdisk diskname [mountpoint] - Specifies which disk to consider (default: the disk holding the working - directory where amrecover is started). It can only be set after the host - is set with sethost. Diskname is the device name specified in the - amanda.conf or disklist configuration file. The disk must be local to the - host. If mountpoint is not specified, all pathnames will be relative to - the (unknown) mount point instead of full pathnames. - - listhost [diskdevice] - List all host - - listdisk [diskdevice] - List all diskname - - settape [[server]:][tapedev|default] - Specifies the host to use as the tape server, and which of its tape - devices to use. If the server is omitted, but the colon is not, the - server name reverts to the configure-time default. If the tape device is - omitted, it remains unchanged. To use the default tape device selected by - the tape server, the word default must be specified. If no argument is - specified, or the argument is an empty string, no changes occur, and the - current settings are displayed. - If you want amrecover to use your changer, the tapedev must be equal to - the amrecover_changer setting on the server. - If you need to change the protocol (tape:, rait:, file:, null:) then you - must specify the hostname. - - settape 192.168.0.10:file:/file1 - - You can change the tape device when amrecover ask you to load the tape: - - Load tape DMP014 now - Continue? [Y/n/t]: t - Tape device: server2:/dev/nst2 - Continue? [Y/n/t]: Y - Using tape /dev/nst2 from server server2. - - - - - setmode mode - Set the extraction mode for Samba shares. If mode is smb, shares are sent - to the Samba server to be restored back onto the PC. If mode is tar, they - are extracted on the local machine the same way tar volumes are - extracted. - - mode - Displays the extracting mode for Samba shares. - - history - Show the backup history of the current host and disk. Dates, levels, - tapes and file position on tape of each backup are displayed. - - pwd - Display the name of the current backup working directory. - - cd dir - Change the backup working directory to dir. If the mount point was - specified with setdisk, this can be a full pathname or it can be relative - to the current backup working directory. If the mount point was not - specified, paths are relative to the mount point if they start with "/", - otherwise they are relative to the current backup working directory. The - dir can be a shell style wildcards. - - cdx dir - Like the cd command but allow regular expression. - - lpwd - Display the amrecover working directory. Files will be restored under - this directory, relative to the backed up filesystem. - - lcd path - Change the amrecover working directory to path. - - ls - List the contents of the current backup working directory. See the - description of the setdate command for how the view of the directory is - built up. The backup date is shown for each file. - - add item1 item2 ... - Add the specified files or directories to the restore list. Each item may - have shell style wildcards. - - addx item1 item2 ... - Add the specified files or directories to the restore list. Each item may - be a regular expression. - - delete item1 item2 ... - Delete the specified files or directories from the restore list. Each - item may have shell style wildcards. - - deletex item1 item2 ... - Delete the specified files or directories from the restore list. Each - item may be a regular expression. - - list file - Display the contents of the restore list. If a file name is specified, - the restore list is written to that file. This can be used to manually - extract the files from the Amanda tapes with amrestore. - - clear - Clear the restore list. - - quit - Close the connection to the index server and exit. - - exit - Close the connection to the index server and exit. - - extract - Start the extract sequence (see the examples below). Make sure the local - working directory is the root of the backed up filesystem, or another - directory that will behave like that. Use lpwd to display the local - working directory, and lcd to change it. - - help - Display a brief list of these commands. - - -EXAMPLES - -The following shows the recovery of an old syslog file. - - # cd /var/log - # ls -l syslog.7 - syslog.7: No such file or directory - # amrecover - AMRECOVER Version 2.4.2. Contacting server on oops ... - 220 oops Amanda index server (2.4.2) ready. - Setting restore date to today (1997-12-09) - 200 Working date set to 1997-12-09. - 200 Config set to daily. - 200 Dump host set to this-host.some.org. - $CWD '/var/log' is on disk '/var' mounted at '/var'. - 200 Disk set to /var. - /var/log - WARNING: not on root of selected filesystem, check man-page! - amrecover> ls - 1997-12-09 daemon.log - 1997-12-09 syslog - 1997-12-08 authlog - 1997-12-08 sysidconfig.log - 1997-12-08 syslog.0 - 1997-12-08 syslog.1 - 1997-12-08 syslog.2 - 1997-12-08 syslog.3 - 1997-12-08 syslog.4 - 1997-12-08 syslog.5 - 1997-12-08 syslog.6 - 1997-12-08 syslog.7 - amrecover> add syslog.7 - Added /log/syslog.7 - amrecover> lpwd - /var/log - amrecover> lcd .. - /var - amrecover> extract - - Extracting files using tape drive /dev/nst0 on host 192.168.0.10 - - The following tapes are needed: DMP014 - - Restoring files into directory /var - Continue? [Y/n]: y - - Load tape DMP014 now - Continue? [Y/n/t]: y - set owner/mode for '.'? [yn] n - amrecover> quit - 200 Good bye. - # ls -l syslog.7 - total 26 - -rw-r--r-- 1 root other 12678 Oct 14 16:36 syslog.7 - -If you do not want to overwrite existing files, create a subdirectory to run -amrecover from and then move the restored files afterward. - - # cd /var - # (umask 077 ; mkdir .restore) - # cd .restore - # amrecover - AMRECOVER Version 2.4.2. Contacting server on oops ... - ... - amrecover> cd log - /var/log - amrecover> ls - ... - amrecover> add syslog.7 - Added /log/syslog.7 - amrecover> lpwd - /var/.restore - amrecover> extract - - Extracting files using tape drive /dev/nst0 on host 192.168.0.10 - ... - amrecover> quit - 200 Good bye. - # mv -i log/syslog.7 ../log/syslog.7-restored - # cd .. - # rm -fr .restore - -If you need to run amrestore by hand instead of letting amrecover control it, -use the list command after browsing to display the needed tapes. - - # cd /var/log - # amrecover - AMRECOVER Version 2.4.2. Contacting server on oops ... - ... - amrecover> ls - ... - amrecover> add syslog syslog.6 syslog.7 - Added /log/syslog - Added /log/syslog.6 - Added /log/syslog.7 - amrecover> list - TAPE DMP014 LEVEL 0 DATE 1997-12-08 - /log/syslog.7 - /log/syslog.6 - TAPE DMP015 LEVEL 1 DATE 1997-12-09 - /log/syslog - amrecover> quit - -The history command shows each tape that has a backup of the current disk along -with the date of the backup, the level, the tape label and the file position on -the tape. All active tapes are listed, not just back to the most recent full -dump. -Tape file position zero is a label. The first backup image is in file position -one. - - # cd /var/log - # amrecover - AMRECOVER Version 2.4.2. Contacting server on oops ... - ... - amrecover> history - 200- Dump history for config "daily" host "this-host.some.org" disk "/var" - 201- 1997-12-09 1 DMP015 9 - 201- 1997-12-08 1 DMP014 11 - 201- 1997-12-07 0 DMP013 22 - 201- 1997-12-06 1 DMP012 16 - 201- 1997-12-05 1 DMP011 9 - 201- 1997-12-04 0 DMP010 11 - 201- 1997-12-03 1 DMP009 7 - 201- 1997-12-02 1 DMP008 7 - 201- 1997-12-01 1 DMP007 9 - 201- 1997-11-30 1 DMP006 6 - ... - amrecover> quit - - -ENVIRONMENT - -PAGER The ls and list commands will use $PAGER to display the file lists. -Defaults to more if PAGER is not set. -AMANDA_SERVER If set, $AMANDA_SERVER will be used as index-server. The value -will take precedence over the compiled default, but will be overridden by the - -s switch. -AMANDA_TAPE_SERVER If set, $AMANDA_TAPE_SERVER will be used as tape-server. The -value will take precedence over the compiled default, but will be overridden by -the -t switch. - -AUTHOR - -Alan M. McIvor : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8), amanda-client.conf(5), amrestore(8), amfetchdump(8), readline(3) -------------------------------------------------------------------------------- - -Prev Up Next -amplot Home amreport - diff --git a/docs/amreport.8.txt b/docs/amreport.8.txt index 21c0b0c..e69de29 100644 --- a/docs/amreport.8.txt +++ b/docs/amreport.8.txt @@ -1,94 +0,0 @@ - - amreport -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amreport  generate a formatted output of statistics for an Amanda run - -Synopsis - -amreport [config] [-i] [-M address] [-l logfile] [-f outputfile] [- -p postscriptfile] [ -o configoption]... - -DESCRIPTION - -Amreport generates a summary report of an amanda(8) backup run. If no -configuration name is specified, amanda.conf is read from the current -directory. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - config - Name of the configuration to process. - - -i - Don't email the report. - - -M address - Mail the report to address instead of the mailto value from amanda.conf. - - -l logfile - Name of the log file to parse to generate the report. If a log file is - not specified, it defaults to the file: - -logdir/log -where logdir is the log directory defined in amanda.conf. - - - -f outputfile - Normally, amreport sends the report via e-mail to the mailto user as - defined in the amanda.conf file. If outputfile is specified, then the - report is put in outputfile. - - -p postscriptfile - Send the postscript output to the file postscriptfile instead of to the - lpr(1) command. This option has an effect only if the lbl-templ directive - is specified in amanda.conf. - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -LABEL PRINTING - -Amanda can print postscript labels describing the contents of tape(s) written -in a run. The labels are designed to be folded and inserted into the tape case -along with the tape or hole punched and put in a 3-ring binder. Various label -templates are provided to format data for different tape sizes. -The information printed varies slightly between label templates due to size -constraints. Labels contain one line for each host/file-system pair and may -also contain the file number on the tape, the level of the dump, the original -size of the dump and the size of the (possibly compressed) tape file. -Add the lbl-templ parameter to the tapetype definition in amanda.conf to enable -labels. If you don't add this line to your tapetype definition, amreport will -not print tape labels. -You may use the remap='I'>printer keyword in amanda.conf to print to other than -the system default printer. - -TEMPLATES - -Amanda provides label templates for the following tape types. These are pretty -generic labels and should be easy to customize for other tape types or -particular site needs. - -* ExaByte 8mm tapes -* DAT 4mm tapes -* DLT tapes -* 3-ring binder -The 3-ring binder type is the most generic. It may be used to make a hardcopy -log of the tapes. - -SEE ALSO - -amanda(8), amflush(8) -------------------------------------------------------------------------------- - -Prev Up Next -amrecover Home amrestore - diff --git a/docs/amrestore.8.txt b/docs/amrestore.8.txt index 2d8add1..e69de29 100644 --- a/docs/amrestore.8.txt +++ b/docs/amrestore.8.txt @@ -1,150 +0,0 @@ - - amrestore -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amrestore  extract backup images from an Amanda tape - -Synopsis - -amrestore [ -r | -c | -C ] [ -b | blocksize ] [ -f | fileno ] [ -l | label ] [- -p] [-h] tapedevice | holdingfile [ hostname [ diskname [ datestamp [ hostname -[ diskname [ datestamp | ... ]]]]]] - -DESCRIPTION - -Amrestore extracts backup images from the tape mounted on tapedevice or from -the holding disk file holdingfile that match hostname, diskname and datestamp -patterns given on the command line. The tape or holding file must be in a -format written by the amdump or amflush program. -If diskname is not specified, all backups on the tape for the previous hostname -are candidates. If datestamp is not specified, all backups on the tape for the -previous hostname and diskname are candidates. If no hostname, diskname or -datestamp are specified, every backup on the tape is a candidate. -Hostname and diskname are special expressions described in the "HOST & DISK -EXPRESSION" section of amanda(8). Datestamp are special expression described in -the "DATESTAMP EXPRESSION" section of amanda(8). For example, if diskname is -"rz[23]a", it would match disks rz2a and rz3a. -Datestamp is useful if amflush writes multiple backup runs to a single tape. -Unless -p is used, candidate backup images are extracted to files in the -current directory named: -hostname.diskname.datestamp.dumplevel -Amrestore doesn't use a changer, it restore from the tape already loaded in the -tapedevice. - -OPTIONS - - - - -b - Set the blocksize used to read the tape or holding file. All holding - files must be read with a blocksize of 32 KBytes. Amrestore should - normally be able to determine the blocksize for tapes on its own and not - need this parameter. - -The default is 32 KBytes. - - - -f - Do a rewind followed by a fsf before trying to restore an image. - - -l - Check if we restoring from the tape with the right label - - -p - Pipe output. The first matching backup image is sent to standard output, - which is normally a pipe to restore or tar, then amrestore quits. It may - be run again to continue selecting backups to process. Make sure you - specify the no-rewind tapedevice when doing this. - -Note: restore may report "short read" errors when reading from a pipe. Most -versions of restore support a blocking factor option to let you set the read -block size, and you should set it to 2. See the example below. - - - -c - Compress output using the fastest method the compression program - provides. Amrestore normally writes output files in a format understood - by restore or tar, even if the backups on the tape are compressed. With - the -c or -C option, amrestore writes all files in compressed format, - even if the backups on the tape are not compressed. Output file names - will have a .Z or .gz extension depending on whether compress or gzip is - the preferred compression program. This option is useful when the current - directory disk is small. - - -C - Compress output using the best method the compression program provides - (may be very CPU intensive). See the notes above about the -c option. - - -r - Raw output. Backup images are output exactly as they are on the tape, - including the amdump headers. Output file names will have a .RAW - extension. This option is only useful for debugging and other strange - circumstances. - - -h - Header output. The tape header block is output at the beginning of each - file. This is like -r except -c or -C may also be used to compress the - result. Amrecover uses the header to determine the restore program to - use. - -If a header is written (-r or -h), only 32 KBytes are output regardless of the -tape blocksize. This makes the resulting image usable as a holding file. - - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - - -EXAMPLES - -The following does an interactive restore of disk rz3g from host seine, to -restore particular files. Note the use of the b option to restore, which causes -it to read in units of two 512-byte blocks (1 Kbyte) at a time. This helps keep -it from complaining about short reads. - -% amrestore -p /dev/nrmt9 seine rz3g | restore -ivbf 2 - -The next example extracts all backup images for host seine. This is the usual -way to extract all data for a host after a disk crash. - -% amrestore /dev/nrmt9 seine -If the backup datestamp in the above example is 19910125 and seine has level 0 -backups of disks rz1a and rz1g on the tape, these files will be created in the -current directory: - -seine.rz1a.19910125.0 -seine.rz1g.19910125.0 -You may also use amrestore to extract a backup image from a holding disk file -that has not yet been flushed to tape: - -% amrestore -p /amanda/20001119/seine.rz1a.2 | restore -ivbf 2 - -Amrestore may be used to generate a listing of images on a tape: - -% mt -f /dev/nrmt9 rewind -% amrestore -p /dev/nrmt9 no-such-host > /dev/null -This asks amrestore to find images for host no-such-host. It will not find any -entries that match, but along the way will report each image it skips. - -CAVEATS - -GNU-tar must be used to restore files from backup images created with the -GNUTAR dumptype. Vendor tar programs sometimes fail to read GNU tar images. - -AUTHOR - -James da Silva, , University of Maryland, College Park: -Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8), amdump(8), amflush(8), tar(1) restore(8) -------------------------------------------------------------------------------- - -Prev Up Next -amreport Home amrmtape - diff --git a/docs/amrmtape.8.txt b/docs/amrmtape.8.txt index ffe340a..e69de29 100644 --- a/docs/amrmtape.8.txt +++ b/docs/amrmtape.8.txt @@ -1,62 +0,0 @@ - - amrmtape -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amrmtape  remove a tape from the Amanda database - -Synopsis - -amrmtape [-n ] [-v ] [-q ] [-d ] config label - -DESCRIPTION - -Amrmtape invalidates the contents of an existing backup tape in the -configuration database. This is meant as a recovery mechanism when a good -backup is damaged either by faulty hardware or user error, e.g. the tape is -eaten by the drive or is overwritten. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - - - - -n - Generate new tapelist and database files with label removed, but leave - them in /tmp and do not update the original copies. - - -v - List backups of hosts and disks that are being discarded. Enabled by - default. - - -q - Opposite of -v. - - -d - Run in debugging mode so all executed commands are shown. - - -EXAMPLE - -Remove tape labeled DAILY034 from the DailySet1 configuration. - - # amrmtape DailySet1 DAILY034 - - -AUTHOR - -Adrian T. Filipi-Martin : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amadmin(8), amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -amrestore Home amstatus - diff --git a/docs/amstatus.8.txt b/docs/amstatus.8.txt index 2f0e1c3..e69de29 100644 --- a/docs/amstatus.8.txt +++ b/docs/amstatus.8.txt @@ -1,80 +0,0 @@ - - amstatus -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amstatus  display the state of an Amanda run - -Synopsis - -amstatus [--config ] config [ --file amdumpfile ] [--summary ] [--dumping ] [-- -waitdumping ] [--waittaper ] [--dumpingtape ] [--writingtape ] [--finished ] [- --failed ] [--estimate ] [--gestimate ] [--stats ] - -DESCRIPTION - -Amstatus gives the current state of the Amanda run specified by the config -configuration. If there is no active Amanda running, it summarizes the result -of the last run. It may also be used to summarize the results of a previous -run. -See the amanda(8) man page for more details about Amanda. - -OPTIONS - -All options may be abbreviated to the shortest non-ambiguous sub-string. If no -options are given, everything is displayed. - - - [--config] config - Specify the Amanda configuration you want to display the state for. - - --file amdumpfile - Specify an alternate file instead of the amdump or amflush file. - - --summary - Display a summary of the state of the run. - - --dumping - Display all partitions that are dumping. - - --waitdumping|wdumping - Display all partitions that are waiting to be dumped. - - --waittaper|wtaper - Display all partitions dumped that are waiting to be written to tape. - - --dumpingtape|dtape - Display all partitions that are dumping directly to tape. - - --writingtape|wtape - Display all partitions that are writing to tape. - - --finished - Display all partitions that are dumped and written to tape. - - --failed|error - Display all partitions that failed. - - --estimate - Display all partitions whose estimate is finished. Works only during the - estimate phase. - - --gestimate|gettingestimate - Display all partitions whose estimate is not finished. Works only during - the estimate phase. - - --stats|statistics - Display statistics about active-time of taper and dumpers. - - -SEE ALSO - -amanda(8), amcheck(8), amdump(8), amrestore(8), amadmin(8) -------------------------------------------------------------------------------- - -Prev Up Next -amrmtape Home amtape - diff --git a/docs/amtape.8.txt b/docs/amtape.8.txt index fe67380..e69de29 100644 --- a/docs/amtape.8.txt +++ b/docs/amtape.8.txt @@ -1,117 +0,0 @@ - - amtape -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amtape  user interface to Amanda tape changer controls - -Synopsis - -amtape config command [command_options...] [-oconfigoption]... - -DESCRIPTION - -Amtape performs tape changer control operations. It uses the underlying tape -changer script defined by the tpchanger option for a particular Amanda -configuration as specified by the config argument. -Tape changers maintain a notion of the current and next slot for each -configuration. These may or may not correspond to an actual physical state of -the device, but do tend to minimize searching through the tape storage slots. -If the desired tape is in the current slot, it is likely the next tape needed -is in the next slot rather than at some random position in the storage slots. -See the amanda(8) man page for more details about Amanda. - -COMMANDS - - - - reset - Reset the tape changer to a known state. The current slot is set to the - first slot. Other device-specific side effects may occur. Some gravity - stackers need to be reset to the top position by hand. This command - notifies Amanda the stacker is back in that position. - - eject - If a tape is loaded in the drive, it is ejected and returned to the slot - from which it was loaded. - - clean - If a cleaning tape is defined for the changer, it is used to clean the - drive. - - show - Show the contents of all slots. This can be slow. - - label label - Search for and load the Amanda tape with label label. - - taper - Perform the taper scan algorithm. Load the next tape in the - configuration's tape sequence, or a fresh tape with a suitable label. - - device - Display the name of the current tape device on stdout. - - current - Display the current slot. - - update - Update the changer label database, if it has one, to match the tapes now - available. - - slot slot - Eject any tape in the drive and put it away, then load the tape from slot - slot and reset current. - - slot current - Eject any tape in the drive and put it away, then load the tape from the - current slot. - - slot prev - Eject any tape in the drive and put it away, then load the tape from the - previous slot and reset current. - - slot next - Eject any tape in the drive and put it away, then load the tape from the - next slot and reset current. - - slot first - Eject any tape in the drive and put it away, then load the tape from the - first slot and reset current. - - slot last - Eject any tape in the drive and put it away, then load the tape from the - last slot and reset current. - - slot advance - Eject any tape in the drive and put it away. Advance current to the next - tape, but do not load it. - - -o configoption - See the "CONFIGURATION OVERRIDE" section in amanda(8). - -This is useful with non-gravity stackers to unload the last tape used and set -up Amanda for the next run. If you just use eject, the current tape will be -mounted again in the next run, where it will be rejected as being still in use, -ejected and the next tape requested. Using slot next followed by eject does an -unnecessary mount. -Note: most changers optimize the slot commands to not eject the loaded tape if -it is the one being requested. - -AUTHOR - -James da Silva, : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -amstatus Home amtapetype - diff --git a/docs/amtapetype.8.txt b/docs/amtapetype.8.txt index 7813ddd..e69de29 100644 --- a/docs/amtapetype.8.txt +++ b/docs/amtapetype.8.txt @@ -1,100 +0,0 @@ - - amtapetype -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amtapetype  generate a tapetype definition. - -Synopsis - -amtapetype [-h ] [-c ] [-o ] [-b blocksize] -e estsize [-f tapedev] [- -t typename] - -DESCRIPTION - -amtapetype generates a tapetype entry for Amanda. - -OPTIONS - - - - -h - Display an help message. - - -c - Run only the hardware compression detection heuristic test and stop. This - takes a few minutes only. - - -o - Overwrite the tape, even if it's an Amanda tape. - - -bblocksize - record block size (default: 32k) - - -eestsize - estimated tape size (No default!) - - -ftapedev - tape device name (default: $TAPE) The device to perform the test. - - -ttypename - tapetype name (default: unknown-tapetype) - - -EXAMPLE - -Generate a tapetype definition for your tape device: - -% amtapetype -f /dev/nst0 -e 150G - -NOTES - -Hardware compression is detected by measuring the writing speed difference of -the tape drive when writing an amount of compressable and uncompresseable data. -It does not rely on the status bits of the tape drive or the OS parameters. If -your tape drive has very large buffers or is very fast, the program could fail -to detect hardware compression status reliably. -During the first pass, it writes files that are estimated to be 1% of the -expected tape capacity. It gets the expected capacity from the -e command line -flag, or defaults to 1 GByte. In a perfect world (which means there is zero -chance of this happening with tapes :-), there would be 100 files and 100 file -marks. -During the second pass, the file size is cut in half. In that same fairyland -world, this means 200 files and 200 file marks. -In both passes the total amount of data written is summed as well as the number -of file marks written. At the end of the second pass, quoting from the code: -* Compute the size of a filemark as the difference in data written between pass -1 and pass 2 divided by the difference in number of file marks written between -pass 1 and pass 2. ... * -So if we wrote 1.0 GBytes on the first pass and 100 file marks, and 0.9 GBytes -on the second pass with 200 file marks, those additional 100 file marks in the -second pass took 0.1 GBytes and therefor a file mark is 0.001 GBytes (1 MByte). -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). -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. -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 amtapetype to think -those extra file marks in pass 2 actually took up space. -It also explains why amtapetype used to sometimes report a negative file mark -size if the math happened to end up that way. When that happens now we just -report it as zero. - -SEE ALSO - -amanda(8) -------------------------------------------------------------------------------- - -Prev Up Next -amtape Home amtoc - diff --git a/docs/amtoc.8.txt b/docs/amtoc.8.txt index 4260b7f..e69de29 100644 --- a/docs/amtoc.8.txt +++ b/docs/amtoc.8.txt @@ -1,98 +0,0 @@ - - amtoc -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amtoc  generate TOC (Table Of Contents) for an Amanda run - -Synopsis - -amtoc [-a ] [-i ] [-t ] [ -f file ] [ -s subs ] [-w ] [-- ] logfile - -DESCRIPTION - -Amtoc generates a table of contents for an Amanda run. It's a perl script (if -you don't have perl, install it first!). - -OPTIONS - - - - -a - The output file name will be label-of-the-tape.toc in the same directory - as logfile. - - -i - Display help about amtoc. - - -t - Generate the output in tabular form. - - -f file - Write the output to a file ('-' for stdout). - - -s subs - Evaluate the output file name from subs, with $_ set to label-of-the- - tape. The -a option is equivalent to -s 's/$_/.toc/'. - - -w - Separate tapes with form-feeds and display blank lines before totals. - - -- - Marks the last option so the next parameter is the logfile. - - logfile - (use '-' for stdin) - - -OUTPUT FORMAT - -The standard output has five fields separated by two spaces: - -# Server:/partition date level size[Kb] -0 daily-05: 19991005 - - -1 cuisun15:/cuisun15/home 19991005 1 96 -2 cuinfs:/export/dentiste 19991005 1 96 - ... -103 cuisg11:/ 19991005 0 4139136 -103 total: - - 16716288 - - -In tabular format (-t), this would look like: - - # Server:/partition date lev size[Kb] - 0 daily-05: 19991005 - - - 1 cuisun15:/cuisun15/home 19991005 1 96 - 2 cuinfs:/export/dentiste 19991005 1 96 - ... -103 cuisg11:/ 19991005 0 4139136 -103 total: - - 16716288 - - -USAGE - -The easiest way to use it is to run amtoc right after amdump in the cron job: - -amdump daily ; logdir=`amgetconf daily logdir` ; log=`ls -1t $logdir/log.*.[0- -9] | head -1` ; amtoc -a $log -which will generate /usr/local/etc/amanda//daily/tape_label.toc. You may also -want to call amtoc after an amflush. - -SEE ALSO - -amanda(8), amdump(8), amflush(8), amgetconf(8), cron, perl - -AUTHOR - -Nicolas Mayencourt , University of Geneva/ -Switzerland : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion -------------------------------------------------------------------------------- - -Prev Up Next -amtapetype Home amverify - diff --git a/docs/amverify.8.txt b/docs/amverify.8.txt index c4e11f5..e69de29 100644 --- a/docs/amverify.8.txt +++ b/docs/amverify.8.txt @@ -1,47 +0,0 @@ - - amverify -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amverify  check an Amanda tape for errors - -Synopsis - -amverify config [ slot [runtapes]] - -DESCRIPTION - -Amverify reads an Amanda format tape and makes sure each backup image can be -processed by amrestore and, if possible, the appropriate restore program (e.g. -tar). -Amverify runs amrestore on each file of the tape and pipes the output to a -restore program (if available) with an option to create a catalogue of the -backup. The catalogue itself is discarded. Only the success or failure of the -operation itself is reported. -If the backup image cannot be processed by the restore program, e.g. if it was -written on a different operating system, the image is sent through dd to /dev/ -null. This still determines if the tape is readable, but does not do any -internal consistency check on the image. -If config is set up to use a tape changer, the slot argument may be used to -choose the first tape to process. Otherwise, the current slot is used. -The runtapes configuration parameter determines how many tapes are processed -unless it is specified on the command line. -See the amanda(8) man page for more details about Amanda. - -AUTHOR - -Axel Zinser : Original text -Stefan G. Weichinger, , maintainer of the Amanda-documentation: -XML-conversion - -SEE ALSO - -amrestore(8), amanda(8), amverifyrun(8) -------------------------------------------------------------------------------- - -Prev Up Next -amtoc Home amverifyrun - diff --git a/docs/amverifyrun.8.txt b/docs/amverifyrun.8.txt index 59a3bfe..e69de29 100644 --- a/docs/amverifyrun.8.txt +++ b/docs/amverifyrun.8.txt @@ -1,27 +0,0 @@ - - amverifyrun -Prev Chapter 36. The Amanda Manual Pages. Next - -------------------------------------------------------------------------------- - -Name - -amverifyrun  check the tapes written by the last Amanda run - -Synopsis - -amverifyrun config - -DESCRIPTION - -Amverifyrun read the log from the last Amanda run to find the slot of the first -tape used and the number of tapes used. It call amverify with these argument. - -SEE ALSO - -amanda(8), amverify(8) -------------------------------------------------------------------------------- - -Prev Up Next -amverify Home Chapter 37. Web Ressources - diff --git a/docs/chgscsi.txt b/docs/chgscsi.txt index 2ce8b22..e69de29 100644 --- a/docs/chgscsi.txt +++ b/docs/chgscsi.txt @@ -1,266 +0,0 @@ - - Chapter 9. chg-scsi -Prev Part II. About Tapes and Changers Next - -------------------------------------------------------------------------------- - -Chapter 9. chg-scsi - - -Jason X (report real name to ) - -Original version - -Stefan G. Weichinger - -XML-conversion;Updates -AMANDA Core Team - -Table of Contents - - - Command_line_options - - Notes_about_changer.conf - - Amanda's_actual_usage_of_chg-scsi - - Configuration_notes - - Hacking_notes - -Jason's new and improved chg-scsi documentation. -This documentation will also include an occasional reference to the mtx suite -as I have attempted to use chg-zd-mtx. I use mtx often as a fast query tool. -Please also refer to Amanda_Tape_Changer_Support for additional details. -My equipment list is as follows: - -* Redhat 7.0 machine -* - o Dual Processor P-III - o Sony DDS3 tape drive - o lots of hard disk space - -* Quantum/ATL L500 SCSI changer -* DLT tape drive (three possible) -* barcode reader fourteen tape slots - -I base this documentation on the following: - -* mtx version 1.2.16rel -* Amanda version 2.4.3b3 -* SCSI2 specification: X3T9.2/375R revision 10L -* Quantum/ATL Field Service Manual 6321101-03 Ver.3, rel.0 -* Quantum DLT800 Tape system product manual 02 April, 2001 81-60118-04 -* the SCSI bus and IDE interface 2nd ed by Friedhelm Schmidt pub: Addison- - Wesley 1998 - -Note that Quantum/ATL's L-series changers follow the SCSI command set, and do -not use any proprietary commands. Thus, it was fairly simple to make this work. -I had to install Amanda --with-suffixes and setup my server's client side of -things using Amanda-2.4.2p2 --with-suffixes. -Please note that my usage of "barcode" and "barcode reader" throughout this -document really refers to "physical tape identification system". for example: -the EEPROM in the AIT cartridge. - - Command line options - -chg-scsi's command line options: - - -slot - -info - -reset - -eject - -clean - -label - -search - -status - -trace - -inventory - -dumpdb - -scan - -genconf - -Note that chg-scsi is called by Amanda in the context of whatever Amanda -configuration Amanda is currently using. In short, to call chg-scsi by hand, -change to your Amanda configuration directory, then run chg-scsi. --slot command: -this command takes either a slot number, or any one of the following: current, -next, prev, first, last, advance -It then loads the appropriate tape into the drive. -Note that if the tape is already loaded, no changer motion will happen. No -reading of the tape is done here. --info command: -four numbers are printed: - -with chg-scsi, the reversable number is always 1. Searchable is set based on if -a barcode reader is available and working correctly. --reset command: -Tape is unloaded, and slot 0 is loaded. No actual reset command is sent to the -changer. --eject command: -Tape is unloaded, and put back into its original slot. --clean command: -Cleaning tape (if configured) is loaded into the tape. It is probably unloaded -when done. I haven't looked closely at this yet. --label command: -This appears to take the currently loaded tape's barcode and write it to the -labelfile with the given parameter as it's tape header. I have not tested this. --search command: -this only should be used if a barcode reader is present, or emulate barcode is -turned on. -the required parameter is an Amanda tape label. The label searched in the -labelfile. If a barcode is found, then that tape is loaded directly. -I believe the fallback is to search the entire magazine. --status command: -The tape changer is queried, and the results are printed out. Values printed -are what slots exist, are they full or empty, and what volume labels (barcodes) -they are. -Q. what about changers that don't retain current slot? A. this is what the -"statfile" is for. --trace command: -present only for a particular type of changer. --inventory: (this takes a LONG time to do) -unloads tape back to its slot issues command to changer to do an inventory of -itself (read all barcodes...) -loads each tape, retrieves the barcode, and reads the Amanda -label off of the tape itself stores/updates the label database file --dumpdb: -prints out in human readable form the label database contents from the -labelfile. --scan: (aka scanbus) -scans the SCSI generic interfaces (eg: linux sg), and prints out the device -name and the device types. I found that linux didn't classify either of my tape -devices as generic, but this facility did. -USE THIS FOR FINDING VALUE OF SCSItapedev. Be certain though you have the -correct tape drive: I came close to wreaking havoc with my DDS3 drive while it -was flushing Amanda data...and my changer has a DLT drive! Please refer to my -configuration notes below. --genconf: -prints out a SAMPLE changer.conf file. Note that I said sample. except for that -it also does a scanbus. if you have more than one tape drive, please be certain -it is correct as chg-scsi uses the first one it finds. -Please refer to my configuration notes below. - - Notes about changer.conf - -Here, I try to be a bit more clear on what these config values mean. -"number_configs" MUST be the first entry (not counting comments) -"emubarcode" will set this value in chg-scsi regardless of the value you try to -assign it. If you don't want "emubarcode" set, don't list it! -"havebarcode" have barcode is tempered by what devices chg-scsi is aware of. if -chg-scsi doesn't know about your changer explicitly, it will default to a -default changer. the default changer has no barcode reader. -In a patch I plan to post, I have added a generic changer that does use a -barcode. set "changerident" to "genericbarcode" to use this. -"sleep" number of seconds for chg-scsi to wait for a "tape drive ready" command -after loading a new tape. Mine is 140 as I have a DLT tape drive, and my tape -drive manual reports a max of 133 seconds to be ready. -"config" this is a header telling chg-scsi that all values following, up to the -next "config" line apply to this drive number. It is this number that is -refered to in your amanda.conf file as line tapedev -"drivenum" this is the tape drive number in your changer. For a single tape -drive, this is zero. Mine can handle up to three, so I expect I could make this -0, 1, or 2. -"dev" the SCSI device of your tape drive. under linux, in my case it is /dev/ -nst1. This MUST be defined. -"SCSItapedev" The generic SCSI device of your tape drive. this is simply the -generic interface to the device "dev" above. This entry is optional. In my -case, it is /dev/sg2. If this entry exists and is legitimate, then SCSI -commands are formed directly instead of using ioctl commands. -"startuse" "enduse" The start and end slots of your changer. Note that these -also start with zero. -"eject" chg-scsi tells the tape changer to eject. You might need to explicitly -tell the tape drive to unload first. That's what this setting is for. Have you -ever removed a loaded VCR tape by hand? -"changerident" chg-scsi will first read the changer's identification from the -return of the SCSI "inquiry" command. If changerident is set in the -configuration file, the SCSI inquiry's value is overridden. chg-scsi will -attempt to match the value with its built-in changertypes. -"generic" is what the chg-scsi will default to "genericbarcode" is a hack of -mine that forces the changer's barcode reader to work. Note that if your -changer uses a superset of the SCSI command set, this probably won't work. -"L500" is another addition of mine that will enable a quantum/atl L500 to work -correctly. It might even work with an L200. -other values are (taken from the code) - -* C1553A (HP Auto Loader) -* EXB-10e, EXB-120 (Exabyte Robot) -* EXB-85058HE-0000 (Exabyte Tape) -* TDS 1420 (Tandberg Robot) -* VLS DLT, VLS SDX (ADIC VLS DLT Library) -* FastStor DLT (ADIC FastStor DLT Library) -* Scalar DLT 448 (ADIC DLT 448) -* 215 (Spectra Logic TreeFrog) -* Quad 7 (Breece Hill) -* DLT7000, DLT4000 (DLT Tape) - -"debuglevel" setting this to "9:0" is very informative. -"statfile" stores which "slot" that the tape in the drive came from -"labelfile" binary file that stores the tape header and barcode information -cleanmax cleancart cleanfile I have my changer set to autoclean, and the slot -the cleaning cartridge is in is not available for any other use. - - Amanda's actual usage of chg-scsi - -this should be brief: Amanda really only issues "slot next" type commands. -Currently Amanda doesn't ask chg-scsi to load "tape x with label Daily_set023". -the chg-scsi mechanism is there for use, and functions quite well for the user -to load a particular tape. I understand they (the Amanda team) are working on -this. - - Configuration notes - -(assuming one changer with one tape drive!) -in amanda.conf: -set tpchanger to chg-scsi set changerfile to /changer.conf set -tapedev to 0 set changerdev to /dev/ - -* this value is usually listed in the system boot messages or will be printed - via syslog when the appropriate kernel module is loaded. eg: linux modprobe - sg - -in changer.conf: set number_configs to 1 set dev to set debug to 9:0 -run "chg-scsi -scan" from your Amanda configuration directory I get: name /dev/ -sg0 Tape Count 1 name /dev/sg1 Changer Count 2 name /dev/sg2 Tape Count 3 -I set SCSItapedev to /dev/sg0 to test with, then ran chg-scsi -info. Check the -chg-scsi debug file for tapeidentification details. This is where I discoverd -that "sg0" was not the correct tape! -set SCSItapedev to "/dev/" -if you have no barcode, try "changerident generic" if you have a barcode reader -try "changerident genericbarcode" - - Hacking notes - -My hacks are: - -* adding printout of "emubarcode" values in the debug file -* added dlt8000 tape drive to ChangerIO[], and SenseType[] -* added genericbarcode to ChangerIO[], and SenseType[] -* added L500 to ChangerIO[], and SenseType[] -* added a couple of basic sensecodes listed in the SCSI specs for the generic - and genericbarcode tape changers. - -My desires are: - -* modify the sensecode code such that all SCSI devices inherit the standard - SCSI codes and may override or append to them as needed. - - -* modify the configuration reading code and the inquiry command to allow - spaces. eg: my changer displays the following ident data: "L500 6320000" but - I had to create a type called "L500" or else the spaces would throw off the - comparisons. - - -Note - -Refer to http://www.amanda.org/docs/chgscsi.html for the current version of -this document. -------------------------------------------------------------------------------- - -Prev Up Next -Chapter 8. Amanda Tape Changer Home Chapter 10. RAIT (Redundant Array of -Support Inexpensive Tape) Support - diff --git a/docs/dumperapi.txt b/docs/dumperapi.txt index 661fa51..e69de29 100644 --- a/docs/dumperapi.txt +++ b/docs/dumperapi.txt @@ -1,325 +0,0 @@ - - Chapter 23. Amanda dumper API -Prev Part V. Technical Background Next - -------------------------------------------------------------------------------- - -Chapter 23. Amanda dumper API - - -Alexandre Oliva - -Original text -AMANDA Core Team -> - -Stefan G. Weichinger - -XML-conversion;Updates -AMANDA Core Team - -Table of Contents - - - Introduction - - The_Problem - - Overview_of_the_API - - - The_`support'_command - - - The_`selfcheck'_command - - The_`estimate'_and_`estimate-parse'_commands - - The_`backup'_and_`backup-parse'_commands - - The_`index-from-output'_and_`index-from-image'_commands - - The_`restore'_command - - The_`print-command'_command - - Conclusion - - - Introduction - -This is a proposal of a mechanism for Amanda to support arbitrary backup -programs, that relies on a generic backup driver and scripts or programs that -interface with backup programs such as dump, tar, smbclient, and others. It can -also be used to introduce pre- and post-backup commands. -The interface is simple, but supports everything that is currently supported by -Amanda, and it can be consistently extended to support new abstractions that -may be introduced in the backup driver in the future. -This proposal does not imply any modification in the Amanda protocol or in -Amanda servers; only Amanda clients have to be modified. By Amanda clients, we -refer to hosts whose disks are to be backed up; an Amanda server is a host -connected to a tape unit. -Currently (as of release 2.4.1 of Amanda), Amanda clients support three -operations: selfcheck, estimate and backup. -Selfcheck is used by the server program amcheck, to check whether a client is -responding or if there are configuration or permission problems in the client -that might prevent the backup from taking place. -Estimates are requested by the Amanda planner, that runs on the server and -collects information about the expected sizes of backups of each disk at -several levels. Given this information and the amount of available tape space, -the planner can select which disks and which levels it should tell dumper to -run. -dumper is yet another server-side program; it requests clients to perform -dumps, as determined by planner, and stores these dumps in holding disks or -sends them directly to the taper program. The interaction between dumper and -taper is beyond the scope of this text. -We are going to focus on the interaction between the Amanda client program and -wrappers of dump programs. These wrappers must implement the DUMPER API. The -dumptype option `program' should name the wrapper that will be used to back up -filesystems of that dumptype. One wrapper may call another, so as to extend its -functionality. - - The Problem - -Different backup programs present distinct requirements; some must be run as -super-user, whereas others can be run under other user-ids. Some require a -directory name, the root of the tree to be backed up; others prefer a raw -device name; some don't even refer to local disks (SAMBA). Some wrappers may -need to know a filesystem type in order to decide which particular backup -program to use (dump, vdump, vxdump, xfsdump, backup). -Some provide special options for estimates, whereas others must be started as -if a complete dump were to be performed, and must be killed as soon as they -print an estimate. -Furthermore, the output formats of these backup programs vary wildly. Some will -print estimates and total sizes in bytes, in 512-byte tape blocks units, in -Kbytes, Mbytes, Gbytes, and possibly Tbytes in the near future. Some will print -a timestamp for the backup; some won't. -There are also restrictions related with possible scheduling policies. For -example, some backup programs only support full backups or incrementals based -on the last full backup (0-1). Some support full backups or incrementals based -on the last backup, be it a full or an incremental backup (0-inf++). Some -support incrementals based on a timestamp (incr/date); whereas others are based -on a limited number of incremental levels, but incrementals of the same level -can be repeated, such as dump (0-9). -Amanda was originally built upon DUMP incremental levels, so this is the only -model it currently supports. Backup programs that use other incremental -management mechanisms had to be adapted to this policy. Wrapper scripts are -responsible for this adaptation. -Another important issue has to do with index generation. Some backup programs -can generate indexes, but each one lists files in its own particular format, -but they must be stored in a common format, so that the Amanda server can -manipulate them. -The DUMPER API must accomodate for all these variations. - - Overview of the API - -We are going to define a standard format of argument lists that the backup -driver will provide to wrapper programs, and the expected result of the -execution of these wrappers. -The first argument to a wrapper should always be a command name. If no -arguments are given, or an unsupported command is requested, an error message -should be printed to stderr, and the program should terminate with exit status -1. - - The `support' command - -As a general mechanism for Amanda to probe for features provided by a backup -program, a wrapper script must support at least the `support' command. Some -features must be supported, and Amanda won't ever ask about them. Others will -be considered as extensions, and Amanda will ask the wrapper whether they are -supported before issuing the corresponding commands. - - The `level-incrementals' subcommand - -For example, before requesting for an incremental backup of a given level, -Amanda should ask the wrapper whether the backup program supports level-based -incrementals. We don't currently support backup programs that don't, but we may -in the future, so it would be nice if wrappers already implemented the command -`support level-incrementals', by returning a 0 exit status, printing, say, the -maximum incremental level it supports, i.e., 9. A sample session would be: - - % /usr/local/amanda/libexec/wrappers/dump support level-incrementals hda0 9 - - -Note that the result of this support command may depend on filesystem -information, so the disklist filesystem entry should be specified as a command -line argument. In the next examples, we are not going to use full pathnames to -wrapper scripts any more. -We could have defined a `support' command for full backups, but I can't think -of a backup program that does not support full backups... - - The `index' subcommand - -The ability to produce index files is also subject to an invocation of -`support' command. When the support sub-command is `index', like in the -invocation below, the wrapper must print a list of valid indexing mechanisms, -one per line, most preferred first. If indexing is not supported, nothing -should be printed, and the exit status should be 1. -DUMP support index hda0 -The currently known indexing mechanisms are: -output: implies that the command `index-from-output' generates an index file -from the output produced by the backup program (for example, from tar -cv). -image: implies that the command `index-from-image' generates an index file from -a backup image (for example, tar -t). -direct: implies that the `backup' command can produce an index file as it -generates the backup image. -parse: implies that the `backup-parse' command can produce an index file as it -generates the backup formatted output . -The indexing mechanisms will be explicitly requested with the additionnal -option `index-' in the `backup' and `backup-parse' command invocation. -`index-from-image' should be supported, if possible, even if other index -commands are not, since it can be used in the future to create index files from -previously backed up filesystems. - - The `parse-estimate' subcommand - -The `parse-estimate' support subcommand print a list of valid mechanisms to -parse the estimate output and write the estimate size to its output, the two -mechanisms are: -direct: implies that the `estimate' command can produce the estimate output. -parse: implies that the `estimate-parse' command can produce the estimate -output when fed with the `estimate' output. -The estimate parsing mechanisms will be explicitly requested with the -additionnal option `estimate-' in the `estimate' and `estimate-parse' -command invocation. - - The `parse-backup' subcommand - -The `parse-backup' support subcommand print a list of valid mechanisms to parse -the backup stderr, the two mechanisms are: -direct: implies that the `backup' command can produce the backup-formatted- -ouput. -parse: implies that the `backup-parse' command can produce the backup- -formatted-ouput when fed with the `backup' stderr. -The backup parsing mechanisms will be explicitly requested with the additional -option `backup-' in the `backup' and `backup-parse' command invocation. - - Other subcommands - -Some other standard `support' sub-commands are `exclude' and `exclude-list'. -One may think (and several people did :-) ) that there should be only one -support command, that would print information about all supported commands. The -main arguments against this proposal have to do with extensibility: -The availability of commands might vary from filesystem to filesystem. No, I -don't have an example, I just want to keep it as open as possible :-) one -support subcommand may require command line arguments that others don't, and we -can't know in advance what these command line arguments are going to be -The output format and exit status conventions of a support command may vary -from command to command; the only pre-defined convention is that, if a wrapper -does not know about a support subcommand, it should return exit status 1, -implying that the inquired feature is not supported. - - The `selfcheck' command - -We should support commands to perform self-checks, run estimates, backups and -restores (for future extensions of the Amanda protocol so as to support -restores) -A selfcheck request would go like this: -DUMP selfcheck hda0 option option=value ... -The options specified as command-line arguments are dumptype options enabled -for that disk, such as `index', `norecord', etc. Unknown options should be -ignored. For each successful check, a message such as: -OK [/dev/hda0 is readable] OK [/usr/sbin/dump is executable] -Errors should be printed as: -ERROR [/etc/dumpdates is not writable] -A wrapper script will certainly have to figure out either the disk device name -or its mount point, given a filesystem name such as `hda0', as specified in the -disklist. In order to help these scripts, Amanda provides a helper program that -can guess device names, mount points and filesystem types, when given disklist -entries. -The filesystem type can be useful on some operation systems, in which more than -one dump program is available; this information can help automatically -selecting the appropriate dump program. -The exit status of selfcheck and of this alternate script are probably going to -be disregarded. Anyway, for consistency, selfcheck should return exit status 0 -for complete success, 1 if any failures have occurred. - - The `estimate' and `estimate-parse' commands - -Estimate requests can be on several different forms. An estimate of a full -backup may be requested, or estimates for level- or timestamp-based -incrementals: -DUMP estimate full hda0 option ... DUMP estimate level 1 hda0 option ... DUMP -estimate diff 1998:09:24:01:02:03 hda0 option ... -If requested estimate type is not supported, exit status 3 should be returned. -If the option `estimate-direct' is set, then the `estimate' command should -write to stdout the estimated size, in bytes, a pair of numbers that, -multiplied by one another, yield the estimated size in bytes. -If the option `estimate-parse' is set, then the `estimate' command should write -to stdout the informations needed by the `estimate-parse' command, that should -extract from its input the estimated size. -The syntax of `estimate-parse' is identical to that of `estimate'. -Both `estimate' and `estimate-parse' can output the word `KILL', after printing -the estimate. In this case, Amanda will send a SIGTERM signal to the process -group of the `estimate' process. If it does not die within a few seconds, a -SIGKILL will be issued. -If `estimate' or `estimate-parse' succeed, they should exit 0, otherwise exit -1, except for the already listed cases of exit status 3. - - The `backup' and `backup-parse' commands - -The syntax of `backup' is the same as that of `estimate'. The backup image -should be written to standard output, whereas stderr should be used for the -user-oriented output of the backup program and other messages. -If the option `backup-direct' is set, then the `backup' command should write to -stderr a formatted-output-backup. -If the option `backup-parse' is set, then the `backup' command should write to -stderr the informations needed by the `backup-parse' command, that should edit -its input so that it prints to standard output a formatted-output-backup. -If the option `no-record' is set, then the `backup' command should not modify -its state file (ex. dump should not modify /etc/dumpdates). -The syntax of `backup-parse' is identical to that of `backup'. -The syntax of the formatted-output-backup is as follow: All lines should start -with either `| ' for normal output, `? ' for strange output or `& ' for error -output. If the wrapper can determine the total backup size from the output of -the backup program, it should print a line starting with `# ', followed by the -total backup size in bytes or by a pair of numbers that, multiplied, yield the -total backup size; this number will be used for consistency check. -The option `index-direct' should cause commands `backup' to output the index -directly to file descriptor 3. The option `index-parse' should cause commands -`backup-parse' to output the index directly to file descriptor 3. The syntax of -the index file is described in the next section. - - The `index-from-output' and `index-from-image' commands - -The syntax of the `index-from-output' and `index-from-image' commands is -identical to the one of `backup'. They are fed the backup output or image, and -they must produce a list of files and directories, one per line, to the -standard output. Directories must be identified by the `/' termination. -After the file name and a blank space, any additional information about the -file or directory, such as permission data, size, etc, can be added. For this -reason, blanks and backslashes within filenames should be quoted with -backslashes. Linefeeds should be represented as `\n', although it is not always -possible to distinguish linefeeds in the middle of filenames from ones that -separate one file from another, in the output of, say `restore -t'. It is not -clear whether we should also support quoting mechanisms such as `\xHH', `\OOO' -or `\uXXXX'. - - The `restore' command - -Yet to be specified. - - The `print-command' command - -This command must be followed by a valid backup or restore command, and it -should print a shell-command that would produce an equivalent result, i.e., -that would perform the backup to standard output, or that would restore the -whole filesystem reading from standard input. This command is to be included in -the header of backup images, to ease crash-recovery. - - Conclusion - -Well, that's all. Drop us a note at the amanda-hackers mailing list (mailto:// -amanda-hackers@amanda.org) if you have suggestions to improve this document -and/or the API. Some help on its implementation would be welcome, too. - -Note - -Refer to http://www.amanda.org/docs/dumperapi.html for the current version of -this document. -------------------------------------------------------------------------------- - -Prev Up Next -Chapter 22. How Amanda uses UDP and TCP Home Chapter 24. Amanda Internals -ports - diff --git a/docs/eventapi.txt b/docs/eventapi.txt index 51c8992..e69de29 100644 --- a/docs/eventapi.txt +++ b/docs/eventapi.txt @@ -1,175 +0,0 @@ - - Chapter 25. Amanda Event API -Prev Part V. Technical Background Next - -------------------------------------------------------------------------------- - -Chapter 25. Amanda Event API - - -Mike Grupenhoff - -Original text -AMANDA Core Team - - -Stefan G. Weichinger - -XML-conversion;Updates -AMANDA Core Team - -Table of Contents - - - Introduction - - The_API - - - event_register - - event_release - - event_loop - - event_wait - - event_wakeup - - - Data_types - - - event_handle_t - - event_id_t - - event_type_t - - event_fn_t - - - Event_Types - - - EV_READFD - - EV_WRITEFD - - EV_SIG - - EV_TIME - - EV_WAIT - - - - Introduction - -This is a document of the API for the event handler. The purpose of the event -handler is to allow scheduling and serialization of multiple different types of -events. - - The API - - - event_register - -event_handle_t *event_register(event_id_t data, event_type_t type, event_fn_t -callback, void *arg); -Sets up an event of the given type to call the given function with the given -argument. -The 'data' argument is type specific. -EV_READFD, EV_WRITEFD - the file descriptor to monitor EV_SIG - the signal -number to monitor EV_TIME - the number of seconds between each pulse EV_WAIT - -the wait identifier used with event_wakeup() EV_DEAD - internal use only - - event_release - -void event_release(event_handle_t *handle); -Remove an event from the queue. This can happen at any time, even while the -event is firing. - - event_loop - -void event_loop(int dontblock); -Process all pending events. If the argument is zero, this will keep running -until all events have been released. If the argument is nonzero, this will do -one pass over all pending events, and fire the ones that are immediately ready, -and then return. - - event_wait - -void event_wait(event_id_t id); -Like event_loop(0), except that it will stop as soon as the event id is -serviced. - - event_wakeup - -int event_wakeup(event_id_t id); -Fire all EV_WAIT events registered with an argument value of 'id' immediately. -Returns the number of events that were fired. - - Data types - - - event_handle_t - -This is an opaque structure that describes a registered event. It is only -useful to keep if you need to unregister the event later. - - event_id_t - -This is type-specific data. The contents and format depend on on the type of -the event. This is an unsigned integral type. - - event_type_t - -This is an enumerated type describing the different events we handle. - - event_fn_t - -typedef void (*event_fn_t)(void *arg); -This is a function signature for the type of function that needs to get passed -to event_register. The argument to the function is a pointer of the caller's -choosing. - - Event Types - - - EV_READFD - -This type of event will fire when the file descriptor passed to event_register -has data waiting to be read. - - EV_WRITEFD - -This type of event will fire when the file descriptor passed to event_register -can have data written to it without blocking. - - EV_SIG - -This type of event will fire when the signal number passed to event_register -has been caught. Note that if a signal is caught while processing is not in -event_loop(), the event will be delayed until processing returns to event_loop -(). - - EV_TIME - -This type of event will fire repeatedly with a delay of the number of seconds -passed to event_register between each interval. - - EV_WAIT - -This type of event will fire when someone calls event_wakeup() with the numeric -argument equal to the argument this event was registered with. - -Note - -Refer to http://www.amanda.org/docs/eventapi.html for the current version of -this document. -------------------------------------------------------------------------------- - -Prev Up Next -Chapter 24. Amanda Internals Home Chapter 26. Amanda Security API - diff --git a/docs/exclude.txt b/docs/exclude.txt index 030c06b..e69de29 100644 --- a/docs/exclude.txt +++ b/docs/exclude.txt @@ -1,339 +0,0 @@ - - Chapter 3. Excluding -Prev Part I. Installation Next - -------------------------------------------------------------------------------- - -Chapter 3. Excluding - - -Andrew Hall - -Original text - -Stefan G. Weichinger - -XML-conversion;Updates -AMANDA Core Team - -Table of Contents - - - Introduction - - Please_Read - - Before_We_Begin - - Choosing_an_exclude_mechanism - - - Exclude_Mechanisms - - - Expression - - Wildcard_Expansion - - Troubleshooting - - - Broken_gnutar? - - The_ps_command_is_your_friend. - - - - Introduction - -There are times when data needs to be excluded from a backup. When these times -arise be confident that Amanda has this capability. (Actually it's not Amanda, -it's tar.) There are three ways of excluding data in an Amanda backup: - -* Exclude an individual item explicitly in the dumptype -* Utilize an "Exclude List" -* Do not include the data in the disklist - -This document is based on Amanda 2.4.2 and some of this might not work with -older versions. This was compiled from my personal experience and with help -from the members of the amanda-users mailing list (mailto://amanda- -users@amanda.org) when I was originally setting this up, to whom I wish to -thank for all of their support. - - Please Read - -As far as I am able to tell the only way to exclude files or directories with -Amanda is to use GNU-tar as the dump program (others?). The file system dump -programs provided with unix systems (e.g. dump, ufsdump) get data at a raw -drive level and generally do not allow exclusion of specific files or -directories. -The GNU version of tar, (GNU-tar or gtar), reads its data at a file system, (or -higher), level and does include the option to exclude specific files and/or -directories. It should be mentioned here that tar will change the access times -on files. Tar has the ability to preserve the access times however, doing so -effectively disables incremental backups since resetting the access time alters -the inode change time, which in turn causes the file to look like it needs to -be archived again. -The only exception that I am aware of is to just not include the data in -question in the disklist. This option may not be suitable for everyone's needs -and can confuse the issue some, so I have elected to include this mechanism in -its own section named Do_not_include_the_data_in_the_disklist. -For the purpose of this document an Amanda backup configuration named "exclude- -test" will be used. The machine that contains the tape drive which receives -data to be archived will be referred to as "SERVER". The machine that data is -being archived from will be referred to as "CLIENT". These two systems are -usually different machines but are not required to be, and may be the same -machine. Parts of this setup are on the server and some are on the client. - -Note - -When Amanda attempts to exclude a file or directory it does so relative to the -area being archived. For example if /var is in your disklist and you want to -exclude /var/log/somefile, then your exclude file would contain ./log/somefile. -You may use one exclude file in multiple dumptypes without any restriction. - - Before We Begin - -The first step that should be taken is to verify that backups are currently -working. Connect to SERVER and run amcheck as your Amanda user, to verify that -there are no errors in the current setup. - - $ amcheck -cl CLIENT - -Output should look something like below for success: - - Amanda Tape Server Host Check - ----------------------------- - - /path/to/holding-disk: 4771300 KB disk space available, that's plenty. - Amanda Backup Client Hosts Check - -------------------------------- - Client check: 1 host checked in 0.084 seconds, 0 problems found. - -Next make sure that GNU-tar is the dump program currently in use. The easiest -way to tell if your dumptype is using gnutar is to run the following: - - $ amadmin exclude-test disklist CLIENT - -Among all the output is the "program" value currently in use. This value is -also specified with the "program" option in the dumptype. If the dumptype has -the line "program GNUTAR" your setup should be ready to exclude data. -If GNU-tar is not in use add the line "program GNUTAR" to the dumptype, and -then run amcheck again to verify that backups should work. The capitalization -of GNUTAR is required. -The dumptype should look something like: - - define dumptype exclude-test { - comment "test dumptype for documentation" - priority high - program "GNUTAR" - } - - - Choosing an exclude mechanism - -If the need is to exclude only one file or directory then the easiest way to -accomplish this is to exclude an individual item explicitly in the dumptype. If -the need is to exclude multiple files or directories then use an Exclude List. - - Exclude Mechanisms - - - Exclude an individual item explicitly in the dumptype - -The easiest way to exclude a file or directory is to specify it with the -"exclude" option in the dumptype. This option accepts an argument of the file -or directory to be excluded. Amanda allows only one exclude option in any -dumptype at a time. - -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.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: - - define dumptype exclude-test { - comment "test dumptype for documentation" - priority high - program "GNUTAR" - exclude "./log/somefile" - } - -Next run amcheck again to verify that there are no problems with the revised -Amanda configuration. If the data is not being excluded as expected please see -the Troubleshooting section below. This completes the setup of excluding an -individual item in the dumptype. - - Utilize an Exclude List - -An exclude list is a file that resides on the CLIENT machine and contains paths -to be excluded, one per line. This file can be in any location on the CLIENT so -long as the same path is specified in the dumptype. Some find /usr/local/etc/ -amanda an appropriate location, but it is up to you. I personally like to have -a subdirectory for exclude files but it is up to you where you place this file. -The exclude file may also be placed in the area being archived. This is an easy -way to have a different exclusion file for each disklist entry without needing -separate dumptype definitions. To use this technique, enter a path relative to -the area being archived as the exclude file below instead of an absolute path. -Connect to CLIENT and create the exclude directory as root. For example: - - $ mkdir -p /usr/local/etc/amanda/exclude - $ cd /usr/local/etc/amanda/exclude - -Next create the exclude list for Amanda to use. You can name the exclude file -anything you wish it to be. Create a file, and in this file place all paths to -files and directories that are to be excluded. Keeping with the /var example, -assume that /var/log/XFree86.0.log, and /var/log/maillog need to be excluded. -Remember that all paths are relative. The exclude list would look like: - - ./log/XFree86.0.log - ./log/maillog - -Make sure that permissions are restricted on this file. Run the following as -root, where exclude-filename is the name of the file you just created. For -example: - - $ chmod 644 /usr/local/etc/amanda/exclude/exclude-filename - -This concludes the necessary configuration on the client. -Connect to SERVER and cd to the exclude-test Amanda configuration directory. -Edit the Amanda configuration file e.g. amanda.conf. Add an entry similar to -the following line, to the dumptype for the client in question, where the -exclude-filename is the file that was created on CLIENT in the step above -including the quotes. For example: - - exclude list "/usr/local/etc/amanda/exclude/exclude-filename" - -The new dumptype should look something like: - - define dumptype exclude-test{ - comment "test dumptype for documentation" - priority high - program "GNUTAR" - exclude list "/usr/local/etc/amanda/exclude/exclude-filename" - } - -Save the file. Run amcheck again to verify that there are no problems with the -revised Amanda configuration. If amcheck succeeds then run amdump to verify the -data is being excluded correctly. If the data is not being excluded as expected -please see the Troubleshooting section below. This completes the setup of an -exclude list. - - Do not include the data in the disklist - -Amanda uses disklist entries to define which directories or partitions should -be archived. This allows us to exclude data by just not placing the data in -question in the disklist. Assume that there is a disk mounted on /example. The -directory /example has five subdirectories "a", "b", "c", "d", and "e". The -directories "a", "b", and "c" need to be archived, while "d" and "e" should -not. This can be accomplished by not specifying "d" and "e" in the disklist. -Using the same dumptype and host in the above examples the disklist would -contain: - - CLIENT /examples/a exclude-test - CLIENT /examples/b exclude-test - CLIENT /examples/c exclude-test - -Run amcheck to verify that Amanda is working correctly. If the data is not -being excluded as expected please see the Troubleshooting section below. This -completes the setup of using a disklist to exclude data. - - Expression - -Quiz: what is the difference between the following entries in an exclude list? - - ./foo - ./foo/ - ./foo/* - -case 1 : directory ./foo won't be in the backup image (that's what you want) -case 2 : matches nothing (don't use it) case 3 : directory ./foo will be in the -backup image but nothing below it. - - Wildcard Expansion - -Amanda has the ability to use wildcard expansion while excluding data as -implemented by tar(1). The only places that wildcard expansion is allowed is in -the "exclude" option in the dumptype, or in the exclude list. Some simple -examples: -Exclude any file or directory that ends in ".log" e.g. ppp.log, XFree86.0.log - - ./*.log - -Exclude any file or directory with the string "log" e.g. logfile, maillog, -syslog, ppp.log, XFree86.0.log - - */*log* - -Exclude any file or directory that starts with string "cron" and ends in ".gz" -e.g. cron.1.gz, cron.2.gz, log/cron.1.gz - - ./*cron*.gz - -The question mark can be used to specify a single character. e.g. log.1, log.2, -etc - - ./log.? - - - Troubleshooting - -If you find that you are having trouble getting the exclude patterns to match -correctly, check out this really cool script written by John R. Jackson. -ftp://gandalf.cc.purdue.edu/pub/amanda/gtartest-exclude -This script allows you to test your patterns before placing them in an exclude -list or in the dumptype. Instructions on how to run the script are included in -the script. - - Broken gnutar? - -There are versions of GNU-tar that do not correctly exclude data. Version 1.12 -(plus the Amanda patches from http://www.amanda.org) are known to work -correctly, as does version 1.13.19 (and later). Anything else is questionable. - -Note - -UPDATE:Using GNU-tar 1.13.25 is recommended. - - The ps command is your friend. - -Connect to CLIENT and run a - - ps ax | grep tar - -(or - - ps ef | grep tar - -on Solaris) -to see exactly how the tar command is running. Look in the output for the -- -exclude or --exclude-from options in the running tar process. For example: - - $ ps ax | grep tar - - ? R 0:37 /bin/tar --create --directory /var - --listed-incremental /var/lib/amanda/gnutar-lists/CLIENTvar_0.new - --sparse --one-file-system --ignore-failed-read --totals --file - /dev/null --exclude-from=/usr/local/etc/amanda/exclude-test/exclude.var - . - -In the above output notice the string "--exclude-from=". The string following -the "=" is the exclude file currently in use. If the string was "--exclude" -then the string following the "=" is the file or directory that is currently -set to be excluded. -Contact the amanda-users mailing list: mailto://amanda-users@amanda.org. -Subscription information is available at http://www.amanda.org. - -Note - -Refer to http://www.amanda.org/docs/exclude.html for the current version of -this document. -------------------------------------------------------------------------------- - -Prev Up Next -Chapter 2. Amanda Installation Notes Home Chapter 4. Indexing with Amanda - diff --git a/docs/faq.txt b/docs/faq.txt index 9e4da7b..e69de29 100644 --- a/docs/faq.txt +++ b/docs/faq.txt @@ -1,583 +0,0 @@ - - Chapter 19. Amanda FAQ -Prev Part IV. Various Information Next - -------------------------------------------------------------------------------- - -Chapter 19. Amanda FAQ - - -Amanda Core Team - -AMANDA Core Team - -Stefan G. Weichinger - -XML-conversion;Updates -AMANDA Core Team - -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. - - - Why_does_Amanda_fail_to_build_on_my_system? - - Why_does_amdump_report_that_all_disks_failed? - - Why_does_amcheck_say_"port_NNN_is_not_secure"? - - Why_does_amcheck_claim_that_the_tape_is_"not_an_Amanda_tape"? - - Why_does_amcheck_report_"selfcheck_request_timed_out"? - - Why_does_amandad.debug_contain_"error_receiving_message"? - - Why_does_amcheck_say_"access_as__not_allowed..."? - - Why_does_amcheck_report_"ip_address_#.#.#.#"_is_not_in_the_ip_list_list_for - '? - - Why_does_amcheck_say_"cannot_overwrite_active_tape"? - - Why_does_amcheck_tell_me_"DUMP_program_not_available"? - - Which_tape_changer_configuration_should_I_use_in_amanda.conf? - - Where_do_I_get_my_tapetype-definition_from?_Do_I_have_to_run_amtapetype? - - Should_I_use_software_or_hardware_compression? - - How_can_I_configure_Amanda_so_that_it_performs_full_backups_on_the_week-end - and_incrementals_on_weekdays? - - 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? - - How_can_I_configure_Amanda_for_long-term_archiving? - - Can_I_backup_separate_disks_of_the_same_host_in_different_configurations? - - Can_Amanda_span_large_filesystems_across_multiple_tapes? - - What's_the_difference_between_option_"skip-full"_and_"strategy_nofull"? - - Why_does_amdump_report_"results_missing"? - - Why_does_amdump_report_"disk_offline"? - - What_if_amdump_reports_"dumps_way_too_big,_must_skip_incremental_dumps"? - - amdump_reported_"infofile_update_failed"._What_should_I_do? - - Why_does_Amanda_sometimes_promote_full_dumps? - - Why_does_amrecover_report_"no_index_records"_or_"disk_not_found"? - - 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? - - The_man-page_of_dump_says_that_active_filesystems_may_be_backed_up - inconsistently._What_does_Amanda_do_to_prevent_inconsistent_backups? - - Which_version_of_GNU-tar_should_I_use? - - What_does_"bumping"_mean? - - How_do_I_backup_a_Windows_server? - - How_do_I_tell_my_iptables-based_firewall_to_allow_Amanda_through? - - How_do_I_get_rid_of_pressing_"q"_to_get_rid_of_a_pager_prompt_when_using - amrecover? - - Is_there_a_way_to_tell_the_pager_that_my_terminal_has_"y"_lines? - - - 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.5.0_-_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=) 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 not allowed..."? - There must be something wrong with .amandahosts configuration (or .rhosts, if - you have configured --without-amandahosts). - First, if the 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 - '? - 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! :-) - Where do I get my tapetype-definition from? Do I have to run amtapetype? - It is not mandatory to run amtapetype at installation-time. It is very likely - that your tapedrive or -changer is one of the devices that are already covered - by one of the existing tapetype-definitions. - You may find tapetype-definitions in the example amanda.conf, in the - mailinglist-archives of the amanda-users-mailinglist at http:// - marc.theaimsgroup.com/?l=amanda-users or in the Amanda-FAQ-O-Matic at http:// - www.amanda.org/fom-serve/cache/1.html. - Reasons to run amtapetype for your device: - - * You want to generate your own tapetype-definition because you can't find any - suitable tapetype-definition for your device. - * You want to determine the performance of your device. - * You want to determine if your device has hardware-compression enabled. - - If you decide to run amtapetype, please refer to the chapter Tapetypes and the - manpage amtapetype(8). - 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. - You might want to run amtapetype to determine if you have hardware-compression - enabled for your tape-drive. - 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=. - 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' 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 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=). - 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.. and - amdump.. 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 - , 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. - How do I tell my iptables-based firewall to allow Amanda through? - posted by Matt Hyclak : - Use something like - - iptables -A INPUT -p udp -s $AMANDA_SERVER -d $AMANDA_CLIENT --dport - 10080 -j ACCEPT - - and load the ip_conntrack_amanda kernel module. I use the following in /etc/ - modprobe.conf: - - options ip_conntrack_amanda master_timeout=2400 - install ip_tables /sbin/modprobe --ignore-install ip_tables && /sbin/ - modprobe ip_conntrack_amanda - - This sets the UDP timeout for Amanda packets to 2400 seconds, up from the - default 300 (don't hold me to that, it might be 600). I was getting estimate - timeouts since they were taking longer than 300/600 seconds and the firewall - would close the port. - Makes things a little more secure than opening up everything > 1024 ;-) - How do I get rid of pressing "q" to get rid of a pager prompt when using - amrecover? - compiled from postings by Paul Bijnens and Jon - LaBadie - Paul Bijnens wrote: - If you have to press "q" all the time in amrecover this is related to the - pager-binary you use. If you use Linux this will be most likely less. To teach - less to quit when hitting EOF, you need to set something like LESS=--QUIT-AT- - EOF; export LESS, for example in your .profile. Refer to the manpage of less - for details. - Jon LaBadie wrote: - If you don't like the quit at EOF behavior "except" when in amrecover create - an alias or a wrapper; something like: - alias amrecov='LESS="$LESS -E" _pathto_your_amrecover' - Is there a way to tell the pager that my terminal has "y" lines? - Jon LaBadie wrote: - The pager normally does it's best to find out how many lines your terminal - has, given the right TERM-variable. Even terminals with elastic boundaries - (e.g. xterms) work. But I have to admit that on Solaris the settings are not - always correct. You can fix it quickly by setting an environment variable to - e.g. LINES=24 (and export it). - - -Note - -Refer to http://www.amanda.org/docs/faq.html for the current version of this -document. -------------------------------------------------------------------------------- - -Prev Up Next -Chapter 18. Using Amanda Home Chapter 20. Collection of the top ten Amanda - questions. And answers. - diff --git a/docs/historical.txt b/docs/historical.txt index c97fc9e..e69de29 100644 --- a/docs/historical.txt +++ b/docs/historical.txt @@ -1,138 +0,0 @@ - -Part VI. Historical files -Prev Next - -------------------------------------------------------------------------------- - - -Part VI. Historical files - - - -Old and outdated material, proposals and drafts. - -Here you find some chapters which contain outdated informations. These chapters -nonetheless can help to get a more complete picture of Amanda. - -Note - -Please realize that the following does not necessarily describe current -features of Amanda. There are also features described which were never added to -Amanda. -Table of Contents - - - 29._Response_to_CPIO_Security_Notice_Issue_11: - - - Affected_Versions - - Workaround - - Acknowledgements - - - 30._Upgrade_Issues - - 31._What_once_was_new - - - What's_new_in_Amanda_2.3 - - - Indexing_backups_for_easier_restore - - Samba_Support - - GnuTar_Support - - Multiple_backups_in_parallel_from_one_client_host - - Multiple_tapes_in_one_run - - Bottleneck_determination - - 2_Gb_limit_removed - - amadmin_import/export - - - What's_new_in_Amanda_2.2 - - - Client_side_setup_has_changed - - Version_suffixes_on_executables - - Kerberos - - Multiple_holding_disks - - Remote_self-checks - - mmap_support - - gzip_support - - Mount_point_names_in_disklist - - Initial_tape-changer_support_included - - Generic_tape_changer_wrapper_script - - New_command_amtape - - Changer_support_added_to_command_amlabel - - Tape_changer_support_improved - - A_few_words_about_multi-tape_runs - - Big_planner_changes - - Level-0_dumps_allowed_with_no_tape - - - - 32._Multitape_support_in_Amanda_2.2 - - - Introduction - - New_Planner_Algorithm - - - Time - - Full_Backups - - Schedule_Balancing - - Overwrite_Detection - - - Taper_Algorithm - - - Choosing_a_tape - - End_of_tape_handling - - Tape_Format_Changes - - Tapelist_File_Changes - - - - 33._Thoughts_about_a_Strategy_API - - 34._Y2K_Compliancy - - 35._Usage_of_floppy_tape_drives_on_Linux - -------------------------------------------------------------------------------- - -Prev Next -Chapter 28. Using Kerberos with Home Chapter 29. Response to CPIO Security -Amanda Notice Issue 11: - diff --git a/docs/howto-afs.txt b/docs/howto-afs.txt index 481ac54..e69de29 100644 --- a/docs/howto-afs.txt +++ b/docs/howto-afs.txt @@ -1,35 +0,0 @@ - - Chapter 14. AFS HOWTO -Prev Part III. HOWTOs Next - -------------------------------------------------------------------------------- - -Chapter 14. AFS HOWTO - - -Amanda Core Team - -AMANDA Core Team - -Stefan G. Weichinger - -XML-conversion;Updates -AMANDA Core Team - -You need to download the following package if you want to backup AFS volume -with amanda: -ftp://ftp.ccmr.cornell.edu/pub/amanda-afs/amanda-afs.tar.gz -or anonymous cvs from :pserver:anonymous@cvs.ccmr.cornell.edu:/usr/common/cvs -and checkout project 'amanda-afs' -The patch to Amanda is already included in this distribution. - -Note - -Refer to http://www.amanda.org/docs/howto-afs.html for the current version of -this document. -------------------------------------------------------------------------------- - -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-auth.txt b/docs/howto-auth.txt index 6098b4a..e69de29 100644 --- a/docs/howto-auth.txt +++ b/docs/howto-auth.txt @@ -1,196 +0,0 @@ - -Chapter 17. How to use different auth with Amanda -Prev Part III. HOWTOs Next - -------------------------------------------------------------------------------- - -Chapter 17. How to use different auth with Amanda - - -Jean-Louis Martineau - -Original text;XML-conversion;Updates -AMANDA Core Team - -Table of Contents - - - Introduction - - BSD - - BSDTCP - - BSDUDP - - KRB4 - - KRB5 - - RSH - - SSH - - - For_amdump: - - For_amrecover: - - -This document covers the use of the auth in Amanda 2.5.1 and higher. - -Introduction - - - BSD - -You must configure amanda with --with-bsd-security and --with-amandahosts. -The xinetd.d/amanda file on the client: - - service amanda - { - only_from = 127.0.0.1 - socket_type = dgram - protocol = udp - wait = yes - user = amanda - group = amanda - groups = yes - server = /path/to/amandad - server_args = -auth=bsd amdump - disable = no - } - -The only_from line should list your tape server ip address. -The ~amanda/.amandahosts file on the client: - - tapeserver.fqdn amanda amdump - -If you want to also enable amindexd and amidxtaped, you must change the -server_args line in the xinetd.d/amanda file on the tape server: - - server_args = -auth=bsd amdump amindexd amidxtaped - -The only_from line should list all machine that can use amdump/amrecover. It's -the .amandahosts that will limit which client can use amdump/amindexd/ -amidxtaped. -The ~amanda/.amandahosts file on the tape server must have a line for each -machi ne: - - clientmachine1 amanda amindexd amidxtaped - clientmachine2 amanda amindexd amidxtaped - - - BSDTCP - -Like bsd but you must configure amanda with --with-bsdtcp-security and --with- -amandahosts and do 4 changes in the xinetd.d/amanda file: - - socket_type = stream - protocol = tcp - wait = no - server_args = -auth=bsdtcp amdump - - - BSDUDP - -Like bsd but you must configure amanda with --with-bsdudp-security and --with- -amandahosts and do 1 change in the xinetd.d/amanda file: - - server_args = -auth=bsdudp amdump - - - KRB4 - -You must configure amanda with --with-krb4-security. - - KRB5 - -You must configure amanda with --with-krb5-security. - - RSH - -You must configure amanda with --with-rsh-security. -It's your system that should allow your server user to rsh to your client user. -If your server username and client username are different, you must add the -client_username option in all DLE for that host. - - client_username "client_username" - -If your server amandad path and client amandad path are different, you must set -the amandad_path option in all DLE for that hosts. - - amandad_path "client/amandad/path" - - - SSH - -You must configure amanda with --with-ssh-security. - - For amdump: - -You must create an ssh key for your server. In this example, the key is put in -the id_rsa_amdump file: - - ssh-keygen -t rsa - Enter file in which to save the key (/home/amanda/.ssh/id_rsa)? /home/ - amanda/.ssh/id_rsa_amdump - -You must set the ssh_keys option in all DLE for that host: - - ssh_keys "/home/amanda/.ssh/id_rsa_amdump" - -You mush append the /home/amanda/.ssh/id_rsa_amdump.pub file to the .ssh/ -authorized_keys file of all client host. -For security reason, you must prepend the line with the following: - - from="tape_server_fqdn_name",no-port-forwarding,no-X11-forwarding,no-agent- - forwarding,command="/path/to/amandad -auth=ssh amdump" - -That will limit that key to connect only from your server and only be able to -execute amandad. -Like rsh if your server username and client username are different, you must -add the client_username option in all DLE for that host: - - client_username "client_username" - -Like rsh, if your server amandad path and client amandad path are different, -you must set the amandad_path option in all DLE for that hosts: - - amandad_path "client/amandad/path" - - - For amrecover: - -You must create an ssh key for root on all clients that can use amrecover. In -this example, the key is put in the /root/.ssh/id_ rsa_amrecover file: -Log in as root: - - ssh-keygen -t rsa - Enter file in which to save the key (/root/.ssh/id_rsa)? /root/.ssh/ - id_rsa_amrecover - -You must set the ssh_keys option in the amanda_client.conf file - - ssh_keys "/root/.ssh/id_rsa_amrecover" - -You mush append all client /home/root/.ssh/id_rsa_amrecover.pub file to the / -home/amanda/.ssh/authorized_keys of the server. -For security reason, you must prefix all lines with the following: - - from="aclient_fqdn_name",no-port-forwarding,no-X11-forwarding,no-agent- - forwarding,command="/path/to/amandad -auth=ssh amindexd amidxtaped" - -That will limit every client key to connect from the client and only be able to -execute amandad. - -Note - -Refer to http://www.amanda.org/docs/howto-auth.html for the current version of -this document. -------------------------------------------------------------------------------- - -Prev Up Next -Chapter 16. How to do Amanda-server-side Home Part IV. Various Information -gpg-encrypted backups. - diff --git a/docs/howto-cygwin.txt b/docs/howto-cygwin.txt index 6f2e403..e69de29 100644 --- a/docs/howto-cygwin.txt +++ b/docs/howto-cygwin.txt @@ -1,261 +0,0 @@ - -Chapter 12. Amanda on Cygwin HOWTO -Prev Part III. HOWTOs Next - -------------------------------------------------------------------------------- - -Chapter 12. Amanda on Cygwin HOWTO - - -Doug Kingston - -Original text - -Stefan G. Weichinger - -XML-conversion -AMANDA Core Team - -Table of Contents - - - Install_Cygwin - - Other_Preparation - - Compile_Amanda - - Configure_Cygwin_files - - Configure_Windows_System_Files - - Configure_inetd_to_run_automatically_as_a_service - - Windows_98/ME - - Windows_NT/2000/XP - - Notes_on_Amanda_backup_options - - - Compression - - Exclude_Lists - - Debugging_Files - - -by Doug Kingston, 30 January 2003. Based on Cygwin 1.3.18, and Amanda 2.4.3- -20021027 and some fixes which will be in the official release by the time you -see this. -With thanks to Enrico Bernardini from whom I have borrowed some material from -an earlier attempt at documenting the installation of Amanda on Cygwin in 2001. -Please send annotations and corrections to mailto://amanda-hackers@amanda.org. -I can be reached as dpk (at) randomnotes.org (do the obvious). - - Install Cygwin - -The following Cygwin packages are required for binary installation (may be -incomplete): - -* Category BASE: standard -* Category MISC: gzip -* Category MISC: tar -* Category NET: inetutils - -You need also these packages to build from source (may be incomplete): - -* Category DEVELOP: ALL -* Category INTERPRETERS: m4, gawk ? -* Category LIBS:default selection? (libc, libiconv, others?) - -I have most or the basic utilities and libraries installed so I cannot give you -a more specific list of what is required. If someone has a more definitive -list, I would appreciate and email to mailto://amanda-hackers@amanda.org. -One user reported some problems with access rights when running under Cygwin, -which he solved by setting the CYGWIN environment variable to nontsec. I do not -believe this is necessary if you run the Amanda daemon as System (see below). - - Other Preparation - -When doing backups on a NT, Windows 2000 or Windows XP system, the choice of -user and group will be important if you are to properly interact with the -security mechanisms of these more modern Microsoft product. For Windows 95/98/ -ME this is probably a non-issue. The most privileged account on the Windows -systems is 'System', and I have chosen to use this account for Amanda backups -to ensure that I can access the widest set of files. On Unix we would run as -root, with equivalent access permissions. I have also chose to run under the -'Administrators' group, another standard Windows group. Ensure these exist -before you continue - or identify another account to use. The Cygwin -installation postinstall script should have already populated /etc/passwd and -etc/group with these entries. - -* Make sure that System (or SYSTEM) has a home directory specified in /etc/ - passwd. - -I used _/home/root_. You'll need to put the file .amandahosts here later. The -relevant lines from my file /etc/passwd are: - - SYSTEM:*:18:18:,S-1-5-18:/home/root: - root:*:18:18:,S-1-5-18:/home/root: - - - Compile Amanda - -After installing Cygwin, unpack the Amanda sources, typically in /usr/src/ -Amanda or something similar. In the Amanda directory, you will need to execute: - - automake # this may not be necessary in the official release - autoconf # this may not be necessary in the official release - - ./configure --without-server \ - --without-force-uid \ - --with-user=yourlogin \ - --with-group=Administrators - make - make # yes, I needed to run it a second time - make install - -The use of your own login instead of SYSTEM requires some explanation. If you -were to call runconfigure with SYSTEM instead of your own login id as part of -the -with-user parameter, the installation process will fail due to the way -Cygwin and the NT/W2K/XP security system interact. Once you chown a file to -another user (like SYSTEM) you are no longer able to chgrp or chmod the file. -The installation process will abort at this point. By installing the files -owned by yourself, you will be able to chgrp and chmod them as expected. Note -that you still RUN as SYSTEM from /etc/inetd.conf (see below). - - Configure Cygwin files - -You have to modify some config files: - -* /etc/inetd.conf: cleanup un-needed entries: Comment out any entries you do - not need by placing a '#' at the start of the lines. This is just good - practice, and if any of the entries reference non- existent users (e.g. uucp) - inetd may not start up. - - -* /etc/inetd.conf: add - - amanda dgram udp wait System /usr/local/libexec/amandad amandad - - ATTENTION: Use tabs, don't use spaces. - - -* create _/home/root/.amandahosts_ (or whereever System's home directory is): - - -Then create the following Amanda directories and the file amandates: - - mkdir -p /usr/local/var/amanda/gnutar-lists - - mkdir /tmp/amanda - - touch /etc/amandates - - - Configure Windows System Files - -Update the Windows services list - -* WINDIR\Services: add - - amanda 10080/udp # Amanda backup services - amandaidx 10082/tcp # Amanda backup services - amidxtape 10083/tcp # Amanda backup services - - -where WINDIR is C:\WINNT\system32\drivers\etc or something similar. The last -two lines are needed if you want to use amrecover. -Ensure that the default Windows PATH environment variable include your Cygwin / -bin directory. This is necessary since inetd and hence the amandad that it -spawns will not have the advantage of being started by the standard bash shell -startup script and won't find the needed dynamic libraries (e.g. cygwin1.dll). -My PATH is: - - _%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\cygwin\bin_ - -This is on XP; My Computer, right click Properties, click on Environment -Variables (at the bottom). Yours may vary, but make sure the Cygwin bin -directory is represented somewhere in the PATH. - - Configure inetd to run automatically as a service - -If you want to test your installation, you can call inetd from bash prompt: - - /usr/sbin/inetd -d - - - Windows 98/ME - - -* To start after the user logs in: Create a shortcut to c: - \cygwin\usr\sbin\inetd.exe in WINDIR\start menu\programs\startup - - -* To start before the user logs in: Add the string key - - CygwinInetd=C:\cygwin\usr\sbin\inetd.exe - - under - - HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices - - in the registry. You'll see a dos-like window on the startup: I did not find - a solution to iconize or to make invisible (suggestions are welcome). - - - Windows NT/2000/XP - -From bash prompt, type: - - /usr/sbin/inetd --install-as-service - -Then, to start/stop the inetd service use the Services control panel or the -following Windows command: -net start/stop inetd - - Notes on Amanda backup options - - - Compression - -Currently, client side compression does not work, probably due to problems in -pipe emulation in Cygwin. I have not tried to debug this yet. This may be -addressed in a subsequent release, or it could be fixed in later releases of -Cygwin. Due to this issue, we recommend that if you want compressed dumps from -Windows clients, you configure Amanda for server compression in amanda.conf on -your Amanda server: - - define dumptype srv-comp-tar { - global - comment "partitions dumped via tar with server compression" - program "GNUTAR" - compress server fast - exclude list ".Amanda.exclude" - } - - - Exclude Lists - -A note on exclude lists is also in order. If you specify a relative path, it -will be expected that the file is in or relative to the root of the directory -you are planning to dump. Typically this will not be '/' but '/cygdrive/c' or -something similar if you want to get the Windows files and the Cygwin files. '/ -' is taken to be the root of the Cygwin tree, normally something like C: -\cygwin or possibly C:\Program Files\cygwin. - - Debugging Files - -Amanda will leave debugging files in /tmp/amanda if it exists. I have -recommended to create this directory above. - -Note - -Refer to http://www.amanda.org/docs/howto-cygwin.html for the current version -of this document. -------------------------------------------------------------------------------- - -Prev Up Next -Part III. HOWTOs Home Chapter 13. How to use the Amanda file-driver - diff --git a/docs/howto-filedriver.txt b/docs/howto-filedriver.txt index 0d31047..e69de29 100644 --- a/docs/howto-filedriver.txt +++ b/docs/howto-filedriver.txt @@ -1,434 +0,0 @@ - -Chapter 13. How to use the Amanda file-driver -Prev Part III. HOWTOs Next - -------------------------------------------------------------------------------- - -Chapter 13. How to use the Amanda file-driver - - -Stefan G. Weichinger - -Original text;XML-conversion;Updates -AMANDA Core Team - -Table of Contents - - - Introduction - - Possible_Uses - - Setup - - - Basics - - - Recovery - -This document covers the use of the file-driver in Amanda 2.4.3 and higher. -Examples given here have been taken from a SuSE-Linux-8.2-Pro-environment, -using Amanda 2.4.4p1 and the snapshot 2.4.4p1-20031202. Please adjust paths, -configuration names and other parameters to your system. -Stefan G. Weichinger, November - December, 2003 ; minor updates in April, 2005. - -Introduction - -Since release 2.4.3 Amanda supports the usage of a output driver called "file". -See man amanda, section OUTPUT DRIVERS, for more information on its -implementation. As the name suggests, this driver uses files as virtual (or -file) tapes. Once created and labeled, these file tapes can be selected and -changed with the standard tape-changer-interface of the Amanda server. - - Possible Uses - - -* test installations - You can easily explore the rich features of Amanda on systems without tape - drives. -* cheap installations - Without buying a tape drive you can enjoy the benefits of Amanda and backup - to a bunch of harddisks. You can create CD/DVD-sized backups which you can - burn onto optical disks later. -* disk-based installations - You can use the file-driver to backup onto a set of file tapes hosted on a - bunch of hard-disks or a RAID-system. Combined with another Amanda- - configuration that dumps the file tapes to real tapes, you can provide - reliable backup with faster tapeless recovery. This is called "disk-to-disk- - to-tape"-backup by some people today. - - - Setup - - - Basics - -This guide assumes you have setup the basic Amanda-services as described in -Amanda_Installation_Notes -The configuration in this HOWTO is called "daily". The file tapes are also -called vtapes in this document, which stands for "virtual tapes". -Please be sure to understand the differences between holding disks and file -tapes. The two serve different purposes; holding disks allow for parallelism of -multiple DLE's being backed up while file tapes are a replacement for physical -tapes. -Before beginning you will need to decide on (a) dedicated part(s) of your hard -disk(s) for your file tape storage. While this space could be spread among -several file systems and hard disks, I recommend to dedicate at least a -specific partition, better a specific physical harddisk to the task of keeping -your vtapes. The use of a dedicated disk will speed things up definitely. -The disk space you dedicate for your vtapes should NOT be backed up by Amanda. -Also, for performance reasons there should be NO holding disks on the same -partition as the vtapes, preferably not even on the same physical drive. -If you only have one harddisk, it will work out, too, but you will suffer low -performance due to massive head-moving in your harddisk, resulting from copying -data between the filesystems. -Steps - - 1. Prepare the filesystem(s) used for the tapes. - Decide on where to put your files, create the appropriate partition(s) and - filesystem(s) and mount them. - In our example we have the dedicated partition hdc1, mounted on / - amandatapes for vtape storage. - - $ mount - [...] - /dev/hdc1 on /amandatapes type reiserfs (rw) - [...] - - - Make sure there is space left. Determine the amount of space you will use. - - $ df -h /amandatapes - Filesystem Size Used Avail Use% Mounted on - /dev/hdc1 20G 0G 20G 0% /amandatapes - - - In our example we have 20GB diskspace left on /amandatapes. - 2. Determine length and number of tapes - After deciding on the number of vtapes you want to create, evenly allocate - the available space among them. - Look at the following rule of thumb: - As many filesystems exhibit dramatically reduced performance when they are - nearly full I have chosen to allocate only 90% of the available space. So - we have: - (Available Space * 0.9) >= tapelength * tapecycle - This is a very conservative approach to make sure you don´t suffer any - performance drop due to a nearly-full-filesystem. - As it is uncommon for Amanda to fill, or almost fill an entire tape you - may also wish to use more space than that. - So you could determine possible combinations of tapelength/tapecycle with - the more general formula: - Available Space >= tapelength * tapecycle - In our example we take the conservative approach: - - * 20 GB * 0.9 = 18 GB to use - and so we could create the following combinations: - - - * 18 GB = 18 GB * 1 - * 18 GB = 9 GB * 2 - * 18 GB = 6 GB * 3 - * 18 GB = 3 GB * 6 - * 18 GB = ......... you get the picture. - - Using only one tape is generally considered a bad idea when it comes to - backup, so we should use at least 3 tapes (for testing purposes), better 6 - or more tapes. - - * 18 GB = 3 GB * 6 - so we get the value 3 GB for the tapelength if we want to use 6 tapes. - - 3. Create a tapetype definition. - Add a new tapetype definition similar to the following to your - amanda.conf. I named my definition "HARD-DISK". Choose whatever name you - consider appropriate. - - define tapetype HARD-DISK { - comment "Dump onto hard disk" - length 3072 mbytes # specified in mbytes to get the exact size of 3GB - } - - - You don´t have to specify the parameter speed (as it is commonly listed in - tapetype definitions and reported by the program amtapetype). Amanda does - not use this parameter right now. - There is also an optional parameter filemark, which indicates the amount - of space "wasted" after each tape-listitem. Leave it blank and Amanda uses - the default of 1KB. - 4. Think about tapechangers. - As you will use a set of vtapes, you have to also use a kind of vtape- - changer. There are several tape-changer-scripts included in the Amanda- - tarball. Read more about tape-changer-scripts in Amanda_Tape_Changer - Support. - Right now there are two scripts that can be used with vtapes. These - scripts take different approaches to the handling of tapes. - The script chg-multi handles many drives with a tape in each drive. The - script chg-disk handles a library with one drive and multiple tapes. - So with vtapes you could look at it this way: - chg-multi simulates multiple tape drives with one tape in each drive. chg- - disk simulates one tape-library with multiple tapes in. - As chg-multi exists for a much longer time than chg-disk, it is still used - in many Amanda-vtape-installations. - chg-disk was introduced with the snapshot 20031202. Contrary to chg-multi, - which is a generic changer-script that must be somewhat adjusted to the - use of the file-driver, chg-disk offers exactly the behavior needed for - handling vtapes - IMHO the approach is much more logical, so I recommend to use chg-disk in - new Amanda-vtape-installations. - - Note - - To use chg-disk you need to have at least amanda-2.4.4p1-20031202. - Choose the one that fits your way of vtape-handling and -maintenance. - In this HOWTO I only cover the use of chg-disk. Usage of chg-multi is - pretty similar and will maybe covered in a later version of this document. - 5. Set up your tape-config. - In the general section you have to set the parameters tapecycle , tapetype - , tpchanger , changerfile , tapedev , rawtapedev and changerdev. - Example: - - $ vi /usr/local/etc/amanda/daily/amanda.conf - ... - - tapecycle 6 - tapetype HARD-DISK - tpchanger "chg-disk" - changerfile "/usr/local/etc/amanda/daily/changer" - tapedev "file:/amandatapes/daily" - - - This reflects the use of your defined tapetype. - The parameter tapecycle tells Amanda how much tapes can be used, Set this - value according to the number of tapes you want to use. - The parameter tapetype , points to the tapetype definition you have - created before. - The parameter tpchanger tells Amanda to use the generic tape-changer- - script to handle the vtapes. You can think of it as a virtual tape- - changer-device. - The parameter changerfile is used to give chg-disk the "prefix" for the - "%s-changer, %s-clean, %s-slot" files it needs. Use something like - "changer" in your config-dir. Please note that this file does NOT have to - exist, but it won't hurt anyway. - The parameter tapedev tells the chg-disk-script where the root-dir for - your vtapes is. - In our example the vtape-files go to /amandatapes. - To separate multiple configurations, we decided to use subdirectories - according to the configuration name "daily". - - Note - - The parameter changerdev is NOT needed with chg-disk as it is not parsed - by chg-disk. - 6. Create the virtual tapes. - - Note - - Gene Heskett has committed a shell-script which creates and labels the - vtapes in one step. Stefan G. Weichinger will generalize this script and - contribute it, this script will just read your settings in amanda.conf and - create the appropriate vtape-directories. - Now you have to create the tape-directories. chg-disk needs a directory - structure like: - - slot_root_dir -| - |- info - |- data -> slot1/ - |- slot1/ - |- slot2/ - |- ... - |- slotn/ - - - where 'slot_root_dir' is the tapedev 'file:xxx' parameter and 'n' is the - tapecycle parameter. - So in our example we do: - - $ mkdir /amandatapes/daily - - - for the 'slot_root_dir' and - - $ mkdir /amandatapes/daily/slot1 - $ mkdir /amandatapes/daily/slot2 - .... - - - for the virtual slots that will later contain the vtapes. - If you have many vtapes to create and their names follow a pattern you may - be able to do them all with a single loop such as: - - $ for n in 1 2 3 4 5 6 7 8 9 10 11 12 - > do - > mkdir /amandatapes/daily/slot${n} - > done - - - Create the info-file: - - $ touch /amandatapes/daily/info - - - and link the first slot to the data-file (to "load" the vtape into the - first slot): - - $ ln -s /amandatapes/daily/slot1 /amandatapes/daily/data - - - Make sure the Amanda-user has write-permissions on these directories: - - $ chown -R amanda_user /amandatapes - $ chgrp -R amanda_group /amandatapes - $ chmod -R 750 /amandatapes - - - 7. Label the virtual tapes. - As the virtual tapes are handled just like physical tapes by the Amanda- - Server they have to be labeled before use. - - Usage: amlabel [-f]