diff --git a/.gear-rules b/.gear-rules index fee23b7..b8d17b9 100644 --- a/.gear-rules +++ b/.gear-rules @@ -1,5 +1,5 @@ -copy: *.8 copy: *.conf +copy: *.old copy: *.patch copy: *.po copy: *.rsync diff --git a/ChangeLog-rpm.old b/ChangeLog-rpm.old new file mode 100644 index 0000000..22b24df --- /dev/null +++ b/ChangeLog-rpm.old @@ -0,0 +1,497 @@ +* Mon Jun 10 2002 Ivan Zakharyaschev 0.3.19cnc55-alt6 + +- fixes in genbasedir from apt-utils: + + srclist generation: now it correctly includes the information on produced + binaries (the list was empty before), and also correctly treats --mapi + (the fixed bug caused misbehaviour of 'apt-get source', in the "2nd branch + of DoSource()" as referenced by me in previous changelogs); + + --flat option. + +* Sun Jun 09 2002 Ivan Zakharyaschev 0.3.19cnc55-alt5 + +- renamed the 'build' subpackage to 'utils' (because there is already + an 'apt-build' project at freshmeat.net). + +* Sun Jun 09 2002 Ivan Zakharyaschev 0.3.19cnc55-alt4 + +- separate subpkg 'build': analoguous to rpm-build, contains teh utilities to + generate indices (as a consequence less dependencies of 'apt' pkg, + little size); +- fix the work of 'apt-get source' for source packages with multiple binaries + with help of feedback and debugging patches from Anton Denisov + (only the first branch of control flow in DoSource() + is fixed, but that should be enough for normal use). + +* Tue Mar 26 2002 Dmitry V. Levin 0.3.19cnc55-alt3 + +- Added librpm-4.0.4 build support. +- Built with librpm-4.0.4, updated buildrequires. + +* Thu Mar 21 2002 Dmitry V. Levin 0.3.19cnc55-alt2 + +- Added kernel-aureal and NVIDIA_kernel to default AllowedDupPkgs. +- Updated patch for pkgRPMPM::ExecRPM. +- Reenabled rsh method. +- Updated rpmpriorities. +- fixed genbasedir patch. +- Set explicit Packager tag. +- Dropped obsolete trigger. +- libapt: Conflicts: apt < %version-%release. +- Renamed patches. + +* Wed Mar 13 2002 Alexander Bokovoy 0.3.19cnc55-alt1 + +- apt-0.3.19cnc55 integrated +- Fixed: + + rpmpm-exec_rpm patch + + genbasedir +- Removed: + + rpmpm-nodeps patch (already upstream) + + rsh method (already upstream) + +* Mon Dec 10 2001 Dmitry V. Levin 0.3.19cnc53-alt6 + +- Fixed rpm --nodeps option usage in pkgRPMPM::ExecRPM (#0000215). + +* Fri Nov 23 2001 Dmitry V. Levin 0.3.19cnc53-alt5 + +- Applied scoring algorithm patch (Stelian Pop ) +- Updated package requires. + +* Mon Nov 19 2001 Dmitry V. Levin 0.3.19cnc53-alt4 + +- Dropped outdated pofile (already upstream). +- Corrected "Executing RPM" message generation. + +* Fri Nov 16 2001 Dmitry V. Levin 0.3.19cnc53-alt3 + +- Updated patches: genbasedir, configure-db3, i18n. + +* Thu Nov 15 2001 Alexander Bokovoy 0.3.19cnc53-alt2 + ++ apt-0.3.19cnc53-2cl integrated. Most of our patches moved to upstream +- Fixed (from Conectiva's changelog): + + fixed bug in mirror patch + + cleaned up gen{pkg,src}list (Alexander Bokovoy ) + + * Skips correctly over empty package directories + + * Adds the --bz2only argument which makes genbasedir + + to generate only the .bz2 compressed versions of pkglist + + and srclist (space gain...) + + * Doesn't change the timestamps on pkglists/srclists if + + the contents are not modified (making possible for example + + to make several consecutive runs of genbasedir without + + having the apt clients download the indexes again and again). + + * Some minor cleanups (remove the temporary files in /tmp + + at the end of the script etc). + + (Stelian Pop ) + + cleanup patch for gensrclist (Stelian Pop ) + + fixed multi-arch pkg handling (Stelian Pop ) + + updated russian translation (Alexander Bokovoy + + updated i18n (Dmitry Levin ) + + replaced Apt::GPG::Pubring with Apt::GPG::PubringPath + also uses --homedir instead of --keyring in gpg + (Alexander Bokovoy ) + + patch to detect replaced (instead of just removed) packages + Dmitry Levin + + updated mirrors patch + + Fixed mirrors infinite loop bug (closes: #4420). + + Fixed error handling. +- Added: + + added kernel-tape to default AllowedDupPkgs + + added patch to fix bug in genbasedir with empty dirs + (Stelian Pop ) + + added -K (RPM::Check-Signatures) option to verify rpm sigs + + Added mirrors patch. + +* Fri Nov 02 2001 Dmitry V. Levin 0.3.19cnc52-alt6 + +- Initial build with rpm4. + +* Thu Oct 04 2001 Dmitry V. Levin 0.3.19cnc52-alt5 + +- Fixed i18n support and probably smth else + (configure.in, config.h.in and i18n.h were broken, kojima sux). +- Implemented 18n for apt-pkg/rpm, updated POTFILES.in and russian translation. + +* Mon Oct 01 2001 Dmitry V. Levin 0.3.19cnc52-alt4 + +- Removed "^(kernel|alsa)[0-9]*-headers" from RPM::HoldPkgs list. +- Added (experimental) replaced packages support. + +* Fri Sep 07 2001 Ivan Zakharyaschev 0.3.19cnc52-alt3.1 + +- apt-cdrom fix (patch 6) reworked: apt-cdrom used to not detect a second + list file (srclist) if both (pkglist and srclist) were present in one + directory on the disk (in non-thorough mode); hopefully now it works how + we expect it to do. + +* Thu Aug 09 2001 Dmitry V. Levin 0.3.19cnc52-alt3 + +- Libification. +- Reworked compilation options again: we add only '-fno-exceptions' now. + +* Tue Aug 07 2001 Dmitry V. Levin 0.3.19cnc52-alt2 + +- More code cleanup in tools/gen{pkg,src}list.cc. +- Added %optflags_nocpp to compilation options. + +* Mon Aug 06 2001 Alexander Bokovoy 0.3.19cnc52-alt1 + +- cnc52, gcc 3 and Solaris fixes +- RPM4 check is disabled for the moment +- File method fix has been integrated into mainstream +- RPM::RemoveOptions, RPM::UpdateOptions have been added +- Generation of Package list fixed + +* Thu Aug 02 2001 Dmitry V. Levin 0.3.19cnc51-alt4 + +- Added trigger for better apt-conf-* migration. + +* Tue Jul 31 2001 Dmitry V. Levin 0.3.19cnc51-alt3 + +- Updated: + + rpmpriorities, + + AllowedDupPkgs, + + HoldPkgs. +- Moved *.list to apt-conf-* packages. + +* Fri Jul 20 2001 Alexander Bokovoy 0.3.19cnc51-alt2 + +- Fixed: + + Bug in file method which prevented authentication from working correctly + +* Fri Jul 20 2001 Alexander Bokovoy 0.3.19cnc51-alt1 + +- cnc51 + +* Wed Jun 27 2001 Alexander Bokovoy 0.3.19cnc46-alt2 + +- cnc46 +- kernel(|24)-{headers,source} added to HoldPkgs +- REPOSITORIO-APT-HOWTO added (Portugal) +- AllowedDupPackages -> AllowedDupPkgs + +* Thu Jun 07 2001 Dmitry V. Levin 0.3.19cnc38-alt4 + +- Various fixes in /usr/bin/genbasedir. + +* Thu May 17 2001 Dmitry V. Levin 0.3.19cnc38-alt3 + +- Fixed build. +- Updated rpmpriorities. + +* Mon Apr 16 2001 Alexander Bokovoy 0.3.19cnc38-alt2 + +- More duplicate packages from kernel series allowed. + +* Sun Apr 15 2001 Alexander Bokovoy 0.3.19cnc38-alt1 + +- cnc38 +- Updated: + + apt-cdrom now works correctly + + default architecture has been changed to i586 + + ssh method as wrapper to rsh one + +* Mon Mar 19 2001 Alexander Bokovoy 0.3.19cnc37-ipl3mdk + +- Updated: + + New patch for genbasedir to allow pass default key to GnuPG + +* Sun Mar 18 2001 Dmitry V. Levin 0.3.19cnc37-ipl2mdk + +- Fixed: + + Build/installation of manpages without yodl sources; + + Uncompressed small patches. +- Updated: + + AllowedDupPackages list according to new kernel naming scheme; + + URLs to use new domain name. + +* Sat Mar 17 2001 Alexander Bokovoy 0.3.19cnc37-ipl1mdk + +- Fixed: + + APT::GPG::Pubring renamed to APT::GPG::PubringPath + + Pubring support patch changed to use --homedir instead of --keyring +- Updated: + + APT cnc37 + + Fingerprint and repository sources changed to reflect ALT Linux + new public key ring + +* Mon Feb 19 2001 Alexander Bokovoy 0.3.19cnc36-ipl4mdk + +- Sisyphus source repository added to sources.list + +* Mon Feb 19 2001 Alexander Bokovoy 0.3.19cnc36-ipl3mdk + +- New version + +* Fri Feb 16 2001 Alexander Bokovoy 0.3.19cnc35-ipl2mdk + +- Static library compilation added +- Static library goes to apt-devel-static due sizes of library + +* Thu Feb 15 2001 Alexander Bokovoy 0.3.19cnc35-ipl1mdk + +- New version +- Rsh method from upstream apt-get ported +- Spec file follows libification of rpm now + +* Mon Jan 22 2001 Alexander Bokovoy 0.3.19cnc32-ipl4mdk + +- New upstream version +- Russian translation updated +- Rebuild with new RPM library + +* Mon Jan 22 2001 Alexander Bokovoy 0.3.19cnc28-ipl1mdk + +- New upstream version +- cnc28 still lacks correct GNUPG checking code, our patch is neccessary. +- Genbasedir slightly patched again. + +* Sun Jan 21 2001 Alexander Bokovoy ipl11mdk + +- Typo in methods/gpg.cc fixed. + +* Sun Jan 21 2001 Alexander Bokovoy ipl10mdk + +- APT::GPG::Pubring option to specify default gnupg public ring added to check + distributors' signs automatically via default pubring in RPM package +- ftp user password changed to IPL one. + +* Tue Jan 09 2001 Dmitry V. Levin 0.3.19cnc27-ipl7mdk + +- Specfile cleanup. + +* Mon Jan 08 2001 Alexander Bokovoy ipl5mdk + +- genbasedir help message fixed + +* Mon Jan 08 2001 Alexander Bokovoy ipl4mdk + +- Integration with main IPL package: +- Russian translation for command line messages added +- Russian translation of package summary/description + +* Thu Jan 04 2001 AEN + +- Real Sisyphus URL & IPLabs Fingerptint added +- changed rpmpriorities + +* Thu Jan 04 2001 AEN + +- build for RE + +* Tue Dec 12 2000 Frederic Lepied 0.3.19cnc27-1mdk + +- first mandrake version. + +* Thu Dec 07 2000 Andreas Hasenack + +- damn! Wrong URL in sources.list, atualizacoes.conectiva.com + doesn't exist, of course... + +* Thu Dec 07 2000 Andreas Hasenack + +- updated sources.list with new mirrors and new download tree +- removed (noreplace) for the sources.list file for this + upgrade. It will be easier for the user. The (noreplace) + should be back in place after this update as we expect no + further big modifications for that file, only new mirrors. + +* Wed Dec 06 2000 Alfredo K. Kojima + +- fixed prob in vendors.list + +* Tue Dec 05 2000 Alfredo K. Kojima + +- released version 0.3.19cnc27 + +* Wed Nov 08 2000 Alfredo K. Kojima + +- released version 0.3.19cnc26 + +* Mon Nov 06 2000 Alfredo K. Kojima + +- released version 0.3.19cnc25 + +* Thu Nov 02 2000 Alfredo K. Kojima + +- released version 0.3.19cnc24 + +* Thu Nov 02 2000 Rud Moura + +- updated source.list (again) + +* Thu Nov 02 2000 Rud Moura + +- updated source.list + +* Wed Nov 01 2000 Alfredo K. Kojima + +- released version 0.3.19cnc23 +- added cache directories for gen{pkg,src}list +- pt_BR manpages + +* Tue Oct 31 2000 Alfredo K. Kojima + +- released version 0.3.19cnc22 +- Requires -> PreReq in apt-devel + +* Mon Oct 30 2000 Alfredo Kojima + +- collapsed libapt-pkg-devel and -doc to apt-devel + +* Mon Oct 30 2000 Alfredo K. Kojima + +- released version 0.3.19cnc21 + +* Sun Oct 29 2000 Alfredo K. Kojima + +- released version 0.3.19cnc20 + +* Sun Oct 29 2000 Alfredo K. Kojima + +- released version 0.3.19cnc19 +- added gensrclist +- support for apt-get source + +* Fri Oct 27 2000 Alfredo K. Kojima + +- released version 0.3.19cnc18 + +* Thu Oct 26 2000 Alfredo K. Kojima + +- released version 0.3.19cnc17 +- new manpages + +* Wed Oct 25 2000 Alfredo K. Kojima + +- released version 0.3.19cnc16 + +* Sun Oct 22 2000 Alfredo K. Kojima + +- released version 0.3.19cnc15 + +* Sat Oct 21 2000 Alfredo K. Kojima + +- released version 0.3.19cnc14 + +* Thu Oct 19 2000 Claudio Matsuoka + +- new upstream release: 0.3.9cnc13 + +* Tue Oct 17 2000 Eliphas Levy Theodoro + +- added rpmpriorities to filelist and install + +* Tue Oct 17 2000 Claudio Matsuoka + +- updated to 0.3.19cnc12 +- fresh CVS snapshot including: support to Acquire::ComprExtension, + debug messages removed, fixed apt-cdrom, RPM DB path, rpmlib call + in pkgRpmLock::Close(), package priority kludge removed, i18n + improvements, and genbasedir/genpkglist updates. +- handling language setting in genpkglist to make aptitude happy + +* Wed Oct 11 2000 Alfredo K. Kojima + +- released version 0.3.19cnc11 +- fixed problem with shard lib symlinks + +* Tue Oct 10 2000 Alfredo K. Kojima + +- released version 0.3.19cnc10 + +* Mon Oct 02 2000 Claudio Matsuoka + +- fixed brown paper bag bug with method permissions +- added parameter --sign to genbasedir +- added html/text doc files + +* Sat Sep 30 2000 Claudio Matsuoka + +- bumped to 0.3.19cnc9 +- added vendors.list +- added gpg method +- fixed minor stuff to make Aptitude work +- added missing manpages +- fixed shared libs +- split in apt, libapt-pkg, libapt-pkg-devel, libapt-pkg-doc +- rewrote genbasedir in shell script (original was in TCL) +- misc cosmetic changes + +* Tue Sep 26 2000 Alfredo K. Kojima + +- released version 0.3.19cnc8 + +* Wed Sep 20 2000 Alfredo K. Kojima + +- released version 0.3.19cnc7 + +* Mon Sep 18 2000 Alfredo K. Kojima + +- released version 0.3.19cnc6 + +* Sat Sep 16 2000 Alfredo K. Kojima + +- released version 0.3.19cnc5 + +* Fri Sep 15 2000 Alfredo K. Kojima + +- released version 0.3.19cnc4 + +* Tue Sep 12 2000 Alfredo K. Kojima + +- released version 0.3.19cnc3 + +* Tue Sep 05 2000 Alfredo K. Kojima + +- renamed package to apt, with version 0.3.19cncV + +* Tue Sep 05 2000 Alfredo K. Kojima + +- 0.10 +- added genpkglist and rapt-config +- program names changed back to apt-* + +* Mon Sep 04 2000 Alfredo K. Kojima + +- 0.9 + +* Mon Sep 04 2000 Alfredo K. Kojima + +- 0.8 + +* Mon Sep 04 2000 Alfredo K. Kojima + +- 0.7 + +* Fri Sep 01 2000 Alfredo K. Kojima + +- fixed typo in sources.list + +* Thu Aug 31 2000 Alfredo K. Kojima + +- version 0.6 + +* Thu Aug 31 2000 Alfredo K. Kojima + +- version 0.5 + +* Thu Aug 31 2000 Alfredo K. Kojima + +- version 0.4 + +* Wed Aug 30 2000 Alfredo K. Kojima + +- version 0.3 + +* Mon Aug 28 2000 Alfredo K. Kojima + +- second try. new release with direct hdlist handling + +* Thu Aug 10 2000 Alfredo K. Kojima + +- initial package creation. Yeah, it's totally broken for sure. + diff --git a/apt-0.3.19cnc53-stelian-apt-pkg-algorithms-scores.patch b/apt-0.3.19cnc53-stelian-apt-pkg-algorithms-scores.patch deleted file mode 100644 index 13648d7..0000000 --- a/apt-0.3.19cnc53-stelian-apt-pkg-algorithms-scores.patch +++ /dev/null @@ -1,47 +0,0 @@ -On Tue, Nov 20, 2001 at 02:28:53PM +0200, Matilainen Panu wrote: - -> > I think this is the same bug (if it's a bug of course). -[...] -> The sane-split? I got it working by changing sane-frontends to have -> Provides: sane = %{version} -> and sane-backends -> Conflicts: sane < %{version} -> -> With the additional version information it manages to sort this out -> correctly. - -I managed to find a hack permitting this to work without any -package modifications: when package scores are calculated -(based on package priorities and Depends:), I've added some -additionnal code to increment the priority of a package which -obsoletes another. This additionnal 'point' score makes the -right package to be selected for installation. - -It works for me in simple cases, but it definately needs more -testing. - -Comments ? - -Stelian. - - ---- apt-0.5.4cnc9/apt-pkg/algorithms.cc.orig Wed Nov 21 17:45:34 2001 -+++ apt-0.5.4cnc9/apt-pkg/algorithms.cc Wed Nov 21 17:46:12 2001 -@@ -566,6 +566,8 @@ - { - if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends) - Scores[D.TargetPkg()->ID]++; -+ if (D->Type == pkgCache::Dep::Obsoletes) -+ Scores[I->ID]++; - } - } - --- -Stelian Pop -|---------------- Free Software Engineer -----------------| -| Alcve - http://www.alcove.com - Tel: +33 1 49 22 68 00 | -|------------- Alcve, liberating software ---------------| -_______________________________________________ -Apt-rpm mailing list -Apt-rpm@distro.conectiva.com.br -http://distro.conectiva.com.br/mailman/listinfo/apt-rpm diff --git a/apt-0.5.5cnc1-alt-debsystem.patch b/apt-0.5.15cnc5-alt-debsystem.patch similarity index 52% rename from apt-0.5.5cnc1-alt-debsystem.patch rename to apt-0.5.15cnc5-alt-debsystem.patch index 05edc71..a0cf1d4 100644 --- a/apt-0.5.5cnc1-alt-debsystem.patch +++ b/apt-0.5.15cnc5-alt-debsystem.patch @@ -1,6 +1,7 @@ ---- apt-0.5.5cnc1/apt-pkg/deb/debsystem.cc.orig 2002-07-23 21:54:51 +0400 -+++ apt-0.5.5cnc1/apt-pkg/deb/debsystem.cc 2003-02-13 16:05:56 +0300 -@@ -185,6 +185,8 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/deb/debsystem.cc apt-0.5.15cnc5/apt-pkg/deb/debsystem.cc +--- apt-0.5.15cnc5.orig/apt-pkg/deb/debsystem.cc 2003-12-23 23:18:33 +0300 ++++ apt-0.5.15cnc5/apt-pkg/deb/debsystem.cc 2004-01-16 15:12:44 +0300 +@@ -185,6 +185,8 @@ bool debSystem::ArchiveSupported(const c signed debSystem::Score(Configuration const &Cnf) { signed Score = 0; diff --git a/apt-0.5.15cnc5-alt-defaults.patch b/apt-0.5.15cnc5-alt-defaults.patch new file mode 100644 index 0000000..6f5acdf --- /dev/null +++ b/apt-0.5.15cnc5-alt-defaults.patch @@ -0,0 +1,40 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmpackagedata.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmpackagedata.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmpackagedata.cc 2003-12-23 23:19:36 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmpackagedata.cc 2004-01-16 15:14:46 +0300 +@@ -21,7 +21,7 @@ RPMPackageData::RPMPackageData() + #endif + { + // Populate priorities +- string FileName = _config->FindFile("Dir::Etc::rpmpriorities"); ++ string FileName = _config->FindFile("Dir::Etc") + "pkgpriorities"; + FileFd F(FileName, FileFd::ReadOnly); + if (_error->PendingError()) + { +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmpm.cc 2003-12-23 23:19:20 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc 2004-01-16 15:14:33 +0300 +@@ -493,7 +493,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + } + } + +- if (_config->FindB("RPM::Order",false) == false) ++ if (_config->FindB("RPM::Order",true) == false) + Args[n++] = "--noorder"; + + bool FilesInArgs = true; +diff -uprk.orig apt-0.5.15cnc5.orig/buildlib/archtable apt-0.5.15cnc5/buildlib/archtable +--- apt-0.5.15cnc5.orig/buildlib/archtable 2003-12-23 23:15:23 +0300 ++++ apt-0.5.15cnc5/buildlib/archtable 2004-01-16 15:14:33 +0300 +@@ -5,8 +5,10 @@ + + # The left side is a regex for awk + +-i.86 i386 +-pentium i386 ++i[34]86 i386 ++i.86 i586 ++pentium.* i586 ++athlon i586 + sparc sparc + sparc64 sparc + alpha.* alpha diff --git a/apt-0.5.15cnc5-alt-distro.patch b/apt-0.5.15cnc5-alt-distro.patch new file mode 100644 index 0000000..db75328 --- /dev/null +++ b/apt-0.5.15cnc5-alt-distro.patch @@ -0,0 +1,36 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmsystem.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsystem.cc 2003-12-23 23:19:32 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmsystem.cc 2004-01-16 15:11:40 +0300 +@@ -132,7 +132,7 @@ bool rpmSystem::Initialize(Configuration + Cnf.CndSet("Dir::Etc::translateparts", "translate.list.d"); + Cnf.CndSet("Dir::State::prefetch", "prefetch"); + Cnf.CndSet("Dir::Locale","/usr/share/locale"); +- Cnf.CndSet("Acquire::DistroID","Conectiva"); // hee hee ++ Cnf.CndSet("Acquire::DistroID","ALT Linux"); // hee hee + Cnf.CndSet("Acquire::CDROM::Mount", "/mnt/cdrom"); + Cnf.CndSet("Acquire::CDROM::Copy-All", "true"); + +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-cdrom.cc apt-0.5.15cnc5/cmdline/apt-cdrom.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-cdrom.cc 2003-12-23 23:31:19 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-cdrom.cc 2004-01-16 15:11:40 +0300 +@@ -700,7 +700,7 @@ bool DoAdd(CommandLine &) + Name.empty() == true) + { + // CNC:2003-11-25 +- cout << _("Please provide a name for this Disc, such as 'Distribution Disk 1'"); ++ cout << _("Please provide a name for this Disc, such as 'ALT Linux Disk 1'"); + while (1) + { + Name = PromptLine(""); +diff -uprk.orig apt-0.5.15cnc5.orig/methods/ftp.cc apt-0.5.15cnc5/methods/ftp.cc +--- apt-0.5.15cnc5.orig/methods/ftp.cc 2003-12-23 23:24:24 +0300 ++++ apt-0.5.15cnc5/methods/ftp.cc 2004-01-16 15:11:40 +0300 +@@ -190,7 +190,7 @@ bool FTPConn::Login() + // Setup the variables needed for authentication + string User = "anonymous"; + // CNC:2003-06-16 +- string Pass = "apt_get_ftp_2.1@rpm.linux.user"; ++ string Pass = "apt_get_ftp_2.1@alt.linux.user"; + + // Fill in the user/pass + if (ServerName.User.empty() == false) diff --git a/apt-0.5.15cnc5-alt-fixes.patch b/apt-0.5.15cnc5-alt-fixes.patch new file mode 100644 index 0000000..fb3bf6e --- /dev/null +++ b/apt-0.5.15cnc5-alt-fixes.patch @@ -0,0 +1,130 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/pkgsystem.h apt-0.5.15cnc5/apt-pkg/pkgsystem.h +--- apt-0.5.15cnc5.orig/apt-pkg/pkgsystem.h 2003-12-23 23:23:22 +0300 ++++ apt-0.5.15cnc5/apt-pkg/pkgsystem.h 2004-01-16 14:33:07 +0300 +@@ -90,7 +90,7 @@ class pkgSystem + // Return a list of system index files.. + virtual bool AddStatusFiles(std::vector &List) = 0; + // CNC:2003-11-21 +- virtual bool AddSourceFiles(std::vector &List) {}; ++ virtual void AddSourceFiles(std::vector &List) {}; + virtual bool FindIndex(pkgCache::PkgFileIterator File, + pkgIndexFile *&Found) const = 0; + +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmhandler.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmhandler.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmhandler.cc 2003-12-23 23:19:22 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmhandler.cc 2004-01-16 14:30:11 +0300 +@@ -87,7 +87,7 @@ bool RPMFileHandler::Jump(unsigned Offse + { + if (FD == NULL) + return false; +- if (lseek(Fileno(FD),Offset,SEEK_SET) != Offset) ++ if (lseek(Fileno(FD),Offset,SEEK_SET) != (off_t)Offset) + return false; + return Skip(); + } +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmpm.cc 2003-12-23 23:19:20 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc 2004-01-16 14:29:19 +0300 +@@ -392,7 +392,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + + Args[n++] = _config->Find("Dir::Bin::rpm","rpm").c_str(); + +- bool nodeps; ++ bool nodeps = false; + + switch (op) + { +@@ -415,6 +415,8 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + operation = "-e"; + nodeps = true; + break; ++ default: ++ return false; + } + Args[n++] = operation; + +@@ -654,8 +656,7 @@ pkgRPMLibPM::~pkgRPMLibPM() + + bool pkgRPMLibPM::AddToTransaction(Item::RPMOps op, vector &files) + { +- int debug = _config->FindB("Debug::pkgRPMPM", false); +- int n = 0, rc, xx; ++ int rc; + FD_t fd; + rpmHeader hdr; + +@@ -735,7 +736,6 @@ bool pkgRPMLibPM::Process(vectorFindB("Debug::pkgRPMPM", false); + string Dir = _config->Find("RPM::RootDir"); + rpmReadConfigFiles(NULL, NULL); + +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmsystem.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsystem.cc 2003-12-23 23:19:32 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmsystem.cc 2004-01-16 14:33:07 +0300 +@@ -249,7 +249,7 @@ bool rpmSystem::AddStatusFiles(vector &List) ++void rpmSystem::AddSourceFiles(vector &List) + { + const Configuration::Item *Top; + Top = _config->Tree("APT::Arguments"); +@@ -266,7 +266,6 @@ bool rpmSystem::AddSourceFiles(vector &List); +- virtual bool AddSourceFiles(vector &List); ++ virtual void AddSourceFiles(vector &List); + virtual bool FindIndex(pkgCache::PkgFileIterator File, + pkgIndexFile *&Found) const; + virtual bool ProcessCache(pkgDepCache &Cache,pkgProblemResolver &Fix); +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-get.cc apt-0.5.15cnc5/cmdline/apt-get.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-get.cc 2003-12-23 23:30:50 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-get.cc 2004-01-16 21:55:48 +0300 +@@ -3078,6 +3078,15 @@ int main(int argc,const char *argv[]) + return 100; + } + ++ // See if the help should be shown ++ if (_config->FindB("help") == true || ++ _config->FindB("version") == true || ++ CmdL.FileSize() == 0) ++ { ++ ShowHelp(CmdL); ++ return 0; ++ } ++ + // CNC:2003-11-21 + if (CmdL.FileSize() != 1) + { +@@ -3102,15 +3111,6 @@ int main(int argc,const char *argv[]) + _config->Set("APT::Arguments::", *I); + } + +- // See if the help should be shown +- if (_config->FindB("help") == true || +- _config->FindB("version") == true || +- CmdL.FileSize() == 0) +- { +- ShowHelp(CmdL); +- return 0; +- } +- + // Deal with stdout not being a tty + if (ttyname(STDOUT_FILENO) == 0 && _config->FindI("quiet",0) < 1) + _config->Set("quiet","1"); diff --git a/apt-0.5.4cnc9-alt-getsrc.patch b/apt-0.5.15cnc5-alt-getsrc.patch similarity index 65% rename from apt-0.5.4cnc9-alt-getsrc.patch rename to apt-0.5.15cnc5-alt-getsrc.patch index 97b69a7..a689104 100644 --- a/apt-0.5.4cnc9-alt-getsrc.patch +++ b/apt-0.5.15cnc5-alt-getsrc.patch @@ -27,9 +27,14 @@ which helps to determine which of the branches is really used.) imz@altlinux.ru, 28 Sep 2002. ---- apt-0.5.4cnc9/apt-pkg/deb/debsrcrecords.h.getsrc 2002-07-25 22:07:18 +0400 -+++ apt-0.5.4cnc9/apt-pkg/deb/debsrcrecords.h 2002-10-29 00:45:07 +0300 -@@ -34,6 +34,9 @@ +Ported to apt-0.5.15cnc4. + +avd@altlinux.org 2003-12-09 + +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/deb/debsrcrecords.h apt-0.5.15cnc5/apt-pkg/deb/debsrcrecords.h +--- apt-0.5.15cnc5.orig/apt-pkg/deb/debsrcrecords.h 2003-12-23 23:19:00 +0300 ++++ apt-0.5.15cnc5/apt-pkg/deb/debsrcrecords.h 2004-01-16 15:18:13 +0300 +@@ -34,6 +34,9 @@ class debSrcRecordParser : public pkgSrc virtual bool Step() {iOffset = Tags.Offset(); return Tags.Step(Sect);}; virtual bool Jump(unsigned long Off) {iOffset = Off; return Tags.Jump(Sect,Off);}; @@ -39,23 +44,13 @@ imz@altlinux.ru, 28 Sep 2002. virtual string Package() const {return Sect.FindS("Package");}; virtual string Version() const {return Sect.FindS("Version");}; virtual string Maintainer() const {return Sect.FindS("Maintainer");}; ---- apt-0.5.4cnc9/apt-pkg/rpm/rpmsrcrecords.h.getsrc 2002-08-09 00:07:33 +0400 -+++ apt-0.5.4cnc9/apt-pkg/rpm/rpmsrcrecords.h 2002-10-29 00:45:07 +0300 -@@ -44,6 +44,8 @@ - virtual bool Step(); - virtual bool Jump(unsigned long Off); - -+ virtual string FileName() const; -+ - virtual string Package() const; - virtual string Version() const; - virtual string Maintainer() const; ---- apt-0.5.4cnc9/apt-pkg/rpm/rpmrecords.cc.getsrc 2002-08-19 20:37:48 +0400 -+++ apt-0.5.4cnc9/apt-pkg/rpm/rpmrecords.cc 2002-10-29 01:02:58 +0300 -@@ -174,7 +174,12 @@ - /* */ - string rpmRecordParser::SourcePkg() +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmrecords.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmrecords.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmrecords.cc 2003-12-23 23:19:50 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmrecords.cc 2004-01-16 15:18:13 +0300 +@@ -178,7 +178,12 @@ string rpmRecordParser::SourcePkg() { + // This must be the *package* name, not the *file* name. We have no + // current way to extract it safely from the file name. - return ""; + char *str; + int_32 count, type; @@ -66,9 +61,10 @@ imz@altlinux.ru, 28 Sep 2002. } /*}}}*/ ---- apt-0.5.4cnc9/apt-pkg/rpm/rpmsrcrecords.cc.getsrc 2002-08-09 00:07:33 +0400 -+++ apt-0.5.4cnc9/apt-pkg/rpm/rpmsrcrecords.cc 2002-10-29 00:57:41 +0300 -@@ -143,6 +143,20 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsrcrecords.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmsrcrecords.cc +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsrcrecords.cc 2003-12-23 23:20:00 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmsrcrecords.cc 2004-01-16 15:18:13 +0300 +@@ -123,6 +123,20 @@ bool rpmSrcRecordParser::Jump(unsigned l return true; } @@ -89,9 +85,22 @@ imz@altlinux.ru, 28 Sep 2002. string rpmSrcRecordParser::Package() const { char *str; ---- apt-0.5.4cnc9/apt-pkg/srcrecords.cc.getsrc 2002-07-23 21:54:50 +0400 -+++ apt-0.5.4cnc9/apt-pkg/srcrecords.cc 2002-10-29 00:45:07 +0300 -@@ -82,7 +82,7 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsrcrecords.h apt-0.5.15cnc5/apt-pkg/rpm/rpmsrcrecords.h +--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmsrcrecords.h 2003-12-23 23:20:01 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmsrcrecords.h 2004-01-16 15:18:13 +0300 +@@ -44,6 +44,8 @@ public: + virtual bool Step(); + virtual bool Jump(unsigned long Off); + ++ virtual string FileName() const; ++ + virtual string Package() const; + virtual string Version() const; + virtual string Maintainer() const; +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/srcrecords.cc apt-0.5.15cnc5/apt-pkg/srcrecords.cc +--- apt-0.5.15cnc5.orig/apt-pkg/srcrecords.cc 2003-12-23 23:19:13 +0300 ++++ apt-0.5.15cnc5/apt-pkg/srcrecords.cc 2004-01-16 15:18:13 +0300 +@@ -82,7 +82,7 @@ bool pkgSrcRecords::Restart() /*}}}*/ // SrcRecords::Find - Find the first source package with the given name /*{{{*/ // --------------------------------------------------------------------- @@ -100,7 +109,7 @@ imz@altlinux.ru, 28 Sep 2002. returns the first found. A 'cursor' like system is used to allow this function to be called multiple times to get successive entries */ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool SrcOnly) -@@ -92,6 +92,8 @@ +@@ -92,6 +92,8 @@ pkgSrcRecords::Parser *pkgSrcRecords::Fi while (true) { @@ -109,7 +118,7 @@ imz@altlinux.ru, 28 Sep 2002. // Step to the next record, possibly switching files while ((*Current)->Step() == false) { -@@ -107,7 +109,7 @@ +@@ -107,7 +109,7 @@ pkgSrcRecords::Parser *pkgSrcRecords::Fi return 0; // Source name hit @@ -117,10 +126,11 @@ imz@altlinux.ru, 28 Sep 2002. + if ((*Current)->FileName() == Package) return *Current; - if (SrcOnly == true) ---- apt-0.5.4cnc9/apt-pkg/srcrecords.h.getsrc 2002-07-25 22:07:18 +0400 -+++ apt-0.5.4cnc9/apt-pkg/srcrecords.h 2002-10-29 00:45:07 +0300 -@@ -66,6 +66,8 @@ + +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/srcrecords.h apt-0.5.15cnc5/apt-pkg/srcrecords.h +--- apt-0.5.15cnc5.orig/apt-pkg/srcrecords.h 2003-12-23 23:20:10 +0300 ++++ apt-0.5.15cnc5/apt-pkg/srcrecords.h 2004-01-16 15:18:13 +0300 +@@ -66,6 +66,8 @@ class pkgSrcRecords virtual unsigned long Offset() = 0; virtual string AsStr() = 0; diff --git a/apt-0.5.5cnc4-alt-install_virtual.patch b/apt-0.5.15cnc5-alt-install_virtual.patch similarity index 51% rename from apt-0.5.5cnc4-alt-install_virtual.patch rename to apt-0.5.15cnc5-alt-install_virtual.patch index 1e5ed0d..bea31d9 100644 --- a/apt-0.5.5cnc4-alt-install_virtual.patch +++ b/apt-0.5.15cnc5-alt-install_virtual.patch @@ -1,12 +1,12 @@ -2003-06-24 Dmitry V. Levin +2004-01-16 Dmitry V. Levin * cmdline/apt-get.cc (TryToInstall): Optimize pure virtual packages install. Add APT::Install::Virtual support. ---- apt-0.5.5cnc4.1.orig/cmdline/apt-get.cc 2003-06-24 21:24:10 +0400 -+++ apt-0.5.5cnc4.1/cmdline/apt-get.cc 2003-06-24 21:29:08 +0400 -@@ -1042,13 +1042,25 @@ bool TryToInstall(pkgCache::PkgIterator +--- apt-0.5.15cnc5/cmdline/apt-get.cc.orig 2003-12-23 23:30:50 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-get.cc 2004-01-16 15:06:11 +0300 +@@ -1208,14 +1208,24 @@ bool TryToInstall(pkgCache::PkgIterator { /* This is a pure virtual package and there is a single available provides */ @@ -15,25 +15,33 @@ + if (Cache[Pkg].CandidateVer == 0 && Pkg->ProvidesList != 0) { - pkgCache::PkgIterator Tmp = Pkg.ProvidesList().OwnerPkg(); -- ioprintf(c1out,_("Note, selecting %s instead of %s\n"), +- // CNC:2003-11-21 - Check if the current candidate is really +- // providing that dependency +- ioprintf(c1out,_("Selecting %s for '%s'\n"), - Tmp.Name(),Pkg.Name()); -- Pkg = Tmp; + if (!Remove) + for (pkgCache::PrvIterator pv = Pkg.ProvidesList(); pv.end() == false; pv++) + { -+ pkgCache::PkgIterator po = pv.OwnerPkg(); ++ pkgCache::PkgIterator Tmp = pv.OwnerPkg(); + // Just marked for install? -+ if (Cache[po].Install() && Cache[po].NewInstall()) ++ if (Cache[Tmp].Install() && Cache[Tmp].NewInstall()) + return true; + } + + if ((Pkg.ProvidesList()->NextProvides == 0 || + (!Remove && _config->FindB("APT::Install::Virtual", false)))) + { -+ pkgCache::PkgIterator po = Pkg.ProvidesList().OwnerPkg(); ++ pkgCache::PkgIterator Tmp = Pkg.ProvidesList().OwnerPkg(); + ioprintf(c1out,_("Note, selecting %s instead of %s\n"), -+ po.Name(),Pkg.Name()); -+ Pkg = po; ++ Tmp.Name(),Pkg.Name()); ++ + pkgCache::VerIterator Ver = Cache[Tmp].CandidateVerIter(Cache); + pkgCache::PrvIterator Prv = Ver.ProvidesList(); + bool Found = false; +@@ -1249,6 +1259,7 @@ bool TryToInstall(pkgCache::PkgIterator + } + } + Pkg = Tmp; + } } diff --git a/apt-0.5.15cnc5-alt-libtool.patch b/apt-0.5.15cnc5-alt-libtool.patch new file mode 100644 index 0000000..f7c88db --- /dev/null +++ b/apt-0.5.15cnc5-alt-libtool.patch @@ -0,0 +1,21 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/configure.in apt-0.5.15cnc5/configure.in +--- apt-0.5.15cnc5.orig/configure.in 2003-12-23 23:15:40 +0300 ++++ apt-0.5.15cnc5/configure.in 2004-01-16 19:50:16 +0300 +@@ -11,8 +11,6 @@ AM_MAINTAINER_MODE + + AC_CONFIG_HEADER([include/config.h:buildlib/config.h.in]) + +-AC_PROG_LIBTOOL +- + dnl Check our C compiler + AC_PROG_CC + AM_PROG_CC_C_O +@@ -22,6 +20,8 @@ dnl Check for other programs + AC_PROG_CXX + AC_PROG_CPP + ++AC_PROG_LIBTOOL ++ + dnl Checks for sockets + SAVE_LIBS="$LIBS" + LIBS="" diff --git a/apt-0.5.4cnc3-alt-md5hash-debug.patch b/apt-0.5.15cnc5-alt-md5hash-debug.patch similarity index 58% rename from apt-0.5.4cnc3-alt-md5hash-debug.patch rename to apt-0.5.15cnc5-alt-md5hash-debug.patch index a4ee141..a1031e9 100644 --- a/apt-0.5.4cnc3-alt-md5hash-debug.patch +++ b/apt-0.5.15cnc5-alt-md5hash-debug.patch @@ -1,6 +1,7 @@ ---- apt-0.5.4cnc3.orig/apt-pkg/acquire-item.cc Sat Jul 27 13:02:53 2002 -+++ apt-0.5.4cnc3/apt-pkg/acquire-item.cc Sat Jul 27 13:34:34 2002 -@@ -786,7 +786,10 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/acquire-item.cc apt-0.5.15cnc5/apt-pkg/acquire-item.cc +--- apt-0.5.15cnc5.orig/apt-pkg/acquire-item.cc 2003-12-23 23:20:28 +0300 ++++ apt-0.5.15cnc5/apt-pkg/acquire-item.cc 2004-01-16 15:26:05 +0300 +@@ -824,7 +824,10 @@ void pkgAcqArchive::Done(string Message, { if (Md5Hash != MD5) { @@ -12,7 +13,7 @@ ErrorText = _("MD5Sum mismatch"); Rename(DestFile,DestFile + ".FAILED"); return; -@@ -916,6 +919,9 @@ +@@ -968,6 +971,9 @@ void pkgAcqFile::Done(string Message,uns { if (Md5Hash != MD5) { @@ -22,9 +23,10 @@ Status = StatError; ErrorText = "MD5Sum mismatch"; Rename(DestFile,DestFile + ".FAILED"); ---- apt-0.5.4cnc3.orig/cmdline/apt-get.cc Sat Jul 27 13:02:53 2002 -+++ apt-0.5.4cnc3/cmdline/apt-get.cc Sat Jul 27 13:41:35 2002 -@@ -1709,6 +1709,9 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-get.cc apt-0.5.15cnc5/cmdline/apt-get.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-get.cc 2003-12-23 23:30:50 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-get.cc 2004-01-16 15:26:05 +0300 +@@ -2382,6 +2382,9 @@ bool DoSource(CommandLine &CmdL) I->Type != "tar") continue; diff --git a/apt-0.5.5cnc1-alt-methods_gpg_homedir.patch b/apt-0.5.15cnc5-alt-methods_gpg_homedir.patch similarity index 73% rename from apt-0.5.5cnc1-alt-methods_gpg_homedir.patch rename to apt-0.5.15cnc5-alt-methods_gpg_homedir.patch index 5a8b1c4..5f17559 100644 --- a/apt-0.5.5cnc1-alt-methods_gpg_homedir.patch +++ b/apt-0.5.15cnc5-alt-methods_gpg_homedir.patch @@ -1,6 +1,7 @@ ---- apt-0.5.5cnc1/methods/gpg.cc.orig 2003-01-31 16:58:32 +0300 -+++ apt-0.5.5cnc1/methods/gpg.cc 2003-02-07 19:09:05 +0300 -@@ -195,7 +195,7 @@ char *getFileSigner(const char *file, co +diff -uprk.orig apt-0.5.15cnc5.orig/methods/gpg.cc apt-0.5.15cnc5/methods/gpg.cc +--- apt-0.5.15cnc5.orig/methods/gpg.cc 2003-12-23 23:24:04 +0300 ++++ apt-0.5.15cnc5/methods/gpg.cc 2004-01-16 15:23:02 +0300 +@@ -196,7 +196,7 @@ char *getFileSigner(const char *file, co else if (pid == 0) { string path = _config->Find("Dir::Bin::gpg", "/usr/bin/gpg"); @@ -9,7 +10,7 @@ const char *argv[16]; int argc = 0; -@@ -206,17 +206,16 @@ char *getFileSigner(const char *file, co +@@ -207,17 +207,16 @@ char *getFileSigner(const char *file, co dup2(fd[1], STDERR_FILENO); unsetenv("LANG"); diff --git a/apt-0.5.4cnc9-alt-packagemanager-CheckRConflicts.patch b/apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch similarity index 68% rename from apt-0.5.4cnc9-alt-packagemanager-CheckRConflicts.patch rename to apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch index 2bf4864..e04c690 100644 --- a/apt-0.5.4cnc9-alt-packagemanager-CheckRConflicts.patch +++ b/apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch @@ -3,8 +3,9 @@ * apt-pkg/packagemanager.cc (pkgPackageManager::CheckRConflicts): Ignore versionless reverse dependencies. ---- apt-0.5.4cnc9/apt-pkg/packagemanager.cc.orig 2002-12-26 21:29:50 +0300 -+++ apt-0.5.4cnc9/apt-pkg/packagemanager.cc 2002-12-26 21:30:48 +0300 +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/packagemanager.cc apt-0.5.15cnc5/apt-pkg/packagemanager.cc +--- apt-0.5.15cnc5.orig/apt-pkg/packagemanager.cc 2003-12-23 23:20:35 +0300 ++++ apt-0.5.15cnc5/apt-pkg/packagemanager.cc 2004-01-16 15:27:18 +0300 @@ -216,7 +216,7 @@ bool pkgPackageManager::CheckRConflicts( if (D.ParentPkg() == Pkg || D.ParentVer() != D.ParentPkg().CurrentVer()) continue; diff --git a/apt-0.5.5cnc4.1-alt-parseargs.patch b/apt-0.5.15cnc5-alt-parseargs.patch similarity index 59% rename from apt-0.5.5cnc4.1-alt-parseargs.patch rename to apt-0.5.15cnc5-alt-parseargs.patch index 9c4c843..740909a 100644 --- a/apt-0.5.5cnc4.1-alt-parseargs.patch +++ b/apt-0.5.15cnc5-alt-parseargs.patch @@ -1,7 +1,7 @@ -diff -uprk.orig apt-0.5.5cnc4.1.orig/apt-pkg/init.cc apt-0.5.5cnc4.1/apt-pkg/init.cc ---- apt-0.5.5cnc4.1.orig/apt-pkg/init.cc 2003-09-28 14:11:04 +0400 -+++ apt-0.5.5cnc4.1/apt-pkg/init.cc 2003-09-28 14:11:22 +0400 -@@ -36,44 +36,44 @@ bool pkgInitConfig(Configuration &Cnf) +diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/init.cc apt-0.5.15cnc5/apt-pkg/init.cc +--- apt-0.5.15cnc5.orig/apt-pkg/init.cc 2004-01-16 15:21:38 +0300 ++++ apt-0.5.15cnc5/apt-pkg/init.cc 2004-01-16 15:21:01 +0300 +@@ -40,44 +40,44 @@ bool pkgInitConfig(Configuration &Cnf) // General APT things if (strcmp(COMMON_OS,"linux") == 0 || strcmp(COMMON_OS,"unknown") == 0) @@ -55,7 +55,7 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/apt-pkg/init.cc apt-0.5.5cnc4.1/apt-pkg/ini - Cnf.Set("Dir::Etc::main","apt.conf"); - Cnf.Set("Dir::Etc::parts","apt.conf.d"); - Cnf.Set("Dir::Etc::preferences","preferences"); -- Cnf.Set("Dir::Bin::methods","/usr/lib/apt"); +- Cnf.Set("Dir::Bin::methods",LIBDIR "/apt/methods"); - Cnf.Set("Acquire::ComprExtension", ".bz2"); + Cnf.CndSet("Dir::Etc::sourceparts","sources.list.d"); + Cnf.CndSet("Dir::Etc::vendorlist","vendors.list"); @@ -63,15 +63,15 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/apt-pkg/init.cc apt-0.5.5cnc4.1/apt-pkg/ini + Cnf.CndSet("Dir::Etc::main","apt.conf"); + Cnf.CndSet("Dir::Etc::parts","apt.conf.d"); + Cnf.CndSet("Dir::Etc::preferences","preferences"); -+ Cnf.CndSet("Dir::Bin::methods","/usr/lib/apt"); ++ Cnf.CndSet("Dir::Bin::methods",LIBDIR "/apt/methods"); + Cnf.CndSet("Acquire::ComprExtension", ".bz2"); bool Res = true; -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-cache.cc apt-0.5.5cnc4.1/cmdline/apt-cache.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-cache.cc 2003-03-08 02:10:43 +0300 -+++ apt-0.5.5cnc4.1/cmdline/apt-cache.cc 2003-09-28 14:11:22 +0400 -@@ -1611,8 +1611,8 @@ int main(int argc,const char *argv[]) +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-cache.cc apt-0.5.15cnc5/cmdline/apt-cache.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-cache.cc 2003-12-23 23:31:15 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-cache.cc 2004-01-16 15:21:01 +0300 +@@ -1952,8 +1952,8 @@ int main(int argc,const char *argv[]) // Parse the command line and initialize the package library CommandLine CmdL(Args,_config); @@ -82,10 +82,10 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-cache.cc apt-0.5.5cnc4.1/cmdlin pkgInitSystem(*_config,_system) == false) { _error->DumpErrors(); -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-cdrom.cc apt-0.5.5cnc4.1/cmdline/apt-cdrom.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-cdrom.cc 2003-09-28 14:11:04 +0400 -+++ apt-0.5.5cnc4.1/cmdline/apt-cdrom.cc 2003-09-28 14:11:22 +0400 -@@ -904,8 +904,8 @@ int main(int argc,const char *argv[]) +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-cdrom.cc apt-0.5.15cnc5/cmdline/apt-cdrom.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-cdrom.cc 2003-12-23 23:31:19 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-cdrom.cc 2004-01-16 15:21:01 +0300 +@@ -901,8 +901,8 @@ int main(int argc,const char *argv[]) // Parse the command line and initialize the package library CommandLine CmdL(Args,_config); @@ -96,9 +96,9 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-cdrom.cc apt-0.5.5cnc4.1/cmdlin pkgInitSystem(*_config,_system) == false) { _error->DumpErrors(); -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-config.cc apt-0.5.5cnc4.1/cmdline/apt-config.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-config.cc 2003-03-08 02:10:37 +0300 -+++ apt-0.5.5cnc4.1/cmdline/apt-config.cc 2003-09-28 14:11:22 +0400 +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-config.cc apt-0.5.15cnc5/cmdline/apt-config.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-config.cc 2003-12-23 23:31:21 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-config.cc 2004-01-16 15:21:01 +0300 @@ -109,8 +109,8 @@ int main(int argc,const char *argv[]) // Parse the command line and initialize the package library @@ -110,24 +110,10 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-config.cc apt-0.5.5cnc4.1/cmdli pkgInitSystem(*_config,_system) == false) { _error->DumpErrors(); -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-extracttemplates.cc apt-0.5.5cnc4.1/cmdline/apt-extracttemplates.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-extracttemplates.cc 2003-03-08 02:10:21 +0300 -+++ apt-0.5.5cnc4.1/cmdline/apt-extracttemplates.cc 2003-09-28 14:11:22 +0400 -@@ -359,8 +359,8 @@ int main(int argc, const char **argv) - - // Parse the command line and initialize the package library - CommandLine CmdL(Args,_config); -- if (pkgInitConfig(*_config) == false || -- CmdL.Parse(argc,argv) == false || -+ if (CmdL.Parse(argc,argv) == false || -+ pkgInitConfig(*_config) == false || - pkgInitSystem(*_config,_system) == false) - { - _error->DumpErrors(); -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-get.cc apt-0.5.5cnc4.1/cmdline/apt-get.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-get.cc 2003-09-28 14:11:04 +0400 -+++ apt-0.5.5cnc4.1/cmdline/apt-get.cc 2003-09-28 14:11:22 +0400 -@@ -2497,8 +2497,8 @@ int main(int argc,const char *argv[]) +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-get.cc apt-0.5.15cnc5/cmdline/apt-get.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-get.cc 2003-12-23 23:30:50 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-get.cc 2004-01-16 15:21:01 +0300 +@@ -3067,8 +3067,8 @@ int main(int argc,const char *argv[]) // Parse the command line and initialize the package library CommandLine CmdL(Args,_config); @@ -138,10 +124,10 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-get.cc apt-0.5.5cnc4.1/cmdline/ pkgInitSystem(*_config,_system) == false) { if (_config->FindB("version") == true) -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-shell.cc apt-0.5.5cnc4.1/cmdline/apt-shell.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-shell.cc 2003-03-08 02:10:37 +0300 -+++ apt-0.5.5cnc4.1/cmdline/apt-shell.cc 2003-09-28 14:11:22 +0400 -@@ -3738,8 +3738,8 @@ int main(int argc,const char *argv[]) +diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/apt-shell.cc apt-0.5.15cnc5/cmdline/apt-shell.cc +--- apt-0.5.15cnc5.orig/cmdline/apt-shell.cc 2003-12-23 23:31:46 +0300 ++++ apt-0.5.15cnc5/cmdline/apt-shell.cc 2004-01-16 15:21:01 +0300 +@@ -4303,8 +4303,8 @@ int main(int argc,const char *argv[]) // Parse the command line and initialize the package library CommandLine CmdL(CommandArgs(""),_config); @@ -152,17 +138,3 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-shell.cc apt-0.5.5cnc4.1/cmdlin pkgInitSystem(*_config,_system) == false) { if (_config->FindB("version") == true) -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-sortpkgs.cc apt-0.5.5cnc4.1/cmdline/apt-sortpkgs.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-sortpkgs.cc 2003-03-08 02:10:30 +0300 -+++ apt-0.5.5cnc4.1/cmdline/apt-sortpkgs.cc 2003-09-28 14:11:22 +0400 -@@ -180,8 +180,8 @@ int main(unsigned int argc,const char *a - - // Parse the command line and initialize the package library - CommandLine CmdL(Args,_config); -- if (pkgInitConfig(*_config) == false || -- CmdL.Parse(argc,argv) == false || -+ if (CmdL.Parse(argc,argv) == false || -+ pkgInitConfig(*_config) == false || - pkgInitSystem(*_config,_system) == false) - { - _error->DumpErrors(); diff --git a/apt-0.5.15cnc5-alt-rpm-build.patch b/apt-0.5.15cnc5-alt-rpm-build.patch new file mode 100644 index 0000000..5fa410e --- /dev/null +++ b/apt-0.5.15cnc5-alt-rpm-build.patch @@ -0,0 +1,39 @@ +diff -uprk.orig apt-0.5.15cnc5.orig/configure.in apt-0.5.15cnc5/configure.in +--- apt-0.5.15cnc5.orig/configure.in 2003-12-23 23:15:40 +0300 ++++ apt-0.5.15cnc5/configure.in 2004-01-15 19:08:18 +0300 +@@ -72,7 +72,7 @@ else + [AC_MSG_ERROR([Can't find libbz2 library])]) + AC_CHECK_LIB(z,gzopen, [], + [AC_MSG_ERROR([Can't find libz library])]) +- AC_CHECK_HEADERS(db1/db.h) ++ dnl AC_CHECK_HEADERS(db1/db.h) + + CPPFLAGS="$CPPFLAGS -I/usr/include/rpm" + AC_CHECK_HEADER(rpm/rpmlib.h, [], +@@ -80,12 +80,13 @@ else + + if test $RPM_VERSION_MAJOR -lt 4; then + RPMLIBS="-lrpm -lz -lbz2 -lpopt" ++ AC_CHECK_HEADERS(db1/db.h) + else + AC_CHECK_LIB(rpmdb,rpmdbOpen, + [RPMDBLIBS="-lrpmdb"], +- [RPMDBLIBS="-ldb-3.1"], ++ [RPMDBLIBS="-ldb"], + [-lrpm -lrpmio -lz -lbz2 -lpopt]) +- RPMLIBS="-lrpm $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" ++ RPMLIBS="-lrpm $RPMDBLIBS" + fi + AC_MSG_CHECKING(for RPM libraries) + AC_MSG_RESULT($RPMLIBS) +diff -uprk.orig apt-0.5.15cnc5.orig/tools/cached_md5.cc apt-0.5.15cnc5/tools/cached_md5.cc +--- apt-0.5.15cnc5.orig/tools/cached_md5.cc 2003-12-23 23:16:37 +0300 ++++ apt-0.5.15cnc5/tools/cached_md5.cc 2004-01-15 19:07:44 +0300 +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/apt-0.5.15cnc5-alt-rpm-fancypercent.patch b/apt-0.5.15cnc5-alt-rpm-fancypercent.patch new file mode 100644 index 0000000..25bd0d5 --- /dev/null +++ b/apt-0.5.15cnc5-alt-rpm-fancypercent.patch @@ -0,0 +1,128 @@ +2004-01-16 Dmitry V. Levin + + * apt-pkg/rpm/rpmpm.cc(pkgRPMPM::ExecRPM,pkgRPMLibPM::Process): + Honor "quiet" config option. + Pass "fancypercent" option. + +--- apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc.orig 2004-01-16 14:56:02 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc 2004-01-16 14:58:37 +0300 +@@ -389,6 +389,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + const char *operation; + unsigned int n = 0; + bool Interactive = _config->FindB("RPM::Interactive",true); ++ int quiet = _config->FindI("quiet",0); + + Args[n++] = _config->Find("Dir::Bin::rpm","rpm").c_str(); + +@@ -397,18 +398,12 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + switch (op) + { + case Item::RPMInstall: +- if (Interactive) +- operation = "-ivh"; +- else +- operation = "-iv"; ++ operation = "-i"; + nodeps = true; + break; + + case Item::RPMUpgrade: +- if (Interactive) +- operation = "-Uvh"; +- else +- operation = "-Uv"; ++ operation = "-U"; + break; + + case Item::RPMErase: +@@ -420,8 +415,22 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + } + Args[n++] = operation; + +- if (Interactive == false && op != Item::RPMErase) +- Args[n++] = "--percent"; ++ if (quiet <= 2 && op != Item::RPMErase) ++ { ++ Args[n++] = "-v"; ++ if (quiet <= 1) ++ { ++ if (Interactive) ++ { ++ Args[n++] = "-h"; ++ if (quiet <= 0) ++ Args[n++] = "--fancypercent"; ++ } else ++ { ++ Args[n++] = "--percent"; ++ } ++ } ++ } + + string rootdir = _config->Find("RPM::RootDir", ""); + if (!rootdir.empty()) +@@ -550,6 +559,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + return true; + } + ++ if (quiet <= 2) + cout << _("Executing RPM (")<Error(_("Sub-process %s exited unexpectedly"),Args[0]); + } ++ if (quiet <= 2) + cout << _("Done.") << endl; + + return true; +@@ -745,6 +756,7 @@ bool pkgRPMLibPM::Process(vectorFind("RPM::RootDir"); ++ int quiet = _config->FindI("quiet",0); + rpmReadConfigFiles(NULL, NULL); + + int probFilter = 0; +@@ -791,10 +803,21 @@ bool pkgRPMLibPM::Process(vectorFindB("RPM::Interactive", true)) +- notifyFlags |= INSTALL_LABEL | INSTALL_HASH; +- else +- notifyFlags |= INSTALL_LABEL | INSTALL_PERCENT; ++ if (quiet <= 2) ++ notifyFlags |= INSTALL_LABEL; ++ ++ if (quiet <= 1) ++ { ++ if (_config->FindB("RPM::Interactive", true)) ++ { ++ notifyFlags |= INSTALL_HASH; ++ extern int fancyPercents; ++ fancyPercents = (quiet <= 0) ? 1 : 0; ++ } else ++ { ++ notifyFlags |= INSTALL_PERCENT; ++ } ++ } + + if (uninstall.empty() == false) + AddToTransaction(Item::RPMErase, uninstall); +@@ -848,6 +871,7 @@ bool pkgRPMLibPM::Process(vector= 0x040100 +@@ -872,6 +896,7 @@ bool pkgRPMLibPM::Process(vectorWarning(_("Some errors occurred while running transaction")); + else ++ if (quiet <= 2) + cout << _("Done.") << endl; + } + rpmpsFree(probs); diff --git a/apt-0.5.15cnc5-alt-rpm_cmd.patch b/apt-0.5.15cnc5-alt-rpm_cmd.patch new file mode 100644 index 0000000..813638a --- /dev/null +++ b/apt-0.5.15cnc5-alt-rpm_cmd.patch @@ -0,0 +1,31 @@ +2004-01-16 Dmitry V. Levin + + * apt-pkg/rpm/rpmpm.cc(pkgRPMPM::ExecRPM): + Report actual options being passed to rpm. + +--- apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc.orig 2004-01-16 14:55:17 +0300 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc 2004-01-16 14:56:02 +0300 +@@ -497,6 +497,14 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + + if (_config->FindB("RPM::Order",false) == false) + Args[n++] = "--noorder"; ++ ++ string cmd; ++ for (unsigned i = 0; i < n; ++i) ++ { ++ if (!cmd.empty()) ++ cmd += ' '; ++ cmd += Args[i]; ++ } + + bool FilesInArgs = true; + char *ArgsFileName = NULL; +@@ -542,7 +550,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o + return true; + } + +- cout << _("Executing RPM (")<NextProvides == 0 || (!Remove && _config->FindB("APT::Install::Virtual", false)))) { -- pkgCache::PkgIterator po = Pkg.ProvidesList().OwnerPkg(); +- pkgCache::PkgIterator Tmp = Pkg.ProvidesList().OwnerPkg(); + unsigned long Size = 0; + for (pkgCache::PrvIterator I = Pkg.ProvidesList(); I.end() == false; I++) + Size++; @@ -87,8 +99,8 @@ diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-get.cc apt-0.5.5cnc4.1/cmdline/ + *PEnd++ = I.OwnerPkg(); + Fix.MakeScores(); + qsort(PList,PEnd - PList,sizeof(*PList),&(Fix.ScoreSort)); -+ pkgCache::PkgIterator po = pkgCache::PkgIterator(*Pkg.Cache(), *PList); ++ pkgCache::PkgIterator Tmp = pkgCache::PkgIterator(*Pkg.Cache(), *PList); + ioprintf(c1out,_("Note, selecting %s instead of %s\n"), - po.Name(),Pkg.Name()); - Pkg = po; + Tmp.Name(),Pkg.Name()); + diff --git a/apt-0.5.4cnc3-alt-select-genlist.patch b/apt-0.5.4cnc3-alt-select-genlist.patch deleted file mode 100644 index 85f2a56..0000000 --- a/apt-0.5.4cnc3-alt-select-genlist.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -ur apt-0.5.4cnc3.orig/tools/genbasedir apt-0.5.4cnc3/tools/genbasedir ---- apt-0.5.4cnc3.orig/tools/genbasedir Sat Jul 27 13:02:53 2002 -+++ apt-0.5.4cnc3/tools/genbasedir Sat Jul 27 14:05:42 2002 -@@ -26,6 +26,8 @@ - genbasedir /home/ftp/pub/conectiva\n\ - genbasedir /home/ftp/pub/conectiva main extra devel\n\ - " -+GENPKGLIST=genpkglist-0.5 -+GENSRCLIST=gensrclist-0.5 - - getsize() - { -@@ -178,9 +180,9 @@ - fi - - if test x$updateinfo = x; then -- (cd $basedir; genpkglist $progress $bloat --index /tmp/srcidx.$comp.$$ $topdir $comp) -+ (cd $basedir; "$GENPKGLIST" $progress $bloat --index /tmp/srcidx.$comp.$$ $topdir $comp) - else -- (cd $basedir; genpkglist $progress $bloat --index /tmp/srcidx.$comp.$$ --info $updateinfo $topdir $comp) -+ (cd $basedir; "$GENPKGLIST" $progress $bloat --index /tmp/srcidx.$comp.$$ --info $updateinfo $topdir $comp) - fi - - if [ -f $basedir/pkglist.$comp ]; then -@@ -230,9 +232,9 @@ - srctopdir=`cd $topdir; pwd` - fi - if [ $mapi -ne 0 ]; then -- (cd $basedir; gensrclist $progress $flat --mapi $srctopdir $comp /tmp/srcidx.$comp.$$) -+ (cd $basedir; "$GENSRCLIST" $progress $flat --mapi $srctopdir $comp /tmp/srcidx.$comp.$$) - else -- (cd $basedir; gensrclist $progress $flat $srctopdir $comp /tmp/srcidx.$$) -+ (cd $basedir; "$GENSRCLIST" $progress $flat $srctopdir $comp /tmp/srcidx.$$) - fi - - if [ -f $basedir/srclist.$comp ]; then diff --git a/apt-0.5.4cnc9-alt-bz2.patch b/apt-0.5.4cnc9-alt-bz2.patch deleted file mode 100644 index 42f47f1..0000000 --- a/apt-0.5.4cnc9-alt-bz2.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/acquire-item.cc apt-0.5.4cnc9.bz2/apt-pkg/acquire-item.cc ---- apt-0.5.4cnc9.orig/apt-pkg/acquire-item.cc 2002-12-17 12:00:20 +0300 -+++ apt-0.5.4cnc9.bz2/apt-pkg/acquire-item.cc 2002-12-19 17:17:41 +0300 -@@ -188,7 +188,7 @@ - - // Create the item - // CNC:2002-07-03 -- Desc.URI = URI + ".bz2"; -+ Desc.URI = URI + _config->Find("Acquire::ComprExtension", ".bz2"); - Desc.Description = URIDesc; - Desc.Owner = this; - Desc.ShortDesc = ShortDesc; -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/init.cc apt-0.5.4cnc9.bz2/apt-pkg/init.cc ---- apt-0.5.4cnc9.orig/apt-pkg/init.cc 2002-12-17 12:00:54 +0300 -+++ apt-0.5.4cnc9.bz2/apt-pkg/init.cc 2002-12-19 17:28:15 +0300 -@@ -71,6 +71,7 @@ - Cnf.Set("Dir::Etc::parts","apt.conf.d"); - Cnf.Set("Dir::Etc::preferences","preferences"); - Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods"); -+ Cnf.Set("Acquire::ComprExtension", ".bz2"); - - bool Res = true; - -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/file.cc apt-0.5.4cnc9.bz2/methods/file.cc ---- apt-0.5.4cnc9.orig/methods/file.cc 2002-07-23 21:54:53 +0400 -+++ apt-0.5.4cnc9.bz2/methods/file.cc 2002-12-19 17:24:32 +0300 -@@ -52,9 +52,11 @@ - Res.IMSHit = true; - } - -- // See if we can compute a file without a .gz exentsion -- string::size_type Pos = File.rfind(".gz"); -- if (Pos + 3 == File.length()) -+ // See if we can compute a file without a .gz or .bz2 exentsion -+ // Should we check here both .gz and .bz2 extensions? -+ string ComprExtension = _config->Find("Acquire::ComprExtension", ".bz2"); -+ string::size_type Pos = File.rfind(ComprExtension); -+ if (Pos + ComprExtension.length() == File.length()) - { - File = string(File,0,Pos); - if (stat(File.c_str(),&Buf) == 0) diff --git a/apt-0.5.4cnc9-alt-install_virtual_version.patch b/apt-0.5.4cnc9-alt-install_virtual_version.patch deleted file mode 100644 index 4690082..0000000 --- a/apt-0.5.4cnc9-alt-install_virtual_version.patch +++ /dev/null @@ -1,58 +0,0 @@ -2003-01-21 Anton Kachalov - - * apt-pkg/versionmatch.cc (pkgVersionMatch::Find): - Add APT::Install::VirtualVersion support. - * cmdline/apt-get.cc (TryToChangeVer): - Substitute virtual package with real one. - ---- apt-0.5.4cnc9/apt-pkg/versionmatch.cc.orig 2002-07-23 21:54:50 +0400 -+++ apt-0.5.4cnc9/apt-pkg/versionmatch.cc 2003-01-21 16:42:55 +0300 -@@ -15,6 +15,7 @@ - #pragma implementation "apt-pkg/versionmatch.h" - #endif - #include -+#include - - #include - #include -@@ -158,6 +159,19 @@ pkgCache::VerIterator pkgVersionMatch::Find - return Ver; - } - -+ if (_config->FindB("APT::Install::VirtualVersion",false) == false) -+ return Ver; -+ -+ pkgCache::PrvIterator Prv = Pkg.ProvidesList(); -+ for (; Prv.end() == false; Prv++) -+ { -+ if (Type == Version) -+ { -+ if (MatchVer(Prv.ProvideVersion(),VerStr,VerPrefixMatch) == true) -+ return Prv.OwnerVer(); -+ continue; -+ } -+ } - // This will be Ended by now. - return Ver; - } ---- apt-0.5.4cnc9/cmdline/apt-get.cc.orig 2002-10-18 22:32:12 +0400 -+++ apt-0.5.4cnc9/cmdline/apt-get.cc 2003-01-23 15:33:45 +0300 -@@ -1119,7 +1119,7 @@ - // TryToChangeVer - Try to change a candidate version /*{{{*/ - // --------------------------------------------------------------------- - /* */ --bool TryToChangeVer(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, -+bool TryToChangeVer(pkgCache::PkgIterator &Pkg,pkgDepCache &Cache, - const char *VerTag,bool IsRel) - { - pkgVersionMatch Match(VerTag,(IsRel == true?pkgVersionMatch::Release : -@@ -1143,6 +1143,9 @@ - } - - Cache.SetCandidateVersion(Ver); -+ if (Ver.ParentPkg() != Pkg) { -+ Pkg = Ver.ParentPkg(); -+ } - return true; - } - /*}}}*/ diff --git a/apt-0.5.5cnc1-alt-pkgpriorities.patch b/apt-0.5.5cnc1-alt-pkgpriorities.patch deleted file mode 100644 index df8d8c0..0000000 --- a/apt-0.5.5cnc1-alt-pkgpriorities.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- apt-0.5.5cnc1/apt-pkg/rpm/rpmpackagedata.cc.orig 2003-01-29 16:52:32 +0300 -+++ apt-0.5.5cnc1/apt-pkg/rpm/rpmpackagedata.cc 2003-02-07 18:31:11 +0300 -@@ -16,7 +16,7 @@ - RPMPackageData::RPMPackageData() - { - // Populate priorities -- string FileName = _config->FindFile("Dir::Etc::rpmpriorities"); -+ string FileName = _config->FindFile("Dir::Etc") + "pkgpriorities"; - FileFd F(FileName, FileFd::ReadOnly); - if (_error->PendingError()) - { diff --git a/apt-0.5.5cnc2-alt-distro.patch b/apt-0.5.5cnc2-alt-distro.patch deleted file mode 100644 index 0354bc4..0000000 --- a/apt-0.5.5cnc2-alt-distro.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- apt-0.5.5cnc1/apt-pkg/rpm/rpmsystem.cc.orig 2002-11-25 21:25:28 +0300 -+++ apt-0.5.5cnc1/apt-pkg/rpm/rpmsystem.cc 2003-02-07 18:13:09 +0300 -@@ -125,7 +125,7 @@ - Cnf.CndSet("Dir::Etc::translateparts", "translate.list.d"); - Cnf.CndSet("Dir::State::prefetch", "prefetch"); - Cnf.CndSet("Dir::Locale","/usr/share/locale"); -- Cnf.CndSet("Acquire::DistroID","Conectiva"); // hee hee -+ Cnf.CndSet("Acquire::DistroID","ALT Linux"); // hee hee - Cnf.CndSet("Acquire::CDROM::Mount", "/mnt/cdrom"); - Cnf.CndSet("Acquire::CDROM::Copy-All", "true"); - ---- apt-0.5.5cnc2/cmdline/apt-cdrom.cc.orig 2003-02-21 17:09:14 +0300 -+++ apt-0.5.5cnc2/cmdline/apt-cdrom.cc 2003-02-25 15:33:02 +0300 -@@ -700,7 +700,7 @@ bool DoAdd(CommandLine &) - { - // CNC:2002-07-11 - #ifdef HAVE_RPM -- cout << "Please provide a name for this Disc, such as 'Conectiva Disk 1'"; -+ cout << "Please provide a name for this Disc, such as 'ALT Linux Disk 1'"; - #else - cout << "Please provide a name for this Disc, such as 'Debian 2.1r1 Disk 1'"; - #endif ---- apt-0.5.5cnc2/methods/ftp.cc.orig 2003-02-21 17:12:17 +0300 -+++ apt-0.5.5cnc2/methods/ftp.cc 2003-02-25 16:02:07 +0300 -@@ -189,7 +189,7 @@ bool FTPConn::Login() - - // Setup the variables needed for authentication - string User = "anonymous"; -- string Pass = "apt_get_ftp_2.1@debian.linux.user"; -+ string Pass = "apt_get_ftp_2.1@alt.linux.user"; - - // Fill in the user/pass - if (ServerName.User.empty() == false) diff --git a/apt-0.5.5cnc2-alt-rpm.patch b/apt-0.5.5cnc2-alt-rpm.patch deleted file mode 100644 index dfb0f03..0000000 --- a/apt-0.5.5cnc2-alt-rpm.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff -uprk.orig apt-0.5.5cnc2.orig/configure.in apt-0.5.5cnc2/configure.in ---- apt-0.5.5cnc2.orig/configure.in 2003-02-21 17:06:40 +0300 -+++ apt-0.5.5cnc2/configure.in 2003-02-25 16:04:31 +0300 -@@ -56,10 +56,12 @@ dnl if test "$PTHREADLIB" != "-lpthread" - dnl AC_MSG_ERROR(failed: I need posix threads, pthread) - dnl fi - -+DB2LIB= -+dnl ALT: uncomment this to build apt-ftparchive - dnl Check for DB2 --AC_CHECK_HEADER(db2/db.h, -- [AC_CHECK_LIB(db2,db_open, -- [AC_DEFINE(HAVE_DB2) DB2LIB="-ldb2"])]) -+dnl AC_CHECK_HEADER(db2/db.h, -+dnl [AC_CHECK_LIB(db2,db_open, -+dnl [AC_DEFINE(HAVE_DB2) DB2LIB="-ldb2"])]) - AC_SUBST(DB2LIB) - - dnl CNC:2002-07-03 -@@ -69,7 +71,6 @@ SAVE_LIBS="$LIBS" - SAVE_CPPFLAGS="$CPPFLAGS" - - CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" --AC_CHECK_HEADERS(db1/db.h) - AC_CHECK_HEADER(rpm/rpmlib.h, rpm_header_ok=1, rpm_header_ok=0) - - if test $rpm_header_ok = 1; then -@@ -77,7 +78,7 @@ if test $rpm_header_ok = 1; then - LIBS="$SAVE_LIBS -lrpm -lrpmio -lz -lbz2 -lpopt" - AC_CHECK_LIB(rpmdb,rpmdbOpen, - [RPMDBLIBS="-lrpmdb"], -- [RPMDBLIBS="-ldb-3.1"]) -+ [RPMDBLIBS="-ldb"]) - - LIBS="$SAVE_LIBS $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" - AC_CHECK_LIB(rpm,rpmdbGetIteratorOffset, -@@ -96,6 +97,7 @@ if test $rpm_header_ok = 1; then - [AC_DEFINE_UNQUOTED(HAVE_RPM, 1) - RPMLIBS="-lrpm -ldb1 -lz -lbz2 -lpopt" - SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" -+ AC_CHECK_HEADERS(db1/db.h) - rpm_version="3"]) - fi - fi -diff -uprk.orig apt-0.5.5cnc2.orig/tools/cached_md5.cc apt-0.5.5cnc2/tools/cached_md5.cc ---- apt-0.5.5cnc2.orig/tools/cached_md5.cc 2003-02-21 17:12:36 +0300 -+++ apt-0.5.5cnc2/tools/cached_md5.cc 2003-02-25 16:03:17 +0300 -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff -uprk.orig apt-0.5.5cnc2.orig/tools/hdlist2pkglist.cc apt-0.5.5cnc2/tools/hdlist2pkglist.cc ---- apt-0.5.5cnc2.orig/tools/hdlist2pkglist.cc 2003-02-21 17:12:30 +0300 -+++ apt-0.5.5cnc2/tools/hdlist2pkglist.cc 2003-02-25 16:03:17 +0300 -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/apt-0.5.5cnc3-alt-i18n-apt-cdrom.patch b/apt-0.5.5cnc3-alt-i18n-apt-cdrom.patch deleted file mode 100644 index bca267b..0000000 --- a/apt-0.5.5cnc3-alt-i18n-apt-cdrom.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- apt-0.5.5cnc3.orig/cmdline/apt-cdrom.cc 2003-02-28 04:19:12 +1200 -+++ apt-0.5.5cnc3/cmdline/apt-cdrom.cc 2003-03-04 11:34:11 +1200 -@@ -853,7 +853,7 @@ int ShowHelp() - return 0; - - cout << -- "Usage: apt-cdrom [options] command\n" -+ _("Usage: apt-cdrom [options] command\n" - "\n" - "apt-cdrom is a tool to add CDROM's to APT's source list. The\n" - "CDROM mount point and device information is taken from apt.conf\n" -@@ -872,7 +872,7 @@ int ShowHelp() - " -a Thorough scan mode\n" - " -c=? Read this configuration file\n" - " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" -- "See fstab(5)\n"; -+ "See fstab(5)\n"); - return 0; - } - /*}}}*/ diff --git a/apt-0.5.5cnc4-alt-defaults.patch b/apt-0.5.5cnc4-alt-defaults.patch deleted file mode 100644 index 3acab75..0000000 --- a/apt-0.5.5cnc4-alt-defaults.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -uprk.orig apt-0.5.5cnc4.1.orig/apt-pkg/init.cc apt-0.5.5cnc4.1/apt-pkg/init.cc ---- apt-0.5.5cnc4.1.orig/apt-pkg/init.cc 2003-06-25 18:35:05 +0400 -+++ apt-0.5.5cnc4.1/apt-pkg/init.cc 2003-06-25 18:35:45 +0400 -@@ -72,7 +72,7 @@ bool pkgInitConfig(Configuration &Cnf) - Cnf.Set("Dir::Etc::main","apt.conf"); - Cnf.Set("Dir::Etc::parts","apt.conf.d"); - Cnf.Set("Dir::Etc::preferences","preferences"); -- Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods"); -+ Cnf.Set("Dir::Bin::methods","/usr/lib/apt"); - Cnf.Set("Acquire::ComprExtension", ".bz2"); - - bool Res = true; -diff -uprk.orig apt-0.5.5cnc4.1.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.5cnc4.1/apt-pkg/rpm/rpmpm.cc ---- apt-0.5.5cnc4.1.orig/apt-pkg/rpm/rpmpm.cc 2003-06-25 18:35:05 +0400 -+++ apt-0.5.5cnc4.1/apt-pkg/rpm/rpmpm.cc 2003-06-25 18:43:01 +0400 -@@ -332,7 +332,7 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, - } - } - -- if (_config->FindB("RPM::Order",false) == false) -+ if (_config->FindB("RPM::Order",true) == false) - Args[n++] = "--noorder"; - - string cmd; -diff -uprk.orig apt-0.5.5cnc4.1.orig/buildlib/archtable apt-0.5.5cnc4.1/buildlib/archtable ---- apt-0.5.5cnc4.1.orig/buildlib/archtable 2003-03-08 02:14:52 +0300 -+++ apt-0.5.5cnc4.1/buildlib/archtable 2003-06-25 18:37:36 +0400 -@@ -5,8 +5,10 @@ - - # The left side is a regex for awk - --i.86 i386 --pentium i386 -+i[34]86 i386 -+i.86 i586 -+pentium.* i586 -+athlon i586 - sparc sparc - sparc64 sparc - alpha.* alpha diff --git a/apt-0.5.5cnc4-alt-rpm_cmd.patch b/apt-0.5.5cnc4-alt-rpm_cmd.patch deleted file mode 100644 index 8332e6f..0000000 --- a/apt-0.5.5cnc4-alt-rpm_cmd.patch +++ /dev/null @@ -1,31 +0,0 @@ -2002-10-23 Dmitry V. Levin - - * apt-pkg/rpm/rpmpm.cc(pkgRPMPM::ExecRPM): - Report actual options being passed to rpm. - ---- apt-0.5.5cnc4/apt-pkg/rpm/rpmpm.cc.orig 2003-03-07 17:40:44 +0300 -+++ apt-0.5.5cnc4/apt-pkg/rpm/rpmpm.cc 2003-03-07 19:24:07 +0300 -@@ -333,6 +333,14 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, - if (_config->FindB("RPM::Order",false) == false) - Args[n++] = "--noorder"; - -+ string cmd; -+ for (unsigned i = 0; i < n; ++i) -+ { -+ if (!cmd.empty()) -+ cmd += ' '; -+ cmd += Args[i]; -+ } -+ - for (vector::iterator I = files.begin(); I != files.end(); I++) - Args[n++] = *I; - -@@ -346,7 +354,7 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, - return true; - } - -- cout << _("Executing RPM (")< - - * apt-pkg/versionmatch.cc (pkgVersionMatch::MatchVer): - Ignore serial while matching version string. - Check both for version and version-release while matching version string. - ---- apt-0.5.5cnc4.1/apt-pkg/versionmatch.cc.orig 2003-03-25 19:40:45 +0300 -+++ apt-0.5.5cnc4.1/apt-pkg/versionmatch.cc 2003-04-28 19:35:30 +0400 -@@ -124,18 +124,36 @@ pkgVersionMatch::pkgVersionMatch(string - /* */ - bool pkgVersionMatch::MatchVer(const char *A,string B,bool Prefix) - { -- const char *Ab = A; -- const char *Ae = Ab + strlen(A); -+ string s(A), sc(A); -+ const char *Ab = s.c_str(), *Ac = sc.c_str(); -+ -+ for (string::iterator i = s.begin(), k = sc.begin(); i != s.end(); ++i,++k) -+ { -+ if (*i == ':') -+ { -+ Ab = &(*i) + 1; -+ Ac = &(*k) + 1; -+ } -+ else if (*i == '-') -+ { -+ *i = 0; -+ break; -+ } -+ } -+ -+ const char *Ae = Ab + strlen(Ab); -+ const char *Af = Ac + strlen(Ac); - - // Strings are not a compatible size. -- if ((unsigned)(Ae - Ab) != B.length() && Prefix == false || -- (unsigned)(Ae - Ab) < B.length()) -- return false; -- -- // Match (leading?) -- if (stringcasecmp(B,Ab,Ab + B.length()) == 0) -- return true; -- -+ if (((unsigned)(Ae - Ab) == B.length() || Prefix == true) && -+ (unsigned)(Ae - Ab) >= B.length() && -+ stringcasecmp(B,Ab,Ab + B.length()) == 0) -+ return true; -+ else if (((unsigned)(Af - Ac) == B.length() || Prefix == true) && -+ (unsigned)(Af - Ac) >= B.length() && -+ stringcasecmp(B,Ac,Ac + B.length()) == 0) -+ return true; -+ - return false; - } - /*}}}*/ diff --git a/apt-0.5.5cnc4-alt-versionmatch2.patch b/apt-0.5.5cnc4-alt-versionmatch2.patch deleted file mode 100644 index aa277e9..0000000 --- a/apt-0.5.5cnc4-alt-versionmatch2.patch +++ /dev/null @@ -1,231 +0,0 @@ -2003-06-24 Dmitry V. Levin - - * apt-pkg/versionmatch.cc (pkgVersionMatch::MatchVer): - Use pkgVersioningSystem's CheckDep for normal (non-prefix) match. - * apt-pkg/versionmatch.h (class pkgVersionMatch): - Added "int VerOp" private member. - Added argument to constructor. - * apt-pkg/versionmatch.cc (pkgVersionMatch::pkgVersionMatch): - Initialize VerOp. - * cmdline/apt-get.cc (DoInstall): - Changed parser to initialize VerOp. - * cmdline/apt-get.cc (TryToChangeVer): Use it. - * cmdline/apt-get.cc (op2str): New function. - * cmdline/apt-get.cc (TryToChangeVer): Use it. - -diff -uprk.orig apt-0.5.5cnc4.1.orig/apt-pkg/versionmatch.cc apt-0.5.5cnc4.1/apt-pkg/versionmatch.cc ---- apt-0.5.5cnc4.1.orig/apt-pkg/versionmatch.cc 2003-06-24 15:43:54 +0400 -+++ apt-0.5.5cnc4.1/apt-pkg/versionmatch.cc 2003-06-24 15:18:19 +0400 -@@ -15,6 +15,7 @@ - #pragma implementation "apt-pkg/versionmatch.h" - #endif - #include -+#include - #include - - #include -@@ -27,7 +28,7 @@ - // VersionMatch::pkgVersionMatch - Constructor /*{{{*/ - // --------------------------------------------------------------------- - /* Break up the data string according to the selected type */ --pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type) : Type(Type) -+pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type,int Op) : VerOp(Op), Type(Type) - { - MatchAll = false; - VerPrefixMatch = false; -@@ -162,13 +163,22 @@ bool pkgVersionMatch::MatchVer(const cha - /* */ - pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg) - { -+ pkgVersioningSystem *VS = Pkg.Cache()->VS; - pkgCache::VerIterator Ver = Pkg.VersionList(); -+ - for (; Ver.end() == false; Ver++) - { - if (Type == Version) - { -- if (MatchVer(Ver.VerStr(),VerStr,VerPrefixMatch) == true) -- return Ver; -+ if (VerPrefixMatch) -+ { -+ if (MatchVer(Ver.VerStr(),VerStr,VerPrefixMatch) == true) -+ return Ver; -+ } else { -+ if (VS->CheckDep(Ver.VerStr(),VerOp,VerStr.c_str()) == true) -+ return Ver; -+ } -+ - continue; - } - -@@ -185,9 +195,14 @@ pkgCache::VerIterator pkgVersionMatch::F - { - if (Type == Version) - { -- if (MatchVer(Prv.ProvideVersion(),VerStr,VerPrefixMatch) == true) -- return Prv.OwnerVer(); -- continue; -+ if (VerPrefixMatch) -+ { -+ if (MatchVer(Prv.ProvideVersion(),VerStr,VerPrefixMatch) == true) -+ return Prv.OwnerVer(); -+ } else { -+ if (VS->CheckDep(Prv.ProvideVersion(),VerOp,VerStr.c_str()) == true) -+ return Prv.OwnerVer(); -+ } - } - } - // This will be Ended by now. -diff -uprk.orig apt-0.5.5cnc4.1.orig/apt-pkg/versionmatch.h apt-0.5.5cnc4.1/apt-pkg/versionmatch.h ---- apt-0.5.5cnc4.1.orig/apt-pkg/versionmatch.h 2003-03-08 02:12:11 +0300 -+++ apt-0.5.5cnc4.1/apt-pkg/versionmatch.h 2003-06-24 14:22:28 +0400 -@@ -45,6 +45,7 @@ class pkgVersionMatch - // Version Matching - string VerStr; - bool VerPrefixMatch; -+ int VerOp; - - // Release Matching - string RelVerStr; -@@ -66,7 +67,7 @@ class pkgVersionMatch - bool FileMatch(pkgCache::PkgFileIterator File); - pkgCache::VerIterator Find(pkgCache::PkgIterator Pkg); - -- pkgVersionMatch(string Data,MatchType Type); -+ pkgVersionMatch(string Data,MatchType Type,int Op = 0); - }; - - #endif -diff -uprk.orig apt-0.5.5cnc4.1.orig/cmdline/apt-get.cc apt-0.5.5cnc4.1/cmdline/apt-get.cc ---- apt-0.5.5cnc4.1.orig/cmdline/apt-get.cc 2003-06-24 15:43:54 +0400 -+++ apt-0.5.5cnc4.1/cmdline/apt-get.cc 2003-06-24 15:39:37 +0400 -@@ -1172,29 +1172,40 @@ bool TryToInstall(pkgCache::PkgIterator - return true; - } - /*}}}*/ -+static const char *op2str(int op) -+{ -+ switch (op & 0x0f) -+ { -+ case pkgCache::Dep::LessEq: return "<="; -+ case pkgCache::Dep::GreaterEq: return ">="; -+ case pkgCache::Dep::Less: return "<"; -+ case pkgCache::Dep::Greater: return ">"; -+ case pkgCache::Dep::Equals: return "="; -+ case pkgCache::Dep::NotEquals: return "!"; -+ default: return ""; -+ } -+}; -+ - // TryToChangeVer - Try to change a candidate version /*{{{*/ - // --------------------------------------------------------------------- - /* */ - bool TryToChangeVer(pkgCache::PkgIterator &Pkg,pkgDepCache &Cache, -- const char *VerTag,bool IsRel) -+ int VerOp,const char *VerTag,bool IsRel) - { - pkgVersionMatch Match(VerTag,(IsRel == true?pkgVersionMatch::Release : -- pkgVersionMatch::Version)); -+ pkgVersionMatch::Version),VerOp); - - pkgCache::VerIterator Ver = Match.Find(Pkg); - - if (Ver.end() == true) -- { -- if (IsRel == true) -- return _error->Error(_("Release '%s' for '%s' was not found"), -- VerTag,Pkg.Name()); -- return _error->Error(_("Version '%s' for '%s' was not found"), -- VerTag,Pkg.Name()); -- } -+ return _error->Error(_("%s %s'%s' for '%s' was not found"), -+ IsRel ? _("Release") : _("Version"), -+ op2str(VerOp), VerTag,Pkg.Name()); - - if (strcmp(VerTag,Ver.VerStr()) != 0) - { -- ioprintf(c1out,_("Selected version %s (%s) for %s\n"), -+ ioprintf(c1out,_("Selected %s %s (%s) for %s\n"), -+ IsRel ? _("release") : _("version"), - Ver.VerStr(),Ver.RelStr().c_str(),Pkg.Name()); - } - -@@ -1455,6 +1466,7 @@ bool DoInstall(CommandLine &CmdL) - bool Remove = DefRemove; - char *VerTag = 0; - bool VerIsRel = false; -+ int VerOp = 0; - while (Cache->FindPkg(S).end() == true) - { - // Handle an optional end tag indicating what to do -@@ -1472,15 +1484,47 @@ bool DoInstall(CommandLine &CmdL) - continue; - } - -- char *Slash = strchr(S,'='); -- if (Slash != 0) -+ char *sep = strpbrk(S,"=><"); -+ if (sep) - { -+ char *p; -+ int eq = 0, gt = 0, lt = 0; -+ - VerIsRel = false; -- *Slash = 0; -- VerTag = Slash + 1; -+ for (p = sep; *p && strchr("=><",*p); ++p) -+ switch (*p) -+ { -+ case '=': eq = 1; break; -+ case '>': gt = 1; break; -+ case '<': lt = 1; break; -+ } -+ if (eq) -+ { -+ if (lt && gt) -+ return _error->Error(_("Couldn't parse name: %s"),S); -+ else if (lt) -+ VerOp = pkgCache::Dep::LessEq; -+ else if (gt) -+ VerOp = pkgCache::Dep::GreaterEq; -+ else -+ VerOp = pkgCache::Dep::Equals; -+ } -+ else -+ { -+ if (lt && gt) -+ VerOp = pkgCache::Dep::NotEquals; -+ else if (lt) -+ VerOp = pkgCache::Dep::Less; -+ else if (gt) -+ VerOp = pkgCache::Dep::Greater; -+ else -+ return _error->Error(_("Couldn't parse name: %s"),S); -+ } -+ *sep = '\0'; -+ VerTag = p; - } - -- Slash = strchr(S,'/'); -+ char *Slash = strchr(S,'/'); - if (Slash != 0) - { - VerIsRel = true; -@@ -1530,7 +1574,7 @@ bool DoInstall(CommandLine &CmdL) - Pkg.Name(),S); - - if (VerTag != 0) -- if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) -+ if (TryToChangeVer(Pkg,Cache,VerOp,VerTag,VerIsRel) == false) - return false; - - Hit |= TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix, -@@ -1544,7 +1588,7 @@ bool DoInstall(CommandLine &CmdL) - else - { - if (VerTag != 0) -- if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) -+ if (TryToChangeVer(Pkg,Cache,VerOp,VerTag,VerIsRel) == false) - return false; - if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false) - return false; diff --git a/apt-0.5.5cnc4.1-alt-rpm-fancypercent.patch b/apt-0.5.5cnc4.1-alt-rpm-fancypercent.patch deleted file mode 100644 index 64deb27..0000000 --- a/apt-0.5.5cnc4.1-alt-rpm-fancypercent.patch +++ /dev/null @@ -1,46 +0,0 @@ -2003-09-28 Dmitry V. Levin - - * apt-pkg/rpm/rpmpm.cc(pkgRPMPM::ExecRPM): - Honor "quiet" config option. - Pass "fancypercent" option. - ---- apt-0.5.5cnc4.1/apt-pkg/rpm/rpmpm.cc.orig 2003-09-28 14:18:22 +0400 -+++ apt-0.5.5cnc4.1/apt-pkg/rpm/rpmpm.cc 2003-09-28 14:22:42 +0400 -@@ -227,6 +227,7 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, - const char *operation; - unsigned int n = 0; - bool Interactive = _config->FindB("RPM::Interactive",true); -+ int quiet = _config->FindI("quiet",0); - - Args[n++] = _config->Find("Dir::Bin::rpm","rpm").c_str(); - -@@ -235,7 +236,7 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, - switch (op) - { - case Item::RPMInstall: -- if (Interactive) -+ if (Interactive && quiet < 2) - operation = "-ivh"; - else - operation = "-iv"; -@@ -243,7 +244,7 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, - break; - - case Item::RPMUpgrade: -- if (Interactive) -+ if (Interactive && quiet < 2) - operation = "-Uvh"; - else - operation = "-Uv"; -@@ -256,8 +257,10 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, - } - Args[n++] = operation; - -- if (Interactive == false && op != Item::RPMErase) -+ if (Interactive == false && quiet == 0 && op != Item::RPMErase) - Args[n++] = "--percent"; -+ if (Interactive && quiet == 0) -+ Args[n++] = "--fancypercent"; - - string rootdir = _config->Find("RPM::RootDir", ""); - if (!rootdir.empty()) diff --git a/apt-0.5.4cnc9-alt-rsync.patch b/apt-0.5.5cnc5-alt-rsync.patch similarity index 75% rename from apt-0.5.4cnc9-alt-rsync.patch rename to apt-0.5.5cnc5-alt-rsync.patch index f0aedaf..d9f1bda 100644 --- a/apt-0.5.4cnc9-alt-rsync.patch +++ b/apt-0.5.5cnc5-alt-rsync.patch @@ -1,7 +1,8 @@ -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/acquire-item.h apt-0.5.4cnc9.rsync/apt-pkg/acquire-item.h ---- apt-0.5.4cnc9.orig/apt-pkg/acquire-item.h 2002-07-23 21:54:50 +0400 -+++ apt-0.5.4cnc9.rsync/apt-pkg/acquire-item.h 2002-12-17 11:34:33 +0300 -@@ -59,6 +59,9 @@ +Index: apt-rpm.rsync/apt-pkg/acquire-item.h +=================================================================== +--- apt-rpm.rsync/apt-pkg/acquire-item.h (revision 137) ++++ apt-rpm.rsync/apt-pkg/acquire-item.h (working copy) +@@ -61,6 +61,9 @@ // File to write the fetch into string DestFile; @@ -11,43 +12,10 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/acquire-item.h apt-0.5.4cnc // Action members invoked by the worker virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/acquire-method.cc apt-0.5.4cnc9.rsync/apt-pkg/acquire-method.cc ---- apt-0.5.4cnc9.orig/apt-pkg/acquire-method.cc 2002-07-23 21:54:50 +0400 -+++ apt-0.5.4cnc9.rsync/apt-pkg/acquire-method.cc 2002-12-17 11:34:33 +0300 -@@ -135,7 +135,7 @@ - if (Queue == 0) - abort(); - -- char S[1024] = ""; -+ char S[2048] = ""; - char *End = S; - - End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str()); -@@ -150,6 +150,10 @@ - End += snprintf(End,sizeof(S)-4 - (End - S),"Resume-Point: %lu\n", - Res.ResumePoint); - -+ if (!Res.TmpFilename.empty()) -+ End += snprintf(End,sizeof(S)-4 - (End - S),"Tmp-Filename: %s\n", -+ Res.TmpFilename.c_str()); -+ - strcat(End,"\n"); - if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) - exit(100); -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/acquire-method.h apt-0.5.4cnc9.rsync/apt-pkg/acquire-method.h ---- apt-0.5.4cnc9.orig/apt-pkg/acquire-method.h 2002-07-23 21:54:50 +0400 -+++ apt-0.5.4cnc9.rsync/apt-pkg/acquire-method.h 2002-12-17 11:34:33 +0300 -@@ -47,6 +47,7 @@ - time_t LastModified; - bool IMSHit; - string Filename; -+ string TmpFilename; - unsigned long Size; - unsigned long ResumePoint; - -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/acquire-worker.cc apt-0.5.4cnc9.rsync/apt-pkg/acquire-worker.cc ---- apt-0.5.4cnc9.orig/apt-pkg/acquire-worker.cc 2002-07-23 21:54:50 +0400 -+++ apt-0.5.4cnc9.rsync/apt-pkg/acquire-worker.cc 2002-12-17 11:34:33 +0300 +Index: apt-rpm.rsync/apt-pkg/acquire-worker.cc +=================================================================== +--- apt-rpm.rsync/apt-pkg/acquire-worker.cc (revision 137) ++++ apt-rpm.rsync/apt-pkg/acquire-worker.cc (working copy) @@ -235,6 +235,7 @@ CurrentSize = 0; TotalSize = atoi(LookupTag(Message,"Size","0").c_str()); @@ -69,27 +37,47 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/apt-pkg/acquire-worker.cc apt-0.5.4 return; CurrentSize = Buf.st_size; -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/makefile apt-0.5.4cnc9.rsync/methods/makefile ---- apt-0.5.4cnc9.orig/methods/makefile 2002-07-25 22:07:19 +0400 -+++ apt-0.5.4cnc9.rsync/methods/makefile 2002-12-17 11:34:33 +0300 -@@ -63,6 +63,13 @@ - SOURCE = gpg.cc - include $(PROGRAM_H) - -+# The rsync method -+PROGRAM=rsync -+SLIBS = -lapt-pkg $(SOCKETLIBS) $(RPMLIBS) -+LIB_MAKES = apt-pkg/makefile -+SOURCE = rsync.cc -+include $(PROGRAM_H) -+ - # SSH and vzip2 method symlink - all: $(BIN)/ssh $(BIN)/bzip2 - veryclean: clean-$(BIN)/ssh clean-$(BIN)/bzip2 -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync.cc apt-0.5.4cnc9.rsync/methods/rsync.cc ---- apt-0.5.4cnc9.orig/methods/rsync.cc 1970-01-01 03:00:00 +0300 -+++ apt-0.5.4cnc9.rsync/methods/rsync.cc 2002-12-17 13:25:56 +0300 -@@ -0,0 +1,468 @@ +Index: apt-rpm.rsync/apt-pkg/acquire-method.cc +=================================================================== +--- apt-rpm.rsync/apt-pkg/acquire-method.cc (revision 137) ++++ apt-rpm.rsync/apt-pkg/acquire-method.cc (working copy) +@@ -135,7 +135,7 @@ + if (Queue == 0) + abort(); + +- char S[1024] = ""; ++ char S[2048] = ""; + char *End = S; + + End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str()); +@@ -150,6 +150,10 @@ + End += snprintf(End,sizeof(S)-4 - (End - S),"Resume-Point: %lu\n", + Res.ResumePoint); + ++ if (!Res.TmpFilename.empty()) ++ End += snprintf(End,sizeof(S)-4 - (End - S),"Tmp-Filename: %s\n", ++ Res.TmpFilename.c_str()); ++ + strcat(End,"\n"); + if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) + exit(100); +Index: apt-rpm.rsync/apt-pkg/acquire-method.h +=================================================================== +--- apt-rpm.rsync/apt-pkg/acquire-method.h (revision 137) ++++ apt-rpm.rsync/apt-pkg/acquire-method.h (working copy) +@@ -47,6 +47,7 @@ + time_t LastModified; + bool IMSHit; + string Filename; ++ string TmpFilename; + unsigned long Size; + unsigned long ResumePoint; + +Index: apt-rpm.rsync/methods/rsync.cc +=================================================================== +--- apt-rpm.rsync/methods/rsync.cc (working copy) ++++ apt-rpm.rsync/methods/rsync.cc (working copy) +@@ -0,0 +1,570 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id$ @@ -124,6 +112,7 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync.cc apt-0.5.4cnc9.rsyn +#include +#include + ++#include "apti18n.h" +#include "rfc2553emu.h" +#include "connect.h" +#include "rsync-method.h" @@ -319,17 +308,45 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync.cc apt-0.5.4cnc9.rsyn + return false; +} + ++/* Parse rysnc output ++ * Need to parse lines like: ++ * ++ * ^opening tcp connection to rsync.altlinux.ru port 873 ++ * ^[11948] i=0 FILENAME mode=0100664 len=171935 ++ * ^FILENAME ++ * ^renaming .FILENAME.bWM2bW to FILENAME ++ * ^set modtime of FILENAME to (1048860997) Fri Mar 28 17:16:37 2003 ++ * ^recv_files finished ++ * ++ */ +void RsyncMethod::RsyncConnExec::ParseOutput(pkgAcqMethod *Owner, FetchResult &FRes, const char *buf) +{ + static const char * TMPFN = "Tmp-Filename: "; + static const char * SIZE = "Size: "; + static const char * START = "Start: "; -+ static const char * DONE = "Done: "; ++ static const char * DONE = "recv_files finished"; + static const char * FAILED= "Failed: "; + const char * ptr; + -+ //if ( RsyncMethod::Debug ) -+ // cerr << "ParseOutput: " << buf << endl; ++ if ( RsyncMethod::Debug ) ++ cerr << "ParseOutput: " << buf << endl; ++ ++ ptr = strstr(buf,"opening tcp connection"); ++ if (ptr) { ++ if ( RsyncMethod::Debug ) ++ cerr << endl << "Status: Connecting" << endl; ++ State = Connecting; ++ Owner->Status(_("Connecting")); ++ return; ++ } ++ ++ // [PID] i=0 DIRNAME FILENAME mode=XXXXXXX len=YYYYYY ++ if (buf[0]=='[') { ++ ptr = strstr(buf,"i=0 "); ++ if (ptr == 0) return; ++ ptr += 4; // skip "i=0 " ++ ptr = strchr(ptr,' '); // skip DIRNAME ++ } + + ptr = strstr(buf,TMPFN); + if (ptr) { @@ -401,7 +418,7 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync.cc apt-0.5.4cnc9.rsyn + argv.add(program.c_str()); + argv.add("-Lpt"); + argv.add("--partial"); -+ argv.add("--apt-support"); ++ AddOptions(argv); + if (RsyncMethod::Timeout>0) { + argv.add("--timeout"); + char S[10]; @@ -471,6 +488,76 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync.cc apt-0.5.4cnc9.rsyn + return false; +} + ++// Parse output of rsync process with --apt-support option ++void RsyncMethod::RsyncConnExecExt::ParseOutput(pkgAcqMethod *Owner, FetchResult &FRes, const char *buf) ++{ ++ static const char * TMPFN = "Tmp-Filename: "; ++ static const char * SIZE = "Size: "; ++ static const char * START = "Start: "; ++ static const char * DONE = "Done: "; ++ static const char * FAILED= "Failed: "; ++ const char * ptr; ++ ++ //if ( RsyncMethod::Debug ) ++ // cerr << "ParseOutput: " << buf << endl; ++ ++ ptr = strstr(buf,TMPFN); ++ if (ptr) { ++ ptr += strlen(TMPFN); ++ const char *ptr2 = ptr; ++ while (*ptr2!=0 && !isspace(*ptr2)) ++ ++ptr2; ++ if (ptr!=ptr2) { ++ char *tmpfn = new char[ptr2-ptr+1]; ++ bzero(tmpfn, ptr2-ptr+1); ++ strncpy(tmpfn, ptr, ptr2-ptr); ++ if (RsyncMethod::Debug) ++ cerr << endl << "RSYNC: " << TMPFN << tmpfn << endl; ++ FRes.TmpFilename = string(tmpfn); ++ delete tmpfn; ++ } ++ } ++ ++ ptr = strstr(buf,SIZE); ++ if (ptr) { ++ ptr += strlen(SIZE); ++ unsigned long size = atol(ptr); ++ if (RsyncMethod::Debug) ++ cerr << "RSYNC: " << SIZE << size << endl; ++ FRes.Size = size; ++ } ++ ++ ptr = strstr(buf,START); ++ if (ptr) { ++ State = Fetching; ++ dynamic_cast(Owner)->Start(FRes); ++ } ++ ++ ptr = strstr(buf,DONE); ++ if (ptr) ++ State = Done; ++ ++ ptr = strstr(buf,FAILED); ++ if (ptr) { ++ State = Failed; ++ ptr += strlen(FAILED); ++ const char *ptr2 = ptr; ++ while (*ptr2!=0 && *ptr2!='\n') ++ ++ptr2; ++ if (ptr!=ptr2) { ++ char *tmp = new char[ptr2-ptr+1]; ++ bzero(tmp, ptr2-ptr+1); ++ strncpy(tmp, ptr, ptr2-ptr); ++ _error->Error("%s",tmp); ++ if (RsyncMethod::Debug) ++ cerr << endl << FAILED << tmp << endl; ++ delete tmp; ++ } else { ++ _error->Error("Child process failed (no description)"); ++ } ++ } ++} ++ +// RsyncMethod::RsyncMethod - Constructor /*{{{*/ +// --------------------------------------------------------------------- +/* */ @@ -529,7 +616,10 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync.cc apt-0.5.4cnc9.rsyn + + // Don't compare now for the same server uri + delete server; -+ server = new RsyncConnExec(Get,proxy,RsyncProg); ++ if ( _config->FindB("Acquire::rsync::apt-support",true) ) ++ server = new RsyncConnExecExt(Get,proxy,RsyncProg); ++ else ++ server = new RsyncConnExec(Get,proxy,RsyncProg); + + if ( server->Get(this,Res,File,Itm->DestFile.c_str()) ) { + if ( stat(Itm->DestFile.c_str(), &st)==0 ) { @@ -558,10 +648,11 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync.cc apt-0.5.4cnc9.rsyn + + return Mth.Run(); +} -diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync-method.h apt-0.5.4cnc9.rsync/methods/rsync-method.h ---- apt-0.5.4cnc9.orig/methods/rsync-method.h 1970-01-01 03:00:00 +0300 -+++ apt-0.5.4cnc9.rsync/methods/rsync-method.h 2002-12-17 11:34:33 +0300 -@@ -0,0 +1,102 @@ +Index: apt-rpm.rsync/methods/rsync-method.h +=================================================================== +--- apt-rpm.rsync/methods/rsync-method.h (working copy) ++++ apt-rpm.rsync/methods/rsync-method.h (working copy) +@@ -0,0 +1,116 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id$ @@ -600,7 +691,7 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync-method.h apt-0.5.4cnc +class RsyncMethod : public pkgAcqMethod +{ + protected: -+ enum ConnType {ConnTypeExec, ConnTypeProto}; ++ enum ConnType {ConnTypeExec, ConnTypeExecExt, ConnTypeProto}; + + class RsyncConn + { @@ -633,7 +724,9 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync-method.h apt-0.5.4cnc + + protected: + bool WaitChild(pkgAcqMethod *Owner, FetchResult &FRes, const char *To); -+ void ParseOutput(pkgAcqMethod *Owner, FetchResult &FRes, const char *buf); ++ virtual void ParseOutput(pkgAcqMethod *Owner, FetchResult &FRes, const char *buf); ++ virtual void AddOptions(Argv &argv) ++ { argv.add("-vvvv"); }; + + public: + RsyncConnExec(URI u, const string &_proxy, const string &prog); @@ -642,6 +735,18 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync-method.h apt-0.5.4cnc + virtual bool Get(pkgAcqMethod *Owner, FetchResult &FRes, const char *From, const char *To); + }; + ++ class RsyncConnExecExt: public RsyncConnExec ++ { ++ protected: ++ virtual void ParseOutput(pkgAcqMethod *Owner, FetchResult &FRes, const char *buf); ++ virtual void AddOptions(Argv &argv) ++ { argv.add("--apt-support"); }; ++ ++ public: ++ RsyncConnExecExt(URI u, const string &_proxy, const string &prog): ++ RsyncConnExec(u, _proxy, prog) {}; ++ }; ++ + static RsyncConn *server; + static ConnType connType; + static bool Debug; @@ -664,3 +769,23 @@ diff -urN -X apt.excludes apt-0.5.4cnc9.orig/methods/rsync-method.h apt-0.5.4cnc +}; + +#endif +Index: apt-rpm.rsync/methods/Makefile.am +=================================================================== +--- apt-rpm.rsync/methods/Makefile.am (revision 137) ++++ apt-rpm.rsync/methods/Makefile.am (working copy) +@@ -1,6 +1,6 @@ + + methodsdir=${libdir}/apt/methods +-methods_PROGRAMS = cdrom copy file ftp gpg gzip bzip2 http rsh ssh ++methods_PROGRAMS = cdrom copy file ftp gpg gzip bzip2 http rsh ssh rsync + + LDADD = ../apt-pkg/libapt-pkg.la + +@@ -12,6 +12,7 @@ + bzip2_SOURCES = $(gzip_SOURCES) + rsh_SOURCES = rsh.cc rsh.h + ssh_SOURCES = $(rsh_SOURCES) ++rsync_SOURCES = rsync.cc rsync-method.h + + http_SOURCES = \ + http.cc \ diff --git a/apt-cnc-20030322-algo.patch b/apt-cnc-20030322-algo.patch deleted file mode 100644 index 0732f3e..0000000 --- a/apt-cnc-20030322-algo.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -ur apt-0.5.5cnc4.1/apt-pkg/algorithms.cc apt-0.5.5cnc4.1_20030324a/apt-pkg/algorithms.cc ---- apt-0.5.5cnc4.1/apt-pkg/algorithms.cc 2003-03-08 02:12:08 +0300 -+++ apt-0.5.5cnc4.1_20030324a/apt-pkg/algorithms.cc 2003-03-24 20:27:31 +0300 -@@ -419,7 +419,8 @@ - if (_config->FindB("APT::Remove-Depends",false) == true) - Fix.RemoveDepends(); - -- return Fix.Resolve(); -+ // CNC:2003-03-22 -+ return Fix.Resolve(true); - } - /*}}}*/ - // AllUpgrade - Upgrade as many packages as possible /*{{{*/ -@@ -1029,6 +1030,22 @@ - if ((Flags[Pkg->ID] & Protected) != 0) - continue; - -+ // CNC:2003-03-22 -+ pkgDepCache::State State(&Cache); -+ if (BrokenFix == true && DoUpgrade(Pkg) == true) -+ { -+ if (Cache[I].InstBroken() == false && -+ State.BrokenCount() >= Cache.BrokenCount()) -+ { -+ if (Debug == true) -+ clog << " Installing " << Pkg.Name() << endl; -+ Change = true; -+ break; -+ } -+ else -+ State.Restore(); -+ } -+ - if (Debug == true) - clog << " Added " << Pkg.Name() << " to the remove list" << endl; - -@@ -1405,7 +1422,7 @@ - return -1; - - if (L->Priority != R->Priority) -- return R->Priority - L->Priority; -+ return L->Priority - R->Priority; - return strcmp(L.ParentPkg().Name(),R.ParentPkg().Name()); - } - void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List) -diff -ur apt-0.5.5cnc4.1/apt-pkg/rpm/rpmpackagedata.h apt-0.5.5cnc4.1_20030324a/apt-pkg/rpm/rpmpackagedata.h ---- apt-0.5.5cnc4.1/apt-pkg/rpm/rpmpackagedata.h 2003-03-08 02:12:32 +0300 -+++ apt-0.5.5cnc4.1_20030324a/apt-pkg/rpm/rpmpackagedata.h 2003-03-21 02:30:15 +0300 -@@ -67,7 +67,11 @@ - public: - - inline pkgCache::State::VerPriority VerPriority(string Package) -- {return Priorities[Package];}; -+ { -+ if (Priorities.find(Package) != Priorities.end()) -+ return Priorities[Package]; -+ return pkgCache::State::Optional; -+ }; - inline pkgCache::Flag::PkgFlags PkgFlags(string Package) - {return Flags[Package];}; - diff --git a/apt.8 b/apt.8 deleted file mode 100644 index f628460..0000000 --- a/apt.8 +++ /dev/null @@ -1,50 +0,0 @@ -.\" This manpage is copyright (C) 1998 Branden Robinson . -.\" -.\" This is free software; you may redistribute it and/or modify -.\" it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2, -.\" or (at your option) any later version. -.\" -.\" This is distributed in the hope that it will be useful, but -.\" WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with APT; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -.\" 02111-1307 USA -.TH apt 8 "16 June 1998" "Debian GNU/Linux" -.SH NAME -apt \- Advanced Package Tool -.SH SYNOPSIS -.B apt -.SH DESCRIPTION -APT is a management system for software packages. It is still -under development; the snazzy front ends are not yet available. In the -meantime, please see -.BR apt-get (8). -.SH OPTIONS -None. -.SH FILES -None. -.SH SEE ALSO -.BR apt-cache (8), -.BR apt-get (8), -.BR apt.conf (5), -.BR sources.list (5) -.SH DIAGNOSTICS -apt returns zero on normal operation, decimal 100 on error. -.SH BUGS -This manpage isn't even started. -.PP -See . If you wish to report a -bug in -.BR apt , -please see -.I /usr/share/doc/debian/bug-reporting.txt -or the -.BR bug (1) -command. -.SH AUTHOR -apt was written by the APT team . diff --git a/apt.ru.po b/apt.ru.po index 3367e44..51fa13b 100644 --- a/apt.ru.po +++ b/apt.ru.po @@ -1,160 +1,194 @@ # Russian translation for APT. # Copyright (C) 2001-2003 Free Software Foundation, Inc. # Alexander Bokovoy , 2001. -# Dmitry V. Levin , 2002-2003 -# Vyacheslav Dikonov , 2003 -# Anton V. Denisov , 2003 +# Dmitry V. Levin , 2002-2003. +# Vyacheslav Dikonov , 2003. +# Anton V. Denisov , 2003. # msgid "" msgstr "" -"Project-Id-Version: apt-0.5.5cnc4.1-alt2\n" -"POT-Creation-Date: 2003-03-12 23:20+1200\n" -"PO-Revision-Date: 2003-03-13 00:48+1200\n" +"Project-Id-Version: apt-0.5.15cnc4-alt0.1\n" +"POT-Creation-Date: 2003-12-08 16:50+1200\n" +"PO-Revision-Date: 2003-12-08 17:41+1200\n" "Last-Translator: Anton V. Denisov \n" "Language-Team: ALT Linux Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=KOI8-R\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0\n" -#: cmdline/apt-cache.cc:135 cmdline/apt-shell.cc:2578 +#: cmdline/acqprogress.cc:55 +msgid "Hit " +msgstr " " + +#: cmdline/acqprogress.cc:79 +msgid "Get:" +msgstr ": " + +#: cmdline/acqprogress.cc:110 +msgid "Ign " +msgstr " " + +#: cmdline/acqprogress.cc:114 +msgid "Err " +msgstr " " + +#: cmdline/acqprogress.cc:135 +#, c-format +msgid "Fetched %sB in %s (%sB/s)\n" +msgstr " %sB %s (%sB/s).\n" + +#: cmdline/acqprogress.cc:225 +msgid " [Working]" +msgstr " []" + +#: cmdline/acqprogress.cc:271 +#, c-format +msgid "" +"Media Change: Please insert the disc labeled\n" +" '%s'\n" +"in the drive '%s' and press enter\n" +msgstr "" +" : , , '%s'\n" +" '%s' .\n" + +#: cmdline/apt-cache.cc:157 cmdline/apt-shell.cc:3116 #, c-format msgid "Package %s version %s has an unmet dep:\n" msgstr " %s %s :\n" -#: cmdline/apt-cache.cc:175 cmdline/apt-cache.cc:543 cmdline/apt-cache.cc:631 -#: cmdline/apt-cache.cc:919 cmdline/apt-cache.cc:1296 -#: cmdline/apt-cache.cc:1442 cmdline/apt-shell.cc:2216 -#: cmdline/apt-shell.cc:2307 cmdline/apt-shell.cc:2621 -#: cmdline/apt-shell.cc:3035 +#: cmdline/apt-cache.cc:197 cmdline/apt-cache.cc:565 cmdline/apt-cache.cc:660 +#: cmdline/apt-cache.cc:750 cmdline/apt-cache.cc:1024 +#: cmdline/apt-cache.cc:1242 cmdline/apt-cache.cc:1621 +#: cmdline/apt-cache.cc:1772 cmdline/apt-shell.cc:2668 +#: cmdline/apt-shell.cc:2766 cmdline/apt-shell.cc:2859 +#: cmdline/apt-shell.cc:3159 cmdline/apt-shell.cc:3575 #, c-format msgid "Unable to locate package %s" msgstr " %s" -#: cmdline/apt-cache.cc:232 +#: cmdline/apt-cache.cc:254 msgid "Total Package Names : " msgstr "ͣ : " -#: cmdline/apt-cache.cc:272 +#: cmdline/apt-cache.cc:294 msgid " Normal Packages: " msgstr " : " -#: cmdline/apt-cache.cc:273 +#: cmdline/apt-cache.cc:295 msgid " Pure Virtual Packages: " msgstr " : " -#: cmdline/apt-cache.cc:274 +#: cmdline/apt-cache.cc:296 msgid " Single Virtual Packages: " msgstr " : " -#: cmdline/apt-cache.cc:275 +#: cmdline/apt-cache.cc:297 msgid " Mixed Virtual Packages: " msgstr " : " -#: cmdline/apt-cache.cc:276 +#: cmdline/apt-cache.cc:298 msgid " Missing: " msgstr " : " -#: cmdline/apt-cache.cc:278 +#: cmdline/apt-cache.cc:300 msgid "Total Distinct Versions: " msgstr " : " -#: cmdline/apt-cache.cc:280 +#: cmdline/apt-cache.cc:302 msgid "Total Dependencies: " msgstr " : " -#: cmdline/apt-cache.cc:283 +#: cmdline/apt-cache.cc:305 msgid "Total Ver/File relations: " msgstr " /: " -#: cmdline/apt-cache.cc:285 +#: cmdline/apt-cache.cc:307 msgid "Total Provides Mappings: " msgstr " : " -#: cmdline/apt-cache.cc:297 +#: cmdline/apt-cache.cc:319 msgid "Total Globbed Strings: " msgstr " : " -#: cmdline/apt-cache.cc:311 +#: cmdline/apt-cache.cc:333 msgid "Total Dependency Version space: " msgstr " : " -#: cmdline/apt-cache.cc:316 +#: cmdline/apt-cache.cc:338 msgid "Total Slack space: " msgstr " : " -#: cmdline/apt-cache.cc:324 +#: cmdline/apt-cache.cc:346 msgid "Total Space Accounted for: " msgstr " : " -#: cmdline/apt-cache.cc:462 cmdline/apt-cache.cc:1129 -#: cmdline/apt-shell.cc:2699 +#: cmdline/apt-cache.cc:484 cmdline/apt-cache.cc:1452 +#: cmdline/apt-shell.cc:3237 #, c-format msgid "Package file %s is out of sync." msgstr " %s ." -#: cmdline/apt-cache.cc:1172 cmdline/apt-shell.cc:2745 +#: cmdline/apt-cache.cc:1495 cmdline/apt-shell.cc:3283 msgid "You must give exactly one pattern" msgstr " " -#: cmdline/apt-cache.cc:1396 +#: cmdline/apt-cache.cc:1649 cmdline/apt-shell.cc:3603 +msgid "No packages found" +msgstr " " + +#: cmdline/apt-cache.cc:1726 msgid "Package Files:" msgstr " :" -#: cmdline/apt-cache.cc:1403 cmdline/apt-cache.cc:1489 +#: cmdline/apt-cache.cc:1733 cmdline/apt-cache.cc:1819 msgid "Cache is out of sync, can't x-ref a package file" msgstr " , ." -#: cmdline/apt-cache.cc:1404 +#: cmdline/apt-cache.cc:1734 #, c-format msgid "%4i %s\n" msgstr "%4i %s\n" -#. Show any packages have explicit pins -#: cmdline/apt-cache.cc:1416 +#: cmdline/apt-cache.cc:1746 msgid "Pinned Packages:" msgstr " :" -#: cmdline/apt-cache.cc:1428 cmdline/apt-cache.cc:1469 +#: cmdline/apt-cache.cc:1758 cmdline/apt-cache.cc:1799 msgid "(not found)" msgstr "( )" -#. Installed version -#: cmdline/apt-cache.cc:1449 +#: cmdline/apt-cache.cc:1779 msgid " Installed: " msgstr " : " -#: cmdline/apt-cache.cc:1451 cmdline/apt-cache.cc:1459 +#: cmdline/apt-cache.cc:1781 cmdline/apt-cache.cc:1789 msgid "(none)" msgstr "()" -#. Candidate Version -#: cmdline/apt-cache.cc:1456 +#: cmdline/apt-cache.cc:1786 msgid " Candidate: " msgstr " : " -#: cmdline/apt-cache.cc:1466 +#: cmdline/apt-cache.cc:1796 msgid " Package Pin: " msgstr " : " -#. Show the priority tables -#: cmdline/apt-cache.cc:1475 +#: cmdline/apt-cache.cc:1805 msgid " Version Table:" msgstr " :" -#: cmdline/apt-cache.cc:1490 +#: cmdline/apt-cache.cc:1820 #, c-format msgid " %4i %s\n" msgstr " %4i %s\n" -#: cmdline/apt-cache.cc:1517 cmdline/apt-cdrom.cc:850 cmdline/apt-config.cc:72 -#: cmdline/apt-get.cc:2287 cmdline/apt-shell.cc:3077 +#: cmdline/apt-cache.cc:1847 cmdline/apt-cdrom.cc:847 cmdline/apt-config.cc:72 +#: cmdline/apt-get.cc:2884 cmdline/apt-shell.cc:3622 #, c-format msgid "%s %s for %s %s compiled on %s %s\n" msgstr "%s %s %s %s %s %s\n" -#. CNC:2003-02-20 - Use file2, not file1 twice. -#: cmdline/apt-cache.cc:1521 +#: cmdline/apt-cache.cc:1854 msgid "" "Usage: apt-cache [options] command\n" " apt-cache [options] add file1 [file2 ...]\n" @@ -179,6 +213,7 @@ msgid "" " whatdepends - Show raw dependency information on a package\n" " pkgnames - List the names of all packages\n" " dotty - Generate package graphs for GraphVis\n" +" xvcg - Generate package graphs for xvcg\n" " policy - Show policy settings\n" "\n" "Options:\n" @@ -215,7 +250,8 @@ msgstr "" "\n" " pkgnames - ͣ " "\n" -" dotty - GraphVis\n" +" dotty - GraphVis\n" +" xvcg - xvcg\n" " policy - \n" "\n" ":\n" @@ -230,7 +266,107 @@ msgstr "" " . : apt-cache(8) apt.conf" "(5).\n" -#: cmdline/apt-cdrom.cc:856 +#: cmdline/apt-cdrom.cc:402 cmdline/apt-cdrom.cc:526 +#, c-format +msgid "Failed to rename %s.new to %s" +msgstr " %s.new %s" + +#: cmdline/apt-cdrom.cc:425 apt-pkg/sourcelist.cc:297 +#, c-format +msgid "Opening %s" +msgstr " %s" + +#: cmdline/apt-cdrom.cc:432 +#, c-format +msgid "Failed to open %s.new" +msgstr " %s.new" + +#: cmdline/apt-cdrom.cc:571 cmdline/apt-cdrom.cc:812 +msgid "Using CD-ROM mount point " +msgstr " CD-ROM " + +#: cmdline/apt-cdrom.cc:579 cmdline/apt-cdrom.cc:834 methods/cdrom.cc:160 +#, c-format +msgid "Unable to read the cdrom database %s" +msgstr " - %s." + +#: cmdline/apt-cdrom.cc:596 +msgid "Unmounting CD-ROM" +msgstr " CD-ROM" + +#: cmdline/apt-cdrom.cc:600 +msgid "Please insert a Disc in the drive and press enter" +msgstr ", , " + +#: cmdline/apt-cdrom.cc:601 cmdline/apt-cdrom.cc:813 +msgid "Mounting CD-ROM" +msgstr " CD-ROM" + +#: cmdline/apt-cdrom.cc:603 cmdline/apt-cdrom.cc:815 +msgid "Failed to mount the cdrom." +msgstr " CD-ROM." + +#: cmdline/apt-cdrom.cc:607 cmdline/apt-cdrom.cc:818 +msgid "Identifying.. " +msgstr ".. " + +#: cmdline/apt-cdrom.cc:627 +msgid "Scanning Disc for index files.. " +msgstr " .. " + +#: cmdline/apt-cdrom.cc:644 +msgid "I found (binary):" +msgstr " ():" + +#: cmdline/apt-cdrom.cc:647 +msgid "I found (source):" +msgstr " ():" + +#: cmdline/apt-cdrom.cc:662 +msgid "Found " +msgstr " " + +#: cmdline/apt-cdrom.cc:662 +msgid " package indexes and " +msgstr " " + +#: cmdline/apt-cdrom.cc:663 +msgid " source indexes." +msgstr " ." + +#: cmdline/apt-cdrom.cc:670 +msgid "Unable to locate any package files, perhaps this is not an APT enabled disc" +msgstr " , APT" + +#: cmdline/apt-cdrom.cc:694 +msgid "Found label '" +msgstr " '" + +#: cmdline/apt-cdrom.cc:703 +msgid "Please provide a name for this Disc, such as 'ALT Linux Disk 1'" +msgstr ", , , 'ALT Linux Disk 1'" + +#: cmdline/apt-cdrom.cc:712 +msgid "That is not a valid name, try again " +msgstr " , " + +#: cmdline/apt-cdrom.cc:726 +msgid "This Disc is called:" +msgstr " :" + +#: cmdline/apt-cdrom.cc:759 +msgid "Source List entries for this Disc are:" +msgstr " :" + +#: cmdline/apt-cdrom.cc:792 +msgid "Repeat this process for the rest of the CDs in your set." +msgstr " ." + +#: cmdline/apt-cdrom.cc:837 +msgid "Stored Label: '" +msgstr "Σ : '" + +#: cmdline/apt-cdrom.cc:853 msgid "" "Usage: apt-cdrom [options] command\n" "\n" @@ -309,80 +445,84 @@ msgstr "" " -o=? (: -o dir::cache=/" "tmp)\n" -#. This needs to be a capital -#: cmdline/apt-get.cc:118 cmdline/apt-shell.cc:175 +#: cmdline/apt-get.cc:156 cmdline/apt-shell.cc:180 msgid "Y" msgstr "Y" -#: cmdline/apt-get.cc:203 cmdline/apt-shell.cc:260 +#: cmdline/apt-get.cc:178 cmdline/apt-get.cc:1905 cmdline/apt-shell.cc:202 +#: cmdline/apt-shell.cc:1985 +#, c-format +msgid "Regex compilation error - %s" +msgstr " - %s" + +#: cmdline/apt-get.cc:273 cmdline/apt-shell.cc:297 msgid "The following packages have unmet dependencies:" msgstr " :" -#: cmdline/apt-get.cc:301 cmdline/apt-shell.cc:358 +#: cmdline/apt-get.cc:371 cmdline/apt-shell.cc:395 #, c-format msgid "but %s is installed" msgstr " %s " -#: cmdline/apt-get.cc:303 cmdline/apt-shell.cc:360 +#: cmdline/apt-get.cc:373 cmdline/apt-shell.cc:397 #, c-format msgid "but %s is to be installed" msgstr " %s " -#: cmdline/apt-get.cc:310 cmdline/apt-shell.cc:367 +#: cmdline/apt-get.cc:380 cmdline/apt-shell.cc:404 msgid "but it is not installable" msgstr " " -#: cmdline/apt-get.cc:312 cmdline/apt-shell.cc:369 +#: cmdline/apt-get.cc:382 cmdline/apt-shell.cc:406 msgid "but it is a virtual package" msgstr " " -#: cmdline/apt-get.cc:315 cmdline/apt-shell.cc:372 +#: cmdline/apt-get.cc:385 cmdline/apt-shell.cc:409 msgid "but it is not installed" msgstr " " -#: cmdline/apt-get.cc:315 cmdline/apt-shell.cc:372 +#: cmdline/apt-get.cc:385 cmdline/apt-shell.cc:409 msgid "but it is not going to be installed" msgstr " " -#: cmdline/apt-get.cc:320 cmdline/apt-shell.cc:377 +#: cmdline/apt-get.cc:390 cmdline/apt-shell.cc:414 msgid " or" msgstr " " -#: cmdline/apt-get.cc:346 cmdline/apt-shell.cc:404 +#: cmdline/apt-get.cc:419 cmdline/apt-shell.cc:444 msgid "The following NEW packages will be installed:" msgstr " :" -#. CNC:2002-07-25 -#: cmdline/apt-get.cc:394 cmdline/apt-shell.cc:453 +#: cmdline/apt-get.cc:470 cmdline/apt-shell.cc:496 msgid "The following packages will be REPLACED:" msgstr " :" -#: cmdline/apt-get.cc:395 cmdline/apt-shell.cc:454 +#: cmdline/apt-get.cc:471 cmdline/apt-shell.cc:497 msgid "The following packages will be REMOVED:" msgstr " :" -#: cmdline/apt-get.cc:415 +#: cmdline/apt-get.cc:493 cmdline/apt-shell.cc:526 msgid "The following packages have been kept back" msgstr " :" -#: cmdline/apt-get.cc:434 cmdline/apt-shell.cc:507 +#: cmdline/apt-get.cc:514 cmdline/apt-shell.cc:554 msgid "The following packages will be upgraded" msgstr " :" -#: cmdline/apt-get.cc:453 cmdline/apt-shell.cc:533 +#: cmdline/apt-get.cc:535 cmdline/apt-shell.cc:582 msgid "The following packages will be DOWNGRADED" msgstr " :" -#: cmdline/apt-get.cc:470 cmdline/apt-shell.cc:552 +#: cmdline/apt-get.cc:555 cmdline/apt-shell.cc:604 msgid "The following held packages will be changed:" msgstr " :" -#: cmdline/apt-get.cc:521 cmdline/apt-shell.cc:605 +#: cmdline/apt-get.cc:644 cmdline/apt-shell.cc:695 #, c-format msgid "%s (due to %s) " msgstr "%s ( %s)" -#: cmdline/apt-get.cc:528 cmdline/apt-shell.cc:612 +#: cmdline/apt-get.cc:652 cmdline/apt-shell.cc:703 msgid "" "WARNING: The following essential packages will be removed\n" "This should NOT be done unless you know exactly what you are doing!" @@ -391,129 +531,126 @@ msgstr "" " . " "!" -#: cmdline/apt-get.cc:582 cmdline/apt-shell.cc:678 +#: cmdline/apt-get.cc:706 cmdline/apt-shell.cc:769 #, c-format -msgid "%lu packages upgraded, %lu newly installed, " -msgstr "%lu %lu , " +msgid "%lu upgraded, %lu newly installed, " +msgstr "%lu , %lu , " -#: cmdline/apt-get.cc:586 cmdline/apt-shell.cc:682 +#: cmdline/apt-get.cc:710 cmdline/apt-shell.cc:773 #, c-format msgid "%lu reinstalled, " msgstr "%lu , " -#: cmdline/apt-get.cc:588 cmdline/apt-shell.cc:684 +#: cmdline/apt-get.cc:712 cmdline/apt-shell.cc:775 #, c-format msgid "%lu downgraded, " msgstr "%lu , " -#: cmdline/apt-get.cc:591 cmdline/apt-shell.cc:687 +#: cmdline/apt-get.cc:715 cmdline/apt-shell.cc:778 #, c-format msgid "%lu replaced, " msgstr "%lu , " -#. CNC:2002-07-29 -#: cmdline/apt-get.cc:594 cmdline/apt-shell.cc:691 +#: cmdline/apt-get.cc:718 cmdline/apt-shell.cc:782 #, c-format msgid "%lu removed and %lu not upgraded.\n" msgstr "%lu %lu .\n" -#: cmdline/apt-get.cc:598 cmdline/apt-shell.cc:698 +#: cmdline/apt-get.cc:722 cmdline/apt-shell.cc:789 #, c-format -msgid "%lu packages not fully installed or removed.\n" -msgstr "%lu .\n" +msgid "%lu not fully installed or removed.\n" +msgstr "%lu .\n" -#: cmdline/apt-get.cc:620 +#: cmdline/apt-get.cc:744 msgid "There are changes to be made" msgstr " , " -#: cmdline/apt-get.cc:683 cmdline/apt-shell.cc:826 +#: cmdline/apt-get.cc:810 cmdline/apt-shell.cc:917 msgid "Correcting dependencies..." msgstr " ..." -#: cmdline/apt-get.cc:686 cmdline/apt-shell.cc:829 +#: cmdline/apt-get.cc:813 cmdline/apt-shell.cc:920 msgid " failed." msgstr " ." -#: cmdline/apt-get.cc:689 cmdline/apt-shell.cc:832 +#: cmdline/apt-get.cc:816 cmdline/apt-shell.cc:923 msgid "Unable to correct dependencies" msgstr " " -#: cmdline/apt-get.cc:692 cmdline/apt-shell.cc:835 +#: cmdline/apt-get.cc:819 cmdline/apt-shell.cc:926 msgid "Unable to minimize the upgrade set" msgstr " " -#: cmdline/apt-get.cc:694 cmdline/apt-shell.cc:837 +#: cmdline/apt-get.cc:821 cmdline/apt-shell.cc:928 msgid " Done" msgstr " " -#: cmdline/apt-get.cc:698 +#: cmdline/apt-get.cc:825 msgid "You might want to run `apt-get -f install' to correct these." -msgstr "" -", `apt-get -f install' ." +msgstr ", `apt-get -f install' ." -#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:844 +#: cmdline/apt-get.cc:828 cmdline/apt-shell.cc:935 msgid "Unmet dependencies. Try using -f." msgstr " . -f." -#: cmdline/apt-get.cc:758 cmdline/apt-shell.cc:902 +#: cmdline/apt-get.cc:886 cmdline/apt-shell.cc:993 msgid "Packages need to be removed but Remove is disabled." msgstr "" " , No " "Remove ( )." -#: cmdline/apt-get.cc:784 cmdline/apt-get.cc:1778 cmdline/apt-get.cc:1811 -#: cmdline/apt-shell.cc:928 cmdline/apt-shell.cc:1918 -#: cmdline/apt-shell.cc:1954 +#: cmdline/apt-get.cc:912 cmdline/apt-get.cc:2252 cmdline/apt-get.cc:2285 +#: cmdline/apt-shell.cc:1019 cmdline/apt-shell.cc:2247 +#: cmdline/apt-shell.cc:2283 msgid "Unable to lock the download directory" msgstr " " -#: cmdline/apt-get.cc:794 cmdline/apt-get.cc:1859 cmdline/apt-get.cc:2103 -#: cmdline/apt-shell.cc:938 cmdline/apt-shell.cc:2013 apt-pkg/cachefile.cc:71 +#: cmdline/apt-get.cc:922 cmdline/apt-get.cc:2333 cmdline/apt-get.cc:2577 +#: cmdline/apt-shell.cc:1029 cmdline/apt-shell.cc:2342 apt-pkg/cachefile.cc:71 msgid "The list of sources could not be read." msgstr " ." -#: cmdline/apt-get.cc:814 cmdline/apt-shell.cc:958 +#: cmdline/apt-get.cc:942 cmdline/apt-shell.cc:1049 #, c-format msgid "Need to get %sB/%sB of archives.\n" msgstr " %sB/%sB .\n" -#: cmdline/apt-get.cc:817 cmdline/apt-shell.cc:961 +#: cmdline/apt-get.cc:945 cmdline/apt-shell.cc:1052 #, c-format msgid "Need to get %sB of archives.\n" msgstr " %sB .\n" -#: cmdline/apt-get.cc:822 cmdline/apt-shell.cc:745 cmdline/apt-shell.cc:966 +#: cmdline/apt-get.cc:950 cmdline/apt-shell.cc:836 cmdline/apt-shell.cc:1057 #, c-format msgid "After unpacking %sB of additional disk space will be used.\n" -msgstr "" -" %sB .\n" +msgstr " %sB .\n" -#: cmdline/apt-get.cc:825 cmdline/apt-shell.cc:748 cmdline/apt-shell.cc:969 +#: cmdline/apt-get.cc:953 cmdline/apt-shell.cc:839 cmdline/apt-shell.cc:1060 #, c-format msgid "After unpacking %sB disk space will be freed.\n" msgstr " %sB .\n" -#: cmdline/apt-get.cc:843 cmdline/apt-shell.cc:987 +#: cmdline/apt-get.cc:971 cmdline/apt-shell.cc:1078 #, c-format msgid "You don't have enough free space in %s." msgstr " %s" -#: cmdline/apt-get.cc:852 cmdline/apt-shell.cc:996 +#: cmdline/apt-get.cc:980 cmdline/apt-shell.cc:1087 msgid "There are problems and -y was used without --force-yes" msgstr " , -y --force-yes" -#: cmdline/apt-get.cc:858 cmdline/apt-get.cc:878 cmdline/apt-shell.cc:1002 -#: cmdline/apt-shell.cc:1022 +#: cmdline/apt-get.cc:986 cmdline/apt-get.cc:1006 cmdline/apt-shell.cc:1093 +#: cmdline/apt-shell.cc:1113 msgid "Trivial Only specified but this is not a trivial operation." msgstr "" " Trivial Only, " " ." -#: cmdline/apt-get.cc:860 cmdline/apt-shell.cc:1004 +#: cmdline/apt-get.cc:988 cmdline/apt-shell.cc:1095 msgid "Yes, do as I say!" msgstr "Yes, do as I say!" -#: cmdline/apt-get.cc:862 cmdline/apt-shell.cc:1006 +#: cmdline/apt-get.cc:990 cmdline/apt-shell.cc:1097 #, c-format msgid "" "You are about to do something potentially harmful\n" @@ -524,30 +661,30 @@ msgstr "" " '%s' .\n" " " -#: cmdline/apt-get.cc:868 cmdline/apt-get.cc:887 cmdline/apt-shell.cc:763 -#: cmdline/apt-shell.cc:1012 cmdline/apt-shell.cc:1031 +#: cmdline/apt-get.cc:996 cmdline/apt-get.cc:1015 cmdline/apt-shell.cc:854 +#: cmdline/apt-shell.cc:1103 cmdline/apt-shell.cc:1122 msgid "Abort." msgstr "." -#: cmdline/apt-get.cc:883 cmdline/apt-shell.cc:761 cmdline/apt-shell.cc:1027 +#: cmdline/apt-get.cc:1011 cmdline/apt-shell.cc:852 cmdline/apt-shell.cc:1118 msgid "Do you want to continue? [Y/n] " msgstr "? [Y/n] " -#: cmdline/apt-get.cc:958 cmdline/apt-get.cc:1399 cmdline/apt-get.cc:1973 -#: cmdline/apt-shell.cc:1104 cmdline/apt-shell.cc:1525 +#: cmdline/apt-get.cc:1086 cmdline/apt-get.cc:1191 cmdline/apt-get.cc:1635 +#: cmdline/apt-get.cc:2447 cmdline/apt-shell.cc:1195 cmdline/apt-shell.cc:1705 #, c-format msgid "Failed to fetch %s %s\n" msgstr " %s %s\n" -#: cmdline/apt-get.cc:976 cmdline/apt-shell.cc:1122 +#: cmdline/apt-get.cc:1104 cmdline/apt-shell.cc:1213 msgid "Some files failed to download" msgstr " " -#: cmdline/apt-get.cc:977 cmdline/apt-get.cc:1982 cmdline/apt-shell.cc:1123 +#: cmdline/apt-get.cc:1105 cmdline/apt-get.cc:2456 cmdline/apt-shell.cc:1214 msgid "Download complete and in download only mode" msgstr " ' '." -#: cmdline/apt-get.cc:983 cmdline/apt-shell.cc:1129 +#: cmdline/apt-get.cc:1111 cmdline/apt-shell.cc:1220 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" @@ -555,49 +692,58 @@ msgstr "" " . apt-get " "update --fix-missing." -#: cmdline/apt-get.cc:987 cmdline/apt-shell.cc:1133 +#: cmdline/apt-get.cc:1115 cmdline/apt-shell.cc:1224 msgid "--fix-missing and media swapping is not currently supported" -msgstr "" -" --fix-missing ." +msgstr " --fix-missing ." -#: cmdline/apt-get.cc:992 cmdline/apt-shell.cc:1138 +#: cmdline/apt-get.cc:1120 cmdline/apt-shell.cc:1229 msgid "Unable to correct missing packages." msgstr " ." -#: cmdline/apt-get.cc:993 cmdline/apt-shell.cc:1139 +#: cmdline/apt-get.cc:1121 cmdline/apt-shell.cc:1230 msgid "Aborting Install." msgstr " ." -#: cmdline/apt-get.cc:1050 cmdline/apt-shell.cc:1198 -#, c-format -msgid "Note, selecting %s instead of %s\n" -msgstr " : %s %s.\n" +#: cmdline/apt-get.cc:1196 cmdline/apt-get.cc:2452 +msgid "Failed to fetch some archives." +msgstr " ." -#: cmdline/apt-get.cc:1060 cmdline/apt-shell.cc:1208 +#: cmdline/apt-get.cc:1217 cmdline/apt-get.cc:1818 cmdline/apt-get.cc:1881 +#: cmdline/apt-get.cc:1916 cmdline/apt-shell.cc:1291 cmdline/apt-shell.cc:1961 +#: cmdline/apt-shell.cc:1996 +#, c-format +msgid "Selecting %s for '%s'\n" +msgstr " %s '%s'\n" + +#: cmdline/apt-get.cc:1247 cmdline/apt-shell.cc:1321 +#, c-format +msgid "Internal error. Package %s doesn't provide %s\n" +msgstr " . %s %s\n" + +#: cmdline/apt-get.cc:1259 cmdline/apt-shell.cc:1333 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" -msgstr "" -" %s , , .\n" +msgstr " %s , , .\n" -#: cmdline/apt-get.cc:1078 cmdline/apt-shell.cc:1226 +#: cmdline/apt-get.cc:1277 cmdline/apt-shell.cc:1351 #, c-format msgid "Package %s is not installed, so not removed\n" msgstr " %s , ̣.\n" -#: cmdline/apt-get.cc:1089 cmdline/apt-shell.cc:1237 +#: cmdline/apt-get.cc:1288 cmdline/apt-shell.cc:1362 #, c-format msgid "Package %s is a virtual package provided by:\n" msgstr " %s :\n" -#: cmdline/apt-get.cc:1101 cmdline/apt-shell.cc:1249 +#: cmdline/apt-get.cc:1300 cmdline/apt-shell.cc:1374 msgid " [Installed]" msgstr " []" -#: cmdline/apt-get.cc:1106 cmdline/apt-shell.cc:1254 +#: cmdline/apt-get.cc:1305 cmdline/apt-shell.cc:1379 msgid "You should explicitly select one to install." msgstr " , ." -#: cmdline/apt-get.cc:1111 cmdline/apt-shell.cc:1259 +#: cmdline/apt-get.cc:1310 cmdline/apt-shell.cc:1384 #, c-format msgid "" "Package %s has no available version, but exists in the database.\n" @@ -610,55 +756,64 @@ msgstr "" " , , sources.list \n" ", .\n" -#: cmdline/apt-get.cc:1131 cmdline/apt-shell.cc:1279 +#: cmdline/apt-get.cc:1332 cmdline/apt-shell.cc:1406 msgid "However the following packages replace it:" msgstr " , :" -#: cmdline/apt-get.cc:1134 cmdline/apt-shell.cc:1282 +#: cmdline/apt-get.cc:1335 cmdline/apt-shell.cc:1409 #, c-format msgid "Package %s has no installation candidate" msgstr " %s " -#: cmdline/apt-get.cc:1154 cmdline/apt-shell.cc:1308 +#: cmdline/apt-get.cc:1355 cmdline/apt-shell.cc:1435 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" msgstr " %s , .\n" -#: cmdline/apt-get.cc:1162 cmdline/apt-shell.cc:1316 +#: cmdline/apt-get.cc:1363 cmdline/apt-shell.cc:1443 #, c-format msgid "%s is already the newest version.\n" msgstr " %s .\n" -#: cmdline/apt-get.cc:1189 cmdline/apt-shell.cc:1343 +#: cmdline/apt-get.cc:1409 cmdline/apt-shell.cc:1489 #, c-format -msgid "Release '%s' for '%s' was not found" -msgstr " '%s' '%s' ." +msgid "Release %s'%s' for '%s' was not found" +msgstr " %s'%s' '%s' ." -#: cmdline/apt-get.cc:1191 cmdline/apt-shell.cc:1345 +#: cmdline/apt-get.cc:1411 cmdline/apt-shell.cc:1491 #, c-format -msgid "Version '%s' for '%s' was not found" -msgstr " '%s' '%s' " +msgid "Version %s'%s' for '%s' was not found" +msgstr " %s'%s' '%s' " -#: cmdline/apt-get.cc:1197 cmdline/apt-shell.cc:1351 +#: cmdline/apt-get.cc:1419 cmdline/apt-shell.cc:1499 #, c-format msgid "Selected version %s (%s) for %s\n" msgstr " %s (%s) %s\n" -#: cmdline/apt-get.cc:1330 +#: cmdline/apt-get.cc:1422 cmdline/apt-shell.cc:1502 #, c-format -msgid "The list of sources from %s could not be read." -msgstr " %s." +msgid "Selected version %s for %s\n" +msgstr " %s %s\n" -#: cmdline/apt-get.cc:1333 +#: cmdline/apt-get.cc:1536 +msgid "The update command takes no arguments" +msgstr " " + +#: cmdline/apt-get.cc:1559 cmdline/apt-shell.cc:1632 #, c-format -msgid "List of sources %s doesn't exist." +msgid "Sources list %s could not be read" +msgstr " %s" + +#: cmdline/apt-get.cc:1562 cmdline/apt-shell.cc:1635 +#, c-format +msgid "Sources list %s doesn't exist" msgstr " %s ." -#: cmdline/apt-get.cc:1348 cmdline/apt-shell.cc:1474 +#: cmdline/apt-get.cc:1575 cmdline/apt-shell.cc:1647 msgid "Unable to lock the list directory" msgstr " " -#: cmdline/apt-get.cc:1371 cmdline/apt-shell.cc:1497 +#: cmdline/apt-get.cc:1607 cmdline/apt-shell.cc:1677 msgid "" "Release files for some repositories could not be retrieved or authenticated. " "Such repositories are being ignored." @@ -666,7 +821,7 @@ msgstr "" " . " " ." -#: cmdline/apt-get.cc:1418 cmdline/apt-shell.cc:1541 +#: cmdline/apt-get.cc:1666 cmdline/apt-shell.cc:1730 msgid "" "Some index files failed to download, they have been ignored, or old ones " "used instead." @@ -674,32 +829,27 @@ msgstr "" " , , " " ." -#: cmdline/apt-get.cc:1437 cmdline/apt-shell.cc:1570 +#: cmdline/apt-get.cc:1685 cmdline/apt-shell.cc:1759 msgid "Internal Error, AllUpgrade broke stuff" msgstr " , AllUpgrade " -#: cmdline/apt-get.cc:1531 cmdline/apt-get.cc:1567 cmdline/apt-shell.cc:1672 -#: cmdline/apt-shell.cc:1709 +#: cmdline/apt-get.cc:1779 cmdline/apt-get.cc:1796 cmdline/apt-shell.cc:1861 +#: cmdline/apt-shell.cc:1878 +#, c-format +msgid "Couldn't parse name '%s'" +msgstr " '%s'" + +#: cmdline/apt-get.cc:1891 cmdline/apt-get.cc:1930 cmdline/apt-shell.cc:1971 +#: cmdline/apt-shell.cc:2011 #, c-format msgid "Couldn't find package %s" msgstr " %s" -#: cmdline/apt-get.cc:1544 cmdline/apt-shell.cc:1685 -#, c-format -msgid "Regex compilation error - %s" -msgstr " - %s" - -#: cmdline/apt-get.cc:1554 cmdline/apt-shell.cc:1695 -#, c-format -msgid "Note, selecting %s for regex '%s'\n" -msgstr " : %s '%s'\n" - -#: cmdline/apt-get.cc:1588 +#: cmdline/apt-get.cc:1960 msgid "You might want to run `apt-get -f install' to correct these:" -msgstr "" -", `apt-get -f install' :" +msgstr ", `apt-get -f install' :" -#: cmdline/apt-get.cc:1591 +#: cmdline/apt-get.cc:1963 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -707,7 +857,7 @@ msgstr "" " . `apt-get -f install' " " -." -#: cmdline/apt-get.cc:1603 cmdline/apt-shell.cc:1752 +#: cmdline/apt-get.cc:1985 cmdline/apt-shell.cc:2074 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -719,7 +869,7 @@ msgstr "" " ݣ , \n" " ''." -#: cmdline/apt-get.cc:1611 cmdline/apt-shell.cc:1760 +#: cmdline/apt-get.cc:1993 cmdline/apt-shell.cc:2082 msgid "" "Since you only requested a single operation it is extremely likely that\n" "the package is simply not installable and a bug report against\n" @@ -729,98 +879,102 @@ msgstr "" " . , ,\n" " ." -#: cmdline/apt-get.cc:1616 cmdline/apt-shell.cc:1765 +#: cmdline/apt-get.cc:1998 cmdline/apt-shell.cc:2087 msgid "The following information may help to resolve the situation:" msgstr " :" -#: cmdline/apt-get.cc:1619 cmdline/apt-shell.cc:1769 +#: cmdline/apt-get.cc:2001 cmdline/apt-shell.cc:2091 msgid "Broken packages" msgstr ", `' " -#: cmdline/apt-get.cc:1642 +#: cmdline/apt-get.cc:2027 msgid "The following extra packages will be installed:" msgstr " :" -#: cmdline/apt-get.cc:1665 cmdline/apt-shell.cc:1796 +#: cmdline/apt-get.cc:2107 +msgid "Suggested packages:" +msgstr " :" + +#: cmdline/apt-get.cc:2108 +msgid "Recommended packages:" +msgstr " " + +#: cmdline/apt-get.cc:2132 cmdline/apt-shell.cc:2118 msgid "Calculating Upgrade... " msgstr " ... " -#: cmdline/apt-get.cc:1668 cmdline/apt-shell.cc:1799 methods/ftp.cc:703 -#: methods/connect.cc:102 +#: cmdline/apt-get.cc:2135 cmdline/apt-shell.cc:2121 methods/connect.cc:102 +#: methods/ftp.cc:706 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:1677 cmdline/apt-shell.cc:1804 +#: cmdline/apt-get.cc:2151 cmdline/apt-shell.cc:2133 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:1854 +#: cmdline/apt-get.cc:2328 msgid "Must specify at least one package to fetch source for" msgstr " ." -#: cmdline/apt-get.cc:1881 cmdline/apt-get.cc:2121 cmdline/apt-shell.cc:2031 +#: cmdline/apt-get.cc:2355 cmdline/apt-get.cc:2595 cmdline/apt-shell.cc:2360 #, c-format msgid "Unable to find a source package for %s" msgstr " %s" -#: cmdline/apt-get.cc:1933 +#: cmdline/apt-get.cc:2407 #, c-format msgid "You don't have enough free space in %s" msgstr " %s" -#: cmdline/apt-get.cc:1938 +#: cmdline/apt-get.cc:2412 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr " %sB/%sB .\n" -#: cmdline/apt-get.cc:1941 +#: cmdline/apt-get.cc:2415 #, c-format msgid "Need to get %sB of source archives.\n" msgstr " %sB .\n" -#: cmdline/apt-get.cc:1947 +#: cmdline/apt-get.cc:2421 #, c-format msgid "Fetch Source %s\n" msgstr " %s\n" -#: cmdline/apt-get.cc:1978 -msgid "Failed to fetch some archives." -msgstr " ." - -#: cmdline/apt-get.cc:2011 cmdline/apt-get.cc:2062 +#: cmdline/apt-get.cc:2485 cmdline/apt-get.cc:2536 #, c-format msgid "Build command '%s' failed.\n" msgstr " '%s' .\n" -#: cmdline/apt-get.cc:2023 cmdline/apt-get.cc:2045 +#: cmdline/apt-get.cc:2497 cmdline/apt-get.cc:2519 #, c-format msgid "Unpack command '%s' failed.\n" msgstr " '%s' .\n" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2507 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr " %s\n" -#: cmdline/apt-get.cc:2082 +#: cmdline/apt-get.cc:2556 msgid "Child process failed" msgstr " " -#: cmdline/apt-get.cc:2098 cmdline/apt-shell.cc:2008 +#: cmdline/apt-get.cc:2572 cmdline/apt-shell.cc:2337 msgid "Must specify at least one package to check builddeps for" msgstr " ." -#: cmdline/apt-get.cc:2126 cmdline/apt-shell.cc:2036 +#: cmdline/apt-get.cc:2600 cmdline/apt-shell.cc:2365 #, c-format msgid "Unable to get build-dependency information for %s" msgstr " %s." -#: cmdline/apt-get.cc:2146 cmdline/apt-shell.cc:2056 +#: cmdline/apt-get.cc:2620 cmdline/apt-shell.cc:2385 #, c-format msgid "%s has no build depends.\n" msgstr "%s .\n" -#: cmdline/apt-get.cc:2181 cmdline/apt-shell.cc:2091 +#: cmdline/apt-get.cc:2691 cmdline/apt-shell.cc:2456 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -829,7 +983,7 @@ msgstr "" " %s %s , " " %s." -#: cmdline/apt-get.cc:2223 cmdline/apt-shell.cc:2133 +#: cmdline/apt-get.cc:2743 cmdline/apt-shell.cc:2508 #, c-format msgid "" "%s dependency for %s cannot be satisfied because no available versions of " @@ -838,27 +992,37 @@ msgstr "" " %s %s , " " %s, ţ ." -#: cmdline/apt-get.cc:2250 cmdline/apt-shell.cc:2160 +#: cmdline/apt-get.cc:2778 cmdline/apt-shell.cc:2542 +#, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +" %s %s: %s " +" ." + +#: cmdline/apt-get.cc:2803 cmdline/apt-shell.cc:2567 +#, c-format +msgid "Failed to satisfy %s dependency for %s: %s" +msgstr " %s %s: %s" + +#: cmdline/apt-get.cc:2817 cmdline/apt-shell.cc:2581 +#, c-format msgid "" -"Some broken packages were found while trying to process build-dependencies.\n" +"Some broken packages were found while trying to process build-dependencies " +"for %s.\n" "You might want to run `apt-get -f install' to correct these." msgstr "" -" ģ ." +" ģ %s.\n" ", `apt-get -f install' ." -#: cmdline/apt-get.cc:2255 +#: cmdline/apt-get.cc:2822 msgid "Failed to process build dependencies" msgstr " " -#: cmdline/apt-get.cc:2292 cmdline/apt-shell.cc:3082 +#: cmdline/apt-get.cc:2889 cmdline/apt-shell.cc:3627 msgid "Supported Modules:" msgstr " :" -#. CNC:2003-02-20 - Use .rpm extension in documentation. -#. CNC:2002-08-01 -#. " dselect-upgrade - Follow dselect selections\n" -#. CNC:2002-08-02 -#: cmdline/apt-get.cc:2333 +#: cmdline/apt-get.cc:2930 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -892,6 +1056,7 @@ msgid "" " -u Show a list of upgraded packages as well\n" " -b Build the source package after fetching it\n" " -D When removing packages, remove dependencies as possible\n" +" -V Show verbose version numbers\n" " -c=? Read this configuration file\n" " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" "See the apt-get(8), sources.list(5) and apt.conf(5) manual\n" @@ -932,6 +1097,7 @@ msgstr "" " -b \n" " -D , " "\n" +" -V \n" " -c=? \n" " -o=? (: -o dir::cache=/" "tmp)\n" @@ -939,128 +1105,87 @@ msgstr "" "apt-get(8), sources.list(5) apt.conf(5).\n" "\n" -#: cmdline/acqprogress.cc:55 -msgid "Hit " -msgstr " " - -#: cmdline/acqprogress.cc:79 -msgid "Get:" -msgstr ": " - -#: cmdline/acqprogress.cc:110 -msgid "Ign " -msgstr " " - -#: cmdline/acqprogress.cc:114 -msgid "Err " -msgstr " " - -#: cmdline/acqprogress.cc:135 -#, c-format -msgid "Fetched %sB in %s (%sB/s)\n" -msgstr " %sB %s (%sB/s).\n" - -#: cmdline/acqprogress.cc:225 -msgid " [Working]" -msgstr " []" - -#: cmdline/acqprogress.cc:271 -#, c-format -msgid "" -"Media Change: Please insert the disc labeled '%s' in the drive '%s' and " -"press enter\n" -msgstr "" -" : , , '%s' '%s' " -" .\n" - -#: cmdline/apt-shell.cc:147 cmdline/apt-shell.cc:3775 +#: cmdline/apt-shell.cc:151 cmdline/apt-shell.cc:4340 msgid "There are broken packages. " msgstr " ." -#: cmdline/apt-shell.cc:148 cmdline/apt-shell.cc:1733 -#: cmdline/apt-shell.cc:3776 +#: cmdline/apt-shell.cc:152 cmdline/apt-shell.cc:2044 +#: cmdline/apt-shell.cc:4341 msgid "Run `check' to see them." msgstr " `check', ." -#: cmdline/apt-shell.cc:149 cmdline/apt-shell.cc:1734 -#: cmdline/apt-shell.cc:3777 +#: cmdline/apt-shell.cc:153 cmdline/apt-shell.cc:2045 +#: cmdline/apt-shell.cc:4342 msgid "You can try to fix them automatically with `install -f'." msgstr "" " , `install " "-f'." -#: cmdline/apt-shell.cc:159 +#: cmdline/apt-shell.cc:163 msgid "Excessive arguments" msgstr " " -#: cmdline/apt-shell.cc:481 -msgid "The following packages will be kept back" -msgstr " :" - -#: cmdline/apt-shell.cc:694 +#: cmdline/apt-shell.cc:785 #, c-format msgid "%lu removed and %lu kept.\n" msgstr "%lu %lu .\n" -#: cmdline/apt-shell.cc:723 +#: cmdline/apt-shell.cc:814 #, c-format msgid "Will need more %sB of archives.\n" msgstr " %sB .\n" -#: cmdline/apt-shell.cc:726 +#: cmdline/apt-shell.cc:817 #, c-format msgid "Will need less %sB of archives.\n" msgstr " %sB .\n" -#: cmdline/apt-shell.cc:732 +#: cmdline/apt-shell.cc:823 #, c-format msgid "After unpacking will need more %sB of disk space.\n" msgstr " %sB .\n" -#: cmdline/apt-shell.cc:735 +#: cmdline/apt-shell.cc:826 #, c-format msgid "After unpacking will need less %sB of disk space.\n" msgstr " %sB .\n" -#. Number of bytes -#: cmdline/apt-shell.cc:740 +#: cmdline/apt-shell.cc:831 #, c-format msgid "Will need %sB of archives.\n" msgstr " %sB .\n" -#: cmdline/apt-shell.cc:758 +#: cmdline/apt-shell.cc:849 msgid "Unrequested changes are needed to execute this operation." -msgstr "" -" , ." +msgstr " , ." -#: cmdline/apt-shell.cc:841 +#: cmdline/apt-shell.cc:932 msgid "You might want to run `install -f' to correct these." msgstr ", `install -f' ." -#: cmdline/apt-shell.cc:1557 cmdline/apt-shell.cc:1588 -#: cmdline/apt-shell.cc:1787 cmdline/apt-shell.cc:1821 -#: cmdline/apt-shell.cc:1998 cmdline/apt-shell.cc:3380 +#: cmdline/apt-shell.cc:1746 cmdline/apt-shell.cc:1784 +#: cmdline/apt-shell.cc:2109 cmdline/apt-shell.cc:2150 +#: cmdline/apt-shell.cc:2327 cmdline/apt-shell.cc:3939 msgid "You have no permissions for that" msgstr " " -#: cmdline/apt-shell.cc:1732 +#: cmdline/apt-shell.cc:2043 msgid "There are still broken packages. " msgstr "ӣ ݣ ." -#: cmdline/apt-shell.cc:2918 +#: cmdline/apt-shell.cc:3456 msgid "Name" msgstr "" -#: cmdline/apt-shell.cc:2919 +#: cmdline/apt-shell.cc:3457 msgid "Installed" msgstr "" -#: cmdline/apt-shell.cc:2920 +#: cmdline/apt-shell.cc:3458 msgid "Candidate" msgstr "" -#. " dselect-upgrade - Follow dselect selections\n" -#: cmdline/apt-shell.cc:3123 +#: cmdline/apt-shell.cc:3668 msgid "" "\n" "Main commands:\n" @@ -1080,6 +1205,7 @@ msgid "" " showpkg - Show some general information for a single package\n" " list/ls - List packages\n" " search - Search the package list for a regex pattern\n" +" script - Run scripts.\n" " depends - Show raw dependency information for a package\n" " whatdepends - Show raw dependency information on a package\n" " check - Verify that there are no broken dependencies\n" @@ -1109,6 +1235,7 @@ msgstr "" " showpkg - \n" " list/ls - \n" " search - \n" +" script - .\n" " depends - \n" " whatdepends - , " "\n" @@ -1122,7 +1249,7 @@ msgstr "" "\n" " This APT has Super Cow Powers.\n" -#: cmdline/apt-shell.cc:3163 +#: cmdline/apt-shell.cc:3710 msgid "" "Usage: install [options] pkg1[=ver] [pkg2 ...]\n" "\n" @@ -1138,7 +1265,7 @@ msgid "" " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" "\n" msgstr "" -": install [] pkg1[=ver] [pkg2 ...]\n" +": install [] 1[=] [2 ...]\n" "\n" " ( ,\n" " ), , " @@ -1156,7 +1283,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3181 +#: cmdline/apt-shell.cc:3728 msgid "" "Usage: remove [options] pkg1 [pkg2 ...]\n" "\n" @@ -1172,7 +1299,7 @@ msgid "" " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" "\n" msgstr "" -": remove [] pkg1 [pkg2 ...]\n" +": remove [] 1 [2 ...]\n" "\n" " , \n" ", .\n" @@ -1189,7 +1316,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3199 +#: cmdline/apt-shell.cc:3746 msgid "" "Usage: keep [options] pkg1 [pkg2 ...]\n" "\n" @@ -1223,7 +1350,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3218 +#: cmdline/apt-shell.cc:3765 msgid "" "Usage: upgrade [options]\n" "\n" @@ -1254,7 +1381,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3234 +#: cmdline/apt-shell.cc:3781 msgid "" "Usage: dist-upgrade [options]\n" "\n" @@ -1285,7 +1412,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3250 +#: cmdline/apt-shell.cc:3797 msgid "" "Usage: showpkg [options] pkg1 [pkg2 ...]\n" "\n" @@ -1296,7 +1423,7 @@ msgid "" " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" "\n" msgstr "" -": showpkg [] pkg1 [pkg2 ...]\n" +": showpkg [] 1 [2 ...]\n" "\n" " .\n" "\n" @@ -1306,7 +1433,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3263 +#: cmdline/apt-shell.cc:3810 msgid "" "Usage: show [options] pkg1 [pkg2 ...]\n" "\n" @@ -1329,7 +1456,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3277 +#: cmdline/apt-shell.cc:3824 msgid "" "Usage: depends [options] pkg1 [pkg2 ...]\n" "\n" @@ -1350,7 +1477,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3290 +#: cmdline/apt-shell.cc:3837 msgid "" "Usage: whatdepends [options] pkg1 [pkg2 ...]\n" "\n" @@ -1371,7 +1498,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3303 +#: cmdline/apt-shell.cc:3850 msgid "" "Usage: unmet [options]\n" "\n" @@ -1392,7 +1519,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3316 +#: cmdline/apt-shell.cc:3863 msgid "" "Usage: search [options] \n" "\n" @@ -1418,7 +1545,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3333 +#: cmdline/apt-shell.cc:3880 msgid "" "Usage: list/ls [options] [pattern ...]\n" "\n" @@ -1440,7 +1567,7 @@ msgstr "" " . Wildcards are accepted.\n" "\n" ":\n" -" -h t.\n" +" -h .\n" " -i .\n" " -u , .\n" " -v -.\n" @@ -1449,7 +1576,7 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3351 +#: cmdline/apt-shell.cc:3898 msgid "" "Usage: commit [options]\n" "\n" @@ -1470,26 +1597,847 @@ msgstr "" "tmp)\n" "\n" -#: cmdline/apt-shell.cc:3363 +#: cmdline/apt-shell.cc:3911 +msgid "" +"Usage: script [options] script1 [script2]\n" +"\n" +"Run the given scripts.\n" +"\n" +"Options:\n" +" -h This help text.\n" +" -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" +"\n" +msgstr "" +": script [] 1 [2]\n" +"\n" +" .\n" +"\n" +":\n" +" -h \n" +" -o=? (: -o dir::cache=/" +"tmp)\n" +"\n" + +#: cmdline/apt-shell.cc:3922 msgid "No help for that" msgstr " " -#: cmdline/apt-shell.cc:3785 +#: cmdline/apt-shell.cc:4350 msgid "Welcome to the APT shell. Type \"help\" for more information." msgstr "" " APT shell. \"help\" " " ." -#: cmdline/apt-shell.cc:3814 +#: cmdline/apt-shell.cc:4388 msgid "Exceeded maximum number of command arguments" msgstr " " -#: methods/cdrom.cc:159 +#: apt-pkg/contrib/cdromutl.cc:55 #, c-format -msgid "Unable to read the cdrom database %s" -msgstr " - %s." +msgid "Unable to stat the mount point %s" +msgstr " %s " -#: methods/cdrom.cc:168 +#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:418 apt-pkg/clean.cc:44 +#, c-format +msgid "Unable to change to %s" +msgstr " %s" + +#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/contrib/configuration.cc:735 +#: apt-pkg/acquire.cc:412 apt-pkg/clean.cc:38 apt-pkg/sourcelist.cc:423 +#, c-format +msgid "Unable to read %s" +msgstr " %s" + +#: apt-pkg/contrib/cdromutl.cc:190 +msgid "Failed to stat the cdrom" +msgstr " CD-ROM." + +#: apt-pkg/contrib/cmndline.cc:80 +#, c-format +msgid "Command line option '%c' [from %s] is not known." +msgstr " '%c' [ %s]." + +#: apt-pkg/contrib/cmndline.cc:106 apt-pkg/contrib/cmndline.cc:114 +#: apt-pkg/contrib/cmndline.cc:122 +#, c-format +msgid "Command line option %s is not understood" +msgstr " %s." + +#: apt-pkg/contrib/cmndline.cc:127 +#, c-format +msgid "Command line option %s is not boolean" +msgstr " %s ." + +#: apt-pkg/contrib/cmndline.cc:166 apt-pkg/contrib/cmndline.cc:187 +#, c-format +msgid "Option %s requires an argument." +msgstr " %s ." + +#: apt-pkg/contrib/cmndline.cc:201 apt-pkg/contrib/cmndline.cc:207 +#, c-format +msgid "Option %s: Configuration item specification must have an =." +msgstr " %s: =<>." + +#: apt-pkg/contrib/cmndline.cc:237 +#, c-format +msgid "Option %s requires an integer argument, not '%s'" +msgstr " %s '%s'" + +#: apt-pkg/contrib/cmndline.cc:268 +#, c-format +msgid "Option '%s' is too long" +msgstr " '%s'" + +#: apt-pkg/contrib/cmndline.cc:301 +#, c-format +msgid "Sense %s is not understood, try true or false." +msgstr " %s, true false." + +#: apt-pkg/contrib/cmndline.cc:351 +#, c-format +msgid "Invalid operation %s" +msgstr " %s" + +#: apt-pkg/contrib/configuration.cc:425 +#, c-format +msgid "Unrecognized type abbreviation: '%c'" +msgstr " : '%c'" + +#: apt-pkg/contrib/configuration.cc:483 +#, c-format +msgid "Opening configuration file %s" +msgstr " %s" + +#: apt-pkg/contrib/configuration.cc:593 +#, c-format +msgid "Syntax error %s:%u: Block starts with no name." +msgstr " %s:%u: ." + +#: apt-pkg/contrib/configuration.cc:612 +#, c-format +msgid "Syntax error %s:%u: Malformed Tag" +msgstr " %s:%u: ." + +#: apt-pkg/contrib/configuration.cc:629 +#, c-format +msgid "Syntax error %s:%u: Extra junk after value" +msgstr " %s:%u: ." + +#: apt-pkg/contrib/configuration.cc:669 +#, c-format +msgid "Syntax error %s:%u: Directives can only be done at the top level" +msgstr "" +" %s:%u: " +"." + +#: apt-pkg/contrib/configuration.cc:676 +#, c-format +msgid "Syntax error %s:%u: Too many nested includes" +msgstr " %s:%u: ." + +#: apt-pkg/contrib/configuration.cc:680 apt-pkg/contrib/configuration.cc:685 +#, c-format +msgid "Syntax error %s:%u: Included from here" +msgstr " %s:%u: ." + +#: apt-pkg/contrib/configuration.cc:689 +#, c-format +msgid "Syntax error %s:%u: Unsupported directive '%s'" +msgstr " %s:%u: '%s'." + +#: apt-pkg/contrib/configuration.cc:723 +#, c-format +msgid "Syntax error %s:%u: Extra junk at end of file" +msgstr " %s:%u: ." + +#: apt-pkg/contrib/fileutl.cc:83 +#, c-format +msgid "Not using locking for read only lock file %s" +msgstr " %s " + +#: apt-pkg/contrib/fileutl.cc:88 +#, c-format +msgid "Could not open lock file %s" +msgstr " %s" + +#: apt-pkg/contrib/fileutl.cc:106 +#, c-format +msgid "Not using locking for nfs mounted lock file %s" +msgstr "" +" , %s " +" nfs" + +#: apt-pkg/contrib/fileutl.cc:110 +#, c-format +msgid "Could not get lock %s" +msgstr " %s" + +#: apt-pkg/contrib/fileutl.cc:361 +#, c-format +msgid "Waited, for %s but it wasn't there" +msgstr " %s ." + +#: apt-pkg/contrib/fileutl.cc:371 +#, c-format +msgid "Sub-process %s received a segmentation fault." +msgstr " %s ." + +#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:628 +#, c-format +msgid "Sub-process %s returned an error code (%u)" +msgstr " %s (%u)." + +#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:631 +#, c-format +msgid "Sub-process %s exited unexpectedly" +msgstr " %s ." + +#: apt-pkg/contrib/fileutl.cc:420 +#, c-format +msgid "Could not open file %s" +msgstr " %s." + +#: apt-pkg/contrib/fileutl.cc:455 methods/ftp.cc:342 methods/rsh.cc:193 +msgid "Read error" +msgstr " " + +#: apt-pkg/contrib/fileutl.cc:476 +#, c-format +msgid "read, still have %lu to read but none left" +msgstr " %lu, ." + +#: apt-pkg/contrib/fileutl.cc:494 +msgid "Write error" +msgstr " " + +#: apt-pkg/contrib/fileutl.cc:506 +#, c-format +msgid "write, still have %lu to write but couldn't" +msgstr " %lu." + +#: apt-pkg/contrib/fileutl.cc:581 +msgid "Problem closing the file" +msgstr " ." + +#: apt-pkg/contrib/fileutl.cc:587 +msgid "Problem unlinking the file" +msgstr " ." + +#: apt-pkg/contrib/fileutl.cc:598 +msgid "Problem syncing the file" +msgstr " ." + +#: apt-pkg/contrib/mmap.cc:82 +msgid "Can't mmap an empty file" +msgstr " mmap " + +#: apt-pkg/contrib/mmap.cc:87 +#, c-format +msgid "Couldn't make mmap of %lu bytes" +msgstr " mmap %lu " + +#: apt-pkg/contrib/progress.cc:154 +#, c-format +msgid "%c%s... Error!" +msgstr "%c%s... !" + +#: apt-pkg/contrib/progress.cc:156 +#, c-format +msgid "%c%s... Done" +msgstr "%c%s... " + +#: apt-pkg/contrib/strutl.cc:941 +#, c-format +msgid "Selection %s not found" +msgstr ", %s, ." + +#: apt-pkg/rpm/rpmhandler.cc:101 +msgid "could not rewind RPMFileHandler" +msgstr " RPMFileHandler " + +#: apt-pkg/rpm/rpmhandler.cc:159 apt-pkg/rpm/rpmhandler.cc:166 +#: apt-pkg/rpm/rpmpm.cc:688 apt-pkg/rpm/rpmpm.cc:693 +#, c-format +msgid "Failed reading file %s" +msgstr " %s" + +#: apt-pkg/rpm/rpmhandler.cc:369 apt-pkg/rpm/rpmhandler.cc:378 +msgid "could not open RPM database" +msgstr " RPM" + +#: apt-pkg/rpm/rpmhandler.cc:385 +msgid "could not create RPM database iterator" +msgstr " RPM" + +#: apt-pkg/rpm/rpmindexfile.cc:374 +#, c-format +msgid "Problem with SelectFile %s" +msgstr " SelectFile %s" + +#: apt-pkg/rpm/rpmindexfile.cc:392 apt-pkg/rpm/rpmindexfile.cc:428 +#, c-format +msgid "Problem opening %s" +msgstr " %s" + +#: apt-pkg/rpm/rpmindexfile.cc:398 apt-pkg/rpm/rpmindexfile.cc:571 +#, c-format +msgid "Problem with MergeList %s" +msgstr " MergeList %s" + +#: apt-pkg/rpm/rpmindexfile.cc:433 apt-pkg/rpm/rpmindexfile.cc:589 +#, c-format +msgid "Problem with MergeFileProvides %s" +msgstr " MergeFileProvides %s" + +#: apt-pkg/rpm/rpmindexfile.cc:556 apt-pkg/rpm/rpmindexfile.cc:585 +msgid "Problem opening RPM database" +msgstr " RPM" + +#: apt-pkg/rpm/rpmindexfile.cc:560 +msgid "Problem with SelectFile RPM Database" +msgstr " SelectFile RPM." + +#: apt-pkg/rpm/rpmlistparser.cc:130 +#, c-format +msgid "" +"There are multiple versions of \"%s\" in your system.\n" +"\n" +"This package won't be cleanly updated, unless you leave\n" +"only one version. To leave multiple versions installed,\n" +"you may remove that warning by setting the following\n" +"option in your configuration file:\n" +"\n" +"RPM::Allow-Duplicated { \"^%s$\"; };\n" +"\n" +"To disable these warnings completely set:\n" +"\n" +"RPM::Allow-Duplicated-Warning \"false\";\n" +msgstr "" +" \"%s\".\n" +"\n" +" ̣ ԣ , \n" +" . " +",\n" +" , " +"\n" +" :\n" +"\n" +"RPM::Allow-Duplicated { \"^%s$\"; };\n" +"\n" +" , :\n" +"\n" +"RPM::Allow-Duplicated-Warning \"false\";\n" + +#: apt-pkg/rpm/rpmpackagedata.cc:28 +#, c-format +msgid "could not open package priority file %s" +msgstr " c %s" + +#: apt-pkg/rpm/rpmpackagedata.cc:37 +#, c-format +msgid "no data in %s" +msgstr " %s" + +#: apt-pkg/rpm/rpmpackagedata.cc:87 +#, c-format +msgid "Bad regular expression '%s' in option RPM::Hold." +msgstr " '%s' RPM::Hold." + +#: apt-pkg/rpm/rpmpackagedata.cc:107 +#, c-format +msgid "Bad regular expression '%s' in option RPM::Allow-Duplicated." +msgstr " '%s' RPM::Allow-Duplicated." + +#: apt-pkg/rpm/rpmpackagedata.cc:124 +#, c-format +msgid "Bad entry '%s' in option RPM::FakeProvides." +msgstr " '%s' RPM::FakeProvides." + +#: apt-pkg/rpm/rpmpackagedata.cc:178 +#, c-format +msgid "Bad regular expression '%s' in URI translation" +msgstr " '%s' URI translation" + +#: apt-pkg/rpm/rpmpm.cc:71 +#, c-format +msgid "Internal Error, No file name for %s" +msgstr " , %s" + +#: apt-pkg/rpm/rpmpm.cc:140 +#, c-format +msgid "Problem executing scripts %s '%s'" +msgstr " %s '%s'" + +#: apt-pkg/rpm/rpmpm.cc:151 +msgid "Sub-process returned an error code" +msgstr " " + +#: apt-pkg/rpm/rpmpm.cc:221 apt-pkg/rpm/rpmpm.cc:228 +#, c-format +msgid "Failure running script %s" +msgstr " %s" + +#: apt-pkg/rpm/rpmpm.cc:554 +msgid "Executing RPM (" +msgstr " RPM (" + +#: apt-pkg/rpm/rpmpm.cc:625 +#, c-format +msgid "Sub-process %s recieved a segmentation fault." +msgstr " %s ." + +#: apt-pkg/rpm/rpmpm.cc:684 +#, c-format +msgid "Failed opening %s" +msgstr " %s" + +#: apt-pkg/rpm/rpmpm.cc:697 apt-pkg/rpm/rpmpm.cc:721 +#, c-format +msgid "Failed adding %s to transaction %s" +msgstr " %s %s" + +#: apt-pkg/rpm/rpmpm.cc:771 apt-pkg/rpm/rpmpm.cc:781 +msgid "Could not open RPM database" +msgstr " RPM" + +#: apt-pkg/rpm/rpmpm.cc:817 apt-pkg/rpm/rpmpm.cc:830 +msgid "Transaction set check failed" +msgstr " " + +#: apt-pkg/rpm/rpmpm.cc:849 +#, c-format +msgid "Ordering failed for %d packages" +msgstr " %d " + +#: apt-pkg/rpm/rpmpm.cc:853 +msgid "Committing changes..." +msgstr " ..." + +#: apt-pkg/rpm/rpmpm.cc:869 +msgid "Error while running transaction" +msgstr " " + +#: apt-pkg/rpm/rpmpm.cc:875 +msgid "Some errors occurred while running transaction" +msgstr " " + +#: apt-pkg/rpm/rpmsrcrecords.cc:146 apt-pkg/rpm/rpmsrcrecords.cc:153 +#, c-format +msgid "error parsing source list %s" +msgstr " %s" + +#: apt-pkg/rpm/rpmsystem.cc:408 apt-pkg/pkgcachegen.cc:714 +#: apt-pkg/pkgcachegen.cc:741 apt-pkg/pkgcachegen.cc:783 +#: apt-pkg/pkgcachegen.cc:788 apt-pkg/pkgcachegen.cc:992 +msgid "Reading Package Lists" +msgstr " " + +#: apt-pkg/acquire.cc:61 +#, c-format +msgid "Lists directory %spartial is missing." +msgstr " %spartial ." + +#: apt-pkg/acquire.cc:65 +#, c-format +msgid "Archive directory %spartial is missing." +msgstr " %spartial ." + +#: apt-pkg/acquire-item.cc:169 +#, c-format +msgid "rename failed, %s (%s -> %s)." +msgstr " , %s (%s -> %s)." + +#: apt-pkg/acquire-item.cc:213 apt-pkg/acquire-item.cc:406 +#, c-format +msgid "%s is not listed in the checksum list for its repository" +msgstr "%s ." + +#: apt-pkg/acquire-item.cc:233 apt-pkg/acquire-item.cc:426 +#, c-format +msgid "Release information not available for %s" +msgstr " %s ." + +#: apt-pkg/acquire-item.cc:283 apt-pkg/acquire-item.cc:559 +#: apt-pkg/acquire-item.cc:818 +msgid "Size mismatch" +msgstr " " + +#: apt-pkg/acquire-item.cc:294 apt-pkg/acquire-item.cc:569 +#: apt-pkg/acquire-item.cc:831 +msgid "MD5Sum mismatch" +msgstr " MD5" + +#: apt-pkg/acquire-item.cc:475 +msgid "No valid signatures found in Release file" +msgstr " " + +#: apt-pkg/acquire-item.cc:483 +msgid "Signature fingerprint of Release file does not match (expected " +msgstr " ( " + +#: apt-pkg/acquire-item.cc:484 +msgid ", got " +msgstr ", " + +#: apt-pkg/acquire-item.cc:509 +msgid "Could not read checksum list from Release file" +msgstr " ." + +#: apt-pkg/acquire-item.cc:643 +#, c-format +msgid "" +"I wasn't able to locate a file for the %s package. This might mean you need " +"to manually fix this package. (due to missing arch)" +msgstr "" +" %s. , " +" ( )." + +#: apt-pkg/acquire-item.cc:678 +#, c-format +msgid "" +"I wasn't able to locate file for the %s package. This might mean you need to " +"manually fix this package." +msgstr "" +" %s. , " +"." + +#: apt-pkg/acquire-item.cc:709 +#, c-format +msgid "The package index files are corrupted. No Filename: field for package %s." +msgstr " . Filename: %s." + +#: apt-pkg/acquire-worker.cc:112 +#, c-format +msgid "The method driver %s could not be found." +msgstr " %s ." + +#: apt-pkg/acquire-worker.cc:161 +#, c-format +msgid "Method %s did not start correctly" +msgstr " %s " + +#: apt-pkg/algorithms.cc:251 +#, c-format +msgid "The package %s needs to be reinstalled, but I can't find an archive for it." +msgstr " %s, ." + +#: apt-pkg/algorithms.cc:1152 +msgid "" +"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " +"held packages." +msgstr "" +". pkgProblemResolver::Resolve . " +" ." + +#: apt-pkg/algorithms.cc:1154 +msgid "Unable to correct problems, you have held broken packages." +msgstr "" +" . " +"." + +#: apt-pkg/cachefile.cc:77 +msgid "The package lists or status file could not be parsed or opened." +msgstr " ." + +#: apt-pkg/cachefile.cc:81 +msgid "You may want to run apt-get update to correct these problems" +msgstr ", `apt-get update' ." + +#: apt-pkg/clean.cc:61 +#, c-format +msgid "Unable to stat %s." +msgstr " %s." + +#: apt-pkg/depcache.cc:67 apt-pkg/depcache.cc:96 +msgid "Building Dependency Tree" +msgstr " " + +#: apt-pkg/depcache.cc:68 +msgid "Candidate Versions" +msgstr " " + +#: apt-pkg/depcache.cc:97 +msgid "Dependency Generation" +msgstr " " + +#: apt-pkg/init.cc:142 +#, c-format +msgid "Packaging system '%s' is not supported" +msgstr " '%s' ." + +#: apt-pkg/init.cc:158 +msgid "Unable to determine a suitable system type" +msgstr " ." + +#: apt-pkg/packagemanager.cc:402 +#, c-format +msgid "" +"This installation run will require temporarily removing the essential " +"package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if " +"you really want to do it, activate the APT::Force-LoopBreak option." +msgstr "" +" %s " +" . " +" , , " +" APT::Force-LoopBreak." + +#: apt-pkg/pkgcache.cc:133 +msgid "Empty package cache" +msgstr " ." + +#: apt-pkg/pkgcache.cc:139 +msgid "The package cache file is corrupted" +msgstr " " + +#: apt-pkg/pkgcache.cc:144 +msgid "The package cache file is an incompatible version" +msgstr " APT" + +#: apt-pkg/pkgcache.cc:149 +#, c-format +msgid "This APT does not support the Versioning System '%s'" +msgstr " APT '%s'." + +#: apt-pkg/pkgcache.cc:154 +msgid "The package cache was built for a different architecture" +msgstr " " + +#: apt-pkg/pkgcache.cc:252 +msgid "Depends" +msgstr "" + +#: apt-pkg/pkgcache.cc:252 +msgid "PreDepends" +msgstr " " + +#: apt-pkg/pkgcache.cc:252 +msgid "Suggests" +msgstr "" + +#: apt-pkg/pkgcache.cc:253 +msgid "Recommends" +msgstr "" + +#: apt-pkg/pkgcache.cc:253 +msgid "Conflicts" +msgstr "" + +#: apt-pkg/pkgcache.cc:253 +msgid "Replaces" +msgstr "" + +#: apt-pkg/pkgcache.cc:254 +msgid "Obsoletes" +msgstr "" + +#: apt-pkg/pkgcache.cc:265 +msgid "important" +msgstr "" + +#: apt-pkg/pkgcache.cc:265 +msgid "required" +msgstr "" + +#: apt-pkg/pkgcache.cc:265 +msgid "standard" +msgstr "" + +#: apt-pkg/pkgcache.cc:266 +msgid "optional" +msgstr "" + +#: apt-pkg/pkgcache.cc:266 +msgid "extra" +msgstr "" + +#: apt-pkg/pkgcachegen.cc:74 +msgid "Cache has an incompatible versioning system" +msgstr " " + +#: apt-pkg/pkgcachegen.cc:123 +#, c-format +msgid "Error occured while processing %s (NewPackage)" +msgstr " %s (NewPackage) " + +#: apt-pkg/pkgcachegen.cc:140 +#, c-format +msgid "Error occured while processing %s (UsePackage1)" +msgstr " %s (UsePackage1) " + +#: apt-pkg/pkgcachegen.cc:171 +#, c-format +msgid "Error occured while processing %s (UsePackage2)" +msgstr " %s (UsePackage2) " + +#: apt-pkg/pkgcachegen.cc:175 +#, c-format +msgid "Error occured while processing %s (NewFileVer1)" +msgstr " %s (NewFileVer1) " + +#: apt-pkg/pkgcachegen.cc:209 +#, c-format +msgid "Error occured while processing %s (NewVersion1)" +msgstr " %s (NewVersion1) " + +#: apt-pkg/pkgcachegen.cc:213 +#, c-format +msgid "Error occured while processing %s (UsePackage3)" +msgstr " %s (UsePackage2) " + +#: apt-pkg/pkgcachegen.cc:217 +#, c-format +msgid "Error occured while processing %s (NewVersion2)" +msgstr " %s (NewVersion2) " + +#: apt-pkg/pkgcachegen.cc:232 +msgid "Wow, you exceeded the number of package names this APT is capable of." +msgstr "" +" ͣ " +"APT!" + +#: apt-pkg/pkgcachegen.cc:235 +msgid "Wow, you exceeded the number of versions this APT is capable of." +msgstr "" +" " +" APT!" + +#: apt-pkg/pkgcachegen.cc:238 +msgid "Wow, you exceeded the number of dependencies this APT is capable of." +msgstr "" +" " +"APT!" + +#: apt-pkg/pkgcachegen.cc:272 +#, c-format +msgid "Error occured while processing %s (FindPkg)" +msgstr " %s (FindPkg) ." + +#: apt-pkg/pkgcachegen.cc:295 +#, c-format +msgid "Error occured while processing %s (CollectFileProvides)" +msgstr " %s (CollectFileProvides) ." + +#: apt-pkg/pkgcachegen.cc:307 +#, c-format +msgid "Package %s %s was not found while processing file dependencies" +msgstr " %s %s ." + +#: apt-pkg/pkgcachegen.cc:781 +#, c-format +msgid "Unable to write to %s" +msgstr " %s " + +#: apt-pkg/pkgcachegen.cc:796 +msgid "Error pre-processing package lists" +msgstr " ." + +#: apt-pkg/pkgcachegen.cc:913 apt-pkg/pkgcachegen.cc:920 +msgid "IO Error saving source cache" +msgstr " - " + +#: apt-pkg/pkgrecords.cc:37 +#, c-format +msgid "Index file type '%s' is not supported" +msgstr " '%s' " + +#: apt-pkg/policy.cc:312 +msgid "Invalid record in the preferences file, no Package header" +msgstr " . ." + +#: apt-pkg/policy.cc:334 +#, c-format +msgid "Did not understand pin type %s" +msgstr " %s." + +#: apt-pkg/policy.cc:342 +msgid "No priority (or zero) specified for pin" +msgstr " ( ) " + +#: apt-pkg/repository.cc:40 +#, c-format +msgid "could not open Release file '%s'" +msgstr " '%s'." + +#: apt-pkg/repository.cc:55 +#, c-format +msgid "No MD5Sum data in Release file '%s'" +msgstr " '%s' MD5." + +#: apt-pkg/repository.cc:72 +#, c-format +msgid "Error parsing MD5Sum hash record on Release file '%s'" +msgstr " MD5 '%s'." + +#: apt-pkg/sourcelist.cc:98 +#, c-format +msgid "Malformed line %lu in source list %s (URI)" +msgstr " %lu %s (URI)" + +#: apt-pkg/sourcelist.cc:100 +#, c-format +msgid "Malformed line %lu in source list %s (dist)" +msgstr " %lu %s ()" + +#: apt-pkg/sourcelist.cc:103 +#, c-format +msgid "Malformed line %lu in source list %s (URI parse)" +msgstr " %lu %s ( URI)" + +#: apt-pkg/sourcelist.cc:109 +#, c-format +msgid "Malformed line %lu in source list %s (Absolute dist)" +msgstr " %lu %s ( )" + +#: apt-pkg/sourcelist.cc:116 +#, c-format +msgid "Malformed line %lu in source list %s (dist parse)" +msgstr " %lu %s ( )" + +#: apt-pkg/sourcelist.cc:206 apt-pkg/sourcelist.cc:230 +#, c-format +msgid "Vendor block %s is invalid" +msgstr " %s." + +#: apt-pkg/sourcelist.cc:313 +#, c-format +msgid "Line %u too long in source list %s." +msgstr " %u %s." + +#: apt-pkg/sourcelist.cc:333 +#, c-format +msgid "Malformed line %u in source list %s (type)" +msgstr " %u %s ( )" + +#: apt-pkg/sourcelist.cc:337 +#, c-format +msgid "Type '%s' is not known in on line %u in source list %s" +msgstr " '%s' %u %s." + +#: apt-pkg/sourcelist.cc:346 apt-pkg/sourcelist.cc:349 +#, c-format +msgid "Malformed line %u in source list %s (vendor id)" +msgstr " %u %s (ID )" + +#: apt-pkg/sourcelist.cc:363 +#, c-format +msgid "Unknown vendor ID '%s' in line %u of source list %s" +msgstr " ID '%s' %u %s." + +#: apt-pkg/srcrecords.cc:49 +msgid "You must put some 'source' URIs in your sources.list" +msgstr " sources.list ." + +#: apt-pkg/tagfile.cc:71 +#, c-format +msgid "Unable to parse package file %s (1)" +msgstr " %s (1)" + +#: apt-pkg/tagfile.cc:158 +#, c-format +msgid "Unable to parse package file %s (2)" +msgstr " %s (2)" + +#: methods/cdrom.cc:169 msgid "" "Please use apt-cdrom to make this CD recognized by APT. apt-get update " "cannot be used to add new CDs" @@ -1497,179 +2445,19 @@ msgstr "" ", apt-cdrom, CD APT. apt-" "get update CD " -#: methods/cdrom.cc:176 methods/cdrom.cc:214 +#: methods/cdrom.cc:177 methods/cdrom.cc:215 msgid "Wrong CD" msgstr " CD" -#: methods/cdrom.cc:209 +#: methods/cdrom.cc:210 #, c-format msgid "Unable to unmount the CD-ROM in %s, it may still be in use." -msgstr "" -" CD-ROM %s, " +msgstr " CD-ROM %s, " -#: methods/cdrom.cc:232 methods/file.cc:82 +#: methods/cdrom.cc:233 methods/file.cc:82 msgid "File not found" msgstr " " -#: methods/copy.cc:45 methods/gzip.cc:136 methods/gzip.cc:145 -msgid "Failed to stat" -msgstr " " - -#: methods/copy.cc:82 methods/gzip.cc:142 -msgid "Failed to set modification time" -msgstr " " - -#: methods/file.cc:45 -msgid "Invalid URI, local URIS must not start with //" -msgstr " URI, URIS //" - -#. Login must be before getpeername otherwise dante won't work. -#: methods/ftp.cc:165 -msgid "Logging in" -msgstr "" - -#: methods/ftp.cc:171 -msgid "Unable to determine the peer name" -msgstr " ̣ " - -#: methods/ftp.cc:176 -msgid "Unable to determine the local name" -msgstr " ." - -#: methods/ftp.cc:207 methods/ftp.cc:233 -#, c-format -msgid "Server refused our connection and said: %s" -msgstr " : %s" - -#: methods/ftp.cc:213 -#, c-format -msgid "USER failed, server said: %s" -msgstr " USER , : %s" - -#: methods/ftp.cc:219 -#, c-format -msgid "PASS failed, server said: %s" -msgstr " PASS , : %s" - -#: methods/ftp.cc:238 -msgid "" -"A proxy server was specified but no login script, Acquire::ftp::ProxyLogin " -"is empty." -msgstr "" -" , login , Acquire::" -"ftp::ProxyLogin " - -#: methods/ftp.cc:266 -#, c-format -msgid "Login script command '%s' failed, server said: %s" -msgstr " '%s' login , : %s" - -#: methods/ftp.cc:292 -#, c-format -msgid "TYPE failed, server said: %s" -msgstr " TYPE , : %s" - -#: methods/ftp.cc:330 methods/ftp.cc:441 methods/rsh.cc:186 methods/rsh.cc:229 -msgid "Connection timeout" -msgstr " " - -#: methods/ftp.cc:336 -msgid "Server closed the connection" -msgstr " " - -#: methods/ftp.cc:339 apt-pkg/contrib/fileutl.cc:455 methods/rsh.cc:193 -msgid "Read error" -msgstr " " - -#: methods/ftp.cc:346 methods/rsh.cc:200 -msgid "A response overflowed the buffer." -msgstr " ." - -#: methods/ftp.cc:363 methods/ftp.cc:375 -msgid "Protocol corruption" -msgstr " " - -#: methods/ftp.cc:447 methods/rsh.cc:235 -msgid "Write Error" -msgstr " " - -#: methods/ftp.cc:688 methods/ftp.cc:694 methods/ftp.cc:730 -msgid "Could not create a socket" -msgstr " " - -#: methods/ftp.cc:699 -msgid "Could not connect data socket, connection timed out" -msgstr " , " - -#: methods/ftp.cc:705 -msgid "Could not connect passive socket." -msgstr " ." - -#: methods/ftp.cc:723 -msgid "getaddrinfo was unable to get a listening socket" -msgstr " getaddrinfo " - -#: methods/ftp.cc:737 -msgid "Could not bind a socket" -msgstr " " - -#: methods/ftp.cc:741 -msgid "Could not listen on the socket" -msgstr " " - -#: methods/ftp.cc:748 -msgid "Could not determine the socket's name" -msgstr " " - -#: methods/ftp.cc:780 -msgid "Unable to send PORT command" -msgstr " PORT " - -#: methods/ftp.cc:790 -#, c-format -msgid "Unknown address family %u (AF_*)" -msgstr " %u (AF_*)" - -#: methods/ftp.cc:799 -#, c-format -msgid "EPRT failed, server said: %s" -msgstr " EPRT , : %s" - -#: methods/ftp.cc:819 -msgid "Data socket connect timed out" -msgstr " " - -#: methods/ftp.cc:826 -msgid "Unable to accept connection" -msgstr " " - -#: methods/ftp.cc:865 methods/http.cc:919 methods/rsh.cc:306 -msgid "Problem hashing file" -msgstr " " - -#: methods/ftp.cc:878 -#, c-format -msgid "Unable to fetch file, server said '%s'" -msgstr " , '%s'" - -#: methods/ftp.cc:893 methods/rsh.cc:325 -msgid "Data socket timed out" -msgstr " " - -#: methods/ftp.cc:923 -#, c-format -msgid "Data transfer failed, server said '%s'" -msgstr " , '%s'" - -#. Get the files information -#: methods/ftp.cc:998 -msgid "Query" -msgstr "" - -#: methods/ftp.cc:1105 -msgid "Unable to invoke " -msgstr " " - #: methods/connect.cc:67 #, c-format msgid "Connecting to %s (%s)" @@ -1700,8 +2488,6 @@ msgstr " msgid "Could not connect to %s:%s (%s)." msgstr " %s:%s (%s)." -#. We say this mainly because the pause here is for the -#. ssh connection that is still going #: methods/connect.cc:135 methods/rsh.cc:428 #, c-format msgid "Connecting to %s" @@ -1727,6 +2513,159 @@ msgstr " msgid "Unable to connect to %s %s:" msgstr " %s %s:" +#: methods/copy.cc:45 methods/gzip.cc:136 methods/gzip.cc:145 +msgid "Failed to stat" +msgstr " " + +#: methods/copy.cc:82 methods/gzip.cc:142 +msgid "Failed to set modification time" +msgstr " " + +#: methods/file.cc:45 +msgid "Invalid URI, local URIS must not start with //" +msgstr " URI, URIS //" + +#: methods/ftp.cc:165 +msgid "Logging in" +msgstr "" + +#: methods/ftp.cc:171 +msgid "Unable to determine the peer name" +msgstr " ̣ " + +#: methods/ftp.cc:176 +msgid "Unable to determine the local name" +msgstr " ." + +#: methods/ftp.cc:208 methods/ftp.cc:236 +#, c-format +msgid "Server refused our connection and said: %s" +msgstr " : %s" + +#: methods/ftp.cc:214 +#, c-format +msgid "USER failed, server said: %s" +msgstr " USER , : %s" + +#: methods/ftp.cc:221 +#, c-format +msgid "PASS failed, server said: %s" +msgstr " PASS , : %s" + +#: methods/ftp.cc:241 +msgid "" +"A proxy server was specified but no login script, Acquire::ftp::ProxyLogin " +"is empty." +msgstr "" +" , login , Acquire::" +"ftp::ProxyLogin " + +#: methods/ftp.cc:269 +#, c-format +msgid "Login script command '%s' failed, server said: %s" +msgstr " '%s' login , : %s" + +#: methods/ftp.cc:295 +#, c-format +msgid "TYPE failed, server said: %s" +msgstr " TYPE , : %s" + +#: methods/ftp.cc:333 methods/ftp.cc:444 methods/rsh.cc:186 methods/rsh.cc:229 +msgid "Connection timeout" +msgstr " " + +#: methods/ftp.cc:339 +msgid "Server closed the connection" +msgstr " " + +#: methods/ftp.cc:349 methods/rsh.cc:200 +msgid "A response overflowed the buffer." +msgstr " ." + +#: methods/ftp.cc:366 methods/ftp.cc:378 +msgid "Protocol corruption" +msgstr " " + +#: methods/ftp.cc:450 methods/rsh.cc:235 +msgid "Write Error" +msgstr " " + +#: methods/ftp.cc:691 methods/ftp.cc:697 methods/ftp.cc:733 +msgid "Could not create a socket" +msgstr " " + +#: methods/ftp.cc:702 +msgid "Could not connect data socket, connection timed out" +msgstr " , " + +#: methods/ftp.cc:708 +msgid "Could not connect passive socket." +msgstr " ." + +#: methods/ftp.cc:726 +msgid "getaddrinfo was unable to get a listening socket" +msgstr " getaddrinfo " + +#: methods/ftp.cc:740 +msgid "Could not bind a socket" +msgstr " " + +#: methods/ftp.cc:744 +msgid "Could not listen on the socket" +msgstr " " + +#: methods/ftp.cc:751 +msgid "Could not determine the socket's name" +msgstr " " + +#: methods/ftp.cc:783 +msgid "Unable to send PORT command" +msgstr " PORT " + +#: methods/ftp.cc:793 +#, c-format +msgid "Unknown address family %u (AF_*)" +msgstr " %u (AF_*)" + +#: methods/ftp.cc:802 +#, c-format +msgid "EPRT failed, server said: %s" +msgstr " EPRT , : %s" + +#: methods/ftp.cc:822 +msgid "Data socket connect timed out" +msgstr " " + +#: methods/ftp.cc:829 +msgid "Unable to accept connection" +msgstr " " + +#: methods/ftp.cc:868 methods/http.cc:919 methods/rsh.cc:306 +msgid "Problem hashing file" +msgstr " " + +#: methods/ftp.cc:881 +#, c-format +msgid "Unable to fetch file, server said '%s'" +msgstr " , '%s'" + +#: methods/ftp.cc:896 methods/rsh.cc:325 +msgid "Data socket timed out" +msgstr " " + +#: methods/ftp.cc:926 +#, c-format +msgid "Data transfer failed, server said '%s'" +msgstr " , '%s'" + +#: methods/ftp.cc:1001 +msgid "Query" +msgstr "" + +#: methods/ftp.cc:1108 +msgid "Unable to invoke " +msgstr " " + #: methods/gpg.cc:306 msgid "Could not allocate memory" msgstr " " @@ -1818,787 +2757,6 @@ msgstr " msgid "Internal error" msgstr " " -#: apt-pkg/contrib/mmap.cc:82 -msgid "Can't mmap an empty file" -msgstr " mmap " - -#: apt-pkg/contrib/mmap.cc:87 -#, c-format -msgid "Couldn't make mmap of %lu bytes" -msgstr " mmap %lu " - -#: apt-pkg/contrib/strutl.cc:941 -#, c-format -msgid "Selection %s not found" -msgstr ", %s, ." - -#: apt-pkg/contrib/configuration.cc:478 -#, c-format -msgid "Opening configuration file %s" -msgstr " %s" - -#: apt-pkg/contrib/configuration.cc:588 -#, c-format -msgid "Syntax error %s:%u: Block starts with no name." -msgstr " %s:%u: ." - -#: apt-pkg/contrib/configuration.cc:607 -#, c-format -msgid "Syntax error %s:%u: Malformed Tag" -msgstr " %s:%u: ." - -#: apt-pkg/contrib/configuration.cc:624 -#, c-format -msgid "Syntax error %s:%u: Extra junk after value" -msgstr " %s:%u: ." - -#: apt-pkg/contrib/configuration.cc:664 -#, c-format -msgid "Syntax error %s:%u: Directives can only be done at the top level" -msgstr "" -" %s:%u: " -"." - -#: apt-pkg/contrib/configuration.cc:671 -#, c-format -msgid "Syntax error %s:%u: Too many nested includes" -msgstr " %s:%u: ." - -#: apt-pkg/contrib/configuration.cc:675 apt-pkg/contrib/configuration.cc:680 -#, c-format -msgid "Syntax error %s:%u: Included from here" -msgstr " %s:%u: ." - -#: apt-pkg/contrib/configuration.cc:684 -#, c-format -msgid "Syntax error %s:%u: Unsupported directive '%s'" -msgstr " %s:%u: '%s'." - -#: apt-pkg/contrib/configuration.cc:718 -#, c-format -msgid "Syntax error %s:%u: Extra junk at end of file" -msgstr " %s:%u: ." - -#: apt-pkg/contrib/configuration.cc:730 apt-pkg/contrib/cdromutl.cc:153 -#: apt-pkg/sourcelist.cc:416 apt-pkg/acquire.cc:412 apt-pkg/clean.cc:38 -#, c-format -msgid "Unable to read %s" -msgstr " %s" - -#: apt-pkg/contrib/progress.cc:154 -#, c-format -msgid "%c%s... Error!" -msgstr "%c%s... !" - -#: apt-pkg/contrib/progress.cc:156 -#, c-format -msgid "%c%s... Done" -msgstr "%c%s... " - -#: apt-pkg/contrib/cmndline.cc:80 -#, c-format -msgid "Command line option '%c' [from %s] is not known." -msgstr " '%c' [ %s]." - -#: apt-pkg/contrib/cmndline.cc:106 apt-pkg/contrib/cmndline.cc:114 -#: apt-pkg/contrib/cmndline.cc:122 -#, c-format -msgid "Command line option %s is not understood" -msgstr " %s." - -#: apt-pkg/contrib/cmndline.cc:127 -#, c-format -msgid "Command line option %s is not boolean" -msgstr " %s ." - -#: apt-pkg/contrib/cmndline.cc:166 apt-pkg/contrib/cmndline.cc:187 -#, c-format -msgid "Option %s requires an argument." -msgstr " %s ." - -#: apt-pkg/contrib/cmndline.cc:201 apt-pkg/contrib/cmndline.cc:207 -#, c-format -msgid "Option %s: Configuration item specification must have an =." -msgstr "" -" %s: =<>." - -#: apt-pkg/contrib/cmndline.cc:237 -#, c-format -msgid "Option %s requires an integer argument, not '%s'" -msgstr " %s '%s'" - -#: apt-pkg/contrib/cmndline.cc:268 -#, c-format -msgid "Option '%s' is too long" -msgstr " '%s'" - -#: apt-pkg/contrib/cmndline.cc:301 -#, c-format -msgid "Sense %s is not understood, try true or false." -msgstr " %s, true false." - -#: apt-pkg/contrib/cmndline.cc:351 -#, c-format -msgid "Invalid operation %s" -msgstr " %s" - -#: apt-pkg/contrib/cdromutl.cc:55 -#, c-format -msgid "Unable to stat the mount point %s" -msgstr " %s " - -#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:418 apt-pkg/clean.cc:44 -#, c-format -msgid "Unable to change to %s" -msgstr " %s" - -#: apt-pkg/contrib/cdromutl.cc:190 -msgid "Failed to stat the cdrom" -msgstr " CD-ROM." - -#: apt-pkg/contrib/fileutl.cc:83 -#, c-format -msgid "Not using locking for read only lock file %s" -msgstr " %s " - -#: apt-pkg/contrib/fileutl.cc:88 -#, c-format -msgid "Could not open lock file %s" -msgstr " %s" - -#: apt-pkg/contrib/fileutl.cc:106 -#, c-format -msgid "Not using locking for nfs mounted lock file %s" -msgstr "" -" , %s " -" nfs" - -#: apt-pkg/contrib/fileutl.cc:110 -#, c-format -msgid "Could not get lock %s" -msgstr " %s" - -#: apt-pkg/contrib/fileutl.cc:361 -#, c-format -msgid "Waited, for %s but it wasn't there" -msgstr " %s ." - -#: apt-pkg/contrib/fileutl.cc:371 -#, c-format -msgid "Sub-process %s received a segmentation fault." -msgstr " %s ." - -#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:425 -#, c-format -msgid "Sub-process %s returned an error code (%u)" -msgstr " %s (%u)." - -#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:428 -#, c-format -msgid "Sub-process %s exited unexpectedly" -msgstr " %s ." - -#: apt-pkg/contrib/fileutl.cc:420 -#, c-format -msgid "Could not open file %s" -msgstr " %s." - -#: apt-pkg/contrib/fileutl.cc:476 -#, c-format -msgid "read, still have %lu to read but none left" -msgstr " %lu, ." - -#: apt-pkg/contrib/fileutl.cc:494 -msgid "Write error" -msgstr " " - -#: apt-pkg/contrib/fileutl.cc:506 -#, c-format -msgid "write, still have %lu to write but couldn't" -msgstr " %lu." - -#: apt-pkg/contrib/fileutl.cc:581 -msgid "Problem closing the file" -msgstr " ." - -#: apt-pkg/contrib/fileutl.cc:587 -msgid "Problem unlinking the file" -msgstr " ." - -#: apt-pkg/contrib/fileutl.cc:598 -msgid "Problem syncing the file" -msgstr " ." - -#: apt-pkg/pkgcache.cc:126 -msgid "Empty package cache" -msgstr " ." - -#: apt-pkg/pkgcache.cc:132 -msgid "The package cache file is corrupted" -msgstr " " - -#: apt-pkg/pkgcache.cc:137 -msgid "The package cache file is an incompatible version" -msgstr " APT" - -#: apt-pkg/pkgcache.cc:142 -#, c-format -msgid "This APT does not support the Versioning System '%s'" -msgstr " APT '%s'." - -#: apt-pkg/pkgcache.cc:147 -msgid "The package cache was built for a different architecture" -msgstr " " - -#: apt-pkg/pkgcache.cc:245 -msgid "Depends" -msgstr "" - -#: apt-pkg/pkgcache.cc:245 -msgid "PreDepends" -msgstr " " - -#: apt-pkg/pkgcache.cc:245 -msgid "Suggests" -msgstr "" - -#: apt-pkg/pkgcache.cc:246 -msgid "Recommends" -msgstr "" - -#: apt-pkg/pkgcache.cc:246 -msgid "Conflicts" -msgstr "" - -#: apt-pkg/pkgcache.cc:246 -msgid "Replaces" -msgstr "" - -#: apt-pkg/pkgcache.cc:247 -msgid "Obsoletes" -msgstr "" - -#: apt-pkg/pkgcache.cc:258 -msgid "important" -msgstr "" - -#: apt-pkg/pkgcache.cc:258 -msgid "required" -msgstr "" - -#: apt-pkg/pkgcache.cc:258 -msgid "standard" -msgstr "" - -#: apt-pkg/pkgcache.cc:259 -msgid "optional" -msgstr "" - -#: apt-pkg/pkgcache.cc:259 -msgid "extra" -msgstr "" - -#: apt-pkg/depcache.cc:63 apt-pkg/depcache.cc:92 -msgid "Building Dependency Tree" -msgstr " " - -#: apt-pkg/depcache.cc:64 -msgid "Candidate Versions" -msgstr " " - -#: apt-pkg/depcache.cc:93 -msgid "Dependency Generation" -msgstr " " - -#: apt-pkg/tagfile.cc:71 -#, c-format -msgid "Unable to parse package file %s (1)" -msgstr " %s (1)" - -#: apt-pkg/tagfile.cc:158 -#, c-format -msgid "Unable to parse package file %s (2)" -msgstr " %s (2)" - -#: apt-pkg/sourcelist.cc:95 -#, c-format -msgid "Malformed line %lu in source list %s (URI)" -msgstr " %lu %s (URI)" - -#: apt-pkg/sourcelist.cc:97 -#, c-format -msgid "Malformed line %lu in source list %s (dist)" -msgstr " %lu %s ()" - -#: apt-pkg/sourcelist.cc:100 -#, c-format -msgid "Malformed line %lu in source list %s (URI parse)" -msgstr " %lu %s ( URI)" - -#: apt-pkg/sourcelist.cc:106 -#, c-format -msgid "Malformed line %lu in source list %s (Absolute dist)" -msgstr "" -" %lu %s ( )" - -#: apt-pkg/sourcelist.cc:113 -#, c-format -msgid "Malformed line %lu in source list %s (dist parse)" -msgstr "" -" %lu %s ( )" - -#: apt-pkg/sourcelist.cc:203 apt-pkg/sourcelist.cc:227 -#, c-format -msgid "Vendor block %s is invalid" -msgstr " %s." - -#: apt-pkg/sourcelist.cc:290 -#, c-format -msgid "Opening %s" -msgstr " %s" - -#: apt-pkg/sourcelist.cc:306 -#, c-format -msgid "Line %u too long in source list %s." -msgstr " %u %s." - -#: apt-pkg/sourcelist.cc:326 -#, c-format -msgid "Malformed line %u in source list %s (type)" -msgstr " %u %s ( )" - -#: apt-pkg/sourcelist.cc:330 -#, c-format -msgid "Type '%s' is not known in on line %u in source list %s" -msgstr " '%s' %u %s." - -#: apt-pkg/sourcelist.cc:339 apt-pkg/sourcelist.cc:342 -#, c-format -msgid "Malformed line %u in source list %s (vendor id)" -msgstr " %u %s (ID )" - -#: apt-pkg/sourcelist.cc:356 -#, c-format -msgid "Unknown vendor ID '%s' in line %u of source list %s" -msgstr " ID '%s' %u %s." - -#: apt-pkg/packagemanager.cc:402 -#, c-format -msgid "" -"This installation run will require temporarily removing the essential " -"package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if " -"you really want to do it, activate the APT::Force-LoopBreak option." -msgstr "" -" %s " -" . " -" , , " -" APT::Force-LoopBreak." - -#: apt-pkg/pkgrecords.cc:37 -#, c-format -msgid "Index file type '%s' is not supported" -msgstr " '%s' " - -#: apt-pkg/algorithms.cc:251 -#, c-format -msgid "" -"The package %s needs to be reinstalled, but I can't find an archive for it." -msgstr "" -" %s, ." - -#: apt-pkg/algorithms.cc:1135 -msgid "" -"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " -"held packages." -msgstr "" -". pkgProblemResolver::Resolve . " -" ." - -#: apt-pkg/algorithms.cc:1137 -msgid "Unable to correct problems, you have held broken packages." -msgstr "" -" . " -"." - -#: apt-pkg/acquire.cc:61 -#, c-format -msgid "Lists directory %spartial is missing." -msgstr " %spartial ." - -#: apt-pkg/acquire.cc:65 -#, c-format -msgid "Archive directory %spartial is missing." -msgstr " %spartial ." - -#: apt-pkg/acquire-worker.cc:112 -#, c-format -msgid "The method driver %s could not be found." -msgstr " %s ." - -#: apt-pkg/acquire-worker.cc:161 -#, c-format -msgid "Method %s did not start correctly" -msgstr " %s " - -#: apt-pkg/init.cc:138 -#, c-format -msgid "Packaging system '%s' is not supported" -msgstr " '%s' ." - -#: apt-pkg/init.cc:154 -msgid "Unable to determine a suitable system type" -msgstr " ." - -#: apt-pkg/clean.cc:61 -#, c-format -msgid "Unable to stat %s." -msgstr " %s." - -#: apt-pkg/srcrecords.cc:49 -msgid "You must put some 'source' URIs in your sources.list" -msgstr " sources.list ." - -#: apt-pkg/cachefile.cc:77 -msgid "The package lists or status file could not be parsed or opened." -msgstr " ." - -# -#: apt-pkg/cachefile.cc:81 -msgid "You may want to run apt-get update to correct these problems" -msgstr ", `apt-get update' ." - -#: apt-pkg/policy.cc:312 -msgid "Invalid record in the preferences file, no Package header" -msgstr "" -" . ." - -#: apt-pkg/policy.cc:334 -#, c-format -msgid "Did not understand pin type %s" -msgstr " %s." - -#: apt-pkg/pkgcachegen.cc:74 -msgid "Cache has an incompatible versioning system" -msgstr " " - -#: apt-pkg/pkgcachegen.cc:123 -#, c-format -msgid "Error occured while processing %s (NewPackage)" -msgstr " %s (NewPackage) " - -#: apt-pkg/pkgcachegen.cc:140 -#, c-format -msgid "Error occured while processing %s (UsePackage1)" -msgstr " %s (UsePackage1) " - -#: apt-pkg/pkgcachegen.cc:171 -#, c-format -msgid "Error occured while processing %s (UsePackage2)" -msgstr " %s (UsePackage2) " - -#: apt-pkg/pkgcachegen.cc:175 -#, c-format -msgid "Error occured while processing %s (NewFileVer1)" -msgstr " %s (NewFileVer1) " - -#: apt-pkg/pkgcachegen.cc:209 -#, c-format -msgid "Error occured while processing %s (NewVersion1)" -msgstr " %s (NewVersion1) " - -#: apt-pkg/pkgcachegen.cc:213 -#, c-format -msgid "Error occured while processing %s (UsePackage3)" -msgstr " %s (UsePackage2) " - -#: apt-pkg/pkgcachegen.cc:217 -#, c-format -msgid "Error occured while processing %s (NewVersion2)" -msgstr " %s (NewVersion2) " - -#: apt-pkg/pkgcachegen.cc:232 -msgid "Wow, you exceeded the number of package names this APT is capable of." -msgstr "" -" ͣ " -"APT!" - -#: apt-pkg/pkgcachegen.cc:235 -msgid "Wow, you exceeded the number of versions this APT is capable of." -msgstr "" -" " -" APT!" - -#: apt-pkg/pkgcachegen.cc:238 -msgid "Wow, you exceeded the number of dependencies this APT is capable of." -msgstr "" -" " -"APT!" - -#. CNC:2003-03-03 - Ignore missing packages. This will happen when -#. a package is placed in Allow-Duplicated and -#. then removed, but the source cache is still -#. counting with it as Allow-Duplicated. No good -#. way to handle that right now. -#: apt-pkg/pkgcachegen.cc:272 -#, c-format -msgid "Error occured while processing %s (FindPkg)" -msgstr " %s (FindPkg) ." - -#: apt-pkg/pkgcachegen.cc:295 -#, c-format -msgid "Error occured while processing %s (CollectFileProvides)" -msgstr " %s (CollectFileProvides) ." - -#: apt-pkg/pkgcachegen.cc:307 -#, c-format -msgid "Package %s %s was not found while processing file dependencies" -msgstr " %s %s ." - -#. Build the status cache -#: apt-pkg/pkgcachegen.cc:710 apt-pkg/pkgcachegen.cc:785 -#: apt-pkg/pkgcachegen.cc:790 apt-pkg/pkgcachegen.cc:943 -#: apt-pkg/rpm/rpmsystem.cc:352 -msgid "Reading Package Lists" -msgstr " " - -#: apt-pkg/pkgcachegen.cc:742 -msgid "Collecting File Provides" -msgstr " ͣ" - -#: apt-pkg/pkgcachegen.cc:783 -#, c-format -msgid "Unable to write to %s" -msgstr " %s " - -#: apt-pkg/pkgcachegen.cc:798 -msgid "Error pre-processing package lists" -msgstr " ." - -#: apt-pkg/pkgcachegen.cc:877 apt-pkg/pkgcachegen.cc:884 -msgid "IO Error saving source cache" -msgstr " - " - -#: apt-pkg/acquire-item.cc:166 -#, c-format -msgid "rename failed, %s (%s -> %s)." -msgstr " , %s (%s -> %s)." - -#: apt-pkg/acquire-item.cc:210 apt-pkg/acquire-item.cc:403 -#, c-format -msgid "%s is not listed in the checksum list for its repository" -msgstr "%s ." - -#: apt-pkg/acquire-item.cc:230 apt-pkg/acquire-item.cc:423 -#, c-format -msgid "Release information not available for %s" -msgstr " %s ." - -#: apt-pkg/acquire-item.cc:280 apt-pkg/acquire-item.cc:556 -#: apt-pkg/acquire-item.cc:788 -msgid "Size mismatch" -msgstr " " - -#: apt-pkg/acquire-item.cc:291 apt-pkg/acquire-item.cc:566 -#: apt-pkg/acquire-item.cc:801 -msgid "MD5Sum mismatch" -msgstr " MD5" - -#: apt-pkg/acquire-item.cc:472 -msgid "No valid signatures found in Release file" -msgstr " " - -#: apt-pkg/acquire-item.cc:480 -msgid "Signature fingerprint of Release file does not match (expected " -msgstr " ( " - -#: apt-pkg/acquire-item.cc:481 -msgid ", got " -msgstr ", " - -#: apt-pkg/acquire-item.cc:506 -msgid "Could not read checksum list from Release file" -msgstr " ." - -#: apt-pkg/acquire-item.cc:640 -#, c-format -msgid "" -"I wasn't able to locate a file for the %s package. This might mean you need " -"to manually fix this package. (due to missing arch)" -msgstr "" -" %s. , " -" ( )." - -#: apt-pkg/acquire-item.cc:675 -#, c-format -msgid "" -"I wasn't able to locate file for the %s package. This might mean you need to " -"manually fix this package." -msgstr "" -" %s. , " -"." - -#: apt-pkg/acquire-item.cc:706 -#, c-format -msgid "" -"The package index files are corrupted. No Filename: field for package %s." -msgstr " . Filename: %s." - -#: apt-pkg/repository.cc:40 -#, c-format -msgid "could not open Release file '%s'" -msgstr " '%s'." - -#: apt-pkg/repository.cc:55 -#, c-format -msgid "No MD5Sum data in Release file '%s'" -msgstr " '%s' MD5." - -#: apt-pkg/repository.cc:72 -#, c-format -msgid "Error parsing MD5Sum hash record on Release file '%s'" -msgstr " MD5 '%s'." - -#: apt-pkg/rpm/rpmhandler.cc:100 -msgid "could not rewind RPMFileHandler" -msgstr " RPMFileHandler " - -#: apt-pkg/rpm/rpmhandler.cc:307 apt-pkg/rpm/rpmhandler.cc:316 -msgid "could not open RPM database" -msgstr " RPM" - -#: apt-pkg/rpm/rpmhandler.cc:323 -msgid "could not create RPM database iterator" -msgstr " RPM" - -#: apt-pkg/rpm/rpmindexfile.cc:367 -#, c-format -msgid "Problem with SelectFile %s" -msgstr " SelectFile %s" - -#: apt-pkg/rpm/rpmindexfile.cc:385 apt-pkg/rpm/rpmindexfile.cc:421 -#, c-format -msgid "Problem opening %s" -msgstr " %s" - -#: apt-pkg/rpm/rpmindexfile.cc:391 apt-pkg/rpm/rpmindexfile.cc:523 -#, c-format -msgid "Problem with MergeList %s" -msgstr " MergeList %s" - -#: apt-pkg/rpm/rpmindexfile.cc:426 apt-pkg/rpm/rpmindexfile.cc:541 -#, c-format -msgid "Problem with MergeFileProvides %s" -msgstr " MergeFileProvides %s" - -#: apt-pkg/rpm/rpmindexfile.cc:508 apt-pkg/rpm/rpmindexfile.cc:537 -msgid "Problem opening RPM database" -msgstr " RPM" - -#: apt-pkg/rpm/rpmindexfile.cc:512 -msgid "Problem with SelectFile RPM Database" -msgstr " SelectFile RPM." - -#: apt-pkg/rpm/rpmlistparser.cc:130 -#, c-format -msgid "" -"There are multiple versions of \"%s\" in your system.\n" -"\n" -"This package won't be cleanly updated, unless you leave\n" -"only one version. To leave multiple versions installed,\n" -"you may remove that warning by setting the following\n" -"option in your configuration file:\n" -"\n" -"RPM::Allow-Duplicated { \"^%s$\"; };\n" -"\n" -"To disable these warnings completely set:\n" -"\n" -"RPM::Allow-Duplicated-Warning \"false\";\n" -msgstr "" -" \"%s\".\n" -"\n" -" ̣ ԣ , \n" -" . " -",\n" -" , " -"\n" -" :\n" -"\n" -"RPM::Allow-Duplicated { \"^%s$\"; };\n" -"\n" -" , :\n" -"\n" -"RPM::Allow-Duplicated-Warning \"false\";\n" - -#: apt-pkg/rpm/rpmpackagedata.cc:28 -#, c-format -msgid "could not open package priority file %s" -msgstr " c %s" - -#: apt-pkg/rpm/rpmpackagedata.cc:37 -#, c-format -msgid "no data in %s" -msgstr " %s" - -#: apt-pkg/rpm/rpmpackagedata.cc:87 -#, c-format -msgid "Bad regular expression '%s' in option RPM::Hold." -msgstr " '%s' RPM::Hold." - -#: apt-pkg/rpm/rpmpackagedata.cc:107 -#, c-format -msgid "Bad regular expression '%s' in option RPM::Allow-Duplicated." -msgstr "" -" '%s' RPM::Allow-Duplicated." - -#: apt-pkg/rpm/rpmpackagedata.cc:124 -#, c-format -msgid "Bad entry '%s' in option RPM::FakeProvides." -msgstr " '%s' RPM::FakeProvides." - -#: apt-pkg/rpm/rpmpackagedata.cc:178 -#, c-format -msgid "Bad regular expression '%s' in URI translation" -msgstr " '%s' URI translation" - -#: apt-pkg/rpm/rpmpm.cc:59 -#, c-format -msgid "Internal Error, No file name for %s" -msgstr " , %s" - -#: apt-pkg/rpm/rpmpm.cc:128 -#, c-format -msgid "Problem executing scripts %s '%s'" -msgstr " %s '%s'" - -#: apt-pkg/rpm/rpmpm.cc:139 -msgid "Sub-process returned an error code" -msgstr " " - -#: apt-pkg/rpm/rpmpm.cc:209 apt-pkg/rpm/rpmpm.cc:216 -#, c-format -msgid "Failure running script %s" -msgstr " %s" - -#: apt-pkg/rpm/rpmpm.cc:359 -msgid "Executing RPM (" -msgstr " RPM (" - -#: apt-pkg/rpm/rpmpm.cc:422 -#, c-format -msgid "Sub-process %s recieved a segmentation fault." -msgstr " %s ." - -#: apt-pkg/rpm/rpmsrcrecords.cc:93 apt-pkg/rpm/rpmsrcrecords.cc:98 -#: apt-pkg/rpm/rpmsrcrecords.cc:103 apt-pkg/rpm/rpmsrcrecords.cc:108 -#, c-format -msgid "error parsing file record %s" -msgstr " %s" - -#: apt-pkg/rpm/rpmsrcrecords.cc:189 apt-pkg/rpm/rpmsrcrecords.cc:196 -#, c-format -msgid "error parsing source list %s" -msgstr " %s" - #: methods/rsh.cc:94 msgid "Failed to create IPC pipe to subprocess" msgstr " IPC " @@ -2610,3 +2768,46 @@ msgstr " #: methods/rsh.cc:333 msgid "Connection closed prematurely" msgstr " prematurely" + +#~ msgid "Note, selecting %s instead of %s\n" +#~ msgstr " : %s %s.\n" + +#~ msgid "Note, selecting %s for regex '%s'\n" +#~ msgstr " : %s '%s'\n" + +#~ msgid "Release '%s' for '%s' was not found" +#~ msgstr " '%s' '%s' ." + +#~ msgid "Version '%s' for '%s' was not found" +#~ msgstr " '%s' '%s' " + +#~ msgid "error parsing file record %s" +#~ msgstr " %s" + +#~ msgid "%s %s'%s' for '%s' was not found" +#~ msgstr "%s %s'%s' '%s' ()" + +#~ msgid "Release" +#~ msgstr "" + +#~ msgid "Version" +#~ msgstr "" + +#~ msgid "Selected %s %s (%s) for %s\n" +#~ msgstr "() %s %s (%s) %s\n" + +#~ msgid "release" +#~ msgstr "" + +#~ msgid "version" +#~ msgstr "" + +#~ msgid "The following packages will be kept back" +#~ msgstr " :" + +#~ msgid "The list of sources from %s could not be read." +#~ msgstr " %s." + +#~ msgid "Collecting File Provides" +#~ msgstr " ͣ" + diff --git a/apt.spec b/apt.spec index c2732c2..0fd7d8e 100644 --- a/apt.spec +++ b/apt.spec @@ -1,65 +1,63 @@ # hey Emacs, its -*- mode: rpm-spec; coding: cyrillic-cp1251; -*- Name: apt -Version: 0.5.5cnc4.1 -Release: alt7 +Version: 0.5.15cnc5 +Release: alt1 Summary: Debian's Advanced Packaging Tool with RPM support Summary(ru_RU.CP1251): Debian APT - RPM License: GPL Group: System/Configuration/Packaging +Url: https://moin.conectiva.com.br/AptRpm Packager: APT Development Team -%def_without static - Source0: http://moin.conectiva.com.br/files/AptRpm/attachments/%name-%version.tar.bz2 Source1: apt.conf Source2: genbasedir Source3: README.rsync -Source4: apt.8 -Source5: apt.ru.po +Source4: apt.ru.po +Source5: ChangeLog-rpm.old -Patch1: apt-0.5.5cnc2-alt-distro.patch -Patch2: apt-0.5.5cnc2-alt-rpm.patch -Patch3: apt-0.5.4cnc9-alt-getsrc.patch -Patch4: apt-0.5.4cnc3-alt-md5hash-debug.patch -Patch5: apt-0.5.4cnc9-alt-rsync.patch -Patch6: apt-0.5.5cnc4-alt-rpm_cmd.patch -Patch7: apt-0.5.5cnc4.1-alt-rpm-fancypercent.patch -Patch8: apt-0.5.5cnc1-alt-pkgpriorities.patch -Patch9: apt-0.5.4cnc9-alt-bz2.patch -Patch10: apt-0.5.4cnc9-alt-packagemanager-CheckRConflicts.patch -Patch11: apt-0.5.5cnc4-alt-install_virtual.patch -Patch12: apt-0.5.4cnc9-alt-install_virtual_version.patch -Patch13: apt-0.5.5cnc1-alt-methods_gpg_homedir.patch -Patch14: apt-0.5.4cnc9-alt-pkgorderlist_score.patch -Patch15: apt-0.5.5cnc1-alt-debsystem.patch -Patch16: apt-0.5.5cnc3-alt-i18n-apt-cdrom.patch -Patch17: apt-0.5.5cnc4-alt-tinfo.patch -Patch18: apt-cnc-20030322-algo.patch -Patch19: apt-0.5.5cnc4-alt-versionmatch.patch -Patch20: apt-0.5.5cnc4-alt-versionmatch2.patch -Patch21: apt-0.5.5cnc4-alt-defaults.patch -Patch22: apt-0.5.5cnc4.1-alt-fixpriorsort.patch -Patch23: apt-0.5.5cnc4.1-alt-parseargs.patch -Patch24: apt-0.5.5cnc4.1-alt-virtual_scores.patch +Patch1: apt-0.5.15cnc5-alt-libtool.patch + +Patch11: apt-0.5.15cnc5-alt-fixes.patch +Patch12: apt-0.5.15cnc5-alt-tinfo.patch +Patch13: apt-0.5.15cnc5-alt-rpm-build.patch +Patch14: apt-0.5.15cnc5-alt-distro.patch +Patch15: apt-0.5.15cnc5-alt-debsystem.patch +Patch16: apt-0.5.15cnc5-alt-defaults.patch +Patch17: apt-0.5.5cnc5-alt-rsync.patch +Patch18: apt-0.5.15cnc5-alt-getsrc.patch +Patch19: apt-0.5.15cnc5-alt-parseargs.patch +Patch20: apt-0.5.15cnc5-alt-rpm_cmd.patch +Patch21: apt-0.5.15cnc5-alt-rpm-fancypercent.patch +Patch22: apt-0.5.15cnc5-alt-methods_gpg_homedir.patch +Patch23: apt-0.5.15cnc5-alt-md5hash-debug.patch +Patch24: apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch +Patch25: apt-0.5.5cnc4.1-alt-fixpriorsort.patch +Patch26: apt-0.5.4cnc9-alt-pkgorderlist_score.patch +Patch27: apt-0.5.15cnc5-alt-install_virtual.patch +Patch28: apt-0.5.15cnc5-alt-virtual_scores.patch -# Need to be adopted. Or not? -Patch31: apt-0.3.19cnc53-stelian-apt-pkg-algorithms-scores.patch # Normally not applied, but useful. -Patch32: apt-0.5.4cnc9-alt-getsrc-debug.patch -# Obsolete. -Patch33: apt-0.5.4cnc3-alt-select-genlist.patch +Patch101: apt-0.5.4cnc9-alt-getsrc-debug.patch PreReq: %__subst Requires: libapt = %version-%release -Requires: %{get_dep rpm}, /etc/apt/pkgpriorities, apt-conf, gnupg, alt-gpgkeys +Requires: rpm >= 4.0.4-alt28, /etc/apt/pkgpriorities, apt-conf, gnupg, alt-gpgkeys Obsoletes: apt-0.5 -BuildPreReq: librpm-devel >= 4.0.4, rpm-build >= 4.0.4 +# new rpmlib. +BuildPreReq: librpm-devel >= 4.0.4-alt28 -# Automatically added by buildreq on Tue Mar 11 2003 -BuildRequires: docbook-dtds docbook-utils gcc-c++ libreadline-devel librpm-devel libstdc++-devel libtinfo-devel openjade perl-SGMLSpm sgml-common xml-common +# for docs. +BuildPreReq: docbook-utils + +%def_disable static +%{?_enable_static:BuildPreReq: glibc-devel-static} + +# all the rest. +BuildPreReq: gcc-c++ libreadline-devel libstdc++-devel libtinfo-devel %define risk_usage_en This package is still under development. @@ -88,19 +86,20 @@ capability and several other unique features. Summary: APT's core libraries Group: System/Libraries Obsoletes: libapt-0.5 +PreReq: librpm >= 4.0.4-alt28 %package -n libapt-devel Summary: Development files and documentation for APT's core libs Summary(ru_RU.CP1251): , APT Group: Development/C -Requires: libapt = %version-%release +Requires: libapt = %version-%release, librpm-devel >= 4.0.4-alt28 Obsoletes: libapt-0.5-devel %package -n libapt-devel-static Summary: Development static library for APT's libs Summary(ru_RU.CP1251): APT , APT Group: Development/C -Requires: libapt-devel = %version-%release +Requires: libapt-devel = %version-%release, librpm-devel-static >= 4.0.4-alt28 Obsoletes: libapt-0.5-devel-static %package utils @@ -109,7 +108,7 @@ Summary: Utilities to create APT repositaries (the indices) Summary(ru_RU.CP1251): APT- () Group: Development/Other Requires: %name = %version-%release, mktemp >= 1:1.3.1, getopt -Requires: %{get_dep rpm}, gnupg, sed +Requires: gnupg, sed Obsoletes: apt-0.5-utils %package rsync @@ -189,17 +188,8 @@ This package contains method 'rsync' for APT. %risk_usage %prep -%setup -q -n apt-%version +%setup -q %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 @@ -214,85 +204,57 @@ This package contains method 'rsync' for APT. %patch22 -p1 %patch23 -p1 %patch24 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 -# Need to be adopted. Or not? -#%patch31 -p1 # Turn it on only if you want to see the debugging messages: -#%patch32 -p1 -b .getsrc-debug -# Obsolete. -#%patch33 -p1 +#%patch101 -p1 -b .getsrc-debug -%__install -p -m644 %SOURCE3 %SOURCE4 . -%__install -p -m644 %SOURCE5 po/ru.po - -find -type f -name \*.orig -print -delete +%__install -p -m644 %SOURCE3 %SOURCE5 . +%__install -p -m644 %SOURCE4 po/ru.po %build -%add_optflags -fno-exceptions -D_GNU_SOURCE -pushd doc - [ -f apt.8 ] || %__install -p -m644 %SOURCE4 . -popd - -# Fix gettextization. -if [ ! -s po/LINGUAS ]; then - %__sed -ne 's/^ALL_LINGUAS="\([^"]*\)"$/\1/p' configure.in >>po/LINGUAS - %__subst 's/^\(ALL_LINGUAS=\)/#\1/g' configure.in -fi - # Fix url. %__subst -p 's,/usr/share/common-licenses/GPL,/usr/share/license/GPL,' COPYING -libtoolize --copy --force -aclocal -I buildlib -autoconf +%__aclocal -I buildlib +# rsync patch update only methods/Makefile.am so need to run automake +%__automake +%__autoconf -%configure --with-proc-multiply=1 --with-procs=%__nprocs +# --disable-dependency-tracking Speeds up one-time builds +%configure --includedir=%_includedir/apt-pkg %{subst_enable static} +# Probably this obsolete now? find -type f -print0 | xargs -r0 %__grep -EZl '/var(/lib)?/state/apt' -- | - xargs -r0 %__subst 's,/var\(/lib\)\?/state/apt,%_localstatedir/apt,g' -- - -%make clean - -%make_build %{?_enable_static:STATICLIBS=1} NOISY=1 + xargs -r0 %__subst -p 's,/var\(/lib\)\?/state/apt,%_localstatedir/%name,g' -- +%make_build %install -%__mkdir_p $RPM_BUILD_ROOT{%_bindir,%_libdir/apt,%_mandir/man{1,5,8},%_includedir/apt-pkg,%_includedir/apt-inst,%_sysconfdir/apt/{apt.conf,sources.list,vendors.list}.d} -%__mkdir_p $RPM_BUILD_ROOT%_localstatedir/apt/{lists/partial,prefetch} -%__mkdir_p $RPM_BUILD_ROOT/var/cache/apt/{archives/partial,gen{pkg,src}list} +%__mkdir_p %buildroot%_sysconfdir/%name/{%name.conf,sources.list,vendors.list}.d +%__mkdir_p %buildroot%_libdir/%name/scripts +%__mkdir_p %buildroot%_localstatedir/%name/{lists/partial,prefetch} +%__mkdir_p %buildroot%_cachedir/%name/{archives/partial,gen{pkg,src}list} -%__cp -a bin/lib*.so* $RPM_BUILD_ROOT%_libdir/ -%if_enabled static -%__cp -a bin/lib*.a* $RPM_BUILD_ROOT%_libdir/ -%endif +%makeinstall includedir=%buildroot%_includedir/apt-pkg -%__install -p -m755 bin/methods/* $RPM_BUILD_ROOT%_libdir/apt/ -%__install -p -m755 bin/apt-* $RPM_BUILD_ROOT%_bindir/ -%__install -p -m755 bin/{%name-*,*list} %SOURCE2 $RPM_BUILD_ROOT%_bindir/ +%__install -p -m755 %SOURCE2 %buildroot%_bindir/ +%__install -p -m644 %SOURCE1 %buildroot%_sysconfdir/%name/ -%__install -p -m644 apt-pkg/{,*/}*.h $RPM_BUILD_ROOT%_includedir/apt-pkg/ -%__install -p -m644 apt-inst/{,*/}*.h $RPM_BUILD_ROOT%_includedir/apt-inst/ +# This is still needed. +%__ln_s -f rsh %buildroot%_libdir/%name/methods/ssh +%__ln_s -f gzip %buildroot%_libdir/%name/methods/bzip2 -%__install -p -m644 doc/*.1 $RPM_BUILD_ROOT%_man1dir/ -%__install -p -m644 doc/*.5 $RPM_BUILD_ROOT%_man5dir/ -%__install -p -m644 doc/*.8 $RPM_BUILD_ROOT%_man8dir/ +# Cleanup +find %buildroot%_includedir -type f -name rpmshowprogress.h -print -delete +%__rm -f %buildroot%_libdir/*.la -%__install -p -m644 %SOURCE1 $RPM_BUILD_ROOT%_sysconfdir/apt/ +%__bzip2 -9fk ChangeLog-rpm.old -%__ln_s -f rsh $RPM_BUILD_ROOT%_libdir/apt/ssh -%__ln_s -f gzip $RPM_BUILD_ROOT%_libdir/apt/bzip2 - -%__mkdir_p $RPM_BUILD_ROOT%_datadir -%__rm -rf $RPM_BUILD_ROOT%_datadir/locale -%__cp -a locale $RPM_BUILD_ROOT%_datadir/ - -%define docdir %_docdir/%name-%version -%__mkdir_p $RPM_BUILD_ROOT%docdir -%__cp -a README* TODO COPYING AUTHORS* doc/examples \ - $RPM_BUILD_ROOT%docdir/ - -%find_lang --output=%name.lang \ - apt libapt-pkg3.3 +%find_lang %name %triggerun -- apt < 0.5.4 CONF=/etc/apt/apt.conf @@ -305,30 +267,30 @@ fi %files -f %name.lang %_bindir/apt-* -%_libdir/apt -%exclude %_libdir/apt/rsync -%dir %_sysconfdir/apt -%config(noreplace) %_sysconfdir/apt/apt.conf -%dir %_sysconfdir/apt/*.d +%_libdir/%name +%exclude %_libdir/%name/methods/rsync +%dir %_sysconfdir/%name +%config(noreplace) %_sysconfdir/%name/%name.conf +%dir %_sysconfdir/%name/*.d %_mandir/man?/* -%docdir -%_localstatedir/apt +%_localstatedir/%name +%doc README* TODO COPYING AUTHORS* doc/examples ChangeLog-rpm.old.bz2 %defattr(2770,root,rpm,2770) -%_cachedir/apt/archives +%_cachedir/%name/archives %files utils %_bindir/* %exclude %_bindir/apt-* %defattr(2770,root,rpm,2770) -%_cachedir/apt/gen*list +%_cachedir/%name/gen*list %files -n libapt %_libdir/*.so.* %defattr(2770,root,rpm,2770) -%dir %_cachedir/apt +%dir %_cachedir/%name %files -n libapt-devel %_libdir/*.so @@ -340,25 +302,185 @@ fi %endif %files rsync -%dir %_libdir/apt -%_libdir/apt/rsync +%dir %_libdir/%name +%dir %_libdir/%name/methods +%_libdir/%name/methods/rsync +# Probably %%doc with README.rsync? %changelog -* Sun Sep 28 2003 Dmitry V. Levin 0.5.5cnc4.1-alt7 -- apt-pkg/rpm/rpmpm.cc(pkgRPMPM::ExecRPM): honor "quiet" option. -- Additional sorting hacks for virtual packages (mouse). +* Fri Jan 16 2004 Dmitry V. Levin 0.5.15cnc5-alt1 +- Specfile cleanup. +- Rediffed patches. +- Fixed --help/--version segfault. +- Fixed some compilation warnings. +- Relocated methods to %_libdir/%name/methods/. -* Wed Sep 03 2003 Rider 0.5.5cnc4.1-alt6 -- Fixed sorting of equal packages names with different versions (Mouse). -- Fixed parsing command line arguments (Mouse). +* Thu Jan 15 2004 Dmitry V. Levin 0.5.15cnc5-alt0.3 +- Updated: + + apt-0.5.15cnc5-alt-rpm + + apt-0.5.15cnc5-alt-rpm-fancypercent -* Tue Jun 24 2003 Dmitry V. Levin 0.5.5cnc4.1-alt5 -- apt-get: Optimize pure virtual packages install. -- libapt,apt-get: Use pkgVersioningSystem's CheckDep algorithm - for normal version match. -- Changed some defaults in code rather then in /etc/apt.conf; - cleaned up /etc/apt.conf file. -- Do not build static libraries by default. +* Tue Jan 13 2004 Anton Kachalov 0.5.15cnc5-alt0.2 +- Updated and applied: + + apt-0.5.15cnc5-alt-install_virtual + + apt-0.5.15cnc5-alt-virtual_scores +- Removed: + + apt-0.5.4cnc9-alt-install_virtual_version (merged upstream). + +* Fri Dec 26 2003 Anton V. Denisov 0.5.15cnc5-alt0.1 +- Updated to 0.5.15cnc4. +- Updated alt-rpm.patch. + +* Tue Dec 09 2003 Anton V. Denisov 0.5.15cnc4-alt0.2 +- Updated and applied alt-getsrc.patch. +- Following patches still stay unapplied: + + alt-install_virtual.patch + + alt-install_virtual_version.patch + + alt-virtual_scores.patch + +* Mon Dec 08 2003 Anton V. Denisov 0.5.15cnc4-alt0.1 +- Updated to 0.5.15cnc4. +- Updated alt-distro.patch. +- Updated russian translation. +- Get rid of %_libdir/*.la files. +- Still have disabled patches. + +* Tue Nov 25 2003 Anton V. Denisov 0.5.15cnc3-alt0.1 +- Updated to 0.5.15cnc3 +- Temporary disabled patches: + + apt-0.5.4cnc9-alt-getsrc.patch + + apt-0.5.5cnc4-alt-install_virtual.patch + + apt-0.5.5cnc4.1-alt-virtual_scores.patch +- Merged upstream patches: + + apt-0.5.15cnc1-upstream-pinning-fix.patch +- NOTE: + + this release can not be used with hasher (until we 'll + update temporary disabled patches); + + all packages which uses libapt need to be rebuilt (library version + changed). +- TODO: + + check and update our patches (most important); + + update russian translation. + +* Tue Nov 11 2003 Anton V. Denisov 0.5.15cnc1-alt0.2 +- added apt-0.5.15cnc1-upstream-pinning-fix.patch. +- Updated russian translation. + +* Sat Nov 08 2003 Anton V. Denisov 0.5.15cnc1-alt0.1 +- Updated to 0.5.15cnc1, renumbered patches. +- Removed patches: + + apt-0.5.5cnc5-panu-nodigest.patch +- Updated patches: + + alt-distro.patch + + alt-rpm_cmd.patch + + alt-defaults.patch +- Merged upstream patches: + + alt-bz2.patch + + alt-versionmatch.patch + + alt-versionmatch2.patch + + alt-cleanups.patch + + apt-0.5.12_apt-get_backports.patch + + apt-0.5.12_apt-cache_backports.patch + + apt-0.5.12_doc_backports.patch + + apt-0.5.12_methods_backports.patch + + apt-0.5.12_apt-pkg_backports.patch + + apt-0.5.12_acqprogress_backports.patch + + apt-0.5.12_tests_backports.patch + + apt-0.5.14_apt_get_and_docs.patch +- Temporary disabled patches: + + alt-install_virtual_version.patch (need to be updated by author) +- Following patches wasn't accepted by upstream (what to do with it?): + + alt-packagemanager-CheckRConflicts.patch + + alt-debsystem.patch + + alt-install_virtual.patch + + alt-fixpriorsort.patch + + alt-rpm-fancypercent.patch + + alt-virtual_scores.patch + + alt-parseargs.patch + +* Thu Oct 09 2003 Anton V. Denisov 0.5.5cnc6-alt0.8 +- added BuildRequires: python (fix build in hasher). +- partial merge with upstream APT (0.5.14): + + apt-0.5.14_apt_get_and_docs.patch + +* Wed Oct 08 2003 Anton V. Denisov 0.5.5cnc6-alt0.7 +- added apt-0.5.5cnc6-alt-cleanups.patch (fixed some compiler warnings) +- sync with apt-0.5.5cnc4.1-alt7: + + updated alt-fixpriorsort.patch + + updated alt-rpm-fancypercent.patch + + updated alt-parseargs.patch (and update it for cnc6) + + added alt-virtual_scores.patch + + renamed spec file. + +* Tue Oct 07 2003 Anton V. Denisov 0.5.5cnc6-alt0.5 +- partial merge with upstream APT (0.5.12): + + apt-0.5.12_apt-cache_backports.patch + + apt-0.5.12_apt-get_backports.patch + + apt-0.5.12_doc_backports.patch + + apt-0.5.12_methods_backports.patch + + apt-0.5.12_apt-pkg_backports.patch + + apt-0.5.12_acqprogress_backports.patch + + apt-0.5.12_tests_backports.patch + +* Mon Oct 06 2003 Anton V. Denisov 0.5.5cnc6-alt0.4 +- sync with apt-0.5.5cnc4.1-alt6: + + added apt-0.5.5cnc4.1-alt-parseargs.patch + + added apt-0.5.5cnc6-alt-fixpriorsort.patch + +* Fri Sep 05 2003 Anton V. Denisov 0.5.5cnc6-alt0.3 +- s/$RPM_BUILD_ROOT/%%buildroot/g in spec file. +- Updated BuildRequires in Sisyphus (20030704) env. +- Updated russian translation. +- sync with apt-0.5.5cnc4.1-alt5: + + added apt-0.5.5cnc4-alt-defaults.patch + + cleaned up /etc/apt.conf file. + + updated alt-install_virtual.patch + + added apt-0.5.5cnc4-alt-versionmatch2.patch + + do not build static libraries by default. + +* Mon Jun 16 2003 Anton V. Denisov 0.5.5cnc6-alt0.1 +- Updated to 0.5.5cnc6. +- Re-added patches due to upstream changes: + + alt-debsystem.patch (apt-pkg/deb/debsystem.cc was added again). +- Downgraded patches due to upstream changes: + + alt-getsrc.patch (apt-pkg/deb/debsrcrecords.h was added again). +- Packaged directories: + + Dir::Bin::scripts (/usr/lib/apt/scripts); +- Updated %%doc (contrib dir added). + +* Fri Jun 06 2003 Anton V. Denisov 0.5.5cnc5-alt0.5 +- old changelog entries come back as rpm_old_changelog. +- updated %%find_lang call. +- added -I m4 for %%__aclocal call. +- more macroszification. +- My Mother birthday edition. + +* Tue Jun 03 2003 Anton V. Denisov 0.5.5cnc5-alt0.4 +- %%install section reworked (%%makeinstall use). +- %%build section cleaned up. +- %%_libdir/*.la moved to libapt-devel subpackage. +- %name.8 removed from sources. +- Dropped obsolete old patches. +- Dropped old changelog entries. + +* Tue Jun 03 2003 Anton V. Denisov 0.5.5cnc5-alt0.3 +- Updated to 0.5.5cnc5, renumbered patches. +- Added patches: + + apt-0.5.5cnc5-panu-nodigest.patch +- Updated patches: + + alt-getsrc + + alt-rsync + + alt-tinfo + + alt-rpm (check this one) +- Removed patches due to upstream changes: + + alt-debsystem +- Merged upstream patches: + + alt-i18n-apt-cdrom + + apt-cnc-20030322-algo +- Updated russian translation. +- Explicitly use autoconf-2.5 and automake-1.7 for build. +- Major changes in spec file (need more changes). +- Updated buildrequires (libbeecrypt-devel and glibc-devel-static added). * Mon Apr 28 2003 Dmitry V. Levin 0.5.5cnc4.1-alt4 - apt-get: substitute virtual package with real one (mouse). @@ -589,414 +711,6 @@ fi - It's a just build for Deadalus - not for actual use. - I just built it but not test yet. -* Wed Jun 10 2002 Ivan Zakharyaschev 0.3.19cnc55-alt6 -- fixes in genbasedir from apt-utils: - + srclist generation: now it correctly includes the information on produced - binaries (the list was empty before), and also correctly treats --mapi - (the fixed bug caused misbehaviour of 'apt-get source', in the "2nd branch - of DoSource()" as referenced by me in previous changelogs); - + --flat option. - -* Mon Jun 09 2002 Ivan Zakharyaschev 0.3.19cnc55-alt5 -- renamed the 'build' subpackage to 'utils' (because there is already - an 'apt-build' project at freshmeat.net). - -* Mon Jun 09 2002 Ivan Zakharyaschev 0.3.19cnc55-alt4 -- separate subpkg 'build': analoguous to rpm-build, contains teh utilities to - generate indices (as a consequence less dependencies of 'apt' pkg, - little size); -- fix the work of 'apt-get source' for source packages with multiple binaries - with help of feedback and debugging patches from Anton Denisov - (only the first branch of control flow in DoSource() - is fixed, but that should be enough for normal use). - -* Tue Mar 26 2002 Dmitry V. Levin 0.3.19cnc55-alt3 -- Added librpm-4.0.4 build support. -- Built with librpm-4.0.4, updated buildrequires. - -* Thu Mar 21 2002 Dmitry V. Levin 0.3.19cnc55-alt2 -- Added kernel-aureal and NVIDIA_kernel to default AllowedDupPkgs. -- Updated patch for pkgRPMPM::ExecRPM. -- Reenabled rsh method. -- Updated rpmpriorities. -- fixed genbasedir patch. -- Set explicit Packager tag. -- Dropped obsolete trigger. -- lib%name: Conflicts: %name < %%version-%%release. -- Renamed patches. - -* Wed Mar 13 2002 Alexander Bokovoy 0.3.19cnc55-alt1 -- apt-0.3.19cnc55 integrated -- Fixed: - + rpmpm-exec_rpm patch - + genbasedir -- Removed: - + rpmpm-nodeps patch (already upstream) - + rsh method (already upstream) - -* Mon Dec 10 2001 Dmitry V. Levin 0.3.19cnc53-alt6 -- Fixed rpm --nodeps option usage in pkgRPMPM::ExecRPM (#0000215). - -* Fri Nov 23 2001 Dmitry V. Levin 0.3.19cnc53-alt5 -- Applied scoring algorithm patch (Stelian Pop ) -- Updated package requires. - -* Mon Nov 19 2001 Dmitry V. Levin 0.3.19cnc53-alt4 -- Dropped outdated pofile (already upstream). -- Corrected "Executing RPM" message generation. - -* Fri Nov 16 2001 Dmitry V. Levin 0.3.19cnc53-alt3 -- Updated patches: genbasedir, configure-db3, i18n. - -* Wed Nov 15 2001 Alexander Bokovoy 0.3.19cnc53-alt2 -+ apt-0.3.19cnc53-2cl integrated. Most of our patches moved to upstream -- Fixed (from Conectiva's changelog): - + fixed bug in mirror patch - + cleaned up gen{pkg,src}list (Alexander Bokovoy ) - + * Skips correctly over empty package directories - + * Adds the --bz2only argument which makes genbasedir - + to generate only the .bz2 compressed versions of pkglist - + and srclist (space gain...) - + * Doesn't change the timestamps on pkglists/srclists if - + the contents are not modified (making possible for example - + to make several consecutive runs of genbasedir without - + having the apt clients download the indexes again and again). - + * Some minor cleanups (remove the temporary files in /tmp - + at the end of the script etc). - + (Stelian Pop ) - + cleanup patch for gensrclist (Stelian Pop ) - + fixed multi-arch pkg handling (Stelian Pop ) - + updated russian translation (Alexander Bokovoy - + updated i18n (Dmitry Levin ) - + replaced Apt::GPG::Pubring with Apt::GPG::PubringPath - also uses --homedir instead of --keyring in gpg - (Alexander Bokovoy ) - + patch to detect replaced (instead of just removed) packages - Dmitry Levin - + updated mirrors patch - + Fixed mirrors infinite loop bug (closes: #4420). - + Fixed error handling. -- Added: - + added kernel-tape to default AllowedDupPkgs - + added patch to fix bug in genbasedir with empty dirs - (Stelian Pop ) - + added -K (RPM::Check-Signatures) option to verify rpm sigs - + Added mirrors patch. - -* Fri Nov 02 2001 Dmitry V. Levin 0.3.19cnc52-alt6 -- Initial build with rpm4. - -* Thu Oct 04 2001 Dmitry V. Levin 0.3.19cnc52-alt5 -- Fixed i18n support and probably smth else - (configure.in, config.h.in and i18n.h were broken, kojima sux). -- Implemented 18n for apt-pkg/rpm, updated POTFILES.in and russian translation. - -* Mon Oct 01 2001 Dmitry V. Levin 0.3.19cnc52-alt4 -- Removed "^(kernel|alsa)[0-9]*-headers" from RPM::HoldPkgs list. -- Added (experimental) replaced packages support. - -* Fri Sep 07 2001 Ivan Zakharyaschev 0.3.19cnc52-alt3.1 -- apt-cdrom fix (patch 6) reworked: apt-cdrom used to not detect a second - list file (srclist) if both (pkglist and srclist) were present in one - directory on the disk (in non-thorough mode); hopefully now it works how - we expect it to do. - -* Thu Aug 09 2001 Dmitry V. Levin 0.3.19cnc52-alt3 -- Libification. -- Reworked compilation options again: we add only '-fno-exceptions' now. - -* Tue Aug 07 2001 Dmitry V. Levin 0.3.19cnc52-alt2 -- More code cleanup in tools/gen{pkg,src}list.cc. -- Added %%optflags_nocpp to compilation options. - -* Mon Aug 06 2001 Alexander Bokovoy 0.3.19cnc52-alt1 -- cnc52, gcc 3 and Solaris fixes -- RPM4 check is disabled for the moment -- File method fix has been integrated into mainstream -- RPM::RemoveOptions, RPM::UpdateOptions have been added -- Generation of Package list fixed - -* Thu Aug 02 2001 Dmitry V. Levin 0.3.19cnc51-alt4 -- Added trigger for better apt-conf-* migration. - -* Tue Jul 31 2001 Dmitry V. Levin 0.3.19cnc51-alt3 -- Updated: - + rpmpriorities, - + AllowedDupPkgs, - + HoldPkgs. -- Moved *.list to apt-conf-* packages. - -* Fri Jul 20 2001 Alexander Bokovoy 0.3.19cnc51-alt2 -- Fixed: - + Bug in file method which prevented authentication from working correctly - -* Fri Jul 20 2001 Alexander Bokovoy 0.3.19cnc51-alt1 -- cnc51 - -* Wed Jun 27 2001 Alexander Bokovoy 0.3.19cnc46-alt2 -- cnc46 -- kernel(|24)-{headers,source} added to HoldPkgs -- REPOSITORIO-APT-HOWTO added (Portugal) -- AllowedDupPackages -> AllowedDupPkgs - -* Thu Jun 07 2001 Dmitry V. Levin 0.3.19cnc38-alt4 -- Various fixes in %_bindir/genbasedir. - -* Thu May 17 2001 Dmitry V. Levin 0.3.19cnc38-alt3 -- Fixed build. -- Updated rpmpriorities. - -* Mon Apr 16 2001 Alexander Bokovoy 0.3.19cnc38-alt2 -- More duplicate packages from kernel series allowed. - -* Sun Apr 15 2001 Alexander Bokovoy 0.3.19cnc38-alt1 -- cnc38 -- Updated: - + apt-cdrom now works correctly - + default architecture has been changed to i586 - + ssh method as wrapper to rsh one - -* Mon Mar 19 2001 Alexander Bokovoy 0.3.19cnc37-ipl3mdk -- Updated: - + New patch for genbasedir to allow pass default key to GnuPG - -* Sun Mar 18 2001 Dmitry V. Levin 0.3.19cnc37-ipl2mdk -- Fixed: - + Build/installation of manpages without yodl sources; - + Uncompressed small patches. -- Updated: - + AllowedDupPackages list according to new kernel naming scheme; - + URLs to use new domain name. - -* Sat Mar 17 2001 Alexander Bokovoy 0.3.19cnc37-ipl1mdk -- Fixed: - + APT::GPG::Pubring renamed to APT::GPG::PubringPath - + Pubring support patch changed to use --homedir instead of --keyring -- Updated: - + APT cnc37 - + Fingerprint and repository sources changed to reflect ALT Linux - new public key ring - -* Mon Feb 19 2001 Alexander Bokovoy 0.3.19cnc36-ipl4mdk -- Sisyphus source repository added to sources.list - -* Mon Feb 19 2001 Alexander Bokovoy 0.3.19cnc36-ipl3mdk -- New version - -* Fri Feb 16 2001 Alexander Bokovoy 0.3.19cnc35-ipl2mdk -- Static library compilation added -- Static library goes to apt-devel-static due sizes of library - -* Thu Feb 15 2001 Alexander Bokovoy 0.3.19cnc35-ipl1mdk -- New version -- Rsh method from upstream apt-get ported -- Spec file follows libification of rpm now - -* Mon Jan 22 2001 Alexander Bokovoy 0.3.19cnc32-ipl4mdk -- New upstream version -- Russian translation updated -- Rebuild with new RPM library - -* Mon Jan 22 2001 Alexander Bokovoy 0.3.19cnc28-ipl1mdk -- New upstream version -- cnc28 still lacks correct GNUPG checking code, our patch is neccessary. -- Genbasedir slightly patched again. - -* Sun Jan 21 2001 Alexander Bokovoy ipl11mdk -- Typo in methods/gpg.cc fixed. - -* Sun Jan 21 2001 Alexander Bokovoy ipl10mdk -- APT::GPG::Pubring option to specify default gnupg public ring added to check - distributors' signs automatically via default pubring in RPM package -- ftp user password changed to IPL one. - -* Tue Jan 09 2001 Dmitry V. Levin 0.3.19cnc27-ipl7mdk -- Specfile cleanup. - -* Mon Jan 08 2001 Alexander Bokovoy ipl5mdk -- genbasedir help message fixed - -* Mon Jan 08 2001 Alexander Bokovoy ipl4mdk -- Integration with main IPL package: -- Russian translation for command line messages added -- Russian translation of package summary/description - -* Thu Jan 04 2001 AEN -- Real Sisyphus URL & IPLabs Fingerptint added -- changed rpmpriorities - -* Thu Jan 04 2001 AEN -- build for RE - -* Tue Dec 12 2000 Frederic Lepied 0.3.19cnc27-1mdk -- first mandrake version. - -* Thu Dec 07 2000 Andreas Hasenack -- damn! Wrong URL in sources.list, atualizacoes.conectiva.com - doesn't exist, of course... - -* Thu Dec 07 2000 Andreas Hasenack -- updated sources.list with new mirrors and new download tree -- removed (noreplace) for the sources.list file for this - upgrade. It will be easier for the user. The (noreplace) - should be back in place after this update as we expect no - further big modifications for that file, only new mirrors. - -* Wed Dec 06 2000 Alfredo K. Kojima -- fixed prob in vendors.list - -* Tue Dec 05 2000 Alfredo K. Kojima -- released version 0.3.19cnc27 - -* Wed Nov 08 2000 Alfredo K. Kojima -- released version 0.3.19cnc26 - -* Mon Nov 06 2000 Alfredo K. Kojima -- released version 0.3.19cnc25 - -* Thu Nov 02 2000 Alfredo K. Kojima -- released version 0.3.19cnc24 - -* Thu Nov 02 2000 Rud Moura -- updated source.list (again) - -* Thu Nov 02 2000 Rud Moura -- updated source.list - -* Wed Nov 01 2000 Alfredo K. Kojima -- released version 0.3.19cnc23 -- added cache directories for gen{pkg,src}list -- pt_BR manpages - -* Tue Oct 31 2000 Alfredo K. Kojima -- released version 0.3.19cnc22 -- Requires -> PreReq in apt-devel - -* Mon Oct 30 2000 Alfredo Kojima -- collapsed libapt-pkg-devel and -doc to apt-devel - -* Mon Oct 30 2000 Alfredo K. Kojima -- released version 0.3.19cnc21 - -* Sun Oct 29 2000 Alfredo K. Kojima -- released version 0.3.19cnc20 - -* Sun Oct 29 2000 Alfredo K. Kojima -- released version 0.3.19cnc19 -- added gensrclist -- support for apt-get source - -* Fri Oct 27 2000 Alfredo K. Kojima -- released version 0.3.19cnc18 - -* Thu Oct 26 2000 Alfredo K. Kojima -- released version 0.3.19cnc17 -- new manpages - -* Wed Oct 25 2000 Alfredo K. Kojima -- released version 0.3.19cnc16 - -* Sun Oct 22 2000 Alfredo K. Kojima -- released version 0.3.19cnc15 - -* Sat Oct 21 2000 Alfredo K. Kojima -- released version 0.3.19cnc14 - -* Thu Oct 19 2000 Claudio Matsuoka -- new upstream release: 0.3.9cnc13 - -* Tue Oct 17 2000 Eliphas Levy Theodoro -- added rpmpriorities to filelist and install - -* Tue Oct 17 2000 Claudio Matsuoka -- updated to 0.3.19cnc12 -- fresh CVS snapshot including: support to Acquire::ComprExtension, - debug messages removed, fixed apt-cdrom, RPM DB path, rpmlib call - in pkgRpmLock::Close(), package priority kludge removed, i18n - improvements, and genbasedir/genpkglist updates. -- handling language setting in genpkglist to make aptitude happy - -* Wed Oct 11 2000 Alfredo K. Kojima -- released version 0.3.19cnc11 -- fixed problem with shard lib symlinks - -* Tue Oct 10 2000 Alfredo K. Kojima -- released version 0.3.19cnc10 - -* Mon Oct 2 2000 Claudio Matsuoka -- fixed brown paper bag bug with method permissions -- added parameter --sign to genbasedir -- added html/text doc files - -* Sat Sep 30 2000 Claudio Matsuoka -- bumped to 0.3.19cnc9 -- added vendors.list -- added gpg method -- fixed minor stuff to make Aptitude work -- added missing manpages -- fixed shared libs -- split in apt, libapt-pkg, libapt-pkg-devel, libapt-pkg-doc -- rewrote genbasedir in shell script (original was in TCL) -- misc cosmetic changes - -* Tue Sep 26 2000 Alfredo K. Kojima -- released version 0.3.19cnc8 - -* Wed Sep 20 2000 Alfredo K. Kojima -- released version 0.3.19cnc7 - -* Mon Sep 18 2000 Alfredo K. Kojima -- released version 0.3.19cnc6 - -* Sat Sep 16 2000 Alfredo K. Kojima -- released version 0.3.19cnc5 - -* Fri Sep 15 2000 Alfredo K. Kojima -- released version 0.3.19cnc4 - -* Mon Sep 12 2000 Alfredo K. Kojima -- released version 0.3.19cnc3 - -* Mon Sep 5 2000 Alfredo K. Kojima -- renamed package to apt, with version 0.3.19cncV - -* Mon Sep 5 2000 Alfredo K. Kojima -- 0.10 -- added genpkglist and rapt-config -- program names changed back to apt-* - -* Mon Sep 4 2000 Alfredo K. Kojima -- 0.9 - -* Mon Sep 4 2000 Alfredo K. Kojima -- 0.8 - -* Mon Sep 4 2000 Alfredo K. Kojima -- 0.7 - -* Fri Sep 1 2000 Alfredo K. Kojima -- fixed typo in sources.list - -* Tue Aug 31 2000 Alfredo K. Kojima -- version 0.6 - -* Tue Aug 31 2000 Alfredo K. Kojima -- version 0.5 - -* Tue Aug 31 2000 Alfredo K. Kojima -- version 0.4 - -* Wed Aug 30 2000 Alfredo K. Kojima -- version 0.3 - -* Thu Aug 28 2000 Alfredo K. Kojima -- second try. new release with direct hdlist handling - -* Thu Aug 10 2000 Alfredo K. Kojima -- initial package creation. Yeah, it's totally broken for sure. - # Local Variables: # compile-command: "rpmbuild -ba --target=i586 apt.spec" # End: diff --git a/apt/ABOUT-NLS b/apt/ABOUT-NLS new file mode 100644 index 0000000..d528f9c --- /dev/null +++ b/apt/ABOUT-NLS @@ -0,0 +1,435 @@ +Notes on the Free Translation Project +************************************* + + Free software is going international! The Free Translation Project +is a way to get maintainers of free software, translators, and users all +together, so that will gradually become able to speak many languages. +A few packages already provide translations for their messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work at translations should contact the appropriate team. + + When reporting bugs in the `intl/' directory or bugs which may be +related to internationalization, you should tell about the version of +`gettext' which is used. The information can be found in the +`intl/VERSION' file, in internationalized packages. + +Quick configuration advice +========================== + + If you want to exploit the full power of internationalization, you +should configure it using + + ./configure --with-included-gettext + +to force usage of internationalizing routines provided within this +package, despite the existence of internationalizing capabilities in the +operating system where this package is being installed. So far, only +the `gettext' implementation in the GNU C library version 2 provides as +many features (such as locale alias, message inheritance, automatic +charset conversion or plural form handling) as the implementation here. +It is also not possible to offer this additional functionality on top +of a `catgets' implementation. Future versions of GNU `gettext' will +very likely convey even more functionality. So it might be a good idea +to change to GNU `gettext' as soon as possible. + + So you need _not_ provide this option if you are using GNU libc 2 or +you have installed a recent copy of the GNU gettext package with the +included `libintl'. + +INSTALL Matters +=============== + + Some packages are "localizable" when properly installed; the +programs they contain can be made to speak your own native language. +Most such packages use GNU `gettext'. Other packages have their own +ways to internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. If not, the GNU `gettext' own +library will be used. This library is wholly contained within this +package, usually in the `intl/' subdirectory, so prior installation of +the GNU `gettext' package is _not_ required. Installers may use +special options at configuration time for changing the default +behaviour. The commands: + + ./configure --with-included-gettext + ./configure --disable-nls + +will respectively bypass any pre-existing `gettext' to use the +internationalizing routines provided within this package, or else, +_totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl.a' file and +will decide to use this. This might be not what is desirable. You +should use the more recent version of the GNU `gettext' library. I.e. +if the file `intl/VERSION' shows that the library which comes with this +package is more recent, you should use + + ./configure --with-included-gettext + +to prevent auto-detection. + + The configuration process will not test for the `catgets' function +and therefore it will not be used. The reason is that even an +emulation of `gettext' on top of `catgets' could not provide all the +extensions of the GNU `gettext' library. + + Internationalized packages have usually many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +Using This Package +================== + + As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, +and `CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your country by running the command +`locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +Translating Teams +================= + + For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" +area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `translation@iro.umontreal.ca' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skill are praised more than +programming skill, here. + +Available Packages +================== + + Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of August +2002. The matrix shows, in regard of each package, for which languages +PO files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files be bg ca cs da de el en eo es et fi fr + +----------------------------------------+ + a2ps | [] [] [] [] | + ap-utils | | + bash | [] [] [] [] | + bfd | [] [] | + binutils | [] [] | + bison | [] [] [] [] | + clisp | | + clisp | [] [] [] [] | + clisplow | | + cpio | [] [] [] [] | + darkstat | () | + diffutils | [] [] [] [] [] [] | + enscript | [] [] | + error | [] [] [] | + fetchmail | [] () [] [] [] () | + fileutils | [] [] [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] [] [] | + gas | [] [] | + gawk | [] [] [] | + gcal | [] [] | + gcc | [] [] | + gettext | [] [] [] [] [] | + gnupg | [] [] [] [] [] [] [] | + gprof | [] [] | + gpsdrive | () () () () () | + grep | [] [] [] [] [] [] [] [] | + gretl | [] | + gthumb | () () () | + hello | [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] | + indent | [] [] [] [] [] | + jpilot | () [] [] [] | + jwhois | [] [] | + kbd | [] [] [] | + ld | [] [] | + libc | [] [] [] [] [] [] [] [] | + libiconv | [] [] [] [] | + lifelines | () () | + lilypond | [] [] | + lingoteach | [] [] | + lingoteach_lessons| () () | + lynx | [] [] [] [] [] | + m4 | [] [] [] [] [] | + make | [] [] [] [] | + man-db | [] () () [] () () | + mysecretdiary | [] [] [] | + nano | [] () [] [] [] [] | + nano_1_0 | [] () [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] [] | + ptx | [] [] [] [] [] [] [] | + python | | + recode | [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] [] | + sharutils | [] [] [] [] [] [] [] | + sketch | () [] () | + soundtracker | [] [] [] | + sp | [] | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] [] [] | + textutils | [] [] [] [] [] | + util-linux | [] [] [] [] [] [] | + vorbis-tools | [] | + wastesedge | | + wdiff | [] [] [] [] [] [] | + wget | [] [] [] [] [] [] [] [] [] [] | + +----------------------------------------+ + be bg ca cs da de el en eo es et fi fr + 0 2 19 10 30 44 9 1 12 44 17 6 53 + + gl he hr hu id it ja ko lv nb nl nn + +-------------------------------------+ + a2ps | () () [] | + ap-utils | | + bash | [] | + bfd | [] | + binutils | [] | + bison | [] [] [] [] | + clisp | | + clisp | [] | + clisplow | | + cpio | [] [] [] [] | + darkstat | | + diffutils | [] [] [] [] [] | + enscript | [] [] | + error | [] | + fetchmail | [] | + fileutils | [] [] [] | + findutils | [] [] [] [] [] [] [] [] | + flex | [] | + gas | | + gawk | [] | + gcal | | + gcc | [] | + gettext | [] [] | + gnupg | [] [] [] [] | + gprof | [] | + gpsdrive | [] () () | + grep | [] [] [] [] [] [] [] | + gretl | | + gthumb | () () | + hello | [] [] [] [] [] [] [] [] [] [] [] [] | + id-utils | [] [] | + indent | [] [] [] [] | + jpilot | () () | + jwhois | [] [] | + kbd | | + ld | | + libc | [] [] [] [] | + libiconv | [] [] [] | + lifelines | | + lilypond | [] | + lingoteach | [] | + lingoteach_lessons| | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + make | [] [] [] [] [] [] | + man-db | () () | + mysecretdiary | [] | + nano | [] [] [] [] | + nano_1_0 | [] [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] | + ptx | [] [] [] [] [] | + python | | + recode | [] [] [] | + sed | [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] | + sharutils | [] [] [] | + sketch | () | + soundtracker | [] [] | + sp | | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] | + textutils | [] [] [] [] | + util-linux | () [] | + vorbis-tools | [] | + wastesedge | | + wdiff | [] [] [] | + wget | [] [] [] [] [] [] | + +-------------------------------------+ + gl he hr hu id it ja ko lv nb nl nn + 23 9 12 19 16 13 26 9 1 7 19 3 + + no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW + +----------------------------------------------+ + a2ps | () () () [] [] [] [] [] | 10 + ap-utils | () | 0 + bash | [] | 6 + bfd | [] [] | 5 + binutils | [] [] | 5 + bison | [] [] [] [] | 12 + clisp | | 0 + clisp | | 5 + clisplow | | 0 + cpio | [] [] [] [] | 12 + darkstat | [] [] () () | 2 + diffutils | [] [] [] [] [] [] | 17 + enscript | [] [] [] [] | 8 + error | [] [] [] | 7 + fetchmail | () () [] | 6 + fileutils | [] [] [] [] [] [] | 14 + findutils | [] [] [] [] [] [] [] | 21 + flex | [] [] [] | 9 + gas | [] | 3 + gawk | [] [] | 6 + gcal | [] [] | 4 + gcc | [] | 4 + gettext | [] [] [] [] [] [] | 13 + gnupg | [] [] [] | 14 + gprof | [] [] | 5 + gpsdrive | [] [] | 3 + grep | [] [] [] [] [] | 20 + gretl | | 1 + gthumb | () () [] | 1 + hello | [] [] [] [] [] [] [] | 28 + id-utils | [] [] [] [] | 9 + indent | [] [] [] [] [] | 14 + jpilot | () () [] [] | 5 + jwhois | [] () () [] [] | 7 + kbd | [] [] | 5 + ld | [] [] | 4 + libc | [] [] [] [] [] [] | 18 + libiconv | [] [] [] [] [] | 12 + lifelines | [] | 1 + lilypond | [] | 4 + lingoteach | [] [] | 5 + lingoteach_lessons| () | 0 + lynx | [] [] [] [] | 13 + m4 | [] [] [] [] | 13 + make | [] [] [] [] [] | 15 + man-db | | 3 + mysecretdiary | [] [] [] | 7 + nano | [] [] [] [] | 13 + nano_1_0 | [] [] [] [] | 14 + opcodes | [] [] [] | 8 + parted | [] [] [] [] | 12 + ptx | [] [] [] [] [] [] [] | 19 + python | | 0 + recode | [] [] [] [] [] [] | 15 + sed | [] [] [] [] [] [] | 24 + sh-utils | [] [] | 9 + sharutils | [] [] [] [] | 14 + sketch | [] () [] | 4 + soundtracker | [] | 6 + sp | | 1 + tar | [] [] [] [] [] [] [] | 19 + texinfo | [] [] | 10 + textutils | [] [] [] [] [] | 14 + util-linux | [] [] [] | 10 + vorbis-tools | [] | 3 + wastesedge | | 0 + wdiff | [] [] [] [] [] | 14 + wget | [] [] [] [] [] [] [] [] | 24 + +----------------------------------------------+ + 37 teams no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW + 68 domains 4 15 2 28 28 12 10 49 43 4 1 9 609 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If August 2002 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at +`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. + +Using `gettext' in new packages +=============================== + + If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course you have to respect the GNU Library General Public +License which covers the use of the GNU `gettext' library. This means +in particular that even non-free programs can use `libintl' as a shared +library, whereas only free software can use `libintl' as a static +library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle +to use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`translation@iro.umontreal.ca' to make the `.pot' files available to +the translation teams. + diff --git a/apt/COMPILING b/apt/COMPILING deleted file mode 100644 index 2dbff1f..0000000 --- a/apt/COMPILING +++ /dev/null @@ -1,83 +0,0 @@ -General Information -~~~~~~~~~~~~~~~~~~~ -To compile this you need a couple things - - A working POSIX system with working POSIX gcc, g++, make (GNU), - ar, sh, awk and sed in the path - - GNU Make 3.74 or so, -- normal UNIX make will NOT work - * Note 3.77 is broken. - - A working ANSI C++ compiler, this is not g++ 2.7.* - g++ 2.8 works OK and newer egcs work well also. Nobody has tried it - on other compilers :< You will need a properly working STL as well. - - A C library with the usual POSIX functions and a BSD socket layer. - If you OS conforms to the Single Unix Spec then you are fine: - http://www.opengroup.org/onlinepubs/7908799/index.html - -** NOTICE ** -The C++ global constructors do not link correctly when using non-shared -libaries. This is probably the correct behavior of the linker, but I have -not yet had time to devise a work around for it. The correct thing to -do is add a reference to debSystem in apt-pkg/init.cc, -assert(&debSystem == 0) would be fine for instance. - -Guidelines -~~~~~~~~~~ -I am not interested in making 'ultra portable code'. I will accept patches -to make the code that already exists conform more to SUS or POSIX, but -I don't really care if your not-SUS OS doesn't work. It is simply too -much work to maintain patches for dysfunctional OSs. I highly suggest you -contact your vendor and express intrest in a conforming C library. - -That said, there are lots of finniky problems that must be delt with even -between the supported OS's. Primarily the path I choose to take is to put -a shim header file in build/include that transparently adds the required -functionality. Patches to make autoconf detect these cases and generate the -required shims are OK. - -Current shims: - * C99 integer types 'inttypes.h' - * sys/statvfs.h to convert from BSD/old-glibc statfs to SUS statvfs - * rfc2553 hostname resolution (methods/rfc*), shims to normal gethostbyname. - The more adventerous could steal the KAME IPv6 enabled resolvers for those - OS's with IPv6 support but no rfc2553 (why?) - * define _XOPEN_EXTENDED_SOURCE to bring in h_errno on HP-UX - * socklen_t shim in netdb.h if the OS does not have socklen_t - -The only completely non-shimed OS is Linux with glibc2.1, glibc2.0 requires -the first three shims. - -Platform Notes -~~~~~~~~~~~~~~ -Debian GNU Linux 2.1 'slink' -Debian GNU Linux 'potato' -Debian GNU Linux 'woody' - * All Archs - - Works flawlessly - - You will want to have debiandoc-sgml and docbook2man installed to get - best results. - - No IPv6 Support in glibc's < 2.1. - -Sun Solaris - SunOS cab101 5.7 Generic_106541-04 sun4u sparc - SunOS csu201 5.8 Generic_108528-04 sun4u sparc - - Works fine - - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution - -OpenBSD - OpenBSD gsb086 2.5 CMPUT#0 i386 unknown - OpenBSD csu101 2.7 CMPUT#1 i386 unknown - - OS needs 'ranlib' to generate the symbol table after 'ar'.. (not using - GNU ar with the gnu tool chain :<) - - '2.5' does not have RFC 2553 hostname resolution, but '2.7' does - - Testing on '2.7' suggests the OS has a bug in its handling of - ftruncate on files that have been written via mmap. It fills the page - that crosses the truncation boundary with 0's. - -HP-UX - HP-UX nyquist B.10.20 C 9000/780 2016574337 32-user license - - Evil OS, does not conform very well to SUS - 1) snprintf exists but is not prototyped, ignore spurios warnings - 2) No socklen_t - 3) Requires -D_XOPEN_SOURCE_EXTENDED for h_errno - configure should fix the last two (see above) - - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution - diff --git a/apt/Makefile b/apt/Makefile deleted file mode 100644 index 1312b94..0000000 --- a/apt/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# -*- make -*- - -# This is the top level make file for APT, it recurses to each lower -# level make file and runs it with the proper target -ifndef NOISY -.SILENT: -endif - -.PHONY: default -default: startup all - -.PHONY: headers library clean veryclean all binary program doc -all headers library clean veryclean binary program doc dirs: - # CNC:2003-02-15 - $(MAKE) -C apt-pkg $@ - #$(MAKE) -C apt-inst $@ - $(MAKE) -C methods $@ - $(MAKE) -C cmdline $@ - #$(MAKE) -C ftparchive $@ - #$(MAKE) -C dselect $@ - $(MAKE) -C doc $@ - $(MAKE) -C tools $@ - $(MAKE) -C po $@ - -# Some very common aliases -.PHONY: maintainer-clean dist-clean distclean pristine sanity -maintainer-clean dist-clean distclean pristine sanity: veryclean - -# The startup target builds the necessary configure scripts. It should -# be used after a CVS checkout. -CONVERTED=environment.mak include/config.h include/apti18n.h makefile -include buildlib/configure.mak -$(BUILDDIR)/include/config.h: buildlib/config.h.in -$(BUILDDIR)/include/apti18n.h: buildlib/apti18n.h.in -$(BUILDDIR)/environment.mak: buildlib/environment.mak.in -$(BUILDDIR)/makefile: buildlib/makefile.in diff --git a/apt/Makefile.am b/apt/Makefile.am new file mode 100644 index 0000000..415e0b5 --- /dev/null +++ b/apt/Makefile.am @@ -0,0 +1,43 @@ + +SUBDIRS = buildlib intl lua apt-pkg methods cmdline tools doc m4 po + +ACLOCAL_AMFLAGS = -I m4 -I buildlib + +EXTRA_DIST = \ + AUTHORS.RPM \ + COPYING.GPL \ + rpmpriorities \ + test/conf.cc \ + test/extract-control.cc \ + test/hash.cc \ + test/makefile \ + test/mthdcat.cc \ + test/rpmver.cc \ + test/scratch.cc \ + test/testdeb.cc \ + test/testextract.cc \ + test/uri.cc \ + test/versions.lst \ + test/versiontest.cc \ + python/apt.i \ + python/apt.py \ + python/apt_wrap.cxx \ + python/Makefile \ + python/swig-1.3.16-cxx.patch \ + contrib/apt-rpm/apt-rpm \ + contrib/apt-rpm/apt-rpm.1 \ + contrib/apt-files/README \ + contrib/apt-files/apt-files.lua \ + contrib/apt-files/apt-files.conf \ + contrib/apt-files/convert.py \ + contrib/install-devel/README \ + contrib/install-devel/install-devel.lua \ + contrib/apt-groupinstall/README \ + contrib/apt-groupinstall/apt-groupinstall.lua \ + contrib/apt-groupinstall/apt-groupinstall.py \ + contrib/apt-groupinstall/apt-groupinstall.conf \ + contrib/proxypasswd/README \ + contrib/proxypasswd/proxypasswd.lua + contrib/guess/README \ + contrib/guess/guess.lua \ + contrib/guess/guess.conf diff --git a/apt/Makefile.in b/apt/Makefile.in new file mode 100644 index 0000000..62719eb --- /dev/null +++ b/apt/Makefile.in @@ -0,0 +1,637 @@ +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILE_APTSHELL_FALSE = @COMPILE_APTSHELL_FALSE@ +COMPILE_APTSHELL_TRUE = @COMPILE_APTSHELL_TRUE@ +COMPILE_MANPAGES_FALSE = @COMPILE_MANPAGES_FALSE@ +COMPILE_MANPAGES_TRUE = @COMPILE_MANPAGES_TRUE@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOCBOOK2MAN = @DOCBOOK2MAN@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GENCAT = @GENCAT@ +GLIBC21 = @GLIBC21@ +GLIBC_VER = @GLIBC_VER@ +GMSGFMT = @GMSGFMT@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLBISON = @INTLBISON@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSTDCPP_VER = @LIBSTDCPP_VER@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +NEED_INTTYPES_H_FALSE = @NEED_INTTYPES_H_FALSE@ +NEED_INTTYPES_H_TRUE = @NEED_INTTYPES_H_TRUE@ +NEED_NETDB_H_FALSE = @NEED_NETDB_H_FALSE@ +NEED_NETDB_H_TRUE = @NEED_NETDB_H_TRUE@ +NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ +NEED_STATVFS_H_FALSE = @NEED_STATVFS_H_FALSE@ +NEED_STATVFS_H_TRUE = @NEED_STATVFS_H_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +PTHREADLIB = @PTHREADLIB@ +RANLIB = @RANLIB@ +RPMLIBS = @RPMLIBS@ +RPM_PATH = @RPM_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOCKETLIBS = @SOCKETLIBS@ +STRIP = @STRIP@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_LUA_FALSE = @WITH_LUA_FALSE@ +WITH_LUA_TRUE = @WITH_LUA_TRUE@ +XGETTEXT = @XGETTEXT@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +SUBDIRS = buildlib intl lua apt-pkg methods cmdline tools doc m4 po + +ACLOCAL_AMFLAGS = -I m4 -I buildlib + +EXTRA_DIST = \ + AUTHORS.RPM \ + COPYING.GPL \ + rpmpriorities \ + test/conf.cc \ + test/extract-control.cc \ + test/hash.cc \ + test/makefile \ + test/mthdcat.cc \ + test/rpmver.cc \ + test/scratch.cc \ + test/testdeb.cc \ + test/testextract.cc \ + test/uri.cc \ + test/versions.lst \ + test/versiontest.cc \ + python/apt.i \ + python/apt.py \ + python/apt_wrap.cxx \ + python/Makefile \ + python/swig-1.3.16-cxx.patch \ + contrib/apt-rpm/apt-rpm \ + contrib/apt-rpm/apt-rpm.1 \ + contrib/apt-files/README \ + contrib/apt-files/apt-files.lua \ + contrib/apt-files/apt-files.conf \ + contrib/apt-files/convert.py \ + contrib/install-devel/README \ + contrib/install-devel/install-devel.lua \ + contrib/apt-groupinstall/README \ + contrib/apt-groupinstall/apt-groupinstall.lua \ + contrib/apt-groupinstall/apt-groupinstall.py \ + contrib/apt-groupinstall/apt-groupinstall.conf \ + contrib/proxypasswd/README \ + contrib/proxypasswd/proxypasswd.lua + +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = intl/Makefile +DIST_SOURCES = + +RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ + ps-recursive install-info-recursive uninstall-info-recursive \ + all-recursive install-data-recursive install-exec-recursive \ + installdirs-recursive install-recursive uninstall-recursive \ + check-recursive installcheck-recursive +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/configure \ + ./buildlib/config.h.in ABOUT-NLS AUTHORS COPYING Makefile.am \ + TODO aclocal.m4 configure configure.in +DIST_SUBDIRS = $(SUBDIRS) +all: all-recursive + +.SUFFIXES: + +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) + +$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) + cd $(srcdir) && $(AUTOCONF) + +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in m4/codeset.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/progtest.m4 m4/stdint_h.m4 m4/uintmax_t.m4 m4/ulonglong.m4 buildlib/tools.m4 + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +include/config.h: include/stamp-h1 + @if test ! -f $@; then \ + rm -f include/stamp-h1; \ + $(MAKE) include/stamp-h1; \ + else :; fi + +include/stamp-h1: $(srcdir)/./buildlib/config.h.in $(top_builddir)/config.status + @rm -f include/stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status include/config.h + +$(srcdir)/./buildlib/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOHEADER) + touch $(srcdir)/./buildlib/config.h.in + +distclean-hdr: + -rm -f include/config.h include/stamp-h1 +intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if (etags --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + else \ + include_option=--include; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = . +distdir = $(PACKAGE)-$(VERSION) + +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } + +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkinstalldirs) $(distdir)/./buildlib $(distdir)/contrib/apt-files $(distdir)/contrib/apt-groupinstall $(distdir)/contrib/apt-rpm $(distdir)/contrib/install-devel $(distdir)/contrib/proxypasswd $(distdir)/intl $(distdir)/po $(distdir)/python $(distdir)/test + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" \ + distdir=../$(distdir)/$$subdir \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + $(am__remove_distdir) + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + --with-included-gettext \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ + && rm -f $(distdir).tar.gz \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @echo "$(distdir).tar.gz is ready for distribution" | \ + sed 'h;s/./=/g;p;x;p;x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: + +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ + clean-generic clean-libtool clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip distcheck \ + distclean distclean-generic distclean-hdr distclean-libtool \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am dvi-recursive info info-am \ + info-recursive install install-am install-data install-data-am \ + install-data-recursive install-exec install-exec-am \ + install-exec-recursive install-info install-info-am \ + install-info-recursive install-man install-recursive \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am installdirs-recursive maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ + pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ + tags-recursive uninstall uninstall-am uninstall-info-am \ + uninstall-info-recursive uninstall-recursive + + contrib/guess/README \ + contrib/guess/guess.lua \ + contrib/guess/guess.conf +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/apt/README.make b/apt/README.make deleted file mode 100644 index c043f10..0000000 --- a/apt/README.make +++ /dev/null @@ -1,112 +0,0 @@ -The Make System -~~~ ~~~~ ~~~~~~ -To compile this program you require GNU Make. In fact you probably need -GNU Make 3.76.1 or newer. The makefiles contained make use of many -GNU Make specific features and will not run on other makes. - -The make system has a number of interesting properties that are not found -in other systems such as automake or the GNU makefile standards. In -general some semblance of expectedness is kept so as not to be too -surprising. Basically the following will work as expected: - - ./configure - make - or - cd build - ../configure - make - -There are a number of other things that are possible that may make software -development and software packaging simpler. The first of these is the -environment.mak file. When configure is run it creates an environment.mak -file in the build directory. This contains -all- configurable parameters -for all of the make files in all of the subdirectories. Changing one -of these parameters will have an immediate effect. The use of makefile.in -and configure substitutions across build makefiles is not used at all. - -Furthermore, the make system runs with a current directory equal to the -source directory irregardless of the destination directory. This means -#include "" and #include <> work as expected and more importantly -running 'make' in the source directory will work as expected. The -environment variable or make parameter 'BUILD' sets the build directory. -It may be an absolute path or a path relative to the top level directory. -By default build-arch/ then build/ will be used with a fall back to ./ This -means you can get all the advantages of a build directory without having to -cd into it to edit your source code! - -The make system also performs dependency generation on the fly as the -compiler runs. This is extremely fast and accurate. There is however -one failure condition that occures when a header file is erased. In -this case you should run make clean to purge the .o and .d files to -rebuild. - -The final significant deviation from normal make practicies is -in how the build directory is managed. It is not mearly a mirror of -the source directory but is logically divided in the following manner - bin/ - methods/ - doc/ - examples/ - include/ - apt-pkg/ - obj/ - apt-pkg/ - cmndline/ - [...] -Only .o and .d files are placed in the obj/ subdirectory. The final compiled -binaries are placed in bin, published headers for inter-component linking -are placed in include/ and documentation is generated into doc/. This means -all runnable programs are within the bin/ directory, a huge benifit for -debugging inter-program relationships. The .so files are also placed in -bin/ for simplicity. - -By default make is put into silent mode. During operation there should be -no shell or compiler messages only status messages from the makefiles, -if any pop up that indicates there may be a problem with your environment. -For debugging you can disable this by setting NOISY=1, ala - make NOISY=1 - -Using the makefiles -~~~~~ ~~~ ~~~~~~~~~ -The makefiles for the components are really simple. The complexity is hidden -within the buildlib/ directory. Each makefile defines a set of make variables -for the bit it is going to make then includes a makefile fragment from -the buildlib/. This fragment generates the necessary rules based on the -originally defined variables. This process can be repeated as many times as -necessary for as many programs or libraries as are in the directory. - -Many of the make fragments have some useful properties involving sub -directories and other interesting features. They are more completely -described in the fragment code in buildlib. Some tips on writing fragments -are included in buildlib/defaults.mak - -The fragments are NEVER processed by configure, so if you make changes to -them they will have an immediate effect. - -Autoconf -~~~~~~~~ -Straight out of CVS you have to initialize autoconf. This requires -automake (I really don't know why) and autoconf and requires doing - aclocal -I buidlib - autoconf -[Altertatively you can run make startup in the top level build dir] - -Autoconf is configured to do some basic system probes for optional and -required functionality and generate an environment.mak and include/config.h -from it's findings. It will then write a 'makefile' and run make dirs to -create the output directory tree. - -It is not my belief that autoconf should be used to generate substantial -source code markup to escape OS problems. If an OS problem does crop up -it can likely be corrected by installing the correct files into the -build include/ dir and perhaps writing some replacement code and -linking it in. To the fullest extent possible the source code should conform -to standards and not cater to broken systems. - -Autoconf will also wite a makefile into the top level of the build dir, -this simply acts as a wrapper to the main top level make in the source tree. -There is one big warning, you can't use both this make file and the -ones in the top level tree. Make is not able to resolve rules that -go to the same file through different paths and this will confuse the -depends mechanism. I recommend always using the makefiles in the -source directory and exporting BUILD. diff --git a/apt/TODO b/apt/TODO index d5c78f3..c5a1a05 100644 --- a/apt/TODO +++ b/apt/TODO @@ -1,3 +1,6 @@ - Implement hashing in file method. - Build program to check for dependencies between repositories. - Implement apt-cache provides/whatprovides +- Implement Minimize +- Implement depends/provides support in Lua API. +- Implement build options for source -b command. diff --git a/apt/aclocal.m4 b/apt/aclocal.m4 index ed9fdf1..fb04597 100644 --- a/apt/aclocal.m4 +++ b/apt/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.7.1 -*- Autoconf -*- +# generated automatically by aclocal 1.7.9 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. @@ -16,7 +16,7 @@ # This macro actually does too much some checks are only needed if # your package does certain things. But this isn't really a big deal. -# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -34,14 +34,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. -# serial 8 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - +# serial 10 AC_PREREQ([2.54]) @@ -86,8 +79,8 @@ m4_ifval([$2], AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl - AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl - AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) @@ -108,6 +101,7 @@ AM_PROG_INSTALL_STRIP # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], @@ -130,7 +124,16 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX], # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[_am_stamp_count=`expr ${_am_stamp_count-0} + 1` +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright 2002 Free Software Foundation, Inc. @@ -160,7 +163,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"]) # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.7.1])]) + [AM_AUTOMAKE_VERSION([1.7.9])]) # Helper functions for option handling. -*- Autoconf -*- @@ -446,9 +449,42 @@ fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# serial 4 -*- Autoconf -*- +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. -# Copyright 1999, 2000, 2001 Free Software Foundation, Inc. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# serial 5 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -509,18 +545,32 @@ AC_CACHE_CHECK([dependency style of $depcc], # 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 am_cv_$1_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. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + : > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) @@ -538,13 +588,20 @@ AC_CACHE_CHECK([dependency style of $depcc], # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c -o conftest.o conftest.c >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_$1_dependencies_compiler_type=$depmode - break + # icc doesn't choke on unknown options, it will just issue warnings + # (even with -Werror). So we grep stderr for any message + # that says an option was ignored. + if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi fi done @@ -566,16 +623,8 @@ AM_CONDITIONAL([am__fastdep$1], [ # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], -[rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null -AC_SUBST([DEPDIR]) +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) @@ -679,7 +728,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -704,8 +753,9 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' -doit: +am__doit: @echo done +.PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) @@ -733,9 +783,9 @@ if test "$am__include" = "#"; then _am_result=BSD fi fi -AC_SUBST(am__include) -AC_SUBST(am__quote) -AC_MSG_RESULT($_am_result) +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) @@ -783,6 +833,3706 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]) fi])]) +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- + +# serial 46 AC_PROG_LIBTOOL + +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + +# 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' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +]) + +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([LT_AC_PROG_SED])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +_LT_AC_PROG_ECHO_BACKSLASH +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE(libtool-lock, + [ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_SAVE + AC_LANG_C + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_RESTORE]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + + # recent cygwin and mingw systems supply a stub DllMain which the user + # can override, but on older systems we have to supply one + AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, + [AC_TRY_LINK([], + [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); + DllMain (0, 0, 0);], + [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) + + case $host/$CC in + *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) + # old mingw systems require "-dll" to link a DLL, while more recent ones + # require "-mdll" + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mdll" + AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, + [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) + CFLAGS="$SAVE_CFLAGS" ;; + *-*-cygwin* | *-*-pw32*) + # cygwin systems need to pass --dll to the linker, and not link + # crt.o which will require a WinMain@16 definition. + lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; + esac + ;; + ]) +esac + +_LT_AC_LTCONFIG_HACK + +]) + +# AC_LIBTOOL_HEADER_ASSERT +# ------------------------ +AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT], +[AC_CACHE_CHECK([whether $CC supports assert without backlinking], + [lt_cv_func_assert_works], + [case $host in + *-*-solaris*) + if test "$GCC" = yes && test "$with_gnu_ld" != yes; then + case `$CC --version 2>/dev/null` in + [[12]].*) lt_cv_func_assert_works=no ;; + *) lt_cv_func_assert_works=yes ;; + esac + fi + ;; + esac]) + +if test "x$lt_cv_func_assert_works" = xyes; then + AC_CHECK_HEADERS(assert.h) +fi +])# AC_LIBTOOL_HEADER_ASSERT + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h) +])# _LT_AC_CHECK_DLFCN + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_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 +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $host_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then + symcode='[[ABCDGISTW]]' +fi + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # 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'" + + # Check to see that the pipe works correctly. + pipe_works=no + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && 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 + + # Make sure that we snagged all the symbols we need. + if egrep ' nm_test_var$' "$nlist" >/dev/null; then + if egrep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[[]] = +{ +EOF + sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$no_builtin_flag" + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AC_FD_CC + fi + else + echo "cannot find nm_test_var in $nlist" >&AC_FD_CC + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC + fi + else + echo "$progname: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # 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 +]) +global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" +if test -z "$lt_cv_sys_global_symbol_pipe"; then + global_symbol_to_cdecl= + global_symbol_to_c_name_address= +else + global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" + global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" +fi +if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; +then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + +# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR +# --------------------------------- +AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], +[# Find the correct PATH separator. Usually this is `:', but +# DJGPP uses `;' like DOS. +if test "X${PATH_SEPARATOR+set}" != Xset; then + UNAME=${UNAME-`uname 2>/dev/null`} + case X$UNAME in + *-DOS) lt_cv_sys_path_separator=';' ;; + *) lt_cv_sys_path_separator=':' ;; + esac + PATH_SEPARATOR=$lt_cv_sys_path_separator +fi +])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null && + echo_test_string="`eval $cmd`" && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +AC_DIVERT_POP +])# _LT_AC_PROG_ECHO_BACKSLASH + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ------------------------------------------------------------------ +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[if test "$cross_compiling" = yes; then : + [$4] +else + AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl + 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 + +/* 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 () +{ + 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); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + +# AC_LIBTOOL_DLOPEN_SELF +# ------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[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 + ;; + + cygwin* | mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl + 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" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + 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 +])# AC_LIBTOOL_DLOPEN_SELF + +AC_DEFUN([_LT_AC_LTCONFIG_HACK], +[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" +need_locks="$enable_libtool_lock" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +if test x"$host" != x"$build"; then + ac_tool_prefix=${host_alias}- +else + ac_tool_prefix= +fi + +# Transform linux* to *-*-linux-gnu*, to support old configure scripts. +case $host_os in +linux-gnu*) ;; +linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` +esac + +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 + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# Allow CC to be a program name with arguments. +set dummy $CC +compiler="[$]2" + +AC_MSG_CHECKING([for objdir]) +rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + objdir=_libs +fi +rmdir .libs 2>/dev/null +AC_MSG_RESULT($objdir) + + +AC_ARG_WITH(pic, +[ --with-pic try to use only PIC/non-PIC objects [default=use both]], +pic_mode="$withval", pic_mode=default) +test -z "$pic_mode" && pic_mode=default + +# We assume here that the value for lt_cv_prog_cc_pic will not be cached +# in isolation, and that seeing it set (from the cache) indicates that +# the associated values are set (in the cache) correctly too. +AC_MSG_CHECKING([for $compiler option to produce PIC]) +AC_CACHE_VAL(lt_cv_prog_cc_pic, +[ lt_cv_prog_cc_pic= + lt_cv_prog_cc_shlib= + lt_cv_prog_cc_wl= + lt_cv_prog_cc_static= + lt_cv_prog_cc_no_builtin= + lt_cv_prog_cc_can_build_shared=$can_build_shared + + if test "$GCC" = yes; then + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static='-static' + + case $host_os in + aix*) + # Below there is a dirty hack to force normal static linking with -ldl + # The problem is because libdl dynamically linked with both libc and + # libC (AIX C++ library), which obviously doesn't included in libraries + # list by gcc. This cause undefined symbols with -static flags. + # This hack allows C programs to be linked with "-static -ldl", but + # not sure about C++ programs. + lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" + ;; + 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_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_cv_prog_cc_pic='-fno-common' + ;; + cygwin* | 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_cv_prog_cc_pic='-DDLL_EXPORT' + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_cv_prog_cc_pic=-Kconform_pic + fi + ;; + *) + lt_cv_prog_cc_pic='-fPIC' + ;; + esac + else + # PORTME Check for PIC flags for the system compiler. + case $host_os in + aix3* | aix4* | aix5*) + lt_cv_prog_cc_wl='-Wl,' + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_cv_prog_cc_static='-Bstatic' + else + lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + hpux9* | hpux10* | hpux11*) + # Is there a better lt_cv_prog_cc_static that works with the bundled CC? + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" + lt_cv_prog_cc_pic='+Z' + ;; + + irix5* | irix6* | nonstopux*) + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static='-non_shared' + # PIC (with -KPIC) is the default. + ;; + + cygwin* | 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_cv_prog_cc_pic='-DDLL_EXPORT' + ;; + + newsos6) + lt_cv_prog_cc_pic='-KPIC' + lt_cv_prog_cc_static='-Bstatic' + ;; + + osf3* | osf4* | osf5*) + # All OSF/1 code is PIC. + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static='-non_shared' + ;; + + sco3.2v5*) + lt_cv_prog_cc_pic='-Kpic' + lt_cv_prog_cc_static='-dn' + lt_cv_prog_cc_shlib='-belf' + ;; + + solaris*) + lt_cv_prog_cc_pic='-KPIC' + lt_cv_prog_cc_static='-Bstatic' + lt_cv_prog_cc_wl='-Wl,' + ;; + + sunos4*) + lt_cv_prog_cc_pic='-PIC' + lt_cv_prog_cc_static='-Bstatic' + lt_cv_prog_cc_wl='-Qoption ld ' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_cv_prog_cc_pic='-KPIC' + lt_cv_prog_cc_static='-Bstatic' + lt_cv_prog_cc_wl='-Wl,' + ;; + + uts4*) + lt_cv_prog_cc_pic='-pic' + lt_cv_prog_cc_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_cv_prog_cc_pic='-Kconform_pic' + lt_cv_prog_cc_static='-Bstatic' + fi + ;; + + *) + lt_cv_prog_cc_can_build_shared=no + ;; + esac + fi +]) +if test -z "$lt_cv_prog_cc_pic"; then + AC_MSG_RESULT([none]) +else + AC_MSG_RESULT([$lt_cv_prog_cc_pic]) + + # Check to make sure the pic_flag actually works. + AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works]) + AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" + AC_TRY_COMPILE([], [], [dnl + case $host_os in + hpux9* | hpux10* | hpux11*) + # On HP-UX, both CC and GCC only warn that PIC is supported... then + # they create non-PIC objects. So, if there were any warnings, we + # assume that PIC is not supported. + if test -s conftest.err; then + lt_cv_prog_cc_pic_works=no + else + lt_cv_prog_cc_pic_works=yes + fi + ;; + *) + lt_cv_prog_cc_pic_works=yes + ;; + esac + ], [dnl + lt_cv_prog_cc_pic_works=no + ]) + CFLAGS="$save_CFLAGS" + ]) + + if test "X$lt_cv_prog_cc_pic_works" = Xno; then + lt_cv_prog_cc_pic= + lt_cv_prog_cc_can_build_shared=no + else + lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" + fi + + AC_MSG_RESULT([$lt_cv_prog_cc_pic_works]) +fi + +# Check for any special shared library compilation flags. +if test -n "$lt_cv_prog_cc_shlib"; then + AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure]) + lt_cv_prog_cc_can_build_shared=no + fi +fi + +AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works]) +AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl + lt_cv_prog_cc_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" + AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes]) + LDFLAGS="$save_LDFLAGS" +]) + +# Belt *and* braces to stop my trousers falling down: +test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= +AC_MSG_RESULT([$lt_cv_prog_cc_static_works]) + +pic_flag="$lt_cv_prog_cc_pic" +special_shlib_compile_flags="$lt_cv_prog_cc_shlib" +wl="$lt_cv_prog_cc_wl" +link_static_flag="$lt_cv_prog_cc_static" +no_builtin_flag="$lt_cv_prog_cc_no_builtin" +can_build_shared="$lt_cv_prog_cc_can_build_shared" + + +# Check to see if options -o and -c are simultaneously supported by compiler +AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext]) +AC_CACHE_VAL([lt_cv_compiler_c_o], [ +$rm -r conftest 2>/dev/null +mkdir conftest +cd conftest +echo "int some_variable = 0;" > conftest.$ac_ext +mkdir out +# According to Tom Tromey, Ian Lance Taylor reported there are C compilers +# that will create temporary files in the current directory regardless of +# the output directory. Thus, making CWD read-only will cause this test +# to fail, enabling locking or at least warning the user not to do parallel +# builds. +chmod -w . +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" +compiler_c_o=no +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s out/conftest.err; then + lt_cv_compiler_c_o=no + else + lt_cv_compiler_c_o=yes + fi +else + # Append any errors to the config.log. + cat out/conftest.err 1>&AC_FD_CC + lt_cv_compiler_c_o=no +fi +CFLAGS="$save_CFLAGS" +chmod u+w . +$rm conftest* out/* +rmdir out +cd .. +rmdir conftest +$rm -r conftest 2>/dev/null +]) +compiler_c_o=$lt_cv_compiler_c_o +AC_MSG_RESULT([$compiler_c_o]) + +if test x"$compiler_c_o" = x"yes"; then + # Check to see if we can write to a .lo + AC_MSG_CHECKING([if $compiler supports -c -o file.lo]) + AC_CACHE_VAL([lt_cv_compiler_o_lo], [ + lt_cv_compiler_o_lo=no + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -c -o conftest.lo" + save_objext="$ac_objext" + ac_objext=lo + AC_TRY_COMPILE([], [int some_variable = 0;], [dnl + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + lt_cv_compiler_o_lo=no + else + lt_cv_compiler_o_lo=yes + fi + ]) + ac_objext="$save_objext" + CFLAGS="$save_CFLAGS" + ]) + compiler_o_lo=$lt_cv_compiler_o_lo + AC_MSG_RESULT([$compiler_o_lo]) +else + compiler_o_lo=no +fi + +# Check to see if we can do hard links to lock some files if needed +hard_links="nottested" +if test "$compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi + +if test "$GCC" = yes; then + # Check to see if options -fno-rtti -fno-exceptions are supported by compiler + AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions]) + echo "int some_variable = 0;" > conftest.$ac_ext + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" + compiler_rtti_exceptions=no + AC_TRY_COMPILE([], [int some_variable = 0;], [dnl + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + compiler_rtti_exceptions=no + else + compiler_rtti_exceptions=yes + fi + ]) + CFLAGS="$save_CFLAGS" + AC_MSG_RESULT([$compiler_rtti_exceptions]) + + if test "$compiler_rtti_exceptions" = "yes"; then + no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' + else + no_builtin_flag=' -fno-builtin' + fi +fi + +# See if the linker supports building shared libraries. +AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries]) + +allow_undefined_flag= +no_undefined_flag= +need_lib_prefix=unknown +need_version=unknown +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +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_into_libs=no +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no +hardcode_shlibpath_var=unsupported +runpath_var= +link_all_deplibs=unknown +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= +# exclude_expsyms can be an egrep regular expression 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="_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 +# rely on this symbol name, it's probably fine to never include it in +# preloaded symbol tables. +extract_expsyms_cmds= + +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 + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX, the GNU linker is very broken + # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. + ld_shlibs=no + cat <&2 + +*** 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. + +EOF + ;; + + amigaos*) + 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 + # 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 use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # 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 + always_export_symbols=yes + + extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ + sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ + test -f $output_objdir/impgen.exe || (cd $output_objdir && \ + if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ + else $CC -o impgen impgen.c ; fi)~ + $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' + + old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' + + # cygwin and mingw dlls have different entry points and sets of symbols + # to exclude. + # FIXME: what about values for MSVC? + dll_entry=__cygwin_dll_entry@12 + dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ + case $host_os in + mingw*) + # mingw values + dll_entry=_DllMainCRTStartup@12 + dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ + ;; + esac + + # mingw and cygwin differ, and it's simplest to just exclude the union + # of the two symbol sets. + dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 + + # recent cygwin and mingw systems supply a stub DllMain which the user + # can override, but on older systems we have to supply one (in ltdll.c) + if test "x$lt_cv_need_dllmain" = "xyes"; then + ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " + ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ + test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' + else + ltdll_obj= + ltdll_cmds= + fi + + # Extract the symbol export list from an `--export-all' def file, + # then regenerate the def file from the symbol export list, so that + # the compiled dll only exports the symbol export list. + # Be careful not to strip the DATA tag left be newer dlltools. + export_symbols_cmds="$ltdll_cmds"' + $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ + sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' + + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is. + # If DATA tags from a recent dlltool are present, honour them! + 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; + _lt_hint=1; + cat $export_symbols | while read symbol; do + set dummy \$symbol; + case \[$]# in + 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; + 4) echo " \[$]2 \[$]3 \[$]4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;; + *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; + esac; + _lt_hint=`expr 1 + \$_lt_hint`; + done; + fi~ + '"$ltdll_cmds"' + $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ + $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ + $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared -nodefaultlibs $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 | egrep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** 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. + +EOF + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + 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=no + fi + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + 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=no + fi + ;; + esac + + if test "$ld_shlibs" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + case $host_os in + cygwin* | mingw* | pw32*) + # dlltool doesn't understand --whole-archive et. al. + whole_archive_flag_spec= + ;; + *) + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + ;; + esac + fi +else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + 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=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=unsupported + 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 + aix_use_runtimelinking=no + + # 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' + fi + + # 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. + + hardcode_direct=yes + archive_cmds='' + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + 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=yes + else + # We have old collect2 + 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=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + shared_flag='${wl}-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall can do strange things, so it is better to + # generate a list of symbols to export. + 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='-berok' + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' + 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='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='${wl}-berok' + # This is a bit strange, but is similar to how AIX traditionally builds + # it's shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' + fi + fi + ;; + + amigaos*) + 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=no + ;; + + 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=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # FIXME: Setting linknames here is a bad hack. + 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='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + ;; + + darwin* | rhapsody*) + case "$host_os" in + rhapsody* | darwin1.[[012]]) + allow_undefined_flag='-undefined suppress' + ;; + *) # Darwin 1.3 on + allow_undefined_flag='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)' + # We need to add '_' to the symbols in $export_symbols first + #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' + hardcode_direct=yes + hardcode_shlibpath_var=no + whole_archive_flag_spec='-all_load $convenience' + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # 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='$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='$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. + freebsd*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9* | hpux10* | hpux11*) + case $host_os in + hpux9*) 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' ;; + *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; + esac + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_minus_L=yes # Not in the search PATH, but as the default + # location of the library. + export_dynamic_flag_spec='${wl}-E' + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + 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' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + 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='-rpath $libdir' + fi + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + 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=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' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case "$host_os" in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$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='-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=' ${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=' -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='${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=' ${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' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' + + #Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + sco3.2v5*) + 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 + export_dynamic_flag_spec='${wl}-Bexport' + ;; + + solaris*) + # gcc --version < 3.0 without binutils cannot create self contained + # shared libraries reliably, requiring libgcc.a to resolve some of + # the object symbols generated in some cases. Libraries that use + # assert need libgcc.a to resolve __eprintf, for example. Linking + # a copy of libgcc.a into every shared library to guarantee resolving + # such symbols causes other problems: According to Tim Van Holder + # , C++ libraries end up with a separate + # (to the application) exception stack for one thing. + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + case `$CC --version 2>/dev/null` in + [[12]].*) + cat <&2 + +*** Warning: Releases of GCC earlier than version 3.0 cannot reliably +*** create self contained shared libraries on Solaris systems, without +*** introducing a dependency on libgcc.a. Therefore, libtool is disabling +*** -no-undefined support, which will at least allow you to build shared +*** libraries. However, you may find that when you link such libraries +*** into an application without using GCC, you have to manually add +*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to +*** upgrade to a newer version of GCC. Another option is to rebuild your +*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. + +EOF + no_undefined_flag= + ;; + esac + fi + # $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='$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='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + esac + 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='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + 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='$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='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + 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=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv5*) + 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='$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= + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + 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=yes + fi + ;; + + sysv4.2uw2*) + 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 + ;; + + sysv5uw7* | unixware7*) + no_undefined_flag='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac +fi +AC_MSG_RESULT([$ld_shlibs]) +test "$ld_shlibs" = no && can_build_shared=no + +# Check hardcoding attributes. +AC_MSG_CHECKING([how to hardcode library paths into programs]) +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var"; then + + # We can hardcode non-existant directories. + 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 "$hardcode_shlibpath_var" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +AC_MSG_RESULT([$hardcode_action]) + +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +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" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + +reload_cmds='$LD$reload_flag -o $output$reload_objs' +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +# PORTME Fill in your ld.so characteristics +AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +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" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}.so$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}.so$major ${libname}${release}.so$versuffix $libname.so' + 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}.so$versuffix ${libname}${release}.so$major $libname.so' + 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}.so$major' + fi + shlibpath_var=LIBPATH + fi + hardcode_into_libs=yes + ;; + +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}.so' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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" + export_dynamic_flag_spec=-rdynamic + # 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 + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + need_version=no + need_lib_prefix=no + case $GCC,$host_os in + yes,cygwin*) + library_names_spec='$libname.dll.a' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' + postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog .libs/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + ;; + yes,mingw*) + library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"` + ;; + yes,pw32*) + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' + ;; + *) + library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $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 + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. + library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' + soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + *) + 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}.so$versuffix ${libname}${release}.so${major} ${libname}.so' + soname_spec='${libname}${release}.so$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 + # link against other versions. + dynamic_linker="$host_os dld.sl" + version_type=sunos + need_lib_prefix=no + need_version=no + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' + soname_spec='${libname}${release}.sl$major' + # 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 ;; + *) version_type=irix ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 ") 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}" + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux-gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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 + + # 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' + ;; + +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}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' + soname_spec='${libname}${release}.so$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case "$host_os" in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + ;; + +os2*) + libname_spec='$name' + need_lib_prefix=no + library_names_spec='$libname.dll $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_version=no + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + 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" + hardcode_into_libs=yes + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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}.so$versuffix ${libname}.so$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}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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 + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' + soname_spec='$libname.so.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +# Report the final consequences. +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +if test "$hardcode_action" = 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 + +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 + +AC_LIBTOOL_DLOPEN_SELF + +if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds 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. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + AC_CACHE_VAL([lt_cv_archive_cmds_need_lc], + [$rm conftest* + echo 'static int dummy;' > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile); then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_cv_prog_cc_wl + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi]) + AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc]) + ;; + esac +fi +need_lc=${lt_cv_archive_cmds_need_lc-yes} + +# The second 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 + : +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. + test -f Makefile && make "$ltmain" +fi + +if test -f "$ltmain"; then + trap "$rm \"${ofile}T\"; exit 1" 1 2 15 + $rm -f "${ofile}T" + + echo creating $ofile + + # 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 SED \ + AR AR_FLAGS CC LD LN_S NM SHELL \ + reload_flag reload_cmds wl \ + pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ + thread_safe_flag_spec whole_archive_flag_spec libname_spec \ + library_names_spec soname_spec \ + RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ + old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ + postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ + old_striplib striplib file_magic_cmd export_symbols_cmds \ + deplibs_check_method allow_undefined_flag no_undefined_flag \ + finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ + global_symbol_to_c_name_address \ + hardcode_libdir_flag_spec hardcode_libdir_separator \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do + + case $var in + reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ + extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + finish_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 + + cat <<__EOF__ > "${ofile}T" +#! $SHELL + +# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996-2000 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="${SED} -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# ### BEGIN LIBTOOL CONFIG + +# 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=$need_lc + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# The default C compiler. +CC=$lt_CC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# The linker used to build libraries. +LD=$lt_LD + +# 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=$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" + +# Used on cygwin: assembler. +AS="$AS" + +# 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_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_pic_flag +pic_mode=$pic_mode + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_compiler_c_o + +# Can we write directly to a .lo ? +compiler_o_lo=$lt_compiler_o_lo + +# 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 + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# 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_link_static_flag + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# 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 + +# 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 +old_archive_cmds=$lt_old_archive_cmds +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 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# 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 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# 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 + +# 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 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +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 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# 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 + +# 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" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +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 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + case $host_os in + aix3*) + cat <<\EOF >> "${ofile}T" + +# 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 + + case $host_os in + cygwin* | mingw* | pw32* | os2*) + cat <<'EOF' >> "${ofile}T" + # This is a source program that is used to create dlls on Windows + # Don't remove nor modify the starting and closing comments +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ + # This is a source program that is used to create import libraries + # on Windows for dlls which lack them. Don't remove nor modify the + # starting and closing comments +# /* impgen.c starts here */ +# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. +# +# This file is part of GNU libtool. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# */ +# +# #include /* for printf() */ +# #include /* for open(), lseek(), read() */ +# #include /* for O_RDONLY, O_BINARY */ +# #include /* for strdup() */ +# +# /* O_BINARY isn't required (or even defined sometimes) under Unix */ +# #ifndef O_BINARY +# #define O_BINARY 0 +# #endif +# +# static unsigned int +# pe_get16 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[2]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 2); +# return b[0] + (b[1]<<8); +# } +# +# static unsigned int +# pe_get32 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[4]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 4); +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# static unsigned int +# pe_as32 (ptr) +# void *ptr; +# { +# unsigned char *b = ptr; +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# int +# main (argc, argv) +# int argc; +# char *argv[]; +# { +# int dll; +# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; +# unsigned long export_rva, export_size, nsections, secptr, expptr; +# unsigned long name_rvas, nexp; +# unsigned char *expdata, *erva; +# char *filename, *dll_name; +# +# filename = argv[1]; +# +# dll = open(filename, O_RDONLY|O_BINARY); +# if (dll < 1) +# return 1; +# +# dll_name = filename; +# +# for (i=0; filename[i]; i++) +# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') +# dll_name = filename + i +1; +# +# pe_header_offset = pe_get32 (dll, 0x3c); +# opthdr_ofs = pe_header_offset + 4 + 20; +# num_entries = pe_get32 (dll, opthdr_ofs + 92); +# +# if (num_entries < 1) /* no exports */ +# return 1; +# +# export_rva = pe_get32 (dll, opthdr_ofs + 96); +# export_size = pe_get32 (dll, opthdr_ofs + 100); +# nsections = pe_get16 (dll, pe_header_offset + 4 +2); +# secptr = (pe_header_offset + 4 + 20 + +# pe_get16 (dll, pe_header_offset + 4 + 16)); +# +# expptr = 0; +# for (i = 0; i < nsections; i++) +# { +# char sname[8]; +# unsigned long secptr1 = secptr + 40 * i; +# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); +# unsigned long vsize = pe_get32 (dll, secptr1 + 16); +# unsigned long fptr = pe_get32 (dll, secptr1 + 20); +# lseek(dll, secptr1, SEEK_SET); +# read(dll, sname, 8); +# if (vaddr <= export_rva && vaddr+vsize > export_rva) +# { +# expptr = fptr + (export_rva - vaddr); +# if (export_rva + export_size > vaddr + vsize) +# export_size = vsize - (export_rva - vaddr); +# break; +# } +# } +# +# expdata = (unsigned char*)malloc(export_size); +# lseek (dll, expptr, SEEK_SET); +# read (dll, expdata, export_size); +# erva = expdata - export_rva; +# +# nexp = pe_as32 (expdata+24); +# name_rvas = pe_as32 (expdata+32); +# +# printf ("EXPORTS\n"); +# for (i = 0; i> "${ofile}T" || (rm -f "${ofile}T"; exit 1) + + mv -f "${ofile}T" "$ofile" || \ + (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") + chmod +x "$ofile" +fi + +])# _LT_AC_LTCONFIG_HACK + +# AC_LIBTOOL_DLOPEN - enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + +# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(shared, +changequote(<<, >>)dnl +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case $enableval in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl +]) + +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no)]) + +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(static, +changequote(<<, >>)dnl +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case $enableval in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) + enable_static=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl +]) + +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no)]) + + +# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag +# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(fast-install, +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case $enableval in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl +]) + +# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no)]) + +# AC_LIBTOOL_PICMODE - implement the --with-pic flag +# Usage: AC_LIBTOOL_PICMODE[(MODE)] +# Where MODE is either `yes' or `no'. If omitted, it defaults to +# `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default)]) + + +# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in + /*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; + ?:/*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. + ;; + *) + ac_save_MAGIC_CMD="$MAGIC_CMD" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$ac_save_ifs" + MAGIC_CMD="$ac_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +]) + + +# AC_PATH_MAGIC - find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl +AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) + else + MAGIC_CMD=: + fi +fi +]) + + +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | [[A-Za-z]]:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$lt_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_PROG_LD_GNU +]) + +# AC_PROG_LD_GNU - +AC_DEFUN([AC_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + lt_cv_prog_gnu_ld=yes +else + lt_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$lt_cv_prog_gnu_ld +]) + +# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker +# -- PORTME Some linkers may need a different reload flag. +AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], +[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, +[lt_cv_ld_reload_flag='-r']) +reload_flag=$lt_cv_ld_reload_flag +test -n "$reload_flag" && reload_flag=" $reload_flag" +]) + +# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], +[AC_CACHE_CHECK([how to recognise dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given egrep regex. +# 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. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi4*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin* | mingw* | pw32*) + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.[[012]]) + lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + ;; + +freebsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20*|hpux11*) + 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_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux-gnu*) + case $host_cpu in + alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' + fi + ;; + +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 + ;; + +openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv5uw[[78]]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + 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 + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +]) + + +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl +AC_MSG_CHECKING([for BSD-compatible nm]) +AC_CACHE_VAL(lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/${ac_tool_prefix}nm + if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then + lt_cv_path_NM="$tmp_nm -B" + break + elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + lt_cv_path_NM="$tmp_nm -p" + break + else + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + fi + fi + done + IFS="$ac_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +AC_MSG_RESULT([$NM]) +]) + +# AC_CHECK_LIBM - check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32*) + # These system don't have libm + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, main, LIBM="-lm") + ;; +esac +]) + +# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl convenience library and LTDLINCL to the include flags for +# the libltdl header and adds --enable-ltdl-convenience to the +# configure arguments. Note that LIBLTDL and LTDLINCL are not +# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not +# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed +# with '${top_builddir}/' and LTDLINCL will be prefixed with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +]) + +# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl installable library and LTDLINCL to the include flags for +# the libltdl header and adds --enable-ltdl-install to the configure +# arguments. Note that LIBLTDL and LTDLINCL are not AC_SUBSTed, nor is +# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed +# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will +# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed +# with '${top_srcdir}/' (note the single quotes!). If your package is +# not flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +]) + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_executable_p="test -f" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext" + fi + done + done +done + + # Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. +: ${TMPDIR=/tmp} +{ + tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=$TMPDIR/sed$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } +} + _max=0 + _count=0 + # Add /usr/xpg4/bin/sed as it is typically found on Solaris + # along with /bin/sed that truncates output. + for _sed in $_sed_list /usr/xpg4/bin/sed; do + test ! -f ${_sed} && break + cat /dev/null > "$tmp/sed.in" + _count=0 + echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in" + # Check for GNU sed and select it if it is found. + if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then + lt_cv_path_SED=${_sed} + break + fi + while true; do + cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" + mv "$tmp/sed.tmp" "$tmp/sed.in" + cp "$tmp/sed.in" "$tmp/sed.nl" + echo >>"$tmp/sed.nl" + ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break + cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break + # 40000 chars as input seems more than enough + test $_count -gt 10 && break + _count=`expr $_count + 1` + if test $_count -gt $_max; then + _max=$_count + lt_cv_path_SED=$_sed + fi + done + done + rm -rf "$tmp" +]) +if test "X$SED" != "X"; then + lt_cv_path_SED=$SED +else + SED=$lt_cv_path_SED +fi +AC_MSG_RESULT([$SED]) +]) + +# serial 2 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. + +# Copyright 1999, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +]) + # isc-posix.m4 serial 2 (gettext-0.11.2) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU @@ -810,164 +4560,6 @@ AC_DEFUN([AC_ISC_POSIX], ] ) -AC_DEFUN(ah_HAVE_GETCONF, - [AC_ARG_WITH(getconf, - [ --with-getconf Enable automagical buildtime configuration], - [if test "$withval" = "yes"; then - AC_PATH_PROG(GETCONF, getconf) - elif test ! "$withval" = "no";then - AC_MSG_CHECKING([getconf]) - AC_MSG_RESULT([$withval]) - GETCONF=$withval - fi], - [AC_PATH_PROG(GETCONF, getconf)] - ) - AC_SUBST(GETCONF) -]) - -dnl ah_GET_CONF(variable, value ..., [default]) -AC_DEFUN(ah_GET_GETCONF, - [AC_REQUIRE([ah_HAVE_GETCONF]) - if test ! -z "$GETCONF";then - old_args="[$]@" - set -- $2 - while eval test -z \"\$$1\" -a ! -z \"[$]1\";do - eval $1=`$GETCONF "[$]1" 2>/dev/null` - shift - done - fi - if eval test -z \"\$$1\" -o \"\$$1\" = "-1";then - eval $1="$3" - fi -]) -AC_DEFUN(ah_NUM_CPUS, - [AC_MSG_CHECKING([number of cpus]) - AC_ARG_WITH(cpus, - [ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)], - [ - if test "$withval" = "yes"; then - ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1) - elif test ! "$withval" = "no";then - NUM_CPUS=$withval - elif test "$withval" = "no";then - NUM_CPUS=1 - fi], - [ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1)] - ) - ah_NUM_CPUS_msg="$NUM_CPUS" - if test "$NUM_CPUS" = "0"; then - # broken getconf, time to bitch. - ah_NUM_CPUS_msg="found 0 cpus. Has someone done a lobotomy?" - NUM_CPUS=1 - fi - if test $NUM_CPUS = 1 ;then - default_PROC_MULTIPLY=1 - else - default_PROC_MULTIPLY=2 - fi - AC_MSG_RESULT([$ah_NUM_CPUS_msg]) - AC_SUBST(NUM_CPUS) -]) -AC_DEFUN(ah_PROC_MULTIPLY, - [AC_REQUIRE([ah_NUM_CPUS]) - AC_MSG_CHECKING([processor multiplier]) - AC_ARG_WITH(proc-multiply, - [ --with-proc-multiply Multiply this * number of cpus for parallel making(default 2).], - [if test "$withval" = "yes"; then - PROC_MULTIPLY=$default_PROC_MULTIPLY - elif test ! "$withval" = "no";then - PROC_MULTIPLY=$withval - fi], - [PROC_MULTIPLY=$default_PROC_MULTIPLY] - ) - AC_MSG_RESULT([$PROC_MULTIPLY]) - AC_SUBST(PROC_MULTIPLY) -]) - -AC_DEFUN(ah_NUM_PROCS, - [AC_REQUIRE([ah_PROC_MULTIPLY]) - AC_REQUIRE([ah_NUM_CPUS]) - AC_MSG_CHECKING([number of processes to run during make]) - AC_ARG_WITH(procs, - [ --with-procs The number of processes to run in parallel during make(num_cpus * multiplier).], - [if test "$withval" = "yes"; then - NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY` - elif test ! "$withval" = "no";then - NUM_PROCS=$withval - fi], - [NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY`] - ) - AC_MSG_RESULT([$NUM_PROCS]) - AC_SUBST(NUM_PROCS) -]) - -AC_DEFUN(rc_GLIBC_VER, - [AC_MSG_CHECKING([glibc version]) - dummy=if$$ - cat <<_GLIBC_>$dummy.c -#include -#include -#include -int main(int argc, char **argv) { printf("libc6.%d",__GLIBC_MINOR__); exit(0); } -_GLIBC_ - ${CC-cc} $dummy.c -o $dummy > /dev/null 2>&1 - if test "$?" = 0; then - GLIBC_VER=`./$dummy` - AC_MSG_RESULT([$GLIBC_VER]) - GLIBC_VER="-$GLIBC_VER" - else - AC_MSG_WARN([cannot determine GNU C library minor version number]) - fi - rm -f $dummy $dummy.c - AC_SUBST(GLIBC_VER) -]) - -AC_DEFUN(rc_LIBSTDCPP_VER, - [AC_MSG_CHECKING([libstdc++ version]) - dummy=if$$ - cat <<_LIBSTDCPP_>$dummy.cc -#include -#include -#include -int main(int argc, char **argv) { exit(0); } -_LIBSTDCPP_ - ${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1 - - if test "$?" = 0; then - soname=`objdump -p ./$dummy |grep NEEDED|grep libstd` - LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'` - fi - rm -f $dummy $dummy.cc - - if test -z "$LIBSTDCPP_VER"; then - AC_MSG_WARN([cannot determine standard C++ library version number]) - else - AC_MSG_RESULT([$LIBSTDCPP_VER]) - LIBSTDCPP_VER="-$LIBSTDCPP_VER" - fi - AC_SUBST(LIBSTDCPP_VER) -]) - -AC_DEFUN(ah_GCC3DEP,[ - AC_MSG_CHECKING(if $CXX -MD works) - touch gcc3dep.cc - ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc - rm -f gcc3dep.cc gcc3dep_test.o - if test -e gcc3dep.d; then - rm -f gcc3dep.d - GCC_MD=input - GCC3DEP= - elif test -e gcc3dep_test.d; then - rm -f gcc3dep_test.d - GCC_MD=output - GCC3DEP=yes - else - AC_MSG_ERROR(no) - fi - AC_MSG_RESULT([yes, for $GCC_MD]) - AC_SUBST(GCC3DEP) -]) - # gettext.m4 serial 17 (gettext-0.11.5) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU @@ -2858,3 +6450,163 @@ AC_DEFUN([AM_LC_MESSAGES], fi ]) +AC_DEFUN(ah_HAVE_GETCONF, + [AC_ARG_WITH(getconf, + [ --with-getconf Enable automagical buildtime configuration], + [if test "$withval" = "yes"; then + AC_PATH_PROG(GETCONF, getconf) + elif test ! "$withval" = "no";then + AC_MSG_CHECKING([getconf]) + AC_MSG_RESULT([$withval]) + GETCONF=$withval + fi], + [AC_PATH_PROG(GETCONF, getconf)] + ) + AC_SUBST(GETCONF) +]) + +dnl ah_GET_CONF(variable, value ..., [default]) +AC_DEFUN(ah_GET_GETCONF, + [AC_REQUIRE([ah_HAVE_GETCONF]) + if test ! -z "$GETCONF";then + old_args="[$]@" + set -- $2 + while eval test -z \"\$$1\" -a ! -z \"[$]1\";do + eval $1=`$GETCONF "[$]1" 2>/dev/null` + shift + done + fi + if eval test -z \"\$$1\" -o \"\$$1\" = "-1";then + eval $1="$3" + fi +]) +AC_DEFUN(ah_NUM_CPUS, + [AC_MSG_CHECKING([number of cpus]) + AC_ARG_WITH(cpus, + [ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)], + [ + if test "$withval" = "yes"; then + ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1) + elif test ! "$withval" = "no";then + NUM_CPUS=$withval + elif test "$withval" = "no";then + NUM_CPUS=1 + fi], + [ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1)] + ) + ah_NUM_CPUS_msg="$NUM_CPUS" + if test "$NUM_CPUS" = "0"; then + # broken getconf, time to bitch. + ah_NUM_CPUS_msg="found 0 cpus. Has someone done a lobotomy?" + NUM_CPUS=1 + fi + if test $NUM_CPUS = 1 ;then + default_PROC_MULTIPLY=1 + else + default_PROC_MULTIPLY=2 + fi + AC_MSG_RESULT([$ah_NUM_CPUS_msg]) + AC_SUBST(NUM_CPUS) +]) +AC_DEFUN(ah_PROC_MULTIPLY, + [AC_REQUIRE([ah_NUM_CPUS]) + AC_MSG_CHECKING([processor multiplier]) + AC_ARG_WITH(proc-multiply, + [ --with-proc-multiply Multiply this * number of cpus for parallel making(default 2).], + [if test "$withval" = "yes"; then + PROC_MULTIPLY=$default_PROC_MULTIPLY + elif test ! "$withval" = "no";then + PROC_MULTIPLY=$withval + fi], + [PROC_MULTIPLY=$default_PROC_MULTIPLY] + ) + AC_MSG_RESULT([$PROC_MULTIPLY]) + AC_SUBST(PROC_MULTIPLY) +]) + +AC_DEFUN(ah_NUM_PROCS, + [AC_REQUIRE([ah_PROC_MULTIPLY]) + AC_REQUIRE([ah_NUM_CPUS]) + AC_MSG_CHECKING([number of processes to run during make]) + AC_ARG_WITH(procs, + [ --with-procs The number of processes to run in parallel during make(num_cpus * multiplier).], + [if test "$withval" = "yes"; then + NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY` + elif test ! "$withval" = "no";then + NUM_PROCS=$withval + fi], + [NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY`] + ) + AC_MSG_RESULT([$NUM_PROCS]) + AC_SUBST(NUM_PROCS) +]) + +AC_DEFUN(rc_GLIBC_VER, + [AC_MSG_CHECKING([glibc version]) + dummy=if$$ + cat <<_GLIBC_>$dummy.c +#include +#include +#include +int main(int argc, char **argv) { printf("libc6.%d",__GLIBC_MINOR__); exit(0); } +_GLIBC_ + ${CC-cc} $dummy.c -o $dummy > /dev/null 2>&1 + if test "$?" = 0; then + GLIBC_VER=`./$dummy` + AC_MSG_RESULT([$GLIBC_VER]) + dnl CNC:2003-03-25 + GLIBC_VER="$GLIBC_VER" + else + AC_MSG_WARN([cannot determine GNU C library minor version number]) + fi + rm -f $dummy $dummy.c + AC_SUBST(GLIBC_VER) +]) + +AC_DEFUN(rc_LIBSTDCPP_VER, + [AC_MSG_CHECKING([libstdc++ version]) + dummy=if$$ + cat <<_LIBSTDCPP_>$dummy.cc +#include +#include +#include +int main(int argc, char **argv) { exit(0); } +_LIBSTDCPP_ + ${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1 + + if test "$?" = 0; then + soname=`objdump -p ./$dummy |grep NEEDED|grep libstd` + LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'` + fi + rm -f $dummy $dummy.cc + + if test -z "$LIBSTDCPP_VER"; then + AC_MSG_WARN([cannot determine standard C++ library version number]) + else + AC_MSG_RESULT([$LIBSTDCPP_VER]) + dnl CNC:2003-03-25 + LIBSTDCPP_VER="$LIBSTDCPP_VER" + fi + AC_SUBST(LIBSTDCPP_VER) +]) + +AC_DEFUN(ah_GCC3DEP,[ + AC_MSG_CHECKING(if $CXX -MD works) + touch gcc3dep.cc + ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc + rm -f gcc3dep.cc gcc3dep_test.o + if test -e gcc3dep.d; then + rm -f gcc3dep.d + GCC_MD=input + GCC3DEP= + elif test -e gcc3dep_test.d; then + rm -f gcc3dep_test.d + GCC_MD=output + GCC3DEP=yes + else + AC_MSG_ERROR(no) + fi + AC_MSG_RESULT([yes, for $GCC_MD]) + AC_SUBST(GCC3DEP) +]) + diff --git a/apt/apt-inst/contrib/arfile.cc b/apt/apt-inst/contrib/arfile.cc deleted file mode 100644 index 27d4d9b..0000000 --- a/apt/apt-inst/contrib/arfile.cc +++ /dev/null @@ -1,155 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: arfile.cc,v 1.5 2003/02/10 00:36:12 doogie Exp $ -/* ###################################################################### - - AR File - Handle an 'AR' archive - - AR Archives have plain text headers at the start of each file - section. The headers are aligned on a 2 byte boundry. - - Information about the structure of AR files can be found in ar(5) - on a BSD system, or in the binutils source. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/arfile.h" -#endif -#include -#include -#include -#include - -#include - /*}}}*/ - -struct ARArchive::MemberHeader -{ - char Name[16]; - char MTime[12]; - char UID[6]; - char GID[6]; - char Mode[8]; - char Size[10]; - char Magic[2]; -}; - -// ARArchive::ARArchive - Constructor /*{{{*/ -// --------------------------------------------------------------------- -/* */ -ARArchive::ARArchive(FileFd &File) : List(0), File(File) -{ - LoadHeaders(); -} - /*}}}*/ -// ARArchive::~ARArchive - Destructor /*{{{*/ -// --------------------------------------------------------------------- -/* */ -ARArchive::~ARArchive() -{ - while (List != 0) - { - Member *Tmp = List; - List = List->Next; - delete Tmp; - } -} - /*}}}*/ -// ARArchive::LoadHeaders - Load the headers from each file /*{{{*/ -// --------------------------------------------------------------------- -/* AR files are structured with a 8 byte magic string followed by a 60 - byte plain text header then the file data, another header, data, etc */ -bool ARArchive::LoadHeaders() -{ - signed long Left = File.Size(); - - // Check the magic byte - char Magic[8]; - if (File.Read(Magic,sizeof(Magic)) == false) - return false; - if (memcmp(Magic,"!\012",sizeof(Magic)) != 0) - return _error->Error(_("Invalid archive signature")); - Left -= sizeof(Magic); - - // Read the member list - while (Left > 0) - { - MemberHeader Head; - if (File.Read(&Head,sizeof(Head)) == false) - return _error->Error(_("Error reading archive member header")); - Left -= sizeof(Head); - - // Convert all of the integer members - Member *Memb = new Member(); - if (StrToNum(Head.MTime,Memb->MTime,sizeof(Head.MTime)) == false || - StrToNum(Head.UID,Memb->UID,sizeof(Head.UID)) == false || - StrToNum(Head.GID,Memb->GID,sizeof(Head.GID)) == false || - StrToNum(Head.Mode,Memb->Mode,sizeof(Head.Mode),8) == false || - StrToNum(Head.Size,Memb->Size,sizeof(Head.Size)) == false) - { - delete Memb; - return _error->Error(_("Invalid archive member header")); - } - - // Check for an extra long name string - if (memcmp(Head.Name,"#1/",3) == 0) - { - char S[300]; - unsigned long Len; - if (StrToNum(Head.Name+3,Len,sizeof(Head.Size)-3) == false || - Len >= strlen(S)) - { - delete Memb; - return _error->Error(_("Invalid archive member header")); - } - if (File.Read(S,Len) == false) - return false; - S[Len] = 0; - Memb->Name = S; - Memb->Size -= Len; - Left -= Len; - } - else - { - unsigned int I = sizeof(Head.Name) - 1; - for (; Head.Name[I] == ' '; I--); - Memb->Name = string(Head.Name,0,I+1); - } - - // Account for the AR header alignment - unsigned Skip = Memb->Size % 2; - - // Add it to the list - Memb->Next = List; - List = Memb; - Memb->Start = File.Tell(); - if (File.Skip(Memb->Size + Skip) == false) - return false; - if (Left < (signed)(Memb->Size + Skip)) - return _error->Error(_("Archive is too short")); - Left -= Memb->Size + Skip; - } - if (Left != 0) - return _error->Error(_("Failed to read the archive headers")); - - return true; -} - /*}}}*/ -// ARArchive::FindMember - Find a name in the member list /*{{{*/ -// --------------------------------------------------------------------- -/* Find a member with the given name */ -const ARArchive::Member *ARArchive::FindMember(const char *Name) const -{ - const Member *Res = List; - while (Res != 0) - { - if (Res->Name == Name) - return Res; - Res = Res->Next; - } - - return 0; -} - /*}}}*/ diff --git a/apt/apt-inst/contrib/arfile.h b/apt/apt-inst/contrib/arfile.h deleted file mode 100644 index 02f7400..0000000 --- a/apt/apt-inst/contrib/arfile.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: arfile.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - AR File - Handle an 'AR' archive - - This is a reader for the usual 4.4 BSD AR format. It allows raw - stream access to a single member at a time. Basically all this class - provides is header parsing and verification. It is up to the client - to correctly make use of the stream start/stop points. - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_ARFILE_H -#define PKGLIB_ARFILE_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/arfile.h" -#endif - -#include -#include - -class ARArchive -{ - struct MemberHeader; - public: - struct Member; - - protected: - - // Linked list of members - Member *List; - - bool LoadHeaders(); - - public: - - // The stream file - FileFd &File; - - // Locate a member by name - const Member *FindMember(const char *Name) const; - - ARArchive(FileFd &File); - ~ARArchive(); -}; - -// A member of the archive -struct ARArchive::Member -{ - // Fields from the header - string Name; - unsigned long MTime; - unsigned long UID; - unsigned long GID; - unsigned long Mode; - unsigned long Size; - - // Location of the data. - unsigned long Start; - Member *Next; - - Member() : Start(0), Next(0) {}; -}; - -#endif diff --git a/apt/apt-inst/contrib/extracttar.cc b/apt/apt-inst/contrib/extracttar.cc deleted file mode 100644 index fcfc899..0000000 --- a/apt/apt-inst/contrib/extracttar.cc +++ /dev/null @@ -1,344 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: extracttar.cc,v 1.7 2003/02/10 00:36:12 doogie Exp $ -/* ###################################################################### - - Extract a Tar - Tar Extractor - - Some performance measurements showed that zlib performed quite poorly - in comparision to a forked gzip process. This tar extractor makes use - of the fact that dup'd file descriptors have the same seek pointer - and that gzip will not read past the end of a compressed stream, - even if there is more data. We use the dup property to track extraction - progress and the gzip feature to just feed gzip a fd in the middle - of an AR file. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/extracttar.h" -#endif -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - /*}}}*/ -using namespace std; - -// The on disk header for a tar file. -struct ExtractTar::TarHeader -{ - char Name[100]; - char Mode[8]; - char UserID[8]; - char GroupID[8]; - char Size[12]; - char MTime[12]; - char Checksum[8]; - char LinkFlag; - char LinkName[100]; - char MagicNumber[8]; - char UserName[32]; - char GroupName[32]; - char Major[8]; - char Minor[8]; -}; - -// ExtractTar::ExtractTar - Constructor /*{{{*/ -// --------------------------------------------------------------------- -/* */ -ExtractTar::ExtractTar(FileFd &Fd,unsigned long Max) : File(Fd), - MaxInSize(Max) - -{ - GZPid = -1; - InFd = -1; - Eof = false; -} - /*}}}*/ -// ExtractTar::ExtractTar - Destructor /*{{{*/ -// --------------------------------------------------------------------- -/* */ -ExtractTar::~ExtractTar() -{ - // Error close - Done(true); -} - /*}}}*/ -// ExtractTar::Done - Reap the gzip sub process /*{{{*/ -// --------------------------------------------------------------------- -/* If the force flag is given then error messages are suppressed - this - means we hit the end of the tar file but there was still gzip data. */ -bool ExtractTar::Done(bool Force) -{ - InFd.Close(); - if (GZPid <= 0) - return true; - - /* If there is a pending error then we are cleaning up gzip and are - not interested in it's failures */ - if (_error->PendingError() == true) - Force = true; - - // Make sure we clean it up! - kill(GZPid,SIGINT); - if (ExecWait(GZPid,_config->Find("dir::bin::gzip","/bin/gzip").c_str(), - Force) == false) - { - GZPid = -1; - return Force; - } - - GZPid = -1; - return true; -} - /*}}}*/ -// ExtractTar::StartGzip - Startup gzip /*{{{*/ -// --------------------------------------------------------------------- -/* This creates a gzip sub process that has its input as the file itself. - If this tar file is embedded into something like an ar file then - gzip will efficiently ignore the extra bits. */ -bool ExtractTar::StartGzip() -{ - int Pipes[2]; - if (pipe(Pipes) != 0) - return _error->Errno("pipe",_("Failed to create pipes")); - - // Fork off the process - GZPid = ExecFork(); - - // Spawn the subprocess - if (GZPid == 0) - { - // Setup the FDs - dup2(Pipes[1],STDOUT_FILENO); - dup2(File.Fd(),STDIN_FILENO); - int Fd = open("/dev/null",O_RDWR); - if (Fd == -1) - _exit(101); - dup2(Fd,STDERR_FILENO); - close(Fd); - SetCloseExec(STDOUT_FILENO,false); - SetCloseExec(STDIN_FILENO,false); - SetCloseExec(STDERR_FILENO,false); - - const char *Args[3]; - Args[0] = _config->Find("dir::bin::gzip","/bin/gzip").c_str(); - Args[1] = "-d"; - Args[2] = 0; - execv(Args[0],(char **)Args); - cerr << _("Failed to exec gzip ") << Args[0] << endl; - _exit(100); - } - - // Fix up our FDs - InFd.Fd(Pipes[0]); - close(Pipes[1]); - return true; -} - /*}}}*/ -// ExtractTar::Go - Perform extraction /*{{{*/ -// --------------------------------------------------------------------- -/* This reads each 512 byte block from the archive and extracts the header - information into the Item structure. Then it resolves the UID/GID and - invokes the correct processing function. */ -bool ExtractTar::Go(pkgDirStream &Stream) -{ - if (StartGzip() == false) - return false; - - // Loop over all blocks - string LastLongLink; - string LastLongName; - while (1) - { - bool BadRecord = false; - unsigned char Block[512]; - if (InFd.Read(Block,sizeof(Block),true) == false) - return false; - - if (InFd.Eof() == true) - break; - - // Get the checksum - TarHeader *Tar = (TarHeader *)Block; - unsigned long CheckSum; - if (StrToNum(Tar->Checksum,CheckSum,sizeof(Tar->Checksum),8) == false) - return _error->Error(_("Corrupted archive")); - - /* Compute the checksum field. The actual checksum is blanked out - with spaces so it is not included in the computation */ - unsigned long NewSum = 0; - memset(Tar->Checksum,' ',sizeof(Tar->Checksum)); - for (int I = 0; I != sizeof(Block); I++) - NewSum += Block[I]; - - /* Check for a block of nulls - in this case we kill gzip, GNU tar - does this.. */ - if (NewSum == ' '*sizeof(Tar->Checksum)) - return Done(true); - - if (NewSum != CheckSum) - return _error->Error(_("Tar Checksum failed, archive corrupted")); - - // Decode all of the fields - pkgDirStream::Item Itm; - if (StrToNum(Tar->Mode,Itm.Mode,sizeof(Tar->Mode),8) == false || - StrToNum(Tar->UserID,Itm.UID,sizeof(Tar->UserID),8) == false || - StrToNum(Tar->GroupID,Itm.GID,sizeof(Tar->GroupID),8) == false || - StrToNum(Tar->Size,Itm.Size,sizeof(Tar->Size),8) == false || - StrToNum(Tar->MTime,Itm.MTime,sizeof(Tar->MTime),8) == false || - StrToNum(Tar->Major,Itm.Major,sizeof(Tar->Major),8) == false || - StrToNum(Tar->Minor,Itm.Minor,sizeof(Tar->Minor),8) == false) - return _error->Error(_("Corrupted archive")); - - // Grab the filename - if (LastLongName.empty() == false) - Itm.Name = (char *)LastLongName.c_str(); - else - { - Tar->Name[sizeof(Tar->Name)] = 0; - Itm.Name = Tar->Name; - } - if (Itm.Name[0] == '.' && Itm.Name[1] == '/' && Itm.Name[2] != 0) - Itm.Name += 2; - - // Grab the link target - Tar->Name[sizeof(Tar->LinkName)] = 0; - Itm.LinkTarget = Tar->LinkName; - - if (LastLongLink.empty() == false) - Itm.LinkTarget = (char *)LastLongLink.c_str(); - - // Convert the type over - switch (Tar->LinkFlag) - { - case NormalFile0: - case NormalFile: - Itm.Type = pkgDirStream::Item::File; - break; - - case HardLink: - Itm.Type = pkgDirStream::Item::HardLink; - break; - - case SymbolicLink: - Itm.Type = pkgDirStream::Item::SymbolicLink; - break; - - case CharacterDevice: - Itm.Type = pkgDirStream::Item::CharDevice; - break; - - case BlockDevice: - Itm.Type = pkgDirStream::Item::BlockDevice; - break; - - case Directory: - Itm.Type = pkgDirStream::Item::Directory; - break; - - case FIFO: - Itm.Type = pkgDirStream::Item::FIFO; - break; - - case GNU_LongLink: - { - unsigned long Length = Itm.Size; - unsigned char Block[512]; - while (Length > 0) - { - if (InFd.Read(Block,sizeof(Block),true) == false) - return false; - if (Length <= sizeof(Block)) - { - LastLongLink.append(Block,Block+sizeof(Block)); - break; - } - LastLongLink.append(Block,Block+sizeof(Block)); - Length -= sizeof(Block); - } - continue; - } - - case GNU_LongName: - { - unsigned long Length = Itm.Size; - unsigned char Block[512]; - while (Length > 0) - { - if (InFd.Read(Block,sizeof(Block),true) == false) - return false; - if (Length < sizeof(Block)) - { - LastLongName.append(Block,Block+sizeof(Block)); - break; - } - LastLongName.append(Block,Block+sizeof(Block)); - Length -= sizeof(Block); - } - continue; - } - - default: - BadRecord = true; - _error->Warning(_("Unkown TAR header type %u, member %s"),(unsigned)Tar->LinkFlag,Tar->Name); - break; - } - - int Fd = -1; - if (BadRecord == false) - if (Stream.DoItem(Itm,Fd) == false) - return false; - - // Copy the file over the FD - unsigned long Size = Itm.Size; - while (Size != 0) - { - unsigned char Junk[32*1024]; - unsigned long Read = MIN(Size,sizeof(Junk)); - if (InFd.Read(Junk,((Read+511)/512)*512) == false) - return false; - - if (BadRecord == false) - { - if (Fd > 0) - { - if (write(Fd,Junk,Read) != (signed)Read) - return Stream.Fail(Itm,Fd); - } - else - { - /* An Fd of -2 means to send to a special processing - function */ - if (Fd == -2) - if (Stream.Process(Itm,Junk,Read,Itm.Size - Size) == false) - return Stream.Fail(Itm,Fd); - } - } - - Size -= Read; - } - - // And finish up - if (Itm.Size != 0 && BadRecord == false) - if (Stream.FinishedFile(Itm,Fd) == false) - return false; - - LastLongName.erase(); - LastLongLink.erase(); - } - - return Done(false); -} - /*}}}*/ diff --git a/apt/apt-inst/contrib/extracttar.h b/apt/apt-inst/contrib/extracttar.h deleted file mode 100644 index c973af6..0000000 --- a/apt/apt-inst/contrib/extracttar.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: extracttar.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - Extract a Tar - Tar Extractor - - The tar extractor takes an ordinary gzip compressed tar stream from - the given file and explodes it, passing the individual items to the - given Directory Stream for processing. - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_EXTRACTTAR_H -#define PKGLIB_EXTRACTTAR_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/extracttar.h" -#endif - -#include -#include - -class ExtractTar -{ - protected: - - struct TarHeader; - - // The varios types items can be - enum ItemType {NormalFile0 = '\0',NormalFile = '0',HardLink = '1', - SymbolicLink = '2',CharacterDevice = '3', - BlockDevice = '4',Directory = '5',FIFO = '6', - GNU_LongLink = 'K',GNU_LongName = 'L'}; - - FileFd &File; - unsigned long MaxInSize; - int GZPid; - FileFd InFd; - bool Eof; - - // Fork and reap gzip - bool StartGzip(); - bool Done(bool Force); - - public: - - bool Go(pkgDirStream &Stream); - - ExtractTar(FileFd &Fd,unsigned long Max); - virtual ~ExtractTar(); -}; - -#endif diff --git a/apt/apt-inst/database.cc b/apt/apt-inst/database.cc deleted file mode 100644 index 9f78dc2..0000000 --- a/apt/apt-inst/database.cc +++ /dev/null @@ -1,30 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: database.cc,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - Data Base Abstraction - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/database.h" -#endif - -#include - /*}}}*/ - -// DataBase::GetMetaTmp - Get the temp dir /*{{{*/ -// --------------------------------------------------------------------- -/* This re-initializes the meta temporary directory if it hasn't yet - been inited for this cycle. The flag is the emptyness of MetaDir */ -bool pkgDataBase::GetMetaTmp(string &Dir) -{ - if (MetaDir.empty() == true) - if (InitMetaTmp(MetaDir) == false) - return false; - Dir = MetaDir; - return true; -} - /*}}}*/ diff --git a/apt/apt-inst/database.h b/apt/apt-inst/database.h deleted file mode 100644 index b715ab0..0000000 --- a/apt/apt-inst/database.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: database.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - Data Base Abstraction - - This class provides a simple interface to an abstract notion of a - database directory for storing state information about the system. - - The 'Meta' information for a package is the control information and - setup scripts stored inside the archive. GetMetaTmp returns the name of - a directory that is used to store named files containing the control - information. - - The File Listing is the database of installed files. It is loaded - into the memory/persistent cache structure by the ReadFileList method. - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_DATABASE_H -#define PKGLIB_DATABASE_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/database.h" -#endif - -#include -#include - -class pkgDataBase -{ - protected: - - pkgCacheGenerator *Cache; - pkgFLCache *FList; - string MetaDir; - virtual bool InitMetaTmp(string &Dir) = 0; - - public: - - // Some manipulators for the cache and generator - inline pkgCache &GetCache() {return Cache->GetCache();}; - inline pkgFLCache &GetFLCache() {return *FList;}; - inline pkgCacheGenerator &GetGenerator() {return *Cache;}; - - bool GetMetaTmp(string &Dir); - virtual bool ReadyFileList(OpProgress &Progress) = 0; - virtual bool ReadyPkgCache(OpProgress &Progress) = 0; - virtual bool LoadChanges() = 0; - - pkgDataBase() : Cache(0), FList(0) {}; - virtual ~pkgDataBase() {delete Cache; delete FList;}; -}; - -#endif diff --git a/apt/apt-inst/deb/debfile.cc b/apt/apt-inst/deb/debfile.cc deleted file mode 100644 index 5c83396..0000000 --- a/apt/apt-inst/deb/debfile.cc +++ /dev/null @@ -1,263 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: debfile.cc,v 1.3 2003/02/10 00:36:12 doogie Exp $ -/* ###################################################################### - - Debian Archive File (.deb) - - .DEB archives are AR files containing two tars and an empty marker - member called 'debian-binary'. The two tars contain the meta data and - the actual archive contents. Thus this class is a very simple wrapper - around ar/tar to simply extract the right tar files. - - It also uses the deb package list parser to parse the control file - into the cache. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/debfile.h" -#endif - -#include -#include -#include -#include -#include - -#include -#include - /*}}}*/ - -// DebFile::debDebFile - Constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Open the AR file and check for consistency */ -debDebFile::debDebFile(FileFd &File) : File(File), AR(File) -{ - if (_error->PendingError() == true) - return; - - // Check the members for validity - if (CheckMember("debian-binary") == false || - CheckMember("control.tar.gz") == false || - CheckMember("data.tar.gz") == false) - return; -} - /*}}}*/ -// DebFile::CheckMember - Check if a named member is in the archive /*{{{*/ -// --------------------------------------------------------------------- -/* This is used to check for a correct deb and to give nicer error messages - for people playing around. */ -bool debDebFile::CheckMember(const char *Name) -{ - if (AR.FindMember(Name) == 0) - return _error->Error(_("This is not a valid DEB archive, missing '%s' member"),Name); - return true; -} - /*}}}*/ -// DebFile::GotoMember - Jump to a Member /*{{{*/ -// --------------------------------------------------------------------- -/* Jump in the file to the start of a named member and return the information - about that member. The caller can then read from the file up to the - returned size. Note, since this relies on the file position this is - a destructive operation, it also changes the last returned Member - structure - so don't nest them! */ -const ARArchive::Member *debDebFile::GotoMember(const char *Name) -{ - // Get the archive member and positition the file - const ARArchive::Member *Member = AR.FindMember(Name); - if (Member == 0) - { - _error->Error(_("Internal Error, could not locate member %s"),Name); - return 0; - } - if (File.Seek(Member->Start) == false) - return 0; - - return Member; -} - /*}}}*/ -// DebFile::ExtractControl - Extract Control information /*{{{*/ -// --------------------------------------------------------------------- -/* Extract the control information into the Database's temporary - directory. */ -bool debDebFile::ExtractControl(pkgDataBase &DB) -{ - // Get the archive member and positition the file - const ARArchive::Member *Member = GotoMember("control.tar.gz"); - if (Member == 0) - return false; - - // Prepare Tar - ControlExtract Extract; - ExtractTar Tar(File,Member->Size); - if (_error->PendingError() == true) - return false; - - // Get into the temporary directory - string Cwd = SafeGetCWD(); - string Tmp; - if (DB.GetMetaTmp(Tmp) == false) - return false; - if (chdir(Tmp.c_str()) != 0) - return _error->Errno("chdir",_("Couldn't change to %s"),Tmp.c_str()); - - // Do extraction - if (Tar.Go(Extract) == false) - return false; - - // Switch out of the tmp directory. - if (chdir(Cwd.c_str()) != 0) - chdir("/"); - - return true; -} - /*}}}*/ -// DebFile::ExtractArchive - Extract the archive data itself /*{{{*/ -// --------------------------------------------------------------------- -/* Simple wrapper around tar.. */ -bool debDebFile::ExtractArchive(pkgDirStream &Stream) -{ - // Get the archive member and positition the file - const ARArchive::Member *Member = AR.FindMember("data.tar.gz"); - if (Member == 0) - return _error->Error(_("Internal Error, could not locate member")); - if (File.Seek(Member->Start) == false) - return false; - - // Prepare Tar - ExtractTar Tar(File,Member->Size); - if (_error->PendingError() == true) - return false; - return Tar.Go(Stream); -} - /*}}}*/ -// DebFile::MergeControl - Merge the control information /*{{{*/ -// --------------------------------------------------------------------- -/* This reads the extracted control file into the cache and returns the - version that was parsed. All this really does is select the correct - parser and correct file to parse. */ -pkgCache::VerIterator debDebFile::MergeControl(pkgDataBase &DB) -{ - // Open the control file - string Tmp; - if (DB.GetMetaTmp(Tmp) == false) - return pkgCache::VerIterator(DB.GetCache()); - FileFd Fd(Tmp + "control",FileFd::ReadOnly); - if (_error->PendingError() == true) - return pkgCache::VerIterator(DB.GetCache()); - - // Parse it - debListParser Parse(&Fd); - pkgCache::VerIterator Ver(DB.GetCache()); - if (DB.GetGenerator().MergeList(Parse,&Ver) == false) - return pkgCache::VerIterator(DB.GetCache()); - - if (Ver.end() == true) - _error->Error(_("Failed to locate a valid control file")); - return Ver; -} - /*}}}*/ - -// DebFile::ControlExtract::DoItem - Control Tar Extraction /*{{{*/ -// --------------------------------------------------------------------- -/* This directory stream handler for the control tar handles extracting - it into the temporary meta directory. It only extracts files, it does - not create directories, links or anything else. */ -bool debDebFile::ControlExtract::DoItem(Item &Itm,int &Fd) -{ - if (Itm.Type != Item::File) - return true; - - /* Cleanse the file name, prevent people from trying to unpack into - absolute paths, .., etc */ - for (char *I = Itm.Name; *I != 0; I++) - if (*I == '/') - *I = '_'; - - /* Force the ownership to be root and ensure correct permissions, - go-w, the rest are left untouched */ - Itm.UID = 0; - Itm.GID = 0; - Itm.Mode &= ~(S_IWGRP | S_IWOTH); - - return pkgDirStream::DoItem(Itm,Fd); -} - /*}}}*/ - -// MemControlExtract::DoItem - Check if it is the control file /*{{{*/ -// --------------------------------------------------------------------- -/* This sets up to extract the control block member file into a memory - block of just the right size. All other files go into the bit bucket. */ -bool debDebFile::MemControlExtract::DoItem(Item &Itm,int &Fd) -{ - // At the control file, allocate buffer memory. - if (Member == Itm.Name) - { - delete [] Control; - Control = new char[Itm.Size+2]; - IsControl = true; - Fd = -2; // Signal to pass to Process - Length = Itm.Size; - } - else - IsControl = false; - - return true; -} - /*}}}*/ -// MemControlExtract::Process - Process extracting the control file /*{{{*/ -// --------------------------------------------------------------------- -/* Just memcopy the block from the tar extractor and put it in the right - place in the pre-allocated memory block. */ -bool debDebFile::MemControlExtract::Process(Item &Itm,const unsigned char *Data, - unsigned long Size,unsigned long Pos) -{ - memcpy(Control + Pos, Data,Size); - return true; -} - /*}}}*/ -// MemControlExtract::Read - Read the control information from the deb /*{{{*/ -// --------------------------------------------------------------------- -/* This uses the internal tar extractor to fetch the control file, and then - it parses it into a tag section parser. */ -bool debDebFile::MemControlExtract::Read(debDebFile &Deb) -{ - // Get the archive member and positition the file - const ARArchive::Member *Member = Deb.GotoMember("control.tar.gz"); - if (Member == 0) - return false; - - // Extract it. - ExtractTar Tar(Deb.GetFile(),Member->Size); - if (Tar.Go(*this) == false) - return false; - - if (Control == 0) - return true; - - Control[Length] = '\n'; - Control[Length+1] = '\n'; - if (Section.Scan(Control,Length+2) == false) - return _error->Error(_("Unparsible control file")); - return true; -} - /*}}}*/ -// MemControlExtract::TakeControl - Parse a memory block /*{{{*/ -// --------------------------------------------------------------------- -/* The given memory block is loaded into the parser and parsed as a control - record. */ -bool debDebFile::MemControlExtract::TakeControl(const void *Data,unsigned long Size) -{ - delete [] Control; - Control = new char[Size+2]; - Length = Size; - memcpy(Control,Data,Size); - - Control[Length] = '\n'; - Control[Length+1] = '\n'; - return Section.Scan(Control,Length+2); -} - /*}}}*/ - diff --git a/apt/apt-inst/deb/debfile.h b/apt/apt-inst/deb/debfile.h deleted file mode 100644 index f868b98..0000000 --- a/apt/apt-inst/deb/debfile.h +++ /dev/null @@ -1,92 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: debfile.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - Debian Archive File (.deb) - - This Class handles all the operations performed directly on .deb - files. It makes use of the AR and TAR classes to give the necessary - external interface. - - There are only two things that can be done with a raw package, - extract it's control information and extract the contents itself. - - This should probably subclass an as-yet unwritten super class to - produce a generic archive mechanism. - - The memory control file extractor is useful to extract a single file - into memory from the control.tar.gz - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_DEBFILE_H -#define PKGLIB_DEBFILE_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/debfile.h" -#endif - -#include -#include -#include -#include - -class debDebFile -{ - protected: - - FileFd &File; - ARArchive AR; - - bool CheckMember(const char *Name); - - public: - - class ControlExtract; - class MemControlExtract; - - bool ExtractControl(pkgDataBase &DB); - bool ExtractArchive(pkgDirStream &Stream); - pkgCache::VerIterator MergeControl(pkgDataBase &DB); - const ARArchive::Member *GotoMember(const char *Name); - inline FileFd &GetFile() {return File;}; - - debDebFile(FileFd &File); -}; - -class debDebFile::ControlExtract : public pkgDirStream -{ - public: - - virtual bool DoItem(Item &Itm,int &Fd); -}; - -class debDebFile::MemControlExtract : public pkgDirStream -{ - bool IsControl; - - public: - - char *Control; - pkgTagSection Section; - unsigned long Length; - string Member; - - // Members from DirStream - virtual bool DoItem(Item &Itm,int &Fd); - virtual bool Process(Item &Itm,const unsigned char *Data, - unsigned long Size,unsigned long Pos); - - - // Helpers - bool Read(debDebFile &Deb); - bool TakeControl(const void *Data,unsigned long Size); - - MemControlExtract() : IsControl(false), Control(0), Length(0), Member("control") {}; - MemControlExtract(string Member) : IsControl(false), Control(0), Length(0), Member(Member) {}; - ~MemControlExtract() {delete [] Control;}; -}; - /*}}}*/ - -#endif diff --git a/apt/apt-inst/deb/dpkgdb.cc b/apt/apt-inst/deb/dpkgdb.cc deleted file mode 100644 index f71811a..0000000 --- a/apt/apt-inst/deb/dpkgdb.cc +++ /dev/null @@ -1,494 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: dpkgdb.cc,v 1.7 2003/02/10 00:36:12 doogie Exp $ -/* ###################################################################### - - DPKGv1 Database Implemenation - - This class provides parsers and other implementations for the DPKGv1 - database. It reads the diversion file, the list files and the status - file to build both the list of currently installed files and the - currently installed package list. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/dpkgdb.h" -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - /*}}}*/ -using namespace std; - -// EraseDir - Erase A Directory /*{{{*/ -// --------------------------------------------------------------------- -/* This is necessary to create a new empty sub directory. The caller should - invoke mkdir after this with the proper permissions and check for - error. Maybe stick this in fileutils */ -static bool EraseDir(const char *Dir) -{ - // First we try a simple RM - if (rmdir(Dir) == 0 || - errno == ENOENT) - return true; - - // A file? Easy enough.. - if (errno == ENOTDIR) - { - if (unlink(Dir) != 0) - return _error->Errno("unlink",_("Failed to remove %s"),Dir); - return true; - } - - // Should not happen - if (errno != ENOTEMPTY) - return _error->Errno("rmdir",_("Failed to remove %s"),Dir); - - // Purge it using rm - int Pid = ExecFork(); - - // Spawn the subprocess - if (Pid == 0) - { - execlp(_config->Find("Dir::Bin::rm","/bin/rm").c_str(), - "rm","-rf","--",Dir,0); - _exit(100); - } - return ExecWait(Pid,_config->Find("dir::bin::rm","/bin/rm").c_str()); -} - /*}}}*/ -// DpkgDB::debDpkgDB - Constructor /*{{{*/ -// --------------------------------------------------------------------- -/* */ -debDpkgDB::debDpkgDB() : CacheMap(0), FileMap(0) -{ - AdminDir = flNotFile(_config->Find("Dir::State::status")); - DiverInode = 0; - DiverTime = 0; -} - /*}}}*/ -// DpkgDB::~debDpkgDB - Destructor /*{{{*/ -// --------------------------------------------------------------------- -/* */ -debDpkgDB::~debDpkgDB() -{ - delete Cache; - Cache = 0; - delete CacheMap; - CacheMap = 0; - - delete FList; - FList = 0; - delete FileMap; - FileMap = 0; -} - /*}}}*/ -// DpkgDB::InitMetaTmp - Get the temp dir for meta information /*{{{*/ -// --------------------------------------------------------------------- -/* This creats+empties the meta temporary directory /var/lib/dpkg/tmp.ci - Only one package at a time can be using the returned meta directory. */ -bool debDpkgDB::InitMetaTmp(string &Dir) -{ - string Tmp = AdminDir + "tmp.ci/"; - if (EraseDir(Tmp.c_str()) == false) - return _error->Error(_("Unable to create %s"),Tmp.c_str()); - if (mkdir(Tmp.c_str(),0755) != 0) - return _error->Errno("mkdir",_("Unable to create %s"),Tmp.c_str()); - - // Verify it is on the same filesystem as the main info directory - dev_t Dev; - struct stat St; - if (stat((AdminDir + "info").c_str(),&St) != 0) - return _error->Errno("stat",_("Failed to stat %sinfo"),AdminDir.c_str()); - Dev = St.st_dev; - if (stat(Tmp.c_str(),&St) != 0) - return _error->Errno("stat",_("Failed to stat %s"),Tmp.c_str()); - if (Dev != St.st_dev) - return _error->Error(_("The info and temp directories need to be on the same filesystem")); - - // Done - Dir = Tmp; - return true; -} - /*}}}*/ -// DpkgDB::ReadyPkgCache - Prepare the cache with the current status /*{{{*/ -// --------------------------------------------------------------------- -/* This reads in the status file into an empty cache. This really needs - to be somehow unified with the high level APT notion of the Database - directory, but there is no clear way on how to do that yet. */ -bool debDpkgDB::ReadyPkgCache(OpProgress &Progress) -{ - if (Cache != 0) - { - Progress.OverallProgress(1,1,1,_("Reading Package Lists")); - return true; - } - - if (CacheMap != 0) - { - delete CacheMap; - CacheMap = 0; - } - - if (pkgMakeOnlyStatusCache(Progress,&CacheMap) == false) - return false; - Cache->DropProgress(); - - return true; -} - /*}}}*/ -// DpkgDB::ReadFList - Read the File Listings in /*{{{*/ -// --------------------------------------------------------------------- -/* This reads the file listing in from the state directory. This is a - performance critical routine, as it needs to parse about 50k lines of - text spread over a hundred or more files. For an initial cold start - most of the time is spent in reading file inodes and so on, not - actually parsing. */ -bool debDpkgDB::ReadFList(OpProgress &Progress) -{ - // Count the number of packages we need to read information for - unsigned long Total = 0; - pkgCache &Cache = this->Cache->GetCache(); - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) - { - // Only not installed packages have no files. - if (I->CurrentState == pkgCache::State::NotInstalled) - continue; - Total++; - } - - /* Switch into the admin dir, this prevents useless lookups for the - path components */ - string Cwd = SafeGetCWD(); - if (chdir((AdminDir + "info/").c_str()) != 0) - return _error->Errno("chdir",_("Failed to change to the admin dir %sinfo"),AdminDir.c_str()); - - // Allocate a buffer. Anything larger than this buffer will be mmaped - unsigned long BufSize = 32*1024; - char *Buffer = new char[BufSize]; - - // Begin Loading them - unsigned long Count = 0; - char Name[300]; - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) - { - /* Only not installed packages have no files. ConfFile packages have - file lists but we don't want to read them in */ - if (I->CurrentState == pkgCache::State::NotInstalled || - I->CurrentState == pkgCache::State::ConfigFiles) - continue; - - // Fetch a package handle to associate with the file - pkgFLCache::PkgIterator FlPkg = FList->GetPkg(I.Name(),0,true); - if (FlPkg.end() == true) - { - _error->Error(_("Internal Error getting a Package Name")); - break; - } - - Progress.OverallProgress(Count,Total,1,_("Reading File Listing")); - - // Open the list file - snprintf(Name,sizeof(Name),"%s.list",I.Name()); - int Fd = open(Name,O_RDONLY); - - /* Okay this is very strange and bad.. Best thing is to bail and - instruct the user to look into it. */ - struct stat Stat; - if (Fd == -1 || fstat(Fd,&Stat) != 0) - { - _error->Errno("open",_("Failed to open the list file '%sinfo/%s'. If you " - "cannot restore this file then make it empty " - "and immediately re-install the same version of the package!"), - AdminDir.c_str(),Name); - break; - } - - // Set File to be a memory buffer containing the whole file - char *File; - if ((unsigned)Stat.st_size < BufSize) - { - if (read(Fd,Buffer,Stat.st_size) != Stat.st_size) - { - _error->Errno("read",_("Failed reading the list file %sinfo/%s"), - AdminDir.c_str(),Name); - close(Fd); - break; - } - File = Buffer; - } - else - { - // Use mmap - File = (char *)mmap(0,Stat.st_size,PROT_READ,MAP_PRIVATE,Fd,0); - if (File == (char *)(-1)) - { - _error->Errno("mmap",_("Failed reading the list file %sinfo/%s"), - AdminDir.c_str(),Name); - close(Fd); - break; - } - } - - // Parse it - const char *Start = File; - const char *End = File; - const char *Finish = File + Stat.st_size; - for (; End < Finish; End++) - { - // Not an end of line - if (*End != '\n' && End + 1 < Finish) - continue; - - // Skip blank lines - if (End - Start > 1) - { - pkgFLCache::NodeIterator Node = FList->GetNode(Start,End, - FlPkg.Offset(),true,false); - if (Node.end() == true) - { - _error->Error(_("Internal Error getting a Node")); - break; - } - } - - // Skip past the end of line - for (; *End == '\n' && End < Finish; End++); - Start = End; - } - - close(Fd); - if ((unsigned)Stat.st_size >= BufSize) - munmap((caddr_t)File,Stat.st_size); - - // Failed - if (End < Finish) - break; - - Count++; - } - - delete [] Buffer; - if (chdir(Cwd.c_str()) != 0) - chdir("/"); - - return !_error->PendingError(); -} - /*}}}*/ -// DpkgDB::ReadDiversions - Load the diversions file /*{{{*/ -// --------------------------------------------------------------------- -/* Read the diversion file in from disk. This is usually invoked by - LoadChanges before performing an operation that uses the FLCache. */ -bool debDpkgDB::ReadDiversions() -{ - struct stat Stat; - if (stat((AdminDir + "diversions").c_str(),&Stat) != 0) - return true; - - if (_error->PendingError() == true) - return false; - - FILE *Fd = fopen((AdminDir + "diversions").c_str(),"r"); - if (Fd == 0) - return _error->Errno("fopen",_("Failed to open the diversions file %sdiversions"),AdminDir.c_str()); - - FList->BeginDiverLoad(); - while (1) - { - char From[300]; - char To[300]; - char Package[100]; - - // Read the three lines in - if (fgets(From,sizeof(From),Fd) == 0) - break; - if (fgets(To,sizeof(To),Fd) == 0 || - fgets(Package,sizeof(Package),Fd) == 0) - { - _error->Error(_("The diversion file is corrupted")); - break; - } - - // Strip the \ns - unsigned long Len = strlen(From); - if (Len < 2 || From[Len-1] != '\n') - _error->Error(_("Invalid line in the diversion file: %s"),From); - else - From[Len-1] = 0; - Len = strlen(To); - if (Len < 2 || To[Len-1] != '\n') - _error->Error(_("Invalid line in the diversion file: %s"),To); - else - To[Len-1] = 0; - Len = strlen(Package); - if (Len < 2 || Package[Len-1] != '\n') - _error->Error(_("Invalid line in the diversion file: %s"),Package); - else - Package[Len-1] = 0; - - // Make sure the lines were parsed OK - if (_error->PendingError() == true) - break; - - // Fetch a package - if (strcmp(Package,":") == 0) - Package[0] = 0; - pkgFLCache::PkgIterator FlPkg = FList->GetPkg(Package,0,true); - if (FlPkg.end() == true) - { - _error->Error(_("Internal Error getting a Package Name")); - break; - } - - // Install the diversion - if (FList->AddDiversion(FlPkg,From,To) == false) - { - _error->Error(_("Internal Error adding a diversion")); - break; - } - } - if (_error->PendingError() == false) - FList->FinishDiverLoad(); - - DiverInode = Stat.st_ino; - DiverTime = Stat.st_mtime; - - fclose(Fd); - return !_error->PendingError(); -} - /*}}}*/ -// DpkgDB::ReadFileList - Read the file listing /*{{{*/ -// --------------------------------------------------------------------- -/* Read in the file listing. The file listing is created from three - sources, *.list, Conffile sections and the Diversion table. */ -bool debDpkgDB::ReadyFileList(OpProgress &Progress) -{ - if (Cache == 0) - return _error->Error(_("The pkg cache must be initialize first")); - if (FList != 0) - { - Progress.OverallProgress(1,1,1,_("Reading File List")); - return true; - } - - // Create the cache and read in the file listing - FileMap = new DynamicMMap(MMap::Public); - FList = new pkgFLCache(*FileMap); - if (_error->PendingError() == true || - ReadFList(Progress) == false || - ReadConfFiles() == false || - ReadDiversions() == false) - { - delete FList; - delete FileMap; - FileMap = 0; - FList = 0; - return false; - } - - cout << "Node: " << FList->HeaderP->NodeCount << ',' << FList->HeaderP->UniqNodes << endl; - cout << "Dir: " << FList->HeaderP->DirCount << endl; - cout << "Package: " << FList->HeaderP->PackageCount << endl; - cout << "HashSize: " << FList->HeaderP->HashSize << endl; - cout << "Size: " << FileMap->Size() << endl; - cout << endl; - - return true; -} - /*}}}*/ -// DpkgDB::ReadConfFiles - Read the conf file sections from the s-file /*{{{*/ -// --------------------------------------------------------------------- -/* Reading the conf files is done by reparsing the status file. This is - actually rather fast so it is no big deal. */ -bool debDpkgDB::ReadConfFiles() -{ - FileFd File(_config->FindFile("Dir::State::status"),FileFd::ReadOnly); - pkgTagFile Tags(&File); - if (_error->PendingError() == true) - return false; - - pkgTagSection Section; - while (1) - { - // Skip to the next section - unsigned long Offset = Tags.Offset(); - if (Tags.Step(Section) == false) - break; - - // Parse the line - const char *Start; - const char *Stop; - if (Section.Find("Conffiles",Start,Stop) == false) - continue; - - const char *PkgStart; - const char *PkgEnd; - if (Section.Find("Package",PkgStart,PkgEnd) == false) - return _error->Error(_("Failed to find a Package: Header, offset %lu"),Offset); - - // Snag a package record for it - pkgFLCache::PkgIterator FlPkg = FList->GetPkg(PkgStart,PkgEnd,true); - if (FlPkg.end() == true) - return _error->Error(_("Internal Error getting a Package Name")); - - // Parse the conf file lines - while (1) - { - for (; isspace(*Start) != 0 && Start < Stop; Start++); - if (Start == Stop) - break; - - // Split it into words - const char *End = Start; - for (; isspace(*End) == 0 && End < Stop; End++); - const char *StartMd5 = End; - for (; isspace(*StartMd5) != 0 && StartMd5 < Stop; StartMd5++); - const char *EndMd5 = StartMd5; - for (; isspace(*EndMd5) == 0 && EndMd5 < Stop; EndMd5++); - if (StartMd5 == EndMd5 || Start == End) - return _error->Error(_("Bad ConfFile section in the status file. Offset %lu"),Offset); - - // Insert a new entry - unsigned char MD5[16]; - if (Hex2Num(string(StartMd5,EndMd5-StartMd5),MD5,16) == false) - return _error->Error(_("Error parsing MD5. Offset %lu"),Offset); - - if (FList->AddConfFile(Start,End,FlPkg,MD5) == false) - return false; - Start = EndMd5; - } - } - - return true; -} - /*}}}*/ -// DpkgDB::LoadChanges - Read in any changed state files /*{{{*/ -// --------------------------------------------------------------------- -/* The only file in the dpkg system that can change while packages are - unpacking is the diversions file. */ -bool debDpkgDB::LoadChanges() -{ - struct stat Stat; - if (stat((AdminDir + "diversions").c_str(),&Stat) != 0) - return true; - if (DiverInode == Stat.st_ino && DiverTime == Stat.st_mtime) - return true; - return ReadDiversions(); -} - /*}}}*/ diff --git a/apt/apt-inst/deb/dpkgdb.h b/apt/apt-inst/deb/dpkgdb.h deleted file mode 100644 index 067c205..0000000 --- a/apt/apt-inst/deb/dpkgdb.h +++ /dev/null @@ -1,53 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: dpkgdb.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - DPKGv1 Data Base Implemenation - - The DPKGv1 database is typically stored in /var/lib/dpkg/. For - DPKGv1 the 'meta' information is the contents of the .deb control.tar.gz - member prepended by the package name. The meta information is unpacked - in its temporary directory and then migrated into the main list dir - at a checkpoint. - - Journaling is providing by syncronized file writes to the updates sub - directory. - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_DPKGDB_H -#define PKGLIB_DPKGDB_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/dpkgdb.h" -#endif - -#include - -class debDpkgDB : public pkgDataBase -{ - protected: - - string AdminDir; - DynamicMMap *CacheMap; - DynamicMMap *FileMap; - unsigned long DiverInode; - signed long DiverTime; - - virtual bool InitMetaTmp(string &Dir); - bool ReadFList(OpProgress &Progress); - bool ReadDiversions(); - bool ReadConfFiles(); - - public: - - virtual bool ReadyFileList(OpProgress &Progress); - virtual bool ReadyPkgCache(OpProgress &Progress); - virtual bool LoadChanges(); - - debDpkgDB(); - virtual ~debDpkgDB(); -}; - -#endif diff --git a/apt/apt-inst/dirstream.cc b/apt/apt-inst/dirstream.cc deleted file mode 100644 index 721041f..0000000 --- a/apt/apt-inst/dirstream.cc +++ /dev/null @@ -1,104 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: dirstream.cc,v 1.3 2003/02/10 00:36:12 doogie Exp $ -/* ###################################################################### - - Directory Stream - - This class provides a simple basic extractor that can be used for - a number of purposes. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/dirstream.h" -#endif - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - /*}}}*/ - -// DirStream::DoItem - Process an item /*{{{*/ -// --------------------------------------------------------------------- -/* This is a very simple extractor, it does not deal with things like - overwriting directories with files and so on. */ -bool pkgDirStream::DoItem(Item &Itm,int &Fd) -{ - switch (Itm.Type) - { - case Item::File: - { - /* Open the output file, NDELAY is used to prevent this from - blowing up on device special files.. */ - int iFd = open(Itm.Name,O_NDELAY|O_WRONLY|O_CREAT|O_TRUNC|O_APPEND, - Itm.Mode); - if (iFd < 0) - return _error->Errno("open",_("Failed write file %s"), - Itm.Name); - - // fchmod deals with umask and fchown sets the ownership - if (fchmod(iFd,Itm.Mode) != 0) - return _error->Errno("fchmod",_("Failed write file %s"), - Itm.Name); - if (fchown(iFd,Itm.UID,Itm.GID) != 0 && errno != EPERM) - return _error->Errno("fchown",_("Failed write file %s"), - Itm.Name); - Fd = iFd; - return true; - } - - case Item::HardLink: - case Item::SymbolicLink: - case Item::CharDevice: - case Item::BlockDevice: - case Item::Directory: - case Item::FIFO: - break; - } - - return true; -} - /*}}}*/ -// DirStream::FinishedFile - Finished processing a file /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool pkgDirStream::FinishedFile(Item &Itm,int Fd) -{ - if (Fd < 0) - return true; - - if (close(Fd) != 0) - return _error->Errno("close",_("Failed to close file %s"),Itm.Name); - - /* Set the modification times. The only way it can fail is if someone - has futzed with our file, which is intolerable :> */ - struct utimbuf Time; - Time.actime = Itm.MTime; - Time.modtime = Itm.MTime; - if (utime(Itm.Name,&Time) != 0) - _error->Errno("utime",_("Failed to close file %s"),Itm.Name); - - return true; -} - /*}}}*/ -// DirStream::Fail - Failed processing a file /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool pkgDirStream::Fail(Item &Itm,int Fd) -{ - if (Fd < 0) - return true; - - close(Fd); - return false; -} - /*}}}*/ diff --git a/apt/apt-inst/dirstream.h b/apt/apt-inst/dirstream.h deleted file mode 100644 index a0dc91f..0000000 --- a/apt/apt-inst/dirstream.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: dirstream.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - Directory Stream - - When unpacking the contents of the archive are passed into a directory - stream class for analysis and processing. The class controls all aspects - of actually writing the directory stream from disk. The low level - archive handlers are only responsible for decoding the archive format - and sending events (via method calls) to the specified directory - stream. - - When unpacking a real file the archive handler is passed back a file - handle to write the data to, this is to support strange - archives+unpacking methods. If that fd is -1 then the file data is - simply ignored. - - The provided defaults do the 'Right Thing' for a normal unpacking - process (ie 'tar') - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_DIRSTREAM_H -#define PKGLIB_DIRSTREAM_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/dirstream.h" -#endif - -class pkgDirStream -{ - public: - - // All possible information about a component - struct Item - { - enum Type_t {File, HardLink, SymbolicLink, CharDevice, BlockDevice, - Directory, FIFO} Type; - char *Name; - char *LinkTarget; - unsigned long Mode; - unsigned long UID; - unsigned long GID; - unsigned long Size; - unsigned long MTime; - unsigned long Major; - unsigned long Minor; - }; - - virtual bool DoItem(Item &Itm,int &Fd); - virtual bool Fail(Item &Itm,int Fd); - virtual bool FinishedFile(Item &Itm,int Fd); - virtual bool Process(Item &Itm,const unsigned char *Data, - unsigned long Size,unsigned long Pos) {return true;}; - - virtual ~pkgDirStream() {}; -}; - -#endif diff --git a/apt/apt-inst/dpkg-diffs.txt b/apt/apt-inst/dpkg-diffs.txt deleted file mode 100644 index d161055..0000000 --- a/apt/apt-inst/dpkg-diffs.txt +++ /dev/null @@ -1,5 +0,0 @@ -- Replacing directories with files - dpkg permits this with the weak condition that the directory is owned only - by the package. APT requires that the directory have no files that are not - owned by the package. Replaces are specifically not checked to prevent - file list corruption. diff --git a/apt/apt-inst/extract.cc b/apt/apt-inst/extract.cc deleted file mode 100644 index 437cfbb..0000000 --- a/apt/apt-inst/extract.cc +++ /dev/null @@ -1,512 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: extract.cc,v 1.6 2003/02/10 00:36:12 doogie Exp $ -/* ###################################################################### - - Archive Extraction Directory Stream - - Extraction for each file is a bit of an involved process. Each object - undergoes an atomic backup, overwrite, erase sequence. First the - object is unpacked to '.dpkg.new' then the original is hardlinked to - '.dpkg.tmp' and finally the new object is renamed to overwrite the old - one. From an external perspective the file never ceased to exist. - After the archive has been sucessfully unpacked the .dpkg.tmp files - are erased. A failure causes all the .dpkg.tmp files to be restored. - - Decisions about unpacking go like this: - - Store the original filename in the file listing - - Resolve any diversions that would effect this file, all checks - below apply to the diverted name, not the real one. - - Resolve any symlinked configuration files. - - If the existing file does not exist then .dpkg-tmp is checked for. - [Note, this is reduced to only check if a file was expected to be - there] - - If the existing link/file is not a directory then it is replaced - irregardless - - If the existing link/directory is being replaced by a directory then - absolutely nothing happens. - - If the existing link/directory is being replaced by a link then - absolutely nothing happens. - - If the existing link/directory is being replaced by a non-directory - then this will abort if the package is not the sole owner of the - directory. [Note, this is changed to not happen if the directory - non-empty - that is, it only includes files that are part of this - package - prevents removing user files accidentally.] - - If the non-directory exists in the listing database and it - does not belong to the current package then an overwrite condition - is invoked. - - As we unpack we record the file list differences in the FL cache. If - we need to unroll the the FL cache knows which files have been unpacked - and can undo. When we need to erase then it knows which files have not - been unpacked. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/extract.h" -#endif -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - /*}}}*/ -using namespace std; - -static const char *TempExt = "dpkg-tmp"; -//static const char *NewExt = "dpkg-new"; - -// Extract::pkgExtract - Constructor /*{{{*/ -// --------------------------------------------------------------------- -/* */ -pkgExtract::pkgExtract(pkgFLCache &FLCache,pkgCache::VerIterator Ver) : - FLCache(FLCache), Ver(Ver) -{ - FLPkg = FLCache.GetPkg(Ver.ParentPkg().Name(),true); - if (FLPkg.end() == true) - return; - Debug = true; -} - /*}}}*/ -// Extract::DoItem - Handle a single item from the stream /*{{{*/ -// --------------------------------------------------------------------- -/* This performs the setup for the extraction.. */ -bool pkgExtract::DoItem(Item &Itm,int &Fd) -{ - char Temp[sizeof(FileName)]; - - /* Strip any leading/trailing /s from the filename, then copy it to the - temp buffer and re-apply the leading / We use a class variable - to store the new filename for use by the three extraction funcs */ - char *End = FileName+1; - const char *I = Itm.Name; - for (; *I != 0 && *I == '/'; I++); - *FileName = '/'; - for (; *I != 0 && End < FileName + sizeof(FileName); I++, End++) - *End = *I; - if (End + 20 >= FileName + sizeof(FileName)) - return _error->Error(_("The path %s is too long"),Itm.Name); - for (; End > FileName && End[-1] == '/'; End--); - *End = 0; - Itm.Name = FileName; - - /* Lookup the file. Nde is the file [group] we are going to write to and - RealNde is the actual node we are manipulating. Due to diversions - they may be entirely different. */ - pkgFLCache::NodeIterator Nde = FLCache.GetNode(Itm.Name,End,0,false,false); - pkgFLCache::NodeIterator RealNde = Nde; - - // See if the file is already in the file listing - unsigned long FileGroup = RealNde->File; - for (; RealNde.end() == false && FileGroup == RealNde->File; RealNde++) - if (RealNde.RealPackage() == FLPkg) - break; - - // Nope, create an entry - if (RealNde.end() == true) - { - RealNde = FLCache.GetNode(Itm.Name,End,FLPkg.Offset(),true,false); - if (RealNde.end() == true) - return false; - RealNde->Flags |= pkgFLCache::Node::NewFile; - } - - /* Check if this entry already was unpacked. The only time this should - ever happen is if someone has hacked tar to support capabilities, in - which case this needs to be modified anyhow.. */ - if ((RealNde->Flags & pkgFLCache::Node::Unpacked) == - pkgFLCache::Node::Unpacked) - return _error->Error(_("Unpacking %s more than once"),Itm.Name); - - if (Nde.end() == true) - Nde = RealNde; - - /* Consider a diverted file - We are not permitted to divert directories, - but everything else is fair game (including conf files!) */ - if ((Nde->Flags & pkgFLCache::Node::Diversion) != 0) - { - if (Itm.Type == Item::Directory) - return _error->Error(_("The directory %s is diverted"),Itm.Name); - - /* A package overwriting a diversion target is just the same as - overwriting a normally owned file and is checked for below in - the overwrites mechanism */ - - /* If this package is trying to overwrite the target of a diversion, - that is never, ever permitted */ - pkgFLCache::DiverIterator Div = Nde.Diversion(); - if (Div.DivertTo() == Nde) - return _error->Error(_("The package is trying to write to the " - "diversion target %s/%s"),Nde.DirN(),Nde.File()); - - // See if it is us and we are following it in the right direction - if (Div->OwnerPkg != FLPkg.Offset() && Div.DivertFrom() == Nde) - { - Nde = Div.DivertTo(); - End = FileName + snprintf(FileName,sizeof(FileName)-20,"%s/%s", - Nde.DirN(),Nde.File()); - if (End <= FileName) - return _error->Error(_("The diversion path is too long")); - } - } - - // Deal with symlinks and conf files - if ((RealNde->Flags & pkgFLCache::Node::NewConfFile) == - pkgFLCache::Node::NewConfFile) - { - string Res = flNoLink(Itm.Name); - if (Res.length() > sizeof(FileName)) - return _error->Error(_("The path %s is too long"),Res.c_str()); - if (Debug == true) - clog << "Followed conf file from " << FileName << " to " << Res << endl; - Itm.Name = strcpy(FileName,Res.c_str()); - } - - /* Get information about the existing file, and attempt to restore - a backup if it does not exist */ - struct stat LExisting; - bool EValid = false; - if (lstat(Itm.Name,&LExisting) != 0) - { - // This is bad news. - if (errno != ENOENT) - return _error->Errno("stat",_("Failed to stat %s"),Itm.Name); - - // See if we can recover the backup file - if (Nde.end() == false) - { - snprintf(Temp,sizeof(Temp),"%s.%s",Itm.Name,TempExt); - if (rename(Temp,Itm.Name) != 0 && errno != ENOENT) - return _error->Errno("rename",_("Failed to rename %s to %s"), - Temp,Itm.Name); - if (stat(Itm.Name,&LExisting) != 0) - { - if (errno != ENOENT) - return _error->Errno("stat",_("Failed to stat %s"),Itm.Name); - } - else - EValid = true; - } - } - else - EValid = true; - - /* If the file is a link we need to stat its destination, get the - existing file modes */ - struct stat Existing = LExisting; - if (EValid == true && S_ISLNK(Existing.st_mode)) - { - if (stat(Itm.Name,&Existing) != 0) - { - if (errno != ENOENT) - return _error->Errno("stat",_("Failed to stat %s"),Itm.Name); - Existing = LExisting; - } - } - - // We pretend a non-existing file looks like it is a normal file - if (EValid == false) - Existing.st_mode = S_IFREG; - - /* Okay, at this point 'Existing' is the stat information for the - real non-link file */ - - /* The only way this can be a no-op is if a directory is being - replaced by a directory or by a link */ - if (S_ISDIR(Existing.st_mode) != 0 && - (Itm.Type == Item::Directory || Itm.Type == Item::SymbolicLink)) - return true; - - /* Non-Directory being replaced by non-directory. We check for over - writes here. */ - if (Nde.end() == false) - { - if (HandleOverwrites(Nde) == false) - return false; - } - - /* Directory being replaced by a non-directory - this needs to see if - the package is the owner and then see if the directory would be - empty after the package is removed [ie no user files will be - erased] */ - if (S_ISDIR(Existing.st_mode) != 0) - { - if (CheckDirReplace(Itm.Name) == false) - return _error->Error(_("The directory %s is being replaced by a non-directory"),Itm.Name); - } - - if (Debug == true) - clog << "Extract " << string(Itm.Name,End) << endl; -/* if (Count != 0) - return _error->Error(_("Done"));*/ - - return true; -} - /*}}}*/ -// Extract::Finished - Sequence finished, erase the temp files /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool pkgExtract::Finished() -{ - return true; -} - /*}}}*/ -// Extract::Aborted - Sequence aborted, undo all our unpacking /*{{{*/ -// --------------------------------------------------------------------- -/* This undoes everything that was done by all calls to the DoItem method - and restores the File Listing cache to its original form. It bases its - actions on the flags value for each node in the cache. */ -bool pkgExtract::Aborted() -{ - if (Debug == true) - clog << "Aborted, backing out" << endl; - - pkgFLCache::NodeIterator Files = FLPkg.Files(); - map_ptrloc *Last = &FLPkg->Files; - - /* Loop over all files, restore those that have been unpacked from their - dpkg-tmp entires */ - while (Files.end() == false) - { - // Locate the hash bucket for the node and locate its group head - pkgFLCache::NodeIterator Nde(FLCache,FLCache.HashNode(Files)); - for (; Nde.end() == false && Files->File != Nde->File; Nde++); - if (Nde.end() == true) - return _error->Error(_("Failed to locate node in its hash bucket")); - - if (snprintf(FileName,sizeof(FileName)-20,"%s/%s", - Nde.DirN(),Nde.File()) <= 0) - return _error->Error(_("The path is too long")); - - // Deal with diversions - if ((Nde->Flags & pkgFLCache::Node::Diversion) != 0) - { - pkgFLCache::DiverIterator Div = Nde.Diversion(); - - // See if it is us and we are following it in the right direction - if (Div->OwnerPkg != FLPkg.Offset() && Div.DivertFrom() == Nde) - { - Nde = Div.DivertTo(); - if (snprintf(FileName,sizeof(FileName)-20,"%s/%s", - Nde.DirN(),Nde.File()) <= 0) - return _error->Error(_("The diversion path is too long")); - } - } - - // Deal with overwrites+replaces - for (; Nde.end() == false && Files->File == Nde->File; Nde++) - { - if ((Nde->Flags & pkgFLCache::Node::Replaced) == - pkgFLCache::Node::Replaced) - { - if (Debug == true) - clog << "De-replaced " << FileName << " from " << Nde.RealPackage()->Name << endl; - Nde->Flags &= ~pkgFLCache::Node::Replaced; - } - } - - // Undo the change in the filesystem - if (Debug == true) - clog << "Backing out " << FileName; - - // Remove a new node - if ((Files->Flags & pkgFLCache::Node::NewFile) == - pkgFLCache::Node::NewFile) - { - if (Debug == true) - clog << " [new node]" << endl; - pkgFLCache::Node *Tmp = Files; - Files++; - *Last = Tmp->NextPkg; - Tmp->NextPkg = 0; - - FLCache.DropNode(Tmp - FLCache.NodeP); - } - else - { - if (Debug == true) - clog << endl; - - Last = &Files->NextPkg; - Files++; - } - } - - return true; -} - /*}}}*/ -// Extract::Fail - Extraction of a file Failed /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool pkgExtract::Fail(Item &Itm,int Fd) -{ - return pkgDirStream::Fail(Itm,Fd); -} - /*}}}*/ -// Extract::FinishedFile - Finished a file /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool pkgExtract::FinishedFile(Item &Itm,int Fd) -{ - return pkgDirStream::FinishedFile(Itm,Fd); -} - /*}}}*/ -// Extract::HandleOverwrites - See if a replaces covers this overwrite /*{{{*/ -// --------------------------------------------------------------------- -/* Check if the file is in a package that is being replaced by this - package or if the file is being overwritten. Note that if the file - is really a directory but it has been erased from the filesystem - this will fail with an overwrite message. This is a limitation of the - dpkg file information format. - - XX If a new package installs and another package replaces files in this - package what should we do? */ -bool pkgExtract::HandleOverwrites(pkgFLCache::NodeIterator Nde, - bool DiverCheck) -{ - pkgFLCache::NodeIterator TmpNde = Nde; - unsigned long DiverOwner = 0; - unsigned long FileGroup = Nde->File; - const char *FirstOwner = 0; - for (; Nde.end() == false && FileGroup == Nde->File; Nde++) - { - if ((Nde->Flags & pkgFLCache::Node::Diversion) != 0) - { - /* Store the diversion owner if this is the forward direction - of the diversion */ - if (DiverCheck == true) - DiverOwner = Nde.Diversion()->OwnerPkg; - continue; - } - - pkgFLCache::PkgIterator FPkg(FLCache,Nde.RealPackage()); - if (FPkg.end() == true || FPkg == FLPkg) - continue; - - /* This tests trips when we are checking a diversion to see - if something has already been diverted by this diversion */ - if (FPkg.Offset() == DiverOwner) - continue; - FirstOwner = FPkg.Name(); - - // Now see if this package matches one in a replace depends - pkgCache::DepIterator Dep = Ver.DependsList(); - bool Ok = false; - for (; Dep.end() == false; Dep++) - { - if (Dep->Type != pkgCache::Dep::Replaces) - continue; - - // Does the replaces apply to this package? - if (strcmp(Dep.TargetPkg().Name(),FPkg.Name()) != 0) - continue; - - /* Check the version for match. I do not think CurrentVer can be - 0 if we are here.. */ - pkgCache::PkgIterator Pkg = Dep.TargetPkg(); - if (Pkg->CurrentVer == 0) - { - _error->Warning(_("Overwrite package match with no version for %s"),Pkg.Name()); - continue; - } - - // Replaces is met - if (debVS.CheckDep(Pkg.CurrentVer().VerStr(),Dep->CompareOp,Dep.TargetVer()) == true) - { - if (Debug == true) - clog << "Replaced file " << Nde.DirN() << '/' << Nde.File() << " from " << Pkg.Name() << endl; - Nde->Flags |= pkgFLCache::Node::Replaced; - Ok = true; - break; - } - } - - // Negative Hit - if (Ok == false) - return _error->Error(_("File %s/%s overwrites the one in the package %s"), - Nde.DirN(),Nde.File(),FPkg.Name()); - } - - /* If this is a diversion we might have to recurse to process - the other side of it */ - if ((TmpNde->Flags & pkgFLCache::Node::Diversion) != 0) - { - pkgFLCache::DiverIterator Div = TmpNde.Diversion(); - if (Div.DivertTo() == TmpNde) - return HandleOverwrites(Div.DivertFrom(),true); - } - - return true; -} - /*}}}*/ -// Extract::CheckDirReplace - See if this directory can be erased /*{{{*/ -// --------------------------------------------------------------------- -/* If this directory is owned by a single package and that package is - replacing it with something non-directoryish then dpkg allows this. - We increase the requirement to be that the directory is non-empty after - the package is removed */ -bool pkgExtract::CheckDirReplace(string Dir,unsigned int Depth) -{ - // Looping? - if (Depth > 40) - return false; - - if (Dir[Dir.size() - 1] != '/') - Dir += '/'; - - DIR *D = opendir(Dir.c_str()); - if (D == 0) - return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); - - string File; - for (struct dirent *Dent = readdir(D); Dent != 0; Dent = readdir(D)) - { - // Skip some files - if (strcmp(Dent->d_name,".") == 0 || - strcmp(Dent->d_name,"..") == 0) - continue; - - // Look up the node - File = Dir + Dent->d_name; - pkgFLCache::NodeIterator Nde = FLCache.GetNode(File.c_str(), - File.c_str() + File.length(),0,false,false); - - // The file is not owned by this package - if (Nde.end() != false || Nde.RealPackage() != FLPkg) - { - closedir(D); - return false; - } - - // See if it is a directory - struct stat St; - if (lstat(File.c_str(),&St) != 0) - { - closedir(D); - return _error->Errno("lstat",_("Unable to stat %s"),File.c_str()); - } - - // Recurse down directories - if (S_ISDIR(St.st_mode) != 0) - { - if (CheckDirReplace(File,Depth + 1) == false) - { - closedir(D); - return false; - } - } - } - - // No conflicts - closedir(D); - return true; -} - /*}}}*/ diff --git a/apt/apt-inst/extract.h b/apt/apt-inst/extract.h deleted file mode 100644 index 7e71b26..0000000 --- a/apt/apt-inst/extract.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: extract.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - Archive Extraction Directory Stream - - This Directory Stream implements extraction of an archive into the - filesystem. It makes the choices on what files should be unpacked and - replaces as well as guiding the actual unpacking. - - When the unpacking sequence is completed one of the two functions, - Finished or Aborted must be called. - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_EXTRACT_H -#define PKGLIB_EXTRACT_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/extract.h" -#endif - -#include -#include -#include - -class pkgExtract : public pkgDirStream -{ - pkgFLCache &FLCache; - pkgCache::VerIterator Ver; - pkgFLCache::PkgIterator FLPkg; - char FileName[1024]; - bool Debug; - - bool HandleOverwrites(pkgFLCache::NodeIterator Nde, - bool DiverCheck = false); - bool CheckDirReplace(string Dir,unsigned int Depth = 0); - - public: - - virtual bool DoItem(Item &Itm,int &Fd); - virtual bool Fail(Item &Itm,int Fd); - virtual bool FinishedFile(Item &Itm,int Fd); - - bool Finished(); - bool Aborted(); - - pkgExtract(pkgFLCache &FLCache,pkgCache::VerIterator Ver); -}; - -#endif diff --git a/apt/apt-inst/filelist.cc b/apt/apt-inst/filelist.cc deleted file mode 100644 index 446b9f5..0000000 --- a/apt/apt-inst/filelist.cc +++ /dev/null @@ -1,591 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: filelist.cc,v 1.4 2003/02/10 00:36:12 doogie Exp $ -/* ###################################################################### - - File Listing - Manages a Cache of File -> Package names. - - Diversions add some signficant complexity to the system. To keep - storage space down in the very special case of a diverted file no - extra bytes are allocated in the Node structure. Instead a diversion - is inserted directly into the hash table and its flag bit set. Every - lookup for that filename will always return the diversion. - - The hash buckets are stored in sorted form, with diversions having - the higest sort order. Identical files are assigned the same file - pointer, thus after a search all of the nodes owning that file can be - found by iterating down the bucket. - - Re-updates of diversions (another extremely special case) are done by - marking all diversions as untouched, then loading the entire diversion - list again, touching each diversion and then finally going back and - releasing all untouched diversions. It is assumed that the diversion - table will always be quite small and be a very irregular case. - - Diversions that are user-installed are represented by a package with - an empty name string. - - Conf files are handled like diversions by changing the meaning of the - Pointer field to point to a conf file entry - again to reduce over - head for a special case. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/filelist.h" -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - /*}}}*/ - -using namespace std; - -// FlCache::Header::Header - Constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Initialize the header variables. These are the defaults used when - creating new caches */ -pkgFLCache::Header::Header() -{ - Signature = 0xEA3F1295; - - /* Whenever the structures change the major version should be bumped, - whenever the generator changes the minor version should be bumped. */ - MajorVersion = 1; - MinorVersion = 0; - Dirty = true; - - HeaderSz = sizeof(pkgFLCache::Header); - NodeSz = sizeof(pkgFLCache::Node); - DirSz = sizeof(pkgFLCache::Directory); - PackageSz = sizeof(pkgFLCache::Package); - DiversionSz = sizeof(pkgFLCache::Diversion); - ConfFileSz = sizeof(pkgFLCache::ConfFile); - - NodeCount = 0; - DirCount = 0; - PackageCount = 0; - DiversionCount = 0; - ConfFileCount = 0; - HashSize = 1 << 14; - - FileHash = 0; - DirTree = 0; - Packages = 0; - Diversions = 0; - UniqNodes = 0; - memset(Pools,0,sizeof(Pools)); -} - /*}}}*/ -// FLCache::Header::CheckSizes - Check if the two headers have same *sz /*{{{*/ -// --------------------------------------------------------------------- -/* Compare to make sure we are matching versions */ -bool pkgFLCache::Header::CheckSizes(Header &Against) const -{ - if (HeaderSz == Against.HeaderSz && - NodeSz == Against.NodeSz && - DirSz == Against.DirSz && - DiversionSz == Against.DiversionSz && - PackageSz == Against.PackageSz && - ConfFileSz == Against.ConfFileSz) - return true; - return false; -} - /*}}}*/ - -// FLCache::pkgFLCache - Constructor /*{{{*/ -// --------------------------------------------------------------------- -/* If this is a new cache then a new header and hash table are instantaited - otherwise the existing ones are mearly attached */ -pkgFLCache::pkgFLCache(DynamicMMap &Map) : Map(Map) -{ - if (_error->PendingError() == true) - return; - - LastTreeLookup = 0; - LastLookupSize = 0; - - // Apply the typecasts - HeaderP = (Header *)Map.Data(); - NodeP = (Node *)Map.Data(); - DirP = (Directory *)Map.Data(); - DiverP = (Diversion *)Map.Data(); - PkgP = (Package *)Map.Data(); - ConfP = (ConfFile *)Map.Data(); - StrP = (char *)Map.Data(); - AnyP = (unsigned char *)Map.Data(); - - // New mapping, create the basic cache structures - if (Map.Size() == 0) - { - Map.RawAllocate(sizeof(pkgFLCache::Header)); - *HeaderP = pkgFLCache::Header(); - HeaderP->FileHash = Map.RawAllocate(sizeof(pkgFLCache::Node)*HeaderP->HashSize, - sizeof(pkgFLCache::Node))/sizeof(pkgFLCache::Node); - } - - FileHash = NodeP + HeaderP->FileHash; - - // Setup the dynamic map manager - HeaderP->Dirty = true; - Map.Sync(0,sizeof(pkgFLCache::Header)); - Map.UsePools(*HeaderP->Pools,sizeof(HeaderP->Pools)/sizeof(HeaderP->Pools[0])); -} - /*}}}*/ -// FLCache::TreeLookup - Perform a lookup in a generic tree /*{{{*/ -// --------------------------------------------------------------------- -/* This is a simple generic tree lookup. The first three entries of - the Directory structure are used as a template, but any other similar - structure could be used in it's place. */ -map_ptrloc pkgFLCache::TreeLookup(map_ptrloc *Base,const char *Text, - const char *TextEnd,unsigned long Size, - unsigned int *Count,bool Insert) -{ - pkgFLCache::Directory *Dir; - - // Check our last entry cache - if (LastTreeLookup != 0 && LastLookupSize == Size) - { - Dir = (pkgFLCache::Directory *)(AnyP + LastTreeLookup*Size); - if (stringcmp(Text,TextEnd,StrP + Dir->Name) == 0) - return LastTreeLookup; - } - - while (1) - { - // Allocate a new one - if (*Base == 0) - { - if (Insert == false) - return 0; - - *Base = Map.Allocate(Size); - if (*Base == 0) - return 0; - - (*Count)++; - Dir = (pkgFLCache::Directory *)(AnyP + *Base*Size); - Dir->Name = Map.WriteString(Text,TextEnd - Text); - LastTreeLookup = *Base; - LastLookupSize = Size; - return *Base; - } - - // Compare this node - Dir = (pkgFLCache::Directory *)(AnyP + *Base*Size); - int Res = stringcmp(Text,TextEnd,StrP + Dir->Name); - if (Res == 0) - { - LastTreeLookup = *Base; - LastLookupSize = Size; - return *Base; - } - - if (Res > 0) - Base = &Dir->Left; - if (Res < 0) - Base = &Dir->Right; - } -} - /*}}}*/ -// FLCache::PrintTree - Print out a tree /*{{{*/ -// --------------------------------------------------------------------- -/* This is a simple generic tree dumper, ment for debugging. */ -void pkgFLCache::PrintTree(map_ptrloc Base,unsigned long Size) -{ - if (Base == 0) - return; - - pkgFLCache::Directory *Dir = (pkgFLCache::Directory *)(AnyP + Base*Size); - PrintTree(Dir->Left,Size); - cout << (StrP + Dir->Name) << endl; - PrintTree(Dir->Right,Size); -} - /*}}}*/ -// FLCache::GetPkg - Get a package pointer /*{{{*/ -// --------------------------------------------------------------------- -/* Locate a package by name in it's tree, this is just a wrapper for - TreeLookup */ -pkgFLCache::PkgIterator pkgFLCache::GetPkg(const char *Name,const char *NameEnd, - bool Insert) -{ - if (NameEnd == 0) - NameEnd = Name + strlen(Name); - - map_ptrloc Pos = TreeLookup(&HeaderP->Packages,Name,NameEnd, - sizeof(pkgFLCache::Package), - &HeaderP->PackageCount,Insert); - if (Pos == 0) - return pkgFLCache::PkgIterator(); - return pkgFLCache::PkgIterator(*this,PkgP + Pos); -} - /*}}}*/ -// FLCache::GetNode - Get the node associated with the filename /*{{{*/ -// --------------------------------------------------------------------- -/* Lookup a node in the hash table. If Insert is true then a new node is - always inserted. The hash table can have multiple instances of a - single name available. A search returns the first. It is important - that additions for the same name insert after the first entry of - the name group. */ -pkgFLCache::NodeIterator pkgFLCache::GetNode(const char *Name, - const char *NameEnd, - map_ptrloc Loc, - bool Insert,bool Divert) -{ - // Split the name into file and directory, hashing as it is copied - const char *File = Name; - unsigned long HashPos = 0; - for (const char *I = Name; I < NameEnd; I++) - { - HashPos = 1637*HashPos + *I; - if (*I == '/') - File = I; - } - - // Search for it - Node *Hash = NodeP + HeaderP->FileHash + (HashPos % HeaderP->HashSize); - int Res = 0; - map_ptrloc FilePtr = 0; - while (Hash->Pointer != 0) - { - // Compare - Res = stringcmp(File+1,NameEnd,StrP + Hash->File); - if (Res == 0) - Res = stringcmp(Name,File,StrP + DirP[Hash->Dir].Name); - - // Diversion? - if (Res == 0 && Insert == true) - { - /* Dir and File match exactly, we need to reuse the file name - when we link it in */ - FilePtr = Hash->File; - Res = Divert - ((Hash->Flags & Node::Diversion) == Node::Diversion); - } - - // Is a match - if (Res == 0) - { - if (Insert == false) - return NodeIterator(*this,Hash); - - // Only one diversion per name! - if (Divert == true) - return NodeIterator(*this,Hash); - break; - } - - // Out of sort order - if (Res > 0) - break; - - if (Hash->Next != 0) - Hash = NodeP + Hash->Next; - else - break; - } - - // Fail, not found - if (Insert == false) - return NodeIterator(*this); - - // Find a directory node - map_ptrloc Dir = TreeLookup(&HeaderP->DirTree,Name,File, - sizeof(pkgFLCache::Directory), - &HeaderP->DirCount,true); - if (Dir == 0) - return NodeIterator(*this); - - // Allocate a new node - if (Hash->Pointer != 0) - { - // Overwrite or append - if (Res > 0) - { - Node *Next = NodeP + Map.Allocate(sizeof(*Hash)); - if (Next == NodeP) - return NodeIterator(*this); - *Next = *Hash; - Hash->Next = Next - NodeP; - } - else - { - unsigned long NewNext = Map.Allocate(sizeof(*Hash)); - if (NewNext == 0) - return NodeIterator(*this); - NodeP[NewNext].Next = Hash->Next; - Hash->Next = NewNext; - Hash = NodeP + Hash->Next; - } - } - - // Insert into the new item - Hash->Dir = Dir; - Hash->Pointer = Loc; - Hash->Flags = 0; - if (Divert == true) - Hash->Flags |= Node::Diversion; - - if (FilePtr != 0) - Hash->File = FilePtr; - else - { - HeaderP->UniqNodes++; - Hash->File = Map.WriteString(File+1,NameEnd - File-1); - } - - // Link the node to the package list - if (Divert == false && Loc == 0) - { - Hash->Next = PkgP[Loc].Files; - PkgP[Loc].Files = Hash - NodeP; - } - - HeaderP->NodeCount++; - return NodeIterator(*this,Hash); -} - /*}}}*/ -// FLCache::HashNode - Return the hash bucket for the node /*{{{*/ -// --------------------------------------------------------------------- -/* This is one of two hashing functions. The other is inlined into the - GetNode routine. */ -pkgFLCache::Node *pkgFLCache::HashNode(NodeIterator const &Nde) -{ - // Hash the node - unsigned long HashPos = 0; - for (const char *I = Nde.DirN(); *I != 0; I++) - HashPos = 1637*HashPos + *I; - HashPos = 1637*HashPos + '/'; - for (const char *I = Nde.File(); *I != 0; I++) - HashPos = 1637*HashPos + *I; - return NodeP + HeaderP->FileHash + (HashPos % HeaderP->HashSize); -} - /*}}}*/ -// FLCache::DropNode - Drop a node from the hash table /*{{{*/ -// --------------------------------------------------------------------- -/* This erases a node from the hash table. Note that this does not unlink - the node from the package linked list. */ -void pkgFLCache::DropNode(map_ptrloc N) -{ - if (N == 0) - return; - - NodeIterator Nde(*this,NodeP + N); - - if (Nde->NextPkg != 0) - _error->Warning(_("DropNode called on still linked node")); - - // Locate it in the hash table - Node *Last = 0; - Node *Hash = HashNode(Nde); - while (Hash->Pointer != 0) - { - // Got it - if (Hash == Nde) - { - // Top of the bucket.. - if (Last == 0) - { - Hash->Pointer = 0; - if (Hash->Next == 0) - return; - *Hash = NodeP[Hash->Next]; - // Release Hash->Next - return; - } - Last->Next = Hash->Next; - // Release Hash - return; - } - - Last = Hash; - if (Hash->Next != 0) - Hash = NodeP + Hash->Next; - else - break; - } - - _error->Error(_("Failed to locate the hash element!")); -} - /*}}}*/ -// FLCache::BeginDiverLoad - Start reading new diversions /*{{{*/ -// --------------------------------------------------------------------- -/* Tag all the diversions as untouched */ -void pkgFLCache::BeginDiverLoad() -{ - for (DiverIterator I = DiverBegin(); I.end() == false; I++) - I->Flags = 0; -} - /*}}}*/ -// FLCache::FinishDiverLoad - Finish up a new diversion load /*{{{*/ -// --------------------------------------------------------------------- -/* This drops any untouched diversions. In effect removing any diversions - that where not loaded (ie missing from the diversion file) */ -void pkgFLCache::FinishDiverLoad() -{ - map_ptrloc *Cur = &HeaderP->Diversions; - while (*Cur != 0) - { - Diversion *Div = DiverP + *Cur; - if ((Div->Flags & Diversion::Touched) == Diversion::Touched) - { - Cur = &Div->Next; - continue; - } - - // Purge! - DropNode(Div->DivertTo); - DropNode(Div->DivertFrom); - *Cur = Div->Next; - } -} - /*}}}*/ -// FLCache::AddDiversion - Add a new diversion /*{{{*/ -// --------------------------------------------------------------------- -/* Add a new diversion to the diverion tables and make sure that it is - unique and non-chaining. */ -bool pkgFLCache::AddDiversion(PkgIterator const &Owner, - const char *From,const char *To) -{ - /* Locate the two hash nodes we are going to manipulate. If there - are pre-existing diversions then they will be returned */ - NodeIterator FromN = GetNode(From,From+strlen(From),0,true,true); - NodeIterator ToN = GetNode(To,To+strlen(To),0,true,true); - if (FromN.end() == true || ToN.end() == true) - return _error->Error(_("Failed to allocate diversion")); - - // Should never happen - if ((FromN->Flags & Node::Diversion) != Node::Diversion || - (ToN->Flags & Node::Diversion) != Node::Diversion) - return _error->Error(_("Internal Error in AddDiversion")); - - // Now, try to reclaim an existing diversion.. - map_ptrloc Diver = 0; - if (FromN->Pointer != 0) - Diver = FromN->Pointer; - - /* Make sure from and to point to the same diversion, if they dont - then we are trying to intermix diversions - very bad */ - if (ToN->Pointer != 0 && ToN->Pointer != Diver) - { - // It could be that the other diversion is no longer in use - if ((DiverP[ToN->Pointer].Flags & Diversion::Touched) == Diversion::Touched) - return _error->Error(_("Trying to overwrite a diversion, %s -> %s and %s/%s"), - From,To,ToN.File(),ToN.Dir().Name()); - - // We can erase it. - Diversion *Div = DiverP + ToN->Pointer; - ToN->Pointer = 0; - - if (Div->DivertTo == ToN.Offset()) - Div->DivertTo = 0; - if (Div->DivertFrom == ToN.Offset()) - Div->DivertFrom = 0; - - // This diversion will be cleaned up by FinishDiverLoad - } - - // Allocate a new diversion - if (Diver == 0) - { - Diver = Map.Allocate(sizeof(Diversion)); - if (Diver == 0) - return false; - DiverP[Diver].Next = HeaderP->Diversions; - HeaderP->Diversions = Diver; - HeaderP->DiversionCount++; - } - - // Can only have one diversion of the same files - Diversion *Div = DiverP + Diver; - if ((Div->Flags & Diversion::Touched) == Diversion::Touched) - return _error->Error(_("Double add of diversion %s -> %s"),From,To); - - // Setup the From/To links - if (Div->DivertFrom != FromN.Offset() && Div->DivertFrom != ToN.Offset()) - DropNode(Div->DivertFrom); - Div->DivertFrom = FromN.Offset(); - if (Div->DivertTo != FromN.Offset() && Div->DivertTo != ToN.Offset()) - DropNode(Div->DivertTo); - Div->DivertTo = ToN.Offset(); - - // Link it to the two nodes - FromN->Pointer = Diver; - ToN->Pointer = Diver; - - // And the package - Div->OwnerPkg = Owner.Offset(); - Div->Flags |= Diversion::Touched; - - return true; -} - /*}}}*/ -// FLCache::AddConfFile - Add a new configuration file /*{{{*/ -// --------------------------------------------------------------------- -/* This simply adds a new conf file node to the hash table. This is only - used by the status file reader. It associates a hash with each conf - file entry that exists in the status file and the list file for - the proper package. Duplicate conf files (across packages) are left - up to other routines to deal with. */ -bool pkgFLCache::AddConfFile(const char *Name,const char *NameEnd, - PkgIterator const &Owner, - const unsigned char *Sum) -{ - NodeIterator Nde = GetNode(Name,NameEnd,0,false,false); - if (Nde.end() == true) - return true; - - unsigned long File = Nde->File; - for (; Nde->File == File && Nde.end() == false; Nde++) - { - if (Nde.RealPackage() != Owner) - continue; - - if ((Nde->Flags & Node::ConfFile) == Node::ConfFile) - return _error->Error(_("Duplicate conf file %s/%s"),Nde.DirN(),Nde.File()); - - // Allocate a new conf file structure - map_ptrloc Conf = Map.Allocate(sizeof(ConfFile)); - if (Conf == 0) - return false; - ConfP[Conf].OwnerPkg = Owner.Offset(); - memcpy(ConfP[Conf].MD5,Sum,sizeof(ConfP[Conf].MD5)); - - Nde->Pointer = Conf; - Nde->Flags |= Node::ConfFile; - return true; - } - - /* This means the conf file has been replaced, but the entry in the - status file was not updated */ - return true; -} - /*}}}*/ - -// NodeIterator::RealPackage - Return the package for this node /*{{{*/ -// --------------------------------------------------------------------- -/* Since the package pointer is indirected in all sorts of interesting ways - this is used to get a pointer to the owning package */ -pkgFLCache::Package *pkgFLCache::NodeIterator::RealPackage() const -{ - if (Nde->Pointer == 0) - return 0; - - if ((Nde->Flags & Node::ConfFile) == Node::ConfFile) - return Owner->PkgP + Owner->ConfP[Nde->Pointer].OwnerPkg; - - // Diversions are ignored - if ((Nde->Flags & Node::Diversion) == Node::Diversion) - return 0; - - return Owner->PkgP + Nde->Pointer; -} - /*}}}*/ diff --git a/apt/apt-inst/filelist.h b/apt/apt-inst/filelist.h deleted file mode 100644 index 6050a83..0000000 --- a/apt/apt-inst/filelist.h +++ /dev/null @@ -1,314 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: filelist.h,v 1.2 2002/07/25 18:07:17 niemeyer Exp $ -/* ###################################################################### - - File Listing - Manages a Cache of File -> Package names. - - This is identical to the Package cache, except that the generator - (which is much simpler) is integrated directly into the main class, - and it has been designed to handle live updates. - - The storage content of the class is maintained in a memory map and is - written directly to the file system. Performance is traded against - space to give something that performs well and remains small. - The average per file usage is 32 bytes which yeilds about a meg every - 36k files. Directory paths are collected into a binary tree and stored - only once, this offsets the cost of the hash nodes enough to keep - memory usage slightly less than the sum of the filenames. - - The file names are stored into a fixed size chained hash table that is - linked to the package name and to the directory component. - - Each file node has a set of associated flags that indicate the current - state of the file. - - ##################################################################### */ - /*}}}*/ -#ifndef PKGLIB_FILELIST_H -#define PKGLIB_FILELIST_H - -#ifdef __GNUG__ -#pragma interface "apt-pkg/filelist.h" -#endif - -#include - -class pkgFLCache -{ - public: - struct Header; - struct Node; - struct Directory; - struct Package; - struct Diversion; - struct ConfFile; - - class NodeIterator; - class DirIterator; - class PkgIterator; - class DiverIterator; - - protected: - string CacheFile; - DynamicMMap ⤅ - map_ptrloc LastTreeLookup; - unsigned long LastLookupSize; - - // Helpers for the addition algorithms - map_ptrloc TreeLookup(map_ptrloc *Base,const char *Text,const char *TextEnd, - unsigned long Size,unsigned int *Count = 0, - bool Insert = false); - - public: - - // Pointers to the arrays of items - Header *HeaderP; - Node *NodeP; - Directory *DirP; - Package *PkgP; - Diversion *DiverP; - ConfFile *ConfP; - char *StrP; - unsigned char *AnyP; - - // Quick accessors - Node *FileHash; - - // Accessors - Header &Head() {return *HeaderP;}; - void PrintTree(map_ptrloc Base,unsigned long Size); - - // Add/Find things - PkgIterator GetPkg(const char *Name,const char *End,bool Insert); - inline PkgIterator GetPkg(const char *Name,bool Insert); - NodeIterator GetNode(const char *Name, - const char *NameEnd, - map_ptrloc Loc, - bool Insert,bool Divert); - Node *HashNode(NodeIterator const &N); - void DropNode(map_ptrloc Node); - - inline DiverIterator DiverBegin(); - - // Diversion control - void BeginDiverLoad(); - void FinishDiverLoad(); - bool AddDiversion(PkgIterator const &Owner,const char *From, - const char *To); - bool AddConfFile(const char *Name,const char *NameEnd, - PkgIterator const &Owner,const unsigned char *Sum); - - pkgFLCache(DynamicMMap &Map); -// ~pkgFLCache(); -}; - -struct pkgFLCache::Header -{ - // Signature information - unsigned long Signature; - short MajorVersion; - short MinorVersion; - bool Dirty; - - // Size of structure values - unsigned HeaderSz; - unsigned NodeSz; - unsigned DirSz; - unsigned PackageSz; - unsigned DiversionSz; - unsigned ConfFileSz; - - // Structure Counts; - unsigned int NodeCount; - unsigned int DirCount; - unsigned int PackageCount; - unsigned int DiversionCount; - unsigned int ConfFileCount; - unsigned int HashSize; - unsigned long UniqNodes; - - // Offsets - map_ptrloc FileHash; - map_ptrloc DirTree; - map_ptrloc Packages; - map_ptrloc Diversions; - - /* Allocation pools, there should be one of these for each structure - excluding the header */ - DynamicMMap::Pool Pools[5]; - - bool CheckSizes(Header &Against) const; - Header(); -}; - -/* The bit field is used to advoid incurring an extra 4 bytes x 40000, - Pointer is the most infrequently used member of the structure */ -struct pkgFLCache::Node -{ - map_ptrloc Dir; // Dir - map_ptrloc File; // String - unsigned Pointer:24; // Package/Diversion/ConfFile - unsigned Flags:8; // Package - map_ptrloc Next; // Node - map_ptrloc NextPkg; // Node - - enum Flags {Diversion = (1<<0),ConfFile = (1<<1), - NewConfFile = (1<<2),NewFile = (1<<3), - Unpacked = (1<<4),Replaced = (1<<5)}; -}; - -struct pkgFLCache::Directory -{ - map_ptrloc Left; // Directory - map_ptrloc Right; // Directory - map_ptrloc Name; // String -}; - -struct pkgFLCache::Package -{ - map_ptrloc Left; // Package - map_ptrloc Right; // Package - map_ptrloc Name; // String - map_ptrloc Files; // Node -}; - -struct pkgFLCache::Diversion -{ - map_ptrloc OwnerPkg; // Package - map_ptrloc DivertFrom; // Node - map_ptrloc DivertTo; // String - - map_ptrloc Next; // Diversion - unsigned long Flags; - - enum Flags {Touched = (1<<0)}; -}; - -struct pkgFLCache::ConfFile -{ - map_ptrloc OwnerPkg; // Package - unsigned char MD5[16]; -}; - -class pkgFLCache::PkgIterator -{ - Package *Pkg; - pkgFLCache *Owner; - - public: - - inline bool end() const {return Owner == 0 || Pkg == Owner->PkgP?true:false;} - - // Accessors - inline Package *operator ->() {return Pkg;}; - inline Package const *operator ->() const {return Pkg;}; - inline Package const &operator *() const {return *Pkg;}; - inline operator Package *() {return Pkg == Owner->PkgP?0:Pkg;}; - inline operator Package const *() const {return Pkg == Owner->PkgP?0:Pkg;}; - - inline unsigned long Offset() const {return Pkg - Owner->PkgP;}; - inline const char *Name() const {return Pkg->Name == 0?0:Owner->StrP + Pkg->Name;}; - inline pkgFLCache::NodeIterator Files() const; - - PkgIterator() : Pkg(0), Owner(0) {}; - PkgIterator(pkgFLCache &Owner,Package *Trg) : Pkg(Trg), Owner(&Owner) {}; -}; - -class pkgFLCache::DirIterator -{ - Directory *Dir; - pkgFLCache *Owner; - - public: - - // Accessors - inline Directory *operator ->() {return Dir;}; - inline Directory const *operator ->() const {return Dir;}; - inline Directory const &operator *() const {return *Dir;}; - inline operator Directory *() {return Dir == Owner->DirP?0:Dir;}; - inline operator Directory const *() const {return Dir == Owner->DirP?0:Dir;}; - - inline const char *Name() const {return Dir->Name == 0?0:Owner->StrP + Dir->Name;}; - - DirIterator() : Dir(0), Owner(0) {}; - DirIterator(pkgFLCache &Owner,Directory *Trg) : Dir(Trg), Owner(&Owner) {}; -}; - -class pkgFLCache::DiverIterator -{ - Diversion *Diver; - pkgFLCache *Owner; - - public: - - // Iteration - void operator ++(int) {if (Diver != Owner->DiverP) Diver = Owner->DiverP + Diver->Next;}; - inline void operator ++() {operator ++(0);}; - inline bool end() const {return Owner == 0 || Diver == Owner->DiverP;}; - - // Accessors - inline Diversion *operator ->() {return Diver;}; - inline Diversion const *operator ->() const {return Diver;}; - inline Diversion const &operator *() const {return *Diver;}; - inline operator Diversion *() {return Diver == Owner->DiverP?0:Diver;}; - inline operator Diversion const *() const {return Diver == Owner->DiverP?0:Diver;}; - - inline PkgIterator OwnerPkg() const {return PkgIterator(*Owner,Owner->PkgP + Diver->OwnerPkg);}; - inline NodeIterator DivertFrom() const; - inline NodeIterator DivertTo() const; - - DiverIterator() : Diver(0), Owner(0) {}; - DiverIterator(pkgFLCache &Owner,Diversion *Trg) : Diver(Trg), Owner(&Owner) {}; -}; - -class pkgFLCache::NodeIterator -{ - Node *Nde; - enum {NdePkg, NdeHash} Type; - pkgFLCache *Owner; - - public: - - // Iteration - void operator ++(int) {if (Nde != Owner->NodeP) Nde = Owner->NodeP + - (Type == NdePkg?Nde->NextPkg:Nde->Next);}; - inline void operator ++() {operator ++(0);}; - inline bool end() const {return Owner == 0 || Nde == Owner->NodeP;}; - - // Accessors - inline Node *operator ->() {return Nde;}; - inline Node const *operator ->() const {return Nde;}; - inline Node const &operator *() const {return *Nde;}; - inline operator Node *() {return Nde == Owner->NodeP?0:Nde;}; - inline operator Node const *() const {return Nde == Owner->NodeP?0:Nde;}; - inline unsigned long Offset() const {return Nde - Owner->NodeP;}; - inline DirIterator Dir() const {return DirIterator(*Owner,Owner->DirP + Nde->Dir);}; - inline DiverIterator Diversion() const {return DiverIterator(*Owner,Owner->DiverP + Nde->Pointer);}; - inline const char *File() const {return Nde->File == 0?0:Owner->StrP + Nde->File;}; - inline const char *DirN() const {return Owner->StrP + Owner->DirP[Nde->Dir].Name;}; - Package *RealPackage() const; - - NodeIterator() : Nde(0), Type(NdeHash), Owner(0) {}; - NodeIterator(pkgFLCache &Owner) : Nde(Owner.NodeP), Type(NdeHash), Owner(&Owner) {}; - NodeIterator(pkgFLCache &Owner,Node *Trg) : Nde(Trg), Type(NdeHash), Owner(&Owner) {}; - NodeIterator(pkgFLCache &Owner,Node *Trg,Package *) : Nde(Trg), Type(NdePkg), Owner(&Owner) {}; -}; - -/* Inlines with forward references that cannot be included directly in their - respsective classes */ -inline pkgFLCache::NodeIterator pkgFLCache::DiverIterator::DivertFrom() const - {return NodeIterator(*Owner,Owner->NodeP + Diver->DivertFrom);}; -inline pkgFLCache::NodeIterator pkgFLCache::DiverIterator::DivertTo() const - {return NodeIterator(*Owner,Owner->NodeP + Diver->DivertTo);}; - -inline pkgFLCache::NodeIterator pkgFLCache::PkgIterator::Files() const - {return NodeIterator(*Owner,Owner->NodeP + Pkg->Files,Pkg);}; - -inline pkgFLCache::DiverIterator pkgFLCache::DiverBegin() - {return DiverIterator(*this,DiverP + HeaderP->Diversions);}; - -inline pkgFLCache::PkgIterator pkgFLCache::GetPkg(const char *Name,bool Insert) - {return GetPkg(Name,Name+strlen(Name),Insert);}; - -#endif diff --git a/apt/apt-inst/makefile b/apt/apt-inst/makefile deleted file mode 100644 index 0b02d4c..0000000 --- a/apt/apt-inst/makefile +++ /dev/null @@ -1,32 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=apt-inst - -# Header location -SUBDIRS = contrib deb -HEADER_TARGETDIRS = apt-pkg - -# Bring in the default rules -include ../buildlib/defaults.mak - -# The library name -LIBRARY=apt-inst -LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER) -MAJOR=1.0 -MINOR=0 -SLIBS=$(PTHREADLIB) -lapt-pkg -APT_DOMAIN:=libapt-inst$(MAJOR) - -# Source code for the contributed non-core things -SOURCE = contrib/extracttar.cc contrib/arfile.cc - -# Source code for the main library -SOURCE+= filelist.cc database.cc dirstream.cc extract.cc \ - deb/dpkgdb.cc deb/debfile.cc - -# Public header files -HEADERS = extracttar.h arfile.h filelist.h database.h extract.h \ - dpkgdb.h dirstream.h debfile.h - -HEADERS := $(addprefix apt-pkg/,$(HEADERS)) -include $(LIBRARY_H) diff --git a/apt/apt-pkg/Makefile.am b/apt/apt-pkg/Makefile.am new file mode 100644 index 0000000..f40711d --- /dev/null +++ b/apt/apt-pkg/Makefile.am @@ -0,0 +1,157 @@ + +lib_LTLIBRARIES = libapt-pkg.la + +libapt_pkg_la_LIBADD = @RPMLIBS@ +libapt_pkg_la_LDFLAGS = -version-info 1:1:1 -release @GLIBC_VER@-@LIBSTDCPP_VER@ + +AM_CPPFLAGS = -DLIBDIR=\"$(libdir)\" + +INCLUDES = -I$(top_srcdir)/lua/include -I$(top_srcdir)/lua/local + +if WITH_LUA +libapt_pkg_la_LIBADD += $(top_builddir)/lua/liblua.la +endif + +libapt_pkg_la_SOURCES = \ + contrib/cdromutl.cc \ + contrib/cdromutl.h \ + contrib/cmndline.cc \ + contrib/cmndline.h \ + contrib/configuration.cc \ + contrib/configuration.h \ + contrib/crc-16.cc \ + contrib/crc-16.h \ + contrib/error.cc \ + contrib/error.h \ + contrib/fileutl.cc \ + contrib/fileutl.h \ + contrib/hashes.cc \ + contrib/hashes.h \ + contrib/md5.cc \ + contrib/md5.h \ + contrib/mmap.cc \ + contrib/mmap.h \ + contrib/progress.cc \ + contrib/progress.h \ + contrib/sha1.cc \ + contrib/sha1.h \ + contrib/sptr.h \ + contrib/strutl.cc \ + contrib/strutl.h \ + contrib/system.h \ + rpm/rpmhandler.cc \ + rpm/rpmhandler.h \ + rpm/rpmindexfile.cc \ + rpm/rpmindexfile.h \ + rpm/rpmlistparser.cc \ + rpm/rpmlistparser.h \ + rpm/rpmmisc.h \ + rpm/rpmpackagedata.cc \ + rpm/rpmpackagedata.h \ + rpm/rpmpm.cc \ + rpm/rpmpm.h \ + rpm/rpmshowprogress.h \ + rpm/rpmrecords.cc \ + rpm/rpmrecords.h \ + rpm/rpmsrcrecords.cc \ + rpm/rpmsrcrecords.h \ + rpm/rpmsystem.cc \ + rpm/rpmsystem.h \ + rpm/rpmversion.cc \ + rpm/rpmversion.h \ + acquire.cc \ + acquire.h \ + acquire-item.cc \ + acquire-item.h \ + acquire-method.cc \ + acquire-method.h \ + acquire-worker.cc \ + acquire-worker.h \ + algorithms.cc \ + algorithms.h \ + cachefile.cc \ + cachefile.h \ + cacheiterators.h \ + clean.cc \ + clean.h \ + depcache.cc \ + depcache.h \ + indexfile.cc \ + indexfile.h \ + init.cc \ + init.h \ + luaiface.cc \ + luaiface.h \ + orderlist.cc \ + orderlist.h \ + packagemanager.cc \ + packagemanager.h \ + pkgcache.cc \ + pkgcachegen.cc \ + pkgcachegen.h \ + pkgcache.h \ + pkgrecords.cc \ + pkgrecords.h \ + pkgsystem.cc \ + pkgsystem.h \ + policy.cc \ + policy.h \ + repository.cc \ + repository.h \ + sourcelist.cc \ + sourcelist.h \ + srcrecords.cc \ + srcrecords.h \ + tagfile.cc \ + tagfile.h \ + version.cc \ + version.h \ + versionmatch.cc \ + versionmatch.h + +PRIVATEHEADERS = contrib/system.h + +includedir=${prefix}/include/apt-pkg +include_HEADERS = $(filter-out \ + $(PRIVATEHEADERS), \ + $(filter %.h,$(libapt_pkg_la_SOURCES))) + +# This is a hack to allow us to maintain the original +# APT system of a a flat apt-pkg/ header directory. +PRIVREALHEADERS = $(PRIVATEHEADERS) +PRIVCOPYHEADERS = $(patsubst %.h, \ + $(top_builddir)/include/%.h, \ + $(notdir $(PRIVREALHEADERS))) +REALHEADERS = $(filter-out \ + $(PRIVREALHEADERS), \ + $(filter %.h,$(libapt_pkg_la_SOURCES))) +COPYHEADERS = $(patsubst %.h, \ + $(top_builddir)/include/apt-pkg/%.h, \ + $(notdir $(REALHEADERS))) +REALOBJECTS = $(patsubst %.cc,%.lo,\ + $(filter %.cc,$(libapt_pkg_la_SOURCES))) +$(REALOBJECTS): $(COPYHEADERS) $(PRIVCOPYHEADERS) + +$(top_builddir)/include/apt-pkg/%: % + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/apt-pkg/%: contrib/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/apt-pkg/%: rpm/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/%: % + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/%: contrib/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/%: rpm/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ + +clean-local: + rm -f $(PRIVCOPYHEADERS) + rm -rf $(top_builddir)/include/apt-pkg + diff --git a/apt/apt-pkg/Makefile.in b/apt/apt-pkg/Makefile.in new file mode 100644 index 0000000..cc63d09 --- /dev/null +++ b/apt/apt-pkg/Makefile.in @@ -0,0 +1,1540 @@ +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +@WITH_LUA_TRUE@am__append_1 = $(top_builddir)/lua/liblua.la +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILE_APTSHELL_FALSE = @COMPILE_APTSHELL_FALSE@ +COMPILE_APTSHELL_TRUE = @COMPILE_APTSHELL_TRUE@ +COMPILE_MANPAGES_FALSE = @COMPILE_MANPAGES_FALSE@ +COMPILE_MANPAGES_TRUE = @COMPILE_MANPAGES_TRUE@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOCBOOK2MAN = @DOCBOOK2MAN@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GENCAT = @GENCAT@ +GLIBC21 = @GLIBC21@ +GLIBC_VER = @GLIBC_VER@ +GMSGFMT = @GMSGFMT@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLBISON = @INTLBISON@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSTDCPP_VER = @LIBSTDCPP_VER@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +NEED_INTTYPES_H_FALSE = @NEED_INTTYPES_H_FALSE@ +NEED_INTTYPES_H_TRUE = @NEED_INTTYPES_H_TRUE@ +NEED_NETDB_H_FALSE = @NEED_NETDB_H_FALSE@ +NEED_NETDB_H_TRUE = @NEED_NETDB_H_TRUE@ +NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ +NEED_STATVFS_H_FALSE = @NEED_STATVFS_H_FALSE@ +NEED_STATVFS_H_TRUE = @NEED_STATVFS_H_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +PTHREADLIB = @PTHREADLIB@ +RANLIB = @RANLIB@ +RPMLIBS = @RPMLIBS@ +RPM_PATH = @RPM_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOCKETLIBS = @SOCKETLIBS@ +STRIP = @STRIP@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_LUA_FALSE = @WITH_LUA_FALSE@ +WITH_LUA_TRUE = @WITH_LUA_TRUE@ +XGETTEXT = @XGETTEXT@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ + +includedir = ${prefix}/include/apt-pkg +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +lib_LTLIBRARIES = libapt-pkg.la + +libapt_pkg_la_LIBADD = @RPMLIBS@ $(am__append_1) +libapt_pkg_la_LDFLAGS = -version-info 1:1:1 -release @GLIBC_VER@-@LIBSTDCPP_VER@ + +AM_CPPFLAGS = -DLIBDIR=\"$(libdir)\" + +INCLUDES = -I$(top_srcdir)/lua/include -I$(top_srcdir)/lua/local + +libapt_pkg_la_SOURCES = \ + contrib/cdromutl.cc \ + contrib/cdromutl.h \ + contrib/cmndline.cc \ + contrib/cmndline.h \ + contrib/configuration.cc \ + contrib/configuration.h \ + contrib/crc-16.cc \ + contrib/crc-16.h \ + contrib/error.cc \ + contrib/error.h \ + contrib/fileutl.cc \ + contrib/fileutl.h \ + contrib/hashes.cc \ + contrib/hashes.h \ + contrib/md5.cc \ + contrib/md5.h \ + contrib/mmap.cc \ + contrib/mmap.h \ + contrib/progress.cc \ + contrib/progress.h \ + contrib/sha1.cc \ + contrib/sha1.h \ + contrib/sptr.h \ + contrib/strutl.cc \ + contrib/strutl.h \ + contrib/system.h \ + rpm/rpmhandler.cc \ + rpm/rpmhandler.h \ + rpm/rpmindexfile.cc \ + rpm/rpmindexfile.h \ + rpm/rpmlistparser.cc \ + rpm/rpmlistparser.h \ + rpm/rpmmisc.h \ + rpm/rpmpackagedata.cc \ + rpm/rpmpackagedata.h \ + rpm/rpmpm.cc \ + rpm/rpmpm.h \ + rpm/rpmshowprogress.h \ + rpm/rpmrecords.cc \ + rpm/rpmrecords.h \ + rpm/rpmsrcrecords.cc \ + rpm/rpmsrcrecords.h \ + rpm/rpmsystem.cc \ + rpm/rpmsystem.h \ + rpm/rpmversion.cc \ + rpm/rpmversion.h \ + acquire.cc \ + acquire.h \ + acquire-item.cc \ + acquire-item.h \ + acquire-method.cc \ + acquire-method.h \ + acquire-worker.cc \ + acquire-worker.h \ + algorithms.cc \ + algorithms.h \ + cachefile.cc \ + cachefile.h \ + cacheiterators.h \ + clean.cc \ + clean.h \ + depcache.cc \ + depcache.h \ + indexfile.cc \ + indexfile.h \ + init.cc \ + init.h \ + luaiface.cc \ + luaiface.h \ + orderlist.cc \ + orderlist.h \ + packagemanager.cc \ + packagemanager.h \ + pkgcache.cc \ + pkgcachegen.cc \ + pkgcachegen.h \ + pkgcache.h \ + pkgrecords.cc \ + pkgrecords.h \ + pkgsystem.cc \ + pkgsystem.h \ + policy.cc \ + policy.h \ + repository.cc \ + repository.h \ + sourcelist.cc \ + sourcelist.h \ + srcrecords.cc \ + srcrecords.h \ + tagfile.cc \ + tagfile.h \ + version.cc \ + version.h \ + versionmatch.cc \ + versionmatch.h + + +PRIVATEHEADERS = contrib/system.h +include_HEADERS = $(filter-out \ + $(PRIVATEHEADERS), \ + $(filter %.h,$(libapt_pkg_la_SOURCES))) + + +# This is a hack to allow us to maintain the original +# APT system of a a flat apt-pkg/ header directory. +PRIVREALHEADERS = $(PRIVATEHEADERS) +PRIVCOPYHEADERS = $(patsubst %.h, \ + $(top_builddir)/include/%.h, \ + $(notdir $(PRIVREALHEADERS))) + +REALHEADERS = $(filter-out \ + $(PRIVREALHEADERS), \ + $(filter %.h,$(libapt_pkg_la_SOURCES))) + +COPYHEADERS = $(patsubst %.h, \ + $(top_builddir)/include/apt-pkg/%.h, \ + $(notdir $(REALHEADERS))) + +REALOBJECTS = $(patsubst %.cc,%.lo,\ + $(filter %.cc,$(libapt_pkg_la_SOURCES))) + +subdir = apt-pkg +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(lib_LTLIBRARIES) + +@WITH_LUA_TRUE@libapt_pkg_la_DEPENDENCIES = \ +@WITH_LUA_TRUE@ $(top_builddir)/lua/liblua.la +@WITH_LUA_FALSE@libapt_pkg_la_DEPENDENCIES = +am__dirstamp = $(am__leading_dot)dirstamp +am_libapt_pkg_la_OBJECTS = contrib/cdromutl.lo contrib/cmndline.lo \ + contrib/configuration.lo contrib/crc-16.lo contrib/error.lo \ + contrib/fileutl.lo contrib/hashes.lo contrib/md5.lo \ + contrib/mmap.lo contrib/progress.lo contrib/sha1.lo \ + contrib/strutl.lo rpm/rpmhandler.lo rpm/rpmindexfile.lo \ + rpm/rpmlistparser.lo rpm/rpmpackagedata.lo rpm/rpmpm.lo \ + rpm/rpmrecords.lo rpm/rpmsrcrecords.lo rpm/rpmsystem.lo \ + rpm/rpmversion.lo acquire.lo acquire-item.lo acquire-method.lo \ + acquire-worker.lo algorithms.lo cachefile.lo clean.lo \ + depcache.lo indexfile.lo init.lo luaiface.lo orderlist.lo \ + packagemanager.lo pkgcache.lo pkgcachegen.lo pkgrecords.lo \ + pkgsystem.lo policy.lo repository.lo sourcelist.lo \ + srcrecords.lo tagfile.lo version.lo versionmatch.lo +libapt_pkg_la_OBJECTS = $(am_libapt_pkg_la_OBJECTS) + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/buildlib/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/acquire-item.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/acquire-method.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/acquire-worker.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/acquire.Plo ./$(DEPDIR)/algorithms.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/cachefile.Plo ./$(DEPDIR)/clean.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/depcache.Plo ./$(DEPDIR)/indexfile.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/init.Plo ./$(DEPDIR)/luaiface.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/orderlist.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/packagemanager.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/pkgcache.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/pkgcachegen.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/pkgrecords.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/pkgsystem.Plo ./$(DEPDIR)/policy.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/repository.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/sourcelist.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/srcrecords.Plo ./$(DEPDIR)/tagfile.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/version.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/versionmatch.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/cdromutl.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/cmndline.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/configuration.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/crc-16.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/error.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/fileutl.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/hashes.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/md5.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/mmap.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/progress.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/sha1.Plo \ +@AMDEP_TRUE@ contrib/$(DEPDIR)/strutl.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmhandler.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmindexfile.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmlistparser.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmpackagedata.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmpm.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmrecords.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmsrcrecords.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmsystem.Plo \ +@AMDEP_TRUE@ rpm/$(DEPDIR)/rpmversion.Plo +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ + $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(libapt_pkg_la_SOURCES) +HEADERS = $(include_HEADERS) + +DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.in Makefile.am +SOURCES = $(libapt_pkg_la_SOURCES) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .cc .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign apt-pkg/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +libLTLIBRARIES_INSTALL = $(INSTALL) +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(libdir) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \ + $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" = "$$p" && dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +contrib/$(am__dirstamp): + @$(mkinstalldirs) contrib + @: > contrib/$(am__dirstamp) +contrib/$(DEPDIR)/$(am__dirstamp): + @$(mkinstalldirs) contrib/$(DEPDIR) + @: > contrib/$(DEPDIR)/$(am__dirstamp) +contrib/cdromutl.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/cmndline.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/configuration.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/crc-16.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/error.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/fileutl.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/hashes.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/md5.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/mmap.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/progress.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/sha1.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +contrib/strutl.lo: contrib/$(am__dirstamp) \ + contrib/$(DEPDIR)/$(am__dirstamp) +rpm/$(am__dirstamp): + @$(mkinstalldirs) rpm + @: > rpm/$(am__dirstamp) +rpm/$(DEPDIR)/$(am__dirstamp): + @$(mkinstalldirs) rpm/$(DEPDIR) + @: > rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmhandler.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmindexfile.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmlistparser.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmpackagedata.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmpm.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmrecords.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmsrcrecords.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmsystem.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +rpm/rpmversion.lo: rpm/$(am__dirstamp) rpm/$(DEPDIR)/$(am__dirstamp) +libapt-pkg.la: $(libapt_pkg_la_OBJECTS) $(libapt_pkg_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libapt_pkg_la_LDFLAGS) $(libapt_pkg_la_OBJECTS) $(libapt_pkg_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) core *.core + -rm -f contrib/cdromutl.$(OBJEXT) + -rm -f contrib/cdromutl.lo + -rm -f contrib/cmndline.$(OBJEXT) + -rm -f contrib/cmndline.lo + -rm -f contrib/configuration.$(OBJEXT) + -rm -f contrib/configuration.lo + -rm -f contrib/crc-16.$(OBJEXT) + -rm -f contrib/crc-16.lo + -rm -f contrib/error.$(OBJEXT) + -rm -f contrib/error.lo + -rm -f contrib/fileutl.$(OBJEXT) + -rm -f contrib/fileutl.lo + -rm -f contrib/hashes.$(OBJEXT) + -rm -f contrib/hashes.lo + -rm -f contrib/md5.$(OBJEXT) + -rm -f contrib/md5.lo + -rm -f contrib/mmap.$(OBJEXT) + -rm -f contrib/mmap.lo + -rm -f contrib/progress.$(OBJEXT) + -rm -f contrib/progress.lo + -rm -f contrib/sha1.$(OBJEXT) + -rm -f contrib/sha1.lo + -rm -f contrib/strutl.$(OBJEXT) + -rm -f contrib/strutl.lo + -rm -f rpm/rpmhandler.$(OBJEXT) + -rm -f rpm/rpmhandler.lo + -rm -f rpm/rpmindexfile.$(OBJEXT) + -rm -f rpm/rpmindexfile.lo + -rm -f rpm/rpmlistparser.$(OBJEXT) + -rm -f rpm/rpmlistparser.lo + -rm -f rpm/rpmpackagedata.$(OBJEXT) + -rm -f rpm/rpmpackagedata.lo + -rm -f rpm/rpmpm.$(OBJEXT) + -rm -f rpm/rpmpm.lo + -rm -f rpm/rpmrecords.$(OBJEXT) + -rm -f rpm/rpmrecords.lo + -rm -f rpm/rpmsrcrecords.$(OBJEXT) + -rm -f rpm/rpmsrcrecords.lo + -rm -f rpm/rpmsystem.$(OBJEXT) + -rm -f rpm/rpmsystem.lo + -rm -f rpm/rpmversion.$(OBJEXT) + -rm -f rpm/rpmversion.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acquire-item.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acquire-method.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acquire-worker.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acquire.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/algorithms.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cachefile.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clean.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/depcache.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indexfile.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/luaiface.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orderlist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packagemanager.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkgcache.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkgcachegen.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkgrecords.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkgsystem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/policy.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repository.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sourcelist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srcrecords.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tagfile.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/versionmatch.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/cdromutl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/cmndline.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/configuration.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/crc-16.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/error.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/fileutl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/hashes.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/md5.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/mmap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/progress.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/sha1.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@contrib/$(DEPDIR)/strutl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmhandler.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmindexfile.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmlistparser.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmpackagedata.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmpm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmrecords.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmsrcrecords.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmsystem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@rpm/$(DEPDIR)/rpmversion.Plo@am__quote@ + +.cc.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +.cc.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + +.cc.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +contrib/cdromutl.o: contrib/cdromutl.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/cdromutl.o -MD -MP -MF "contrib/$(DEPDIR)/cdromutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/cdromutl.o `test -f 'contrib/cdromutl.cc' || echo '$(srcdir)/'`contrib/cdromutl.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/cdromutl.Tpo" "contrib/$(DEPDIR)/cdromutl.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/cdromutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/cdromutl.cc' object='contrib/cdromutl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/cdromutl.Po' tmpdepfile='contrib/$(DEPDIR)/cdromutl.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/cdromutl.o `test -f 'contrib/cdromutl.cc' || echo '$(srcdir)/'`contrib/cdromutl.cc + +contrib/cdromutl.obj: contrib/cdromutl.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/cdromutl.obj -MD -MP -MF "contrib/$(DEPDIR)/cdromutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/cdromutl.obj `if test -f 'contrib/cdromutl.cc'; then $(CYGPATH_W) 'contrib/cdromutl.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/cdromutl.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/cdromutl.Tpo" "contrib/$(DEPDIR)/cdromutl.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/cdromutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/cdromutl.cc' object='contrib/cdromutl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/cdromutl.Po' tmpdepfile='contrib/$(DEPDIR)/cdromutl.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/cdromutl.obj `if test -f 'contrib/cdromutl.cc'; then $(CYGPATH_W) 'contrib/cdromutl.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/cdromutl.cc'; fi` + +contrib/cdromutl.lo: contrib/cdromutl.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/cdromutl.lo -MD -MP -MF "contrib/$(DEPDIR)/cdromutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/cdromutl.lo `test -f 'contrib/cdromutl.cc' || echo '$(srcdir)/'`contrib/cdromutl.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/cdromutl.Tpo" "contrib/$(DEPDIR)/cdromutl.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/cdromutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/cdromutl.cc' object='contrib/cdromutl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/cdromutl.Plo' tmpdepfile='contrib/$(DEPDIR)/cdromutl.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/cdromutl.lo `test -f 'contrib/cdromutl.cc' || echo '$(srcdir)/'`contrib/cdromutl.cc + +contrib/cmndline.o: contrib/cmndline.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/cmndline.o -MD -MP -MF "contrib/$(DEPDIR)/cmndline.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/cmndline.o `test -f 'contrib/cmndline.cc' || echo '$(srcdir)/'`contrib/cmndline.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/cmndline.Tpo" "contrib/$(DEPDIR)/cmndline.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/cmndline.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/cmndline.cc' object='contrib/cmndline.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/cmndline.Po' tmpdepfile='contrib/$(DEPDIR)/cmndline.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/cmndline.o `test -f 'contrib/cmndline.cc' || echo '$(srcdir)/'`contrib/cmndline.cc + +contrib/cmndline.obj: contrib/cmndline.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/cmndline.obj -MD -MP -MF "contrib/$(DEPDIR)/cmndline.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/cmndline.obj `if test -f 'contrib/cmndline.cc'; then $(CYGPATH_W) 'contrib/cmndline.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/cmndline.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/cmndline.Tpo" "contrib/$(DEPDIR)/cmndline.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/cmndline.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/cmndline.cc' object='contrib/cmndline.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/cmndline.Po' tmpdepfile='contrib/$(DEPDIR)/cmndline.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/cmndline.obj `if test -f 'contrib/cmndline.cc'; then $(CYGPATH_W) 'contrib/cmndline.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/cmndline.cc'; fi` + +contrib/cmndline.lo: contrib/cmndline.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/cmndline.lo -MD -MP -MF "contrib/$(DEPDIR)/cmndline.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/cmndline.lo `test -f 'contrib/cmndline.cc' || echo '$(srcdir)/'`contrib/cmndline.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/cmndline.Tpo" "contrib/$(DEPDIR)/cmndline.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/cmndline.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/cmndline.cc' object='contrib/cmndline.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/cmndline.Plo' tmpdepfile='contrib/$(DEPDIR)/cmndline.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/cmndline.lo `test -f 'contrib/cmndline.cc' || echo '$(srcdir)/'`contrib/cmndline.cc + +contrib/configuration.o: contrib/configuration.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/configuration.o -MD -MP -MF "contrib/$(DEPDIR)/configuration.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/configuration.o `test -f 'contrib/configuration.cc' || echo '$(srcdir)/'`contrib/configuration.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/configuration.Tpo" "contrib/$(DEPDIR)/configuration.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/configuration.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/configuration.cc' object='contrib/configuration.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/configuration.Po' tmpdepfile='contrib/$(DEPDIR)/configuration.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/configuration.o `test -f 'contrib/configuration.cc' || echo '$(srcdir)/'`contrib/configuration.cc + +contrib/configuration.obj: contrib/configuration.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/configuration.obj -MD -MP -MF "contrib/$(DEPDIR)/configuration.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/configuration.obj `if test -f 'contrib/configuration.cc'; then $(CYGPATH_W) 'contrib/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/configuration.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/configuration.Tpo" "contrib/$(DEPDIR)/configuration.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/configuration.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/configuration.cc' object='contrib/configuration.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/configuration.Po' tmpdepfile='contrib/$(DEPDIR)/configuration.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/configuration.obj `if test -f 'contrib/configuration.cc'; then $(CYGPATH_W) 'contrib/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/configuration.cc'; fi` + +contrib/configuration.lo: contrib/configuration.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/configuration.lo -MD -MP -MF "contrib/$(DEPDIR)/configuration.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/configuration.lo `test -f 'contrib/configuration.cc' || echo '$(srcdir)/'`contrib/configuration.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/configuration.Tpo" "contrib/$(DEPDIR)/configuration.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/configuration.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/configuration.cc' object='contrib/configuration.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/configuration.Plo' tmpdepfile='contrib/$(DEPDIR)/configuration.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/configuration.lo `test -f 'contrib/configuration.cc' || echo '$(srcdir)/'`contrib/configuration.cc + +contrib/crc-16.o: contrib/crc-16.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/crc-16.o -MD -MP -MF "contrib/$(DEPDIR)/crc-16.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/crc-16.o `test -f 'contrib/crc-16.cc' || echo '$(srcdir)/'`contrib/crc-16.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/crc-16.Tpo" "contrib/$(DEPDIR)/crc-16.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/crc-16.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/crc-16.cc' object='contrib/crc-16.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/crc-16.Po' tmpdepfile='contrib/$(DEPDIR)/crc-16.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/crc-16.o `test -f 'contrib/crc-16.cc' || echo '$(srcdir)/'`contrib/crc-16.cc + +contrib/crc-16.obj: contrib/crc-16.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/crc-16.obj -MD -MP -MF "contrib/$(DEPDIR)/crc-16.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/crc-16.obj `if test -f 'contrib/crc-16.cc'; then $(CYGPATH_W) 'contrib/crc-16.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/crc-16.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/crc-16.Tpo" "contrib/$(DEPDIR)/crc-16.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/crc-16.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/crc-16.cc' object='contrib/crc-16.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/crc-16.Po' tmpdepfile='contrib/$(DEPDIR)/crc-16.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/crc-16.obj `if test -f 'contrib/crc-16.cc'; then $(CYGPATH_W) 'contrib/crc-16.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/crc-16.cc'; fi` + +contrib/crc-16.lo: contrib/crc-16.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/crc-16.lo -MD -MP -MF "contrib/$(DEPDIR)/crc-16.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/crc-16.lo `test -f 'contrib/crc-16.cc' || echo '$(srcdir)/'`contrib/crc-16.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/crc-16.Tpo" "contrib/$(DEPDIR)/crc-16.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/crc-16.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/crc-16.cc' object='contrib/crc-16.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/crc-16.Plo' tmpdepfile='contrib/$(DEPDIR)/crc-16.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/crc-16.lo `test -f 'contrib/crc-16.cc' || echo '$(srcdir)/'`contrib/crc-16.cc + +contrib/error.o: contrib/error.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/error.o -MD -MP -MF "contrib/$(DEPDIR)/error.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/error.o `test -f 'contrib/error.cc' || echo '$(srcdir)/'`contrib/error.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/error.Tpo" "contrib/$(DEPDIR)/error.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/error.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/error.cc' object='contrib/error.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/error.Po' tmpdepfile='contrib/$(DEPDIR)/error.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/error.o `test -f 'contrib/error.cc' || echo '$(srcdir)/'`contrib/error.cc + +contrib/error.obj: contrib/error.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/error.obj -MD -MP -MF "contrib/$(DEPDIR)/error.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/error.obj `if test -f 'contrib/error.cc'; then $(CYGPATH_W) 'contrib/error.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/error.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/error.Tpo" "contrib/$(DEPDIR)/error.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/error.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/error.cc' object='contrib/error.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/error.Po' tmpdepfile='contrib/$(DEPDIR)/error.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/error.obj `if test -f 'contrib/error.cc'; then $(CYGPATH_W) 'contrib/error.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/error.cc'; fi` + +contrib/error.lo: contrib/error.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/error.lo -MD -MP -MF "contrib/$(DEPDIR)/error.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/error.lo `test -f 'contrib/error.cc' || echo '$(srcdir)/'`contrib/error.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/error.Tpo" "contrib/$(DEPDIR)/error.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/error.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/error.cc' object='contrib/error.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/error.Plo' tmpdepfile='contrib/$(DEPDIR)/error.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/error.lo `test -f 'contrib/error.cc' || echo '$(srcdir)/'`contrib/error.cc + +contrib/fileutl.o: contrib/fileutl.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/fileutl.o -MD -MP -MF "contrib/$(DEPDIR)/fileutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/fileutl.o `test -f 'contrib/fileutl.cc' || echo '$(srcdir)/'`contrib/fileutl.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/fileutl.Tpo" "contrib/$(DEPDIR)/fileutl.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/fileutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/fileutl.cc' object='contrib/fileutl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/fileutl.Po' tmpdepfile='contrib/$(DEPDIR)/fileutl.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/fileutl.o `test -f 'contrib/fileutl.cc' || echo '$(srcdir)/'`contrib/fileutl.cc + +contrib/fileutl.obj: contrib/fileutl.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/fileutl.obj -MD -MP -MF "contrib/$(DEPDIR)/fileutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/fileutl.obj `if test -f 'contrib/fileutl.cc'; then $(CYGPATH_W) 'contrib/fileutl.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/fileutl.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/fileutl.Tpo" "contrib/$(DEPDIR)/fileutl.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/fileutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/fileutl.cc' object='contrib/fileutl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/fileutl.Po' tmpdepfile='contrib/$(DEPDIR)/fileutl.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/fileutl.obj `if test -f 'contrib/fileutl.cc'; then $(CYGPATH_W) 'contrib/fileutl.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/fileutl.cc'; fi` + +contrib/fileutl.lo: contrib/fileutl.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/fileutl.lo -MD -MP -MF "contrib/$(DEPDIR)/fileutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/fileutl.lo `test -f 'contrib/fileutl.cc' || echo '$(srcdir)/'`contrib/fileutl.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/fileutl.Tpo" "contrib/$(DEPDIR)/fileutl.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/fileutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/fileutl.cc' object='contrib/fileutl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/fileutl.Plo' tmpdepfile='contrib/$(DEPDIR)/fileutl.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/fileutl.lo `test -f 'contrib/fileutl.cc' || echo '$(srcdir)/'`contrib/fileutl.cc + +contrib/hashes.o: contrib/hashes.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/hashes.o -MD -MP -MF "contrib/$(DEPDIR)/hashes.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/hashes.o `test -f 'contrib/hashes.cc' || echo '$(srcdir)/'`contrib/hashes.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/hashes.Tpo" "contrib/$(DEPDIR)/hashes.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/hashes.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/hashes.cc' object='contrib/hashes.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/hashes.Po' tmpdepfile='contrib/$(DEPDIR)/hashes.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/hashes.o `test -f 'contrib/hashes.cc' || echo '$(srcdir)/'`contrib/hashes.cc + +contrib/hashes.obj: contrib/hashes.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/hashes.obj -MD -MP -MF "contrib/$(DEPDIR)/hashes.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/hashes.obj `if test -f 'contrib/hashes.cc'; then $(CYGPATH_W) 'contrib/hashes.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/hashes.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/hashes.Tpo" "contrib/$(DEPDIR)/hashes.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/hashes.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/hashes.cc' object='contrib/hashes.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/hashes.Po' tmpdepfile='contrib/$(DEPDIR)/hashes.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/hashes.obj `if test -f 'contrib/hashes.cc'; then $(CYGPATH_W) 'contrib/hashes.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/hashes.cc'; fi` + +contrib/hashes.lo: contrib/hashes.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/hashes.lo -MD -MP -MF "contrib/$(DEPDIR)/hashes.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/hashes.lo `test -f 'contrib/hashes.cc' || echo '$(srcdir)/'`contrib/hashes.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/hashes.Tpo" "contrib/$(DEPDIR)/hashes.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/hashes.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/hashes.cc' object='contrib/hashes.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/hashes.Plo' tmpdepfile='contrib/$(DEPDIR)/hashes.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/hashes.lo `test -f 'contrib/hashes.cc' || echo '$(srcdir)/'`contrib/hashes.cc + +contrib/md5.o: contrib/md5.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/md5.o -MD -MP -MF "contrib/$(DEPDIR)/md5.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/md5.o `test -f 'contrib/md5.cc' || echo '$(srcdir)/'`contrib/md5.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/md5.Tpo" "contrib/$(DEPDIR)/md5.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/md5.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/md5.cc' object='contrib/md5.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/md5.Po' tmpdepfile='contrib/$(DEPDIR)/md5.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/md5.o `test -f 'contrib/md5.cc' || echo '$(srcdir)/'`contrib/md5.cc + +contrib/md5.obj: contrib/md5.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/md5.obj -MD -MP -MF "contrib/$(DEPDIR)/md5.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/md5.obj `if test -f 'contrib/md5.cc'; then $(CYGPATH_W) 'contrib/md5.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/md5.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/md5.Tpo" "contrib/$(DEPDIR)/md5.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/md5.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/md5.cc' object='contrib/md5.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/md5.Po' tmpdepfile='contrib/$(DEPDIR)/md5.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/md5.obj `if test -f 'contrib/md5.cc'; then $(CYGPATH_W) 'contrib/md5.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/md5.cc'; fi` + +contrib/md5.lo: contrib/md5.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/md5.lo -MD -MP -MF "contrib/$(DEPDIR)/md5.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/md5.lo `test -f 'contrib/md5.cc' || echo '$(srcdir)/'`contrib/md5.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/md5.Tpo" "contrib/$(DEPDIR)/md5.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/md5.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/md5.cc' object='contrib/md5.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/md5.Plo' tmpdepfile='contrib/$(DEPDIR)/md5.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/md5.lo `test -f 'contrib/md5.cc' || echo '$(srcdir)/'`contrib/md5.cc + +contrib/mmap.o: contrib/mmap.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/mmap.o -MD -MP -MF "contrib/$(DEPDIR)/mmap.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/mmap.o `test -f 'contrib/mmap.cc' || echo '$(srcdir)/'`contrib/mmap.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/mmap.Tpo" "contrib/$(DEPDIR)/mmap.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/mmap.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/mmap.cc' object='contrib/mmap.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/mmap.Po' tmpdepfile='contrib/$(DEPDIR)/mmap.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/mmap.o `test -f 'contrib/mmap.cc' || echo '$(srcdir)/'`contrib/mmap.cc + +contrib/mmap.obj: contrib/mmap.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/mmap.obj -MD -MP -MF "contrib/$(DEPDIR)/mmap.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/mmap.obj `if test -f 'contrib/mmap.cc'; then $(CYGPATH_W) 'contrib/mmap.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/mmap.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/mmap.Tpo" "contrib/$(DEPDIR)/mmap.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/mmap.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/mmap.cc' object='contrib/mmap.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/mmap.Po' tmpdepfile='contrib/$(DEPDIR)/mmap.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/mmap.obj `if test -f 'contrib/mmap.cc'; then $(CYGPATH_W) 'contrib/mmap.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/mmap.cc'; fi` + +contrib/mmap.lo: contrib/mmap.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/mmap.lo -MD -MP -MF "contrib/$(DEPDIR)/mmap.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/mmap.lo `test -f 'contrib/mmap.cc' || echo '$(srcdir)/'`contrib/mmap.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/mmap.Tpo" "contrib/$(DEPDIR)/mmap.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/mmap.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/mmap.cc' object='contrib/mmap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/mmap.Plo' tmpdepfile='contrib/$(DEPDIR)/mmap.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/mmap.lo `test -f 'contrib/mmap.cc' || echo '$(srcdir)/'`contrib/mmap.cc + +contrib/progress.o: contrib/progress.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/progress.o -MD -MP -MF "contrib/$(DEPDIR)/progress.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/progress.o `test -f 'contrib/progress.cc' || echo '$(srcdir)/'`contrib/progress.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/progress.Tpo" "contrib/$(DEPDIR)/progress.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/progress.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/progress.cc' object='contrib/progress.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/progress.Po' tmpdepfile='contrib/$(DEPDIR)/progress.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/progress.o `test -f 'contrib/progress.cc' || echo '$(srcdir)/'`contrib/progress.cc + +contrib/progress.obj: contrib/progress.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/progress.obj -MD -MP -MF "contrib/$(DEPDIR)/progress.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/progress.obj `if test -f 'contrib/progress.cc'; then $(CYGPATH_W) 'contrib/progress.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/progress.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/progress.Tpo" "contrib/$(DEPDIR)/progress.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/progress.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/progress.cc' object='contrib/progress.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/progress.Po' tmpdepfile='contrib/$(DEPDIR)/progress.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/progress.obj `if test -f 'contrib/progress.cc'; then $(CYGPATH_W) 'contrib/progress.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/progress.cc'; fi` + +contrib/progress.lo: contrib/progress.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/progress.lo -MD -MP -MF "contrib/$(DEPDIR)/progress.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/progress.lo `test -f 'contrib/progress.cc' || echo '$(srcdir)/'`contrib/progress.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/progress.Tpo" "contrib/$(DEPDIR)/progress.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/progress.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/progress.cc' object='contrib/progress.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/progress.Plo' tmpdepfile='contrib/$(DEPDIR)/progress.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/progress.lo `test -f 'contrib/progress.cc' || echo '$(srcdir)/'`contrib/progress.cc + +contrib/sha1.o: contrib/sha1.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/sha1.o -MD -MP -MF "contrib/$(DEPDIR)/sha1.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/sha1.o `test -f 'contrib/sha1.cc' || echo '$(srcdir)/'`contrib/sha1.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/sha1.Tpo" "contrib/$(DEPDIR)/sha1.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/sha1.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/sha1.cc' object='contrib/sha1.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/sha1.Po' tmpdepfile='contrib/$(DEPDIR)/sha1.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/sha1.o `test -f 'contrib/sha1.cc' || echo '$(srcdir)/'`contrib/sha1.cc + +contrib/sha1.obj: contrib/sha1.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/sha1.obj -MD -MP -MF "contrib/$(DEPDIR)/sha1.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/sha1.obj `if test -f 'contrib/sha1.cc'; then $(CYGPATH_W) 'contrib/sha1.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/sha1.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/sha1.Tpo" "contrib/$(DEPDIR)/sha1.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/sha1.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/sha1.cc' object='contrib/sha1.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/sha1.Po' tmpdepfile='contrib/$(DEPDIR)/sha1.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/sha1.obj `if test -f 'contrib/sha1.cc'; then $(CYGPATH_W) 'contrib/sha1.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/sha1.cc'; fi` + +contrib/sha1.lo: contrib/sha1.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/sha1.lo -MD -MP -MF "contrib/$(DEPDIR)/sha1.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/sha1.lo `test -f 'contrib/sha1.cc' || echo '$(srcdir)/'`contrib/sha1.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/sha1.Tpo" "contrib/$(DEPDIR)/sha1.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/sha1.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/sha1.cc' object='contrib/sha1.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/sha1.Plo' tmpdepfile='contrib/$(DEPDIR)/sha1.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/sha1.lo `test -f 'contrib/sha1.cc' || echo '$(srcdir)/'`contrib/sha1.cc + +contrib/strutl.o: contrib/strutl.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/strutl.o -MD -MP -MF "contrib/$(DEPDIR)/strutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/strutl.o `test -f 'contrib/strutl.cc' || echo '$(srcdir)/'`contrib/strutl.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/strutl.Tpo" "contrib/$(DEPDIR)/strutl.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/strutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/strutl.cc' object='contrib/strutl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/strutl.Po' tmpdepfile='contrib/$(DEPDIR)/strutl.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/strutl.o `test -f 'contrib/strutl.cc' || echo '$(srcdir)/'`contrib/strutl.cc + +contrib/strutl.obj: contrib/strutl.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/strutl.obj -MD -MP -MF "contrib/$(DEPDIR)/strutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/strutl.obj `if test -f 'contrib/strutl.cc'; then $(CYGPATH_W) 'contrib/strutl.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/strutl.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/strutl.Tpo" "contrib/$(DEPDIR)/strutl.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/strutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/strutl.cc' object='contrib/strutl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/strutl.Po' tmpdepfile='contrib/$(DEPDIR)/strutl.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/strutl.obj `if test -f 'contrib/strutl.cc'; then $(CYGPATH_W) 'contrib/strutl.cc'; else $(CYGPATH_W) '$(srcdir)/contrib/strutl.cc'; fi` + +contrib/strutl.lo: contrib/strutl.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT contrib/strutl.lo -MD -MP -MF "contrib/$(DEPDIR)/strutl.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o contrib/strutl.lo `test -f 'contrib/strutl.cc' || echo '$(srcdir)/'`contrib/strutl.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "contrib/$(DEPDIR)/strutl.Tpo" "contrib/$(DEPDIR)/strutl.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "contrib/$(DEPDIR)/strutl.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='contrib/strutl.cc' object='contrib/strutl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='contrib/$(DEPDIR)/strutl.Plo' tmpdepfile='contrib/$(DEPDIR)/strutl.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o contrib/strutl.lo `test -f 'contrib/strutl.cc' || echo '$(srcdir)/'`contrib/strutl.cc + +rpm/rpmhandler.o: rpm/rpmhandler.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmhandler.o -MD -MP -MF "rpm/$(DEPDIR)/rpmhandler.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmhandler.o `test -f 'rpm/rpmhandler.cc' || echo '$(srcdir)/'`rpm/rpmhandler.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmhandler.Tpo" "rpm/$(DEPDIR)/rpmhandler.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmhandler.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmhandler.cc' object='rpm/rpmhandler.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmhandler.Po' tmpdepfile='rpm/$(DEPDIR)/rpmhandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmhandler.o `test -f 'rpm/rpmhandler.cc' || echo '$(srcdir)/'`rpm/rpmhandler.cc + +rpm/rpmhandler.obj: rpm/rpmhandler.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmhandler.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmhandler.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmhandler.obj `if test -f 'rpm/rpmhandler.cc'; then $(CYGPATH_W) 'rpm/rpmhandler.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmhandler.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmhandler.Tpo" "rpm/$(DEPDIR)/rpmhandler.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmhandler.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmhandler.cc' object='rpm/rpmhandler.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmhandler.Po' tmpdepfile='rpm/$(DEPDIR)/rpmhandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmhandler.obj `if test -f 'rpm/rpmhandler.cc'; then $(CYGPATH_W) 'rpm/rpmhandler.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmhandler.cc'; fi` + +rpm/rpmhandler.lo: rpm/rpmhandler.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmhandler.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmhandler.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmhandler.lo `test -f 'rpm/rpmhandler.cc' || echo '$(srcdir)/'`rpm/rpmhandler.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmhandler.Tpo" "rpm/$(DEPDIR)/rpmhandler.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmhandler.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmhandler.cc' object='rpm/rpmhandler.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmhandler.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmhandler.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmhandler.lo `test -f 'rpm/rpmhandler.cc' || echo '$(srcdir)/'`rpm/rpmhandler.cc + +rpm/rpmindexfile.o: rpm/rpmindexfile.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmindexfile.o -MD -MP -MF "rpm/$(DEPDIR)/rpmindexfile.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmindexfile.o `test -f 'rpm/rpmindexfile.cc' || echo '$(srcdir)/'`rpm/rpmindexfile.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmindexfile.Tpo" "rpm/$(DEPDIR)/rpmindexfile.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmindexfile.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmindexfile.cc' object='rpm/rpmindexfile.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmindexfile.Po' tmpdepfile='rpm/$(DEPDIR)/rpmindexfile.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmindexfile.o `test -f 'rpm/rpmindexfile.cc' || echo '$(srcdir)/'`rpm/rpmindexfile.cc + +rpm/rpmindexfile.obj: rpm/rpmindexfile.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmindexfile.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmindexfile.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmindexfile.obj `if test -f 'rpm/rpmindexfile.cc'; then $(CYGPATH_W) 'rpm/rpmindexfile.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmindexfile.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmindexfile.Tpo" "rpm/$(DEPDIR)/rpmindexfile.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmindexfile.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmindexfile.cc' object='rpm/rpmindexfile.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmindexfile.Po' tmpdepfile='rpm/$(DEPDIR)/rpmindexfile.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmindexfile.obj `if test -f 'rpm/rpmindexfile.cc'; then $(CYGPATH_W) 'rpm/rpmindexfile.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmindexfile.cc'; fi` + +rpm/rpmindexfile.lo: rpm/rpmindexfile.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmindexfile.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmindexfile.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmindexfile.lo `test -f 'rpm/rpmindexfile.cc' || echo '$(srcdir)/'`rpm/rpmindexfile.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmindexfile.Tpo" "rpm/$(DEPDIR)/rpmindexfile.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmindexfile.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmindexfile.cc' object='rpm/rpmindexfile.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmindexfile.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmindexfile.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmindexfile.lo `test -f 'rpm/rpmindexfile.cc' || echo '$(srcdir)/'`rpm/rpmindexfile.cc + +rpm/rpmlistparser.o: rpm/rpmlistparser.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmlistparser.o -MD -MP -MF "rpm/$(DEPDIR)/rpmlistparser.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmlistparser.o `test -f 'rpm/rpmlistparser.cc' || echo '$(srcdir)/'`rpm/rpmlistparser.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmlistparser.Tpo" "rpm/$(DEPDIR)/rpmlistparser.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmlistparser.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmlistparser.cc' object='rpm/rpmlistparser.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmlistparser.Po' tmpdepfile='rpm/$(DEPDIR)/rpmlistparser.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmlistparser.o `test -f 'rpm/rpmlistparser.cc' || echo '$(srcdir)/'`rpm/rpmlistparser.cc + +rpm/rpmlistparser.obj: rpm/rpmlistparser.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmlistparser.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmlistparser.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmlistparser.obj `if test -f 'rpm/rpmlistparser.cc'; then $(CYGPATH_W) 'rpm/rpmlistparser.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmlistparser.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmlistparser.Tpo" "rpm/$(DEPDIR)/rpmlistparser.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmlistparser.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmlistparser.cc' object='rpm/rpmlistparser.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmlistparser.Po' tmpdepfile='rpm/$(DEPDIR)/rpmlistparser.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmlistparser.obj `if test -f 'rpm/rpmlistparser.cc'; then $(CYGPATH_W) 'rpm/rpmlistparser.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmlistparser.cc'; fi` + +rpm/rpmlistparser.lo: rpm/rpmlistparser.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmlistparser.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmlistparser.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmlistparser.lo `test -f 'rpm/rpmlistparser.cc' || echo '$(srcdir)/'`rpm/rpmlistparser.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmlistparser.Tpo" "rpm/$(DEPDIR)/rpmlistparser.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmlistparser.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmlistparser.cc' object='rpm/rpmlistparser.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmlistparser.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmlistparser.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmlistparser.lo `test -f 'rpm/rpmlistparser.cc' || echo '$(srcdir)/'`rpm/rpmlistparser.cc + +rpm/rpmpackagedata.o: rpm/rpmpackagedata.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmpackagedata.o -MD -MP -MF "rpm/$(DEPDIR)/rpmpackagedata.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmpackagedata.o `test -f 'rpm/rpmpackagedata.cc' || echo '$(srcdir)/'`rpm/rpmpackagedata.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmpackagedata.Tpo" "rpm/$(DEPDIR)/rpmpackagedata.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmpackagedata.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmpackagedata.cc' object='rpm/rpmpackagedata.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmpackagedata.Po' tmpdepfile='rpm/$(DEPDIR)/rpmpackagedata.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmpackagedata.o `test -f 'rpm/rpmpackagedata.cc' || echo '$(srcdir)/'`rpm/rpmpackagedata.cc + +rpm/rpmpackagedata.obj: rpm/rpmpackagedata.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmpackagedata.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmpackagedata.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmpackagedata.obj `if test -f 'rpm/rpmpackagedata.cc'; then $(CYGPATH_W) 'rpm/rpmpackagedata.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmpackagedata.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmpackagedata.Tpo" "rpm/$(DEPDIR)/rpmpackagedata.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmpackagedata.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmpackagedata.cc' object='rpm/rpmpackagedata.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmpackagedata.Po' tmpdepfile='rpm/$(DEPDIR)/rpmpackagedata.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmpackagedata.obj `if test -f 'rpm/rpmpackagedata.cc'; then $(CYGPATH_W) 'rpm/rpmpackagedata.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmpackagedata.cc'; fi` + +rpm/rpmpackagedata.lo: rpm/rpmpackagedata.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmpackagedata.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmpackagedata.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmpackagedata.lo `test -f 'rpm/rpmpackagedata.cc' || echo '$(srcdir)/'`rpm/rpmpackagedata.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmpackagedata.Tpo" "rpm/$(DEPDIR)/rpmpackagedata.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmpackagedata.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmpackagedata.cc' object='rpm/rpmpackagedata.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmpackagedata.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmpackagedata.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmpackagedata.lo `test -f 'rpm/rpmpackagedata.cc' || echo '$(srcdir)/'`rpm/rpmpackagedata.cc + +rpm/rpmpm.o: rpm/rpmpm.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmpm.o -MD -MP -MF "rpm/$(DEPDIR)/rpmpm.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmpm.o `test -f 'rpm/rpmpm.cc' || echo '$(srcdir)/'`rpm/rpmpm.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmpm.Tpo" "rpm/$(DEPDIR)/rpmpm.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmpm.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmpm.cc' object='rpm/rpmpm.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmpm.Po' tmpdepfile='rpm/$(DEPDIR)/rpmpm.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmpm.o `test -f 'rpm/rpmpm.cc' || echo '$(srcdir)/'`rpm/rpmpm.cc + +rpm/rpmpm.obj: rpm/rpmpm.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmpm.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmpm.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmpm.obj `if test -f 'rpm/rpmpm.cc'; then $(CYGPATH_W) 'rpm/rpmpm.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmpm.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmpm.Tpo" "rpm/$(DEPDIR)/rpmpm.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmpm.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmpm.cc' object='rpm/rpmpm.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmpm.Po' tmpdepfile='rpm/$(DEPDIR)/rpmpm.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmpm.obj `if test -f 'rpm/rpmpm.cc'; then $(CYGPATH_W) 'rpm/rpmpm.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmpm.cc'; fi` + +rpm/rpmpm.lo: rpm/rpmpm.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmpm.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmpm.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmpm.lo `test -f 'rpm/rpmpm.cc' || echo '$(srcdir)/'`rpm/rpmpm.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmpm.Tpo" "rpm/$(DEPDIR)/rpmpm.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmpm.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmpm.cc' object='rpm/rpmpm.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmpm.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmpm.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmpm.lo `test -f 'rpm/rpmpm.cc' || echo '$(srcdir)/'`rpm/rpmpm.cc + +rpm/rpmrecords.o: rpm/rpmrecords.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmrecords.o -MD -MP -MF "rpm/$(DEPDIR)/rpmrecords.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmrecords.o `test -f 'rpm/rpmrecords.cc' || echo '$(srcdir)/'`rpm/rpmrecords.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmrecords.Tpo" "rpm/$(DEPDIR)/rpmrecords.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmrecords.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmrecords.cc' object='rpm/rpmrecords.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmrecords.Po' tmpdepfile='rpm/$(DEPDIR)/rpmrecords.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmrecords.o `test -f 'rpm/rpmrecords.cc' || echo '$(srcdir)/'`rpm/rpmrecords.cc + +rpm/rpmrecords.obj: rpm/rpmrecords.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmrecords.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmrecords.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmrecords.obj `if test -f 'rpm/rpmrecords.cc'; then $(CYGPATH_W) 'rpm/rpmrecords.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmrecords.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmrecords.Tpo" "rpm/$(DEPDIR)/rpmrecords.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmrecords.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmrecords.cc' object='rpm/rpmrecords.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmrecords.Po' tmpdepfile='rpm/$(DEPDIR)/rpmrecords.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmrecords.obj `if test -f 'rpm/rpmrecords.cc'; then $(CYGPATH_W) 'rpm/rpmrecords.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmrecords.cc'; fi` + +rpm/rpmrecords.lo: rpm/rpmrecords.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmrecords.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmrecords.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmrecords.lo `test -f 'rpm/rpmrecords.cc' || echo '$(srcdir)/'`rpm/rpmrecords.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmrecords.Tpo" "rpm/$(DEPDIR)/rpmrecords.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmrecords.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmrecords.cc' object='rpm/rpmrecords.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmrecords.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmrecords.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmrecords.lo `test -f 'rpm/rpmrecords.cc' || echo '$(srcdir)/'`rpm/rpmrecords.cc + +rpm/rpmsrcrecords.o: rpm/rpmsrcrecords.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmsrcrecords.o -MD -MP -MF "rpm/$(DEPDIR)/rpmsrcrecords.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmsrcrecords.o `test -f 'rpm/rpmsrcrecords.cc' || echo '$(srcdir)/'`rpm/rpmsrcrecords.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmsrcrecords.Tpo" "rpm/$(DEPDIR)/rpmsrcrecords.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmsrcrecords.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmsrcrecords.cc' object='rpm/rpmsrcrecords.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmsrcrecords.Po' tmpdepfile='rpm/$(DEPDIR)/rpmsrcrecords.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmsrcrecords.o `test -f 'rpm/rpmsrcrecords.cc' || echo '$(srcdir)/'`rpm/rpmsrcrecords.cc + +rpm/rpmsrcrecords.obj: rpm/rpmsrcrecords.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmsrcrecords.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmsrcrecords.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmsrcrecords.obj `if test -f 'rpm/rpmsrcrecords.cc'; then $(CYGPATH_W) 'rpm/rpmsrcrecords.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmsrcrecords.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmsrcrecords.Tpo" "rpm/$(DEPDIR)/rpmsrcrecords.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmsrcrecords.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmsrcrecords.cc' object='rpm/rpmsrcrecords.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmsrcrecords.Po' tmpdepfile='rpm/$(DEPDIR)/rpmsrcrecords.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmsrcrecords.obj `if test -f 'rpm/rpmsrcrecords.cc'; then $(CYGPATH_W) 'rpm/rpmsrcrecords.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmsrcrecords.cc'; fi` + +rpm/rpmsrcrecords.lo: rpm/rpmsrcrecords.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmsrcrecords.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmsrcrecords.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmsrcrecords.lo `test -f 'rpm/rpmsrcrecords.cc' || echo '$(srcdir)/'`rpm/rpmsrcrecords.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmsrcrecords.Tpo" "rpm/$(DEPDIR)/rpmsrcrecords.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmsrcrecords.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmsrcrecords.cc' object='rpm/rpmsrcrecords.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmsrcrecords.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmsrcrecords.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmsrcrecords.lo `test -f 'rpm/rpmsrcrecords.cc' || echo '$(srcdir)/'`rpm/rpmsrcrecords.cc + +rpm/rpmsystem.o: rpm/rpmsystem.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmsystem.o -MD -MP -MF "rpm/$(DEPDIR)/rpmsystem.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmsystem.o `test -f 'rpm/rpmsystem.cc' || echo '$(srcdir)/'`rpm/rpmsystem.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmsystem.Tpo" "rpm/$(DEPDIR)/rpmsystem.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmsystem.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmsystem.cc' object='rpm/rpmsystem.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmsystem.Po' tmpdepfile='rpm/$(DEPDIR)/rpmsystem.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmsystem.o `test -f 'rpm/rpmsystem.cc' || echo '$(srcdir)/'`rpm/rpmsystem.cc + +rpm/rpmsystem.obj: rpm/rpmsystem.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmsystem.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmsystem.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmsystem.obj `if test -f 'rpm/rpmsystem.cc'; then $(CYGPATH_W) 'rpm/rpmsystem.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmsystem.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmsystem.Tpo" "rpm/$(DEPDIR)/rpmsystem.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmsystem.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmsystem.cc' object='rpm/rpmsystem.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmsystem.Po' tmpdepfile='rpm/$(DEPDIR)/rpmsystem.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmsystem.obj `if test -f 'rpm/rpmsystem.cc'; then $(CYGPATH_W) 'rpm/rpmsystem.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmsystem.cc'; fi` + +rpm/rpmsystem.lo: rpm/rpmsystem.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmsystem.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmsystem.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmsystem.lo `test -f 'rpm/rpmsystem.cc' || echo '$(srcdir)/'`rpm/rpmsystem.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmsystem.Tpo" "rpm/$(DEPDIR)/rpmsystem.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmsystem.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmsystem.cc' object='rpm/rpmsystem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmsystem.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmsystem.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmsystem.lo `test -f 'rpm/rpmsystem.cc' || echo '$(srcdir)/'`rpm/rpmsystem.cc + +rpm/rpmversion.o: rpm/rpmversion.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmversion.o -MD -MP -MF "rpm/$(DEPDIR)/rpmversion.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmversion.o `test -f 'rpm/rpmversion.cc' || echo '$(srcdir)/'`rpm/rpmversion.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmversion.Tpo" "rpm/$(DEPDIR)/rpmversion.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmversion.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmversion.cc' object='rpm/rpmversion.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmversion.Po' tmpdepfile='rpm/$(DEPDIR)/rpmversion.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmversion.o `test -f 'rpm/rpmversion.cc' || echo '$(srcdir)/'`rpm/rpmversion.cc + +rpm/rpmversion.obj: rpm/rpmversion.cc +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmversion.obj -MD -MP -MF "rpm/$(DEPDIR)/rpmversion.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmversion.obj `if test -f 'rpm/rpmversion.cc'; then $(CYGPATH_W) 'rpm/rpmversion.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmversion.cc'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmversion.Tpo" "rpm/$(DEPDIR)/rpmversion.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmversion.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmversion.cc' object='rpm/rpmversion.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmversion.Po' tmpdepfile='rpm/$(DEPDIR)/rpmversion.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmversion.obj `if test -f 'rpm/rpmversion.cc'; then $(CYGPATH_W) 'rpm/rpmversion.cc'; else $(CYGPATH_W) '$(srcdir)/rpm/rpmversion.cc'; fi` + +rpm/rpmversion.lo: rpm/rpmversion.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpm/rpmversion.lo -MD -MP -MF "rpm/$(DEPDIR)/rpmversion.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o rpm/rpmversion.lo `test -f 'rpm/rpmversion.cc' || echo '$(srcdir)/'`rpm/rpmversion.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "rpm/$(DEPDIR)/rpmversion.Tpo" "rpm/$(DEPDIR)/rpmversion.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "rpm/$(DEPDIR)/rpmversion.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rpm/rpmversion.cc' object='rpm/rpmversion.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='rpm/$(DEPDIR)/rpmversion.Plo' tmpdepfile='rpm/$(DEPDIR)/rpmversion.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpm/rpmversion.lo `test -f 'rpm/rpmversion.cc' || echo '$(srcdir)/'`rpm/rpmversion.cc + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf contrib/.libs contrib/_libs + -rm -rf rpm/.libs rpm/_libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +includeHEADERS_INSTALL = $(INSTALL_HEADER) +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(includedir) + @list='$(include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \ + $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(includedir)/$$f"; \ + rm -f $(DESTDIR)$(includedir)/$$f; \ + done + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + -rm -f rpm/$(am__dirstamp) + -rm -f contrib/$(DEPDIR)/$(am__dirstamp) + -rm -f contrib/$(am__dirstamp) + -rm -f rpm/$(DEPDIR)/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) contrib/$(DEPDIR) rpm/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-includeHEADERS + +install-exec-am: install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) contrib/$(DEPDIR) rpm/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-includeHEADERS uninstall-info-am \ + uninstall-libLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool clean-local ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am info info-am install \ + install-am install-data install-data-am install-exec \ + install-exec-am install-includeHEADERS install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \ + pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-includeHEADERS uninstall-info-am \ + uninstall-libLTLIBRARIES + +$(REALOBJECTS): $(COPYHEADERS) $(PRIVCOPYHEADERS) + +$(top_builddir)/include/apt-pkg/%: % + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/apt-pkg/%: contrib/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/apt-pkg/%: rpm/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/%: % + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/%: contrib/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ +$(top_builddir)/include/%: rpm/% + @$(mkinstalldirs) $(top_builddir)/include/apt-pkg + cp -f -p $< $@ + +clean-local: + rm -f $(PRIVCOPYHEADERS) + rm -rf $(top_builddir)/include/apt-pkg +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/apt/apt-pkg/acquire-item.cc b/apt/apt-pkg/acquire-item.cc index 1061354..6ff91dc 100644 --- a/apt/apt-pkg/acquire-item.cc +++ b/apt/apt-pkg/acquire-item.cc @@ -26,7 +26,10 @@ // CNC:2002-07-03 #include #include +#include +#include #include +#include using namespace std; #include @@ -188,7 +191,7 @@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner,pkgRepository *Repository, // Create the item // CNC:2002-07-03 - Desc.URI = URI + ".bz2"; + Desc.URI = URI + _config->Find("Acquire::ComprExtension", ".bz2"); Desc.Description = URIDesc; Desc.Owner = this; Desc.ShortDesc = ShortDesc; @@ -773,6 +776,33 @@ bool pkgAcqArchive::QueueNext() return false; } /*}}}*/ + +// CNC:2003-03-19 +#ifdef WITH_LUA +// ScriptsAcquireDone - Script trigger. /*{{{*/ +// --------------------------------------------------------------------- +/* */ +template +static void ScriptsAcquireDone(const char *ConfKey, + string &StoreFilename, + string &ErrorText, + T &Status) +{ + if (_lua->HasScripts(ConfKey) == true) { + _lua->SetGlobal("acquire_filename", StoreFilename.c_str()); + _lua->SetGlobal("acquire_error", (const char *)NULL); + _lua->RunScripts(ConfKey, true); + const char *Error = _lua->GetGlobal("acquire_error"); + if (Error != NULL && *Error != 0) { + Status = pkgAcquire::Item::StatError; + ErrorText = Error; + } + _lua->ResetGlobals(); + } +} + /*}}}*/ +#endif + // AcqArchive::Done - Finished fetching /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -817,6 +847,13 @@ void pkgAcqArchive::Done(string Message,unsigned long Size,string Md5Hash, { StoreFilename = DestFile = FileName; Local = true; + +// CNC:2003-03-19 +#ifdef WITH_LUA + ScriptsAcquireDone("Scripts::Acquire::Archive::Done", + StoreFilename, ErrorText, Status); +#endif + return; } @@ -827,6 +864,13 @@ void pkgAcqArchive::Done(string Message,unsigned long Size,string Md5Hash, StoreFilename = DestFile = FinalFile; Complete = true; + +// CNC:2003-03-19 +#ifdef WITH_LUA + ScriptsAcquireDone("Scripts::Acquire::Archive::Done", + StoreFilename, ErrorText, Status); +#endif + } /*}}}*/ // AcqArchive::Failed - Failure handler /*{{{*/ @@ -965,6 +1009,13 @@ void pkgAcqFile::Done(string Message,unsigned long Size,string MD5, { if (S_ISLNK(St.st_mode) != 0) unlink(DestFile.c_str()); + // CNC:2003-12-11 - Check if FileName == DestFile + else { + struct stat St2; + if (stat(FileName.c_str(), &St2) == 0 + && St.st_ino == St2.st_ino) + return; + } } // Symlink the file diff --git a/apt/apt-pkg/acquire-item.h b/apt/apt-pkg/acquire-item.h index 4b671dc..4303648 100644 --- a/apt/apt-pkg/acquire-item.h +++ b/apt/apt-pkg/acquire-item.h @@ -46,7 +46,7 @@ class pkgAcquire::Item // State of the item /* CNC:2002-11-22 - * Do not use anonyomus enums, as this breaks swig in some cases */ + * Do not use anonyomus enums, as this breaks SWIG in some cases */ enum StatusFlags {StatIdle, StatFetching, StatDone, StatError} Status; string ErrorText; unsigned long FileSize; diff --git a/apt/apt-pkg/algorithms.cc b/apt/apt-pkg/algorithms.cc index 174840d..e8abff2 100644 --- a/apt/apt-pkg/algorithms.cc +++ b/apt/apt-pkg/algorithms.cc @@ -419,7 +419,8 @@ bool pkgDistUpgrade(pkgDepCache &Cache) if (_config->FindB("APT::Remove-Depends",false) == true) Fix.RemoveDepends(); - return Fix.Resolve(); + // CNC:2003-03-22 + return Fix.Resolve(true); } /*}}}*/ // AllUpgrade - Upgrade as many packages as possible /*{{{*/ @@ -1029,6 +1030,22 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if ((Flags[Pkg->ID] & Protected) != 0) continue; + // CNC:2003-03-22 + pkgDepCache::State State(&Cache); + if (BrokenFix == true && DoUpgrade(Pkg) == true) + { + if (Cache[I].InstBroken() == false && + State.BrokenCount() >= Cache.BrokenCount()) + { + if (Debug == true) + clog << " Installing " << Pkg.Name() << endl; + Change = true; + break; + } + else + State.Restore(); + } + if (Debug == true) clog << " Added " << Pkg.Name() << " to the remove list" << endl; @@ -1405,7 +1422,7 @@ static int PrioComp(const void *A,const void *B) return -1; if (L->Priority != R->Priority) - return R->Priority - L->Priority; + return L->Priority - R->Priority; return strcmp(L.ParentPkg().Name(),R.ParentPkg().Name()); } void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List) diff --git a/apt/apt-pkg/cacheiterators.h b/apt/apt-pkg/cacheiterators.h index 4cb0bc7..92427b8 100644 --- a/apt/apt-pkg/cacheiterators.h +++ b/apt/apt-pkg/cacheiterators.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: cacheiterators.h,v 1.1 2002/07/23 17:54:50 niemeyer Exp $ +// $Id: cacheiterators.h,v 1.18 2003/10/09 23:15:25 mdz Exp $ /* ###################################################################### Cache Iterators - Iterators for navigating the cache structure @@ -302,7 +302,7 @@ class pkgCache::PkgFileIterator inline const char *Component() const {return File->Component == 0?0:Owner->StrP + File->Component;}; inline const char *Version() const {return File->Version == 0?0:Owner->StrP + File->Version;}; inline const char *Origin() const {return File->Origin == 0?0:Owner->StrP + File->Origin;}; - inline const char *Label() const {return File->Origin == 0?0:Owner->StrP + File->Label;}; + inline const char *Label() const {return File->Label == 0?0:Owner->StrP + File->Label;}; inline const char *Site() const {return File->Site == 0?0:Owner->StrP + File->Site;}; inline const char *Architecture() const {return File->Architecture == 0?0:Owner->StrP + File->Architecture;}; inline const char *IndexType() const {return File->IndexType == 0?0:Owner->StrP + File->IndexType;}; diff --git a/apt/apt-pkg/contrib/configuration.cc b/apt/apt-pkg/contrib/configuration.cc index 04f37ad..6a69080 100644 --- a/apt/apt-pkg/contrib/configuration.cc +++ b/apt/apt-pkg/contrib/configuration.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: configuration.cc,v 1.4 2003/01/29 18:43:48 niemeyer Exp $ +// $Id: configuration.cc,v 1.27 2003/07/26 00:27:36 mdz Exp $ /* ###################################################################### Configuration Class @@ -305,7 +305,8 @@ string Configuration::FindAny(const char *Name,const char *Default) const // bool case 'b': - return FindB(key, Default) ? "true" : "false"; + // CNC:2003-11-23 + return FindB(key, StringToBool(Default)) ? "true" : "false"; // int case 'i': @@ -412,13 +413,17 @@ bool Configuration::ExistsAny(const char *Name) const { string key = Name; - if (key.size() > 2 && key.end()[-2] == '/' && - key.find_first_of("fdbi",key.size()-1) < key.size()) - { - key.resize(key.size() - 2); - if (Exists(key.c_str())) - return true; - } + if (key.size() > 2 && key.end()[-2] == '/') + if (key.find_first_of("fdbi",key.size()-1) < key.size()) + { + key.resize(key.size() - 2); + if (Exists(key.c_str())) + return true; + } + else + { + _error->Warning(_("Unrecognized type abbreviation: '%c'"), key.end()[-3]); + } return Exists(Name); } @@ -735,6 +740,11 @@ bool ReadConfigDir(Configuration &Conf,string Dir,bool AsSectional, { if (Ent->d_name[0] == '.') continue; + + // CNC:2003-12-02 Only accept .list & .conf files as valid config parts + if ((flExtension(Ent->d_name) != "list") && + (flExtension(Ent->d_name) != "conf")) + continue; // Skip bad file names ala run-parts const char *C = Ent->d_name; diff --git a/apt/apt-pkg/contrib/strutl.cc b/apt/apt-pkg/contrib/strutl.cc index 4987307..a75fbdf 100644 --- a/apt/apt-pkg/contrib/strutl.cc +++ b/apt/apt-pkg/contrib/strutl.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: strutl.cc,v 1.47 2003/02/02 22:20:27 jgg Exp $ +// $Id: strutl.cc,v 1.48 2003/07/18 14:15:11 mdz Exp $ /* ###################################################################### String Util - Some useful string functions. @@ -652,7 +652,7 @@ bool ReadMessages(int Fd, vector &List) continue; // Pull the message out - string Message(Buffer,0,I-Buffer); + string Message(Buffer,I-Buffer); // Fix up the buffer for (; I < End && *I == '\n'; I++); @@ -1045,7 +1045,7 @@ void URI::CopyFrom(string U) Path = "/"; // Now we attempt to locate a user:pass@host fragment - if (FirstColon[1] == '/' && FirstColon[2] == '/') + if (FirstColon + 2 <= U.end() && FirstColon[1] == '/' && FirstColon[2] == '/') FirstColon += 3; else FirstColon += 1; diff --git a/apt/apt-pkg/deb/deblistparser.cc b/apt/apt-pkg/deb/deblistparser.cc index a3d41f7..cf81690 100644 --- a/apt/apt-pkg/deb/deblistparser.cc +++ b/apt/apt-pkg/deb/deblistparser.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: deblistparser.cc,v 1.2 2002/07/25 18:07:18 niemeyer Exp $ +// $Id: deblistparser.cc,v 1.29 2003/09/22 04:16:26 mdz Exp $ /* ###################################################################### Package Cache Generator - Generator for the cache structure. @@ -268,11 +268,7 @@ bool debListParser::ParseStatus(pkgCache::PkgIterator Pkg, return true; } - /*}}}*/ -// ListParser::ParseDepends - Parse a dependency element /*{{{*/ -// --------------------------------------------------------------------- -/* This parses the dependency elements out of a standard string in place, - bit by bit. */ + const char *debListParser::ConvertRelation(const char *I,unsigned int &Op) { // Determine the operator @@ -331,6 +327,11 @@ const char *debListParser::ConvertRelation(const char *I,unsigned int &Op) return I; } + /*}}}*/ +// ListParser::ParseDepends - Parse a dependency element /*{{{*/ +// --------------------------------------------------------------------- +/* This parses the dependency elements out of a standard string in place, + bit by bit. */ const char *debListParser::ParseDepends(const char *Start,const char *Stop, string &Package,string &Ver, unsigned int &Op, bool ParseArchFlags) diff --git a/apt/apt-pkg/deb/debversion.cc b/apt/apt-pkg/deb/debversion.cc index 33e91a6..aeee619 100644 --- a/apt/apt-pkg/deb/debversion.cc +++ b/apt/apt-pkg/deb/debversion.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: debversion.cc,v 1.2 2003/01/29 18:43:48 niemeyer Exp $ +// $Id: debversion.cc,v 1.8 2003/09/10 23:39:49 mdz Exp $ /* ###################################################################### Debian Version - Versioning system for Debian @@ -48,9 +48,15 @@ int debVersioningSystem::CmpFragment(const char *A,const char *AEnd, if (A >= AEnd && B >= BEnd) return 0; if (A >= AEnd) + { + if (*B == '~') return 1; return -1; + } if (B >= BEnd) + { + if (*A == '~') return -1; return 1; + } /* Iterate over the whole string What this does is to spilt the whole string into groups of @@ -65,8 +71,8 @@ int debVersioningSystem::CmpFragment(const char *A,const char *AEnd, { int first_diff = 0; - while ((lhs != AEnd && !isdigit(*lhs)) || - (rhs != BEnd && !isdigit(*rhs)) ) + while (lhs != AEnd && rhs != BEnd && + (!isdigit(*lhs) || !isdigit(*rhs))) { int vc = order(*lhs); int rc = order(*rhs); @@ -101,11 +107,17 @@ int debVersioningSystem::CmpFragment(const char *A,const char *AEnd, // lhs is shorter if (lhs == AEnd) + { + if (*rhs == '~') return 1; return -1; + } // rhs is shorter if (rhs == BEnd) + { + if (*lhs == '~') return -1; return 1; + } // Shouldnt happen return 1; diff --git a/apt/apt-pkg/deb/dpkgpm.cc b/apt/apt-pkg/deb/dpkgpm.cc index 287fa64..dca4468 100644 --- a/apt/apt-pkg/deb/dpkgpm.cc +++ b/apt/apt-pkg/deb/dpkgpm.cc @@ -1,5 +1,5 @@ // Description /*{{{*/ -// $Id: dpkgpm.cc,v 1.2 2002/07/25 18:07:18 niemeyer Exp $ +// $Id: dpkgpm.cc,v 1.27 2003/07/26 00:25:44 mdz Exp $ /* ###################################################################### DPKG Package Manager - Provide an interface to dpkg @@ -328,7 +328,7 @@ bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf) bool pkgDPkgPM::Go() { unsigned int MaxArgs = _config->FindI("Dpkg::MaxArgs",350); - unsigned int MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes",1024); + unsigned int MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes",8192); if (RunScripts("DPkg::Pre-Invoke") == false) return false; @@ -447,7 +447,7 @@ bool pkgDPkgPM::Go() if (chdir(_config->FindDir("DPkg::Run-Directory","/").c_str()) != 0) _exit(100); - if (_config->FindB("DPkg::FlushSTDIN",true) == true) + if (_config->FindB("DPkg::FlushSTDIN",true) == true && isatty(STDIN_FILENO)) { int Flags,dummy; if ((Flags = fcntl(STDIN_FILENO,F_GETFL,dummy)) < 0) diff --git a/apt/apt-pkg/depcache.cc b/apt/apt-pkg/depcache.cc index cba47e0..de8243f 100644 --- a/apt/apt-pkg/depcache.cc +++ b/apt/apt-pkg/depcache.cc @@ -19,6 +19,10 @@ // CNC:2002-07-05 #include + +// CNC:2003-03-17 +#include +#include #include /*}}}*/ @@ -94,6 +98,13 @@ bool pkgDepCache::Init(OpProgress *Prog) } Update(Prog); + +// CNC:2003-03-17 +#ifdef WITH_LUA + _lua->SetDepCache(this); + _lua->RunScripts("Scripts::Cache::Init", true); + _lua->ResetCaches(); +#endif return true; } @@ -1015,19 +1026,33 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator Dep) // pkgDepCache::State::* - Routines to work on the state of a DepCache. /*{{{*/ // --------------------------------------------------------------------- /* */ +void pkgDepCache::State::Copy(pkgDepCache::State const &Other) +{ + memcpy(this, &Other, sizeof(*this)); + int Size = Dep->Head().PackageCount; + int DepSize = Dep->Head().DependsCount; + PkgState = new StateCache[Size]; + PkgIgnore = new bool[Size]; + DepState = new unsigned char[DepSize]; + memcpy(PkgState, Other.PkgState, Size*sizeof(*PkgState)); + memcpy(PkgIgnore, Other.PkgIgnore, Size*sizeof(*PkgIgnore)); + memcpy(DepState, Other.DepState, DepSize*sizeof(*DepState)); +} + void pkgDepCache::State::Save(pkgDepCache *dep) { Dep = dep; - delete [] PkgState; - delete [] DepState; - delete [] PkgIgnore; + delete[] PkgState; + delete[] DepState; + delete[] PkgIgnore; int Size = Dep->Head().PackageCount; + int DepSize = Dep->Head().DependsCount; PkgState = new StateCache[Size]; PkgIgnore = new bool[Size]; - DepState = new unsigned char[Dep->Head().DependsCount]; + DepState = new unsigned char[DepSize]; memcpy(PkgState, Dep->PkgState, Size*sizeof(*PkgState)); memset(PkgIgnore, 0, Size*sizeof(*PkgIgnore)); - memcpy(DepState, Dep->DepState, Dep->Head().DependsCount*sizeof(*DepState)); + memcpy(DepState, Dep->DepState, DepSize*sizeof(*DepState)); iUsrSize = Dep->iUsrSize; iDownloadSize= Dep->iDownloadSize; iInstCount = Dep->iInstCount; @@ -1039,8 +1064,7 @@ void pkgDepCache::State::Save(pkgDepCache *dep) void pkgDepCache::State::Restore() { - int Size = Dep->Head().PackageCount; - memcpy(Dep->PkgState, PkgState, Size*sizeof(*PkgState)); + memcpy(Dep->PkgState, PkgState, Dep->Head().PackageCount*sizeof(*PkgState)); memcpy(Dep->DepState, DepState, Dep->Head().DependsCount*sizeof(*DepState)); Dep->iUsrSize = iUsrSize; Dep->iDownloadSize= iDownloadSize; @@ -1063,6 +1087,12 @@ bool pkgDepCache::State::Changed() } return false; } + +void pkgDepCache::State::UnIgnoreAll() +{ + memset(PkgIgnore, 0, Dep->Head().PackageCount*sizeof(*PkgIgnore)); +} + /*}}}*/ // vim:sts=3:sw=3 diff --git a/apt/apt-pkg/depcache.h b/apt/apt-pkg/depcache.h index 8645c22..bb96afb 100644 --- a/apt/apt-pkg/depcache.h +++ b/apt/apt-pkg/depcache.h @@ -244,6 +244,9 @@ class pkgDepCache::State bool Changed(); void Ignore(PkgIterator const &I) {PkgIgnore[I->ID] = true;}; + void UnIgnore(PkgIterator const &I) {PkgIgnore[I->ID] = false;}; + bool Ignored(PkgIterator const &I) {return PkgIgnore[I->ID];}; + void UnIgnoreAll(); StateCache &operator [](pkgCache::PkgIterator const &I) {return PkgState[I->ID];}; @@ -256,11 +259,25 @@ class pkgDepCache::State inline unsigned long BrokenCount() {return iBrokenCount;}; inline unsigned long BadCount() {return iBadCount;}; + void Copy(State const &Other); + void operator =(State const &Other) + { + delete[] PkgState; + delete[] DepState; + delete[] PkgIgnore; + Copy(Other); + }; + State(const State &Other) + { Copy(Other); }; State(pkgDepCache *Dep=NULL) : Dep(0), PkgState(0), DepState(0), PkgIgnore(0) { if (Dep != NULL) Save(Dep); }; ~State() - { delete[] PkgState; delete[] DepState; delete[] PkgIgnore; }; + { + delete[] PkgState; + delete[] DepState; + delete[] PkgIgnore; + }; }; diff --git a/apt/apt-pkg/init.cc b/apt/apt-pkg/init.cc index 8fe90ec..d78b7e2 100644 --- a/apt/apt-pkg/init.cc +++ b/apt/apt-pkg/init.cc @@ -15,6 +15,10 @@ #include #include #include + +// CNC:2003-03-17 +#include + /*}}}*/ #define Stringfy_(x) # x @@ -72,7 +76,8 @@ bool pkgInitConfig(Configuration &Cnf) Cnf.Set("Dir::Etc::main","apt.conf"); Cnf.Set("Dir::Etc::parts","apt.conf.d"); Cnf.Set("Dir::Etc::preferences","preferences"); - Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods"); + Cnf.Set("Dir::Bin::methods",LIBDIR "/apt/methods"); + Cnf.Set("Acquire::ComprExtension", ".bz2"); bool Res = true; @@ -152,7 +157,12 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys) if (Sys == 0) return _error->Error(_("Unable to determine a suitable system type")); } - - return Sys->Initialize(Cnf); + + // CNC:2003-03-15 + bool Ret = Sys->Initialize(Cnf); +#ifdef WITH_LUA + _lua->RunScripts("Scripts::Init", false); +#endif + return Ret; } /*}}}*/ diff --git a/apt/apt-pkg/luaiface.cc b/apt/apt-pkg/luaiface.cc new file mode 100644 index 0000000..58b0f4f --- /dev/null +++ b/apt/apt-pkg/luaiface.cc @@ -0,0 +1,1072 @@ +// CNC:2003-03-15 +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: repository.cc,v 1.4 2002/07/29 18:13:52 niemeyer Exp $ +/* ###################################################################### + + Lua interface system. + + ##################################################################### */ + /*}}}*/ +#ifdef __GNUG__ +#pragma implementation "apt-pkg/luaiface.h" +#endif + +#include + +#ifdef WITH_LUA + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +#include "lposix.h" +#include "lrexlib.h" +#include "linit.h" + +// For the interactive interpreter. +#define main lua_c_main +#define readline lua_c_readline +#define L lua_c_L +#include "../lua/lua/lua.c" +#undef main +#undef readline +#undef L +} + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +#include + +#define pushudata(ctype, value) \ + do { \ + ctype *_tmp = (ctype *) lua_newuserdata(L, sizeof(ctype)); \ + *_tmp = (ctype) value; \ + luaL_getmetatable(L, #ctype); \ + lua_setmetatable(L, -2); \ + } while (0) + +#define checkudata(ctype, target, n) \ + do { \ + ctype *_tmp = (ctype *) luaL_checkudata(L, n, #ctype); \ + if (_tmp != NULL) \ + target = *_tmp; \ + else \ + target = NULL; \ + } while (0) + +Lua *_GetLuaObj() +{ + static Lua *Obj = new Lua; + return Obj; +} + +static int luaopen_apt(lua_State *L); + +const double Lua::NoGlobalI = INT_MIN; + +Lua::Lua() + : DepCache(0), Cache(0), CacheControl(0), Fix(0), DontFix(0) +{ + _config->CndSet("Dir::Bin::scripts", "/usr/lib/apt/scripts"); + + const luaL_reg lualibs[] = { + {"base", luaopen_base}, + {"table", luaopen_table}, + {"io", luaopen_io}, + {"string", luaopen_string}, + {"math", luaopen_math}, + {"debug", luaopen_debug}, + {"loadlib", luaopen_loadlib}, + {"posix", luaopen_posix}, + {"rex", luaopen_rex}, + {"init", luaopen_init}, + {"apt", luaopen_apt}, + {NULL, NULL} + }; + L = lua_open(); + const luaL_reg *lib = lualibs; + for (; lib->name; lib++) { + lib->func(L); /* open library */ + lua_settop(L, 0); /* discard any results */ + } + luaL_newmetatable(L, "pkgCache::Package*"); + luaL_newmetatable(L, "pkgCache::Version*"); + lua_pop(L, 2); +} + +Lua::~Lua() +{ + if (CacheControl) + CacheControl->Close(); + lua_close(L); +} + +bool Lua::HasScripts(const char *ConfListKey) +{ + const Configuration::Item *Top = _config->Tree(ConfListKey); + if (Top != 0 && Top->Child != 0) + return true; + return false; +} + +bool Lua::RunScripts(const char *ConfListKey, bool CacheChunks) +{ + lua_pushstring(L, "script_slot"); + lua_pushstring(L, ConfListKey); + lua_rawset(L, LUA_GLOBALSINDEX); + + CacheData Data; + if (ChunkCache.find(ConfListKey) == ChunkCache.end()) { + string File, Dir = _config->FindDir("Dir::Bin::scripts", ""); + Data.Begin = lua_gettop(L)+1; + const Configuration::Item *Top = _config->Tree(ConfListKey); + for (Top = (Top == 0?0:Top->Child); Top != 0; Top = Top->Next) { + const string &Value = Top->Value; + if (Value.empty() == true) + continue; + if (Value == "interactive") { + lua_pushstring(L, "script_filename"); + lua_pushstring(L, ""); + lua_rawset(L, LUA_GLOBALSINDEX); + cout << endl + << "APT Interactive " << LUA_VERSION << " Interpreter" + << endl << "[" << ConfListKey << "]" << endl; + int OldTop = lua_gettop(L); + lua_c_L = L; + manual_input(); + lua_settop(L, OldTop); + continue; + } + if (Value[0] == '.' || Value[0] == '/') { + if (FileExists(Value) == true) + File = Value; + else + continue; + } else { + File = Dir+Value; + if (FileExists(File) == false) + continue; + } + lua_pushstring(L, "script_filename"); + lua_pushstring(L, File.c_str()); + lua_rawset(L, LUA_GLOBALSINDEX); + if (luaL_loadfile(L, File.c_str()) != 0) { + _error->Warning(_("Error loading script: %s"), + lua_tostring(L, -1)); + lua_remove(L, -1); + } + } + Data.End = lua_gettop(L)+1; + if (Data.Begin == Data.End) + return false; + if (CacheChunks == true) + ChunkCache[ConfListKey] = Data; + } else { + Data = ChunkCache[ConfListKey]; + } + for (int i = Data.Begin; i != Data.End; i++) { + lua_pushvalue(L, i); + if (lua_pcall(L, 0, 0, 0) != 0) { + _error->Warning(_("Error running script: %s"), + lua_tostring(L, -1)); + lua_remove(L, -1); + } + } + if (CacheChunks == false) { + for (int i = Data.Begin; i != Data.End; i++) + lua_remove(L, Data.Begin); + } + return true; +} + +void Lua::SetGlobal(const char *Name, const char *Value) +{ + if (Value != NULL) { + lua_pushstring(L, Name); + lua_pushstring(L, Value); + lua_rawset(L, LUA_GLOBALSINDEX); + } + Globals.push_back(Name); +} + +void Lua::SetGlobal(const char *Name, const char **Value, int Total) +{ + lua_pushstring(L, Name); + lua_newtable(L); + if (Total == -1) + Total = INT_MAX; + for (int i=0; i != Total && Value[i] != NULL; i++) { + lua_pushstring(L, Value[i]); + lua_rawseti(L, -2, i+1); + } + lua_rawset(L, LUA_GLOBALSINDEX); + Globals.push_back(Name); +} + +void Lua::SetGlobal(const char *Name, vector &Value, + int Total) +{ + lua_pushstring(L, Name); + lua_newtable(L); + if (Total == -1 || Total > Value.size()) + Total = Value.size(); + for (int i=0; i != Total && Value[i] != NULL; i++) { + lua_pushstring(L, Value[i]); + lua_rawseti(L, -2, i+1); + } + lua_rawset(L, LUA_GLOBALSINDEX); + Globals.push_back(Name); +} + +void Lua::SetGlobal(const char *Name, vector &Value, + int Total) +{ + lua_pushstring(L, Name); + lua_newtable(L); + if (Total == -1 || Total > Value.size()) + Total = Value.size(); + for (int i=0; i != Total; i++) { + lua_pushstring(L, Value[i].c_str()); + lua_rawseti(L, -2, i+1); + } + lua_rawset(L, LUA_GLOBALSINDEX); + Globals.push_back(Name); +} + +void Lua::SetGlobal(const char *Name, vector &Value, + int Total) +{ + lua_pushstring(L, Name); + lua_newtable(L); + if (Total == -1 || Total > Value.size()) + Total = Value.size(); + for (int i=0; i != Total && Value[i] != NULL; i++) { + pushudata(pkgCache::Package*, Value[i]); + lua_rawseti(L, -2, i+1); + } + lua_rawset(L, LUA_GLOBALSINDEX); + Globals.push_back(Name); +} + +void Lua::SetGlobal(const char *Name, double Value) +{ + lua_pushstring(L, Name); + lua_pushnumber(L, Value); + lua_rawset(L, LUA_GLOBALSINDEX); + Globals.push_back(Name); +} + +void Lua::SetGlobal(const char *Name, void *Value) +{ + if (Value != NULL) { + lua_pushstring(L, Name); + lua_pushlightuserdata(L, Value); + lua_rawset(L, LUA_GLOBALSINDEX); + } + Globals.push_back(Name); +} + +void Lua::SetGlobal(const char *Name, lua_CFunction Value) +{ + lua_pushstring(L, Name); + lua_pushcfunction(L, Value); + lua_rawset(L, LUA_GLOBALSINDEX); + Globals.push_back(Name); +} + +void Lua::ResetGlobals() +{ + if (Globals.empty() == false) { + for (vector::const_iterator I = Globals.begin(); + I != Globals.end(); I++) { + lua_pushstring(L, I->c_str()); + lua_pushnil(L); + lua_rawset(L, LUA_GLOBALSINDEX); + } + Globals.clear(); + } +} + +const char *Lua::GetGlobal(const char *Name) +{ + lua_pushstring(L, Name); + lua_rawget(L, LUA_GLOBALSINDEX); + const char *Ret = NULL; + if (lua_isstring(L, -1)) + Ret = lua_tostring(L, -1); + lua_remove(L, -1); + return Ret; +} + +double Lua::GetGlobalI(const char *Name) +{ + lua_pushstring(L, Name); + lua_rawget(L, LUA_GLOBALSINDEX); + double Ret = NoGlobalI; + if (lua_isnumber(L, -1)) + Ret = lua_tonumber(L, -1); + lua_remove(L, -1); + return Ret; +} + +void *Lua::GetGlobalP(const char *Name) +{ + lua_pushstring(L, Name); + lua_rawget(L, LUA_GLOBALSINDEX); + void *Ret = NULL; + if (lua_isuserdata(L, -1)) + Ret = lua_touserdata(L, -1); + lua_remove(L, -1); + return Ret; +} + +void Lua::GetGlobalVS(const char *Name, vector &VS) +{ + lua_pushstring(L, Name); + lua_rawget(L, LUA_GLOBALSINDEX); + int t = lua_gettop(L); + if (lua_istable(L, t)) { + lua_pushnil(L); + while (lua_next(L, t) != 0) { + if (lua_isstring(L, -1)) + VS.push_back(lua_tostring(L, -1)); + lua_pop(L, 1); + } + } + lua_remove(L, -1); +} + +void Lua::SetDepCache(pkgDepCache *DepCache_) +{ + DepCache = DepCache_; + if (DepCache != NULL) + Cache = &DepCache->GetCache(); + else + Cache = NULL; +} + +void Lua::SetCacheControl(LuaCacheControl *CacheControl_) +{ + CacheControl = CacheControl_; +} + +pkgDepCache *Lua::GetDepCache(lua_State *L) +{ + if (DepCache == NULL && CacheControl) + SetDepCache(CacheControl->Open()); + if (DepCache == NULL && L != NULL) { + lua_pushstring(L, "no depcache available at that point"); + lua_error(L); + } + return DepCache; +} + +pkgCache *Lua::GetCache(lua_State *L) +{ + if (Cache == NULL && CacheControl) + SetDepCache(CacheControl->Open()); + if (Cache == NULL && L != NULL) { + lua_pushstring(L, "no cache available at that point"); + lua_error(L); + } + return Cache; +} + +inline pkgCache::Package *AptAux_ToPackage(lua_State *L, int n) +{ + if (lua_isstring(L, n)) { + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return NULL; + const char *Name = lua_tostring(L, n); + return (pkgCache::Package*)Cache->FindPackage(Name); + } else { + pkgCache::Package *Pkg; + checkudata(pkgCache::Package*, Pkg, n); + if (Pkg == NULL) + luaL_argerror(L, n, "invalid package"); + return Pkg; + } +} + +static pkgCache::PkgIterator *AptAux_ToPkgIterator(lua_State *L, int n) +{ + pkgCache::Package *Pkg = AptAux_ToPackage(L, n); + if (Pkg == NULL) + return NULL; + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return NULL; + return new pkgCache::PkgIterator(*Cache, Pkg); +} + +inline pkgCache::Version *AptAux_ToVersion(lua_State *L, int n) +{ + pkgCache::Version *Ver; + checkudata(pkgCache::Version*, Ver, n); + if (Ver == NULL) + luaL_argerror(L, n, "invalid version"); + return Ver; +} + +static pkgCache::VerIterator *AptAux_ToVerIterator(lua_State *L, int n) +{ + pkgCache::Version *Ver = AptAux_ToVersion(L, n); + if (Ver == NULL) + return NULL; + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return NULL; + return new pkgCache::VerIterator(*Cache, Ver); +} + +inline int AptAux_PushPackage(lua_State *L, pkgCache::Package *Pkg) +{ + if (Pkg != 0) { + pushudata(pkgCache::Package*, Pkg); + return 1; + } + return 0; +} + +inline int AptAux_PushVersion(lua_State *L, pkgCache::Version *Ver) +{ + if (Ver != 0) { + pushudata(pkgCache::Version*, Ver); + return 1; + } + return 0; +} + +static int AptAux_PushVersion(lua_State *L, map_ptrloc Loc) +{ + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return 0; + if (Loc != 0) { + pkgCache::Version *Ver = Cache->VerP+Loc; + if (Ver != 0) { + pushudata(pkgCache::Version*, Ver); + return 1; + } + } + return 0; +} + +static int AptAux_PushCacheString(lua_State *L, map_ptrloc Pos) +{ + if (Pos == 0) + return 0; + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return 0; + const char *Str = Cache->StrP+Pos; + lua_pushstring(L, Str); + return 1; +} + +inline int AptAux_PushBool(lua_State *L, bool Value) +{ + if (Value == true) { + lua_pushnumber(L, 1); + return 1; + } + return 0; +} + +#define MARK_KEEP 0 +#define MARK_INSTALL 1 +#define MARK_REMOVE 2 + +static int AptAux_mark(lua_State *L, int Kind) +{ + pkgCache::Package *Pkg = AptAux_ToPackage(L, 1); + if (Pkg != NULL) { + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + pkgProblemResolver *MyFix = NULL; + pkgProblemResolver *Fix = _lua->GetProblemResolver(); + if (Fix == NULL) + Fix = MyFix = new pkgProblemResolver(DepCache); + pkgCache::PkgIterator PkgI(DepCache->GetCache(), Pkg); + Fix->Clear(PkgI); + Fix->Protect(PkgI); + switch (Kind) { + case MARK_KEEP: + DepCache->MarkKeep(PkgI); + break; + case MARK_INSTALL: + DepCache->MarkInstall(PkgI); + break; + case MARK_REMOVE: + Fix->Remove(PkgI); + DepCache->MarkDelete(PkgI); + break; + } + if (_lua->GetDontFix() == false && DepCache->BrokenCount() > 0) { + if (Kind != MARK_KEEP) { + Fix->Resolve(false); + } else { + Fix->InstallProtect(); + Fix->Resolve(true); + } + } + delete MyFix; + } + return 0; +} + +static int AptLua_confget(lua_State *L) +{ + const char *key = luaL_checkstring(L, 1); + const char *def = luaL_optstring(L, 2, ""); + string Value; + if (key != NULL) + Value = _config->FindAny(key, def); + lua_pushstring(L, Value.c_str()); + return 1; +} + +static int AptLua_confgetlist(lua_State *L) +{ + const char *key = luaL_checkstring(L, 1); + if (key == NULL) + return 0; + const Configuration::Item *Top = _config->Tree(key); + lua_newtable(L); + int i = 1; + for (Top = (Top == 0?0:Top->Child); Top != 0; Top = Top->Next) { + if (Top->Value.empty() == true) + continue; + lua_pushstring(L, Top->Value.c_str()); + lua_rawseti(L, -2, i++); + } + return 1; +} + +static int AptLua_confset(lua_State *L) +{ + const char *key = luaL_checkstring(L, 1); + const char *val = luaL_checkstring(L, 2); + const int cnd = luaL_optint(L, 3, 0); + if (key != NULL && val != NULL) { + if (cnd != 0) + _config->CndSet(key, val); + else + _config->Set(key, val); + } + return 0; +} + +static int AptLua_confexists(lua_State *L) +{ + const char *key = luaL_checkstring(L, 1); + if (key == NULL) + return 0; + if (_config->Exists(key) == true) + lua_pushnumber(L, 1); + else + lua_pushnil(L); + return 1; +} + +static int AptLua_confclear(lua_State *L) +{ + const char *key = luaL_checkstring(L, 1); + if (key != NULL) + _config->Clear(key); + return 0; +} + + +static int AptLua_pkgfind(lua_State *L) +{ + const char *name = luaL_checkstring(L, 1); + if (name == NULL) + return 0; + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return 0; + return AptAux_PushPackage(L, Cache->FindPackage(name)); +} + +static int AptLua_pkglist(lua_State *L) +{ + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return 0; + lua_newtable(L); + int i = 1; + for (pkgCache::PkgIterator PkgI = Cache->PkgBegin(); + PkgI.end() == false; PkgI++) { + pushudata(pkgCache::Package*, PkgI); + lua_rawseti(L, -2, i++); + } + return 1; +} + +static int AptLua_pkgname(lua_State *L) +{ + pkgCache::Package *Pkg = AptAux_ToPackage(L, 1); + if (Pkg == NULL) + return 0; + return AptAux_PushCacheString(L, Pkg->Name); +} + +static int AptLua_pkgsummary(lua_State *L) +{ + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + if ((*PkgI)->VersionList == 0) { + lua_pushstring(L, ""); + } else { + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return 0; + pkgRecords Recs(*Cache); + pkgRecords::Parser &Parse = + Recs.Lookup(PkgI->VersionList().FileList()); + lua_pushstring(L, Parse.ShortDesc().c_str()); + } + return 1; +} + +static int AptLua_pkgdescr(lua_State *L) +{ + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + if ((*PkgI)->VersionList == 0) { + lua_pushstring(L, ""); + } else { + pkgCache *Cache = _lua->GetCache(L); + if (Cache == NULL) + return 0; + pkgRecords Recs(*Cache); + pkgRecords::Parser &Parse = + Recs.Lookup(PkgI->VersionList().FileList()); + lua_pushstring(L, Parse.LongDesc().c_str()); + } + return 1; +} + +static int AptLua_pkgisvirtual(lua_State *L) +{ + pkgCache::Package *Pkg = AptAux_ToPackage(L, 1); + if (Pkg == NULL) + return 0; + if (Pkg->VersionList == 0) + lua_pushnumber(L, 1); + else + lua_pushnil(L); + return 1; +} + +static int AptLua_pkgvercur(lua_State *L) +{ + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + int Ret = AptAux_PushVersion(L, (*PkgI)->CurrentVer); + return Ret; +} + +static int AptLua_pkgverinst(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + pkgCache::Version *InstVer = (*DepCache)[(*PkgI)].InstallVer; + pkgCache::Version *CurVer = (*PkgI).CurrentVer(); + if (InstVer == CurVer) + InstVer = NULL; + return AptAux_PushVersion(L, InstVer); +} + +static int AptLua_pkgvercand(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + pkgCache::Version *CandVer = (*DepCache)[(*PkgI)].CandidateVer; + pkgCache::Version *CurVer = (*PkgI).CurrentVer(); + if (CandVer == CurVer) + CandVer = NULL; + return AptAux_PushVersion(L, CandVer); +} + +static int AptLua_pkgverlist(lua_State *L) +{ + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + lua_newtable(L); + int i = 1; + for (pkgCache::VerIterator Ver = (*PkgI).VersionList(); + Ver.end() == false; Ver++) { + pushudata(pkgCache::Version*, Ver); + lua_rawseti(L, -2, i++); + } + return 1; +} + +static int AptLua_verstr(lua_State *L) +{ + pkgCache::Version *Ver = AptAux_ToVersion(L, 1); + return AptAux_PushCacheString(L, Ver->VerStr); +} + +static int AptLua_verarch(lua_State *L) +{ + pkgCache::Version *Ver = AptAux_ToVersion(L, 1); + return AptAux_PushCacheString(L, Ver->Arch); + +} + +static int AptLua_verisonline(lua_State *L) +{ + pkgCache::VerIterator *VerI = AptAux_ToVerIterator(L, 1); + return AptAux_PushBool(L, VerI->Downloadable()); +} + +static int AptLua_verprovlist(lua_State *L) +{ + pkgCache::VerIterator *VerI = AptAux_ToVerIterator(L, 1); + if (VerI == NULL) + return 0; + pkgCache::PrvIterator PrvI = VerI->ProvidesList(); + lua_newtable(L); + int i = 1; + for (; PrvI.end() == false; PrvI++) + { + lua_newtable(L); + lua_pushstring(L, "name"); + lua_pushstring(L, PrvI.Name()); + lua_settable(L, -3); + lua_pushstring(L, "version"); + if (PrvI.ProvideVersion()) + lua_pushstring(L, PrvI.ProvideVersion()); + else + lua_pushstring(L, ""); + lua_settable(L, -3); + lua_rawseti(L, -2, i++); + } + return 1; +} + +static int AptLua_verstrcmp(lua_State *L) +{ + const char *Ver1, *Ver2; + const char *Arch1, *Arch2; + int Top = lua_gettop(L); + int Ret = -9999; + bool Error = false; + if (Top == 2) { + Ver1 = luaL_checkstring(L, 1); + Ver2 = luaL_checkstring(L, 2); + if (Ver1 == NULL || Ver2 == NULL) + Error = true; + else + Ret = _system->VS->CmpVersion(Ver1, Ver2); + } else if (Top == 4) { + Ver1 = luaL_checkstring(L, 1); + Arch1 = luaL_checkstring(L, 2); + Ver2 = luaL_checkstring(L, 3); + Arch2 = luaL_checkstring(L, 4); + if (Ver1 == NULL || Arch1 == NULL || Ver2 == NULL || Arch2 == NULL) + Error = true; + else + Ret = _system->VS->CmpVersionArch(Ver1, Arch1, Ver2, Arch2); + } else { + Error = true; + } + if (Error == true) { + lua_pushstring(L, "verstrcmp requires 2 or 4 string arguments"); + lua_error(L); + return 0; + } else { + lua_pushnumber(L, Ret); + return 1; + } +} + +static int AptLua_markkeep(lua_State *L) +{ + return AptAux_mark(L, MARK_KEEP); +} + +static int AptLua_markinstall(lua_State *L) +{ + return AptAux_mark(L, MARK_INSTALL); +} + +static int AptLua_markremove(lua_State *L) +{ + return AptAux_mark(L, MARK_REMOVE); +} + +static int AptLua_markdistupgrade(lua_State *L) +{ + if (lua_gettop(L) != 0) { + lua_pushstring(L, "markdistupgrade has no arguments"); + lua_error(L); + return 0; + } + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache != NULL) + pkgDistUpgrade(*DepCache); + return 0; +} + +static int AptLua_markupgrade(lua_State *L) +{ + if (lua_gettop(L) != 0) { + lua_pushstring(L, "markdistupgrade has no arguments"); + lua_error(L); + return 0; + } + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache != NULL) + pkgAllUpgrade(*DepCache); + return 0; +} + +static int AptLua_statkeep(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].Keep()); +} + +static int AptLua_statinstall(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].Install()); +} + +static int AptLua_statremove(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].Delete()); +} + +static int AptLua_statnewinstall(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].NewInstall()); +} + +static int AptLua_statupgrade(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].Upgrade()); +} + +static int AptLua_statupgradable(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].Upgradable()); +} + +static int AptLua_statdowngrade(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].Downgrade()); +} + +static int AptLua_statnowbroken(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].NowBroken()); +} + +static int AptLua_statinstbroken(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + return AptAux_PushBool(L, (*DepCache)[*PkgI].InstBroken()); +} + +static int AptLua_statstr(lua_State *L) +{ + pkgDepCache *DepCache = _lua->GetDepCache(L); + if (DepCache == NULL) + return 0; + SPtr PkgI = AptAux_ToPkgIterator(L, 1); + if (PkgI == NULL) + return 0; + pkgDepCache::StateCache &S = (*DepCache)[*PkgI]; + if (S.NewInstall()) { + if (S.InstBroken()) { + lua_pushstring(L, "newinstall(broken)"); + } else { + lua_pushstring(L, "newinstall"); + } + } else if (S.Upgrade()) { + if (S.InstBroken()) { + lua_pushstring(L, "upgrade(broken)"); + } else { + lua_pushstring(L, "upgrade"); + } + } else if (S.Downgrade()) { + if (S.InstBroken()) { + lua_pushstring(L, "downgrade(broken)"); + } else { + lua_pushstring(L, "downgrade"); + } + } else if (S.Keep()) { + if (S.NowBroken()) { + lua_pushstring(L, "keep(broken)"); + } else { + lua_pushstring(L, "keep"); + } + } else if (S.Delete()) { + lua_pushstring(L, "remove"); + } else { + lua_pushstring(L, "unknown state in statstr(), " + "report to the maintainer"); + lua_error(L); + return 0; + } + return 1; +} + +static int AptLua_apterror(lua_State *L) +{ + const char *str = luaL_checkstring(L, 1); + if (str != NULL) + _error->Error("%s", str); + return 0; +} + +static int AptLua_aptwarning(lua_State *L) +{ + const char *str = luaL_checkstring(L, 1); + if (str != NULL) + _error->Warning("%s", str); + return 0; +} + +static const luaL_reg aptlib[] = { + {"confget", AptLua_confget}, + {"confgetlist", AptLua_confgetlist}, + {"confset", AptLua_confset}, + {"confexists", AptLua_confexists}, + {"confclear", AptLua_confclear}, + {"pkgfind", AptLua_pkgfind}, + {"pkglist", AptLua_pkglist}, + {"pkgname", AptLua_pkgname}, + {"pkgsummary", AptLua_pkgsummary}, + {"pkgdescr", AptLua_pkgdescr}, + {"pkgisvirtual", AptLua_pkgisvirtual}, + {"pkgvercur", AptLua_pkgvercur}, + {"pkgverinst", AptLua_pkgverinst}, + {"pkgvercand", AptLua_pkgvercand}, + {"pkgverlist", AptLua_pkgverlist}, + {"verstr", AptLua_verstr}, + {"verarch", AptLua_verarch}, + {"verisonline", AptLua_verisonline}, + {"verprovlist", AptLua_verprovlist}, + {"verstrcmp", AptLua_verstrcmp}, + {"markkeep", AptLua_markkeep}, + {"markinstall", AptLua_markinstall}, + {"markremove", AptLua_markremove}, + {"markdistupgrade", AptLua_markdistupgrade}, + {"markupgrade", AptLua_markupgrade}, + {"statkeep", AptLua_statkeep}, + {"statinstall", AptLua_statinstall}, + {"statremove", AptLua_statremove}, + {"statnewinstall", AptLua_statnewinstall}, + {"statupgrade", AptLua_statupgrade}, + {"statupgradable", AptLua_statupgradable}, + {"statdowngrade", AptLua_statdowngrade}, + {"statnowbroken", AptLua_statnowbroken}, + {"statinstbroken", AptLua_statinstbroken}, + {"statstr", AptLua_statstr}, + {"apterror", AptLua_apterror}, + {"aptwarning", AptLua_aptwarning}, + {NULL, NULL} +}; + +static int luaopen_apt(lua_State *L) +{ + lua_pushvalue(L, LUA_GLOBALSINDEX); + luaL_openlib(L, NULL, aptlib, 0); +} + +pkgDepCache *LuaCacheControl::Open() +{ + if (geteuid() == 0) + return Open(true); + else + return Open(false); +} + +#endif // WITH_LUA + +// vim:sts=3:sw=3 diff --git a/apt/apt-pkg/luaiface.h b/apt/apt-pkg/luaiface.h new file mode 100644 index 0000000..47e95fd --- /dev/null +++ b/apt/apt-pkg/luaiface.h @@ -0,0 +1,109 @@ + +#ifndef LUAIFACE_H +#define LUAIFACE_H + +#ifdef __GNUG__ +#pragma interface "apt-pkg/luaiface.h" +#endif + +#ifdef WITH_LUA + +#include +#include + +using namespace std; + +class pkgCache; +class pkgDepCache; +class pkgProblemResolver; +class lua_State; +typedef int (*lua_CFunction)(struct lua_State*); + +class LuaCacheControl { + public: + + virtual pkgDepCache *Open(); + virtual pkgDepCache *Open(bool Write) = 0; + virtual void Close() = 0; + + virtual ~LuaCacheControl() {}; +}; + +class Lua { + protected: + + struct CacheData { + int Begin; + int End; + }; + + lua_State *L; + map ChunkCache; + + vector Globals; + + pkgDepCache *DepCache; + pkgCache *Cache; + + LuaCacheControl *CacheControl; + + pkgProblemResolver *Fix; + bool DontFix; + + public: + + bool RunScripts(const char *ConfListKey, bool CacheChunks); + bool HasScripts(const char *ConfListKey); + + void SetGlobal(const char *Name, const char *Value); + void SetGlobal(const char *Name, double Value); + void SetGlobal(const char *Name, void *Value); + void SetGlobal(const char *Name, string Value) + { SetGlobal(Name, Value.c_str()); }; + void SetGlobal(const char *Name, int Value) + { SetGlobal(Name, (double)Value); }; + void SetGlobal(const char *Name, lua_CFunction Value); + void SetGlobal(const char *Name, const char **Value, int Total=-1); + void SetGlobal(const char *Name, vector &Value, + int Total=-1); + void SetGlobal(const char *Name, vector &Value, + int Total=-1); + void SetGlobal(const char *Name, vector &Value, + int Total=-1); + void ResetGlobals(); + + const char *GetGlobal(const char *Name); + double GetGlobalI(const char *Name); + void *GetGlobalP(const char *Name); + void GetGlobalVS(const char *Name, vector &VS); + + static const double NoGlobalI; + + void SetDepCache(pkgDepCache *DepCache_); + void SetCache(pkgCache *Cache_) { Cache = Cache_; }; + void SetCacheControl(LuaCacheControl *CacheControl_); + void SetProblemResolver(pkgProblemResolver *Fix_) { Fix = Fix_; }; + void SetDontFix() { DontFix = true; }; + void ResetCaches() + { DepCache = NULL; Cache = NULL; Fix = NULL; DontFix = false; }; + + // For API functions + pkgDepCache *GetDepCache(lua_State *L=NULL); + pkgCache *GetCache(lua_State *L=NULL); + LuaCacheControl *GetCacheControl() { return CacheControl; }; + pkgProblemResolver *GetProblemResolver() { return Fix; }; + bool GetDontFix() { return DontFix; }; + + Lua(); + ~Lua(); +}; + +// The same system used with _error +Lua *_GetLuaObj(); +#define _lua _GetLuaObj() + +#endif // WITH_LUA + +#endif + +// vim:sts=3:sw=3 diff --git a/apt/apt-pkg/makefile b/apt/apt-pkg/makefile deleted file mode 100644 index 28becbf..0000000 --- a/apt/apt-pkg/makefile +++ /dev/null @@ -1,74 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=apt-pkg - -# Header location -# CNC:2002-07-03 -SUBDIRS = rpm deb contrib -HEADER_TARGETDIRS = apt-pkg - -# Bring in the default rules -include ../buildlib/defaults.mak - -# The library name, don't forget to update init.h and the copy in -# methods/makefile - FIXME -LIBRARY=apt-pkg -LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER) -MAJOR=3.3 -MINOR=0 -# CNC:2002-07-03 -SLIBS=$(PTHREADLIB) $(INTLLIBS) $(RPMLIBS) -APT_DOMAIN:=libapt-pkg$(MAJOR) - -# Source code for the contributed non-core things -SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \ - contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \ - contrib/md5.cc contrib/sha1.cc contrib/hashes.cc \ - contrib/cdromutl.cc contrib/crc-16.cc \ - contrib/fileutl.cc -HEADERS = mmap.h error.h configuration.h fileutl.h cmndline.h \ - md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h hashes.h - -# Source code for the core main library -# CNC:2002-07-03 -SOURCE+= pkgcache.cc version.cc depcache.cc \ - orderlist.cc tagfile.cc sourcelist.cc packagemanager.cc \ - pkgrecords.cc algorithms.cc acquire.cc\ - acquire-worker.cc acquire-method.cc init.cc clean.cc \ - srcrecords.cc cachefile.cc versionmatch.cc policy.cc \ - pkgsystem.cc indexfile.cc pkgcachegen.cc acquire-item.cc \ - repository.cc -HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \ - orderlist.h sourcelist.h packagemanager.h tagfile.h \ - init.h pkgcache.h version.h progress.h pkgrecords.h \ - acquire.h acquire-worker.h acquire-item.h acquire-method.h \ - clean.h srcrecords.h cachefile.h versionmatch.h policy.h \ - pkgsystem.h indexfile.h repository.h - -# CNC:2003-02-15 -WITH_DEB=no -ifeq ($(WITH_DEB),yes) -# Source code for the debian specific components -# In theory the deb headers do not need to be exported.. -SOURCE+= deb/deblistparser.cc deb/debrecords.cc deb/dpkgpm.cc \ - deb/debsrcrecords.cc deb/debversion.cc deb/debsystem.cc \ - deb/debindexfile.cc deb/debindexfile.cc -HEADERS+= debversion.h debsrcrecords.h dpkgpm.h debrecords.h \ - deblistparser.h debsystem.h debindexfile.h -endif - -# CNC:2002-07-03 -# Source code for the rpm specific components -SOURCE+= rpm/rpmhandler.cc rpm/rpmindexfile.cc rpm/rpmlistparser.cc \ - rpm/rpmpackagedata.cc rpm/rpmpm.cc rpm/rpmrecords.cc \ - rpm/rpmsrcrecords.cc rpm/rpmsystem.cc rpm/rpmversion.cc -HEADERS+= rpmhandler.h rpmindexfile.h rpmlistparser.h rpmpackagedata.h \ - rpmpm.h rpmrecords.h rpmsrcrecords.h rpmsystem.h rpmversion.h \ - rpmmisc.h - -HEADERS := $(addprefix apt-pkg/,$(HEADERS)) - -# Private header files -HEADERS+= system.h - -include $(LIBRARY_H) diff --git a/apt/apt-pkg/packagemanager.cc b/apt/apt-pkg/packagemanager.cc index c894487..4f540ed 100644 --- a/apt/apt-pkg/packagemanager.cc +++ b/apt/apt-pkg/packagemanager.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: packagemanager.cc,v 1.8 2003/01/31 16:32:30 niemeyer Exp $ +// $Id: packagemanager.cc,v 1.30 2003/04/27 03:04:15 doogie Exp $ /* ###################################################################### Package Manager - Abstacts the package manager @@ -133,7 +133,7 @@ bool pkgPackageManager::CreateOrderList() delete List; List = new pkgOrderList(&Cache); - bool NoImmConfigure = _config->FindB("APT::Immediate-Configure",false); + bool NoImmConfigure = !_config->FindB("APT::Immediate-Configure",true); // Generate the list of affected packages and sort it for (PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) @@ -542,7 +542,6 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg) } } } -#endif // Check for reverse conflicts. if (CheckRConflicts(Pkg,Pkg.RevDependsList(), @@ -552,6 +551,7 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg) for (PrvIterator P = Cache[Pkg].InstVerIter(Cache).ProvidesList(); P.end() == false; P++) CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion()); +#endif if (Install(Pkg,FileNames[Pkg->ID]) == false) return false; diff --git a/apt/apt-pkg/pkgcache.cc b/apt/apt-pkg/pkgcache.cc index aab362e..317e064 100644 --- a/apt/apt-pkg/pkgcache.cc +++ b/apt/apt-pkg/pkgcache.cc @@ -52,9 +52,16 @@ pkgCache::Header::Header() /* Whenever the structures change the major version should be bumped, whenever the generator changes the minor version should be bumped. */ - MajorVersion = 4; + // CNC:2003-11-24 + MajorVersion = 6; MinorVersion = 0; Dirty = false; + + // CNC:2003-03-18 + HasFileDeps = false; + + // CNC:2003-11-24 + OptionsHash = 0; HeaderSz = sizeof(pkgCache::Header); PackageSz = sizeof(pkgCache::Package); diff --git a/apt/apt-pkg/pkgcache.h b/apt/apt-pkg/pkgcache.h index 4eb2a6f..5069bc0 100644 --- a/apt/apt-pkg/pkgcache.h +++ b/apt/apt-pkg/pkgcache.h @@ -167,6 +167,12 @@ struct pkgCache::Header short MajorVersion; short MinorVersion; bool Dirty; + + // CNC:2003-03-18 + bool HasFileDeps; + + // CNC:2003-11-24 + unsigned long OptionsHash; // Size of structure values unsigned short HeaderSz; diff --git a/apt/apt-pkg/pkgcachegen.cc b/apt/apt-pkg/pkgcachegen.cc index 0cac0c9..126f0b2 100644 --- a/apt/apt-pkg/pkgcachegen.cc +++ b/apt/apt-pkg/pkgcachegen.cc @@ -626,6 +626,10 @@ static bool CheckValidity(string CacheFile, FileIterator Start, return false; } + // CNC:2003-11-24 + if (_system->OptionsHash() != Cache.HeaderP->OptionsHash) + return false; + /* Now we check every index file, see if it is in the cache, verify the IMS data and check that it is on the disk too.. */ SPtrArray Visited = new bool[Cache.HeaderP->PackageFileCount]; @@ -724,27 +728,21 @@ static bool BuildCache(pkgCacheGenerator &Gen, // --------------------------------------------------------------------- /* */ static bool CollectFileProvides(pkgCacheGenerator &Gen, - OpProgress &Progress, + OpProgress &Progress, + unsigned long &CurrentSize,unsigned long TotalSize, FileIterator Start, FileIterator End) { - FileIterator I; - if (Gen.HasFileDeps() == true) + for (FileIterator I = Start; I != End; I++) { - Progress.Done(); - unsigned long TotalSize = ComputeSize(Start, End); - unsigned long CurrentSize = 0; - for (I = Start; I != End; I++) - { - if ((*I)->HasPackages() == false || (*I)->Exists() == false) - continue; + if ((*I)->HasPackages() == false || (*I)->Exists() == false) + continue; - unsigned long Size = (*I)->Size(); - Progress.OverallProgress(CurrentSize,TotalSize,Size,_("Collecting File Provides")); - CurrentSize += Size; - if ((*I)->MergeFileProvides(Gen,Progress) == false) - return false; - } - Progress.Done(); + unsigned long Size = (*I)->Size(); + Progress.OverallProgress(CurrentSize,TotalSize,Size,_("Reading Package Lists")); + CurrentSize += Size; + + if ((*I)->MergeFileProvides(Gen,Progress) == false) + return false; } return true; } @@ -831,6 +829,12 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress, return false; TotalSize = ComputeSize(Files.begin()+EndOfSource,Files.end()); + + // CNC:2003-03-18 + // For the file provides collection phase. + unsigned long SrcSize = ComputeSize(Files.begin(), + Files.begin()+EndOfSource); + TotalSize = TotalSize+(TotalSize+SrcSize); // Build the status cache pkgCacheGenerator Gen(Map.Get(),&Progress); @@ -840,16 +844,31 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress, Files.begin()+EndOfSource,Files.end()) == false) return false; - // CNC:2003-03-03 - // Collect file provides over *all* files (sources + database), since - // the cache is saved without them. - if (CollectFileProvides(Gen,Progress, - Files.begin(),Files.end()) == false) - return false; + // CNC:2003-03-18 + if (Gen.HasFileDeps() == true) { + // There are new file dependencies. Collect over all packages. + Gen.GetCache().HeaderP->HasFileDeps = true; + if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, + Files.begin(),Files.end()) == false) + return false; + } else if (Gen.GetCache().HeaderP->HasFileDeps == true) { + // Jump entries which are not going to be parsed. + CurrentSize += SrcSize; + // No new file dependencies. Collect over the new packages. + if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, + Files.begin()+EndOfSource,Files.end()) == false) + return false; + } } else { TotalSize = ComputeSize(Files.begin(),Files.end()); + + // CNC:2003-03-18 + // For the file provides collection phase. + unsigned long SrcSize = ComputeSize(Files.begin(), + Files.begin()+EndOfSource); + TotalSize = (TotalSize*2)+SrcSize; // Build the source cache pkgCacheGenerator Gen(Map.Get(),&Progress); @@ -858,6 +877,23 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress, if (BuildCache(Gen,Progress,CurrentSize,TotalSize, Files.begin(),Files.begin()+EndOfSource) == false) return false; + + // CNC:2003-11-24 + Gen.GetCache().HeaderP->OptionsHash = _system->OptionsHash(); + + // CNC:2003-03-18 + if (Gen.HasFileDeps() == true) { + // There are file dependencies. Collect over source packages. + Gen.GetCache().HeaderP->HasFileDeps = true; + if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, + Files.begin(),Files.begin()+EndOfSource) == false) + return false; + // Reset to check for new file dependencies in the status cache. + Gen.ResetFileDeps(); + } else { + // Jump entries which are not going to be parsed. + CurrentSize += SrcSize; + } // Write it back // CNC:2003-03-03 - Notice that it is without the file provides. This @@ -891,12 +927,21 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress, Files.begin()+EndOfSource,Files.end()) == false) return false; - // CNC:2003-03-03 - // Collect file provides over *all* files (sources + database), since - // the cache is saved without them. - if (CollectFileProvides(Gen,Progress, - Files.begin(),Files.end()) == false) - return false; + // CNC:2003-03-18 + if (Gen.HasFileDeps() == true) { + // There are new file dependencies. Collect over all packages. + Gen.GetCache().HeaderP->HasFileDeps = true; + if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, + Files.begin(),Files.end()) == false) + return false; + } else if (Gen.GetCache().HeaderP->HasFileDeps == true) { + // Jump entries which are not going to be parsed. + CurrentSize += SrcSize; + // No new file dependencies. Collect over the new packages. + if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, + Files.begin()+EndOfSource,Files.end()) == false) + return false; + } } if (_error->PendingError() == true) @@ -938,6 +983,10 @@ bool pkgMakeOnlyStatusCache(OpProgress &Progress,DynamicMMap **OutMap) unsigned long TotalSize = 0; TotalSize = ComputeSize(Files.begin()+EndOfSource,Files.end()); + + // CNC:2003-03-18 + // For the file provides collection phase. + TotalSize *= 2; // Build the status cache Progress.OverallProgress(0,1,1,_("Reading Package Lists")); @@ -948,12 +997,12 @@ bool pkgMakeOnlyStatusCache(OpProgress &Progress,DynamicMMap **OutMap) Files.begin()+EndOfSource,Files.end()) == false) return false; - // CNC:2003-03-03 - // Collect file provides over *all* files (sources + database), since - // the cache is saved without them. - if (CollectFileProvides(Gen,Progress, - Files.begin(),Files.end()) == false) - return false; + // CNC:2003-03-18 + if (Gen.HasFileDeps() == true) { + if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, + Files.begin()+EndOfSource,Files.end()) == false) + return false; + } if (_error->PendingError() == true) return false; diff --git a/apt/apt-pkg/pkgcachegen.h b/apt/apt-pkg/pkgcachegen.h index 6b47dd0..6a698be 100644 --- a/apt/apt-pkg/pkgcachegen.h +++ b/apt/apt-pkg/pkgcachegen.h @@ -74,6 +74,9 @@ class pkgCacheGenerator bool HasFileDeps() {return FoundFileDeps;}; bool MergeFileProvides(ListParser &List); + + // CNC:2003-03-18 + inline void ResetFileDeps() {FoundFileDeps = false;}; pkgCacheGenerator(DynamicMMap *Map,OpProgress *Progress); ~pkgCacheGenerator(); diff --git a/apt/apt-pkg/pkgrecords.cc b/apt/apt-pkg/pkgrecords.cc index 79ab5c6..b39031b 100644 --- a/apt/apt-pkg/pkgrecords.cc +++ b/apt/apt-pkg/pkgrecords.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: pkgrecords.cc,v 1.2 2002/11/28 18:54:15 niemeyer Exp $ +// $Id: pkgrecords.cc,v 1.8 2003/09/02 04:52:16 mdz Exp $ /* ###################################################################### Package Records - Allows access to complete package description records diff --git a/apt/apt-pkg/pkgrecords.h b/apt/apt-pkg/pkgrecords.h index c90cb79..1bf1f9e 100644 --- a/apt/apt-pkg/pkgrecords.h +++ b/apt/apt-pkg/pkgrecords.h @@ -70,6 +70,9 @@ class pkgRecords::Parser // The record in binary form virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;}; + + // CNC:2003-11-21 + virtual bool HasFile(const char *File) {return false;}; virtual ~Parser() {}; }; diff --git a/apt/apt-pkg/pkgsystem.h b/apt/apt-pkg/pkgsystem.h index b22f81b..210e671 100644 --- a/apt/apt-pkg/pkgsystem.h +++ b/apt/apt-pkg/pkgsystem.h @@ -89,6 +89,8 @@ class pkgSystem // Return a list of system index files.. virtual bool AddStatusFiles(std::vector &List) = 0; + // CNC:2003-11-21 + virtual bool AddSourceFiles(std::vector &List) {}; virtual bool FindIndex(pkgCache::PkgFileIterator File, pkgIndexFile *&Found) const = 0; @@ -105,6 +107,9 @@ class pkgSystem virtual bool IgnoreDep(pkgVersioningSystem &VS, pkgCache::DepIterator &Dep) {return false;}; + // CNC:2003-11-24 + virtual unsigned long OptionsHash() const {return 0;}; + pkgSystem(); virtual ~pkgSystem() {}; }; diff --git a/apt/apt-pkg/policy.cc b/apt/apt-pkg/policy.cc index aa60f9c..219b7bc 100644 --- a/apt/apt-pkg/policy.cc +++ b/apt/apt-pkg/policy.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: policy.cc,v 1.2 2003/01/29 18:43:48 niemeyer Exp $ +// $Id: policy.cc,v 1.10 2003/08/12 00:17:37 mdz Exp $ /* ###################################################################### Package Version Policy implementation @@ -336,8 +336,14 @@ bool ReadPinFile(pkgPolicy &Plcy,string File) } for (; Word != End && isspace(*Word) != 0; Word++); - Plcy.CreatePin(Type,Name,string(Word,End), - Tags.FindI("Pin-Priority")); + short int priority = Tags.FindI("Pin-Priority", 0); + if (priority == 0) + { + _error->Warning(_("No priority (or zero) specified for pin")); + continue; + } + + Plcy.CreatePin(Type,Name,string(Word,End),priority); } Plcy.InitDefaults(); diff --git a/apt/apt-pkg/rpm/rpmhandler.cc b/apt/apt-pkg/rpm/rpmhandler.cc index d251ee5..91acfef 100644 --- a/apt/apt-pkg/rpm/rpmhandler.cc +++ b/apt/apt-pkg/rpm/rpmhandler.cc @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -26,7 +27,7 @@ #include -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 #include #include #define rpmxxInitIterator(a,b,c,d) rpmtsInitIterator(a,(rpmTag)b,c,d) @@ -142,6 +143,68 @@ string RPMFileHandler::MD5Sum() return str; } +bool RPMSingleFileHandler::Skip() +{ + if (FD == NULL) + return false; + if (HeaderP != NULL) { + headerFree(HeaderP); + HeaderP = NULL; + return false; + } +#if RPM_VERSION >= 0x040100 + rpmts TS = rpmtsCreate(); + rpmtsSetVSFlags(TS, (rpmVSFlags_e)-1); + int rc = rpmReadPackageFile(TS, FD, sFilePath.c_str(), &HeaderP); + if (rc != RPMRC_OK && rc != RPMRC_NOTTRUSTED && rc != RPMRC_NOKEY) { + _error->Error(_("Failed reading file %s"), sFilePath.c_str()); + HeaderP = NULL; + } + rpmtsFree(TS); +#else + int rc = rpmReadPackageHeader(FD, &HeaderP, 0, NULL, NULL); + if (rc) { + _error->Error(_("Failed reading file %s"), sFilePath.c_str()); + HeaderP = NULL; + } +#endif + return (HeaderP != NULL); +} + +bool RPMSingleFileHandler::Jump(unsigned Offset) +{ + assert(Offset == 0); + Rewind(); + return RPMFileHandler::Jump(Offset); +} + +void RPMSingleFileHandler::Rewind() +{ + if (FD == NULL) + return; + if (HeaderP != NULL) { + HeaderP = NULL; + headerFree(HeaderP); + } + lseek(Fileno(FD),0,SEEK_SET); +} + +unsigned long RPMSingleFileHandler::FileSize() +{ + struct stat S; + if (stat(sFilePath.c_str(),&S) != 0) + return 0; + return S.st_size; +} + +string RPMSingleFileHandler::MD5Sum() +{ + MD5Summation MD5; + FileFd File(sFilePath, FileFd::ReadOnly); + MD5.AddFD(File.Fd(), File.Size()); + File.Close(); + return MD5.Result().Value(); +} RPMDirHandler::RPMDirHandler(string DirName) : sDirName(DirName) @@ -154,8 +217,9 @@ RPMDirHandler::RPMDirHandler(string DirName) while (nextFileName() != NULL) iSize += 1; rewinddir(Dir); -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 TS = rpmtsCreate(); + rpmtsSetVSFlags(TS, (rpmVSFlags_e)-1); #endif } @@ -188,7 +252,7 @@ RPMDirHandler::~RPMDirHandler() { if (HeaderP != NULL) headerFree(HeaderP); -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 rpmtsFree(TS); #endif if (Dir != NULL) @@ -212,7 +276,7 @@ bool RPMDirHandler::Skip() FD_t FD = Fopen(sFilePath.c_str(), "r"); if (FD == NULL) continue; -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 int rc = rpmReadPackageFile(TS, FD, fname, &HeaderP); Fclose(FD); if (rc != RPMRC_OK @@ -260,7 +324,7 @@ unsigned long RPMDirHandler::FileSize() return 0; struct stat St; if (stat(sFilePath.c_str(),&St) != 0) { - _error->Errno("stat","Unable to determine the file size"); + _error->Errno("stat",_("Unable to determine the file size")); return 0; } return St.st_size; @@ -295,11 +359,12 @@ RPMDBHandler::RPMDBHandler(bool WriteLock) stat(DataPath(false).c_str(), &St); DbFileMtime = St.st_mtime; -#ifdef HAVE_RPM4 +#if RPM_VERSION >= 0x040000 RpmIter = NULL; #endif -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 Handler = rpmtsCreate(); + rpmtsSetVSFlags(Handler, (rpmVSFlags_e)-1); if (!Dir.empty()) rpmtsSetRootDir(Handler, Dir.c_str()); if (rpmtsOpenDB(Handler, WriteLock?O_RDWR:O_RDONLY) != 0) @@ -317,7 +382,7 @@ RPMDBHandler::RPMDBHandler(bool WriteLock) return; } #endif -#ifdef HAVE_RPM4 +#if RPM_VERSION >= 0x040000 RpmIter = rpmxxInitIterator(Handler, RPMDBI_PACKAGES, NULL, 0); if (RpmIter == NULL) { _error->Error(_("could not create RPM database iterator")); @@ -349,7 +414,7 @@ RPMDBHandler::RPMDBHandler(bool WriteLock) RPMDBHandler::~RPMDBHandler() { -#ifdef HAVE_RPM4 +#if RPM_VERSION >= 0x040000 if (RpmIter == NULL) return; rpmdbFreeIterator(RpmIter); @@ -359,7 +424,7 @@ RPMDBHandler::~RPMDBHandler() headerFree(HeaderP); #endif -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 rpmtsFree(Handler); #else rpmdbClose(Handler); @@ -377,19 +442,23 @@ RPMDBHandler::~RPMDBHandler() string RPMDBHandler::DataPath(bool DirectoryOnly) { string File = "packages.rpm"; -#ifdef HAVE_RPM4 + char *tmp = (char *) rpmExpand("%{_dbpath}", NULL); + string DBPath(_config->Find("RPM::RootDir")+tmp); + free(tmp); + +#if RPM_VERSION >= 0x040000 if (rpmExpandNumeric("%{_dbapi}") >= 3) File = "Packages"; #endif if (DirectoryOnly == true) - return _config->Find("RPM::RootDir")+"/var/lib/rpm"; + return DBPath; else - return _config->Find("RPM::RootDir")+"/var/lib/rpm/"+File; + return DBPath+"/"+File; } bool RPMDBHandler::Skip() { -#ifdef HAVE_RPM4 +#if RPM_VERSION >= 0x040000 if (RpmIter == NULL) return false; HeaderP = rpmdbNextIterator(RpmIter); @@ -416,7 +485,7 @@ bool RPMDBHandler::Skip() bool RPMDBHandler::Jump(unsigned int Offset) { iOffset = Offset; -#ifdef HAVE_RPM4 +#if RPM_VERSION >= 0x040000 if (RpmIter == NULL) return false; rpmdbFreeIterator(RpmIter); @@ -434,7 +503,7 @@ bool RPMDBHandler::Jump(unsigned int Offset) void RPMDBHandler::Rewind() { -#ifdef HAVE_RPM4 +#if RPM_VERSION >= 0x040000 if (RpmIter == NULL) return; rpmdbFreeIterator(RpmIter); diff --git a/apt/apt-pkg/rpm/rpmhandler.h b/apt/apt-pkg/rpm/rpmhandler.h index 4ef92db..28eeb6b 100644 --- a/apt/apt-pkg/rpm/rpmhandler.h +++ b/apt/apt-pkg/rpm/rpmhandler.h @@ -45,6 +45,7 @@ class RPMHandler virtual string Directory() {return "";}; virtual unsigned long FileSize() {return 1;}; virtual string MD5Sum() {return "";}; + virtual bool ProvideFileName() {return false;}; RPMHandler() : iOffset(0), iSize(0), HeaderP(0) {}; virtual ~RPMHandler() {}; @@ -53,6 +54,8 @@ class RPMHandler class RPMFileHandler : public RPMHandler { + protected: + FD_t FD; public: @@ -72,15 +75,40 @@ class RPMFileHandler : public RPMHandler virtual ~RPMFileHandler(); }; +class RPMSingleFileHandler : public RPMFileHandler +{ + protected: + + string sFilePath; + + public: + + virtual bool Skip(); + virtual bool Jump(unsigned int Offset); + virtual void Rewind(); + + virtual string FileName() {return sFilePath;}; + virtual string Directory() {return "";}; + virtual unsigned long FileSize(); + virtual string MD5Sum(); + virtual bool ProvideFileName() {return true;}; + + RPMSingleFileHandler(string File) : RPMFileHandler(File), sFilePath(File) {}; + virtual ~RPMSingleFileHandler() {}; +}; + + class RPMDBHandler : public RPMHandler { -#ifdef HAVE_RPM41 + protected: + +#if RPM_VERSION >= 0x040100 rpmts Handler; #else rpmdb Handler; #endif -#ifdef HAVE_RPM4 +#if RPM_VERSION >= 0x040000 rpmdbMatchIterator RpmIter; #endif bool WriteLock; @@ -104,13 +132,14 @@ class RPMDBHandler : public RPMHandler class RPMDirHandler : public RPMHandler { + protected: DIR *Dir; string sDirName; string sFileName; string sFilePath; -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 rpmts TS; #endif diff --git a/apt/apt-pkg/rpm/rpmindexfile.cc b/apt/apt-pkg/rpm/rpmindexfile.cc index 47c1045..91a6e33 100644 --- a/apt/apt-pkg/rpm/rpmindexfile.cc +++ b/apt/apt-pkg/rpm/rpmindexfile.cc @@ -170,7 +170,7 @@ bool rpmListIndex::Exists() const return FileExists(IndexPath()); } /*}}}*/ -// SrcListIndex::Size - Return the size of the index /*{{{*/ +// rpmListIndex::Size - Return the size of the index /*{{{*/ // --------------------------------------------------------------------- /* */ unsigned long rpmListIndex::Size() const @@ -237,7 +237,10 @@ string rpmSrcListIndex::ArchiveURI(string File) const else Res = URI + Dist; - Res += "/" + File; + if (File.find("/") != string::npos) + Res += '/' + File; + else + Res += "/SRPMS."+Section + '/' + File; if (rpmdata->HasSourceTranslation() == true) { @@ -320,7 +323,7 @@ string rpmPkgListIndex::ArchiveURI(string File) const if (File.find("/") != string::npos) Res += '/' + File; else - Res += "/RPMS."+Section + '/' + File; + Res += "/RPMS." + Section + '/' + File; if (rpmdata->HasBinaryTranslation() == true) { @@ -328,7 +331,11 @@ string rpmPkgListIndex::ArchiveURI(string File) const Dict["uri"] = URI; Dict["dist"] = Dist; Dict["sect"] = Section; - Dict["file"] = File; + string::size_type pos = File.rfind("/"); + if (pos != string::npos) + Dict["file"] = string(File, pos+1); + else + Dict["file"] = File; rpmdata->TranslateBinary(Res, Dict); } @@ -373,7 +380,7 @@ bool rpmPkgListIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const if (stat(PackageFile.c_str(),&St) != 0) { delete Handler; - return _error->Errno("stat","Failed to stat"); + return _error->Errno("stat",_("Failed to stat %s"), PackageFile.c_str()); } File->Size = St.st_size; File->mtime = St.st_mtime; @@ -475,6 +482,51 @@ unsigned long rpmPkgDirIndex::Size() const } /*}}}*/ +// SrcDirIndex::Index* - Return the URI to the index files /*{{{*/ +// --------------------------------------------------------------------- +/* */ +inline string rpmSrcDirIndex::IndexPath() const +{ + return ::URI(ArchiveURI("")).Path; +} + /*}}}*/ +// SrcDirIndex::Size - Return the size of the index /*{{{*/ +// --------------------------------------------------------------------- +/* This is really only used for progress reporting. */ +unsigned long rpmSrcDirIndex::Size() const +{ + // XXX: Must optimize this somehow. + RPMHandler *Handler = CreateHandler(); + unsigned long Res = Handler->Size(); + delete Handler; + return Res; +} + +// SinglePkgIndex::ArchiveURI - URI for the archive /*{{{*/ +// --------------------------------------------------------------------- +string rpmSinglePkgIndex::ArchiveURI(string File) const +{ + char *cwd = getcwd(NULL,0); + if (File[0] == '.' && File[1] == '/') + File = string(File, 2); + string URI = "file://"+flCombine(cwd, File); + free(cwd); + return URI; +} + /*}}}*/ +// SinglePkgIndex::ArchiveURI - URI for the archive /*{{{*/ +// --------------------------------------------------------------------- +string rpmSingleSrcIndex::ArchiveURI(string File) const +{ + char *cwd = getcwd(NULL,0); + if (File[0] == '.' && File[1] == '/') + File = string(File, 2); + string URI = "file://"+flCombine(cwd, File); + free(cwd); + return URI; +} + /*}}}*/ + // DatabaseIndex::rpmDatabaseIndex - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -515,7 +567,7 @@ bool rpmDatabaseIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const pkgCache::PkgFileIterator CFile = Gen.GetCurFile(); struct stat St; if (stat(Handler->DataPath(false).c_str(),&St) != 0) - return _error->Errno("fstat","Failed to stat"); + return _error->Errno("fstat",_("Failed to stat %s"), Handler->DataPath(false).c_str()); CFile->Size = St.st_size; CFile->mtime = Handler->Mtime(); @@ -679,9 +731,30 @@ class rpmSLTypeRpmDir : public rpmSLTypeGen } }; +class rpmSLTypeSrpmDir : public rpmSLTypeGen +{ + public: + + bool CreateItem(vector &List, + string URI, string Dist, string Section, + pkgSourceList::Vendor const *Vendor) const + { + pkgRepository *Rep = GetRepository(URI,Dist,Vendor); + List.push_back(new rpmSrcDirIndex(URI,Dist,Section,Rep)); + return true; + }; + + rpmSLTypeSrpmDir() + { + Name = "rpm-src-dir"; + Label = "Local SRPM directory tree"; + } +}; + rpmSLTypeRpm _apt_rpmType; rpmSLTypeSrpm _apt_rpmSrcType; rpmSLTypeRpmDir _apt_rpmDirType; +rpmSLTypeSrpmDir _apt_rpmSrcDirType; /*}}}*/ // Index File types for rpm /*{{{*/ class rpmIFTypeSrc : public pkgIndexFile::Type @@ -722,10 +795,22 @@ const pkgIndexFile::Type *rpmPkgListIndex::GetType() const { return &_apt_Pkg; } +const pkgIndexFile::Type *rpmSrcDirIndex::GetType() const +{ + return &_apt_Src; +} const pkgIndexFile::Type *rpmPkgDirIndex::GetType() const { return &_apt_Pkg; } +const pkgIndexFile::Type *rpmSinglePkgIndex::GetType() const +{ + return &_apt_Pkg; +} +const pkgIndexFile::Type *rpmSingleSrcIndex::GetType() const +{ + return &_apt_Src; +} const pkgIndexFile::Type *rpmDatabaseIndex::GetType() const { return &_apt_DB; diff --git a/apt/apt-pkg/rpm/rpmindexfile.h b/apt/apt-pkg/rpm/rpmindexfile.h index 4f7a669..abb1fa9 100644 --- a/apt/apt-pkg/rpm/rpmindexfile.h +++ b/apt/apt-pkg/rpm/rpmindexfile.h @@ -195,5 +195,83 @@ class rpmPkgDirIndex : public rpmPkgListIndex {}; }; +class rpmSrcDirIndex : public rpmSrcListIndex +{ + protected: + + virtual string MainType() const {return "srcdir";} + virtual string IndexPath() const; + + public: + + virtual bool GetReleases(pkgAcquire *Owner) const { return true; } + virtual bool GetIndexes(pkgAcquire *Owner) const { return true; } + + // Creates a RPMHandler suitable for usage with this object + virtual RPMHandler *CreateHandler() const + { return new RPMDirHandler(IndexPath()); }; + + virtual const Type *GetType() const; + + // Interface for the Cache Generator + virtual unsigned long Size() const; + + rpmSrcDirIndex(string URI,string Dist,string Section, + pkgRepository *Repository) : + rpmSrcListIndex(URI,Dist,Section,Repository) + {}; +}; + +class rpmSinglePkgIndex : public rpmPkgListIndex +{ + protected: + + string FilePath; + + virtual string MainType() const {return "pkg";} + virtual string IndexPath() const {return FilePath;} + + public: + + virtual bool GetReleases(pkgAcquire *Owner) const { return true; } + virtual bool GetIndexes(pkgAcquire *Owner) const { return true; } + + // Creates a RPMHandler suitable for usage with this object + virtual RPMHandler *CreateHandler() const + { return new RPMSingleFileHandler(IndexPath()); }; + + virtual string ArchiveURI(string File) const; + + virtual const Type *GetType() const; + + rpmSinglePkgIndex(string File) : + rpmPkgListIndex("", "", "", NULL), FilePath(File) {}; +}; + +class rpmSingleSrcIndex : public rpmSrcListIndex +{ + protected: + + string FilePath; + + virtual string MainType() const {return "src";} + virtual string IndexPath() const {return FilePath;} + + public: + + virtual bool GetReleases(pkgAcquire *Owner) const { return true; } + virtual bool GetIndexes(pkgAcquire *Owner) const { return true; } + + // Creates a RPMHandler suitable for usage with this object + virtual RPMHandler *CreateHandler() const + { return new RPMSingleFileHandler(IndexPath()); }; + + virtual string ArchiveURI(string File) const; + + virtual const Type *GetType() const; + + rpmSingleSrcIndex(string File) : + rpmSrcListIndex("", "", "", NULL), FilePath(File) {}; +}; #endif diff --git a/apt/apt-pkg/rpm/rpmlistparser.cc b/apt/apt-pkg/rpm/rpmlistparser.cc index eafcce4..6b3e449 100644 --- a/apt/apt-pkg/rpm/rpmlistparser.cc +++ b/apt/apt-pkg/rpm/rpmlistparser.cc @@ -29,7 +29,7 @@ #include -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 #include #endif @@ -108,7 +108,7 @@ string rpmListParser::Package() if (headerGetEntry(header, RPMTAG_NAME, &type, (void**)&str, &count) != 1) { - _error->Error("Corrupt pkglist: no RPMTAG_NAME in header entry"); + _error->Error(_("Corrupt pkglist: no RPMTAG_NAME in header entry")); return ""; } @@ -251,6 +251,10 @@ bool rpmListParser::NewVersion(pkgCache::VerIterator Ver) if (ParseProvides(Ver) == false) return false; + if (Handler->ProvideFileName() && + NewProvides(Ver, Handler->FileName(), "") == false) + return false; + return true; } /*}}}*/ @@ -278,11 +282,12 @@ bool rpmListParser::UsePackage(pkgCache::PkgIterator Pkg, // --------------------------------------------------------------------- /* */ +/* static int compare(const void *a, const void *b) { return strcmp(*(char**)a, *(char**)b); } - +*/ unsigned short rpmListParser::VersionHash() { @@ -384,7 +389,7 @@ bool rpmListParser::ParseDepends(pkgCache::VerIterator Ver, if (namel[i][0] == 'r' && strncmp(namel[i], "rpmlib", 6) == 0) { -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, namel[i], verl?verl[i]:NULL, flagl[i]); int res = rpmCheckRpmlibProvides(ds); @@ -519,9 +524,21 @@ bool rpmListParser::CollectFileProvides(pkgCache &Cache, NULL, (void **) &names, &count); while (count--) { - pkgCache::Package *P = Cache.FindPackage(names[count]); - if (P != NULL && !NewProvides(Ver, names[count], "")) - return false; + const char *FileName = names[count]; + pkgCache::Package *P = Cache.FindPackage(FileName); + if (P != NULL) { + // Check if this is already provided. + bool Found = false; + for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); + Prv.end() == false; Prv++) { + if (strcmp(Prv.Name(), FileName) == 0) { + Found = true; + break; + } + } + if (Found == false && NewProvides(Ver, FileName, "") == false) + return false; + } } return true; @@ -646,7 +663,7 @@ bool rpmListParser::LoadReleaseInfo(pkgCache::PkgFileIterator FileI, if (Section.FindFlag("NotAutomatic",FileI->Flags, pkgCache::Flag::NotAutomatic) == false) - _error->Warning("Bad NotAutomatic flag"); + _error->Warning(_("Bad NotAutomatic flag")); return !_error->PendingError(); } @@ -702,8 +719,8 @@ void rpmListParser::VirtualizePackage(string Name) // read the comment above). map_ptrloc *ToVerLast = &ToPkgI->VersionList; for (pkgCache::VerIterator ToVerLastI = ToPkgI.VersionList(); - ToVerLastI.end() == false; - ToVerLast = &ToVerLastI->NextVer, ToVerLast++); + ToVerLastI.end() == false; ToVerLastI++) + ToVerLast = &ToVerLastI->NextVer; *ToVerLast = FromVerI.Index(); diff --git a/apt/apt-pkg/rpm/rpmmisc.h b/apt/apt-pkg/rpm/rpmmisc.h index 928d8d2..bc28c20 100644 --- a/apt/apt-pkg/rpm/rpmmisc.h +++ b/apt/apt-pkg/rpm/rpmmisc.h @@ -1,7 +1,7 @@ #ifndef RPMMISC_H #define RPMMISC_H -#ifdef WITH_HASH_MAP +#ifdef WITH_GNU_HASH_MAP #include @@ -23,7 +23,7 @@ struct cstr_eq_pred size_t operator()(const char *s1, const char *s2) const { return strcmp(s1, s2) == 0; }; }; -#endif /* WITH_HASH_MAP */ +#endif /* WITH_GNU_HASH_MAP */ struct cstr_lt_pred { diff --git a/apt/apt-pkg/rpm/rpmpackagedata.h b/apt/apt-pkg/rpm/rpmpackagedata.h index ec5a0cc..6709c77 100644 --- a/apt/apt-pkg/rpm/rpmpackagedata.h +++ b/apt/apt-pkg/rpm/rpmpackagedata.h @@ -67,7 +67,11 @@ class RPMPackageData public: inline pkgCache::State::VerPriority VerPriority(string Package) - {return Priorities[Package];}; + { + if (Priorities.find(Package) != Priorities.end()) + return Priorities[Package]; + return pkgCache::State::Standard; + }; inline pkgCache::Flag::PkgFlags PkgFlags(string Package) {return Flags[Package];}; diff --git a/apt/apt-pkg/rpm/rpmpm.cc b/apt/apt-pkg/rpm/rpmpm.cc index fd81f56..60722a0 100644 --- a/apt/apt-pkg/rpm/rpmpm.cc +++ b/apt/apt-pkg/rpm/rpmpm.cc @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include @@ -32,9 +34,19 @@ #include #include - -#include - /*}}}*/ +#if RPM_VERSION >= 0x040100 +#include +#define packagesTotal rpmcliPackagesTotal +#else +#define rpmpsPrint(a,b) rpmProblemSetPrint(a,b) +#define rpmpsFree(a) rpmProblemSetFree(a) +#define rpmReadPackageFile(a,b,c,d) rpmReadPackageHeader(b,d,0,NULL,NULL) +#if RPM_VERSION < 0x040000 +#define rpmtransFlags int +#define rpmprobFilterFlags int +#include "rpmshowprogress.h" +#endif +#endif // RPMPM::pkgRPMPM - Constructor /*{{{*/ // --------------------------------------------------------------------- @@ -162,7 +174,7 @@ bool pkgRPMPM::RunScriptsWithPkgs(const char *Cnf) // Create the pipes int Pipes[2]; if (pipe(Pipes) != 0) - return _error->Errno("pipe","Failed to create IPC pipe to subprocess"); + return _error->Errno("pipe",_("Failed to create IPC pipe to subprocess")); SetCloseExec(Pipes[0],true); SetCloseExec(Pipes[1],true); @@ -221,7 +233,157 @@ bool pkgRPMPM::RunScriptsWithPkgs(const char *Cnf) /*}}}*/ -bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector &files) + +// RPMPM::Go - Run the sequence /*{{{*/ +// --------------------------------------------------------------------- +/* This globs the operations and calls rpm */ +bool pkgRPMPM::Go() +{ + if (RunScripts("RPM::Pre-Invoke") == false) + return false; + + if (RunScriptsWithPkgs("RPM::Pre-Install-Pkgs") == false) + return false; + + vector install_or_upgrade; + vector install; + vector upgrade; + vector uninstall; + vector pkgs_install; + vector pkgs_uninstall; + + vector unalloc; + + for (vector::iterator I = List.begin(); I != List.end(); I++) + { + switch (I->Op) + { + case Item::Purge: + case Item::Remove: + if (strchr(I->Pkg.Name(), '#') != NULL) + { + char *name = strdup(I->Pkg.Name()); + char *p = strchr(name, '#'); + *(p++) = '-'; + const char *epoch = strchr(p, ':'); + if (epoch != NULL) + memmove(p, epoch+1, strlen(epoch+1)+1); + unalloc.push_back(name); + uninstall.push_back(name); + } + else + uninstall.push_back(I->Pkg.Name()); + pkgs_uninstall.push_back(I->Pkg); + break; + + case Item::Configure: + break; + + case Item::Install: + if (strchr(I->Pkg.Name(), '#') != NULL) { + char *name = strdup(I->Pkg.Name()); + char *p = strchr(name, '#'); + *p = 0; + PkgIterator Pkg = Cache.FindPkg(name); + free(name); + PrvIterator Prv = Pkg.ProvidesList(); + bool Installed = false; + for (; Prv.end() == false; Prv++) { + if (Prv.OwnerPkg().CurrentVer().end() == false) { + Installed = true; + break; + } + } + if (Installed) + install.push_back(I->File.c_str()); + else + upgrade.push_back(I->File.c_str()); + } else { + upgrade.push_back(I->File.c_str()); + } + install_or_upgrade.push_back(I->File.c_str()); + pkgs_install.push_back(I->Pkg); + break; + + default: + return _error->Error(_("Unknown pkgRPMPM operation.")); + } + } + + bool Ret = true; + +#ifdef WITH_LUA + if (_lua->HasScripts("Scripts::PM::Pre") == true) { + _lua->SetGlobal("files_install", install_or_upgrade); + _lua->SetGlobal("names_remove", uninstall); + _lua->SetGlobal("pkgs_install", pkgs_install); + _lua->SetGlobal("pkgs_remove", pkgs_uninstall); + _lua->SetDepCache(&Cache); + _lua->RunScripts("Scripts::PM::Pre", false); + _lua->ResetCaches(); + _lua->ResetGlobals(); + if (_error->PendingError() == true) { + Ret = false; + goto exit; + } + } +#endif + + if (Process(install, upgrade, uninstall) == false) + Ret = false; + +#ifdef WITH_LUA + if (_lua->HasScripts("Scripts::PM::Post") == true) { + _lua->SetGlobal("files_install", install_or_upgrade); + _lua->SetGlobal("names_remove", uninstall); + _lua->SetGlobal("pkgs_install", pkgs_install); + _lua->SetGlobal("pkgs_remove", pkgs_uninstall); + _lua->SetDepCache(&Cache); + _lua->RunScripts("Scripts::PM::Post", false); + _lua->ResetCaches(); + _lua->ResetGlobals(); + if (_error->PendingError() == true) { + Ret = false; + goto exit; + } + } +#endif + + + if (Ret == true) + Ret = RunScripts("RPM::Post-Invoke"); + +exit: + for (vector::iterator I = unalloc.begin(); I != unalloc.end(); I++) + free(*I); + + return Ret; +} + /*}}}*/ +// pkgRPMPM::Reset - Dump the contents of the command list /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void pkgRPMPM::Reset() +{ + List.erase(List.begin(),List.end()); +} + /*}}}*/ +// RPMExtPM::pkgRPMExtPM - Constructor /*{{{*/ +// --------------------------------------------------------------------- +/* */ +pkgRPMExtPM::pkgRPMExtPM(pkgDepCache *Cache) : pkgRPMPM(Cache) +{ +} + /*}}}*/ +// RPMExtPM::pkgRPMExtPM - Destructor /*{{{*/ +// --------------------------------------------------------------------- +/* */ +pkgRPMExtPM::~pkgRPMExtPM() +{ +} + /*}}}*/ + +bool pkgRPMExtPM::ExecRPM(Item::RPMOps op, vector &files) { const char *Args[10000]; const char *operation; @@ -285,7 +447,8 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector &files) } else { - bool oldpackage = _config->FindB("RPM::OldPackage",true); + bool oldpackage = _config->FindB("RPM::OldPackage", + (op == Item::RPMUpgrade)); bool replacepkgs = _config->FindB("APT::Get::ReInstall",false); bool replacefiles = _config->FindB("APT::Get::ReInstall",false); Opts = _config->Tree("RPM::Install-Options"); @@ -333,8 +496,35 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector &files) if (_config->FindB("RPM::Order",false) == false) Args[n++] = "--noorder"; - for (vector::iterator I = files.begin(); I != files.end(); I++) - Args[n++] = *I; + bool FilesInArgs = true; + char *ArgsFileName = NULL; +#if RPM_VERSION >= 0x040000 + if (op != Item::RPMErase && files.size() > 50) { + string FileName = _config->FindDir("Dir::Cache", "/tmp/") + + "filelist.XXXXXX"; + ArgsFileName = strdup(FileName.c_str()); + if (ArgsFileName) { + int fd = mkstemp(ArgsFileName); + if (fd != -1) { + FileFd File(fd); + for (vector::iterator I = files.begin(); + I != files.end(); I++) { + File.Write(*I, strlen(*I)); + File.Write("\n", 1); + } + File.Close(); + FilesInArgs = false; + Args[n++] = ArgsFileName; + } + } + } +#endif + + if (FilesInArgs == true) { + for (vector::iterator I = files.begin(); + I != files.end(); I++) + Args[n++] = *I; + } Args[n++] = 0; @@ -343,6 +533,10 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector &files) for (unsigned int k = 0; k < n; k++) clog << Args[k] << ' '; clog << endl; + if (ArgsFileName) { + unlink(ArgsFileName); + free(ArgsFileName); + } return true; } @@ -386,7 +580,7 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector &files) } execvp(Args[0],(char **)Args); - cerr << "Could not exec " << Args[0] << endl; + cerr << _("Could not exec ") << Args[0] << endl; _exit(100); } @@ -397,7 +591,15 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector &files) if (errno == EINTR) continue; RunScripts("RPM::Post-Invoke"); - return _error->Errno("waitpid","Couldn't wait for subprocess"); + if (ArgsFileName) { + unlink(ArgsFileName); + free(ArgsFileName); + } + return _error->Errno("waitpid",_("Couldn't wait for subprocess")); + } + if (ArgsFileName) { + unlink(ArgsFileName); + free(ArgsFileName); } // Restore sig int/quit @@ -417,12 +619,12 @@ bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector &files) return _error->Error(_("Sub-process %s exited unexpectedly"),Args[0]); } + cout << _("Done.") << endl; return true; } - -bool pkgRPMPM::Process(vector &install, +bool pkgRPMExtPM::Process(vector &install, vector &upgrade, vector &uninstall) { @@ -435,83 +637,316 @@ bool pkgRPMPM::Process(vector &install, return true; } - -// RPMPM::Go - Run the sequence /*{{{*/ -// --------------------------------------------------------------------- -/* This globs the operations and calls rpm */ -bool pkgRPMPM::Go() -{ - if (RunScripts("RPM::Pre-Invoke") == false) - return false; - - if (RunScriptsWithPkgs("RPM::Pre-Install-Pkgs") == false) - return false; - - vector install; - vector upgrade; - vector uninstall; - - vector unalloc; - - for (vector::iterator I = List.begin(); I != List.end(); I++) - { - switch (I->Op) - { - case Item::Purge: - case Item::Remove: - if (strchr(I->Pkg.Name(), '#') != NULL) - { - char *name = strdup(I->Pkg.Name()); - char *p = strchr(name, '#'); - *(p++) = '-'; - const char *epoch = strchr(p, ':'); - if (epoch != NULL) - memmove(p, epoch+1, strlen(epoch+1)+1); - unalloc.push_back(name); - uninstall.push_back(name); - } - else - uninstall.push_back(I->Pkg.Name()); - break; - - case Item::Configure: - break; - - case Item::Install: - if (strchr(I->Pkg.Name(), '#') != NULL) - install.push_back(I->File.c_str()); - else - upgrade.push_back(I->File.c_str()); - break; - - default: - return _error->Error("Unknown pkgRPMPM operation."); - } - } - - bool Ret = true; - - if (Process(install, upgrade, uninstall) == false) - Ret = false; - - for (vector::iterator I = unalloc.begin(); I != unalloc.end(); I++) - free(*I); - - if (Ret == true) - Ret = RunScripts("RPM::Post-Invoke"); - - return Ret; -} - /*}}}*/ -// pkgRPMPM::Reset - Dump the contents of the command list /*{{{*/ +// RPMLibPM::pkgRPMLibPM - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgRPMPM::Reset() +pkgRPMLibPM::pkgRPMLibPM(pkgDepCache *Cache) : pkgRPMPM(Cache) +{ +} + /*}}}*/ +// RPMLibPM::pkgRPMLibPM - Destructor /*{{{*/ +// --------------------------------------------------------------------- +/* */ +pkgRPMLibPM::~pkgRPMLibPM() { - List.erase(List.begin(),List.end()); } /*}}}*/ +bool pkgRPMLibPM::AddToTransaction(Item::RPMOps op, vector &files) +{ + int debug = _config->FindB("Debug::pkgRPMPM", false); + int n = 0, rc, xx; + FD_t fd; + rpmHeader hdr; + + for (vector::iterator I = files.begin(); I != files.end(); I++) + { + int upgrade = 0; + + switch (op) + { + case Item::RPMUpgrade: + upgrade = 1; + case Item::RPMInstall: + fd = Fopen(*I, "r.ufdio"); + if (fd == NULL) + _error->Error(_("Failed opening %s"), *I); +#if RPM_VERSION >= 0x040100 + rc = rpmReadPackageFile(TS, fd, *I, &hdr); + if (rc != RPMRC_OK && rc != RPMRC_NOTTRUSTED && rc != RPMRC_NOKEY) + _error->Error(_("Failed reading file %s"), *I); + rc = rpmtsAddInstallElement(TS, hdr, *I, upgrade, 0); +#else + rc = rpmReadPackageHeader(fd, &hdr, 0, NULL, NULL); + if (rc) + _error->Error(_("Failed reading file %s"), *I); + rc = rpmtransAddPackage(TS, hdr, NULL, *I, upgrade, 0); +#endif + if (rc) + _error->Error(_("Failed adding %s to transaction %s"), + *I, "(install)"); + headerFree(hdr); + Fclose(fd); + break; + + case Item::RPMErase: +#if RPM_VERSION >= 0x040000 + rpmdbMatchIterator MI; +#if RPM_VERSION >= 0x040100 + MI = rpmtsInitIterator(TS, (rpmTag)RPMDBI_LABEL, *I, 0); +#else + MI = rpmdbInitIterator(DB, RPMDBI_LABEL, *I, 0); +#endif + while ((hdr = rpmdbNextIterator(MI)) != NULL) + { + unsigned int recOffset = rpmdbGetIteratorOffset(MI); + if (recOffset) { +#if RPM_VERSION >= 0x040100 + rc = rpmtsAddEraseElement(TS, hdr, recOffset); +#else + rc = rpmtransRemovePackage(TS, recOffset); +#endif + if (rc) + _error->Error(_("Failed adding %s to transaction %s"), + *I, "(erase)"); + } + } + MI = rpmdbFreeIterator(MI); +#else // RPM 3.X + dbiIndexSet matches; + rc = rpmdbFindByLabel(DB, *I, &matches); + if (rc == 0) { + for (int i = 0; i < dbiIndexSetCount(matches); i++) { + unsigned int recOffset = dbiIndexRecordOffset(matches, i); + if (recOffset) + rpmtransRemovePackage(TS, recOffset); + } + } +#endif + break; + } + } + return true; +} + +bool pkgRPMLibPM::Process(vector &install, + vector &upgrade, + vector &uninstall) +{ + int rc = 0; + bool Success = false; + int debug = _config->FindB("Debug::pkgRPMPM", false); + string Dir = _config->Find("RPM::RootDir"); + rpmReadConfigFiles(NULL, NULL); + + int probFilter = 0; + int notifyFlags = 0; + int tsFlags = 0; + + if (uninstall.empty() == false) + ParseRpmOpts("RPM::Erase-Options", &tsFlags, &probFilter); + if (install.empty() == false || upgrade.empty() == false) + ParseRpmOpts("RPM::Install-Options", &tsFlags, &probFilter); + ParseRpmOpts("RPM::Options", &tsFlags, &probFilter); + +#if RPM_VERSION >= 0x040100 + rpmps probs; + TS = rpmtsCreate(); + rpmtsSetVSFlags(TS, (rpmVSFlags_e)-1); + // 4.1 needs this always set even if NULL, + // otherwise all scriptlets fail + rpmtsSetRootDir(TS, Dir.c_str()); + if (rpmtsOpenDB(TS, O_RDWR) != 0) + { + _error->Error(_("Could not open RPM database")); + goto exit; + } +#else + rpmProblemSet probs; + const char *RootDir = NULL; + if (!Dir.empty()) + RootDir = Dir.c_str(); + if (rpmdbOpen(RootDir, &DB, O_RDWR, 0644) != 0) + { + _error->Error(_("Could not open RPM database")); + goto exit; + } + TS = rpmtransCreateSet(DB, Dir.c_str()); +#endif + + if (_config->FindB("RPM::OldPackage", true) || !upgrade.empty()) { + probFilter |= RPMPROB_FILTER_OLDPACKAGE; + } + if (_config->FindB("APT::Get::ReInstall", false)) { + probFilter |= RPMPROB_FILTER_REPLACEPKG; + probFilter |= RPMPROB_FILTER_REPLACEOLDFILES; + probFilter |= RPMPROB_FILTER_REPLACENEWFILES; + } + + if (_config->FindB("RPM::Interactive", true)) + notifyFlags |= INSTALL_LABEL | INSTALL_HASH; + else + notifyFlags |= INSTALL_LABEL | INSTALL_PERCENT; + + if (uninstall.empty() == false) + AddToTransaction(Item::RPMErase, uninstall); + if (install.empty() == false) + AddToTransaction(Item::RPMInstall, install); + if (upgrade.empty() == false) + AddToTransaction(Item::RPMUpgrade, upgrade); + + // Setup the gauge used by rpmShowProgress. + packagesTotal = install.size()+upgrade.size(); + +#if RPM_VERSION >= 0x040100 + rc = rpmtsCheck(TS); + probs = rpmtsProblems(TS); + if (rc || probs->numProblems > 0) { + rpmpsPrint(NULL, probs); + rpmpsFree(probs); + _error->Error(_("Transaction set check failed")); + goto exit; + } +#else +#if RPM_VERSION < 0x040000 + rpmDependencyConflict *conflicts; +#else + rpmDependencyConflict conflicts; +#endif + int numConflicts; + if (_config->FindB("RPM::NoDeps", false) == false && + rpmdepCheck(TS, &conflicts, &numConflicts)) + { + _error->Error(_("Transaction set check failed")); + if (conflicts) { + printDepProblems(stderr, conflicts, numConflicts); + rpmdepFreeConflicts(conflicts, numConflicts); + } + goto exit; + } +#endif + + rc = 0; +#if RPM_VERSION >= 0x040100 + if (_config->FindB("RPM::Order", true) == true) + rc = rpmtsOrder(TS); +#else + if (_config->FindB("RPM::Order", true) == true) + rc = rpmdepOrder(TS); +#endif + + if (rc > 0) { + _error->Error(_("Ordering failed for %d packages"), rc); + goto exit; + } + + cout << _("Committing changes...") << endl << flush; + +#if RPM_VERSION >= 0x040100 + probFilter |= rpmtsFilterFlags(TS); + rpmtsSetFlags(TS, (rpmtransFlags)(rpmtsFlags(TS) | tsFlags)); + rpmtsClean(TS); + rc = rpmtsSetNotifyCallback(TS, rpmShowProgress, (void *)notifyFlags); + rc = rpmtsRun(TS, NULL, (rpmprobFilterFlags)probFilter); + probs = rpmtsProblems(TS); +#else + rc = rpmRunTransactions(TS, rpmShowProgress, (void *)notifyFlags, NULL, + &probs, (rpmtransFlags)tsFlags, + (rpmprobFilterFlags)probFilter); +#endif + + if (rc > 0) { + _error->Error(_("Error while running transaction")); + if (probs->numProblems > 0) + rpmpsPrint(stderr, probs); + } else { + Success = true; + if (rc < 0) + _error->Warning(_("Some errors occurred while running transaction")); + else + cout << _("Done.") << endl; + } + rpmpsFree(probs); + +exit: + +#if RPM_VERSION >= 0x040100 + rpmtsFree(TS); +#else + rpmdbClose(DB); +#endif + + return Success; +} + +bool pkgRPMLibPM::ParseRpmOpts(const char *Cnf, int *tsFlags, int *probFilter) +{ + Configuration::Item const *Opts = _config->Tree(Cnf); + + if (Opts != 0) + { + Opts = Opts->Child; + for (; Opts != 0; Opts = Opts->Next) + { + if (Opts->Value.empty() == true) + continue; + // Transaction set flags + if (Opts->Value == "--noscripts") + *tsFlags |= RPMTRANS_FLAG_NOSCRIPTS; + else if (Opts->Value == "--notriggers") + *tsFlags |= RPMTRANS_FLAG_NOTRIGGERS; + else if (Opts->Value == "--nodocs" || + Opts->Value == "--excludedocs") + *tsFlags |= RPMTRANS_FLAG_NODOCS; + else if (Opts->Value == "--allfiles") + *tsFlags |= RPMTRANS_FLAG_ALLFILES; + else if (Opts->Value == "--justdb") + *tsFlags |= RPMTRANS_FLAG_JUSTDB; +#if RPM_VERSION >= 0x040000 + else if (Opts->Value == "--nomd5") + *tsFlags |= RPMTRANS_FLAG_NOMD5; + else if (Opts->Value == "--repackage") + *tsFlags |= RPMTRANS_FLAG_REPACKAGE; +#endif +#if RPM_VERSION >= 0x040200 + else if (Opts->Value == "--noconfigs" || + Opts->Value == "--excludeconfigs") + *tsFlags |= RPMTRANS_FLAG_NOCONFIGS; +#endif + + // Problem filter flags + else if (Opts->Value == "--replacefiles") + { + *probFilter |= RPMPROB_FILTER_REPLACEOLDFILES; + *probFilter |= RPMPROB_FILTER_REPLACENEWFILES; + } + else if (Opts->Value == "--replacepkgs") + *probFilter |= RPMPROB_FILTER_REPLACEPKG; + else if (Opts->Value == "--ignoresize") + { + *probFilter |= RPMPROB_FILTER_DISKSPACE; +#if RPM_VERSION >= 0x040000 + *probFilter |= RPMPROB_FILTER_DISKNODES; +#endif + } + else if (Opts->Value == "--badreloc") + *probFilter |= RPMPROB_FILTER_FORCERELOCATE; + + // Misc things having apt config counterparts + else if (Opts->Value == "--force") + _config->Set("APT::Get::ReInstall", true); + else if (Opts->Value == "--oldpackage") + _config->Set("RPM::OldPackage", true); + else if (Opts->Value == "--nodeps") + _config->Set("RPM::NoDeps", true); + else if (Opts->Value == "--noorder") + _config->Set("RPM::Order", false); + // TODO: --root, --relocate, --prefix, --excludepath etc... + + } + } + return true; +} #endif /* HAVE_RPM */ // vim:sts=3:sw=3 diff --git a/apt/apt-pkg/rpm/rpmpm.h b/apt/apt-pkg/rpm/rpmpm.h index ac09d33..7ed3767 100644 --- a/apt/apt-pkg/rpm/rpmpm.h +++ b/apt/apt-pkg/rpm/rpmpm.h @@ -11,6 +11,16 @@ #ifndef PKGLIB_rpmPM_H #define PKGLIB_rpmPM_H +#include +#if RPM_VERSION >= 0x040100 +#include +#endif +#if RPM_VERSION >= 0x040000 +#include +#endif + /*}}}*/ +typedef Header rpmHeader; + #ifdef __GNUG__ #pragma interface "apt-pkg/rpmpm.h" #endif @@ -46,10 +56,9 @@ class pkgRPMPM : public pkgPackageManager virtual bool Configure(PkgIterator Pkg); virtual bool Remove(PkgIterator Pkg,bool Purge = false); - bool ExecRPM(Item::RPMOps op, vector &files); - bool Process(vector &install, + virtual bool Process(vector &install, vector &upgrade, - vector &uninstall); + vector &uninstall) {return false;}; virtual bool Go(); virtual void Reset(); @@ -60,6 +69,41 @@ class pkgRPMPM : public pkgPackageManager virtual ~pkgRPMPM(); }; +class pkgRPMExtPM : public pkgRPMPM +{ + protected: + bool ExecRPM(Item::RPMOps op, vector &files); + virtual bool Process(vector &install, + vector &upgrade, + vector &uninstall); + + public: + pkgRPMExtPM(pkgDepCache *Cache); + virtual ~pkgRPMExtPM(); +}; + +class pkgRPMLibPM : public pkgRPMPM +{ + protected: +#if RPM_VERSION >= 0x040100 + rpmts TS; +#else + rpmTransactionSet TS; + rpmdb DB; +#endif + + bool ParseRpmOpts(const char *Cnf, int *tsFlags, int *probFilter); + bool AddToTransaction(Item::RPMOps op, vector &files); + virtual bool Process(vector &install, + vector &upgrade, + vector &uninstall); + + public: + + pkgRPMLibPM(pkgDepCache *Cache); + virtual ~pkgRPMLibPM(); +}; + #endif // vim:sts=3:sw=3 diff --git a/apt/apt-pkg/rpm/rpmrecords.cc b/apt/apt-pkg/rpm/rpmrecords.cc index 6941fa4..c1e39b4 100644 --- a/apt/apt-pkg/rpm/rpmrecords.cc +++ b/apt/apt-pkg/rpm/rpmrecords.cc @@ -23,6 +23,8 @@ #include #include +#include + // RecordParser::rpmRecordParser - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -37,6 +39,8 @@ rpmRecordParser::rpmRecordParser(string File, pkgCache &Cache) struct stat Buf; if (stat(File.c_str(),&Buf) == 0 && S_ISDIR(Buf.st_mode)) Handler = new RPMDirHandler(File); + else if (flExtension(File) == "rpm") + Handler = new RPMSingleFileHandler(File); else Handler = new RPMFileHandler(File); } @@ -172,6 +176,8 @@ string rpmRecordParser::LongDesc() /* */ string rpmRecordParser::SourcePkg() { + // This must be the *package* name, not the *file* name. We have no + // current way to extract it safely from the file name. return ""; } /*}}}*/ @@ -192,7 +198,7 @@ void rpmRecordParser::BufCat(const char *begin, const char *end) char *tmp = (char*)realloc(Buffer, BufSize); if (tmp == NULL) { - _error->Errno("realloc", "could not allocate buffer for record text"); + _error->Errno("realloc", _("Could not allocate buffer for record text")); return; } Buffer = tmp; @@ -275,7 +281,6 @@ void rpmRecordParser::GetRec(const char *&Start,const char *&Stop) char *str; char **strv; char **strv2; - int num; int_32 *numv; char buf[32]; @@ -419,6 +424,24 @@ void rpmRecordParser::GetRec(const char *&Start,const char *&Stop) Stop = Buffer + BufUsed; } /*}}}*/ + +bool rpmRecordParser::HasFile(const char *File) +{ + if (*File == '\0') + return false; + char **names = NULL; + int_32 count = 0; + rpmHeaderGetEntry(HeaderP, RPMTAG_OLDFILENAMES, + NULL, (void **) &names, &count); + while (count--) + { + char *name = names[count]; + if (strcmp(name, File) == 0) + return true; + } + return false; +} + #endif /* HAVE_RPM */ // vim:sts=3:sw=3 diff --git a/apt/apt-pkg/rpm/rpmrecords.h b/apt/apt-pkg/rpm/rpmrecords.h index f892257..71e3325 100644 --- a/apt/apt-pkg/rpm/rpmrecords.h +++ b/apt/apt-pkg/rpm/rpmrecords.h @@ -65,6 +65,8 @@ class rpmRecordParser : public pkgRecords::Parser // The record in raw text, in standard Debian format virtual void GetRec(const char *&Start,const char *&Stop); + virtual bool HasFile(const char *File); + rpmRecordParser(string File,pkgCache &Cache); ~rpmRecordParser(); }; diff --git a/apt/apt-pkg/rpm/rpmshowprogress.h b/apt/apt-pkg/rpm/rpmshowprogress.h new file mode 100644 index 0000000..7c50856 --- /dev/null +++ b/apt/apt-pkg/rpm/rpmshowprogress.h @@ -0,0 +1,143 @@ +// +// This code was originally from rpm 4.0.3. +// +static int hashesPrinted = 0; +static int packagesTotal = 0; +static int progressTotal = 0; +static int progressCurrent = 0; + +static void printHash(const unsigned long amount, const unsigned long total) +{ + int hashesNeeded; + int hashesTotal = 50; + + if (isatty (STDOUT_FILENO)) + hashesTotal = 44; + + if (hashesPrinted != hashesTotal) { + hashesNeeded = (int)(hashesTotal*(total?(((float)amount)/total):1)); + while (hashesNeeded > hashesPrinted) { + if (isatty (STDOUT_FILENO)) { + int i; + for (i = 0; i < hashesPrinted; i++) (void) putchar ('#'); + for (; i < hashesTotal; i++) (void) putchar (' '); + fprintf(stdout, "(%3d%%)", + (int)(100 * (total ? (((float) amount) / total) : 1))); + for (i = 0; i < (hashesTotal + 6); i++) (void) putchar ('\b'); + } else + fprintf(stdout, "#"); + + hashesPrinted++; + } + (void) fflush(stdout); + hashesPrinted = hashesNeeded; + + if (hashesPrinted == hashesTotal) { + int i; + progressCurrent++; + if (isatty(STDOUT_FILENO)) { + for (i = 1; i < hashesPrinted; i++) (void) putchar ('#'); + fprintf(stdout, " [%3d%%]", (int)(100 * (progressTotal ? + (((float) progressCurrent) / progressTotal) : 1))); + } + fprintf(stdout, "\n"); + } + (void) fflush(stdout); + } +} + +void * rpmShowProgress(const Header h, + const rpmCallbackType what, + const unsigned long amount, + const unsigned long total, + const void * pkgKey, void * data) +{ + char * s; + int flags = (int) ((long)data); + void * rc = NULL; + const char * filename = (const char *) pkgKey; + static FD_t fd = NULL; + + switch (what) { + case RPMCALLBACK_INST_OPEN_FILE: + if (filename == NULL || filename[0] == '\0') + return NULL; + fd = Fopen(filename, "r.ufdio"); + if (fd) + fd = fdLink(fd, "persist (showProgress)"); + return fd; + /*@notreached@*/ break; + + case RPMCALLBACK_INST_CLOSE_FILE: + fd = fdFree(fd, "persist (showProgress)"); + if (fd) { + (void) Fclose(fd); + fd = NULL; + } + break; + + case RPMCALLBACK_INST_START: + hashesPrinted = 0; + if (h == NULL || !(flags & INSTALL_LABEL)) + break; + if (flags & INSTALL_HASH) { + s = headerSprintf(h, "%{NAME}", + rpmTagTable, rpmHeaderFormats, NULL); + if (isatty (STDOUT_FILENO)) + fprintf(stdout, "%4d:%-23.23s", progressCurrent + 1, s); + else + fprintf(stdout, "%-28.28s", s); + (void) fflush(stdout); + free(s); + s = NULL; + } else { + s = headerSprintf(h, "%{NAME}-%{VERSION}-%{RELEASE}", + rpmTagTable, rpmHeaderFormats, NULL); + fprintf(stdout, "%s\n", s); + (void) fflush(stdout); + free(s); + s = NULL; + } + break; + + case RPMCALLBACK_TRANS_PROGRESS: + case RPMCALLBACK_INST_PROGRESS: + if (flags & INSTALL_PERCENT) + fprintf(stdout, "%%%% %f\n", (double) (total + ? ((((float) amount) / total) * 100) + : 100.0)); + else if (flags & INSTALL_HASH) + printHash(amount, total); + (void) fflush(stdout); + break; + + case RPMCALLBACK_TRANS_START: + hashesPrinted = 0; + progressTotal = 1; + progressCurrent = 0; + if (!(flags & INSTALL_LABEL)) + break; + if (flags & INSTALL_HASH) + fprintf(stdout, "%-28s", _("Preparing...")); + else + fprintf(stdout, "%s\n", _("Preparing packages for installation...")); + (void) fflush(stdout); + break; + + case RPMCALLBACK_TRANS_STOP: + if (flags & INSTALL_HASH) + printHash(1, 1); /* Fixes "preparing..." progress bar */ + progressTotal = packagesTotal; + progressCurrent = 0; + break; + + case RPMCALLBACK_UNINST_PROGRESS: + case RPMCALLBACK_UNINST_START: + case RPMCALLBACK_UNINST_STOP: + /* ignore */ + break; + } + + return rc; +} + diff --git a/apt/apt-pkg/rpm/rpmsrcrecords.cc b/apt/apt-pkg/rpm/rpmsrcrecords.cc index a950d1b..66f2d3d 100644 --- a/apt/apt-pkg/rpm/rpmsrcrecords.cc +++ b/apt/apt-pkg/rpm/rpmsrcrecords.cc @@ -17,6 +17,7 @@ #ifdef HAVE_RPM +#include #include #include @@ -26,7 +27,7 @@ #include -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 #include #endif @@ -36,7 +37,13 @@ rpmSrcRecordParser::rpmSrcRecordParser(string File,pkgIndexFile const *Index) : Parser(Index), HeaderP(0), Buffer(0), BufSize(0), BufUsed(0) { - FileHandler = new RPMFileHandler(File); + struct stat Buf; + if (stat(File.c_str(),&Buf) == 0 && S_ISDIR(Buf.st_mode)) + Handler = new RPMDirHandler(File); + else if (flExtension(File) == "rpm") + Handler = new RPMSingleFileHandler(File); + else + Handler = new RPMFileHandler(File); } /*}}}*/ // SrcRecordParser::~rpmSrcRecordParser - Destructor /*{{{*/ @@ -44,7 +51,7 @@ rpmSrcRecordParser::rpmSrcRecordParser(string File,pkgIndexFile const *Index) /* */ rpmSrcRecordParser::~rpmSrcRecordParser() { - delete FileHandler; + delete Handler; free(Buffer); } /*}}}*/ @@ -77,53 +84,17 @@ const char **rpmSrcRecordParser::Binaries() a complete source package */ bool rpmSrcRecordParser::Files(vector &List) { - char *srpm, *md5; - char *dir; - int type, count; - int_32 *size; - int rc; - assert(HeaderP != NULL); List.clear(); - rc = headerGetEntry(HeaderP, CRPMTAG_FILENAME, - &type, (void**)&srpm, &count); - if (rc != 1) - return _error->Error(_("error parsing file record %s"), - "(CRPMTAG_FILENAME)"); - rc = headerGetEntry(HeaderP, CRPMTAG_MD5, - &type, (void**)&md5, &count); - if (rc != 1) - return _error->Error(_("error parsing file record %s"), - "(CRPMTAG_MD5)"); - rc = headerGetEntry(HeaderP, CRPMTAG_FILESIZE, - &type, (void**)&size, &count); - if (rc != 1) - return _error->Error(_("error parsing file record %s"), - "(CRPMTAG_FILESIZE)"); - rc = headerGetEntry(HeaderP, CRPMTAG_DIRECTORY, - &type, (void**)&dir, &count); - if (rc != 1) - return _error->Error(_("error parsing file record %s"), - "(CRPMTAG_DIRECTORY)"); - pkgSrcRecords::File F; - F.MD5Hash = string(md5); - F.Size = size[0]; - F.Path = string(dir)+"/"+string(srpm); + F.MD5Hash = Handler->MD5Sum(); + F.Size = Handler->FileSize(); + F.Path = flCombine(Handler->Directory(), Handler->FileName()); F.Type = "srpm"; -#ifndef REMOVE_THIS_SOMEDAY - /* This code is here to detect if that's a "new" style SRPM directory - * scheme, or an old style. Someday, when most repositories were already - * rebuilt with the new gensrclist tool, this code may be safely - * removed. */ - if (F.Path[0] != '.') - F.Path = "../" + F.Path; -#endif - List.push_back(F); return true; @@ -132,23 +103,23 @@ bool rpmSrcRecordParser::Files(vector &List) bool rpmSrcRecordParser::Restart() { - FileHandler->Rewind(); + Handler->Rewind(); return true; } bool rpmSrcRecordParser::Step() { - if (FileHandler->Skip() == false) + if (Handler->Skip() == false) return false; - HeaderP = FileHandler->GetHeader(); + HeaderP = Handler->GetHeader(); return true; } bool rpmSrcRecordParser::Jump(unsigned long Off) { - if (!FileHandler->Jump(Off)) + if (!Handler->Jump(Off)) return false; - HeaderP = FileHandler->GetHeader(); + HeaderP = Handler->GetHeader(); return true; } @@ -222,7 +193,7 @@ string rpmSrcRecordParser::Section() const unsigned long rpmSrcRecordParser::Offset() { - return FileHandler->Offset(); + return Handler->Offset(); } void rpmSrcRecordParser::BufCat(char *text) @@ -241,7 +212,7 @@ void rpmSrcRecordParser::BufCat(char *begin, char *end) char *tmp = (char*)realloc(Buffer, BufSize); if (tmp == NULL) { - _error->Errno("realloc", "could not allocate buffer for record text"); + _error->Errno("realloc", _("Could not allocate buffer for record text")); return; } Buffer = tmp; @@ -465,7 +436,7 @@ bool rpmSrcRecordParser::BuildDepends(vector { if (strncmp(namel[i], "rpmlib", 6) == 0) { -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, namel[i], verl?verl[i]:NULL, flagl[i]); int res = rpmCheckRpmlibProvides(ds); diff --git a/apt/apt-pkg/rpm/rpmsrcrecords.h b/apt/apt-pkg/rpm/rpmsrcrecords.h index 3deaec2..2e8f691 100644 --- a/apt/apt-pkg/rpm/rpmsrcrecords.h +++ b/apt/apt-pkg/rpm/rpmsrcrecords.h @@ -20,11 +20,11 @@ #include -class RPMFileHandler; +class RPMHandler; class rpmSrcRecordParser : public pkgSrcRecords::Parser { - RPMFileHandler *FileHandler; + RPMHandler *Handler; Header HeaderP; const char *StaticBinList[400]; diff --git a/apt/apt-pkg/rpm/rpmsystem.cc b/apt/apt-pkg/rpm/rpmsystem.cc index aefe9cc..5884e81 100644 --- a/apt/apt-pkg/rpm/rpmsystem.cc +++ b/apt/apt-pkg/rpm/rpmsystem.cc @@ -35,7 +35,11 @@ #include #include #include +#include /*}}}*/ +#if RPM_VERSION >= 0x040201 +extern int _rpmds_nopromote; +#endif rpmSystem rpmSys; @@ -111,7 +115,10 @@ bool rpmSystem::UnLock(bool NoErrors) /* */ pkgPackageManager *rpmSystem::CreatePM(pkgDepCache *Cache) const { - return new pkgRPMPM(Cache); + if (_config->Find("RPM::PM", "internal") == "internal") + return new pkgRPMLibPM(Cache); + else + return new pkgRPMExtPM(Cache); } /*}}}*/ // System::Initialize - Setup the configuration space.. /*{{{*/ @@ -173,6 +180,32 @@ bool rpmSystem::Initialize(Configuration &Cnf) Cnf.Set("RPM::Options::", "--nodeps"); } +#if RPM_VERSION >= 0x040201 + const char *RPMOptions[] = + { + "RPM::Options", + "RPM::Install-Options", + "RPM::Erase-Options", + NULL, + }; + int NoPromote = 1; + const char *Opt = *RPMOptions; + while (*Opt && NoPromote) + { + Top = _config->Tree(Opt); + if (Top != 0) + { + for (Top = Top->Child; Top != 0; Top = Top->Next) + if (Top->Value == "--promoteepoch") { + NoPromote = 0; + break; + } + } + Opt++; + } + _rpmds_nopromote = NoPromote; +#endif + return true; } /*}}}*/ @@ -213,6 +246,29 @@ bool rpmSystem::AddStatusFiles(vector &List) return true; } /*}}}*/ +// System::AddSourceFiles - Register aditional source files /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool rpmSystem::AddSourceFiles(vector &List) +{ + const Configuration::Item *Top; + Top = _config->Tree("APT::Arguments"); + if (Top != 0) + { + for (Top = Top->Child; Top != 0; Top = Top->Next) { + const string &S = Top->Value; + if (FileExists(S) && flExtension(S) == "rpm") + { + if (S.length() > 8 and string(S, S.length()-8) == ".src.rpm") + List.push_back(new rpmSingleSrcIndex(S)); + else + List.push_back(new rpmSinglePkgIndex(S)); + } + } + } + return true; +} + /*}}}*/ #ifdef OLD_FILEDEPS static void gatherFileDependencies(map &filedeps, Header header) { @@ -438,6 +494,38 @@ void rpmSystem::CacheBuilt() rpmdata->CacheBuilt(); } /*}}}*/ + +// System::OptionsHash - Identify options which change the cache /*{{{*/ +// --------------------------------------------------------------------- +/* */ +static void HashString(unsigned long &Hash, const char *Str) +{ + for (const char *I = Str; *I != 0; I++) + Hash = 5*Hash + *I; +} +static void HashOption(unsigned long &Hash, const char *Name) +{ + const Configuration::Item *Top = _config->Tree(Name); + if (Top != 0) + HashString(Hash, Top->Value.c_str()); +} +static void HashOptionTree(unsigned long &Hash, const char *Name) +{ + const Configuration::Item *Top = _config->Tree(Name); + if (Top != 0) + for (Top = Top->Child; Top != 0; Top = Top->Next) + HashString(Hash, Top->Value.c_str()); +} +unsigned long rpmSystem::OptionsHash() const +{ + unsigned long Hash = 0; + HashOption(Hash, "RPM::Architecture"); + HashOptionTree(Hash, "RPM::Allow-Duplicated"); + HashOptionTree(Hash, "RPM::Ignore"); + return Hash; +} + /*}}}*/ + #endif /* HAVE_RPM */ // vim:sts=3:sw=3 diff --git a/apt/apt-pkg/rpm/rpmsystem.h b/apt/apt-pkg/rpm/rpmsystem.h index d269eca..bc884da 100644 --- a/apt/apt-pkg/rpm/rpmsystem.h +++ b/apt/apt-pkg/rpm/rpmsystem.h @@ -60,12 +60,15 @@ class rpmSystem : public pkgSystem virtual bool ArchiveSupported(const char *Type); virtual signed Score(Configuration const &Cnf); virtual bool AddStatusFiles(vector &List); + virtual bool AddSourceFiles(vector &List); virtual bool FindIndex(pkgCache::PkgFileIterator File, pkgIndexFile *&Found) const; virtual bool ProcessCache(pkgDepCache &Cache,pkgProblemResolver &Fix); virtual bool IgnoreDep(pkgVersioningSystem &VS,pkgCache::DepIterator &Dep); virtual void CacheBuilt(); + virtual unsigned long OptionsHash() const; + rpmSystem(); virtual ~rpmSystem(); }; diff --git a/apt/apt-pkg/rpm/rpmversion.cc b/apt/apt-pkg/rpm/rpmversion.cc index a25f744..f1848b2 100644 --- a/apt/apt-pkg/rpm/rpmversion.cc +++ b/apt/apt-pkg/rpm/rpmversion.cc @@ -26,8 +26,9 @@ #include #include +#include -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 #include #endif @@ -73,7 +74,12 @@ void rpmVersioningSystem::ParseVersion(const char *V, const char *VEnd, if (*epoch == '\0') epoch = "0"; } else + { +#if RPM_VERSION >= 0x040100 + epoch = "0"; +#endif version = evr; + } #define Xstrdup(a) (a) ? strdup(a) : NULL *Epoch = Xstrdup(epoch); @@ -112,10 +118,17 @@ int rpmVersioningSystem::DoCmpVersion(const char *A,const char *AEnd, if (rc == 0) { rc = rpmvercmp(AV, BV); - if (rc == 0) - rc = rpmvercmp(AR, BR); + if (rc == 0) { + if (AR && !BR) + rc = 1; + else if (!AR && BR) + rc = -1; + else if (AR && BR) + rc = rpmvercmp(AR, BR); + } } free(AE);free(AV);free(AR);; + free(BE);free(BV);free(BR);; return rc; } /*}}}*/ @@ -185,9 +198,11 @@ bool rpmVersioningSystem::CheckDep(const char *PkgVer, break; } -#ifdef HAVE_RPM41 +#if RPM_VERSION >= 0x040100 rpmds pds = rpmdsSingle(RPMTAG_PROVIDENAME, "", PkgVer, PkgFlags); rpmds dds = rpmdsSingle(RPMTAG_REQUIRENAME, "", DepVer, DepFlags); + rpmdsSetNoPromote(pds, _rpmds_nopromote); + rpmdsSetNoPromote(dds, _rpmds_nopromote); rc = rpmdsCompare(pds, dds); rpmdsFree(pds); rpmdsFree(dds); diff --git a/apt/apt-pkg/sourcelist.cc b/apt/apt-pkg/sourcelist.cc index 733377d..ca980d6 100644 --- a/apt/apt-pkg/sourcelist.cc +++ b/apt/apt-pkg/sourcelist.cc @@ -18,6 +18,9 @@ #include #include +// CNC:2003-11-21 +#include + #include #include @@ -247,14 +250,16 @@ bool pkgSourceList::ReadMainList() return false; Reset(); - string Parts = _config->FindDir("Dir::Etc::sourceparts"); - if (FileExists(Parts) == true) - Res &= ReadSourceDir(Parts); - + // CNC:2003-11-28 - Entries in sources.list have priority over + // entries in sources.list.d. string Main = _config->FindFile("Dir::Etc::sourcelist"); if (FileExists(Main) == true) Res &= ReadAppend(Main); + string Parts = _config->FindDir("Dir::Etc::sourceparts"); + if (FileExists(Parts) == true) + Res &= ReadSourceDir(Parts); + return Res; } /*}}}*/ @@ -267,6 +272,8 @@ void pkgSourceList::Reset() for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++) delete *I; SrcList.erase(SrcList.begin(),SrcList.end()); + // CNC:2003-11-21 + _system->AddSourceFiles(SrcList); } /*}}}*/ // CNC:2003-03-03 - Function moved to ReadAppend() and Reset(). @@ -294,7 +301,8 @@ bool pkgSourceList::ReadAppend(string File) delete *I; SrcList.erase(SrcList.begin(),SrcList.end()); #endif - char Buffer[300]; + // CNC:2003-12-10 - 300 is too short. + char Buffer[1024]; int CurLine = 0; while (F.eof() == false) @@ -421,6 +429,10 @@ bool pkgSourceList::ReadSourceDir(string Dir) { if (Ent->d_name[0] == '.') continue; + + // CNC:2003-12-02 Only accept .list files as valid sourceparts + if (flExtension(Ent->d_name) != "list") + continue; // Skip bad file names ala run-parts const char *C = Ent->d_name; diff --git a/apt/apt-pkg/srcrecords.cc b/apt/apt-pkg/srcrecords.cc index 1c08134..e0901e3 100644 --- a/apt/apt-pkg/srcrecords.cc +++ b/apt/apt-pkg/srcrecords.cc @@ -110,6 +110,18 @@ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool SrcOnly) if ((*Current)->Package() == Package) return *Current; + + // CNC:2003-11-21 + // Check for a files hit + vector Files; + if ((*Current)->Files(Files) == true) { + vector::const_iterator I = Files.begin(); + for (; I != Files.end(); I++) { + if (flNotDir(I->Path) == flNotDir(Package)) + return *Current; + } + } + if (SrcOnly == true) continue; diff --git a/apt/apt-pkg/tagfile.cc b/apt/apt-pkg/tagfile.cc index b95b348..5443b17 100644 --- a/apt/apt-pkg/tagfile.cc +++ b/apt/apt-pkg/tagfile.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: tagfile.cc,v 1.3 2003/01/29 18:43:48 niemeyer Exp $ +// $Id: tagfile.cc,v 1.37 2003/05/19 17:13:57 doogie Exp $ /* ###################################################################### Fast scanner for RFC-822 type header information diff --git a/apt/apt-pkg/tagfile.h b/apt/apt-pkg/tagfile.h index 6a6bffb..8c94875 100644 --- a/apt/apt-pkg/tagfile.h +++ b/apt/apt-pkg/tagfile.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: tagfile.h,v 1.2 2002/07/25 18:07:18 niemeyer Exp $ +// $Id: tagfile.h,v 1.20 2003/05/19 17:13:57 doogie Exp $ /* ###################################################################### Fast scanner for RFC-822 type header information diff --git a/apt/apt-pkg/versionmatch.cc b/apt/apt-pkg/versionmatch.cc index 3aec465..d8a2bff 100644 --- a/apt/apt-pkg/versionmatch.cc +++ b/apt/apt-pkg/versionmatch.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: versionmatch.cc,v 1.2 2003/01/29 18:43:48 niemeyer Exp $ +// $Id: versionmatch.cc,v 1.9 2003/05/19 17:58:26 doogie Exp $ /* ###################################################################### Version Matching @@ -15,6 +15,8 @@ #pragma implementation "apt-pkg/versionmatch.h" #endif #include +// CNC:2003-11-05 +#include #include #include @@ -26,7 +28,8 @@ // VersionMatch::pkgVersionMatch - Constructor /*{{{*/ // --------------------------------------------------------------------- /* Break up the data string according to the selected type */ -pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type) : Type(Type) +// CNC:2003-11-05 +pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type,int Op) : VerOp(Op), Type(Type) { MatchAll = false; VerPrefixMatch = false; @@ -123,18 +126,38 @@ pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type) : Type(Type) /* */ bool pkgVersionMatch::MatchVer(const char *A,string B,bool Prefix) { - const char *Ab = A; - const char *Ae = Ab + strlen(A); + // CNC:2003-11-05 - Patch by ALT-Linux, which ignores the release + // if it was not provided, and the epoch. + string s(A), sc(A); + const char *Ab = s.c_str(), *Ac = sc.c_str(); + + for (string::iterator i = s.begin(), k = sc.begin(); i != s.end(); ++i,++k) + { + if (*i == ':') + { + Ab = &(*i) + 1; + Ac = &(*k) + 1; + } + else if (*i == '-') + { + *i = 0; + break; + } + } + + const char *Ae = Ab + strlen(Ab); + const char *Af = Ac + strlen(Ac); // Strings are not a compatible size. - if ((unsigned)(Ae - Ab) != B.length() && Prefix == false || - (unsigned)(Ae - Ab) < B.length()) - return false; - - // Match (leading?) - if (stringcasecmp(B,Ab,Ab + B.length()) == 0) - return true; - + if (((unsigned)(Ae - Ab) == B.length() || Prefix == true) && + (unsigned)(Ae - Ab) >= B.length() && + stringcasecmp(B,Ab,Ab + B.length()) == 0) + return true; + else if (((unsigned)(Af - Ac) == B.length() || Prefix == true) && + (unsigned)(Af - Ac) >= B.length() && + stringcasecmp(B,Ac,Ac + B.length()) == 0) + return true; + return false; } /*}}}*/ @@ -143,13 +166,24 @@ bool pkgVersionMatch::MatchVer(const char *A,string B,bool Prefix) /* */ pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg) { + // CNC:2003-11-05 + pkgVersioningSystem *VS = Pkg.Cache()->VS; pkgCache::VerIterator Ver = Pkg.VersionList(); + for (; Ver.end() == false; Ver++) { if (Type == Version) { - if (MatchVer(Ver.VerStr(),VerStr,VerPrefixMatch) == true) - return Ver; + // CNC:2003-11-05 + if (VerPrefixMatch) + { + if (MatchVer(Ver.VerStr(),VerStr,VerPrefixMatch) == true) + return Ver; + } else { + if (VS->CheckDep(Ver.VerStr(),VerOp,VerStr.c_str()) == true) + return Ver; + } + continue; } @@ -158,6 +192,27 @@ pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg) return Ver; } + // CNC:2003-11-11 - Virtual package handling. + if (Type == Version) + { + bool HasRelease = (strchr(VerStr.c_str(), '-') != NULL); + pkgCache::PrvIterator Prv = Pkg.ProvidesList(); + for (; Prv.end() == false; Prv++) + { + const char *PrvVerStr = Prv.ProvideVersion(); + if (PrvVerStr == NULL || PrvVerStr[0] == 0) + continue; + if (VerPrefixMatch || (HasRelease && strchr(PrvVerStr, '-') == NULL)) + { + if (MatchVer(PrvVerStr,VerStr,VerPrefixMatch) == true) + return Prv.OwnerVer(); + } else { + if (VS->CheckDep(PrvVerStr,VerOp,VerStr.c_str()) == true) + return Prv.OwnerVer(); + } + } + } + // This will be Ended by now. return Ver; } @@ -208,13 +263,17 @@ bool pkgVersionMatch::FileMatch(pkgCache::PkgFileIterator File) if (Type == Origin) { - if (OrSite.empty() == false) - if (File->Site == 0 || - OrSite != File.Site()) + if (OrSite.empty() == false) { + if (File->Site == 0 || OrSite != File.Site()) return false; - return true; + } else // so we are talking about file:// or status file + if (strcmp(File.Site(),"") == 0 && File->Archive != 0) // skip the status file + return false; + return (OrSite == File.Site()); /* both strings match */ } return false; } /*}}}*/ + +// vim:sts=3:sw=3 diff --git a/apt/apt-pkg/versionmatch.h b/apt/apt-pkg/versionmatch.h index f4bd02d..ce80c79 100644 --- a/apt/apt-pkg/versionmatch.h +++ b/apt/apt-pkg/versionmatch.h @@ -45,6 +45,8 @@ class pkgVersionMatch // Version Matching string VerStr; bool VerPrefixMatch; + // CNC:2003-11-05 + int VerOp; // Release Matching string RelVerStr; @@ -66,7 +68,8 @@ class pkgVersionMatch bool FileMatch(pkgCache::PkgFileIterator File); pkgCache::VerIterator Find(pkgCache::PkgIterator Pkg); - pkgVersionMatch(string Data,MatchType Type); + // CNC:2003-11-05 + pkgVersionMatch(string Data,MatchType Type,int Op=pkgCache::Dep::Equals); }; #endif diff --git a/apt/buildlib/Makefile.am b/apt/buildlib/Makefile.am new file mode 100644 index 0000000..bd7ac7b --- /dev/null +++ b/apt/buildlib/Makefile.am @@ -0,0 +1,50 @@ + +all-local: copy-headers + +EXTRA_DIST = \ + archtable \ + ostable \ + config.h.in \ + gettext.h \ + inttypes.h \ + statvfs.h \ + netdb.h \ + tools.m4 + +CLEANFILES = $(top_builddir)/include/apti18n.h \ + $(top_builddir)/include/inttypes.h \ + $(top_builddir)/include/sys/statvfs.h \ + $(top_builddir)/include/netdb.h + + +COPYHEADERS = copy-apti18n + +if NEED_INTTYPES_H +COPYHEADERS += copy-inttypes +endif +if NEED_STATVFS_H +COPYHEADERS += copy-statvfs +endif +if NEED_NETDB_H +COPYHEADERS += copy-netdb +endif + +copy-headers: $(COPYHEADERS) + +copy-apti18n: + @$(mkinstalldirs) $(top_builddir)/include + @echo "Copying gettext.h to $(top_builddir)/include/apti18n.h" + @cp -f -p $(srcdir)/gettext.h $(top_builddir)/include/apti18n.h + +copy-inttypes: + @echo "Copying inttypes.h to $(top_builddir)/include/inttypes.h" + @cp -f -p $(srcdir)/inttypes.h $(top_builddir)/include/inttypes.h + +copy-statvfs: + @$(mkinstalldirs) $(top_builddir)/include/sys + @echo "Copying statvfs.h to $(top_builddir)/include/sys/statvfs.h" + @cp -f -p $(srcdir)/statvfs.h $(top_builddir)/include/sys/statvfs.h + +copy-netdb: + @echo "Copying netdb.h to $(top_builddir)/include/netdb.h" + @cp -f -p $(srcdir)/netdb.h $(top_builddir)/include/netdb.h diff --git a/apt/buildlib/Makefile.in b/apt/buildlib/Makefile.in new file mode 100644 index 0000000..c02a16e --- /dev/null +++ b/apt/buildlib/Makefile.in @@ -0,0 +1,368 @@ +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +@NEED_INTTYPES_H_TRUE@am__append_1 = copy-inttypes +@NEED_STATVFS_H_TRUE@am__append_2 = copy-statvfs +@NEED_NETDB_H_TRUE@am__append_3 = copy-netdb +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILE_APTSHELL_FALSE = @COMPILE_APTSHELL_FALSE@ +COMPILE_APTSHELL_TRUE = @COMPILE_APTSHELL_TRUE@ +COMPILE_MANPAGES_FALSE = @COMPILE_MANPAGES_FALSE@ +COMPILE_MANPAGES_TRUE = @COMPILE_MANPAGES_TRUE@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOCBOOK2MAN = @DOCBOOK2MAN@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GENCAT = @GENCAT@ +GLIBC21 = @GLIBC21@ +GLIBC_VER = @GLIBC_VER@ +GMSGFMT = @GMSGFMT@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLBISON = @INTLBISON@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSTDCPP_VER = @LIBSTDCPP_VER@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +NEED_INTTYPES_H_FALSE = @NEED_INTTYPES_H_FALSE@ +NEED_INTTYPES_H_TRUE = @NEED_INTTYPES_H_TRUE@ +NEED_NETDB_H_FALSE = @NEED_NETDB_H_FALSE@ +NEED_NETDB_H_TRUE = @NEED_NETDB_H_TRUE@ +NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ +NEED_STATVFS_H_FALSE = @NEED_STATVFS_H_FALSE@ +NEED_STATVFS_H_TRUE = @NEED_STATVFS_H_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +PTHREADLIB = @PTHREADLIB@ +RANLIB = @RANLIB@ +RPMLIBS = @RPMLIBS@ +RPM_PATH = @RPM_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOCKETLIBS = @SOCKETLIBS@ +STRIP = @STRIP@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_LUA_FALSE = @WITH_LUA_FALSE@ +WITH_LUA_TRUE = @WITH_LUA_TRUE@ +XGETTEXT = @XGETTEXT@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +EXTRA_DIST = \ + archtable \ + ostable \ + config.h.in \ + gettext.h \ + inttypes.h \ + statvfs.h \ + netdb.h \ + tools.m4 + + +CLEANFILES = $(top_builddir)/include/apti18n.h \ + $(top_builddir)/include/inttypes.h \ + $(top_builddir)/include/sys/statvfs.h \ + $(top_builddir)/include/netdb.h + + +COPYHEADERS = copy-apti18n $(am__append_1) $(am__append_2) $(am__append_3) +subdir = buildlib +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am compile config.guess \ + config.rpath config.sub depcomp install-sh ltmain.sh missing \ + mkinstalldirs +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign buildlib/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile all-local + +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am all-local check check-am clean clean-generic \ + clean-libtool distclean distclean-generic distclean-libtool \ + distdir dvi dvi-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + + +all-local: copy-headers + +copy-headers: $(COPYHEADERS) + +copy-apti18n: + @$(mkinstalldirs) $(top_builddir)/include + @echo "Copying gettext.h to $(top_builddir)/include/apti18n.h" + @cp -f -p $(srcdir)/gettext.h $(top_builddir)/include/apti18n.h + +copy-inttypes: + @echo "Copying inttypes.h to $(top_builddir)/include/inttypes.h" + @cp -f -p $(srcdir)/inttypes.h $(top_builddir)/include/inttypes.h + +copy-statvfs: + @$(mkinstalldirs) $(top_builddir)/include/sys + @echo "Copying statvfs.h to $(top_builddir)/include/sys/statvfs.h" + @cp -f -p $(srcdir)/statvfs.h $(top_builddir)/include/sys/statvfs.h + +copy-netdb: + @echo "Copying netdb.h to $(top_builddir)/include/netdb.h" + @cp -f -p $(srcdir)/netdb.h $(top_builddir)/include/netdb.h +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/apt/buildlib/apti18n.h.in b/apt/buildlib/apti18n.h.in deleted file mode 100644 index 74586c5..0000000 --- a/apt/buildlib/apti18n.h.in +++ /dev/null @@ -1,24 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// $Id: apti18n.h.in,v 1.4 2003/01/29 18:43:48 niemeyer Exp $ -/* Internationalization macros for apt. This header should be included last - in each C file. */ - -// Set by autoconf -#undef USE_NLS - -#ifdef USE_NLS -// apt will use the gettext implementation of the C library -# include -# ifdef APT_DOMAIN -# define _(x) dgettext(APT_DOMAIN,x) -# else -# define _(x) gettext(x) -# endif -#else -// apt will not use any gettext -// CNC:2003-02-14 -# define bindtextdomain(a, b) -# define textdomain(a) -# define setlocale(a, b) -# define _(x) x -#endif diff --git a/apt/buildlib/archtable b/apt/buildlib/archtable index 22cc899..810f444 100644 --- a/apt/buildlib/archtable +++ b/apt/buildlib/archtable @@ -24,3 +24,4 @@ hppa.* hppa ia64 ia64 s390 s390 s390x s390x +x86_64 x86_64 diff --git a/apt/buildlib/compile b/apt/buildlib/compile new file mode 100644 index 0000000..9bb997a --- /dev/null +++ b/apt/buildlib/compile @@ -0,0 +1,99 @@ +#! /bin/sh + +# Wrapper for compilers which do not understand `-c -o'. + +# Copyright 1999, 2000 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Usage: +# compile PROGRAM [ARGS]... +# `-o FOO.o' is removed from the args passed to the actual compile. + +prog=$1 +shift + +ofile= +cfile= +args= +while test $# -gt 0; do + case "$1" in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we do something ugly here. + ofile=$2 + shift + case "$ofile" in + *.o | *.obj) + ;; + *) + args="$args -o $ofile" + ofile= + ;; + esac + ;; + *.c) + cfile=$1 + args="$args $1" + ;; + *) + args="$args $1" + ;; + esac + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$prog" $args +fi + +# Name of file we expect compiler to create. +cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir $lockdir > /dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir $lockdir; exit 1" 1 2 15 + +# Run the compile. +"$prog" $args +status=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +fi + +rmdir $lockdir +exit $status diff --git a/apt/buildlib/config.guess b/apt/buildlib/config.guess index 78f6b92..500ee74 100755 --- a/apt/buildlib/config.guess +++ b/apt/buildlib/config.guess @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2003-01-10' +timestamp='2003-10-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -106,6 +106,7 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; @@ -235,74 +236,56 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; - *:MicroBSD:*:*) - echo ${UNAME_MACHINE}-unknown-microbsd${UNAME_RELEASE} - exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - eval $set_cc_for_build - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null - if test "$?" = 0 ; then - case `$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - 3-1307) - UNAME_MACHINE="alphaev7" - ;; - esac - fi echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; + Alpha*:OpenVMS:*:*) + echo alpha-hp-vms + exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -341,6 +324,9 @@ EOF NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; @@ -748,7 +734,7 @@ EOF echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; *:UNICOS/mp:*:*) - echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` @@ -765,7 +751,7 @@ EOF *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; - *:FreeBSD:*:*) + *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) # Determine whether the default compiler uses glibc. eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -777,7 +763,10 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + # GNU/FreeBSD systems have a "k" prefix to indicate we are using + # FreeBSD's kernel, but not the complete OS. + case ${LIBC} in gnu) kernel_only='k' ;; esac + echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -788,8 +777,8 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; - x86:Interix*:3*) - echo i586-pc-interix3 + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' exit 0 ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks @@ -818,6 +807,9 @@ EOF arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -896,6 +888,9 @@ EOF s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -953,6 +948,9 @@ EOF LIBC=gnuaout #endif #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 @@ -1054,7 +1052,7 @@ EOF exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0) + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -1169,7 +1167,7 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) @@ -1210,6 +1208,9 @@ EOF *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 diff --git a/apt/buildlib/config.h.in b/apt/buildlib/config.h.in index 5f51859..f23252b 100644 --- a/apt/buildlib/config.h.in +++ b/apt/buildlib/config.h.in @@ -1,55 +1,297 @@ -/* Define if your processor stores words with the most significant - byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN +/* buildlib/config.h.in. Generated from configure.in by autoheader. */ -/* The following 4 are only used by inttypes.h shim if the system lacks - inttypes.h */ -/* The number of bytes in a usigned char. */ -#undef SIZEOF_CHAR - -/* The number of bytes in a unsigned int. */ -#undef SIZEOF_INT - -/* The number of bytes in a unsigned long. */ -#undef SIZEOF_LONG - -/* The number of bytes in a unsigned short. */ -#undef SIZEOF_SHORT - -/* Define if we have the timegm() function */ -#undef HAVE_TIMEGM - -/* These two are used by the statvfs shim for glibc2.0 and bsd */ -/* Define if we have sys/vfs.h */ -#undef HAVE_VFS_H - -/* Define if we have sys/mount.h */ -#undef HAVE_MOUNT_H - -/* Define if we have enabled pthread support */ -#undef HAVE_PTHREAD - -/* If there is no socklen_t, define this for the netdb shim */ -#undef NEED_SOCKLEN_T_DEFINE - -/* Define the cpu name string */ +/* Define the common CPU */ #undef COMMON_CPU -/* Define the on name string */ +/* Define the common OS */ #undef COMMON_OS -/* The version number string */ -#undef VERSION +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +#undef CRAY_STACKSEG_END -/* The package name string */ +/* Define to 1 if using `alloca.c'. */ +#undef C_ALLOCA + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#undef ENABLE_NLS + +/* Define to 1 if you have `alloca', as a function or macro. */ +#undef HAVE_ALLOCA + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#undef HAVE_ALLOCA_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_ARGZ_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DB1_DB_H + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the `feof_unlocked' function. */ +#undef HAVE_FEOF_UNLOCKED + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#undef HAVE_FGETS_UNLOCKED + +/* Define to 1 if you have the `getcwd' function. */ +#undef HAVE_GETCWD + +/* Define to 1 if you have the `getc_unlocked' function. */ +#undef HAVE_GETC_UNLOCKED + +/* Define to 1 if you have the `getegid' function. */ +#undef HAVE_GETEGID + +/* Define to 1 if you have the `geteuid' function. */ +#undef HAVE_GETEUID + +/* Define to 1 if you have the `getgid' function. */ +#undef HAVE_GETGID + +/* Define to 1 if you have the `getpagesize' function. */ +#undef HAVE_GETPAGESIZE + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define to 1 if you have the `getuid' function. */ +#undef HAVE_GETUID + +/* Define if you have the iconv() function. */ +#undef HAVE_ICONV + +/* Define if exists and doesn't clash with . */ +#undef HAVE_INTTYPES_H + +/* Define if exists, doesn't clash with , and + declares uintmax_t. */ +#undef HAVE_INTTYPES_H_WITH_UINTMAX + +/* Define if you have and nl_langinfo(CODESET). */ +#undef HAVE_LANGINFO_CODESET + +/* Define if your file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES + +/* Define to 1 if you have the `bz2' library (-lbz2). */ +#undef HAVE_LIBBZ2 + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `mempcpy' function. */ +#undef HAVE_MEMPCPY + +/* Define to 1 if you have a working `mmap' system call. */ +#undef HAVE_MMAP + +/* Define to 1 if sys/mount.h is available */ +#undef HAVE_MOUNT_H + +/* Define to 1 if you have the `munmap' function. */ +#undef HAVE_MUNMAP + +/* Define to 1 if you have the header file. */ +#undef HAVE_NL_TYPES_H + +/* Define to 1 if you have the `putenv' function. */ +#undef HAVE_PUTENV + +/* Define if RPM backend is available */ +#undef HAVE_RPM + +/* Define to 1 if you have the `setenv' function. */ +#undef HAVE_SETENV + +/* Define to 1 if you have the `setlocale' function. */ +#undef HAVE_SETLOCALE + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDDEF_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define if exists, doesn't clash with , and declares + uintmax_t. */ +#undef HAVE_STDINT_H_WITH_UINTMAX + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `stpcpy' function. */ +#undef HAVE_STPCPY + +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strtoul' function. */ +#undef HAVE_STRTOUL + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if timegm is available */ +#undef HAVE_TIMEGM + +/* Define to 1 if you have the `tsearch' function. */ +#undef HAVE_TSEARCH + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define if you have the unsigned long long type. */ +#undef HAVE_UNSIGNED_LONG_LONG + +/* Define to 1 if sys/vfs.h is available */ +#undef HAVE_VFS_H + +/* Define to 1 if you have the `__argz_count' function. */ +#undef HAVE___ARGZ_COUNT + +/* Define to 1 if you have the `__argz_next' function. */ +#undef HAVE___ARGZ_NEXT + +/* Define to 1 if you have the `__argz_stringify' function. */ +#undef HAVE___ARGZ_STRINGIFY + +/* Define as const if the declaration of iconv() needs const. */ +#undef ICONV_CONST + +/* Define if integer division by zero raises signal SIGFPE. */ +#undef INTDIV0_RAISES_SIGFPE + +/* Define to 1 if socket_t is missing */ +#undef NEED_SOCKLEN_T_DEFINE + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + +/* Name of package */ #undef PACKAGE -/* CNC:2002-07-03 */ -#undef HAVE_RPM -#undef HAVE_RPM4 -#undef HAVE_RPM41 -#undef HAVE_SETLOCALE -#undef HAVE_LOCALE_H -#undef HAVE_LIBINTL_H -#undef LOCALEDIR -#undef WITH_HASH_MAP +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define if exists and defines unusable PRI* macros. */ +#undef PRI_MACROS_BROKEN + +/* Define to the RPM version */ +#undef RPM_VERSION + +/* RPM major version */ +#undef RPM_VERSION_MAJOR + +/* RPM micro version */ +#undef RPM_VERSION_MICRO + +/* RPM minor version */ +#undef RPM_VERSION_MINOR + +/* RPM raw version */ +#undef RPM_VERSION_RAW + +/* The size of a `char', as computed by sizeof. */ +#undef SIZEOF_CHAR + +/* The size of a `int', as computed by sizeof. */ +#undef SIZEOF_INT + +/* The size of a `long', as computed by sizeof. */ +#undef SIZEOF_LONG + +/* The size of a `short', as computed by sizeof. */ +#undef SIZEOF_SHORT + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#undef STACK_DIRECTION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if you want to use the g++ hash_map extension. */ +#undef WITH_GNU_HASH_MAP + +/* Define if you want to enable the extension system. */ +#undef WITH_LUA + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to `long' if does not define. */ +#undef off_t + +/* Define to `unsigned' if does not define. */ +#undef size_t + +/* Define to unsigned long or unsigned long long if and + don't define. */ +#undef uintmax_t diff --git a/apt/buildlib/config.sub b/apt/buildlib/config.sub index 04baf3d..1f31816 100755 --- a/apt/buildlib/config.sub +++ b/apt/buildlib/config.sub @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2003-01-03' +timestamp='2003-08-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -118,7 +118,7 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -228,13 +228,14 @@ case $basic_machine in | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | clipper \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k \ + | ip2k | iq2000 \ | m32r | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ @@ -247,6 +248,7 @@ case $basic_machine in | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ @@ -257,11 +259,11 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ - | tahoe | thumb | tic80 | tron \ + | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ @@ -296,7 +298,7 @@ case $basic_machine in | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ @@ -304,7 +306,7 @@ case $basic_machine in | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ + | ip2k-* | iq2000-* \ | m32r-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ @@ -319,6 +321,7 @@ case $basic_machine in | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ @@ -329,11 +332,13 @@ case $basic_machine in | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ @@ -371,6 +376,9 @@ case $basic_machine in basic_machine=a29k-none os=-bsd ;; + amd64) + basic_machine=x86_64-pc + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -766,18 +774,24 @@ case $basic_machine in pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; - pentiumii | pentium2) + pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; + pentium4) + basic_machine=i786-pc + ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumii-* | pentium2-*) + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pn) basic_machine=pn-gould ;; @@ -836,6 +850,10 @@ case $basic_machine in sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; sequent) basic_machine=i386-sequent ;; @@ -843,6 +861,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh64) + basic_machine=sh64-unknown + ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks @@ -917,14 +938,18 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - tic4x | c4x*) - basic_machine=tic4x-unknown - os=-coff - ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -1027,7 +1052,7 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) @@ -1106,7 +1131,7 @@ case $os in | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ @@ -1118,7 +1143,7 @@ case $os in | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -microbsd*) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1142,6 +1167,9 @@ case $os in -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1227,6 +1255,12 @@ case $os in -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; -none) ;; *) @@ -1258,6 +1292,9 @@ case $basic_machine in arm*-semi) os=-aout ;; + c4x-* | tic4x-*) + os=-coff + ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 diff --git a/apt/buildlib/configure.mak b/apt/buildlib/configure.mak deleted file mode 100644 index 9575687..0000000 --- a/apt/buildlib/configure.mak +++ /dev/null @@ -1,29 +0,0 @@ -# -*- make -*- - -# This make fragment is included by the toplevel make to handle configure -# and setup. It defines a target called startup that when run will init -# the build directory, generate configure from configure.in, create aclocal -# and has rules to run config.status should one of the .in files change. - -# Input -# BUILDDIR - The build directory -# CONVERTED - List of files output by configure $(BUILD) is prepended -# The caller must provide depends for these files -# It would be a fairly good idea to run this after a cvs checkout. -BUILDDIR=build - -.PHONY: startup -startup: configure $(BUILDDIR)/config.status $(addprefix $(BUILDDIR)/,$(CONVERTED)) - -configure: aclocal.m4 configure.in - autoconf - -aclocal.m4: $(wildcard buildlib/*.m4) - aclocal -I buildlib - -$(BUILDDIR)/config.status: configure - /usr/bin/test -e $(BUILDDIR) || mkdir $(BUILDDIR) - (HERE=`pwd`; cd $(BUILDDIR) && $$HERE/configure) - -$(addprefix $(BUILDDIR)/,$(CONVERTED)): - (cd $(BUILDDIR) && ./config.status) diff --git a/apt/buildlib/copy.mak b/apt/buildlib/copy.mak deleted file mode 100644 index 15f4488..0000000 --- a/apt/buildlib/copy.mak +++ /dev/null @@ -1,31 +0,0 @@ -# -*- make -*- - -# This installs arbitary files into a directory - -# Input -# $(SOURCE) - The documents to use -# $(TO) - The directory to put them in -# $(TARGET) - The global target to add the local target as a dependency -# to. -# All output is writtin to files in the build/$(TO) directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := copy-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(addprefix $(TO)/,$(SOURCE)) - -# Install generation hooks -$(TARGET): $($(LOCAL)-LIST) -veryclean: veryclean/$(LOCAL) - -MKDIRS += $(dir $($(LOCAL)-LIST)) - -$($(LOCAL)-LIST) : $(TO)/% : % - echo Installing $< to $(@D) - cp $< $(@D) - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) diff --git a/apt/buildlib/debiandoc.mak b/apt/buildlib/debiandoc.mak deleted file mode 100644 index 0c20dc9..0000000 --- a/apt/buildlib/debiandoc.mak +++ /dev/null @@ -1,58 +0,0 @@ -# -*- make -*- - -# This processes debian-doc sgml to produce html and plain text output - -# Input -# $(SOURCE) - The documents to use - -# All output is writtin to files in the build doc directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := debiandoc-$(firstword $(SOURCE)) -$(LOCAL)-HTML := $(addsuffix .html,$(addprefix $(DOC)/,$(basename $(SOURCE)))) -$(LOCAL)-TEXT := $(addsuffix .text,$(addprefix $(DOC)/,$(basename $(SOURCE)))) - -#--------- - -# Rules to build HTML documentations -ifdef DEBIANDOC_HTML - -# Install generation hooks -doc: $($(LOCAL)-HTML) -veryclean: veryclean/html/$(LOCAL) - -vpath %.sgml $(SUBDIRS) -$(DOC)/%.html: %.sgml - echo Creating html for $< to $@ - -rm -rf $@ - (HERE=`pwd`; cd $(@D) && $(DEBIANDOC_HTML) $$HERE/$<) - -# Clean rule -.PHONY: veryclean/html/$(LOCAL) -veryclean/html/$(LOCAL): - -rm -rf $($(@F)-HTML) - -endif - -#--------- - -# Rules to build Text documentations -ifdef DEBIANDOC_TEXT - -# Install generation hooks -doc: $($(LOCAL)-TEXT) -veryclean: veryclean/text/$(LOCAL) - -vpath %.sgml $(SUBDIRS) -$(DOC)/%.text: %.sgml - echo Creating text for $< to $@ - $(DEBIANDOC_TEXT) -O $< > $@ - -# Clean rule -.PHONY: veryclean/text/$(LOCAL) -veryclean/text/$(LOCAL): - -rm -rf $($(@F)-TEXT) - -endif diff --git a/apt/buildlib/defaults.mak b/apt/buildlib/defaults.mak deleted file mode 100644 index 4d05e5e..0000000 --- a/apt/buildlib/defaults.mak +++ /dev/null @@ -1,183 +0,0 @@ -# -*- make -*- - -# This file configures the default environment for the make system -# The way it works is fairly simple, each module is defined in it's -# own *.mak file. It expects a set of variables to be set to values -# for it to operate as expected. When included the module generates -# the requested rules based on the contents of its control variables. - -# This works out very well and allows a good degree of flexability. -# To accomidate some of the features we introduce the concept of -# local variables. To do this we use the 'Computed Names' feature of -# gmake. Each module declares a LOCAL scope and access it with, -# $($(LOCAL)-VAR) -# This works very well but it is important to rembember that within -# a rule the LOCAL var is unavailble, it will have to be constructed -# from the information in the rule invokation. For stock rules like -# clean this is simple, we use a local clean rule called clean/$(LOCAL) -# and then within the rule $(@F) gets back $(LOCAL)! Other rules will -# have to use some other mechanism (filter perhaps?) The reason such -# lengths are used is so that each directory can contain several 'instances' -# of any given module. I notice that the very latest gmake has the concept -# of local variables for rules. It is possible this feature in conjunction -# with the generated names will provide a very powerfull solution indeed! - -# A build directory is used by default, all generated items get put into -# there. However unlike automake this is not done with a VPATH build -# (vpath builds break the distinction between #include "" and #include <>) -# but by explicly setting the BUILD variable. Make is invoked from -# within the source itself which is much more compatible with compilation -# environments. -ifndef NOISY -.SILENT: -endif - -# Search for the build directory -ifdef BUILD -BUILD_POSSIBLE := $(BUILD) $(BASE)/$(BUILD) -else -BUILD_POSSIBLE := $(BASE) $(BASE)/build-$(shell uname -m) $(BASE)/build -endif - -BUILDX:= $(foreach i,$(BUILD_POSSIBLE),$(wildcard $(i)/environment.mak*)) - -ifeq ($(words $(BUILDX)),0) - -# Check for a busted wildcard function. We use this function in several -# places, it must work. -ifeq ($(words $(wildcard *)),0) -error-all/environment.mak: - echo You have a broken version of GNU Make - upgrade. - error-out-and-die -else -error-all/environment.mak: - echo Can not find the build directory in $(BUILD_POSSIBLE) -- use BUILD= - error-out-and-die -endif - -# Force include below to come to the error target -BUILDX := error-all -else -BUILDX:= $(patsubst %/,%,$(firstword $(dir $(BUILDX)))) -endif - -override BUILD := $(BUILDX) - -# Base definitions -INCLUDE := $(BUILD)/include -BIN := $(BUILD)/bin -LIB := $(BIN) -OBJ := $(BUILD)/obj/$(SUBDIR) -DEP := $(OBJ) -DOC := $(BUILD)/docs -PO := $(BUILD)/po -LOCALE := $(BUILD)/locale -PO_DOMAINS := $(BUILD)/po/domains - -# Module types -LIBRARY_H = $(BASE)/buildlib/library.mak -DEBIANDOC_H = $(BASE)/buildlib/debiandoc.mak -MANPAGE_H = $(BASE)/buildlib/manpage.mak -PROGRAM_H = $(BASE)/buildlib/program.mak -PYTHON_H = $(BASE)/buildlib/python.mak -COPY_H = $(BASE)/buildlib/copy.mak -YODL_MANPAGE_H = $(BASE)/buildlib/yodl_manpage.mak -SGML_MANPAGE_H = $(BASE)/buildlib/sgml_manpage.mak -FAIL_H = $(BASE)/buildlib/fail.mak -PODOMAIN_H = $(BASE)/buildlib/podomain.mak - -include $(BUILD)/environment.mak - -ifdef STATICLIBS -LIBRARY_H += $(BASE)/buildlib/staticlibrary.mak -endif - -ifdef ONLYSTATICLIBS -LIBRARY_H = $(BASE)/buildlib/staticlibrary.mak -endif - -# Source location control -# SUBDIRS specifies sub components of the module that -# may be located in subdrictories of the source dir. -# This should be declared before including this file -SUBDIRS+= - -# Header file control. -# TARGETDIRS indicitates all of the locations that public headers -# will be published to. -# This should be declared before including this file -HEADER_TARGETDIRS+= - -# Options -CPPFLAGS+= -I$(INCLUDE) -LDFLAGS+= -L$(LIB) - -# Directors to create -MKDIRS := $(BIN) - -# Phony rules. Other things hook these by appending to the dependency -# list -.PHONY: headers library clean veryclean all binary program doc dirs -.PHONY: maintainer-clean dist-clean distclean pristine sanity -all: binary doc -binary: library program -maintainer-clean dist-clean distclean pristine sanity: veryclean -headers library clean veryclean program: - -veryclean: - echo Very Clean done for $(SUBDIR) -clean: - echo Clean done for $(SUBDIR) -dirs: - mkdir -p $(patsubst %/,%,$(sort $(MKDIRS))) - -# Header file control. We want all published interface headers to go -# into the build directory from thier source dirs. We setup some -# search paths here -vpath %.h $(SUBDIRS) -$(INCLUDE)/%.h $(addprefix $(INCLUDE)/,$(addsuffix /%.h,$(HEADER_TARGETDIRS))) : %.h - cp $< $@ - -# Dependency generation. We want to generate a .d file using gnu cpp. -# For GNU systems the compiler can spit out a .d file while it is compiling, -# this is specified with the INLINEDEPFLAG. Other systems might have a -# makedep program that can be called after compiling, that's illistrated -# by the DEPFLAG case. -# Compile rules are expected to call this macro after calling the compiler -ifdef GCC3DEP -DFILE = $(DEP)/$(basename $(@F)).d -else -DFILE = $(basename $(@F)).d -endif -ifdef INLINEDEPFLAG - define DoDep - sed -e "1s/.*:/$(subst /,\\/,$@):/" $(DFILE) > $(DEP)/$(@F).d - #sed -e "1s/.*:/$(subst /,\\/,$@):/" $(DEP)/$(basename $(@F)).d > $(DEP)/$(@F).d - -rm -f $(basename $(@F)).d - endef -else - ifdef DEPFLAG - define DoDep - $(CXX) $(DEPFLAG) $(CPPFLAGS) -o $@ $< - sed -e "1s/.*:/$(subst /,\\/,$@):/" $(basename $(@F)).d > $(DEP)/$(@F).d - -rm -f $(basename $(@F)).d - endef - else - define DoDep - endef - endif -endif - -# Automatic -j support -ifeq ($(NUM_PROCS),1) - PARALLEL_RUN=no -endif - -ifndef PARALLEL_RUN - PARALLEL_RUN=yes - .EXPORT: PARALLEL_RUN - # handle recursion - ifneq ($(NUM_PROCS),) - MAKEFLAGS += -j $(NUM_PROCS) - endif -endif diff --git a/apt/buildlib/depcomp b/apt/buildlib/depcomp new file mode 100644 index 0000000..807b991 --- /dev/null +++ b/apt/buildlib/depcomp @@ -0,0 +1,423 @@ +#! /bin/sh + +# depcomp - compile a program generating dependencies as side-effects +# Copyright 1999, 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. This file always lives in the current directory. + # Also, the AIX compiler puts `$object:' at the start of each line; + # $object doesn't have directory information. + stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + outname="$stripped.o" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + else + tmpdepfile="$tmpdepfile2" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a space and a tab in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. We will use -o /dev/null later, + # however we can't do the remplacement now because + # `-o $object' might simply not be used + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + -*) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/apt/buildlib/environment.mak.in b/apt/buildlib/environment.mak.in deleted file mode 100644 index 757bb7a..0000000 --- a/apt/buildlib/environment.mak.in +++ /dev/null @@ -1,76 +0,0 @@ -# This file contains everything that autoconf guessed for your system. -# if you want you can edit it, just don't re-run configure. - -PACKAGE = @PACKAGE@ - -# C++ compiler options -CC = @CC@ -CPPFLAGS+= @CPPFLAGS@ @DEFS@ -D_REENTRANT -CXX = @CXX@ -CXXFLAGS+= @CXXFLAGS@ -NUM_PROCS = @NUM_PROCS@ -GLIBC_VER = @GLIBC_VER@ -LIBSTDCPP_VER = @LIBSTDCPP_VER@ - -# Linker stuff -PICFLAGS+= -fPIC -DPIC -LFLAGS+= @LDFLAGS@ -LEFLAGS+= -SOCKETLIBS:= @SOCKETLIBS@ -AR:=@AR@ -RANLIB:=@RANLIB@ - -# CNC:2002-07-03 -# RPM stuff -RPMLIBS:= @RPMLIBS@ - -# CNC:2003-03-05 -COMPILE_APTSHELL = @COMPILE_APTSHELL@ - -# Dep generation - this only works for gnu stuff -GCC3DEP = @GCC3DEP@ -INLINEDEPFLAG = -MD - -# Debian doc stuff -DEBIANDOC_HTML = @DEBIANDOC_HTML@ -DEBIANDOC_TEXT = @DEBIANDOC_TEXT@ - -# SGML for the man pages -DOCBOOK2MAN := @DOCBOOK2MAN@ - -# Gettext settings -GMSGFMT = @GMSGFMT@ -XGETTEXT = @XGETTEXT@ -MSGCOMM:=$(dir $(XGETTEXT))/msgcomm -# CNC:2002-02-19 -#MSGMERGE:=$(dir $(XGETTEXT))/msgmerge -MSGMERGE = @MSGMERGE@ -BASH = @BASH@ - -# Various library checks -PTHREADLIB = @PTHREADLIB@ -PYTHONLIB = @PYTHONLIB@ -PYTHONVER = @PYTHONVER@ -PYTHONPREFIX = @PYTHONPREFIX@ -PYTHONEXECPREFIX = @PYTHONEXECPREFIX@ -PYTHONINCLUDE = @PYTHONINCLUDE@ -DB2LIB = @DB2LIB@ -INTLLIBS = @INTLLIBS@ - -# Shim Headerfile control -HAVE_C9X = @HAVE_C9X@ -HAVE_STATVFS = @HAVE_STATVFS@ -HAVE_TIMEGM = @HAVE_TIMEGM@ -NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ - -# Shared library things -HOST_OS = @host_os@ -# CNC:2002-07-25 -ifneq ($(words $(filter linux% gnu%,$(HOST_OS))),0) - SONAME_MAGIC=-Wl,-soname -Wl, - LFLAGS_SO= -else - # Do not know how to create shared libraries here. - ONLYSTATICLIBS = yes -endif - diff --git a/apt/buildlib/fail.mak b/apt/buildlib/fail.mak deleted file mode 100644 index dfc194e..0000000 --- a/apt/buildlib/fail.mak +++ /dev/null @@ -1,20 +0,0 @@ -# -*- make -*- - -# This prints a failure message but does not abort the make - -# Input -# $(MESSAGE) - The message to show -# $(PROGRAM) - The program/libary/whatever. - -# See defaults.mak for information about LOCAL - -LOCAL := $(PROGRAM) -$(LOCAL)-MSG := $(MESSAGE) - -# Install hooks -program: $(PROGRAM) - -.PHONY: $(PROGRAM) -$(PROGRAM) : - echo $($@-MSG) - diff --git a/apt/buildlib/gettext.h b/apt/buildlib/gettext.h new file mode 100644 index 0000000..273a6b1 --- /dev/null +++ b/apt/buildlib/gettext.h @@ -0,0 +1,73 @@ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +// CNC:2003-03-21 +#include +#define _(x) gettext(x) + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +#else + +/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which + chokes if dcgettext is defined as a macro. So include it now, to make + later inclusions of a NOP. We don't include + as well because people using "gettext.h" will not include , + and also including would fail on SunOS 4, whereas + is OK. */ +#if defined(__sun) +# include +#endif + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +# define gettext(Msgid) ((const char *) (Msgid)) +# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) +# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define textdomain(Domainname) ((const char *) (Domainname)) +# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) +# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) + +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +#endif /* _LIBGETTEXT_H */ diff --git a/apt/buildlib/install-sh b/apt/buildlib/install-sh index ebc6691..11870f1 100644 --- a/apt/buildlib/install-sh +++ b/apt/buildlib/install-sh @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). @@ -109,7 +109,7 @@ then echo "install: no input file specified" exit 1 else - true + : fi if [ x"$dir_arg" != x ]; then @@ -118,8 +118,9 @@ if [ x"$dir_arg" != x ]; then if [ -d $dst ]; then instcmd=: + chmodcmd="" else - instcmd=mkdir + instcmd=$mkdirprog fi else @@ -127,9 +128,9 @@ else # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. - if [ -f $src -o -d $src ] + if [ -f "$src" ] || [ -d "$src" ] then - true + : else echo "install: $src does not exist" exit 1 @@ -140,7 +141,7 @@ else echo "install: no destination specified" exit 1 else - true + : fi # If destination is a directory, append the input filename; if your system @@ -150,7 +151,7 @@ else then dst="$dst"/`basename $src` else - true + : fi fi @@ -162,8 +163,8 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then -defaultIFS=' -' +defaultIFS=' + ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" @@ -182,7 +183,7 @@ while [ $# -ne 0 ] ; do then $mkdirprog "${pathcomp}" else - true + : fi pathcomp="${pathcomp}/" @@ -193,10 +194,10 @@ if [ x"$dir_arg" != x ] then $doit $instcmd $dst && - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi else # If we're going to rename the final executable, determine the name now. @@ -215,7 +216,7 @@ else then dstfile=`basename $dst` else - true + : fi # Make a temp file name in the proper directory. @@ -234,10 +235,10 @@ else # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && # Now rename the file to the real destination. diff --git a/apt/buildlib/inttypes.h.in b/apt/buildlib/inttypes.h similarity index 100% rename from apt/buildlib/inttypes.h.in rename to apt/buildlib/inttypes.h diff --git a/apt/buildlib/library.mak b/apt/buildlib/library.mak deleted file mode 100644 index de8833c..0000000 --- a/apt/buildlib/library.mak +++ /dev/null @@ -1,73 +0,0 @@ -# -*- make -*- - -# This creates a shared library. - -# Input -# $(SOURCE) - The source code to use -# $(HEADERS) - Exported header files and private header files -# $(LIBRARY) - The name of the library without lib or .so -# $(MAJOR) - The major version number of this library -# $(MINOR) - The minor version number of this library -# $(APT_DOMAIN) - The text domain for this library - -# All output is writtin to .opic files in the build directory to -# signify the PIC output. - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR) -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS)) -$(LOCAL)-SONAME := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) -$(LOCAL)-SLIBS := $(SLIBS) -$(LOCAL)-LIBRARY := $(LIBRARY) - -TYPE = src -include $(PODOMAIN_H) - -# Install the command hooks -headers: $($(LOCAL)-HEADERS) -library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(LIB) $(dir $($(LOCAL)-HEADERS)) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so* - -# Build rules for the two symlinks -.PHONY: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so -$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR): $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR) - ln -sf $( /dev/null - echo Building shared library $@ - $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\ - -o $@ $(SONAME_MAGIC)$($(@F)-SONAME) -shared \ - $(filter %.opic,$^) \ - $($(@F)-SLIBS) - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.opic: %.cc - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $< - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/apt/buildlib/ltmain.sh b/apt/buildlib/ltmain.sh new file mode 100644 index 0000000..141a26e --- /dev/null +++ b/apt/buildlib/ltmain.sh @@ -0,0 +1,5116 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +# Parse our command line options once, thoroughly. +while test $# -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + exit 0 + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + exit 0 + ;; + + --debug) + echo "$progname: enabling shell trace mode" + set -x + ;; + + --dry-run | -n) + run=: + ;; + + --features) + echo "host: $host" + if test "$build_libtool_libs" = yes; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + exit 0 + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 +fi + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + case $nonopt in + *cc | *++ | gcc* | *-gcc* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + prev= + lastarg= + srcfile="$nonopt" + suppress_output= + + user_target=no + for arg + do + case $prev in + "") ;; + xcompiler) + # Aesthetically quote the previous argument. + prev= + lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + + case $arg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + + # Add the previous argument to base_compile. + if test -z "$base_compile"; then + base_compile="$lastarg" + else + base_compile="$base_compile $lastarg" + fi + continue + ;; + esac + + # Accept any command-line options. + case $arg in + -o) + if test "$user_target" != "no"; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + user_target=next + ;; + + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + if test -z "$base_compile"; then + base_compile="$lastarg" + else + base_compile="$base_compile $lastarg" + fi + continue + ;; + esac + + case $user_target in + next) + # The next one is the -o target name + user_target=yes + continue + ;; + yes) + # We got the output file + user_target=set + libobj="$arg" + continue + ;; + esac + + # Accept the current argument as the source file. + lastarg="$srcfile" + srcfile="$arg" + + # Aesthetically quote the previous argument. + + # Backslashify any backslashes, double quotes, and dollar signs. + # These are the only characters that are still specially + # interpreted inside of double-quoted scrings. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $lastarg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + # Add the previous argument to base_compile. + if test -z "$base_compile"; then + base_compile="$lastarg" + else + base_compile="$base_compile $lastarg" + fi + done + + case $user_target in + set) + ;; + no) + # Get the name of the library object. + libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + *) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSfmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit 1 + ;; + esac + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $libobj" + else + removelist="$libobj" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit 1" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$0" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + # All platforms use -DPIC, to notify preprocessed assembler code. + command="$base_compile $srcfile $pic_flag -DPIC" + else + # Don't build PIC code + command="$base_compile $srcfile" + fi + if test "$build_old_libs" = yes; then + lo_libobj="$libobj" + dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$libobj"; then + dir="$objdir" + else + dir="$dir/$objdir" + fi + libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` + + if test -d "$dir"; then + $show "$rm $libobj" + $run $rm $libobj + else + $show "$mkdir $dir" + $run $mkdir $dir + status=$? + if test $status -ne 0 && test ! -d $dir; then + exit $status + fi + fi + fi + if test "$compiler_o_lo" = yes; then + output_obj="$libobj" + command="$command -o $output_obj" + elif test "$compiler_c_o" = yes; then + output_obj="$obj" + command="$command -o $output_obj" + fi + + $run $rm "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + test -n "$output_obj" && $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed, then go on to compile the next one + if test x"$output_obj" != x"$libobj"; then + $show "$mv $output_obj $libobj" + if $run $mv $output_obj $libobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # If we have no pic_flag, then copy the object into place and finish. + if (test -z "$pic_flag" || test "$pic_mode" != default) && + test "$build_old_libs" = yes; then + # Rename the .lo from within objdir to obj + if test -f $obj; then + $show $rm $obj + $run $rm $obj + fi + + $show "$mv $libobj $obj" + if $run $mv $libobj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"` + libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` + # Now arrange that obj and lo_libobj become the same file + $show "(cd $xdir && $LN_S $baseobj $libobj)" + if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" + fi + exit 0 + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Allow error messages only from the first compilation. + suppress_output=' >/dev/null 2>&1' + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $srcfile" + else + # All platforms use -DPIC, to notify preprocessed assembler code. + command="$base_compile $srcfile $pic_flag -DPIC" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + output_obj="$obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + $run $rm "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed + if test x"$output_obj" != x"$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Create an invalid libtool object if no PIC, so that we do not + # accidentally link it into a program. + if test "$build_libtool_libs" != yes; then + $show "echo timestamp > $libobj" + $run eval "echo timestamp > \$libobj" || exit $? + else + # Move the .lo from within objdir + $show "$mv $libobj $lo_libobj" + if $run $mv $libobj $lo_libobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + fi + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" + fi + + exit 0 + ;; + + # libtool link mode + link | relink) + modename="$modename: link" + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invokation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args="$nonopt" + compile_command="$nonopt" + finalize_command="$nonopt" + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -all-static | -static) + if test "X$arg" = "X-all-static"; then + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no + build_old_libs=yes + prefer_static_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test $# -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n $prev + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit 1 + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | no/*-*-nonstopux*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + exit 1 + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-mingw* | *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -o) prev=output ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.lo | *.$objext) + # A library or standard object. + if test "$prev" = dlfiles; then + # This file was specified with -dlopen. + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $arg" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` + prev= + else + case $arg in + *.lo) libobjs="$libobjs $arg" ;; + *) objs="$objs $arg" ;; + esac + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d $output_objdir; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + status=$? + if test $status -ne 0 && test ! -d $output_objdir; then + exit $status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit 1 + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test $linkmode = prog; then + # Determine which files to process + case $pass in + dlopen) + libs="$dlfiles" + save_deplibs="$deplibs" # Collect dlpreopened libraries + deplibs= + ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -l*) + if test $linkmode = oldlib && test $linkmode = obj; then + $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 + continue + fi + if test $pass = conv; then + deplibs="$deplib $deplibs" + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + # Search the libtool library + lib="$searchdir/lib${name}.la" + if test -f "$lib"; then + found=yes + break + fi + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test $pass = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test $pass = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test $pass = scan; then + deplibs="$deplib $deplibs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test $pass = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test $pass = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + if test "$deplibs_check_method" != pass_all; then + echo + echo "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not used here." + else + echo + echo "*** Warning: Linking the shared library $output against the" + echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test $pass != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test $found = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variable installed. + installed=yes + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test $linkmode = oldlib && test $linkmode = obj; }; then + # Add dl[pre]opened files of deplib + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test $pass = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test $linkmode != prog && test $linkmode != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit 1 + fi + continue + fi # $pass = conv + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + + # This library was specified with -dlopen. + if test $pass = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit 1 + fi + if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. + dlprefiles="$dlprefiles $lib" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test $pass = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit 1 + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test $linkmode = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" + fi + continue + fi + + if test $linkmode = prog && test $pass != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test $linkalldeplibs = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # Link against this shared library + + if test "$linkmode,$pass" = "prog,link" || + { test $linkmode = lib && test $hardcode_into_libs = yes; }; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + if test $linkmode = prog; then + # We need to hardcode the library path + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi + fi + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + eval cmds=\"$extract_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + eval cmds=\"$old_archive_from_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n $old_archive_from_expsyms_cmds + + if test $linkmode = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit 1 + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test $linkmode = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test $linkmode = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + # Try looking first in the location we're being installed to. + add_dir= + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir" + ;; + esac + fi + add_dir="$add_dir -L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + else + # We cannot seem to hardcode it, guess we'll fake it. + # Try looking first in the location we're being installed to. + add_dir= + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir" + ;; + esac + fi + add_dir="$add_dir -L$libdir" + add="-l$name" + fi + + if test $linkmode = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test $linkmode = prog; then + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + + # Try to link the static library + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + echo "*** Warning: This system can not link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + convenience="$convenience $dir/$old_library" + old_convenience="$old_convenience $dir/$old_library" + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test $linkmode = lib; then + if test -n "$dependency_libs" && + { test $hardcode_into_libs != yes || test $build_old_libs = yes || + test $link_static = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test $link_all_deplibs != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="-L$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="-L$absdir" + fi + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$deplibs $path" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test $pass = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test $pass != dlopen; then + test $pass != scan && dependency_libs="$newdependency_libs" + if test $pass != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + *) + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + if test "$pass" = "conv" && + { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then + libs="$deplibs" # reset libs + deplibs= + fi + done # for pass + if test $linkmode = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit 1 + else + echo + echo "*** Warning: Linking the shared library $output against the non-libtool" + echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test $# -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + libext=al + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + current="$2" + revision="$3" + age="$4" + + # Check that each of the things are valid numbers. + case $current in + [0-9]*) ;; + *) + $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case $revision in + [0-9]*) ;; + *) + $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case $age in + [0-9]*) ;; + *) + $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + if test $age -gt $current; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test $loop != 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test $loop != 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + verstring="0.0" + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring="" + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs. + $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" + $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'` + deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'` + dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test $hardcode_into_libs != yes || test $build_old_libs = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test $build_libtool_need_lc = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behaviour. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | egrep "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + echo "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + echo "*** with $libname but no candidates were found. (...for file magic test)" + else + echo "*** with $libname and none of the candidates passed a file format test" + echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name="`expr $a_deplib : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check below in file_magic test + if eval echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | egrep "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + echo "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + echo "*** with $libname and none of the candidates passed a file format test" + echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | + grep . >/dev/null; then + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + echo "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test $allow_undefined = no; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test $hardcode_into_libs = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + test -z "$dlname" && dlname=$soname + + lib="$output_objdir/$realname" + for link + do + linknames="$linknames $link" + done + + # Ensure that we have .o objects for linkers which dislike .lo + # (e.g. aix) in case we are running --disable-static + for obj in $libobjs; do + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` + if test ! -f $xdir/$oldobj; then + $show "(cd $xdir && ${LN_S} $baseobj $oldobj)" + $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $? + fi + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + eval cmds=\"$export_symbols_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + save_deplibs="$deplibs" + for conv in $convenience; do + tmp_deplibs= + for test_deplib in $deplibs; do + if test "$test_deplib" != "$conv"; then + tmp_deplibs="$tmp_deplibs $test_deplib" + fi + done + deplibs="$tmp_deplibs" + done + eval cmds=\"$archive_cmds\" + deplibs="$save_deplibs" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + exit 0 + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit 1 + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + eval cmds=\"$reload_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + $show "echo timestamp > $libobj" + $run eval "echo timestamp > $libobj" || exit $? + exit 0 + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + eval cmds=\"$reload_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + else + # Just create a symlink. + $show $rm $libobj + $run $rm $libobj + xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$libobj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` + oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` + $show "(cd $xdir && $LN_S $oldobj $baseobj)" + $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $? + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + ;; + + prog) + case $host in + *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + ;; + esac + ;; + esac + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$output.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + else + $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval 'echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DPIC";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit 1 + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test $need_relink = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit 0 + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $0 --fallback-echo"; then + case $0 in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; + *) qecho="$SHELL `pwd`/$0 --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) exeext=.exe ;; + *) exeext= ;; + esac + $rm $output + trap "$rm $output; exit 1" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# 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='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit 1 + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 ${SED} + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # win32 systems need to use the prog path for dll + # lookup to work + *-*-cygwin* | *-*-pw32*) + $echo >> $output "\ + exec \$progdir/\$program \${1+\"\$@\"} +" + ;; + + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \$progdir\\\\\$program \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + # Export the path to the program. + PATH=\"\$progdir:\$PATH\" + export PATH + + exec \$program \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit 1 + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" + chmod +x $output + fi + exit 0 + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + # Add in members from convenience archives. + for xlib in $addlibs; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` + done + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + eval cmds=\"$old_archive_from_new_cmds\" + else + # Ensure that we have .o objects in place in case we decided + # not to build a shared library, and have fallen back to building + # static libs even though --disable-static was passed! + for oldobj in $oldobjs; do + if test ! -f $oldobj; then + xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$oldobj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'` + obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` + $show "(cd $xdir && ${LN_S} $obj $baseobj)" + $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $? + fi + done + + eval cmds=\"$old_archive_cmds\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test $need_relink = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit 0 + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg="$nonopt" + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest="$arg" + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) prev="-f" ;; + -g) prev="-g" ;; + -m) prev="-m" ;; + -o) prev="-o" ;; + -s) + stripme=" -s" + continue + ;; + -*) ;; + + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest="$arg" + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit 1 + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test $# -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit 1 + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit 1 + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test $# -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + eval cmds=\"$postinstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit 0 + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $wrapper ;; + *) . ./$wrapper ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit 1 + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $wrapper ;; + *) . ./$wrapper ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir="/tmp" + test -n "$TMPDIR" && tmpdir="$TMPDIR" + tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null` + if test $? = 0 ; then : + else + tmpdir="$tmpdir/libtool-$$" + fi + if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : + else + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi + file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyways + case $install_prog,$host in + /usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + eval cmds=\"$old_postinstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $0 --finish$current_libdirs' + else + exit 0 + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + eval cmds=\"$finish_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = ":" && exit 0 + + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + echo " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + echo + echo "See any operating system documentation about shared libraries for" + echo "more information, such as the ld(1) and ld.so(8) manual pages." + echo "----------------------------------------------------------------------" + exit 0 + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit 1 + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit 1 + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved enviroment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit 0 + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + rmdirs= + + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$objdir" + else + objdir="$dir/$objdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test $mode = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test $mode = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + + if test $mode = uninstall; then + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + eval cmds=\"$postuninstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + if test $? != 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + eval cmds=\"$old_postuninstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + if test $? != 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + fi + fi + ;; + + *.lo) + if test "$build_old_libs" = yes; then + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` + rmfiles="$rmfiles $dir/$oldobj" + fi + ;; + + *) + # Do a test to see if this is a libtool program. + if test $mode = clean && + (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$file + + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit 1 +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE." + exit 0 + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; +esac + +echo +$echo "Try \`$modename --help' for more information about other modes." + +exit 0 + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/apt/buildlib/makefile.in b/apt/buildlib/makefile.in deleted file mode 100644 index 756565f..0000000 --- a/apt/buildlib/makefile.in +++ /dev/null @@ -1,51 +0,0 @@ -# -*- make -*- - -# This is the build directory make file, it sets the build directory -# and runs the src makefile. -ifndef NOISY -.SILENT: -endif -include environment.mak - -SRCDIR=@top_srcdir@ -BUILD:=$(shell pwd) -export BUILD - -# Chain to the parent make to do the actual building -.PHONY: headers library clean veryclean all binary program doc \ - veryclean/local -all headers library clean veryclean binary program doc: - $(MAKE) -C $(SRCDIR) -f Makefile $@ - -# Purge everything. -.PHONY: maintainer-clean dist-clean pristine sanity distclean -maintainer-clean dist-clean pristine sanity distclean: - -rm -rf $(DIRS) - -rm -f config.cache config.log config.status environment.mak makefile - -# Create the required directories and build the shims -# The configure script fills in below, and then we do the right things.. -# This cannot go in the configure script since the directories have not yet -# been created.. In any event I like the idea that you can change environment.mak -# and run make dirs and have the shims updated. -.PHONY: dirs -dirs: - $(MAKE) -C $(SRCDIR) -f Makefile $@ -ifeq ($(HAVE_C9X),yes) - @rm -f include/inttypes.h > /dev/null 2>&1 -else - @cp -p $(SRCDIR)/buildlib/inttypes.h.in include/inttypes.h -endif -ifeq ($(HAVE_STATVFS),yes) - @rm -f include/statvfs.h > /dev/null 2>&1 -else - @cp -p $(SRCDIR)/buildlib/statvfs.h.in include/statvfs.h - ln -sf . include/sys -endif -ifeq ($(NEED_SOCKLEN_T_DEFINE),yes) - @cp -p $(SRCDIR)/buildlib/netdb.h.in include/netdb.h -else - @rm -f include/netdb.h > /dev/null 2>&1 -endif - rm -f include/python - ln -sf $(PYTHONINCLUDE) include/python diff --git a/apt/buildlib/manpage.mak b/apt/buildlib/manpage.mak deleted file mode 100644 index 1f2644c..0000000 --- a/apt/buildlib/manpage.mak +++ /dev/null @@ -1,29 +0,0 @@ -# -*- make -*- - -# This installs man pages into the doc directory - -# Input -# $(SOURCE) - The documents to use - -# All output is writtin to files in the build doc directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(addprefix $(DOC)/,$(SOURCE)) - -# Install generation hooks -doc: $($(LOCAL)-LIST) -veryclean: veryclean/$(LOCAL) - -MKDIRS += $(DOC) - -$($(LOCAL)-LIST) : $(DOC)/% : % - echo Installing man page $< to $(@D) - cp $< $(@D) - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) diff --git a/apt/buildlib/mkChangeLog b/apt/buildlib/mkChangeLog deleted file mode 100755 index 4164ec9..0000000 --- a/apt/buildlib/mkChangeLog +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -NAMES="`sed -ne 's/'\''/'\''\\\\'\'''\''/g; - s/^.*CVS:\([^ ]\+\) \([^<]\+\) <\([^>]*\)>/\ - -u '\''\1:\2:\3'\''/gp' AUTHORS`" -OPTIONS="-l 78" - -# Generate the standard ChangeLog -echo CVSIGNORE=po rcs2log $OPTIONS $NAMES -eval CVSIGNORE=po rcs2log $OPTIONS $NAMES >> ChangeLog - -# Generate the po ChangeLog -#echo rcs2log $OPTIONS $NAMES po -#eval rcs2log $OPTIONS $NAMES po >> po/ChangeLog diff --git a/apt/buildlib/mkinstalldirs b/apt/buildlib/mkinstalldirs index 3b4441a..4f58503 100755 --- a/apt/buildlib/mkinstalldirs +++ b/apt/buildlib/mkinstalldirs @@ -1,11 +1,10 @@ #! /bin/sh -# CNC:2002-07-08 # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain -# $Id: mkinstalldirs,v 1.1 2002/07/23 17:54:51 niemeyer Exp $ +# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ errstatus=0 @@ -23,7 +22,7 @@ do esac if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 + echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? diff --git a/apt/buildlib/netdb.h.in b/apt/buildlib/netdb.h similarity index 100% rename from apt/buildlib/netdb.h.in rename to apt/buildlib/netdb.h diff --git a/apt/buildlib/ostable b/apt/buildlib/ostable index 433efea..e513836 100644 --- a/apt/buildlib/ostable +++ b/apt/buildlib/ostable @@ -8,6 +8,7 @@ # These are used by Debian [^-]*-linux-.* linux +[^-]*-kfreebsd.*-gnu freebsd [^-]*-gnu[^-]* hurd # These are samples. diff --git a/apt/buildlib/podomain.mak b/apt/buildlib/podomain.mak deleted file mode 100644 index e1ae0c8..0000000 --- a/apt/buildlib/podomain.mak +++ /dev/null @@ -1,22 +0,0 @@ -# -*- make -*- - -# This creates the file listing used by xgettext and friends based on the -# declared domain of the make file. It also arranges to set the DOMAIN -# CPPFLAG for the compilation. - -MY_DOMAIN := $(PACKAGE) -ifdef APT_DOMAIN -$($(LOCAL)-OBJS): CPPFLAGS := $(CPPFLAGS) -DAPT_DOMAIN='"$(APT_DOMAIN)"' -MY_DOMAIN := $(APT_DOMAIN) -endif - -MKDIRS += $(PO_DOMAINS)/$(MY_DOMAIN) -$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: SRC := $(addprefix $(SUBDIR)/,$(SOURCE)) -$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: makefile - (echo $(SRC) | xargs -n1 echo) > $@ -binary program: $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list - -veryclean: veryclean/$(LOCAL) -veryclean/po/$(LOCAL): LIST := $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list -veryclean/po/$(LOCAL): - rm -f $(LIST) diff --git a/apt/buildlib/program.mak b/apt/buildlib/program.mak deleted file mode 100644 index e0e7631..0000000 --- a/apt/buildlib/program.mak +++ /dev/null @@ -1,60 +0,0 @@ -# -*- make -*- - -# This creates a program - -# Input -# $(SOURCE) - The source code to use -# $(PROGRAM) - The name of the program -# $(SLIBS) - Shared libs to link against -# $(LIB_MAKES) - Shared libary make files to depend on - to ensure we get -# remade when the shared library version increases. - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := $(PROGRAM) -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .o.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-BIN := $(BIN)/$(PROGRAM) -$(LOCAL)-SLIBS := $(SLIBS) -$(LOCAL)-MKS := $(addprefix $(BASE)/,$(LIB_MAKES)) - -# Install the command hooks -program: $(BIN)/$(PROGRAM) -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -TYPE = src -include $(PODOMAIN_H) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(BIN) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-BIN) - -# The convience binary build rule -.PHONY: $(PROGRAM) -$(PROGRAM): $($(LOCAL)-BIN) - -# The binary build rule -$($(LOCAL)-BIN): $($(LOCAL)-OBJS) $($(LOCAL)-MKS) - echo Building program $@ - $(CXX) $(CXXFLAGS) $(LDFLAGS) $(LFLAGS) -o $@ $(filter %.o,$^) $($(@F)-SLIBS) $(LEFLAGS) - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.o: %.cc - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/apt/buildlib/python.mak b/apt/buildlib/python.mak deleted file mode 100644 index 02345c2..0000000 --- a/apt/buildlib/python.mak +++ /dev/null @@ -1,68 +0,0 @@ -# -*- make -*- - -# This creates a python shared module. - -# Input -# $(SOURCE) - The source code to use -# $(MODULE) - The name of the module without module or .so - -# All output is writtin to .opic files in the build directory to -# signify the PIC output. - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := $(MODULE)module.so -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-SLIBS := $(SLIBS) -$(LOCAL)-MODULE := $(MODULE) - -# Install the command hooks -library: $(LIB)/$(MODULE)module.so -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(LIB) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-HEADERS) $(LIB)/$($(@F)-MODULE)module.so* - -# The binary build rule. -ifdef PYTHONLIB -ifndef ONLYSTATICLIBS -$(LIB)/$(MODULE)module.so: $($(LOCAL)-OBJS) - -rm -f $(LIB)/$($(@F)-MODULE)module.so* 2> /dev/null - echo Building shared Python module $@ - $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\ - -o $@ -shared \ - $(filter %.opic,$^) \ - $($(@F)-SLIBS) $(PYTHONLIB) -else -.PHONY: $(LIB)/$(MODULE)module.so -$(LIB)/$(MODULE)module.so: - echo Don't know how to make a python module here, not building $@ -endif # ifndef ONLYSTATICLIBS -else -.PHONY: $(LIB)/$(MODULE)module.so -$(LIB)/$(MODULE)module.so: - echo No python support, not building $@ -endif # ifdef PYTHONLIB - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.opic: %.cc - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $< - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/apt/buildlib/sgml_manpage.mak b/apt/buildlib/sgml_manpage.mak deleted file mode 100644 index 5fcb75c..0000000 --- a/apt/buildlib/sgml_manpage.mak +++ /dev/null @@ -1,45 +0,0 @@ -# -*- make -*- - -# This handles man pages in DocBook SGMLL format. We convert to the respective -# output in the source directory then copy over to the final dest. This -# means yodl is only needed if compiling from CVS - -# Input -# $(SOURCE) - The documents to use, in the form foo.sect, ie apt-cache.8 -# the sgml files are called apt-cache.8.sgml - -# See defaults.mak for information about LOCAL - -# Some local definitions -ifdef DOCBOOK2MAN - -LOCAL := sgml-manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(SOURCE) - -# Install generation hooks -doc: $($(LOCAL)-LIST) -veryclean: veryclean/$(LOCAL) - -$($(LOCAL)-LIST) :: % : %.sgml $(INCLUDES) - echo Creating man page $@ - $(DOCBOOK2MAN) $< - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) - -HAVE_SGML=yes -endif - -INCLUDES := - -ifndef HAVE_SGML -# Strip from the source list any man pages we dont have compiled already -SOURCE := $(wildcard $(SOURCE)) -endif - -# Chain to the manpage rule -ifneq ($(words $(SOURCE)),0) -include $(MANPAGE_H) -endif diff --git a/apt/buildlib/staticlibrary.mak b/apt/buildlib/staticlibrary.mak deleted file mode 100644 index 40b877d..0000000 --- a/apt/buildlib/staticlibrary.mak +++ /dev/null @@ -1,63 +0,0 @@ -# -*- make -*- - -# This creates a static library. - -# Input -# $(SOURCE) - The source code to use -# $(HEADERS) - Exported header files and private header files -# $(LIBRARY) - The name of the library without lib or .so - -# All output is writtin to .o files in the build directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := lib$(LIBRARY).a -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .o.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS)) -$(LOCAL)-LIB := $(LIB)/lib$(LIBRARY).a - -# CNC:2003-02-14 -include $(PODOMAIN_H) - -# Install the command hooks -headers: $($(LOCAL)-HEADERS) -library: $($(LOCAL)-LIB) -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(LIB) $(dir $($(LOCAL)-HEADERS)) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-HEADERS) $($(@F)-LIB) - -# Build rules for the two symlinks -.PHONY: $($(LOCAL)-LIB) - -# The binary build rule -$($(LOCAL)-LIB): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS) - echo Building library $@ - -rm $@ > /dev/null 2>&1 - $(AR) cq $@ $(filter %.o,$^) -ifneq ($(words $(RANLIB)),0) - $(RANLIB) $@ -endif - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.o: %.cc - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/apt/buildlib/statvfs.h.in b/apt/buildlib/statvfs.h similarity index 100% rename from apt/buildlib/statvfs.h.in rename to apt/buildlib/statvfs.h diff --git a/apt/buildlib/tools.m4 b/apt/buildlib/tools.m4 index 442c0b6..67ea1cc 100644 --- a/apt/buildlib/tools.m4 +++ b/apt/buildlib/tools.m4 @@ -102,7 +102,8 @@ _GLIBC_ if test "$?" = 0; then GLIBC_VER=`./$dummy` AC_MSG_RESULT([$GLIBC_VER]) - GLIBC_VER="-$GLIBC_VER" + dnl CNC:2003-03-25 + GLIBC_VER="$GLIBC_VER" else AC_MSG_WARN([cannot determine GNU C library minor version number]) fi @@ -131,7 +132,8 @@ _LIBSTDCPP_ AC_MSG_WARN([cannot determine standard C++ library version number]) else AC_MSG_RESULT([$LIBSTDCPP_VER]) - LIBSTDCPP_VER="-$LIBSTDCPP_VER" + dnl CNC:2003-03-25 + LIBSTDCPP_VER="$LIBSTDCPP_VER" fi AC_SUBST(LIBSTDCPP_VER) ]) diff --git a/apt/buildlib/yodl_manpage.mak b/apt/buildlib/yodl_manpage.mak deleted file mode 100644 index a5f436f..0000000 --- a/apt/buildlib/yodl_manpage.mak +++ /dev/null @@ -1,42 +0,0 @@ -# -*- make -*- - -# This handles man pages in YODL format. We convert to the respective -# output in the source directory then copy over to the final dest. This -# means yodl is only needed if compiling from CVS - -# Input -# $(SOURCE) - The documents to use, in the form foo.sect, ie apt-cache.8 -# the yodl files are called apt-cache.8.yo - -# See defaults.mak for information about LOCAL - -# Some local definitions -ifdef YODL_MAN - -LOCAL := yodl-manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(SOURCE) - -# Install generation hooks -doc: $($(LOCAL)-LIST) -veryclean: veryclean/$(LOCAL) - -$($(LOCAL)-LIST) :: % : %.yo - echo Creating man page $@ - yodl2man -o $@ $< - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) - -else - -# Strip from the source list any man pages we dont have compiled already -SOURCE := $(wildcard $(SOURCE)) - -endif - -# Chain to the manpage rule -ifneq ($(words $(SOURCE)),0) -include $(MANPAGE_H) -endif diff --git a/apt/cmdline/Makefile.am b/apt/cmdline/Makefile.am new file mode 100644 index 0000000..99d5264 --- /dev/null +++ b/apt/cmdline/Makefile.am @@ -0,0 +1,17 @@ + +bin_PROGRAMS = apt-get apt-cache apt-cdrom apt-config + +EXTRA_DIST = indexcopy.cc indexcopy.h + +if COMPILE_APTSHELL +bin_PROGRAMS += apt-shell +endif + +LDADD = ../apt-pkg/libapt-pkg.la $(RPMLIBS) + +apt_cache_SOURCES = apt-cache.cc +apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h +apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h +apt_shell_LDADD = $(LDADD) -lreadline -lncurses +apt_config_SOURCES = apt-config.cc +apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h diff --git a/apt/cmdline/Makefile.in b/apt/cmdline/Makefile.in new file mode 100644 index 0000000..c842c90 --- /dev/null +++ b/apt/cmdline/Makefile.in @@ -0,0 +1,541 @@ +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +@COMPILE_APTSHELL_TRUE@am__append_1 = apt-shell +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILE_APTSHELL_FALSE = @COMPILE_APTSHELL_FALSE@ +COMPILE_APTSHELL_TRUE = @COMPILE_APTSHELL_TRUE@ +COMPILE_MANPAGES_FALSE = @COMPILE_MANPAGES_FALSE@ +COMPILE_MANPAGES_TRUE = @COMPILE_MANPAGES_TRUE@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOCBOOK2MAN = @DOCBOOK2MAN@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GENCAT = @GENCAT@ +GLIBC21 = @GLIBC21@ +GLIBC_VER = @GLIBC_VER@ +GMSGFMT = @GMSGFMT@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLBISON = @INTLBISON@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSTDCPP_VER = @LIBSTDCPP_VER@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +NEED_INTTYPES_H_FALSE = @NEED_INTTYPES_H_FALSE@ +NEED_INTTYPES_H_TRUE = @NEED_INTTYPES_H_TRUE@ +NEED_NETDB_H_FALSE = @NEED_NETDB_H_FALSE@ +NEED_NETDB_H_TRUE = @NEED_NETDB_H_TRUE@ +NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ +NEED_STATVFS_H_FALSE = @NEED_STATVFS_H_FALSE@ +NEED_STATVFS_H_TRUE = @NEED_STATVFS_H_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +PTHREADLIB = @PTHREADLIB@ +RANLIB = @RANLIB@ +RPMLIBS = @RPMLIBS@ +RPM_PATH = @RPM_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOCKETLIBS = @SOCKETLIBS@ +STRIP = @STRIP@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_LUA_FALSE = @WITH_LUA_FALSE@ +WITH_LUA_TRUE = @WITH_LUA_TRUE@ +XGETTEXT = @XGETTEXT@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +bin_PROGRAMS = apt-get apt-cache apt-cdrom apt-config $(am__append_1) + +EXTRA_DIST = indexcopy.cc indexcopy.h + +LDADD = ../apt-pkg/libapt-pkg.la $(RPMLIBS) + +apt_cache_SOURCES = apt-cache.cc +apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h +apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h +apt_shell_LDADD = $(LDADD) -lreadline -lncurses +apt_config_SOURCES = apt-config.cc +apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h +subdir = cmdline +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = +@COMPILE_APTSHELL_TRUE@bin_PROGRAMS = apt-get$(EXEEXT) \ +@COMPILE_APTSHELL_TRUE@ apt-cache$(EXEEXT) apt-cdrom$(EXEEXT) \ +@COMPILE_APTSHELL_TRUE@ apt-config$(EXEEXT) apt-shell$(EXEEXT) +@COMPILE_APTSHELL_FALSE@bin_PROGRAMS = apt-get$(EXEEXT) \ +@COMPILE_APTSHELL_FALSE@ apt-cache$(EXEEXT) apt-cdrom$(EXEEXT) \ +@COMPILE_APTSHELL_FALSE@ apt-config$(EXEEXT) +PROGRAMS = $(bin_PROGRAMS) + +am_apt_cache_OBJECTS = apt-cache.$(OBJEXT) +apt_cache_OBJECTS = $(am_apt_cache_OBJECTS) +apt_cache_LDADD = $(LDADD) +apt_cache_DEPENDENCIES = ../apt-pkg/libapt-pkg.la +apt_cache_LDFLAGS = +am_apt_cdrom_OBJECTS = apt-cdrom.$(OBJEXT) rpmindexcopy.$(OBJEXT) +apt_cdrom_OBJECTS = $(am_apt_cdrom_OBJECTS) +apt_cdrom_LDADD = $(LDADD) +apt_cdrom_DEPENDENCIES = ../apt-pkg/libapt-pkg.la +apt_cdrom_LDFLAGS = +am_apt_config_OBJECTS = apt-config.$(OBJEXT) +apt_config_OBJECTS = $(am_apt_config_OBJECTS) +apt_config_LDADD = $(LDADD) +apt_config_DEPENDENCIES = ../apt-pkg/libapt-pkg.la +apt_config_LDFLAGS = +am_apt_get_OBJECTS = apt-get.$(OBJEXT) acqprogress.$(OBJEXT) +apt_get_OBJECTS = $(am_apt_get_OBJECTS) +apt_get_LDADD = $(LDADD) +apt_get_DEPENDENCIES = ../apt-pkg/libapt-pkg.la +apt_get_LDFLAGS = +am_apt_shell_OBJECTS = apt-shell.$(OBJEXT) acqprogress.$(OBJEXT) +apt_shell_OBJECTS = $(am_apt_shell_OBJECTS) +apt_shell_DEPENDENCIES = ../apt-pkg/libapt-pkg.la +apt_shell_LDFLAGS = + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/buildlib/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/acqprogress.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/apt-cache.Po ./$(DEPDIR)/apt-cdrom.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/apt-config.Po ./$(DEPDIR)/apt-get.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/apt-shell.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/rpmindexcopy.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ + $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(apt_cache_SOURCES) $(apt_cdrom_SOURCES) \ + $(apt_config_SOURCES) $(apt_get_SOURCES) $(apt_shell_SOURCES) +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +SOURCES = $(apt_cache_SOURCES) $(apt_cdrom_SOURCES) $(apt_config_SOURCES) $(apt_get_SOURCES) $(apt_shell_SOURCES) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .cc .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign cmdline/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ + rm -f $(DESTDIR)$(bindir)/$$f; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +apt-cache$(EXEEXT): $(apt_cache_OBJECTS) $(apt_cache_DEPENDENCIES) + @rm -f apt-cache$(EXEEXT) + $(CXXLINK) $(apt_cache_LDFLAGS) $(apt_cache_OBJECTS) $(apt_cache_LDADD) $(LIBS) +apt-cdrom$(EXEEXT): $(apt_cdrom_OBJECTS) $(apt_cdrom_DEPENDENCIES) + @rm -f apt-cdrom$(EXEEXT) + $(CXXLINK) $(apt_cdrom_LDFLAGS) $(apt_cdrom_OBJECTS) $(apt_cdrom_LDADD) $(LIBS) +apt-config$(EXEEXT): $(apt_config_OBJECTS) $(apt_config_DEPENDENCIES) + @rm -f apt-config$(EXEEXT) + $(CXXLINK) $(apt_config_LDFLAGS) $(apt_config_OBJECTS) $(apt_config_LDADD) $(LIBS) +apt-get$(EXEEXT): $(apt_get_OBJECTS) $(apt_get_DEPENDENCIES) + @rm -f apt-get$(EXEEXT) + $(CXXLINK) $(apt_get_LDFLAGS) $(apt_get_OBJECTS) $(apt_get_LDADD) $(LIBS) +apt-shell$(EXEEXT): $(apt_shell_OBJECTS) $(apt_shell_DEPENDENCIES) + @rm -f apt-shell$(EXEEXT) + $(CXXLINK) $(apt_shell_LDFLAGS) $(apt_shell_OBJECTS) $(apt_shell_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) core *.core + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acqprogress.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apt-cache.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apt-cdrom.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apt-config.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apt-get.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apt-shell.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmindexcopy.Po@am__quote@ + +.cc.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +.cc.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + +.cc.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ +@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCXX_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/apt/cmdline/acqprogress.cc b/apt/cmdline/acqprogress.cc index 558558a..dbc8ade 100644 --- a/apt/cmdline/acqprogress.cc +++ b/apt/cmdline/acqprogress.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acqprogress.cc,v 1.23 2003/02/02 22:24:11 jgg Exp $ +// $Id: acqprogress.cc,v 1.24 2003/04/27 01:56:48 doogie Exp $ /* ###################################################################### Acquire Progress - Command line progress meter @@ -268,8 +268,9 @@ bool AcqTextStatus::MediaChange(string Media,string Drive) { if (Quiet <= 0) cout << '\r' << BlankLine << '\r'; - ioprintf(cout,_("Media Change: Please insert the disc labeled '%s' in " - "the drive '%s' and press enter\n"), + ioprintf(cout,_("Media Change: Please insert the disc labeled\n" + " '%s'\n" + "in the drive '%s' and press enter\n"), Media.c_str(),Drive.c_str()); char C = 0; diff --git a/apt/cmdline/apt-cache.cc b/apt/cmdline/apt-cache.cc index a9c8a2a..85dee0a 100644 --- a/apt/cmdline/apt-cache.cc +++ b/apt/cmdline/apt-cache.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-cache.cc,v 1.61 2003/02/10 01:40:58 doogie Exp $ +// $Id: apt-cache.cc,v 1.67 2003/08/02 19:53:23 mdz Exp $ /* ###################################################################### apt-cache - Manages the cache files @@ -39,6 +39,10 @@ #include #include #include + +// CNC:2003-11-23 +#include + /*}}}*/ using namespace std; @@ -72,6 +76,24 @@ void LocalitySort(pkgCache::VerFile **begin, qsort(begin,Count,Size,LocalityCompare); } /*}}}*/ +// CNC:2003-11-23 +// Script - Scripting stuff. /*{{{*/ +// --------------------------------------------------------------------- +/* */ +#ifdef WITH_LUA +bool Script(CommandLine &CmdL) +{ + for (const char **I = CmdL.FileList+1; *I != 0; I++) + _config->Set("Scripts::AptCache::Script::", *I); + + _lua->SetCache(GCache); + _lua->RunScripts("Scripts::AptCache::Script", false); + _lua->ResetGlobals(); + + return true; +} +#endif + /*}}}*/ // UnMet - Show unmet dependencies /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -547,6 +569,7 @@ bool Depends(CommandLine &CmdL) } bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false); + bool Installed = _config->FindB("APT::Cache::Installed",false); bool DidSomething; do { @@ -570,24 +593,31 @@ bool Depends(CommandLine &CmdL) for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++) { - if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) - cout << " |"; - else - cout << " "; - - // Show the package + pkgCache::PkgIterator Trg = D.TargetPkg(); - if (Trg->VersionList == 0) - cout << D.DepType() << ": <" << Trg.Name() << ">" << endl; - // CNC:2003-03-03 - else if (D.TargetVer() == 0) - cout << D.DepType() << ": " << Trg.Name() << endl; - else - cout << D.DepType() << ": " << Trg.Name() - << " " << D.CompType() << " " << D.TargetVer() << endl; + + if((Installed && Trg->CurrentVer != 0) || !Installed) + { + + if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + cout << " |"; + else + cout << " "; - if (Recurse == true) - Colours[D.TargetPkg()->ID]++; + // Show the package + if (Trg->VersionList == 0) + cout << D.DepType() << ": <" << Trg.Name() << ">" << endl; + // CNC:2003-03-03 + else if (D.TargetVer() == 0) + cout << D.DepType() << ": " << Trg.Name() << endl; + else + cout << D.DepType() << ": " << Trg.Name() + << " " << D.CompType() << " " << D.TargetVer() << endl; + + if (Recurse == true) + Colours[D.TargetPkg()->ID]++; + + } // Display all solutions SPtrArray List = D.AllTargets(); @@ -612,6 +642,95 @@ bool Depends(CommandLine &CmdL) return true; } + +// RDepends - Print out a reverse dependency tree - mbc /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool RDepends(CommandLine &CmdL) +{ + pkgCache &Cache = *GCache; + SPtrArray Colours = new unsigned[Cache.Head().PackageCount]; + memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount); + + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + { + pkgCache::PkgIterator Pkg = Cache.FindPkg(*I); + if (Pkg.end() == true) + { + _error->Warning(_("Unable to locate package %s"),*I); + continue; + } + Colours[Pkg->ID] = 1; + } + + bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false); + bool Installed = _config->FindB("APT::Cache::Installed",false); + bool DidSomething; + do + { + DidSomething = false; + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++) + { + if (Colours[Pkg->ID] != 1) + continue; + Colours[Pkg->ID] = 2; + DidSomething = true; + + pkgCache::VerIterator Ver = Pkg.VersionList(); + if (Ver.end() == true) + { + cout << '<' << Pkg.Name() << '>' << endl; + continue; + } + + cout << Pkg.Name() << endl; + + cout << "Reverse Depends:" << endl; + for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() == false; D++) + { + // Show the package + pkgCache::PkgIterator Trg = D.ParentPkg(); + + if((Installed && Trg->CurrentVer != 0) || !Installed) + { + + if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + cout << " |"; + else + cout << " "; + + if (Trg->VersionList == 0) + cout << D.DepType() << ": <" << Trg.Name() << ">" << endl; + else + cout << Trg.Name() << endl; + + if (Recurse == true) + Colours[D.ParentPkg()->ID]++; + + } + + // Display all solutions + SPtrArray List = D.AllTargets(); + pkgPrioSortList(Cache,List); + for (pkgCache::Version **I = List; *I != 0; I++) + { + pkgCache::VerIterator V(Cache,*I); + if (V != Cache.VerP + V.ParentPkg()->VersionList || + V->ParentPkg == D->Package) + continue; + cout << " " << V.ParentPkg().Name() << endl; + + if (Recurse == true) + Colours[D.ParentPkg()->ID]++; + } + } + } + } + while (DidSomething == true); + + return true; +} + /*}}}*/ // CNC:2003-02-19 // WhatDepends - Print out a reverse dependency tree /*{{{*/ @@ -684,12 +803,14 @@ bool WhatDepends(CommandLine &CmdL) for (pkgCache::DepIterator D = ParentVer.DependsList(); D.end() == false; D++) { - // Go on if it's the same package and version or - // if it's the same package and has no versions - // (a virtual package). - if (D.TargetPkg() != Pkg || - Ver.end() == false && - Cache.VS->CheckDep(Ver.VerStr(),D) == false) { + // If this is a virtual package, there's no provides. + if (Ver.end() == true) { + // If it's not the same package, and there's no provides + // skip that package. + if (D.TargetPkg() != Pkg) + continue; + } else if (D.TargetPkg() != Pkg || + Cache.VS->CheckDep(Ver.VerStr(),D) == false) { // Oops. Either it's not the same package, or the // version didn't match. Check virtual provides from // the queried package version and verify if this @@ -777,25 +898,9 @@ bool WhatDepends(CommandLine &CmdL) // if it's the same package and has no versions // (a virtual package). if (D.TargetPkg() != RDPrv.ParentPkg() || - Ver.end() == false && - Cache.VS->CheckDep(Ver.VerStr(),D) == false) { - // Oops. Either it's not the same package, or the - // version didn't match. Check virtual provides from - // the queried package version and verify if this - // dependency matches one of those. - bool Hit = false; - for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); - Prv.end() == false; Prv++) { - if (Prv.ParentPkg() == D.TargetPkg() && - (Prv.ParentPkg()->VersionList == 0 || - Cache.VS->CheckDep(Prv.ProvideVersion(),D)) == false) { - Hit = true; - break; - } - } - if (Hit == false) - continue; - } + (RDPrv.ProvideVersion() != 0 && + Cache.VS->CheckDep(RDPrv.ProvideVersion(),D) == false)) + continue; // Bingo! pkgCache::PkgIterator Trg = D.TargetPkg(); @@ -836,6 +941,224 @@ bool WhatDepends(CommandLine &CmdL) return true; } /*}}}*/ + +// xvcg - Generate a graph for xvcg /*{{{*/ +// --------------------------------------------------------------------- +// Code contributed from Junichi Uekawa on 20 June 2002. + +bool XVcg(CommandLine &CmdL) +{ + pkgCache &Cache = *GCache; + bool GivenOnly = _config->FindB("APT::Cache::GivenOnly",false); + + /* Normal packages are boxes + Pure Provides are triangles + Mixed are diamonds + rhomb are missing packages*/ + const char *Shapes[] = {"ellipse","triangle","box","rhomb"}; + + /* Initialize the list of packages to show. + 1 = To Show + 2 = To Show no recurse + 3 = Emitted no recurse + 4 = Emitted + 0 = None */ + enum States {None=0, ToShow, ToShowNR, DoneNR, Done}; + enum TheFlags {ForceNR=(1<<0)}; + unsigned char *Show = new unsigned char[Cache.Head().PackageCount]; + unsigned char *Flags = new unsigned char[Cache.Head().PackageCount]; + unsigned char *ShapeMap = new unsigned char[Cache.Head().PackageCount]; + + // Show everything if no arguments given + if (CmdL.FileList[1] == 0) + for (unsigned long I = 0; I != Cache.Head().PackageCount; I++) + Show[I] = ToShow; + else + for (unsigned long I = 0; I != Cache.Head().PackageCount; I++) + Show[I] = None; + memset(Flags,0,sizeof(*Flags)*Cache.Head().PackageCount); + + // Map the shapes + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++) + { + if (Pkg->VersionList == 0) + { + // Missing + if (Pkg->ProvidesList == 0) + ShapeMap[Pkg->ID] = 0; + else + ShapeMap[Pkg->ID] = 1; + } + else + { + // Normal + if (Pkg->ProvidesList == 0) + ShapeMap[Pkg->ID] = 2; + else + ShapeMap[Pkg->ID] = 3; + } + } + + // Load the list of packages from the command line into the show list + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + { + // Process per-package flags + string P = *I; + bool Force = false; + if (P.length() > 3) + { + if (P.end()[-1] == '^') + { + Force = true; + P.erase(P.end()-1); + } + + if (P.end()[-1] == ',') + P.erase(P.end()-1); + } + + // Locate the package + pkgCache::PkgIterator Pkg = Cache.FindPkg(P); + if (Pkg.end() == true) + { + _error->Warning(_("Unable to locate package %s"),*I); + continue; + } + Show[Pkg->ID] = ToShow; + + if (Force == true) + Flags[Pkg->ID] |= ForceNR; + } + + // Little header + cout << "graph: { title: \"packages\"" << endl << + "xmax: 700 ymax: 700 x: 30 y: 30" << endl << + "layout_downfactor: 8" << endl; + + bool Act = true; + while (Act == true) + { + Act = false; + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++) + { + // See we need to show this package + if (Show[Pkg->ID] == None || Show[Pkg->ID] >= DoneNR) + continue; + + //printf ("node: { title: \"%s\" label: \"%s\" }\n", Pkg.Name(), Pkg.Name()); + + // Colour as done + if (Show[Pkg->ID] == ToShowNR || (Flags[Pkg->ID] & ForceNR) == ForceNR) + { + // Pure Provides and missing packages have no deps! + if (ShapeMap[Pkg->ID] == 0 || ShapeMap[Pkg->ID] == 1) + Show[Pkg->ID] = Done; + else + Show[Pkg->ID] = DoneNR; + } + else + Show[Pkg->ID] = Done; + Act = true; + + // No deps to map out + if (Pkg->VersionList == 0 || Show[Pkg->ID] == DoneNR) + continue; + + pkgCache::VerIterator Ver = Pkg.VersionList(); + for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++) + { + // See if anything can meet this dep + // Walk along the actual package providing versions + bool Hit = false; + pkgCache::PkgIterator DPkg = D.TargetPkg(); + for (pkgCache::VerIterator I = DPkg.VersionList(); + I.end() == false && Hit == false; I++) + { + if (Cache.VS->CheckDep(I.VerStr(),D->CompareOp,D.TargetVer()) == true) + Hit = true; + } + + // Follow all provides + for (pkgCache::PrvIterator I = DPkg.ProvidesList(); + I.end() == false && Hit == false; I++) + { + if (Cache.VS->CheckDep(I.ProvideVersion(),D->CompareOp,D.TargetVer()) == false) + Hit = true; + } + + + // Only graph critical deps + if (D.IsCritical() == true) + { + printf ("edge: { sourcename: \"%s\" targetname: \"%s\" class: 2 ",Pkg.Name(), D.TargetPkg().Name() ); + + // Colour the node for recursion + if (Show[D.TargetPkg()->ID] <= DoneNR) + { + /* If a conflicts does not meet anything in the database + then show the relation but do not recurse */ + if (Hit == false && + (D->Type == pkgCache::Dep::Conflicts || + D->Type == pkgCache::Dep::Obsoletes)) + { + if (Show[D.TargetPkg()->ID] == None && + Show[D.TargetPkg()->ID] != ToShow) + Show[D.TargetPkg()->ID] = ToShowNR; + } + else + { + if (GivenOnly == true && Show[D.TargetPkg()->ID] != ToShow) + Show[D.TargetPkg()->ID] = ToShowNR; + else + Show[D.TargetPkg()->ID] = ToShow; + } + } + + // Edge colour + switch(D->Type) + { + case pkgCache::Dep::Conflicts: + printf("label: \"conflicts\" color: lightgreen }\n"); + break; + case pkgCache::Dep::Obsoletes: + printf("label: \"obsoletes\" color: lightgreen }\n"); + break; + + case pkgCache::Dep::PreDepends: + printf("label: \"predepends\" color: blue }\n"); + break; + + default: + printf("}\n"); + break; + } + } + } + } + } + + /* Draw the box colours after the fact since we can not tell what colour + they should be until everything is finished drawing */ + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++) + { + if (Show[Pkg->ID] < DoneNR) + continue; + + if (Show[Pkg->ID] == DoneNR) + printf("node: { title: \"%s\" label: \"%s\" color: orange shape: %s }\n", Pkg.Name(), Pkg.Name(), + Shapes[ShapeMap[Pkg->ID]]); + else + printf("node: { title: \"%s\" label: \"%s\" shape: %s }\n", Pkg.Name(), Pkg.Name(), + Shapes[ShapeMap[Pkg->ID]]); + + } + + printf("}\n"); + return true; +} + /*}}}*/ + + // Dotty - Generate a graph for Dotty /*{{{*/ // --------------------------------------------------------------------- /* Dotty is the graphvis program for generating graphs. It is a fairly @@ -1137,7 +1460,7 @@ bool DisplayRecord(pkgCache::VerIterator V) Buffer[V.FileList()->Size] = '\n'; if (PkgF.Seek(V.FileList()->Offset) == false || PkgF.Read(Buffer,V.FileList()->Size) == false || - write(STDOUT_FILENO,Buffer,V.FileList()->Size+1) != V.FileList()->Size+1) + fwrite(Buffer,1,V.FileList()->Size+1,stdout) < V.FileList()->Size+1) { delete [] Buffer; return false; @@ -1287,6 +1610,8 @@ bool ShowPackage(CommandLine &CmdL) { pkgCache &Cache = *GCache; pkgDepCache::Policy Plcy; + + unsigned found = 0; for (const char **I = CmdL.FileList + 1; *I != 0; I++) { @@ -1297,6 +1622,8 @@ bool ShowPackage(CommandLine &CmdL) continue; } + ++found; + // Find the proper version to use. if (_config->FindB("APT::Cache::AllVersions","true") == true) { @@ -1316,7 +1643,10 @@ bool ShowPackage(CommandLine &CmdL) return false; } } - return true; + + if (found > 0) + return true; + return _error->Error(_("No packages found")); } /*}}}*/ // ShowPkgNames - Show package names /*{{{*/ @@ -1517,9 +1847,11 @@ bool ShowHelp(CommandLine &Cmd) ioprintf(cout,_("%s %s for %s %s compiled on %s %s\n"),PACKAGE,VERSION, COMMON_OS,COMMON_CPU,__DATE__,__TIME__); + if (_config->FindB("version") == true) + return true; + cout << _("Usage: apt-cache [options] command\n" -// CNC:2003-02-20 - Use file2, not file1 twice. " apt-cache [options] add file1 [file2 ...]\n" " apt-cache [options] showpkg pkg1 [pkg2 ...]\n" " apt-cache [options] showsrc pkg1 [pkg2 ...]\n" @@ -1540,8 +1872,10 @@ bool ShowHelp(CommandLine &Cmd) " show - Show a readable record for the package\n" " depends - Show raw dependency information for a package\n" " whatdepends - Show raw dependency information on a package\n" + // " rdepends - Show reverse dependency information for a package\n" " pkgnames - List the names of all packages\n" " dotty - Generate package graphs for GraphVis\n" + " xvcg - Generate package graphs for xvcg\n" " policy - Show policy settings\n" "\n" "Options:\n" @@ -1583,6 +1917,7 @@ int main(int argc,const char *argv[]) {0,"recurse","APT::Cache::RecurseDepends",0}, {'c',"config-file",0,CommandLine::ConfigFile}, {'o',"option",0,CommandLine::ArbItem}, + {'n',"installed","APT::Cache::Installed",0}, {0,0,0,0}}; CommandLine::Dispatch CmdsA[] = {{"help",&ShowHelp}, {"add",&DoAdd}, @@ -1597,10 +1932,16 @@ int main(int argc,const char *argv[]) {"search",&Search}, {"depends",&Depends}, {"whatdepends",&WhatDepends}, + {"rdepends",&RDepends}, {"dotty",&Dotty}, + {"xvcg",&XVcg}, {"show",&ShowPackage}, {"pkgnames",&ShowPkgNames}, {"policy",&Policy}, +// CNC:2003-11-23 +#ifdef WITH_LUA + {"script",&Script}, +#endif {0,0}}; CacheInitialize(); @@ -1654,6 +1995,23 @@ int main(int argc,const char *argv[]) { pkgCache Cache(Map); GCache = &Cache; +// CNC:2003-11-23 +#ifdef WITH_LUA + _lua->SetCache(&Cache); + double Consume = 0; + if (argc > 1 && _error->PendingError() == false && + _lua->HasScripts("Scripts::AptCache::Command") == true) + { + _lua->SetGlobal("command_args", CmdL.FileList); + _lua->SetGlobal("command_consume", 0.0); + _lua->RunScripts("Scripts::AptCache::Command", false); + Consume = _lua->GetGlobalI("command_consume"); + _lua->ResetGlobals(); + _lua->ResetCaches(); + } + + if (Consume == 0) +#endif if (_error->PendingError() == false) CmdL.DispatchArg(CmdsB); } diff --git a/apt/cmdline/apt-cdrom.cc b/apt/cmdline/apt-cdrom.cc index 8d49d50..0a993ca 100644 --- a/apt/cmdline/apt-cdrom.cc +++ b/apt/cmdline/apt-cdrom.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-cdrom.cc,v 1.42 2002/02/15 03:40:00 jgg Exp $ +// $Id: apt-cdrom.cc,v 1.44 2003/09/12 01:48:33 mdz Exp $ /* ###################################################################### APT CDROM - Tool for handling APT's CDROM database. @@ -120,7 +120,8 @@ bool FindPackages(string CD,vector &List,vector &SList, strncmp(Dir->d_name,"doc",3) == 0) #else strcmp(Dir->d_name,"experimental") == 0 || - strcmp(Dir->d_name,"binary-all") == 0) + strcmp(Dir->d_name,"binary-all") == 0 || + strcmp(Dir->d_name,"debian-installer") == 0) #endif continue; @@ -216,7 +217,7 @@ bool DropBinaryArch(vector &List) // Score - We compute a 'score' for a path /*{{{*/ // --------------------------------------------------------------------- /* Paths are scored based on how close they come to what I consider - normal. That is ones that have 'dist' 'stable' 'frozen' will score + normal. That is ones that have 'dist' 'stable' 'testing' will score higher than ones without. */ int Score(string Path) { @@ -229,7 +230,7 @@ int Score(string Path) Res += 29; if (Path.find("/binary-") != string::npos) Res += 20; - if (Path.find("frozen/") != string::npos) + if (Path.find("testing/") != string::npos) Res += 28; if (Path.find("unstable/") != string::npos) Res += 27; @@ -398,7 +399,7 @@ bool WriteDatabase(Configuration &Cnf) rename(DFile.c_str(),string(DFile + '~').c_str()); if (rename(NewFile.c_str(),DFile.c_str()) != 0) - return _error->Errno("rename","Failed to rename %s.new to %s", + return _error->Errno("rename",_("Failed to rename %s.new to %s"), DFile.c_str(),DFile.c_str()); return true; @@ -421,14 +422,14 @@ bool WriteSourceList(string Name,vector &List,bool Source) ifstream F((FileExists(File)?File.c_str():"/dev/null"), ios::in ); if (!F != 0) - return _error->Errno("ifstream::ifstream","Opening %s",File.c_str()); + return _error->Errno("ifstream::ifstream",_("Opening %s"),File.c_str()); string NewFile = File + ".new"; unlink(NewFile.c_str()); ofstream Out(NewFile.c_str()); if (!Out) return _error->Errno("ofstream::ofstream", - "Failed to open %s.new",File.c_str()); + _("Failed to open %s.new"),File.c_str()); // Create a short uri without the path string ShortURI = "cdrom:[" + Name + "]/"; @@ -522,7 +523,7 @@ bool WriteSourceList(string Name,vector &List,bool Source) rename(File.c_str(),string(File + '~').c_str()); if (rename(NewFile.c_str(),File.c_str()) != 0) - return _error->Errno("rename","Failed to rename %s.new to %s", + return _error->Errno("rename",_("Failed to rename %s.new to %s"), File.c_str(),File.c_str()); return true; @@ -567,7 +568,7 @@ bool DoAdd(CommandLine &) if (CDROM[0] == '.') CDROM= SafeGetCWD() + '/' + CDROM; - cout << "Using CD-ROM mount point " << CDROM << endl; + cout << _("Using CD-ROM mount point ") << CDROM << endl; // Read the database Configuration Database; @@ -575,7 +576,7 @@ bool DoAdd(CommandLine &) if (FileExists(DFile) == true) { if (ReadConfigFile(Database,DFile) == false) - return _error->Error("Unable to read the cdrom database %s", + return _error->Error(_("Unable to read the cdrom database %s"), DFile.c_str()); } @@ -592,18 +593,18 @@ bool DoAdd(CommandLine &) if (PreFetch == false && _config->FindB("APT::CDROM::NoMount",false) == false) { Mounted = true; - cout << "Unmounting CD-ROM" << endl; + cout << _("Unmounting CD-ROM") << endl; UnmountCdrom(CDROM); // Mount the new CDROM - Prompt("Please insert a Disc in the drive and press enter"); - cout << "Mounting CD-ROM" << endl; + Prompt(_("Please insert a Disc in the drive and press enter")); + cout << _("Mounting CD-ROM") << endl; if (MountCdrom(CDROM) == false) - return _error->Error("Failed to mount the cdrom."); + return _error->Error(_("Failed to mount the cdrom.")); } // Hash the CD to get an ID - cout << "Identifying.. " << flush; + cout << _("Identifying.. ") << flush; // CNC:2002-10-29 // string ID; if (ID.empty() == true && IdentCdrom(CDROM,ID) == false) @@ -623,7 +624,7 @@ bool DoAdd(CommandLine &) cout << '[' << ID << ']' << endl; - cout << "Scanning Disc for index files.. " << flush; + cout << _("Scanning Disc for index files.. ") << flush; // Get the CD structure vector List; vector sList; @@ -640,10 +641,10 @@ bool DoAdd(CommandLine &) if (_config->FindB("Debug::aptcdrom",false) == true) { - cout << "I found (binary):" << endl; + cout << _("I found (binary):") << endl; for (vector::iterator I = List.begin(); I != List.end(); I++) cout << *I << endl; - cout << "I found (source):" << endl; + cout << _("I found (source):") << endl; for (vector::iterator I = sList.begin(); I != sList.end(); I++) cout << *I << endl; } @@ -658,15 +659,15 @@ bool DoAdd(CommandLine &) DropRepeats(List,"Packages"); DropRepeats(sList,"Sources"); #endif - cout << "Found " << List.size() << " package indexes and " << sList.size() << - " source indexes." << endl; + cout << _("Found ") << List.size() << _(" package indexes and ") << sList.size() << + _(" source indexes.") << endl; // CNC:2002-07-11 if (List.size() == 0 && sList.size() == 0) { if (Mounted && _config->FindB("APT::CDROM::NoMount",false) == false) UnmountCdrom(CDROM); - return _error->Error("Unable to locate any package files, perhaps this is not an APT enabled disc"); + return _error->Error(_("Unable to locate any package files, perhaps this is not an APT enabled disc")); } // Check if the CD is in the database @@ -690,7 +691,7 @@ bool DoAdd(CommandLine &) if (*J == '"' || *J == ']' || *J == '[') *J = '_'; - cout << "Found label '" << Name << "'" << endl; + cout << _("Found label '") << Name << "'" << endl; Database.Set("CD::" + ID + "::Label",Name); } } @@ -698,12 +699,8 @@ bool DoAdd(CommandLine &) if (_config->FindB("APT::CDROM::Rename",false) == true || Name.empty() == true) { -// CNC:2002-07-11 -#ifdef HAVE_RPM - cout << "Please provide a name for this Disc, such as 'Conectiva Disk 1'"; -#else - cout << "Please provide a name for this Disc, such as 'Debian 2.1r1 Disk 1'"; -#endif + // CNC:2003-11-25 + cout << _("Please provide a name for this Disc, such as 'Distribution Disk 1'"); while (1) { Name = PromptLine(""); @@ -712,7 +709,7 @@ bool DoAdd(CommandLine &) Name.find('[') == string::npos && Name.find(']') == string::npos) break; - cout << "That is not a valid name, try again " << endl; + cout << _("That is not a valid name, try again ") << endl; } } } @@ -726,7 +723,7 @@ bool DoAdd(CommandLine &) *J = '_'; Database.Set("CD::" + ID,Name); - cout << "This Disc is called:" << endl << " '" << Name << "'" << endl; + cout << _("This Disc is called:") << endl << " '" << Name << "'" << endl; // Copy the package files to the state directory // CNC:2002-07-11 @@ -759,7 +756,7 @@ bool DoAdd(CommandLine &) } // Print the sourcelist entries - cout << "Source List entries for this Disc are:" << endl; + cout << _("Source List entries for this Disc are:") << endl; for (vector::iterator I = List.begin(); I != List.end(); I++) { string::size_type Space = (*I).find(' '); @@ -792,7 +789,7 @@ bool DoAdd(CommandLine &) #endif } - cout << "Repeat this process for the rest of the CDs in your set." << endl; + cout << _("Repeat this process for the rest of the CDs in your set.") << endl; // Unmount and finish // CNC:2002-10-29 @@ -812,13 +809,13 @@ bool DoIdent(CommandLine &) if (CDROM[0] == '.') CDROM= SafeGetCWD() + '/' + CDROM; - cout << "Using CD-ROM mount point " << CDROM << endl; - cout << "Mounting CD-ROM" << endl; + cout << _("Using CD-ROM mount point ") << CDROM << endl; + cout << _("Mounting CD-ROM") << endl; if (MountCdrom(CDROM) == false) - return _error->Error("Failed to mount the cdrom."); + return _error->Error(_("Failed to mount the cdrom.")); // Hash the CD to get an ID - cout << "Identifying.. " << flush; + cout << _("Identifying.. ") << flush; string ID; if (IdentCdrom(CDROM,ID) == false) { @@ -834,10 +831,10 @@ bool DoIdent(CommandLine &) if (FileExists(DFile) == true) { if (ReadConfigFile(Database,DFile) == false) - return _error->Error("Unable to read the cdrom database %s", + return _error->Error(_("Unable to read the cdrom database %s"), DFile.c_str()); } - cout << "Stored Label: '" << Database.Find("CD::" + ID) << "'" << endl; + cout << _("Stored Label: '") << Database.Find("CD::" + ID) << "'" << endl; return true; } /*}}}*/ @@ -853,7 +850,7 @@ int ShowHelp() return 0; cout << - "Usage: apt-cdrom [options] command\n" + _("Usage: apt-cdrom [options] command\n" "\n" "apt-cdrom is a tool to add CDROM's to APT's source list. The\n" "CDROM mount point and device information is taken from apt.conf\n" @@ -872,7 +869,7 @@ int ShowHelp() " -a Thorough scan mode\n" " -c=? Read this configuration file\n" " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" - "See fstab(5)\n"; + "See fstab(5)\n"); return 0; } /*}}}*/ diff --git a/apt/cmdline/apt-extracttemplates.cc b/apt/cmdline/apt-extracttemplates.cc deleted file mode 100644 index 942e158..0000000 --- a/apt/cmdline/apt-extracttemplates.cc +++ /dev/null @@ -1,387 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: apt-extracttemplates.cc,v 1.5 2003/01/29 18:43:48 niemeyer Exp $ -/* ###################################################################### - - APT Extract Templates - Program to extract debconf config and template - files - - This is a simple program to extract config and template information - from Debian packages. It can be used to speed up the preconfiguration - process for debconf-enabled packages - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -// CNC:2003-02-14 - apti18n.h includes libintl.h which includes locale.h, -// as reported by Radu Greab. -//#include -#include -#include -#include "apt-extracttemplates.h" - /*}}}*/ - -using namespace std; - -#define TMPDIR "/tmp" - -pkgCache *DebFile::Cache = 0; - -// DebFile::DebFile - Construct the DebFile object /*{{{*/ -// --------------------------------------------------------------------- -/* */ -DebFile::DebFile(const char *debfile) - : File(debfile, FileFd::ReadOnly), Control(0), DepOp(0), - PreDepOp(0), Config(0), Template(0), Which(None) -{ -} - /*}}}*/ -// DebFile::~DebFile - Destruct the DebFile object /*{{{*/ -// --------------------------------------------------------------------- -/* */ -DebFile::~DebFile() -{ - delete [] Control; - delete [] Config; - delete [] Template; -} - /*}}}*/ -// DebFile::GetInstalledVer - Find out the installed version of a pkg /*{{{*/ -// --------------------------------------------------------------------- -/* */ -string DebFile::GetInstalledVer(const string &package) -{ - pkgCache::PkgIterator Pkg = Cache->FindPkg(package); - if (Pkg.end() == false) - { - pkgCache::VerIterator V = Pkg.CurrentVer(); - if (V.end() == false) - { - return V.VerStr(); - } - } - - return string(); -} - /*}}}*/ -// DebFile::Go - Start extracting a debian package /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool DebFile::Go() -{ - ARArchive AR(File); - if (_error->PendingError() == true) - return false; - - const ARArchive::Member *Member = AR.FindMember("control.tar.gz"); - if (Member == 0) - return _error->Error(_("%s not a valid DEB package."),File.Name().c_str()); - - if (File.Seek(Member->Start) == false) - return false; - ExtractTar Tar(File, Member->Size); - return Tar.Go(*this); -} - /*}}}*/ -// DebFile::DoItem examine element in package and mark /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool DebFile::DoItem(Item &I, int &Fd) -{ - if (strcmp(I.Name, "control") == 0) - { - delete [] Control; - Control = new char[I.Size+1]; - Control[I.Size] = 0; - Which = IsControl; - ControlLen = I.Size; - // make it call the Process method below. this is so evil - Fd = -2; - } - else if (strcmp(I.Name, "config") == 0) - { - delete [] Config; - Config = new char[I.Size+1]; - Config[I.Size] = 0; - Which = IsConfig; - Fd = -2; - } - else if (strcmp(I.Name, "templates") == 0) - { - delete [] Template; - Template = new char[I.Size+1]; - Template[I.Size] = 0; - Which = IsTemplate; - Fd = -2; - } - else - { - // Ignore it - Fd = -1; - } - return true; -} - /*}}}*/ -// DebFile::Process examine element in package and copy /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool DebFile::Process(Item &I, const unsigned char *data, - unsigned long size, unsigned long pos) -{ - switch (Which) - { - case IsControl: - memcpy(Control + pos, data, size); - break; - case IsConfig: - memcpy(Config + pos, data, size); - break; - case IsTemplate: - memcpy(Template + pos, data, size); - break; - default: /* throw it away */ ; - } - return true; -} - /*}}}*/ -// DebFile::ParseInfo - Parse control file for dependency info /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool DebFile::ParseInfo() -{ - if (Control == NULL) return false; - - pkgTagSection Section; - Section.Scan(Control, ControlLen); - - Package = Section.FindS("Package"); - Version = GetInstalledVer(Package); - - const char *Start, *Stop; - if (Section.Find("Depends", Start, Stop) == true) - { - while (1) - { - string P, V; - unsigned int Op; - Start = debListParser::ParseDepends(Start, Stop, P, V, Op); - if (Start == 0) return false; - if (P == "debconf") - { - DepVer = V; - DepOp = Op; - break; - } - if (Start == Stop) break; - } - } - - if (Section.Find("Pre-Depends", Start, Stop) == true) - { - while (1) - { - string P, V; - unsigned int Op; - Start = debListParser::ParseDepends(Start, Stop, P, V, Op); - if (Start == 0) return false; - if (P == "debconf") - { - PreDepVer = V; - PreDepOp = Op; - break; - } - if (Start == Stop) break; - } - } - - return true; -} - /*}}}*/ -// ShowHelp - show a short help text /*{{{*/ -// --------------------------------------------------------------------- -/* */ -int ShowHelp(void) -{ - ioprintf(cout,_("%s %s for %s %s compiled on %s %s\n"),PACKAGE,VERSION, - COMMON_OS,COMMON_CPU,__DATE__,__TIME__); - - if (_config->FindB("version") == true) - return 0; - - cout << - _("Usage: apt-extracttemplates file1 [file2 ...]\n" - "\n" - "apt-extracttemplates is a tool to extract config and template info\n" - "from debian packages\n" - "\n" - "Options:\n" - " -h This help text\n" - " -t Set the temp dir\n" - " -c=? Read this configuration file\n" - " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n"); - return 0; -} - /*}}}*/ -// WriteFile - write the contents of the passed string to a file /*{{{*/ -// --------------------------------------------------------------------- -/* */ -string WriteFile(const char *package, const char *prefix, const char *data) -{ - char fn[512]; - static int i; - snprintf(fn, sizeof(fn), "%s/%s.%s.%u%d", _config->Find("APT::ExtractTemplates::TempDir", TMPDIR).c_str(), package, prefix, getpid(), i++); - FileFd f; - if (data == NULL) - data = ""; - - if (!f.Open(fn, FileFd::WriteTemp, 0600)) - { - _error->Errno("ofstream::ofstream",_("Unable to write to %s"),fn); - return string(); - } - - f.Write(data, strlen(data)); - f.Close(); - return fn; -} - /*}}}*/ -// WriteConfig - write out the config data from a debian package file /*{{{*/ -// --------------------------------------------------------------------- -/* */ -void WriteConfig(const DebFile &file) -{ - string templatefile = WriteFile(file.Package.c_str(), "template", file.Template); - string configscript = WriteFile(file.Package.c_str(), "config", file.Config); - - if (templatefile.empty() == true || configscript.empty() == true) - return; - cout << file.Package << " " << file.Version << " " - << templatefile << " " << configscript << endl; -} - /*}}}*/ -// InitCache - initialize the package cache /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool Go(CommandLine &CmdL) -{ - // Initialize the apt cache - MMap *Map = 0; - pkgSourceList List; - List.ReadMainList(); - OpProgress Prog; - pkgMakeStatusCache(List,Prog,&Map,true); - if (Map == 0) - return false; - DebFile::Cache = new pkgCache(Map); - if (_error->PendingError() == true) - return false; - - // Find out what version of debconf is currently installed - string debconfver = DebFile::GetInstalledVer("debconf"); - if (debconfver.empty() == true) - return _error->Error( _("Cannot get debconf version. Is debconf installed?")); - - // Process each package passsed in - for (unsigned int I = 0; I != CmdL.FileSize(); I++) - { - // Will pick up the errors later.. - DebFile file(CmdL.FileList[I]); - if (file.Go() == false) - { - _error->Error("Prior errors apply to %s",CmdL.FileList[I]); - continue; - } - - // Does the package have templates? - if (file.Template != 0 && file.ParseInfo() == true) - { - // Check to make sure debconf dependencies are - // satisfied - // cout << "Check " << file.DepVer << ',' << debconfver << endl; - if (file.DepVer != "" && - DebFile::Cache->VS->CheckDep(debconfver.c_str(), - file.DepOp,file.DepVer.c_str() - ) == false) - continue; - if (file.PreDepVer != "" && - DebFile::Cache->VS->CheckDep(debconfver.c_str(), - file.PreDepOp,file.PreDepVer.c_str() - ) == false) - continue; - - WriteConfig(file); - } - } - - - delete Map; - delete DebFile::Cache; - - return !_error->PendingError(); -} - /*}}}*/ - -int main(int argc, const char **argv) -{ - CommandLine::Args Args[] = { - {'h',"help","help",0}, - {'v',"version","version",0}, - {'t',"tempdir","APT::ExtractTemplates::TempDir",CommandLine::HasArg}, - {'c',"config-file",0,CommandLine::ConfigFile}, - {'o',"option",0,CommandLine::ArbItem}, - {0,0,0,0}}; - - // Set up gettext support - setlocale(LC_ALL,""); - textdomain(PACKAGE); - - // Parse the command line and initialize the package library - CommandLine CmdL(Args,_config); - if (pkgInitConfig(*_config) == false || - CmdL.Parse(argc,argv) == false || - pkgInitSystem(*_config,_system) == false) - { - _error->DumpErrors(); - return 100; - } - - // See if the help should be shown - if (_config->FindB("help") == true || - CmdL.FileSize() == 0) - return ShowHelp(); - - Go(CmdL); - - // Print any errors or warnings found during operation - if (_error->empty() == false) - { - // This goes to stderr.. - bool Errors = _error->PendingError(); - _error->DumpErrors(); - return Errors == true?100:0; - } - - return 0; -} diff --git a/apt/cmdline/apt-extracttemplates.h b/apt/cmdline/apt-extracttemplates.h deleted file mode 100644 index 0167593..0000000 --- a/apt/cmdline/apt-extracttemplates.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: apt-extracttemplates.h,v 1.1 2002/07/23 17:54:51 niemeyer Exp $ -/* ###################################################################### - - apt-extracttemplate - tool to extract template and config data - - ##################################################################### */ - /*}}}*/ -#ifndef _APTEXTRACTTEMPLATE_H_ -#define _APTEXTRACTTEMPLATE_H_ - -#include -#include -#include - -class DebFile : public pkgDirStream -{ - FileFd File; - unsigned long Size; - char *Control; - unsigned long ControlLen; - -public: - DebFile(const char *FileName); - ~DebFile(); - bool DoItem(Item &I, int &fd); - bool Process(pkgDirStream::Item &I, const unsigned char *data, - unsigned long size, unsigned long pos); - - bool Go(); - bool ParseInfo(); - - static string GetInstalledVer(const string &package); - - string Package; - string Version; - string DepVer, PreDepVer; - unsigned int DepOp, PreDepOp; - - char *Config; - char *Template; - - static pkgCache *Cache; - enum { None, IsControl, IsConfig, IsTemplate } Which; -}; - -#endif diff --git a/apt/cmdline/apt-get.cc b/apt/cmdline/apt-get.cc index 2140c29..8a0de31 100644 --- a/apt/cmdline/apt-get.cc +++ b/apt/cmdline/apt-get.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-get.cc,v 1.126 2003/02/12 16:14:08 doogie Exp $ +// $Id: apt-get.cc,v 1.144 2003/10/29 17:56:31 mdz Exp $ /* ###################################################################### apt-get - Cover for dpkg @@ -48,6 +48,7 @@ // CNC:2003-02-14 - apti18n.h includes libintl.h which includes locale.h, // as reported by Radu Greab. //#include +#include #include #include #include @@ -59,6 +60,10 @@ #include #include #include + +// CNC:2003-03-18 +#include + /*}}}*/ using namespace std; @@ -109,31 +114,74 @@ class CacheFile : public pkgCacheFile }; /*}}}*/ +// CNC:2003-03-19 +#ifdef WITH_LUA +class AptGetLuaCache : public LuaCacheControl +{ + public: + + CacheFile *Cache; + + virtual pkgDepCache *Open(bool Write) + { + if (Cache == NULL) { + Cache = new CacheFile(); + if (Cache->Open(Write) == false) + return NULL; + if (Cache->CheckDeps() == false) + return NULL; + } + return *Cache; + } + + virtual void Close() + { + if (Cache) { + delete Cache; + Cache = NULL; + } + }; + + AptGetLuaCache() : Cache(0) {}; +}; +#endif + // YnPrompt - Yes No Prompt. /*{{{*/ // --------------------------------------------------------------------- /* Returns true on a Yes.*/ bool YnPrompt() { - // This needs to be a capital - const char *Yes = _("Y"); - if (_config->FindB("APT::Get::Assume-Yes",false) == true) { - c1out << Yes << endl; + c1out << _("Y") << endl; return true; } - - char C = 0; - char Jnk = 0; - if (read(STDIN_FILENO,&C,1) != 1) + + char response[1024] = ""; + cin.getline(response, sizeof(response)); + + if (!cin) return false; - while (C != '\n' && Jnk != '\n') - if (read(STDIN_FILENO,&Jnk,1) != 1) - return false; + + if (strlen(response) == 0) + return true; + + regex_t Pattern; + int Res; + + Res = regcomp(&Pattern, nl_langinfo(YESEXPR), + REG_EXTENDED|REG_ICASE|REG_NOSUB); + + if (Res != 0) { + char Error[300]; + regerror(Res,&Pattern,Error,sizeof(Error)); + return _error->Error(_("Regex compilation error - %s"),Error); + } - if (!(toupper(C) == *Yes || C == '\n' || C == '\r')) - return false; - return true; + Res = regexec(&Pattern, response, 0, NULL, 0); + if (Res == 0) + return true; + return false; } /*}}}*/ // AnalPrompt - Annoying Yes No Prompt. /*{{{*/ @@ -152,7 +200,7 @@ bool AnalPrompt(const char *Text) // --------------------------------------------------------------------- /* This prints out a string of space separated words with a title and a two space indent line wraped to the current screen width. */ -bool ShowList(ostream &out,string Title,string List) +bool ShowList(ostream &out,string Title,string List,string VersionsList) { if (List.empty() == true) return true; @@ -170,19 +218,41 @@ bool ShowList(ostream &out,string Title,string List) out << Title << endl; string::size_type Start = 0; + string::size_type VersionsStart = 0; while (Start < List.size()) { - string::size_type End; - if (Start + ScreenWidth >= List.size()) - End = List.size(); - else - End = List.rfind(' ',Start+ScreenWidth); + if(_config->FindB("APT::Get::Show-Versions",false) == true && + VersionsList.size() > 0) { + string::size_type End; + string::size_type VersionsEnd; + + End = List.find(' ',Start); + VersionsEnd = VersionsList.find('\n', VersionsStart); - if (End == string::npos || End < Start) - End = Start + ScreenWidth; - out << " " << string(List,Start,End - Start) << endl; - Start = End + 1; + out << " " << string(List,Start,End - Start) << " (" << + string(VersionsList,VersionsStart,VersionsEnd - VersionsStart) << + ")" << endl; + + if (End == string::npos || End < Start) + End = Start + ScreenWidth; + + Start = End + 1; + VersionsStart = VersionsEnd + 1; + } else { + string::size_type End; + + if (Start + ScreenWidth >= List.size()) + End = List.size(); + else + End = List.rfind(' ',Start+ScreenWidth); + + if (End == string::npos || End < Start) + End = Start + ScreenWidth; + out << " " << string(List,Start,End - Start) << endl; + Start = End + 1; + } } + return false; } /*}}}*/ @@ -333,17 +403,20 @@ void ShowBroken(ostream &out,CacheFile &Cache,bool Now) /* */ void ShowNew(ostream &out,CacheFile &Cache) { - /* Print out a list of packages that are going to be removed extra + /* Print out a list of packages that are going to be installed extra to what the user asked */ string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); - if (Cache[I].NewInstall() == true) - List += string(I.Name()) + " "; + if (Cache[I].NewInstall() == true) { + List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CandVersion) + "\n"; + } } - ShowList(out,_("The following NEW packages will be installed:"),List); + ShowList(out,_("The following NEW packages will be installed:"),List,VersionsList); } /*}}}*/ // ShowDel - Show packages to delete /*{{{*/ @@ -354,6 +427,7 @@ void ShowDel(ostream &out,CacheFile &Cache) /* Print out a list of packages that are going to be removed extra to what the user asked */ string List, RepList; // CNC:2002-07-25 + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -387,12 +461,14 @@ void ShowDel(ostream &out,CacheFile &Cache) else List += string(I.Name()) + " "; } + + VersionsList += string(Cache[I].CandVersion)+ "\n"; } } // CNC:2002-07-25 - ShowList(out,_("The following packages will be REPLACED:"),RepList); - ShowList(out,_("The following packages will be REMOVED:"),List); + ShowList(out,_("The following packages will be REPLACED:"),RepList,VersionsList); + ShowList(out,_("The following packages will be REMOVED:"),List,VersionsList); } /*}}}*/ // ShowKept - Show kept packages /*{{{*/ @@ -401,6 +477,7 @@ void ShowDel(ostream &out,CacheFile &Cache) void ShowKept(ostream &out,CacheFile &Cache) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -411,8 +488,9 @@ void ShowKept(ostream &out,CacheFile &Cache) continue; List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; } - ShowList(out,_("The following packages have been kept back"),List); + ShowList(out,_("The following packages have been kept back"),List,VersionsList); } /*}}}*/ // ShowUpgraded - Show upgraded packages /*{{{*/ @@ -421,6 +499,7 @@ void ShowKept(ostream &out,CacheFile &Cache) void ShowUpgraded(ostream &out,CacheFile &Cache) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -430,8 +509,9 @@ void ShowUpgraded(ostream &out,CacheFile &Cache) continue; List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; } - ShowList(out,_("The following packages will be upgraded"),List); + ShowList(out,_("The following packages will be upgraded"),List,VersionsList); } /*}}}*/ // ShowDowngraded - Show downgraded packages /*{{{*/ @@ -440,6 +520,7 @@ void ShowUpgraded(ostream &out,CacheFile &Cache) bool ShowDowngraded(ostream &out,CacheFile &Cache) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -449,8 +530,9 @@ bool ShowDowngraded(ostream &out,CacheFile &Cache) continue; List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; } - return ShowList(out,_("The following packages will be DOWNGRADED"),List); + return ShowList(out,_("The following packages will be DOWNGRADED"),List,VersionsList); } /*}}}*/ // ShowHold - Show held but changed packages /*{{{*/ @@ -459,15 +541,18 @@ bool ShowDowngraded(ostream &out,CacheFile &Cache) bool ShowHold(ostream &out,CacheFile &Cache) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); if (Cache[I].InstallVer != (pkgCache::Version *)I.CurrentVer() && - I->SelectedState == pkgCache::State::Hold) - List += string(I.Name()) + " "; + I->SelectedState == pkgCache::State::Hold) { + List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; + } } - return ShowList(out,_("The following held packages will be changed:"),List); + return ShowList(out,_("The following held packages will be changed:"),List,VersionsList); } /*}}}*/ // ShowEssential - Show an essential package warning /*{{{*/ @@ -478,6 +563,7 @@ bool ShowHold(ostream &out,CacheFile &Cache) bool ShowEssential(ostream &out,CacheFile &Cache) { string List; + string VersionsList; bool *Added = new bool[Cache->Head().PackageCount]; for (unsigned int I = 0; I != Cache->Head().PackageCount; I++) Added[I] = false; @@ -494,8 +580,26 @@ bool ShowEssential(ostream &out,CacheFile &Cache) { if (Added[I->ID] == false) { - Added[I->ID] = true; - List += string(I.Name()) + " "; + // CNC:2003-03-21 - Do not consider a problem if that package is being obsoleted + // by something else. + bool Obsoleted = false; + for (pkgCache::DepIterator D = I.RevDependsList(); D.end() == false; D++) + { + if (D->Type == pkgCache::Dep::Obsoletes && + Cache[D.ParentPkg()].Install() && + ((pkgCache::Version*)D.ParentVer() == Cache[D.ParentPkg()].InstallVer || + (pkgCache::Version*)D.ParentVer() == ((pkgCache::Version*)D.ParentPkg().CurrentVer())) && + Cache->VS().CheckDep(I.CurrentVer().VerStr(), D) == true) + { + Obsoleted = true; + break; + } + } + if (Obsoleted == false) { + Added[I->ID] = true; + List += string(I.Name()) + " "; + } + //VersionsList += string(Cache[I].CurVersion) + "\n"; ??? } } @@ -515,18 +619,38 @@ bool ShowEssential(ostream &out,CacheFile &Cache) { if (Added[P->ID] == true) continue; + + // CNC:2003-03-21 - Do not consider a problem if that package is being obsoleted + // by something else. + bool Obsoleted = false; + for (pkgCache::DepIterator D = P.RevDependsList(); D.end() == false; D++) + { + if (D->Type == pkgCache::Dep::Obsoletes && + Cache[D.ParentPkg()].Install() && + ((pkgCache::Version*)D.ParentVer() == Cache[D.ParentPkg()].InstallVer || + (pkgCache::Version*)D.ParentVer() == ((pkgCache::Version*)D.ParentPkg().CurrentVer())) && + Cache->VS().CheckDep(P.CurrentVer().VerStr(), D) == true) + { + Obsoleted = true; + break; + } + } + if (Obsoleted == true) + continue; + Added[P->ID] = true; char S[300]; snprintf(S,sizeof(S),_("%s (due to %s) "),P.Name(),I.Name()); List += S; + //VersionsList += "\n"; ??? } } } delete [] Added; return ShowList(out,_("WARNING: The following essential packages will be removed\n" - "This should NOT be done unless you know exactly what you are doing!"),List); + "This should NOT be done unless you know exactly what you are doing!"),List,VersionsList); } /*}}}*/ // Stats - Show some statistics /*{{{*/ @@ -579,7 +703,7 @@ void Stats(ostream &out,pkgDepCache &Dep) ReInstall++; } - ioprintf(out,_("%lu packages upgraded, %lu newly installed, "), + ioprintf(out,_("%lu upgraded, %lu newly installed, "), Upgrade,Install); if (ReInstall != 0) @@ -595,7 +719,7 @@ void Stats(ostream &out,pkgDepCache &Dep) Remove,Dep.KeepCount()); if (Dep.BadCount() != 0) - ioprintf(out,_("%lu packages not fully installed or removed.\n"), + ioprintf(out,_("%lu not fully installed or removed.\n"), Dep.BadCount()); } /*}}}*/ @@ -665,9 +789,12 @@ bool CacheFile::CheckDeps(bool AllowBroken) if (_error->PendingError() == true) return false; +// CNC:2003-03-19 - Might be changed by some extension. +#if 0 // Check that the system is OK if (DCache->DelCount() != 0 || DCache->InstCount() != 0) return _error->Error("Internal Error, non-zero counts"); +#endif // Apply corrections for half-installed packages if (pkgApplyStatus(*DCache) == false) @@ -730,7 +857,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, // Show all the various warning indicators // CNC:2002-03-06 - Change Show-Upgraded default to true, and move upwards. - if (_config->FindB("apt::get::show-upgraded",true) == true) + if (_config->FindB("APT::Get::Show-Upgraded",true) == true) ShowUpgraded(c1out,Cache); ShowDel(c1out,Cache); ShowNew(c1out,Cache); @@ -738,7 +865,8 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, ShowKept(c1out,Cache); Fail |= !ShowHold(c1out,Cache); Fail |= !ShowDowngraded(c1out,Cache); - Essential = !ShowEssential(c1out,Cache); + if (_config->FindB("APT::Get::Download-Only",false) == false) + Essential = !ShowEssential(c1out,Cache); Fail |= Essential; Stats(c1out,Cache); @@ -1032,6 +1160,44 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, } } /*}}}*/ +// CNC:2003-12-02 +// DownloadPackages - Fetch packages /*{{{*/ +// --------------------------------------------------------------------- +/* Fetch packages */ +bool DownloadPackages(vector &URLLst) +{ + + // Create the download object + AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0)); + pkgAcquire Fetcher(&Stat); + + // Load the requestd sources into the fetcher + vector::const_iterator I = URLLst.begin(); + for (; I != URLLst.end(); I++) + new pkgAcqFile(&Fetcher,*I,"",0,*I,flNotDir(*I)); + + // Run it + if (Fetcher.Run() == pkgAcquire::Failed) + return false; + + // Print error messages + bool Failed = false; + for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++) + { + if ((*I)->Status == pkgAcquire::Item::StatDone && + (*I)->Complete == true) + continue; + + fprintf(stderr,_("Failed to fetch %s %s\n"),(*I)->DescURI().c_str(), + (*I)->ErrorText.c_str()); + Failed = true; + } + if (Failed == true) + return _error->Error(_("Failed to fetch some archives.")); + + return true; +} + /*}}}*/ // TryToInstall - Try to install a single package /*{{{*/ // --------------------------------------------------------------------- /* This used to be inlined in DoInstall, but with the advent of regex package @@ -1046,8 +1212,42 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, Pkg.ProvidesList()->NextProvides == 0) { pkgCache::PkgIterator Tmp = Pkg.ProvidesList().OwnerPkg(); - ioprintf(c1out,_("Note, selecting %s instead of %s\n"), + // CNC:2003-11-21 - Check if the current candidate is really + // providing that dependency + ioprintf(c1out,_("Selecting %s for '%s'\n"), Tmp.Name(),Pkg.Name()); + pkgCache::VerIterator Ver = Cache[Tmp].CandidateVerIter(Cache); + pkgCache::PrvIterator Prv = Ver.ProvidesList(); + bool Found = false; + for (; Prv.end() == false; Prv++) { + if (strcmp(Prv.Name(), Pkg.Name()) == 0) { + Found = true; + break; + } + } + if (Found == false) { + // The current candidate doesn't provide the needed dependency. + // Look for one that does. + Ver = Tmp.VersionList(); + for (; Ver.end() == false; Ver++) { + Prv = Ver.ProvidesList(); + Found = false; + for (; Prv.end() == false; Prv++) { + if (strcmp(Prv.Name(), Pkg.Name()) == 0) { + Found = true; + break; + } + } + if (Found) { + Cache.SetCandidateVersion(Ver); + break; + } + } + if (Found == false) { + ioprintf(c1out,_("Internal error. Package %s doesn't provide %s\n"),Tmp.Name(),Pkg.Name()); + return false; + } + } Pkg = Tmp; } @@ -1113,6 +1313,7 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, "of sources.list\n"),Pkg.Name()); string List; + string VersionsList; SPtrArray Seen = new bool[Cache.Head().PackageCount]; memset(Seen,0,Cache.Head().PackageCount*sizeof(*Seen)); pkgCache::DepIterator Dep = Pkg.RevDependsList(); @@ -1126,8 +1327,9 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, continue; Seen[Dep.ParentPkg()->ID] = true; List += string(Dep.ParentPkg().Name()) + " "; + //VersionsList += string(Dep.ParentPkg().CurVersion) + "\n"; ??? } - ShowList(c1out,_("However the following packages replace it:"),List); + ShowList(c1out,_("However the following packages replace it:"),List,VersionsList); } _error->Error(_("Package %s has no installation candidate"),Pkg.Name()); @@ -1174,30 +1376,56 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, // TryToChangeVer - Try to change a candidate version /*{{{*/ // --------------------------------------------------------------------- /* */ -bool TryToChangeVer(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, - const char *VerTag,bool IsRel) +// CNC:2003-11-05 - Applied patch by ALT-Linux changing the way +// versions are requested by the user. +static const char *op2str(int op) { + switch (op & 0x0f) + { + case pkgCache::Dep::LessEq: return "<="; + case pkgCache::Dep::GreaterEq: return ">="; + case pkgCache::Dep::Less: return "<"; + case pkgCache::Dep::Greater: return ">"; + case pkgCache::Dep::Equals: return "="; + case pkgCache::Dep::NotEquals: return "!"; + default: return ""; + } +} + +// CNC:2003-11-11 +bool TryToChangeVer(pkgCache::PkgIterator &Pkg,pkgDepCache &Cache, + int VerOp,const char *VerTag,bool IsRel) +{ + // CNC:2003-11-05 pkgVersionMatch Match(VerTag,(IsRel == true?pkgVersionMatch::Release : - pkgVersionMatch::Version)); + pkgVersionMatch::Version),VerOp); pkgCache::VerIterator Ver = Match.Find(Pkg); if (Ver.end() == true) { + // CNC:2003-11-05 if (IsRel == true) - return _error->Error(_("Release '%s' for '%s' was not found"), - VerTag,Pkg.Name()); - return _error->Error(_("Version '%s' for '%s' was not found"), - VerTag,Pkg.Name()); + return _error->Error(_("Release %s'%s' for '%s' was not found"), + op2str(VerOp),VerTag,Pkg.Name()); + return _error->Error(_("Version %s'%s' for '%s' was not found"), + op2str(VerOp),VerTag,Pkg.Name()); } if (strcmp(VerTag,Ver.VerStr()) != 0) { - ioprintf(c1out,_("Selected version %s (%s) for %s\n"), - Ver.VerStr(),Ver.RelStr().c_str(),Pkg.Name()); + // CNC:2003-11-11 + if (IsRel == true) + ioprintf(c1out,_("Selected version %s (%s) for %s\n"), + Ver.VerStr(),Ver.RelStr().c_str(),Pkg.Name()); + else + ioprintf(c1out,_("Selected version %s for %s\n"), + Ver.VerStr(),Pkg.Name()); } Cache.SetCandidateVersion(Ver); + // CNC:2003-11-11 + Pkg = Ver.ParentPkg(); return true; } /*}}}*/ @@ -1302,13 +1530,41 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, /* */ bool DoUpdate(CommandLine &CmdL) { +// CNC:2003-03-27 +#if 0 if (CmdL.FileSize() != 1) return _error->Error(_("The update command takes no arguments")); - + // Get the source list pkgSourceList List; if (List.ReadMainList() == false) return false; +#else + bool Partial = false; + pkgSourceList List; + + if (CmdL.FileSize() != 1) + { + List.ReadVendors(); + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + { + string Repo = _config->FindDir("Dir::Etc::sourceparts") + *I; + if (FileExists(Repo) == false) + Repo += ".list"; + if (FileExists(Repo) == true) + { + if (List.ReadAppend(Repo) == true) + Partial = true; + else + return _error->Error(_("Sources list %s could not be read"),Repo.c_str()); + } + else + return _error->Error(_("Sources list %s doesn't exist"),Repo.c_str()); + } + } + else if (List.ReadMainList() == false) + return false; +#endif // Lock the list directory FileFd Lock; @@ -1319,6 +1575,15 @@ bool DoUpdate(CommandLine &CmdL) return _error->Error(_("Unable to lock the list directory")); } +// CNC:2003-03-19 +#ifdef WITH_LUA + if (_lua->HasScripts("Scripts::AptGet::Update::Pre")) { + _lua->RunScripts("Scripts::AptGet::Update::Pre", false); + LuaCacheControl *LuaCache = _lua->GetCacheControl(); + LuaCache->Close(); + } +#endif + // Create the download object AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0)); pkgAcquire Fetcher(&Stat); @@ -1372,18 +1637,30 @@ bool DoUpdate(CommandLine &CmdL) Failed = true; } - // Clean out any old list files - if (_config->FindB("APT::Get::List-Cleanup",true) == true) + // Clean out any old list files if not in partial update + if (Partial == false && _config->FindB("APT::Get::List-Cleanup",true) == true) { if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false || Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") == false) return false; } +// CNC:2003-03-19 +#if 0 // Prepare the cache. CacheFile Cache; if (Cache.BuildCaches() == false) return false; +#else + // Prepare the cache. + CacheFile Cache; + if (Cache.Open() == false) + return false; + +#ifdef WITH_LUA + _lua->RunScripts("Scripts::AptGet::Update::Post", false); +#endif +#endif if (Failed == true) return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead.")); @@ -1408,6 +1685,13 @@ bool DoUpgrade(CommandLine &CmdL) return _error->Error(_("Internal Error, AllUpgrade broke stuff")); } +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(Cache); + _lua->RunScripts("Scripts::AptGet::Upgrade", false); + _lua->ResetCaches(); +#endif + // CNC:2003-03-06 if (CheckOnly(Cache) == true) return true; @@ -1446,37 +1730,102 @@ bool DoInstall(CommandLine &CmdL) if (Length >= sizeof(S)) continue; strcpy(S,*I); + + // CNC:2003-03-15 + char OrigS[300]; + strcpy(OrigS,S); // See if we are removing and special indicators.. bool Remove = DefRemove; char *VerTag = 0; bool VerIsRel = false; + // CNC:2003-11-05 + int VerOp = 0; while (Cache->FindPkg(S).end() == true) { // Handle an optional end tag indicating what to do - if (S[Length - 1] == '-') + if (Length >= 1 && S[Length - 1] == '-') { Remove = true; S[--Length] = 0; continue; } - if (S[Length - 1] == '+') + if (Length >= 1 && S[Length - 1] == '+') { Remove = false; S[--Length] = 0; continue; } - char *Slash = strchr(S,'='); - if (Slash != 0) + // CNC:2003-11-05 + char *sep = strpbrk(S,"=><"); + if (sep) { + char *p; + int eq = 0, gt = 0, lt = 0; + VerIsRel = false; - *Slash = 0; - VerTag = Slash + 1; + for (p = sep; *p && strchr("=><",*p); ++p) + switch (*p) + { + case '=': eq = 1; break; + case '>': gt = 1; break; + case '<': lt = 1; break; + } + if (eq) + { + if (lt && gt) + return _error->Error(_("Couldn't parse name '%s'"),S); + else if (lt) + VerOp = pkgCache::Dep::LessEq; + else if (gt) + VerOp = pkgCache::Dep::GreaterEq; + else + VerOp = pkgCache::Dep::Equals; + } + else + { + if (lt && gt) + VerOp = pkgCache::Dep::NotEquals; + else if (lt) + VerOp = pkgCache::Dep::Less; + else if (gt) + VerOp = pkgCache::Dep::Greater; + else + return _error->Error(_("Couldn't parse name '%s'"),S); + } + *sep = '\0'; + VerTag = p; } - Slash = strchr(S,'/'); + // CNC:2003-11-21 - Try to handle unknown file items. + if (S[0] == '/') + { + pkgRecords Recs(Cache); + if (_error->PendingError() == true) + return false; + pkgCache::PkgIterator Pkg = (*Cache).PkgBegin(); + for (; Pkg.end() == false; Pkg++) + { + // Should we try on all versions? + pkgCache::VerIterator Ver = (*Cache)[Pkg].CandidateVerIter(*Cache); + if (Ver.end() == false) + { + pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList()); + if (Parse.HasFile(S)) { + strcpy(S, Pkg.Name()); + ioprintf(c1out,_("Selecting %s for '%s'\n"), + Pkg.Name(),OrigS); + // Confirm the translation. + ExpectedInst += 1000; + break; + } + } + } + } + + char *Slash = strchr(S,'/'); if (Slash != 0) { VerIsRel = true; @@ -1498,8 +1847,49 @@ bool DoInstall(CommandLine &CmdL) if (*I == '?' || *I == '*' || *I == '|' || *I == '[' || *I == '^' || *I == '$') break; - if (*I == 0) + + // CNC:2003-05-15 + if (*I == 0) { +#ifdef WITH_LUA + vector VS; + _lua->SetDepCache(Cache); + _lua->SetDontFix(); + _lua->SetGlobal("argument", OrigS); + _lua->SetGlobal("translated", VS); + _lua->RunScripts("Scripts::AptGet::Install::TranslateArg", false); + const char *name = _lua->GetGlobal("translated"); + if (name != NULL) { + VS.push_back(name); + } else { + _lua->GetGlobalVS("translated", VS); + } + _lua->ResetGlobals(); + _lua->ResetCaches(); + + // Translations must always be confirmed + ExpectedInst += 1000; + + // Run over the matches + bool Hit = false; + for (vector::const_iterator I = VS.begin(); + I != VS.end(); I++) { + + Pkg = Cache->FindPkg(*I); + if (Pkg.end() == true) + continue; + + ioprintf(c1out,_("Selecting %s for '%s'\n"), + Pkg.Name(),OrigS); + + Hit |= TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix, + ExpectedInst,true); + } + + if (Hit == true) + continue; +#endif return _error->Error(_("Couldn't find package %s"),S); + } // Regexs must always be confirmed ExpectedInst += 1000; @@ -1522,11 +1912,13 @@ bool DoInstall(CommandLine &CmdL) if (regexec(&Pattern,Pkg.Name(),0,0,0) != 0) continue; - ioprintf(c1out,_("Note, selecting %s for regex '%s'\n"), + // CNC:2003-11-23 + ioprintf(c1out,_("Selecting %s for '%s'\n"), Pkg.Name(),S); if (VerTag != 0) - if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) + // CNC:2003-11-05 + if (TryToChangeVer(Pkg,Cache,VerOp,VerTag,VerIsRel) == false) return false; Hit |= TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix, @@ -1540,13 +1932,22 @@ bool DoInstall(CommandLine &CmdL) else { if (VerTag != 0) - if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) + // CNC:2003-11-05 + if (TryToChangeVer(Pkg,Cache,VerOp,VerTag,VerIsRel) == false) return false; if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false) return false; } } +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(Cache); + _lua->SetDontFix(); + _lua->RunScripts("Scripts::AptGet::Install::PreResolve", false); + _lua->ResetCaches(); +#endif + // CNC:2002-08-01 if (_config->FindB("APT::Remove-Depends",false) == true) Fix.RemoveDepends(); @@ -1567,6 +1968,16 @@ bool DoInstall(CommandLine &CmdL) if (Fix.Resolve(true) == false) _error->Discard(); +// CNC:2003-03-19 +#ifdef WITH_LUA + if (Cache->BrokenCount() == 0) { + _lua->SetDepCache(Cache); + _lua->SetProblemResolver(&Fix); + _lua->RunScripts("Scripts::AptGet::Install::PostResolve", false); + _lua->ResetCaches(); + } +#endif + // Now we check the state of the packages, if (Cache->BrokenCount() != 0) { @@ -1595,6 +2006,7 @@ bool DoInstall(CommandLine &CmdL) if (Cache->InstCount() != ExpectedInst) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -1606,11 +2018,95 @@ bool DoInstall(CommandLine &CmdL) if (strcmp(*J,I.Name()) == 0) break; - if (*J == 0) + if (*J == 0) { List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CandVersion) + "\n"; + } } - ShowList(c1out,_("The following extra packages will be installed:"),List); + ShowList(c1out,_("The following extra packages will be installed:"),List,VersionsList); + } + + /* Print out a list of suggested and recommended packages */ + { + string SuggestsList, RecommendsList, List; + string SuggestsVersions, RecommendsVersions; + for (unsigned J = 0; J < Cache->Head().PackageCount; J++) + { + pkgCache::PkgIterator I(Cache,Cache.List[J]); + + /* Just look at the ones we want to install */ + if ((*Cache)[I].Install() == false) + continue; + + for (pkgCache::VerIterator V = I.VersionList(); V.end() == false; V++) + { + for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; D++) + { + pkgCache::DepIterator Start; + pkgCache::DepIterator End; + D.GlobOr(Start,End); + + /* + * If this is a virtual package, we need to check the list of + * packages that provide it and see if any of those are + * installed + */ + pkgCache::PrvIterator Prv = Start.TargetPkg().ProvidesList(); + bool providedBySomething = false; + for (; Prv.end() != true; Prv++) + if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false) { + providedBySomething = true; + break; + } + + if (providedBySomething) continue; + + do + { + if (Start->Type == pkgCache::Dep::Suggests) { + + /* A suggests relations, let's see if we have it + installed already */ + + string target = string(Start.TargetPkg().Name()) + " "; + if ((*Start.TargetPkg()).SelectedState == pkgCache::State::Install || Cache[Start.TargetPkg()].Install()) + break; + /* Does another package suggest it as well? If so, + don't print it twice */ + if (int(SuggestsList.find(target)) > -1) + break; + SuggestsList += target; + SuggestsVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n"; + } + + if (Start->Type == pkgCache::Dep::Recommends) { + + /* A recommends relation, let's see if we have it + installed already */ + + string target = string(Start.TargetPkg().Name()) + " "; + if ((*Start.TargetPkg()).SelectedState == pkgCache::State::Install || Cache[Start.TargetPkg()].Install()) + break; + + /* Does another package recommend it as well? If so, + don't print it twice */ + + if (int(RecommendsList.find(target)) > -1) + break; + RecommendsList += target; + SuggestsVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n"; + } + if (Start == End) + break; + Start++; + } while (1); + } + } + } + ShowList(c1out,_("Suggested packages:"),SuggestsList,SuggestsVersions); + ShowList(c1out,_("Recommended packages:"),RecommendsList,RecommendsVersions); + } // CNC:2003-03-06 @@ -1640,6 +2136,13 @@ bool DoDistUpgrade(CommandLine &CmdL) ShowBroken(c1out,Cache,false); return false; } + +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(Cache); + _lua->RunScripts("Scripts::AptGet::DistUpgrade", false); + _lua->ResetCaches(); +#endif // CNC:2003-03-06 if (CheckOnly(Cache) == true) @@ -2106,7 +2609,7 @@ bool DoBuildDep(CommandLine &CmdL) rec.Package = Opts->Value; rec.Type = pkgSrcRecords::Parser::BuildDependIndep; rec.Op = 0; - BuildDeps.insert(BuildDeps.begin(), rec); + BuildDeps.push_back(rec); } if (BuildDeps.size() == 0) @@ -2119,8 +2622,18 @@ bool DoBuildDep(CommandLine &CmdL) unsigned int ExpectedInst = 0; vector ::iterator D; pkgProblemResolver Fix(Cache); + bool skipAlternatives = false; // skip remaining alternatives in an or group for (D = BuildDeps.begin(); D != BuildDeps.end(); D++) { + bool hasAlternatives = (((*D).Op & pkgCache::Dep::Or) == pkgCache::Dep::Or); + + if (skipAlternatives == true) + { + if (!hasAlternatives) + skipAlternatives = false; // end of or group + continue; + } + if ((*D).Type == pkgSrcRecords::Parser::BuildConflict || (*D).Type == pkgSrcRecords::Parser::BuildConflictIndep) { @@ -2141,17 +2654,41 @@ bool DoBuildDep(CommandLine &CmdL) } else // BuildDep || BuildDepIndep { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << "Looking for " << (*D).Package << "...\n"; + pkgCache::PkgIterator Pkg = Cache->FindPkg((*D).Package); + + // CNC:2003-11-21 - Try to handle unknown file deps. + if (Pkg.end() == true && (*D).Package[0] == '/') + { + const char *File = (*D).Package.c_str(); + Pkg = (*Cache).PkgBegin(); + for (; Pkg.end() == false; Pkg++) + { + // Should we try on all versions? + pkgCache::VerIterator Ver = (*Cache)[Pkg].CandidateVerIter(*Cache); + if (Ver.end() == false) + { + pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList()); + if (Parse.HasFile(File)) + break; + } + } + } + if (Pkg.end() == true) { - // Check if there are any alternatives - if (((*D).Op & pkgCache::Dep::Or) != pkgCache::Dep::Or) - return _error->Error(_("%s dependency for %s cannot be satisfied " - "because the package %s cannot be found"), - Last->BuildDepType((*D).Type),Src.c_str(), - (*D).Package.c_str()); - // Try the next alternative - continue; + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " (not found)" << (*D).Package << endl; + + if (hasAlternatives) + continue; + + return _error->Error(_("%s dependency for %s cannot be satisfied " + "because the package %s cannot be found"), + Last->BuildDepType((*D).Type),Src.c_str(), + (*D).Package.c_str()); } /* @@ -2164,9 +2701,6 @@ bool DoBuildDep(CommandLine &CmdL) * this would require we do a Resolve cycle for each package we * add to the install list. Ugh */ - while (D != BuildDeps.end() && - (((*D).Op & pkgCache::Dep::Or) == pkgCache::Dep::Or)) - D++; /* * If this is a virtual package, we need to check the list of @@ -2175,37 +2709,99 @@ bool DoBuildDep(CommandLine &CmdL) */ pkgCache::PrvIterator Prv = Pkg.ProvidesList(); for (; Prv.end() != true; Prv++) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Checking provider " << Prv.OwnerPkg().Name() << endl; + if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false) break; + } // Get installed version and version we are going to install pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache); - pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); - for (; CV.end() != true; CV++) - { - if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) - break; + if ((*D).Version[0] != '\0') { + // Versioned dependency + + pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); + + for (; CV.end() != true; CV++) + { + if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) + break; + } + if (CV.end() == true) + if (hasAlternatives) + { + continue; + } + else + { + return _error->Error(_("%s dependency for %s cannot be satisfied " + "because no available versions of package %s " + "can satisfy version requirements"), + Last->BuildDepType((*D).Type),Src.c_str(), + (*D).Package.c_str()); + } + } + else + { + // Only consider virtual packages if there is no versioned dependency + if (Prv.end() == false) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Is provided by installed package " << Prv.OwnerPkg().Name() << endl; + skipAlternatives = hasAlternatives; + continue; + } } - if (CV.end() == true) - return _error->Error(_("%s dependency for %s cannot be satisfied " - "because no available versions of package %s " - "can satisfy version requirements"), - Last->BuildDepType((*D).Type),Src.c_str(), - (*D).Package.c_str()); - /* - * TODO: if we depend on a version lower than what we already have - * installed it is not clear what should be done; in practice - * this case should be rare, and right now nothing is - * done about it :-( - */ - if (Prv.end() == true && // Nothing provides it; and - (IV.end() == true || // It is not installed, or - Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == false)) - // the version installed doesn't - // satisfy constraints - TryToInstall(Pkg,Cache,Fix,false,false,ExpectedInst); + if (IV.end() == false) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Is installed\n"; + + if (Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) + { + skipAlternatives = hasAlternatives; + continue; + } + + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " ...but the installed version doesn't meet the version requirement\n"; + + if (((*D).Op & pkgCache::Dep::LessEq) == pkgCache::Dep::LessEq) + { + return _error->Error(_("Failed to satisfy %s dependency for %s: Installed package %s is too new"), + Last->BuildDepType((*D).Type), + Src.c_str(), + Pkg.Name()); + } + } + + + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Trying to install " << (*D).Package << endl; + + if (TryToInstall(Pkg,Cache,Fix,false,false,ExpectedInst) == true) + { + // We successfully installed something; skip remaining alternatives + skipAlternatives = hasAlternatives; + continue; + } + else if (hasAlternatives) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Unsatisfiable, trying alternatives\n"; + continue; + } + else + { + return _error->Error(_("Failed to satisfy %s dependency for %s: %s"), + Last->BuildDepType((*D).Type), + Src.c_str(), + (*D).Package.c_str()); + } } } @@ -2215,8 +2811,8 @@ bool DoBuildDep(CommandLine &CmdL) // Now we check the state of the packages, if (Cache->BrokenCount() != 0) - return _error->Error(_("Some broken packages were found while trying to process build-dependencies.\n" - "You might want to run `apt-get -f install' to correct these.")); + return _error->Error(_("Some broken packages were found while trying to process build-dependencies for %s.\n" + "You might want to run `apt-get -f install' to correct these."),*I); } if (InstallPackages(Cache, false, true) == false) @@ -2247,6 +2843,36 @@ bool DoMoo(CommandLine &CmdL) return true; } /*}}}*/ + +// CNC:2003-03-18 +// DoScript - Scripting stuff. /*{{{*/ +// --------------------------------------------------------------------- +/* */ +#ifdef WITH_LUA +bool DoScript(CommandLine &CmdL) +{ + for (const char **I = CmdL.FileList+1; *I != 0; I++) + _config->Set("Scripts::AptGet::Script::", *I); + + _lua->SetGlobal("commit_ask", 1); + _lua->RunScripts("Scripts::AptGet::Script", false); + double Ask = _lua->GetGlobalI("commit_ask"); + _lua->ResetGlobals(); + + AptGetLuaCache *LuaCache = (AptGetLuaCache*) _lua->GetCacheControl(); + if (LuaCache && LuaCache->Cache) { + CacheFile &Cache = *LuaCache->Cache; + if (CheckOnly(Cache)) + return true; + if ((*Cache).InstCount() > 0 || (*Cache).DelCount() > 0) + return InstallPackages(Cache, false, Ask); + } + + return true; +} +#endif + /*}}}*/ + // ShowHelp - Show a help screen /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -2334,6 +2960,7 @@ bool ShowHelp(CommandLine &CmdL) " -b Build the source package after fetching it\n" // CNC:2002-08-02 " -D When removing packages, remove dependencies as possible\n" + " -V Show verbose version numbers\n" " -c=? Read this configuration file\n" " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" "See the apt-get(8), sources.list(5) and apt.conf(5) manual\n" @@ -2377,6 +3004,7 @@ int main(int argc,const char *argv[]) CommandLine::Args Args[] = { {'h',"help","help",0}, {'v',"version","version",0}, + {'V',"verbose-versions","APT::Get::Show-Versions",0}, {'q',"quiet","quiet",CommandLine::IntLevel}, {'q',"silent","quiet",CommandLine::IntLevel}, {'d',"download-only","APT::Get::Download-Only",0}, @@ -2427,6 +3055,10 @@ int main(int argc,const char *argv[]) {"source",&DoSource}, {"moo",&DoMoo}, {"help",&ShowHelp}, +// CNC:2003-03-19 +#ifdef WITH_LUA + {"script",&DoScript}, +#endif {0,0}}; // Set up gettext support @@ -2446,6 +3078,30 @@ int main(int argc,const char *argv[]) return 100; } + // CNC:2003-11-21 + if (CmdL.FileSize() != 1) + { + // CNC:2003-11-23 + vector URLLst; + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + { + if (strstr(*I, "://") != NULL) + { + URLLst.push_back(*I); + *I = strrchr(*I, '/')+1; + } + } + + if (URLLst.empty() == false && DownloadPackages(URLLst) == false) + { + _error->DumpErrors(); + return 100; + } + + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + _config->Set("APT::Arguments::", *I); + } + // See if the help should be shown if (_config->FindB("help") == true || _config->FindB("version") == true || @@ -2473,6 +3129,34 @@ int main(int argc,const char *argv[]) signal(SIGWINCH,SigWinch); SigWinch(0); +// CNC:2003-11-23 +#ifdef WITH_LUA + AptGetLuaCache LuaCache; + _lua->SetCacheControl(&LuaCache); + + double Consume = 0; + if (argc > 1 && _lua->HasScripts("Scripts::AptGet::Command") == true) + { + _lua->SetGlobal("commit_ask", 1); + _lua->SetGlobal("command_args", CmdL.FileList); + _lua->SetGlobal("command_consume", 0.0); + _lua->RunScripts("Scripts::AptGet::Command", false); + Consume = _lua->GetGlobalI("command_consume"); + double Ask = _lua->GetGlobalI("commit_ask"); + _lua->ResetGlobals(); + _lua->ResetCaches(); + + if (Consume == 1 && LuaCache.Cache) + { + CacheFile &Cache = *LuaCache.Cache; + if (CheckOnly(Cache) == false && + (*Cache).InstCount() > 0 || (*Cache).DelCount() > 0) + InstallPackages(Cache, false, Ask); + } + } + + if (Consume == 0) +#endif // Match the operation CmdL.DispatchArg(Cmds); diff --git a/apt/cmdline/apt-shell.cc b/apt/cmdline/apt-shell.cc index 2db536f..1283344 100644 --- a/apt/cmdline/apt-shell.cc +++ b/apt/cmdline/apt-shell.cc @@ -39,15 +39,19 @@ #include #include #include - + #include #include +// CNC:2003-03-17 +#include + #include "acqprogress.h" // CNC:2003-02-14 - apti18n.h includes libintl.h which includes locale.h, // as reported by Radu Greab. //#include +#include #include #include #include @@ -171,26 +175,37 @@ bool CheckHelp(CommandLine &CmdL, unsigned int MaxArgs=512) /* Returns true on a Yes.*/ bool YnPrompt() { - // This needs to be a capital - const char *Yes = _("Y"); - if (_config->FindB("APT::Get::Assume-Yes",false) == true) { - c1out << Yes << endl; + c1out << _("Y") << endl; return true; } - - char C = 0; - char Jnk = 0; - if (read(STDIN_FILENO,&C,1) != 1) + + char response[1024] = ""; + cin.getline(response, sizeof(response)); + + if (!cin) return false; - while (C != '\n' && Jnk != '\n') - if (read(STDIN_FILENO,&Jnk,1) != 1) - return false; + + if (strlen(response) == 0) + return true; + + regex_t Pattern; + int Res; + + Res = regcomp(&Pattern, nl_langinfo(YESEXPR), + REG_EXTENDED|REG_ICASE|REG_NOSUB); + + if (Res != 0) { + char Error[300]; + regerror(Res,&Pattern,Error,sizeof(Error)); + return _error->Error(_("Regex compilation error - %s"),Error); + } - if (!(toupper(C) == *Yes || C == '\n' || C == '\r')) - return false; - return true; + Res = regexec(&Pattern, response, 0, NULL, 0); + if (Res == 0) + return true; + return false; } /*}}}*/ // AnalPrompt - Annoying Yes No Prompt. /*{{{*/ @@ -209,7 +224,7 @@ bool AnalPrompt(const char *Text) // --------------------------------------------------------------------- /* This prints out a string of space separated words with a title and a two space indent line wraped to the current screen width. */ -bool ShowList(ostream &out,string Title,string List) +bool ShowList(ostream &out,string Title,string List,string VersionsList) { if (List.empty() == true) return true; @@ -227,19 +242,41 @@ bool ShowList(ostream &out,string Title,string List) out << Title << endl; string::size_type Start = 0; + string::size_type VersionsStart = 0; while (Start < List.size()) { - string::size_type End; - if (Start + ScreenWidth >= List.size()) - End = List.size(); - else - End = List.rfind(' ',Start+ScreenWidth); + if(_config->FindB("APT::Get::Show-Versions",false) == true && + VersionsList.size() > 0) { + string::size_type End; + string::size_type VersionsEnd; + + End = List.find(' ',Start); + VersionsEnd = VersionsList.find('\n', VersionsStart); - if (End == string::npos || End < Start) - End = Start + ScreenWidth; - out << " " << string(List,Start,End - Start) << endl; - Start = End + 1; + out << " " << string(List,Start,End - Start) << " (" << + string(VersionsList,VersionsStart,VersionsEnd - VersionsStart) << + ")" << endl; + + if (End == string::npos || End < Start) + End = Start + ScreenWidth; + + Start = End + 1; + VersionsStart = VersionsEnd + 1; + } else { + string::size_type End; + + if (Start + ScreenWidth >= List.size()) + End = List.size(); + else + End = List.rfind(' ',Start+ScreenWidth); + + if (End == string::npos || End < Start) + End = Start + ScreenWidth; + out << " " << string(List,Start,End - Start) << endl; + Start = End + 1; + } } + return false; } /*}}}*/ @@ -390,18 +427,21 @@ void ShowBroken(ostream &out,CacheFile &Cache,bool Now,pkgDepCache::State *State /* */ void ShowNew(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { - /* Print out a list of packages that are going to be removed extra + /* Print out a list of packages that are going to be installed extra to what the user asked */ string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); if (Cache[I].NewInstall() == true && - (State == NULL || (*State)[I].NewInstall() == false)) + (State == NULL || (*State)[I].NewInstall() == false)) { List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CandVersion) + "\n"; + } } - ShowList(out,_("The following NEW packages will be installed:"),List); + ShowList(out,_("The following NEW packages will be installed:"),List,VersionsList); } /*}}}*/ // ShowDel - Show packages to delete /*{{{*/ @@ -412,6 +452,7 @@ void ShowDel(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) /* Print out a list of packages that are going to be removed extra to what the user asked */ string List, RepList; // CNC:2002-07-25 + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -446,12 +487,14 @@ void ShowDel(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) else List += string(I.Name()) + " "; } + + VersionsList += string(Cache[I].CandVersion)+ "\n"; } } // CNC:2002-07-25 - ShowList(out,_("The following packages will be REPLACED:"),RepList); - ShowList(out,_("The following packages will be REMOVED:"),List); + ShowList(out,_("The following packages will be REPLACED:"),RepList,VersionsList); + ShowList(out,_("The following packages will be REMOVED:"),List,VersionsList); } /*}}}*/ // ShowKept - Show kept packages /*{{{*/ @@ -460,6 +503,7 @@ void ShowDel(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) void ShowKept(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -477,8 +521,9 @@ void ShowKept(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) } List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; } - ShowList(out,_("The following packages will be kept back"),List); + ShowList(out,_("The following packages have been kept back"),List,VersionsList); } /*}}}*/ // ShowUpgraded - Show upgraded packages /*{{{*/ @@ -487,6 +532,7 @@ void ShowKept(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) void ShowUpgraded(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -503,8 +549,9 @@ void ShowUpgraded(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) } List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; } - ShowList(out,_("The following packages will be upgraded"),List); + ShowList(out,_("The following packages will be upgraded"),List,VersionsList); } /*}}}*/ // ShowDowngraded - Show downgraded packages /*{{{*/ @@ -513,6 +560,7 @@ void ShowUpgraded(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) bool ShowDowngraded(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); @@ -529,8 +577,9 @@ bool ShowDowngraded(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL } List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; } - return ShowList(out,_("The following packages will be DOWNGRADED"),List); + return ShowList(out,_("The following packages will be DOWNGRADED"),List,VersionsList); } /*}}}*/ // ShowHold - Show held but changed packages /*{{{*/ @@ -539,17 +588,20 @@ bool ShowDowngraded(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL bool ShowHold(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { string List; + string VersionsList; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { pkgCache::PkgIterator I(Cache,Cache.List[J]); if (Cache[I].InstallVer != (pkgCache::Version *)I.CurrentVer() && I->SelectedState == pkgCache::State::Hold && (State == NULL || - Cache[I].InstallVer != (*State)[I].InstallVer)) + Cache[I].InstallVer != (*State)[I].InstallVer)) { List += string(I.Name()) + " "; + VersionsList += string(Cache[I].CurVersion) + " => " + Cache[I].CandVersion + "\n"; + } } - return ShowList(out,_("The following held packages will be changed:"),List); + return ShowList(out,_("The following held packages will be changed:"),List,VersionsList); } /*}}}*/ // ShowEssential - Show an essential package warning /*{{{*/ @@ -560,6 +612,7 @@ bool ShowHold(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) bool ShowEssential(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { string List; + string VersionsList; bool *Added = new bool[Cache->Head().PackageCount]; for (unsigned int I = 0; I != Cache->Head().PackageCount; I++) Added[I] = false; @@ -577,8 +630,26 @@ bool ShowEssential(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { if (Added[I->ID] == false) { - Added[I->ID] = true; - List += string(I.Name()) + " "; + // CNC:2003-03-21 - Do not consider a problem if that package is being obsoleted + // by something else. + bool Obsoleted = false; + for (pkgCache::DepIterator D = I.RevDependsList(); D.end() == false; D++) + { + if (D->Type == pkgCache::Dep::Obsoletes && + Cache[D.ParentPkg()].Install() && + ((pkgCache::Version*)D.ParentVer() == Cache[D.ParentPkg()].InstallVer || + (pkgCache::Version*)D.ParentVer() == ((pkgCache::Version*)D.ParentPkg().CurrentVer())) && + Cache->VS().CheckDep(I.CurrentVer().VerStr(), D) == true) + { + Obsoleted = true; + break; + } + } + if (Obsoleted == false) { + Added[I->ID] = true; + List += string(I.Name()) + " "; + } + //VersionsList += string(Cache[I].CurVersion) + "\n"; ??? } } @@ -599,18 +670,38 @@ bool ShowEssential(ostream &out,CacheFile &Cache,pkgDepCache::State *State=NULL) { if (Added[P->ID] == true) continue; + + // CNC:2003-03-21 - Do not consider a problem if that package is being obsoleted + // by something else. + bool Obsoleted = false; + for (pkgCache::DepIterator D = P.RevDependsList(); D.end() == false; D++) + { + if (D->Type == pkgCache::Dep::Obsoletes && + Cache[D.ParentPkg()].Install() && + ((pkgCache::Version*)D.ParentVer() == Cache[D.ParentPkg()].InstallVer || + (pkgCache::Version*)D.ParentVer() == ((pkgCache::Version*)D.ParentPkg().CurrentVer())) && + Cache->VS().CheckDep(P.CurrentVer().VerStr(), D) == true) + { + Obsoleted = true; + break; + } + } + if (Obsoleted == true) + continue; + Added[P->ID] = true; char S[300]; snprintf(S,sizeof(S),_("%s (due to %s) "),P.Name(),I.Name()); List += S; + //VersionsList += "\n"; ??? } } } delete [] Added; return ShowList(out,_("WARNING: The following essential packages will be removed\n" - "This should NOT be done unless you know exactly what you are doing!"),List); + "This should NOT be done unless you know exactly what you are doing!"),List,VersionsList); } /*}}}*/ // Stats - Show some statistics /*{{{*/ @@ -675,7 +766,7 @@ void Stats(ostream &out,pkgDepCache &Dep,pkgDepCache::State *State=NULL) ReInstall++; } - ioprintf(out,_("%lu packages upgraded, %lu newly installed, "), + ioprintf(out,_("%lu upgraded, %lu newly installed, "), Upgrade,Install); if (ReInstall != 0) @@ -695,7 +786,7 @@ void Stats(ostream &out,pkgDepCache &Dep,pkgDepCache::State *State=NULL) if (Dep.BadCount() != 0) - ioprintf(out,_("%lu packages not fully installed or removed.\n"), + ioprintf(out,_("%lu not fully installed or removed.\n"), Dep.BadCount()); } /*}}}*/ @@ -1195,8 +1286,42 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, Pkg.ProvidesList()->NextProvides == 0) { pkgCache::PkgIterator Tmp = Pkg.ProvidesList().OwnerPkg(); - ioprintf(c1out,_("Note, selecting %s instead of %s\n"), + // CNC:2003-11-21 - Check if the current candidate is really + // providing that dependency + ioprintf(c1out,_("Selecting %s for '%s'\n"), Tmp.Name(),Pkg.Name()); + pkgCache::VerIterator Ver = Cache[Tmp].CandidateVerIter(Cache); + pkgCache::PrvIterator Prv = Ver.ProvidesList(); + bool Found = false; + for (; Prv.end() == false; Prv++) { + if (strcmp(Prv.Name(), Pkg.Name()) == 0) { + Found = true; + break; + } + } + if (Found == false) { + // The current candidate doesn't provide the needed dependency. + // Look for one that does. + Ver = Tmp.VersionList(); + for (; Ver.end() == false; Ver++) { + Prv = Ver.ProvidesList(); + Found = false; + for (; Prv.end() == false; Prv++) { + if (strcmp(Prv.Name(), Pkg.Name()) == 0) { + Found = true; + break; + } + } + if (Found) { + Cache.SetCandidateVersion(Ver); + break; + } + } + if (Found == false) { + ioprintf(c1out,_("Internal error. Package %s doesn't provide %s\n"),Tmp.Name(),Pkg.Name()); + return false; + } + } Pkg = Tmp; } @@ -1262,6 +1387,7 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, "of sources.list\n"),Pkg.Name()); string List; + string VersionsList; SPtrArray Seen = new bool[Cache.Head().PackageCount]; memset(Seen,0,Cache.Head().PackageCount*sizeof(*Seen)); pkgCache::DepIterator Dep = Pkg.RevDependsList(); @@ -1275,8 +1401,9 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, continue; Seen[Dep.ParentPkg()->ID] = true; List += string(Dep.ParentPkg().Name()) + " "; + //VersionsList += string(Dep.ParentPkg().CurVersion) + "\n"; ??? } - ShowList(c1out,_("However the following packages replace it:"),List); + ShowList(c1out,_("However the following packages replace it:"),List,VersionsList); } _error->Error(_("Package %s has no installation candidate"),Pkg.Name()); @@ -1329,30 +1456,56 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, // TryToChangeVer - Try to change a candidate version /*{{{*/ // --------------------------------------------------------------------- /* */ -bool TryToChangeVer(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, - const char *VerTag,bool IsRel) +// CNC:2003-11-05 - Applied patch by ALT-Linux changing the way +// versions are requested by the user. +static const char *op2str(int op) { + switch (op & 0x0f) + { + case pkgCache::Dep::LessEq: return "<="; + case pkgCache::Dep::GreaterEq: return ">="; + case pkgCache::Dep::Less: return "<"; + case pkgCache::Dep::Greater: return ">"; + case pkgCache::Dep::Equals: return "="; + case pkgCache::Dep::NotEquals: return "!"; + default: return ""; + } +} + +// CNC:2003-11-11 +bool TryToChangeVer(pkgCache::PkgIterator &Pkg,pkgDepCache &Cache, + int VerOp,const char *VerTag,bool IsRel) +{ + // CNC:2003-11-05 pkgVersionMatch Match(VerTag,(IsRel == true?pkgVersionMatch::Release : - pkgVersionMatch::Version)); + pkgVersionMatch::Version),VerOp); pkgCache::VerIterator Ver = Match.Find(Pkg); if (Ver.end() == true) { + // CNC:2003-11-05 if (IsRel == true) - return _error->Error(_("Release '%s' for '%s' was not found"), - VerTag,Pkg.Name()); - return _error->Error(_("Version '%s' for '%s' was not found"), - VerTag,Pkg.Name()); + return _error->Error(_("Release %s'%s' for '%s' was not found"), + op2str(VerOp),VerTag,Pkg.Name()); + return _error->Error(_("Version %s'%s' for '%s' was not found"), + op2str(VerOp),VerTag,Pkg.Name()); } if (strcmp(VerTag,Ver.VerStr()) != 0) { - ioprintf(c1out,_("Selected version %s (%s) for %s\n"), - Ver.VerStr(),Ver.RelStr().c_str(),Pkg.Name()); + // CNC:2003-11-11 + if (IsRel == true) + ioprintf(c1out,_("Selected version %s (%s) for %s\n"), + Ver.VerStr(),Ver.RelStr().c_str(),Pkg.Name()); + else + ioprintf(c1out,_("Selected version %s for %s\n"), + Ver.VerStr(),Pkg.Name()); } Cache.SetCandidateVersion(Ver); + // CNC:2003-11-11 + Pkg = Ver.ParentPkg(); return true; } /*}}}*/ @@ -1457,12 +1610,32 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, /* */ bool DoUpdate(CommandLine &CmdL) { - if (CheckHelp(CmdL, 0) == true) + if (CheckHelp(CmdL) == true) return true; - - // Get the source list + + bool Partial = false; pkgSourceList List; - if (List.ReadMainList() == false) + + if (CmdL.FileSize() != 1) + { + List.ReadVendors(); + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + { + string Repo = _config->FindDir("Dir::Etc::sourceparts") + *I; + if (FileExists(Repo) == false) + Repo += ".list"; + if (FileExists(Repo) == true) + { + if (List.ReadAppend(Repo) == true) + Partial = true; + else + return _error->Error(_("Sources list %s could not be read"),Repo.c_str()); + } + else + return _error->Error(_("Sources list %s doesn't exist"),Repo.c_str()); + } + } + else if (List.ReadMainList() == false) return false; // Lock the list directory @@ -1473,6 +1646,13 @@ bool DoUpdate(CommandLine &CmdL) if (_error->PendingError() == true) return _error->Error(_("Unable to lock the list directory")); } + +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(*GCache); + _lua->RunScripts("Scripts::AptGet::Update::Pre", false); + _lua->ResetCaches(); +#endif // Create the download object AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0)); @@ -1535,7 +1715,16 @@ bool DoUpdate(CommandLine &CmdL) return false; } - AutoReOpenCache CacheGuard(GCache); + { + AutoReOpenCache CacheGuard(GCache); + } + +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(*GCache); + _lua->RunScripts("Scripts::AptGet::Update::Post", false); + _lua->ResetCaches(); +#endif if (Failed == true) return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead.")); @@ -1570,6 +1759,13 @@ bool DoUpgrade(CommandLine &CmdL) return _error->Error(_("Internal Error, AllUpgrade broke stuff")); } +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(Cache); + _lua->RunScripts("Scripts::AptGet::Upgrade", false); + _lua->ResetCaches(); +#endif + ConfirmChanges(Cache, StateGuard); return true; @@ -1617,36 +1813,99 @@ bool DoInstall(CommandLine &CmdL) continue; strcpy(S,*I); + // CNC:2003-03-15 + char OrigS[300]; + strcpy(OrigS,S); + // See if we are removing and special indicators.. int Mode = DefMode; char *VerTag = 0; bool VerIsRel = false; + // CNC:2003-11-05 + int VerOp = 0; while (Cache->FindPkg(S).end() == true) { // Handle an optional end tag indicating what to do - if (S[Length - 1] == '-') + if (Length >= 1 && S[Length - 1] == '-') { Mode = MODE_REMOVE; S[--Length] = 0; continue; } - if (S[Length - 1] == '+') + if (Length >= 1 && S[Length - 1] == '+') { Mode = MODE_INSTALL; S[--Length] = 0; continue; } - char *Slash = strchr(S,'='); - if (Slash != 0) + // CNC:2003-11-05 + char *sep = strpbrk(S,"=><"); + if (sep) { + char *p; + int eq = 0, gt = 0, lt = 0; + VerIsRel = false; - *Slash = 0; - VerTag = Slash + 1; + for (p = sep; *p && strchr("=><",*p); ++p) + switch (*p) + { + case '=': eq = 1; break; + case '>': gt = 1; break; + case '<': lt = 1; break; + } + if (eq) + { + if (lt && gt) + return _error->Error(_("Couldn't parse name '%s'"),S); + else if (lt) + VerOp = pkgCache::Dep::LessEq; + else if (gt) + VerOp = pkgCache::Dep::GreaterEq; + else + VerOp = pkgCache::Dep::Equals; + } + else + { + if (lt && gt) + VerOp = pkgCache::Dep::NotEquals; + else if (lt) + VerOp = pkgCache::Dep::Less; + else if (gt) + VerOp = pkgCache::Dep::Greater; + else + return _error->Error(_("Couldn't parse name '%s'"),S); + } + *sep = '\0'; + VerTag = p; } - Slash = strchr(S,'/'); + // CNC:2003-11-21 - Try to handle unknown file items. + if (S[0] == '/') + { + pkgRecords Recs(Cache); + if (_error->PendingError() == true) + return false; + pkgCache::PkgIterator Pkg = (*Cache).PkgBegin(); + for (; Pkg.end() == false; Pkg++) + { + // Should we try on all versions? + pkgCache::VerIterator Ver = (*Cache)[Pkg].CandidateVerIter(*Cache); + if (Ver.end() == false) + { + pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList()); + if (Parse.HasFile(S)) { + strcpy(S, Pkg.Name()); + // Confirm the translation. + ExpectedInst += 1000; + break; + } + } + } + } + + char *Slash = strchr(S,'/'); if (Slash != 0) { VerIsRel = true; @@ -1668,8 +1927,49 @@ bool DoInstall(CommandLine &CmdL) if (*I == '?' || *I == '*' || *I == '|' || *I == '[' || *I == '^' || *I == '$') break; - if (*I == 0) + + // CNC:2003-05-15 + if (*I == 0) { +#ifdef WITH_LUA + vector VS; + _lua->SetDepCache(Cache); + _lua->SetDontFix(); + _lua->SetGlobal("argument", OrigS); + _lua->SetGlobal("translated", VS); + _lua->RunScripts("Scripts::AptGet::Install::TranslateArg", false); + const char *name = _lua->GetGlobal("translated"); + if (name != NULL) { + VS.push_back(name); + } else { + _lua->GetGlobalVS("translated", VS); + } + _lua->ResetGlobals(); + _lua->ResetCaches(); + + // Translations must always be confirmed + ExpectedInst += 1000; + + // Run over the matches + bool Hit = false; + for (vector::const_iterator I = VS.begin(); + I != VS.end(); I++) { + + Pkg = Cache->FindPkg(*I); + if (Pkg.end() == true) + continue; + + ioprintf(c1out,_("Selecting %s for '%s'\n"), + Pkg.Name(),OrigS); + + Hit |= TryToInstall(Pkg,Cache,Fix,Mode,BrokenFix, + ExpectedInst,true); + } + + if (Hit == true) + continue; +#endif return _error->Error(_("Couldn't find package %s"),S); + } // Regexs must always be confirmed ExpectedInst += 1000; @@ -1692,12 +1992,14 @@ bool DoInstall(CommandLine &CmdL) if (regexec(&Pattern,Pkg.Name(),0,0,0) != 0) continue; - ioprintf(c1out,_("Note, selecting %s for regex '%s'\n"), + // CNC:2003-11-23 + ioprintf(c1out,_("Selecting %s for '%s'\n"), Pkg.Name(),S); StateGuard->Ignore(Pkg); if (VerTag != 0) - if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) + // CNC:2003-11-05 + if (TryToChangeVer(Pkg,Cache,VerOp,VerTag,VerIsRel) == false) return false; Hit |= TryToInstall(Pkg,Cache,Fix,Mode,BrokenFix, @@ -1711,7 +2013,8 @@ bool DoInstall(CommandLine &CmdL) else { if (VerTag != 0) - if (TryToChangeVer(Pkg,Cache,VerTag,VerIsRel) == false) + // CNC:2003-11-05 + if (TryToChangeVer(Pkg,Cache,VerOp,VerTag,VerIsRel) == false) return false; if (TryToInstall(Pkg,Cache,Fix,Mode,BrokenFix,ExpectedInst) == false) return false; @@ -1719,6 +2022,14 @@ bool DoInstall(CommandLine &CmdL) } } +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(Cache); + _lua->SetDontFix(); + _lua->RunScripts("Scripts::AptGet::Install::PreResolve", false); + _lua->ResetCaches(); +#endif + // CNC:2002-08-01 if (_config->FindB("APT::Remove-Depends",false) == true) Fix.RemoveDepends(); @@ -1745,6 +2056,17 @@ bool DoInstall(CommandLine &CmdL) _error->Discard(); } +// CNC:2003-03-19 +#ifdef WITH_LUA + if (Cache->BrokenCount() == 0) { + _lua->SetDepCache(Cache); + _lua->SetProblemResolver(&Fix); + _lua->RunScripts("Scripts::AptGet::Install::PostResolve", false); + _lua->ResetCaches(); + } +#endif + + // Now we check the state of the packages, if (Cache->BrokenCount() != 0) { @@ -1800,6 +2122,13 @@ bool DoDistUpgrade(CommandLine &CmdL) ShowBroken(c1out,Cache,false); return false; } + +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(Cache); + _lua->RunScripts("Scripts::AptGet::DistUpgrade", false); + _lua->ResetCaches(); +#endif c0out << _("Done") << endl; @@ -2048,7 +2377,7 @@ bool DoBuildDep(CommandLine &CmdL) rec.Package = Opts->Value; rec.Type = pkgSrcRecords::Parser::BuildDependIndep; rec.Op = 0; - BuildDeps.insert(BuildDeps.begin(), rec); + BuildDeps.push_back(rec); } if (BuildDeps.size() == 0) @@ -2061,8 +2390,18 @@ bool DoBuildDep(CommandLine &CmdL) unsigned int ExpectedInst = 0; vector ::iterator D; pkgProblemResolver Fix(Cache); + bool skipAlternatives = false; // skip remaining alternatives in an or group for (D = BuildDeps.begin(); D != BuildDeps.end(); D++) { + bool hasAlternatives = (((*D).Op & pkgCache::Dep::Or) == pkgCache::Dep::Or); + + if (skipAlternatives == true) + { + if (!hasAlternatives) + skipAlternatives = false; // end of or group + continue; + } + if ((*D).Type == pkgSrcRecords::Parser::BuildConflict || (*D).Type == pkgSrcRecords::Parser::BuildConflictIndep) { @@ -2083,17 +2422,41 @@ bool DoBuildDep(CommandLine &CmdL) } else // BuildDep || BuildDepIndep { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << "Looking for " << (*D).Package << "...\n"; + pkgCache::PkgIterator Pkg = Cache->FindPkg((*D).Package); + + // CNC:2003-11-21 - Try to handle unknown file deps. + if (Pkg.end() == true && (*D).Package[0] == '/') + { + const char *File = (*D).Package.c_str(); + Pkg = (*Cache).PkgBegin(); + for (; Pkg.end() == false; Pkg++) + { + // Should we try on all versions? + pkgCache::VerIterator Ver = (*Cache)[Pkg].CandidateVerIter(*Cache); + if (Ver.end() == false) + { + pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList()); + if (Parse.HasFile(File)) + break; + } + } + } + if (Pkg.end() == true) { - // Check if there are any alternatives - if (((*D).Op & pkgCache::Dep::Or) != pkgCache::Dep::Or) - return _error->Error(_("%s dependency for %s cannot be satisfied " - "because the package %s cannot be found"), - Last->BuildDepType((*D).Type),Src.c_str(), - (*D).Package.c_str()); - // Try the next alternative - continue; + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " (not found)" << (*D).Package << endl; + + if (hasAlternatives) + continue; + + return _error->Error(_("%s dependency for %s cannot be satisfied " + "because the package %s cannot be found"), + Last->BuildDepType((*D).Type),Src.c_str(), + (*D).Package.c_str()); } /* @@ -2106,9 +2469,6 @@ bool DoBuildDep(CommandLine &CmdL) * this would require we do a Resolve cycle for each package we * add to the install list. Ugh */ - while (D != BuildDeps.end() && - (((*D).Op & pkgCache::Dep::Or) == pkgCache::Dep::Or)) - D++; /* * If this is a virtual package, we need to check the list of @@ -2117,37 +2477,98 @@ bool DoBuildDep(CommandLine &CmdL) */ pkgCache::PrvIterator Prv = Pkg.ProvidesList(); for (; Prv.end() != true; Prv++) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Checking provider " << Prv.OwnerPkg().Name() << endl; + if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false) break; + } // Get installed version and version we are going to install pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache); - pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); - for (; CV.end() != true; CV++) - { - if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) - break; + if ((*D).Version[0] != '\0') { + // Versioned dependency + + pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); + + for (; CV.end() != true; CV++) + { + if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) + break; + } + if (CV.end() == true) + if (hasAlternatives) + { + continue; + } + else + { + return _error->Error(_("%s dependency for %s cannot be satisfied " + "because no available versions of package %s " + "can satisfy version requirements"), + Last->BuildDepType((*D).Type),Src.c_str(), + (*D).Package.c_str()); + } } - if (CV.end() == true) - return _error->Error(_("%s dependency for %s cannot be satisfied " - "because no available versions of package %s " - "can satisfy version requirements"), - Last->BuildDepType((*D).Type),Src.c_str(), - (*D).Package.c_str()); + else + { + // Only consider virtual packages if there is no versioned dependency + if (Prv.end() == false) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Is provided by installed package " << Prv.OwnerPkg().Name() << endl; + skipAlternatives = hasAlternatives; + continue; + } + } + if (IV.end() == false) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Is installed\n"; - /* - * TODO: if we depend on a version lower than what we already have - * installed it is not clear what should be done; in practice - * this case should be rare, and right now nothing is - * done about it :-( - */ - if (Prv.end() == true && // Nothing provides it; and - (IV.end() == true || // It is not installed, or - Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == false)) - // the version installed doesn't - // satisfy constraints - TryToInstall(Pkg,Cache,Fix,MODE_INSTALL,false,ExpectedInst); + if (Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) + { + skipAlternatives = hasAlternatives; + continue; + } + + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " ...but the installed version doesn't meet the version requirement\n"; + + if (((*D).Op & pkgCache::Dep::LessEq) == pkgCache::Dep::LessEq) + { + return _error->Error(_("Failed to satisfy %s dependency for %s: Installed package %s is too new"), + Last->BuildDepType((*D).Type), + Src.c_str(), + Pkg.Name()); + } + } + + + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Trying to install " << (*D).Package << endl; + + if (TryToInstall(Pkg,Cache,Fix,false,false,ExpectedInst) == true) + { + // We successfully installed something; skip remaining alternatives + skipAlternatives = hasAlternatives; + continue; + } + else if (hasAlternatives) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Unsatisfiable, trying alternatives\n"; + continue; + } + else + { + return _error->Error(_("Failed to satisfy %s dependency for %s: %s"), + Last->BuildDepType((*D).Type), + Src.c_str(), + (*D).Package.c_str()); + } } } @@ -2157,8 +2578,8 @@ bool DoBuildDep(CommandLine &CmdL) // Now we check the state of the packages, if (Cache->BrokenCount() != 0) - return _error->Error(_("Some broken packages were found while trying to process build-dependencies.\n" - "You might want to run `apt-get -f install' to correct these.")); + return _error->Error(_("Some broken packages were found while trying to process build-dependencies for %s.\n" + "You might want to run `apt-get -f install' to correct these."),*I); } ConfirmChanges(Cache, StateGuard); @@ -2166,6 +2587,37 @@ bool DoBuildDep(CommandLine &CmdL) return true; } /*}}}*/ +// * - Scripting stuff. /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool DoScript(CommandLine &CmdL) +{ + if (CheckHelp(CmdL) == true) + return true; + + CacheFile &Cache = *GCache; + AutoRestore StateGuard(Cache); + + for (const char **I = CmdL.FileList+1; *I != 0; I++) + _config->Set("Scripts::AptShell::Script::", *I); + +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(Cache); + _lua->RunScripts("Scripts::AptShell::Script", false); + _lua->RunScripts("Scripts::AptGet::Script", true); + _lua->RunScripts("Scripts::AptCache::Script", true); + _lua->ResetCaches(); +#endif + + _config->Clear("Scripts::AptShell::Script"); + + ConfirmChanges(Cache, StateGuard); + + return true; +} + + /*}}}*/ // --- Unchanged stuff from apt-cache. @@ -2220,6 +2672,7 @@ bool Depends(CommandLine &CmdL) } bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false); + bool Installed = _config->FindB("APT::Cache::Installed",false); bool DidSomething; do { @@ -2243,24 +2696,31 @@ bool Depends(CommandLine &CmdL) for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++) { - if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) - cout << " |"; - else - cout << " "; - - // Show the package + pkgCache::PkgIterator Trg = D.TargetPkg(); - if (Trg->VersionList == 0) - cout << D.DepType() << ": <" << Trg.Name() << ">" << endl; - // CNC:2003-03-03 - else if (D.TargetVer() == 0) - cout << D.DepType() << ": " << Trg.Name() << endl; - else - cout << D.DepType() << ": " << Trg.Name() - << " " << D.CompType() << " " << D.TargetVer() << endl; + + if((Installed && Trg->CurrentVer != 0) || !Installed) + { + + if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + cout << " |"; + else + cout << " "; - if (Recurse == true) - Colours[D.TargetPkg()->ID]++; + // Show the package + if (Trg->VersionList == 0) + cout << D.DepType() << ": <" << Trg.Name() << ">" << endl; + // CNC:2003-03-03 + else if (D.TargetVer() == 0) + cout << D.DepType() << ": " << Trg.Name() << endl; + else + cout << D.DepType() << ": " << Trg.Name() + << " " << D.CompType() << " " << D.TargetVer() << endl; + + if (Recurse == true) + Colours[D.TargetPkg()->ID]++; + + } // Display all solutions SPtrArray List = D.AllTargets(); @@ -2285,6 +2745,98 @@ bool Depends(CommandLine &CmdL) return true; } + /*}}}*/ +// RDepends - Print out a reverse dependency tree - mbc /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool RDepends(CommandLine &CmdL) +{ + if (CheckHelp(CmdL) == true) + return true; + + pkgCache &Cache = *GCache; + SPtrArray Colours = new unsigned[Cache.Head().PackageCount]; + memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount); + + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + { + pkgCache::PkgIterator Pkg = Cache.FindPkg(*I); + if (Pkg.end() == true) + { + _error->Warning(_("Unable to locate package %s"),*I); + continue; + } + Colours[Pkg->ID] = 1; + } + + bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false); + bool Installed = _config->FindB("APT::Cache::Installed",false); + bool DidSomething; + do + { + DidSomething = false; + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++) + { + if (Colours[Pkg->ID] != 1) + continue; + Colours[Pkg->ID] = 2; + DidSomething = true; + + pkgCache::VerIterator Ver = Pkg.VersionList(); + if (Ver.end() == true) + { + cout << '<' << Pkg.Name() << '>' << endl; + continue; + } + + cout << Pkg.Name() << endl; + + cout << "Reverse Depends:" << endl; + for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() == false; D++) + { + // Show the package + pkgCache::PkgIterator Trg = D.ParentPkg(); + + if((Installed && Trg->CurrentVer != 0) || !Installed) + { + + if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + cout << " |"; + else + cout << " "; + + if (Trg->VersionList == 0) + cout << D.DepType() << ": <" << Trg.Name() << ">" << endl; + else + cout << Trg.Name() << endl; + + if (Recurse == true) + Colours[D.ParentPkg()->ID]++; + + } + + // Display all solutions + SPtrArray List = D.AllTargets(); + pkgPrioSortList(Cache,List); + for (pkgCache::Version **I = List; *I != 0; I++) + { + pkgCache::VerIterator V(Cache,*I); + if (V != Cache.VerP + V.ParentPkg()->VersionList || + V->ParentPkg == D->Package) + continue; + cout << " " << V.ParentPkg().Name() << endl; + + if (Recurse == true) + Colours[D.ParentPkg()->ID]++; + } + } + } + } + while (DidSomething == true); + + return true; +} + /*}}}*/ // CNC:2003-02-19 // WhatDepends - Print out a reverse dependency tree /*{{{*/ @@ -2360,12 +2912,14 @@ bool WhatDepends(CommandLine &CmdL) for (pkgCache::DepIterator D = ParentVer.DependsList(); D.end() == false; D++) { - // Go on if it's the same package and version or - // if it's the same package and has no versions - // (a virtual package). - if (D.TargetPkg() != Pkg || - Ver.end() == false && - Cache.VS->CheckDep(Ver.VerStr(),D) == false) { + // If this is a virtual package, there's no provides. + if (Ver.end() == true) { + // If it's not the same package, and there's no provides + // skip that package. + if (D.TargetPkg() != Pkg) + continue; + } else if (D.TargetPkg() != Pkg || + Cache.VS->CheckDep(Ver.VerStr(),D) == false) { // Oops. Either it's not the same package, or the // version didn't match. Check virtual provides from // the queried package version and verify if this @@ -2453,25 +3007,9 @@ bool WhatDepends(CommandLine &CmdL) // if it's the same package and has no versions // (a virtual package). if (D.TargetPkg() != RDPrv.ParentPkg() || - Ver.end() == false && - Cache.VS->CheckDep(Ver.VerStr(),D) == false) { - // Oops. Either it's not the same package, or the - // version didn't match. Check virtual provides from - // the queried package version and verify if this - // dependency matches one of those. - bool Hit = false; - for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); - Prv.end() == false; Prv++) { - if (Prv.ParentPkg() == D.TargetPkg() && - (Prv.ParentPkg()->VersionList == 0 || - Cache.VS->CheckDep(Prv.ProvideVersion(),D)) == false) { - Hit = true; - break; - } - } - if (Hit == false) - continue; - } + (RDPrv.ProvideVersion() != 0 && + Cache.VS->CheckDep(RDPrv.ProvideVersion(),D) == false)) + continue; // Bingo! pkgCache::PkgIterator Trg = D.TargetPkg(); @@ -2707,7 +3245,7 @@ bool DisplayRecord(pkgCache::VerIterator V) Buffer[V.FileList()->Size] = '\n'; if (PkgF.Seek(V.FileList()->Offset) == false || PkgF.Read(Buffer,V.FileList()->Size) == false || - write(STDOUT_FILENO,Buffer,V.FileList()->Size+1) != V.FileList()->Size+1) + fwrite(Buffer,1,V.FileList()->Size+1,stdout) < V.FileList()->Size+1) { delete [] Buffer; return false; @@ -3026,6 +3564,8 @@ bool ShowPackage(CommandLine &CmdL) pkgCache &Cache = *GCache; pkgDepCache::Policy Plcy; + + unsigned found = 0; for (const char **I = CmdL.FileList + 1; *I != 0; I++) { @@ -3036,6 +3576,8 @@ bool ShowPackage(CommandLine &CmdL) continue; } + ++found; + // Find the proper version to use. if (_config->FindB("APT::Cache::AllVersions","true") == true) { @@ -3055,7 +3597,10 @@ bool ShowPackage(CommandLine &CmdL) return false; } } - return true; + + if (found > 0) + return true; + return _error->Error(_("No packages found")); } /*}}}*/ // --- End of stuff from apt-cache. @@ -3139,8 +3684,10 @@ bool ShowHelp(CommandLine &CmdL) " showpkg - Show some general information for a single package\n" " list/ls - List packages\n" " search - Search the package list for a regex pattern\n" + " script - Run scripts.\n" " depends - Show raw dependency information for a package\n" " whatdepends - Show raw dependency information on a package\n" + // " rdepends - Show reverse dependency information for a package\n" " check - Verify that there are no broken dependencies\n" " unmet - Show unmet dependencies\n" " clean - Erase downloaded archive files\n" @@ -3359,8 +3906,20 @@ void CommandHelp(const char *Name) ); break; + case 438801: // script + c2out << _( + "Usage: script [options] script1 [script2]\n" + "\n" + "Run the given scripts.\n" + "\n" + "Options:\n" + " -h This help text.\n" + " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n" + "\n" + ); + break; default: - _error->Error(_("No help for that"), Name); + _error->Error(_("No help for that")); } } /*}}}*/ @@ -3430,7 +3989,8 @@ char *ReadLineCompCommands(const char *Text, int State) static char *Commands[] = {"update", "upgrade", "install", "remove", "keep", "dist-upgrade", "dselect-upgrade", "build-dep", "clean", "autoclean", "check", "help", "commit", "exit", "quit", "status", - "showpkg", "unmet", "search", "depends", "whatdepends", "show", 0}; + "showpkg", "unmet", "search", "depends", "whatdepends", "rdepends", + "show", "script", 0}; static int Last; static int Len; if (State == 0) { @@ -3550,6 +4110,7 @@ char **ReadLineCompletion(const char *Text, int Start, int End) case 655: // ls case 1964115: // depends case 1414151615: // whatdepends + case 10870365: // rdepends Matches = rl_completion_matches(Text, ReadLineCompPackages); break; @@ -3603,6 +4164,7 @@ CommandLine::Args *CommandArgs(const char *Name) {'s',"no-act","APT::Get::Simulate",0}, {'f',"fix-broken","APT::Get::Fix-Broken",0}, {'D',"remove-deps","APT::Remove-Depends",0}, // CNC:2002-08-01 + {'V',"verbose-versions","APT::Get::Show-Versions",0}, {'t',"target-release","APT::Default-Release",CommandLine::HasArg}, {'t',"default-release","APT::Default-Release",CommandLine::HasArg}, {0,"reinstall","APT::Get::ReInstall",0}, @@ -3661,6 +4223,7 @@ CommandLine::Args *CommandArgs(const char *Name) {'i',"installed","APT::Cache::ShowInstalled",0}, {'v',"version","APT::Cache::ShowVersion",0}, {'s',"summary","APT::Cache::ShowSummary",0}, + {'n',"installed","APT::Cache::Installed",0}, {'c',"config-file",0,CommandLine::ConfigFile}, {'o',"option",0,CommandLine::ArbItem}, {0,0,0,0}}; @@ -3721,6 +4284,7 @@ int main(int argc,const char *argv[]) {"quit",&DoQuit}, {"exit",&DoQuit}, {"status",&DoStatus}, + {"script",&DoScript}, // apt-cache {"showpkg",&DumpPackage}, {"unmet",&UnMet}, @@ -3729,6 +4293,7 @@ int main(int argc,const char *argv[]) {"ls",&DoList}, {"depends",&Depends}, {"whatdepends",&WhatDepends}, + {"rdepends",&RDepends}, {"show",&ShowPackage}, {0,0}}; @@ -3784,6 +4349,15 @@ int main(int argc,const char *argv[]) ReadLineInit(); c1out << _("Welcome to the APT shell. Type \"help\" for more information.") << endl; +// CNC:2003-03-19 +#ifdef WITH_LUA + _lua->SetDepCache(*GCache); + _lua->RunScripts("Scripts::AptShell::Init", false); + _lua->ResetCaches(); + bool HasCmdScripts = (_lua->HasScripts("Scripts::AptGet::Command") || + _lua->HasScripts("Scripts::AptCache::Command")); +#endif + int largc; const char *largv[1024]; char *line, *p, *q; @@ -3857,10 +4431,30 @@ int main(int argc,const char *argv[]) delete _config; _config = new Configuration(GlobalConfig); - // Prepare the command line, and dispatch. + // Prepare the command line CommandLine CmdL(CommandArgs(largv[1]),_config); CmdL.Parse(largc,largv); - CmdL.DispatchArg(Cmds); + +// CNC:2003-03-19 +#ifdef WITH_LUA + if (HasCmdScripts == true) { + _lua->SetDepCache(*GCache); + _lua->SetGlobal("command_args", CmdL.FileList); + _lua->SetGlobal("command_consume", 0.0); + _lua->RunScripts("Scripts::AptGet::Command", true); + _lua->RunScripts("Scripts::AptCache::Command", true); + double Consume = _lua->GetGlobalI("command_consume"); + _lua->ResetGlobals(); + _lua->ResetCaches(); + if (Consume == 1) { + free(line); + continue; + } + } +#endif + + if (_error->PendingError() == false) + CmdL.DispatchArg(Cmds); free(line); } diff --git a/apt/cmdline/apt-sortpkgs.cc b/apt/cmdline/apt-sortpkgs.cc deleted file mode 100644 index ed1f72d..0000000 --- a/apt/cmdline/apt-sortpkgs.cc +++ /dev/null @@ -1,210 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: apt-sortpkgs.cc,v 1.4 2003/01/29 18:43:48 niemeyer Exp $ -/* ###################################################################### - - APT Sort Packages - Program to sort Package and Source files - - This program is quite simple, it just sorts the package files by - package and sorts the fields inside by the internal APT sort order. - Input is taken from a named file and sent to stdout. - - ##################################################################### */ - /*}}}*/ -// Include Files /*{{{*/ -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -// CNC:2003-02-14 - apti18n.h includes libintl.h which includes locale.h, -// as reported by Radu Greab. -//#include -#include - /*}}}*/ - -using namespace std; - -struct PkgName -{ - string Name; - string Ver; - string Arch; - unsigned long Offset; - unsigned long Length; - - inline int Compare3(const PkgName &x) const - { - int A = stringcasecmp(Name,x.Name); - if (A == 0) - { - A = stringcasecmp(Ver,x.Ver); - if (A == 0) - A = stringcasecmp(Arch,x.Arch); - } - return A; - } - - bool operator <(const PkgName &x) const {return Compare3(x) < 0;}; - bool operator >(const PkgName &x) const {return Compare3(x) > 0;}; - bool operator ==(const PkgName &x) const {return Compare3(x) == 0;}; -}; - -// DoIt - Sort a single file /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool DoIt(string InFile) -{ - FileFd Fd(InFile,FileFd::ReadOnly); - pkgTagFile Tags(&Fd); - if (_error->PendingError() == true) - return false; - - // Parse. - vector List; - pkgTagSection Section; - unsigned long Largest = 0; - unsigned long Offset = Tags.Offset(); - bool Source = _config->FindB("APT::SortPkgs::Source",false); - while (Tags.Step(Section) == true) - { - PkgName Tmp; - - /* Fetch the name, auto-detecting if this is a source file or a - package file */ - Tmp.Name = Section.FindS("Package"); - Tmp.Ver = Section.FindS("Version"); - Tmp.Arch = Section.FindS("Architecture"); - - if (Tmp.Name.empty() == true) - return _error->Error(_("Unknown package record!")); - - Tmp.Offset = Offset; - Tmp.Length = Section.size(); - if (Largest < Tmp.Length) - Largest = Tmp.Length; - - List.push_back(Tmp); - - Offset = Tags.Offset(); - } - if (_error->PendingError() == true) - return false; - - // Sort it - sort(List.begin(),List.end()); - - const char **Order = TFRewritePackageOrder; - if (Source == true) - Order = TFRewriteSourceOrder; - - // Emit - unsigned char *Buffer = new unsigned char[Largest+1]; - for (vector::iterator I = List.begin(); I != List.end(); I++) - { - // Read in the Record. - if (Fd.Seek(I->Offset) == false || Fd.Read(Buffer,I->Length) == false) - { - delete [] Buffer; - return false; - } - - Buffer[I->Length] = '\n'; - if (Section.Scan((char *)Buffer,I->Length+1) == false) - { - delete [] Buffer; - return _error->Error("Internal error, failed to scan buffer"); - } - - // Sort the section - if (TFRewrite(stdout,Section,Order,0) == false) - { - delete [] Buffer; - return _error->Error("Internal error, failed to sort fields"); - } - - fputc('\n',stdout); - } - - delete [] Buffer; - return true; -} - /*}}}*/ -// ShowHelp - Show the help text /*{{{*/ -// --------------------------------------------------------------------- -/* */ -int ShowHelp() -{ - ioprintf(cout,_("%s %s for %s %s compiled on %s %s\n"),PACKAGE,VERSION, - COMMON_OS,COMMON_CPU,__DATE__,__TIME__); - if (_config->FindB("version") == true) - return 0; - - cout << - _("Usage: apt-sortpkgs [options] file1 [file2 ...]\n" - "\n" - "apt-sortpkgs is a simple tool to sort package files. The -s option is used\n" - "to indicate what kind of file it is.\n" - "\n" - "Options:\n" - " -h This help text\n" - " -s Use source file sorting\n" - " -c=? Read this configuration file\n" - " -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n"); - - return 0; -} - /*}}}*/ - -int main(unsigned int argc,const char *argv[]) -{ - CommandLine::Args Args[] = { - {'h',"help","help",0}, - {'v',"version","version",0}, - {'s',"source","APT::SortPkgs::Source",0}, - {'c',"config-file",0,CommandLine::ConfigFile}, - {'o',"option",0,CommandLine::ArbItem}, - {0,0,0,0}}; - - // Set up gettext support - setlocale(LC_ALL,""); - textdomain(PACKAGE); - - // Parse the command line and initialize the package library - CommandLine CmdL(Args,_config); - if (pkgInitConfig(*_config) == false || - CmdL.Parse(argc,argv) == false || - pkgInitSystem(*_config,_system) == false) - { - _error->DumpErrors(); - return 100; - } - - // See if the help should be shown - if (_config->FindB("help") == true || - CmdL.FileSize() == 0) - return ShowHelp(); - - // Match the operation - for (unsigned int I = 0; I != CmdL.FileSize(); I++) - if (DoIt(CmdL.FileList[I]) == false) - break; - - // Print any errors or warnings found during parsing - if (_error->empty() == false) - { - bool Errors = _error->PendingError(); - _error->DumpErrors(); - return Errors == true?100:0; - } - - return 0; -} diff --git a/apt/cmdline/makefile b/apt/cmdline/makefile deleted file mode 100644 index b8443be..0000000 --- a/apt/cmdline/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=cmdline - -# Bring in the default rules -include ../buildlib/defaults.mak - -# CNC:2003-02-17 - Included $(RPMLIBS) in SLIBS for each program. We need -# that in case the program is going to be linked with the -# static libapt-pkg library. - -# The apt-cache program -PROGRAM=apt-cache -SLIBS = -lapt-pkg $(RPMLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = apt-cache.cc -include $(PROGRAM_H) - -# The apt-get program -PROGRAM=apt-get -SLIBS = -lapt-pkg $(RPMLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = apt-get.cc acqprogress.cc -include $(PROGRAM_H) - -# CNC:2003-03-05 -ifdef COMPILE_APTSHELL -# The apt-shell program -PROGRAM=apt-shell -SLIBS = -lapt-pkg -lreadline -lncurses $(RPMLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = apt-shell.cc acqprogress.cc -include $(PROGRAM_H) -endif - -# The apt-config program -PROGRAM=apt-config -SLIBS = -lapt-pkg $(RPMLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = apt-config.cc -include $(PROGRAM_H) - -# The apt-cdrom program -PROGRAM=apt-cdrom -SLIBS = -lapt-pkg $(RPMLIBS) -LIB_MAKES = apt-pkg/makefile -# CNC:2002-07-11 -SOURCE = apt-cdrom.cc rpmindexcopy.cc -include $(PROGRAM_H) - -# CNC:2003-02-15 -WITH_APT_SORTPKGS=no -ifeq ($(WITH_APT_SORTPKGS),yes) -# The apt-sortpkgs program -PROGRAM=apt-sortpkgs -SLIBS = -lapt-pkg $(RPMLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = apt-sortpkgs.cc -include $(PROGRAM_H) -endif - -# CNC:2003-02-15 -WITH_APT_EXTRACTTEMPLATES=no -ifeq ($(WITH_APT_EXTRACTTEMPLATES),yes) -# The apt-extracttemplates program -PROGRAM=apt-extracttemplates -SLIBS = -lapt-pkg -lapt-inst $(RPMLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = apt-extracttemplates.cc -include $(PROGRAM_H) -endif diff --git a/apt/cmdline/rpmindexcopy.cc b/apt/cmdline/rpmindexcopy.cc index b64c970..8697317 100644 --- a/apt/cmdline/rpmindexcopy.cc +++ b/apt/cmdline/rpmindexcopy.cc @@ -42,22 +42,6 @@ string RPMIndexCopy::RipDirectory(string Path) return string(Path, 0, Path.rfind('/')); } - -static int strrcmp_(const char *a, const char *b) -{ - int la = strlen(a); - int lb = strlen(b); - - if (la == 0 || lb == 0) - return 0; - - if (la > lb) - return strcmp(&a[la-lb], b); - else - return strcmp(&b[lb-la], a); -} - - bool RPMIndexCopy::CopyPackages(string CDROM,string Name,vector &List) { OpTextProgress Progress; diff --git a/apt/configure b/apt/configure index 2b1247d..26f7433 100755 --- a/apt/configure +++ b/apt/configure @@ -1,9 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.56. +# Generated by GNU Autoconf 2.58 for apt 0.5.15cnc5. # -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## @@ -20,9 +19,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -41,7 +41,7 @@ for as_var in \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -218,16 +218,17 @@ rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -240,6 +241,165 @@ IFS=" $as_nl" $as_unset CDPATH +# Find the correct PATH separator. Usually this is `:', but +# DJGPP uses `;' like DOS. +if test "X${PATH_SEPARATOR+set}" != Xset; then + UNAME=${UNAME-`uname 2>/dev/null`} + case X$UNAME in + *-DOS) lt_cv_sys_path_separator=';' ;; + *) lt_cv_sys_path_separator=':' ;; + esac + PATH_SEPARATOR=$lt_cv_sys_path_separator +fi + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null && + echo_test_string="`eval $cmd`" && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. @@ -264,11 +424,11 @@ SHELL=${CONFIG_SHELL-/bin/sh} : ${ac_max_here_lines=38} # Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= +PACKAGE_NAME='apt' +PACKAGE_TARNAME='apt' +PACKAGE_VERSION='0.5.15cnc5' +PACKAGE_STRING='apt 0.5.15cnc5' +PACKAGE_BUGREPORT='' ac_unique_file="configure.in" # Factoring default headers for most tests. @@ -308,7 +468,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP RANLIB ac_ct_RANLIB AR ac_ct_AR SOCKETLIBS PTHREADLIB EGREP DB2LIB RPMLIBS COMPILE_APTSHELL HAVE_STATVFS HAVE_TIMEGM HAVE_C9X NEED_SOCKLEN_T_DEFINE DEBIANDOC_HTML DEBIANDOC_TEXT DOCBOOK2MAN GETCONF NUM_CPUS PROC_MULTIPLY NUM_PROCS GLIBC_VER LIBSTDCPP_VER GCC3DEP MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE USE_NLS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB BASH LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S ECHO RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE SOCKETLIBS PTHREADLIB RPM_PATH RPMLIBS WITH_LUA_TRUE WITH_LUA_FALSE COMPILE_APTSHELL_TRUE COMPILE_APTSHELL_FALSE NEED_INTTYPES_H_TRUE NEED_INTTYPES_H_FALSE NEED_STATVFS_H_TRUE NEED_STATVFS_H_FALSE HAVE_TIMEGM NEED_SOCKLEN_T_DEFINE NEED_NETDB_H_TRUE NEED_NETDB_H_FALSE DOCBOOK2MAN COMPILE_MANPAGES_TRUE COMPILE_MANPAGES_FALSE MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON USE_NLS BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT INTLOBJS DATADIRNAME INSTOBJEXT GENCAT INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB GLIBC_VER LIBSTDCPP_VER LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -667,7 +827,7 @@ done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir + localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in @@ -707,10 +867,10 @@ if test -z "$srcdir"; then # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -765,6 +925,10 @@ ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} @@ -773,10 +937,6 @@ ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP # # Report the --help message. @@ -785,7 +945,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. +\`configure' configures apt 0.5.15cnc5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -810,9 +970,9 @@ _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -846,33 +1006,39 @@ Program names: System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] - --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then - + case $ac_init_help in + short | recursive ) echo "Configuration of apt 0.5.15cnc5:";; + esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-shared=PKGS build shared libraries default=yes + --enable-static=PKGS build static libraries default=yes + --enable-fast-install=PKGS optimize for fast installation default=yes --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors + --disable-libtool-lock avoid locking (might break parallel builds) + --disable-scripts disable the extension system + --disable-docs do not compile documentation --disable-rpath do not hardcode runtime library paths --disable-nls do not use Native Language Support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-hashmap use the c++ hash_map extension - --with-cpus The number of cpus to be used for building(see --with-procs, default 1) - --with-getconf Enable automagical buildtime configuration - --with-proc-multiply Multiply this * number of cpus for parallel making(default 2). - --with-procs The number of processes to run in parallel during make(num_cpus * multiplier). --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-pic try to use only PIC/non-PIC objects default=use both --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-included-gettext use the GNU gettext library included here --with-libintl-prefix=DIR search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir @@ -883,9 +1049,9 @@ Some influential environment variables: nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory + CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags - CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -923,12 +1089,42 @@ case $srcdir in ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` +case "$ac_dir" in +.) ac_abs_builddir=$ac_builddir;; +*) + case $ac_builddir in + .) ac_abs_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_builddir=$ac_builddir;; + *) ac_abs_builddir="$ac_dir"/$ac_builddir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir="$ac_dir"/${ac_top_builddir}.;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir="$ac_dir"/$ac_srcdir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir="$ac_dir"/$ac_top_srcdir;; + esac;; +esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. @@ -939,7 +1135,7 @@ ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then + test -f $ac_srcdir/configure.in; then echo $ac_configure --help else @@ -952,9 +1148,10 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF +apt configure 0.5.15cnc5 +generated by GNU Autoconf 2.58 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -965,8 +1162,8 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by $as_me, which was -generated by GNU Autoconf 2.56. Invocation command line was +It was created by apt $as_me 0.5.15cnc5, which was +generated by GNU Autoconf 2.58. Invocation command line was $ $0 $@ @@ -1043,19 +1240,19 @@ do 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. + ac_must_keep_next=false # Got value, back to normal. else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. @@ -1089,12 +1286,12 @@ _ASBOX case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } @@ -1123,7 +1320,7 @@ _ASBOX for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi @@ -1142,7 +1339,7 @@ _ASBOX echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 - rm -f core core.* *.core && + rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 @@ -1222,7 +1419,7 @@ fi # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" @@ -1239,13 +1436,13 @@ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. @@ -1286,6 +1483,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + @@ -1318,10 +1523,6 @@ ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - ac_config_headers="$ac_config_headers include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in" - - - # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 @@ -1376,34 +1577,6 @@ host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$as_me:$LINENO: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 -target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- am__api_version="1.7" # Find a good install program. We prefer a C program (faster), @@ -1417,6 +1590,7 @@ am__api_version="1.7" # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 @@ -1433,6 +1607,7 @@ do case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -1440,20 +1615,20 @@ case $as_dir/ in # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi done done ;; @@ -1597,7 +1772,7 @@ done echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -1624,6 +1799,15 @@ echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then @@ -1643,8 +1827,8 @@ fi # Define the identity of the package. - PACKAGE="apt" - VERSION="0.5.5cnc4.1" + PACKAGE='apt' + VERSION='0.5.15cnc5' cat >>confdefs.h <<_ACEOF @@ -1770,6 +1954,163 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 + # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval="$enable_maintainer_mode" + USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi; + echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + ac_config_headers="$ac_config_headers include/config.h:buildlib/config.h.in" + + +# Check whether --enable-shared or --disable-shared was given. +if test "${enable_shared+set}" = set; then + enableval="$enable_shared" + p=${PACKAGE-default} +case $enableval in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_shared=yes +fi; +# Check whether --enable-static or --disable-static was given. +if test "${enable_static+set}" = set; then + enableval="$enable_static" + p=${PACKAGE-default} +case $enableval in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) + enable_static=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_static=yes +fi; +# Check whether --enable-fast-install or --disable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval="$enable_fast_install" + p=${PACKAGE-default} +case $enableval in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_fast_install=yes +fi; +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + ac_ext=c @@ -2108,7 +2449,6 @@ ac_compiler=`set X $ac_compile; echo $2` (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2128,8 +2468,8 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 @@ -2149,23 +2489,23 @@ do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; + ;; conftest.$ac_ext ) - # This is the source file. - ;; + # This is the source file. + ;; [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; + # We found the default executable, but exeext='' is most + # certainly right. + break;; *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext - break;; + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; * ) - break;; + break;; esac done else @@ -2239,8 +2579,8 @@ for ac_file in conftest.exe conftest conftest.*; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; + export ac_cv_exeext + break;; * ) break;; esac done @@ -2265,7 +2605,6 @@ if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2316,7 +2655,6 @@ if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2336,11 +2674,21 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -2353,7 +2701,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi @@ -2369,7 +2717,6 @@ if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2386,11 +2733,21 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -2403,7 +2760,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 @@ -2430,7 +2787,6 @@ else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2458,6 +2814,16 @@ static char *f (char * (*g) (char **, int), char **p, ...) va_end (v); return s; } + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -2484,11 +2850,21 @@ do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -2501,7 +2877,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext +rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC @@ -2529,19 +2905,28 @@ cat >conftest.$ac_ext <<_ACEOF _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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 \ - ''\ - '#include ' \ + '' \ '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 ();' \ @@ -2549,14 +2934,13 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include $ac_declaration +#include int main () { @@ -2567,11 +2951,21 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -2584,9 +2978,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 continue fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2603,11 +2996,21 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -2619,7 +3022,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -2633,85 +3036,12 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null - - - ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -doit: - @echo done -END -# If we don't find an include directive, just comment out the code. -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6 -rm -f confinc confmf - -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval="$enable_dependency_tracking" - -fi; -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - depcc="$CC" am_compiler_list= @@ -2731,18 +3061,32 @@ else # 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 am_cv_CC_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. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + : > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) @@ -2760,13 +3104,20 @@ else # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c -o conftest.o conftest.c >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_CC_dependencies_compiler_type=$depmode - break + # icc doesn't choke on unknown options, it will just issue warnings + # (even with -Werror). So we grep stderr for any message + # that says an option was ignored. + if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi fi done @@ -2794,6 +3145,5856 @@ else fi +# Find the correct PATH separator. Usually this is `:', but +# DJGPP uses `;' like DOS. +if test "X${PATH_SEPARATOR+set}" != Xset; then + UNAME=${UNAME-`uname 2>/dev/null`} + case X$UNAME in + *-DOS) lt_cv_sys_path_separator=';' ;; + *) lt_cv_sys_path_separator=':' ;; + esac + PATH_SEPARATOR=$lt_cv_sys_path_separator +fi + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$lt_cv_path_LD" +if test -n "$LD"; then + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + lt_cv_prog_gnu_ld=yes +else + lt_cv_prog_gnu_ld=no +fi +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 +with_gnu_ld=$lt_cv_prog_gnu_ld + + +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 +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 +reload_flag=$lt_cv_ld_reload_flag +test -n "$reload_flag" && reload_flag=" $reload_flag" + +echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/${ac_tool_prefix}nm + if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then + lt_cv_path_NM="$tmp_nm -B" + break + elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + lt_cv_path_NM="$tmp_nm -p" + break + else + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + fi + fi + done + IFS="$ac_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi + +NM="$lt_cv_path_NM" +echo "$as_me:$LINENO: result: $NM" >&5 +echo "${ECHO_T}$NM" >&6 + +echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6 +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_executable_p="test -f" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext" + fi + done + done +done + + # Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. +: ${TMPDIR=/tmp} +{ + tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=$TMPDIR/sed$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } +} + _max=0 + _count=0 + # Add /usr/xpg4/bin/sed as it is typically found on Solaris + # along with /bin/sed that truncates output. + for _sed in $_sed_list /usr/xpg4/bin/sed; do + test ! -f ${_sed} && break + cat /dev/null > "$tmp/sed.in" + _count=0 + echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in" + # Check for GNU sed and select it if it is found. + if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then + lt_cv_path_SED=${_sed} + break + fi + while true; do + cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" + mv "$tmp/sed.tmp" "$tmp/sed.in" + cp "$tmp/sed.in" "$tmp/sed.nl" + echo >>"$tmp/sed.nl" + ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break + cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break + # 40000 chars as input seems more than enough + test $_count -gt 10 && break + _count=`expr $_count + 1` + if test $_count -gt $_max; then + _max=$_count + lt_cv_path_SED=$_sed + fi + done + done + rm -rf "$tmp" + +fi + +if test "X$SED" != "X"; then + lt_cv_path_SED=$SED +else + SED=$lt_cv_path_SED +fi +echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6 + +echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6 +fi + +echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6 +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given egrep regex. +# 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. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi4*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin* | mingw* | pw32*) + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.[012]) + lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + ;; + +freebsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20*|hpux11*) + 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_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux-gnu*) + case $host_cpu in + alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$' + fi + ;; + +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 + ;; + +openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + 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 + ;; +esac + +fi +echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method + + + + + + + + +# 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" >&5 +echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6 +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_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 +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris* | sysv5*) + symcode='[BDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $host_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then + symcode='[ABCDGISTW]' +fi + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # 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'" + + # Check to see that the pipe works correctly. + pipe_works=no + 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 + + # Make sure that we snagged all the symbols we need. + if egrep ' nm_test_var$' "$nlist" >/dev/null; then + if egrep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{ +EOF + sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$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="$save_LIBS" + CFLAGS="$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* + + # 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 + +fi + +global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" +if test -z "$lt_cv_sys_global_symbol_pipe"; then + global_symbol_to_cdecl= + global_symbol_to_c_name_address= +else + global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" + global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" +fi +if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; +then + echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6 +else + echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6 +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (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 + : +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 + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (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 + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (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 + : +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 + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (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 + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+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 + +int +main () +{ + + ; + 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_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +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 + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +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); } && { ac_try='./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 + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +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 + 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 + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +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_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.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 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (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 + +# 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 apt 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 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in + /*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; + ?:/*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. + ;; + *) + ac_save_MAGIC_CMD="$MAGIC_CMD" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="/usr/bin:$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$ac_save_ifs" + MAGIC_CMD="$ac_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in + /*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; + ?:/*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. + ;; + *) + ac_save_MAGIC_CMD="$MAGIC_CMD" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="/usr/bin:$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$ac_save_ifs" + MAGIC_CMD="$ac_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" + +fi; +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 4755 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +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_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. */ + +int +main () +{ + + ; + 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 + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +lt_cv_cc_needs_belf=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +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 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + + +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" +need_locks="$enable_libtool_lock" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +if test x"$host" != x"$build"; then + ac_tool_prefix=${host_alias}- +else + ac_tool_prefix= +fi + +# Transform linux* to *-*-linux-gnu*, to support old configure scripts. +case $host_os in +linux-gnu*) ;; +linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` +esac + +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 + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# Allow CC to be a program name with arguments. +set dummy $CC +compiler="$2" + +echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6 +rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + objdir=_libs +fi +rmdir .libs 2>/dev/null +echo "$as_me:$LINENO: result: $objdir" >&5 +echo "${ECHO_T}$objdir" >&6 + + + +# Check whether --with-pic or --without-pic was given. +if test "${with_pic+set}" = set; then + withval="$with_pic" + pic_mode="$withval" +else + pic_mode=default +fi; +test -z "$pic_mode" && pic_mode=default + +# We assume here that the value for lt_cv_prog_cc_pic will not be cached +# in isolation, and that seeing it set (from the cache) indicates that +# the associated values are set (in the cache) correctly too. +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 "${lt_cv_prog_cc_pic+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_cc_pic= + lt_cv_prog_cc_shlib= + lt_cv_prog_cc_wl= + lt_cv_prog_cc_static= + lt_cv_prog_cc_no_builtin= + lt_cv_prog_cc_can_build_shared=$can_build_shared + + if test "$GCC" = yes; then + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static='-static' + + case $host_os in + aix*) + # Below there is a dirty hack to force normal static linking with -ldl + # The problem is because libdl dynamically linked with both libc and + # libC (AIX C++ library), which obviously doesn't included in libraries + # list by gcc. This cause undefined symbols with -static flags. + # This hack allows C programs to be linked with "-static -ldl", but + # not sure about C++ programs. + lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" + ;; + 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_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_cv_prog_cc_pic='-fno-common' + ;; + cygwin* | 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_cv_prog_cc_pic='-DDLL_EXPORT' + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_cv_prog_cc_pic=-Kconform_pic + fi + ;; + *) + lt_cv_prog_cc_pic='-fPIC' + ;; + esac + else + # PORTME Check for PIC flags for the system compiler. + case $host_os in + aix3* | aix4* | aix5*) + lt_cv_prog_cc_wl='-Wl,' + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_cv_prog_cc_static='-Bstatic' + else + lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + hpux9* | hpux10* | hpux11*) + # Is there a better lt_cv_prog_cc_static that works with the bundled CC? + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" + lt_cv_prog_cc_pic='+Z' + ;; + + irix5* | irix6* | nonstopux*) + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static='-non_shared' + # PIC (with -KPIC) is the default. + ;; + + cygwin* | 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_cv_prog_cc_pic='-DDLL_EXPORT' + ;; + + newsos6) + lt_cv_prog_cc_pic='-KPIC' + lt_cv_prog_cc_static='-Bstatic' + ;; + + osf3* | osf4* | osf5*) + # All OSF/1 code is PIC. + lt_cv_prog_cc_wl='-Wl,' + lt_cv_prog_cc_static='-non_shared' + ;; + + sco3.2v5*) + lt_cv_prog_cc_pic='-Kpic' + lt_cv_prog_cc_static='-dn' + lt_cv_prog_cc_shlib='-belf' + ;; + + solaris*) + lt_cv_prog_cc_pic='-KPIC' + lt_cv_prog_cc_static='-Bstatic' + lt_cv_prog_cc_wl='-Wl,' + ;; + + sunos4*) + lt_cv_prog_cc_pic='-PIC' + lt_cv_prog_cc_static='-Bstatic' + lt_cv_prog_cc_wl='-Qoption ld ' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_cv_prog_cc_pic='-KPIC' + lt_cv_prog_cc_static='-Bstatic' + lt_cv_prog_cc_wl='-Wl,' + ;; + + uts4*) + lt_cv_prog_cc_pic='-pic' + lt_cv_prog_cc_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_cv_prog_cc_pic='-Kconform_pic' + lt_cv_prog_cc_static='-Bstatic' + fi + ;; + + *) + lt_cv_prog_cc_can_build_shared=no + ;; + esac + fi + +fi + +if test -z "$lt_cv_prog_cc_pic"; then + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 +else + echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5 +echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6 + + # Check to make sure the pic_flag actually works. + echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6 + if test "${lt_cv_prog_cc_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (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 + case $host_os in + hpux9* | hpux10* | hpux11*) + # On HP-UX, both CC and GCC only warn that PIC is supported... then + # they create non-PIC objects. So, if there were any warnings, we + # assume that PIC is not supported. + if test -s conftest.err; then + lt_cv_prog_cc_pic_works=no + else + lt_cv_prog_cc_pic_works=yes + fi + ;; + *) + lt_cv_prog_cc_pic_works=yes + ;; + esac + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_prog_cc_pic_works=no + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$save_CFLAGS" + +fi + + + if test "X$lt_cv_prog_cc_pic_works" = Xno; then + lt_cv_prog_cc_pic= + lt_cv_prog_cc_can_build_shared=no + else + lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" + fi + + echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5 +echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6 +fi + +# Check for any special shared library compilation flags. +if test -n "$lt_cv_prog_cc_shlib"; then + { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5 +echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;} + if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$lt_cv_prog_cc_shlib[ ]" >/dev/null; then : + else + { echo "$as_me:$LINENO: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 +echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} + lt_cv_prog_cc_can_build_shared=no + fi +fi + +echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6 +if test "${lt_cv_prog_cc_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_cc_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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 + lt_cv_prog_cc_static_works=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + +fi + + +# Belt *and* braces to stop my trousers falling down: +test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= +echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5 +echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6 + +pic_flag="$lt_cv_prog_cc_pic" +special_shlib_compile_flags="$lt_cv_prog_cc_shlib" +wl="$lt_cv_prog_cc_wl" +link_static_flag="$lt_cv_prog_cc_static" +no_builtin_flag="$lt_cv_prog_cc_no_builtin" +can_build_shared="$lt_cv_prog_cc_can_build_shared" + + +# Check to see if options -o and -c are simultaneously supported by compiler +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_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +$rm -r conftest 2>/dev/null +mkdir conftest +cd conftest +echo "int some_variable = 0;" > conftest.$ac_ext +mkdir out +# According to Tom Tromey, Ian Lance Taylor reported there are C compilers +# that will create temporary files in the current directory regardless of +# the output directory. Thus, making CWD read-only will cause this test +# to fail, enabling locking or at least warning the user not to do parallel +# builds. +chmod -w . +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" +compiler_c_o=no +if { (eval echo configure:5313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s out/conftest.err; then + lt_cv_compiler_c_o=no + else + lt_cv_compiler_c_o=yes + fi +else + # Append any errors to the config.log. + cat out/conftest.err 1>&5 + lt_cv_compiler_c_o=no +fi +CFLAGS="$save_CFLAGS" +chmod u+w . +$rm conftest* out/* +rmdir out +cd .. +rmdir conftest +$rm -r conftest 2>/dev/null + +fi + +compiler_c_o=$lt_cv_compiler_c_o +echo "$as_me:$LINENO: result: $compiler_c_o" >&5 +echo "${ECHO_T}$compiler_c_o" >&6 + +if test x"$compiler_c_o" = x"yes"; then + # Check to see if we can write to a .lo + echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6 + if test "${lt_cv_compiler_o_lo+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + lt_cv_compiler_o_lo=no + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -c -o conftest.lo" + save_objext="$ac_objext" + ac_objext=lo + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +int some_variable = 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 + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + lt_cv_compiler_o_lo=no + else + lt_cv_compiler_o_lo=yes + fi + +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 + ac_objext="$save_objext" + CFLAGS="$save_CFLAGS" + +fi + + compiler_o_lo=$lt_cv_compiler_o_lo + echo "$as_me:$LINENO: result: $compiler_o_lo" >&5 +echo "${ECHO_T}$compiler_o_lo" >&6 +else + compiler_o_lo=no +fi + +# Check to see if we can do hard links to lock some files if needed +hard_links="nottested" +if test "$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 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +if test "$GCC" = yes; then + # Check to see if options -fno-rtti -fno-exceptions are supported by compiler + echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 + echo "int some_variable = 0;" > conftest.$ac_ext + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" + compiler_rtti_exceptions=no + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +int some_variable = 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 + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + compiler_rtti_exceptions=no + else + compiler_rtti_exceptions=yes + fi + +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 + CFLAGS="$save_CFLAGS" + echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$compiler_rtti_exceptions" >&6 + + if test "$compiler_rtti_exceptions" = "yes"; then + no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' + else + no_builtin_flag=' -fno-builtin' + fi +fi + +# See if the linker supports building shared libraries. +echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6 + +allow_undefined_flag= +no_undefined_flag= +need_lib_prefix=unknown +need_version=unknown +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +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_into_libs=no +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no +hardcode_shlibpath_var=unsupported +runpath_var= +link_all_deplibs=unknown +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= +# exclude_expsyms can be an egrep regular expression 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="_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 +# rely on this symbol name, it's probably fine to never include it in +# preloaded symbol tables. +extract_expsyms_cmds= + +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 + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX, the GNU linker is very broken + # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. + ld_shlibs=no + cat <&2 + +*** 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. + +EOF + ;; + + amigaos*) + 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 + # 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 use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # 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 + always_export_symbols=yes + + extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ + sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ + test -f $output_objdir/impgen.exe || (cd $output_objdir && \ + if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ + else $CC -o impgen impgen.c ; fi)~ + $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' + + old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' + + # cygwin and mingw dlls have different entry points and sets of symbols + # to exclude. + # FIXME: what about values for MSVC? + dll_entry=__cygwin_dll_entry@12 + dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ + case $host_os in + mingw*) + # mingw values + dll_entry=_DllMainCRTStartup@12 + dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ + ;; + esac + + # mingw and cygwin differ, and it's simplest to just exclude the union + # of the two symbol sets. + dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 + + # recent cygwin and mingw systems supply a stub DllMain which the user + # can override, but on older systems we have to supply one (in ltdll.c) + if test "x$lt_cv_need_dllmain" = "xyes"; then + ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " + ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ + test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' + else + ltdll_obj= + ltdll_cmds= + fi + + # Extract the symbol export list from an `--export-all' def file, + # then regenerate the def file from the symbol export list, so that + # the compiled dll only exports the symbol export list. + # Be careful not to strip the DATA tag left be newer dlltools. + export_symbols_cmds="$ltdll_cmds"' + $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ + sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' + + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is. + # If DATA tags from a recent dlltool are present, honour them! + 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; + _lt_hint=1; + cat $export_symbols | while read symbol; do + set dummy \$symbol; + case \$# in + 2) echo " \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; + 4) echo " \$2 \$3 \$4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;; + *) echo " \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;; + esac; + _lt_hint=`expr 1 + \$_lt_hint`; + done; + fi~ + '"$ltdll_cmds"' + $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ + $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ + $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared -nodefaultlibs $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 | egrep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** 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. + +EOF + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + 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=no + fi + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + 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=no + fi + ;; + esac + + if test "$ld_shlibs" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + case $host_os in + cygwin* | mingw* | pw32*) + # dlltool doesn't understand --whole-archive et. al. + whole_archive_flag_spec= + ;; + *) + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + ;; + esac + fi +else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + 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=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=unsupported + 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 + aix_use_runtimelinking=no + + # 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' + fi + + # 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. + + hardcode_direct=yes + archive_cmds='' + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + 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=yes + else + # We have old collect2 + 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=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + shared_flag='${wl}-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall can do strange things, so it is better to + # generate a list of symbols to export. + 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='-berok' + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' + 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='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='${wl}-berok' + # This is a bit strange, but is similar to how AIX traditionally builds + # it's shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' + fi + fi + ;; + + amigaos*) + 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=no + ;; + + 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=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # FIXME: Setting linknames here is a bad hack. + 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='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + ;; + + darwin* | rhapsody*) + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag='-undefined suppress' + ;; + *) # Darwin 1.3 on + allow_undefined_flag='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)' + # We need to add '_' to the symbols in $export_symbols first + #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' + hardcode_direct=yes + hardcode_shlibpath_var=no + whole_archive_flag_spec='-all_load $convenience' + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # 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='$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='$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. + freebsd*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9* | hpux10* | hpux11*) + case $host_os in + hpux9*) 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' ;; + *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; + esac + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_minus_L=yes # Not in the search PATH, but as the default + # location of the library. + export_dynamic_flag_spec='${wl}-E' + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + 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' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + 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='-rpath $libdir' + fi + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + 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=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' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$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='-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=' ${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=' -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='${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=' ${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' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' + + #Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + sco3.2v5*) + 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 + export_dynamic_flag_spec='${wl}-Bexport' + ;; + + solaris*) + # gcc --version < 3.0 without binutils cannot create self contained + # shared libraries reliably, requiring libgcc.a to resolve some of + # the object symbols generated in some cases. Libraries that use + # assert need libgcc.a to resolve __eprintf, for example. Linking + # a copy of libgcc.a into every shared library to guarantee resolving + # such symbols causes other problems: According to Tim Van Holder + # , C++ libraries end up with a separate + # (to the application) exception stack for one thing. + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + case `$CC --version 2>/dev/null` in + [12].*) + cat <&2 + +*** Warning: Releases of GCC earlier than version 3.0 cannot reliably +*** create self contained shared libraries on Solaris systems, without +*** introducing a dependency on libgcc.a. Therefore, libtool is disabling +*** -no-undefined support, which will at least allow you to build shared +*** libraries. However, you may find that when you link such libraries +*** into an application without using GCC, you have to manually add +*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to +*** upgrade to a newer version of GCC. Another option is to rebuild your +*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. + +EOF + no_undefined_flag= + ;; + esac + fi + # $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='$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='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + esac + 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='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + 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='$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='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + 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=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv5*) + 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='$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= + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + 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=yes + fi + ;; + + sysv4.2uw2*) + 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 + ;; + + sysv5uw7* | unixware7*) + no_undefined_flag='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac +fi +echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6 +test "$ld_shlibs" = no && can_build_shared=no + +# Check hardcoding attributes. +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var"; then + + # We can hardcode non-existant directories. + 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 "$hardcode_shlibpath_var" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6 + +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 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +reload_cmds='$LD$reload_flag -o $output$reload_objs' +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +# PORTME Fill in your ld.so characteristics +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= +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" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}.so$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}.so$major ${libname}${release}.so$versuffix $libname.so' + 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}.so$versuffix ${libname}${release}.so$major $libname.so' + 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}.so$major' + fi + shlibpath_var=LIBPATH + fi + hardcode_into_libs=yes + ;; + +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}.so' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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" + export_dynamic_flag_spec=-rdynamic + # 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 + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + need_version=no + need_lib_prefix=no + case $GCC,$host_os in + yes,cygwin*) + library_names_spec='$libname.dll.a' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' + postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog .libs/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + ;; + yes,mingw*) + library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"` + ;; + yes,pw32*) + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll' + ;; + *) + library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $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 + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. + library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' + soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + *) + 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}.so$versuffix ${libname}${release}.so${major} ${libname}.so' + soname_spec='${libname}${release}.so$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 + # link against other versions. + dynamic_linker="$host_os dld.sl" + version_type=sunos + need_lib_prefix=no + need_version=no + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' + soname_spec='${libname}${release}.sl$major' + # 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 ;; + *) version_type=irix ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 ") 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}" + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux-gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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 + + # 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' + ;; + +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}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' + soname_spec='${libname}${release}.so$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case "$host_os" in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + ;; + +os2*) + libname_spec='$name' + need_lib_prefix=no + library_names_spec='$libname.dll $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_version=no + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + 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" + hardcode_into_libs=yes + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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}.so$versuffix ${libname}.so$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}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$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 + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' + soname_spec='$libname.so.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +*) + 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 + +# Report the final consequences. +echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6 + +if test "$hardcode_action" = 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 + +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 + +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 + ;; + + cygwin* | mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + *) + echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 +if test "${ac_cv_func_shl_load+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 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; +} +_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_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_shl_load=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6 +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +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 + 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. */ + +/* 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 + +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 + +/* 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 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 + +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 + +ac_cv_func_dlopen=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +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 + +ac_cv_lib_dl_dlopen=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_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +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 + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_svld_dlopen=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_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +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 + 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. */ + +/* 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 + +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 + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + 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" + + 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 + +#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 + +/* 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 () +{ + 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); +} +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; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6 + + 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 + +#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 + +/* 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 () +{ + 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); +} +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; ) 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 + 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 + + 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 + + +if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds 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 + if test "${lt_cv_archive_cmds_need_lc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + $rm conftest* + echo 'static int dummy;' > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_cv_prog_cc_wl + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + 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 + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi +fi + + echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5 +echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6 + ;; + esac +fi +need_lc=${lt_cv_archive_cmds_need_lc-yes} + +# The second 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 + : +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. + test -f Makefile && make "$ltmain" +fi + +if test -f "$ltmain"; then + trap "$rm \"${ofile}T\"; exit 1" 1 2 15 + $rm -f "${ofile}T" + + echo creating $ofile + + # 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 SED \ + AR AR_FLAGS CC LD LN_S NM SHELL \ + reload_flag reload_cmds wl \ + pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ + thread_safe_flag_spec whole_archive_flag_spec libname_spec \ + library_names_spec soname_spec \ + RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ + old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ + postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ + old_striplib striplib file_magic_cmd export_symbols_cmds \ + deplibs_check_method allow_undefined_flag no_undefined_flag \ + finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ + global_symbol_to_c_name_address \ + hardcode_libdir_flag_spec hardcode_libdir_separator \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do + + case $var in + reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ + extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + finish_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 + + cat <<__EOF__ > "${ofile}T" +#! $SHELL + +# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996-2000 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="${SED} -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# ### BEGIN LIBTOOL CONFIG + +# 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=$need_lc + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# The default C compiler. +CC=$lt_CC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# The linker used to build libraries. +LD=$lt_LD + +# 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=$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" + +# Used on cygwin: assembler. +AS="$AS" + +# 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_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_pic_flag +pic_mode=$pic_mode + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_compiler_c_o + +# Can we write directly to a .lo ? +compiler_o_lo=$lt_compiler_o_lo + +# 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 + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# 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_link_static_flag + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# 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 + +# 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 +old_archive_cmds=$lt_old_archive_cmds +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 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# 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 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# 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 + +# 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 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +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 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# 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 + +# 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" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +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 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + case $host_os in + aix3*) + cat <<\EOF >> "${ofile}T" + +# 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 + + case $host_os in + cygwin* | mingw* | pw32* | os2*) + cat <<'EOF' >> "${ofile}T" + # This is a source program that is used to create dlls on Windows + # Don't remove nor modify the starting and closing comments +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ + # This is a source program that is used to create import libraries + # on Windows for dlls which lack them. Don't remove nor modify the + # starting and closing comments +# /* impgen.c starts here */ +# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. +# +# This file is part of GNU libtool. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# */ +# +# #include /* for printf() */ +# #include /* for open(), lseek(), read() */ +# #include /* for O_RDONLY, O_BINARY */ +# #include /* for strdup() */ +# +# /* O_BINARY isn't required (or even defined sometimes) under Unix */ +# #ifndef O_BINARY +# #define O_BINARY 0 +# #endif +# +# static unsigned int +# pe_get16 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[2]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 2); +# return b[0] + (b[1]<<8); +# } +# +# static unsigned int +# pe_get32 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[4]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 4); +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# static unsigned int +# pe_as32 (ptr) +# void *ptr; +# { +# unsigned char *b = ptr; +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# int +# main (argc, argv) +# int argc; +# char *argv[]; +# { +# int dll; +# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; +# unsigned long export_rva, export_size, nsections, secptr, expptr; +# unsigned long name_rvas, nexp; +# unsigned char *expdata, *erva; +# char *filename, *dll_name; +# +# filename = argv[1]; +# +# dll = open(filename, O_RDONLY|O_BINARY); +# if (dll < 1) +# return 1; +# +# dll_name = filename; +# +# for (i=0; filename[i]; i++) +# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') +# dll_name = filename + i +1; +# +# pe_header_offset = pe_get32 (dll, 0x3c); +# opthdr_ofs = pe_header_offset + 4 + 20; +# num_entries = pe_get32 (dll, opthdr_ofs + 92); +# +# if (num_entries < 1) /* no exports */ +# return 1; +# +# export_rva = pe_get32 (dll, opthdr_ofs + 96); +# export_size = pe_get32 (dll, opthdr_ofs + 100); +# nsections = pe_get16 (dll, pe_header_offset + 4 +2); +# secptr = (pe_header_offset + 4 + 20 + +# pe_get16 (dll, pe_header_offset + 4 + 16)); +# +# expptr = 0; +# for (i = 0; i < nsections; i++) +# { +# char sname[8]; +# unsigned long secptr1 = secptr + 40 * i; +# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); +# unsigned long vsize = pe_get32 (dll, secptr1 + 16); +# unsigned long fptr = pe_get32 (dll, secptr1 + 20); +# lseek(dll, secptr1, SEEK_SET); +# read(dll, sname, 8); +# if (vaddr <= export_rva && vaddr+vsize > export_rva) +# { +# expptr = fptr + (export_rva - vaddr); +# if (export_rva + export_size > vaddr + vsize) +# export_size = vsize - (export_rva - vaddr); +# break; +# } +# } +# +# expdata = (unsigned char*)malloc(export_size); +# lseek (dll, expptr, SEEK_SET); +# read (dll, expdata, export_size); +# erva = expdata - export_rva; +# +# nexp = pe_as32 (expdata+24); +# name_rvas = pe_as32 (expdata+32); +# +# printf ("EXPORTS\n"); +# for (i = 0; i> "${ofile}T" || (rm -f "${ofile}T"; exit 1) + + mv -f "${ofile}T" "$ofile" || \ + (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") + chmod +x "$ofile" +fi + + + + + +# 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 + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +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_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +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_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +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_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+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. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#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_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+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. */ + +int +main () +{ + + ; + 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_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + 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_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +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 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" 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_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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 + + am_cv_CC_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 + : > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # (even with -Werror). So we grep stderr for any message + # that says an option was ignored. + if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +if test "x$CC" != xcc; then + echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6 +fi +set dummy $CC; ac_cc=`echo $2 | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+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. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&5' +if { (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); } && + test -f 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 ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (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_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5' + if { (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); } && + test -f 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 + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +cat >>confdefs.h <<\_ACEOF +#define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 @@ -2804,7 +9005,6 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lcposix $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2828,11 +9028,21 @@ strerror (); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -2845,7 +9055,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_cposix_strerror=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +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_cposix_strerror" >&5 @@ -2976,7 +9187,6 @@ if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2996,11 +9206,21 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_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=$? @@ -3013,7 +9233,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi @@ -3029,7 +9249,6 @@ if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3046,11 +9265,21 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_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=$? @@ -3063,7 +9292,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 @@ -3083,8 +9312,7 @@ else fi fi for ac_declaration in \ - ''\ - '#include ' \ + '' \ '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 ();' \ @@ -3092,14 +9320,13 @@ for ac_declaration in \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include $ac_declaration +#include int main () { @@ -3110,11 +9337,21 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_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=$? @@ -3127,9 +9364,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 continue fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3146,11 +9382,21 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_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=$? @@ -3162,7 +9408,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -3195,18 +9441,32 @@ else # 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 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. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + : > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) @@ -3224,13 +9484,20 @@ else # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c -o conftest.o conftest.c >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_CXX_dependencies_compiler_type=$depmode - break + # icc doesn't choke on unknown options, it will just issue warnings + # (even with -Werror). So we grep stderr for any message + # that says an option was ignored. + if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi fi done @@ -3281,17 +9548,22 @@ for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - Syntax error +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -3303,6 +9575,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 @@ -3323,7 +9596,6 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3341,6 +9613,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 @@ -3382,17 +9655,22 @@ for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - Syntax error +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -3404,6 +9682,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 @@ -3424,7 +9703,6 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3442,6 +9720,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 @@ -3480,166 +9759,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR=""ar"" -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - AR=$ac_ct_AR -else - AR="$ac_cv_prog_AR" -fi - SAVE_LIBS="$LIBS" LIBS="" @@ -3651,7 +9770,6 @@ else ac_func_search_save_LIBS=$LIBS ac_cv_search_gethostbyname=no cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3675,11 +9793,21 @@ gethostbyname (); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -3691,12 +9819,12 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$ac_cv_search_gethostbyname" = no; then for ac_lib in nsl; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3720,11 +9848,21 @@ gethostbyname (); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -3737,7 +9875,8 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext done fi LIBS=$ac_func_search_save_LIBS @@ -3757,7 +9896,6 @@ else ac_func_search_save_LIBS=$LIBS ac_cv_search_connect=no cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3781,11 +9919,21 @@ connect (); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -3797,12 +9945,12 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$ac_cv_search_connect" = no; then for ac_lib in socket; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3826,11 +9974,21 @@ connect (); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -3843,7 +10001,8 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext done fi LIBS=$ac_func_search_save_LIBS @@ -3861,384 +10020,109 @@ LIBS="$SAVE_LIBS" - -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then +# Extract the first word of "rpm", so it can be a program name with args. +set dummy rpm; 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_RPM_PATH+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep - - -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -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_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_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no -fi -rm -f 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 -#line $LINENO "configure" -/* 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 -#line $LINENO "configure" -/* 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 - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -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); } && { ac_try='./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 - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h + case $RPM_PATH in + [\\/]* | ?:[\\/]*) + ac_cv_path_RPM_PATH="$RPM_PATH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -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 - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* 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>&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 - -eval "$as_ac_Header=no" -fi -rm -f 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_header" | $as_tr_cpp` 1 -_ACEOF - -fi - + 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_RPM_PATH="$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 - -if test "${ac_cv_header_db2_db_h+set}" = set; then - echo "$as_me:$LINENO: checking for db2/db.h" >&5 -echo $ECHO_N "checking for db2/db.h... $ECHO_C" >&6 -if test "${ac_cv_header_db2_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_db2_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db2_db_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking db2/db.h usability" >&5 -echo $ECHO_N "checking db2/db.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (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_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 - -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking db2/db.h presence" >&5 -echo $ECHO_N "checking db2/db.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_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 - 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 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: db2/db.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: db2/db.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: db2/db.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: db2/db.h: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; - no:yes ) - { echo "$as_me:$LINENO: WARNING: db2/db.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: db2/db.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: db2/db.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: db2/db.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: db2/db.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: db2/db.h: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; + test -z "$ac_cv_path_RPM_PATH" && ac_cv_path_RPM_PATH="none" + ;; esac -echo "$as_me:$LINENO: checking for db2/db.h" >&5 -echo $ECHO_N "checking for db2/db.h... $ECHO_C" >&6 -if test "${ac_cv_header_db2_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_db2_db_h=$ac_header_preproc fi -echo "$as_me:$LINENO: result: $ac_cv_header_db2_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db2_db_h" >&6 +RPM_PATH=$ac_cv_path_RPM_PATH +if test -n "$RPM_PATH"; then + echo "$as_me:$LINENO: result: $RPM_PATH" >&5 +echo "${ECHO_T}$RPM_PATH" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -if test $ac_cv_header_db2_db_h = yes; then - echo "$as_me:$LINENO: checking for db_open in -ldb2" >&5 -echo $ECHO_N "checking for db_open in -ldb2... $ECHO_C" >&6 -if test "${ac_cv_lib_db2_db_open+set}" = set; then + +if test "$RPM_PATH" = "none"; then + { { echo "$as_me:$LINENO: error: RPM executable was not found in your system" >&5 +echo "$as_me: error: RPM executable was not found in your system" >&2;} + { (exit 1); exit 1; }; } +else + +cat >>confdefs.h <<_ACEOF +#define HAVE_RPM 1 +_ACEOF + + + echo "$as_me:$LINENO: checking for RPM version" >&5 +echo $ECHO_N "checking for RPM version... $ECHO_C" >&6 + RPM_VERSION_RAW=`LANG= LC_ALL= $RPM_PATH --version | sed 's/^RPM version //'` + RPM_VERSION_MAJOR=`echo $RPM_VERSION_RAW | cut -d. -f1` + RPM_VERSION_MINOR=`echo $RPM_VERSION_RAW | cut -d. -f2` + RPM_VERSION_MICRO=`echo $RPM_VERSION_RAW | cut -d. -f3` + if test -z "$RPM_VERSION_MAJOR" -o -z "$RPM_VERSION_MINOR"; then + { { echo "$as_me:$LINENO: error: can't parse RPM version" >&5 +echo "$as_me: error: can't parse RPM version" >&2;} + { (exit 1); exit 1; }; } + fi + if test -z "$RPM_VERSION_MICRO"; then + RPM_VERSION_MICRO=0 + fi + +cat >>confdefs.h <<_ACEOF +#define RPM_VERSION_MAJOR $RPM_VERSION_MAJOR +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define RPM_VERSION_MINOR $RPM_VERSION_MINOR +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define RPM_VERSION_MICRO $RPM_VERSION_MICRO +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define RPM_VERSION ((RPM_VERSION_MAJOR<<16)|(RPM_VERSION_MINOR<<8)|RPM_VERSION_MICRO) +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define RPM_VERSION_RAW "$RPM_VERSION_RAW" +_ACEOF + + echo "$as_me:$LINENO: result: $RPM_VERSION_RAW" >&5 +echo "${ECHO_T}$RPM_VERSION_RAW" >&6 + + + +echo "$as_me:$LINENO: checking for BZ2_bzopen in -lbz2" >&5 +echo $ECHO_N "checking for BZ2_bzopen in -lbz2... $ECHO_C" >&6 +if test "${ac_cv_lib_bz2_BZ2_bzopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-ldb2 $LIBS" +LIBS="-lbz2 $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4251,56 +10135,141 @@ 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 db_open (); +char BZ2_bzopen (); int main () { -db_open (); +BZ2_bzopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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_db2_db_open=yes + ac_cv_lib_bz2_BZ2_bzopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_db2_db_open=no +ac_cv_lib_bz2_BZ2_bzopen=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +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_db2_db_open" >&5 -echo "${ECHO_T}$ac_cv_lib_db2_db_open" >&6 -if test $ac_cv_lib_db2_db_open = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_DB2 1 +echo "$as_me:$LINENO: result: $ac_cv_lib_bz2_BZ2_bzopen" >&5 +echo "${ECHO_T}$ac_cv_lib_bz2_BZ2_bzopen" >&6 +if test $ac_cv_lib_bz2_BZ2_bzopen = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBBZ2 1 _ACEOF - DB2LIB="-ldb2" -fi + LIBS="-lbz2 $LIBS" + +else + { { echo "$as_me:$LINENO: error: Can't find libbz2 library" >&5 +echo "$as_me: error: Can't find libbz2 library" >&2;} + { (exit 1); exit 1; }; } fi +echo "$as_me:$LINENO: checking for gzopen in -lz" >&5 +echo $ECHO_N "checking for gzopen in -lz... $ECHO_C" >&6 +if test "${ac_cv_lib_z_gzopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $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 gzopen (); +int +main () +{ +gzopen (); + ; + 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_z_gzopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -rpm_version="none" -SAVE_LIBS="$LIBS" -SAVE_CPPFLAGS="$CPPFLAGS" +ac_cv_lib_z_gzopen=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_z_gzopen" >&5 +echo "${ECHO_T}$ac_cv_lib_z_gzopen" >&6 +if test $ac_cv_lib_z_gzopen = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +else + { { echo "$as_me:$LINENO: error: Can't find libz library" >&5 +echo "$as_me: error: Can't find libz library" >&2;} + { (exit 1); exit 1; }; } +fi -CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" for ac_header in db1/db.h do @@ -4318,7 +10287,6 @@ else echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4329,11 +10297,21 @@ $ac_includes_default _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -4346,7 +10324,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 @@ -4354,7 +10332,6 @@ echo "${ECHO_T}$ac_header_compiler" >&6 echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4372,6 +10349,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 @@ -4391,33 +10369,32 @@ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) +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 preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&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 ) + 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: 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 bug-autoconf@gnu.org. ## -## ------------------------------------ ## +## ------------------------------ ## +## Report this to the apt lists. ## +## ------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 @@ -4428,7 +10405,7 @@ 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" + 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 @@ -4443,7 +10420,9 @@ fi done -if test "${ac_cv_header_rpm_rpmlib_h+set}" = set; then + + CPPFLAGS="$CPPFLAGS -I/usr/include/rpm" + if test "${ac_cv_header_rpm_rpmlib_h+set}" = set; then echo "$as_me:$LINENO: checking for rpm/rpmlib.h" >&5 echo $ECHO_N "checking for rpm/rpmlib.h... $ECHO_C" >&6 if test "${ac_cv_header_rpm_rpmlib_h+set}" = set; then @@ -4456,7 +10435,6 @@ else echo "$as_me:$LINENO: checking rpm/rpmlib.h usability" >&5 echo $ECHO_N "checking rpm/rpmlib.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4467,11 +10445,21 @@ $ac_includes_default _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -4484,7 +10472,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 @@ -4492,7 +10480,6 @@ echo "${ECHO_T}$ac_header_compiler" >&6 echo "$as_me:$LINENO: checking rpm/rpmlib.h presence" >&5 echo $ECHO_N "checking rpm/rpmlib.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4510,6 +10497,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 @@ -4529,33 +10517,32 @@ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: rpm/rpmlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: rpm/rpmlib.h: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 + { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: rpm/rpmlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes ;; - no:yes ) + no:yes:* ) { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: rpm/rpmlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: rpm/rpmlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: rpm/rpmlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: rpm/rpmlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: rpm/rpmlib.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: rpm/rpmlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: rpm/rpmlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: rpm/rpmlib.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## +## ------------------------------ ## +## Report this to the apt lists. ## +## ------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 @@ -4573,25 +10560,26 @@ echo "${ECHO_T}$ac_cv_header_rpm_rpmlib_h" >&6 fi if test $ac_cv_header_rpm_rpmlib_h = yes; then - rpm_header_ok=1 + : else - rpm_header_ok=0 + { { echo "$as_me:$LINENO: error: Can't find rpmlib.h" >&5 +echo "$as_me: error: Can't find rpmlib.h" >&2;} + { (exit 1); exit 1; }; } fi -if test $rpm_header_ok = 1; then - - LIBS="$SAVE_LIBS -lrpm -lrpmio -lz -lbz2 -lpopt" + if test $RPM_VERSION_MAJOR -lt 4; then + RPMLIBS="-lrpm -lz -lbz2 -lpopt" + else echo "$as_me:$LINENO: checking for rpmdbOpen in -lrpmdb" >&5 echo $ECHO_N "checking for rpmdbOpen in -lrpmdb... $ECHO_C" >&6 if test "${ac_cv_lib_rpmdb_rpmdbOpen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lrpmdb $LIBS" +LIBS="-lrpmdb -lrpm -lrpmio -lz -lbz2 -lpopt $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4615,11 +10603,21 @@ rpmdbOpen (); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -4632,7 +10630,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_rpmdb_rpmdbOpen=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +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_rpmdb_rpmdbOpen" >&5 @@ -4643,242 +10642,120 @@ else RPMDBLIBS="-ldb-3.1" fi + RPMLIBS="-lrpm $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" + fi + echo "$as_me:$LINENO: checking for RPM libraries" >&5 +echo $ECHO_N "checking for RPM libraries... $ECHO_C" >&6 + echo "$as_me:$LINENO: result: $RPMLIBS" >&5 +echo "${ECHO_T}$RPMLIBS" >&6 + +fi + + + +echo "$as_me:$LINENO: checking for g++ hash_map extension" >&5 +echo $ECHO_N "checking for g++ hash_map extension... $ECHO_C" >&6 +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + - LIBS="$SAVE_LIBS $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" - echo "$as_me:$LINENO: checking for rpmdbGetIteratorOffset in -lrpm" >&5 -echo $ECHO_N "checking for rpmdbGetIteratorOffset in -lrpm... $ECHO_C" >&6 -if test "${ac_cv_lib_rpm_rpmdbGetIteratorOffset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrpm $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* 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 rpmdbGetIteratorOffset (); +#include +using namespace __gnu_cxx; + int main () { -rpmdbGetIteratorOffset (); +hash_map > HashMap; + ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_cxx_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_rpm_rpmdbGetIteratorOffset=yes + cat >>confdefs.h <<_ACEOF +#define WITH_GNU_HASH_MAP 1 +_ACEOF + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_rpm_rpmdbGetIteratorOffset=no +echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_rpm_rpmdbGetIteratorOffset" >&5 -echo "${ECHO_T}$ac_cv_lib_rpm_rpmdbGetIteratorOffset" >&6 -if test $ac_cv_lib_rpm_rpmdbGetIteratorOffset = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_RPM 1 -_ACEOF - cat >>confdefs.h <<_ACEOF -#define HAVE_RPM4 1 -_ACEOF +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - RPMLIBS="-lrpm $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" - SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" - echo "$as_me:$LINENO: checking for rpmtsUpdateDSI in -lrpm" >&5 -echo $ECHO_N "checking for rpmtsUpdateDSI in -lrpm... $ECHO_C" >&6 -if test "${ac_cv_lib_rpm_rpmtsUpdateDSI+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +echo "$as_me:$LINENO: checking for --disable-scripts" >&5 +echo $ECHO_N "checking for --disable-scripts... $ECHO_C" >&6 +# Check whether --enable-scripts or --disable-scripts was given. +if test "${enable_scripts+set}" = set; then + enableval="$enable_scripts" + enable_scripts="$enableval" else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrpm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* 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 rpmtsUpdateDSI (); -int -main () -{ -rpmtsUpdateDSI (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -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); } && - { 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_rpm_rpmtsUpdateDSI=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_rpm_rpmtsUpdateDSI=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_rpm_rpmtsUpdateDSI" >&5 -echo "${ECHO_T}$ac_cv_lib_rpm_rpmtsUpdateDSI" >&6 -if test $ac_cv_lib_rpm_rpmtsUpdateDSI = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_RPM41 1 -_ACEOF - - rpm_version="4.1" -else - rpm_version="4.0.X" -fi - - -fi - - - if test $rpm_version = "none"; then - LIBS="$SAVE_LIBS -ldb1 -lz -lbz2 -lpopt" - echo "$as_me:$LINENO: checking for rpmdbFirstRecNum in -lrpm" >&5 -echo $ECHO_N "checking for rpmdbFirstRecNum in -lrpm... $ECHO_C" >&6 -if test "${ac_cv_lib_rpm_rpmdbFirstRecNum+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrpm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* 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 rpmdbFirstRecNum (); -int -main () -{ -rpmdbFirstRecNum (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -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); } && - { 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_rpm_rpmdbFirstRecNum=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_rpm_rpmdbFirstRecNum=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_rpm_rpmdbFirstRecNum" >&5 -echo "${ECHO_T}$ac_cv_lib_rpm_rpmdbFirstRecNum" >&6 -if test $ac_cv_lib_rpm_rpmdbFirstRecNum = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_RPM 1 -_ACEOF - - RPMLIBS="-lrpm -ldb1 -lz -lbz2 -lpopt" - SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" - rpm_version="3" -fi - - fi -fi -echo "$as_me:$LINENO: checking for RPM version" >&5 -echo $ECHO_N "checking for RPM version... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $rpm_version" >&5 -echo "${ECHO_T}$rpm_version" >&6 - - -CPPFLAGS="$SAVE_CPPFLAGS" -LIBS="$SAVE_LIBS" - -echo "$as_me:$LINENO: checking for --with-hashmap" >&5 -echo $ECHO_N "checking for --with-hashmap... $ECHO_C" >&6 - -# Check whether --with-hashmap or --without-hashmap was given. -if test "${with_hashmap+set}" = set; then - withval="$with_hashmap" - -if test "$withval" != no -then + enable_scripts="yes" +fi; +if test "$enable_scripts" != "no"; then + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 cat >>confdefs.h <<\_ACEOF -#define WITH_HASH_MAP 1 +#define WITH_LUA 1 _ACEOF +else 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 + +if test "$enable_scripts" != "no"; then + WITH_LUA_TRUE= + WITH_LUA_FALSE='#' else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi; + WITH_LUA_TRUE='#' + WITH_LUA_FALSE= +fi + echo "$as_me:$LINENO: checking for tputs in -lncurses" >&5 echo $ECHO_N "checking for tputs in -lncurses... $ECHO_C" >&6 @@ -4888,7 +10765,6 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lncurses $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4912,11 +10788,21 @@ tputs (); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -4929,7 +10815,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ncurses_tputs=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +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_ncurses_tputs" >&5 @@ -4948,7 +10835,6 @@ else echo "$as_me:$LINENO: checking readline/readline.h usability" >&5 echo $ECHO_N "checking readline/readline.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4959,11 +10845,21 @@ $ac_includes_default _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -4976,7 +10872,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 @@ -4984,7 +10880,6 @@ echo "${ECHO_T}$ac_header_compiler" >&6 echo "$as_me:$LINENO: checking readline/readline.h presence" >&5 echo $ECHO_N "checking readline/readline.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5002,6 +10897,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 @@ -5021,33 +10917,32 @@ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) { echo "$as_me:$LINENO: WARNING: readline/readline.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: readline/readline.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: readline/readline.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: readline/readline.h: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 + { echo "$as_me:$LINENO: WARNING: readline/readline.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: readline/readline.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes ;; - no:yes ) + no:yes:* ) { echo "$as_me:$LINENO: WARNING: readline/readline.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: readline/readline.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: readline/readline.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: readline/readline.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: readline/readline.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: readline/readline.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: readline/readline.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: readline/readline.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: readline/readline.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: readline/readline.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: readline/readline.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: readline/readline.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: readline/readline.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: readline/readline.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## +## ------------------------------ ## +## Report this to the apt lists. ## +## ------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 @@ -5065,15 +10960,14 @@ echo "${ECHO_T}$ac_cv_header_readline_readline_h" >&6 fi if test $ac_cv_header_readline_readline_h = yes; then - echo "$as_me:$LINENO: checking for readline in -lreadline" >&5 -echo $ECHO_N "checking for readline in -lreadline... $ECHO_C" >&6 -if test "${ac_cv_lib_readline_readline+set}" = set; then + echo "$as_me:$LINENO: checking for rl_completion_matches in -lreadline" >&5 +echo $ECHO_N "checking for rl_completion_matches in -lreadline... $ECHO_C" >&6 +if test "${ac_cv_lib_readline_rl_completion_matches+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreadline -lncurses $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5086,41 +10980,52 @@ 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 readline (); +char rl_completion_matches (); int main () { -readline (); +rl_completion_matches (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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_readline_readline=yes + ac_cv_lib_readline_rl_completion_matches=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_readline_readline=no +ac_cv_lib_readline_rl_completion_matches=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +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_readline_readline" >&5 -echo "${ECHO_T}$ac_cv_lib_readline_readline" >&6 -if test $ac_cv_lib_readline_readline = yes; then - COMPILE_APTSHELL=yes +echo "$as_me:$LINENO: result: $ac_cv_lib_readline_rl_completion_matches" >&5 +echo "${ECHO_T}$ac_cv_lib_readline_rl_completion_matches" >&6 +if test $ac_cv_lib_readline_rl_completion_matches = yes; then + compile_aptshell=yes fi fi @@ -5130,9 +11035,22 @@ fi +if test "$compile_aptshell" = "yes"; then + COMPILE_APTSHELL_TRUE= + COMPILE_APTSHELL_FALSE='#' +else + COMPILE_APTSHELL_TRUE='#' + COMPILE_APTSHELL_FALSE= +fi + + + + + + echo "$as_me:$LINENO: checking system architecture" >&5 echo $ECHO_N "checking system architecture... $ECHO_C" >&6 -archset="`awk \" ! /^#|^\\\$/ { if(match(\\\"$target_cpu\\\",\\\"^\\\"\\\$1\\\"\\\$\\\")) {print \\\$2; exit}}\" $srcdir/buildlib/archtable`" +archset="`awk \" ! /^#|^\\\$/ { if(match(\\\"$host_cpu\\\",\\\"^\\\"\\\$1\\\"\\\$\\\")) {print \\\$2; exit}}\" $srcdir/buildlib/archtable`" if test "x$archset" = "x"; then { { echo "$as_me:$LINENO: error: failed: use --host=" >&5 echo "$as_me: error: failed: use --host=" >&2;} @@ -5147,7 +11065,7 @@ _ACEOF echo "$as_me:$LINENO: checking system OS" >&5 echo $ECHO_N "checking system OS... $ECHO_C" >&6 -osset="`awk \" ! /^#|^\\\$/ {if (match(\\\"$target_vendor-$target_os\\\",\\\$1)) {print \\\$2; exit}}\" $srcdir/buildlib/ostable`" +osset="`awk \" ! /^#|^\\\$/ {if (match(\\\"$host_vendor-$host_os\\\",\\\$1)) {print \\\$2; exit}}\" $srcdir/buildlib/ostable`" echo "$as_me:$LINENO: result: $osset" >&5 echo "${ECHO_T}$osset" >&6 cat >>confdefs.h <<_ACEOF @@ -5162,7 +11080,6 @@ if test "${c9x_ints+set}" = set; then else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5179,11 +11096,21 @@ uint8_t Foo1;uint16_t Foo2;uint32_t Foo3; _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5196,227 +11123,21 @@ sed 's/^/| /' conftest.$ac_ext >&5 c9x_ints=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $c9x_ints" >&5 echo "${ECHO_T}$c9x_ints" >&6 -echo "$as_me:$LINENO: checking for statvfs" >&5 -echo $ECHO_N "checking for statvfs... $ECHO_C" >&6 -if test "${ac_cv_func_statvfs+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +if test "$c9x_ints" = "no"; then + NEED_INTTYPES_H_TRUE= + NEED_INTTYPES_H_FALSE='#' else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char statvfs (); below. */ -#include -/* 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 statvfs (); -/* 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_statvfs) || defined (__stub___statvfs) -choke me -#else -char (*f) () = statvfs; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -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); } && - { 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_statvfs=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_statvfs=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_statvfs" >&5 -echo "${ECHO_T}$ac_cv_func_statvfs" >&6 -if test $ac_cv_func_statvfs = yes; then - HAVE_STATVFS=yes + NEED_INTTYPES_H_TRUE='#' + NEED_INTTYPES_H_FALSE= fi - -if test x"$HAVE_STATVFS" != x"yes"; then - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* 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 "statfs" >/dev/null 2>&1; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_VFS_H 1 -_ACEOF - -else - - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* 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 "statfs" >/dev/null 2>&1; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_MOUNT_H 1 -_ACEOF - -else - { { echo "$as_me:$LINENO: error: failed: Need statvfs" >&5 -echo "$as_me: error: failed: Need statvfs" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f conftest* - - -fi -rm -f conftest* - -fi - -echo "$as_me:$LINENO: checking for timegm" >&5 -echo $ECHO_N "checking for timegm... $ECHO_C" >&6 -if test "${ac_cv_func_timegm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char timegm (); below. */ -#include -/* 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 timegm (); -/* 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_timegm) || defined (__stub___timegm) -choke me -#else -char (*f) () = timegm; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -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); } && - { 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_timegm=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_timegm=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_timegm" >&5 -echo "${ECHO_T}$ac_cv_func_timegm" >&6 -if test $ac_cv_func_timegm = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_TIMEGM 1 -_ACEOF - -fi - - - - -archline="`awk \" ! /^#|^\\\$/ {if (match(\\\"$archset\\\",\\\$1)) {print; exit}}\" $srcdir/buildlib/sizetable | cut -f 2- -d ' '`" -if test "x$archline" != "x"; then - - set $archline - if test "$1" = "little"; then - ac_cv_c_bigendian=no - else - ac_cv_c_bigendian=yes - fi - size_char=$2 - size_int=$3 - size_short=$4 - size_long=$5 -fi - -if test "$cross_compiling" = "yes" -a "x$archline" = "x"; then - { { echo "$as_me:$LINENO: error: When cross compiling" >&5 -echo "$as_me: error: When cross compiling" >&2;} - { (exit architecture must be present in sizetable); exit architecture must be present in sizetable; }; } -fi echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 if test "${ac_cv_c_bigendian+set}" = set; then @@ -5424,7 +11145,6 @@ if test "${ac_cv_c_bigendian+set}" = set; then else # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5446,11 +11166,21 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5458,7 +11188,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (exit $ac_status); }; }; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5480,11 +11209,21 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5497,7 +11236,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_bigendian=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -5507,7 +11246,6 @@ if test "$cross_compiling" = yes; then # try to guess the endianness by grepping values into an object file ac_cv_c_bigendian=unknown cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5529,11 +11267,21 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5555,10 +11303,9 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5597,10 +11344,10 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_bigendian=yes fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 echo "${ECHO_T}$ac_cv_c_bigendian" >&6 @@ -5622,15 +11369,12 @@ presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} esac -HAVE_C9X=yes -if test x"$c9x_ints" = x"no"; then - echo "$as_me:$LINENO: checking for char" >&5 +echo "$as_me:$LINENO: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6 if test "${ac_cv_type_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5650,11 +11394,21 @@ if (sizeof (char)) _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5667,7 +11421,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_char=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6 @@ -5685,7 +11439,6 @@ else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5704,11 +11457,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5717,7 +11480,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5736,11 +11498,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5752,20 +11524,19 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +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 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5784,11 +11555,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5797,7 +11578,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5816,11 +11596,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5832,13 +11622,13 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 @@ -5846,14 +11636,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5872,11 +11661,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -5889,7 +11688,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_char=$ac_lo;; @@ -5908,7 +11707,6 @@ See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5970,7 +11768,7 @@ echo "$as_me: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -5985,13 +11783,12 @@ cat >>confdefs.h <<_ACEOF _ACEOF - echo "$as_me:$LINENO: checking for int" >&5 +echo "$as_me:$LINENO: checking for int" >&5 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 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6011,11 +11808,21 @@ if (sizeof (int)) _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6028,7 +11835,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_int=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6 @@ -6046,7 +11853,6 @@ else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6065,11 +11871,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6078,7 +11894,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6097,11 +11912,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6113,20 +11938,19 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +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 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6145,11 +11969,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6158,7 +11992,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6177,11 +12010,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6193,13 +12036,13 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 @@ -6207,14 +12050,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6233,11 +12075,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6250,7 +12102,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_int=$ac_lo;; @@ -6269,7 +12121,6 @@ See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6331,7 +12182,7 @@ echo "$as_me: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -6346,13 +12197,12 @@ cat >>confdefs.h <<_ACEOF _ACEOF - echo "$as_me:$LINENO: checking for short" >&5 +echo "$as_me:$LINENO: checking for short" >&5 echo $ECHO_N "checking for short... $ECHO_C" >&6 if test "${ac_cv_type_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6372,11 +12222,21 @@ if (sizeof (short)) _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6389,7 +12249,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_short=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6 @@ -6407,7 +12267,6 @@ else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6426,11 +12285,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6439,7 +12308,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6458,11 +12326,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6474,20 +12352,19 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +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 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6506,11 +12383,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6519,7 +12406,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6538,11 +12424,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6554,13 +12450,13 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 @@ -6568,14 +12464,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6594,11 +12489,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6611,7 +12516,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_short=$ac_lo;; @@ -6630,7 +12535,6 @@ See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6692,7 +12596,7 @@ echo "$as_me: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -6707,13 +12611,12 @@ cat >>confdefs.h <<_ACEOF _ACEOF - echo "$as_me:$LINENO: checking for long" >&5 +echo "$as_me:$LINENO: checking for long" >&5 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 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6733,11 +12636,21 @@ if (sizeof (long)) _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6750,7 +12663,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_long=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6 @@ -6768,7 +12681,6 @@ else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6787,11 +12699,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6800,7 +12722,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6819,11 +12740,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6835,20 +12766,19 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +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 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6867,11 +12797,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6880,7 +12820,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6899,11 +12838,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6915,13 +12864,13 @@ else sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 @@ -6929,14 +12878,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6955,11 +12903,21 @@ test_array [0] = 0 _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { 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=$? @@ -6972,7 +12930,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_long=$ac_lo;; @@ -6991,7 +12949,6 @@ See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -7053,7 +13010,7 @@ echo "$as_me: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -7069,14 +13026,267 @@ _ACEOF - HAVE_C9X= +echo "$as_me:$LINENO: checking for statvfs" >&5 +echo $ECHO_N "checking for statvfs... $ECHO_C" >&6 +if test "${ac_cv_func_statvfs+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 statvfs to an innocuous variant, in case declares statvfs. + For example, HP-UX 11i declares gettimeofday. */ +#define statvfs innocuous_statvfs + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char statvfs (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef statvfs + +/* 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 statvfs (); +/* 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_statvfs) || defined (__stub___statvfs) +choke me +#else +char (*f) () = statvfs; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != statvfs; + ; + 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_statvfs=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_statvfs=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_statvfs" >&5 +echo "${ECHO_T}$ac_cv_func_statvfs" >&6 +if test $ac_cv_func_statvfs = yes; then + have_statvfs=yes +fi + + + +if test "$have_statvfs" != "yes"; then + NEED_STATVFS_H_TRUE= + NEED_STATVFS_H_FALSE='#' +else + NEED_STATVFS_H_TRUE='#' + NEED_STATVFS_H_FALSE= +fi + + + + + + +if test "$have_statvfs" != "yes"; then + 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 "statfs" >/dev/null 2>&1; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_VFS_H 1 +_ACEOF + +else + + 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 "statfs" >/dev/null 2>&1; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_MOUNT_H 1 +_ACEOF + +else + { { echo "$as_me:$LINENO: error: failed: Need statvfs" >&5 +echo "$as_me: error: failed: Need statvfs" >&2;} + { (exit 1); exit 1; }; } +fi +rm -f conftest* + fi +rm -f conftest* + +fi + + + +echo "$as_me:$LINENO: checking for timegm" >&5 +echo $ECHO_N "checking for timegm... $ECHO_C" >&6 +if test "${ac_cv_func_timegm+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 timegm to an innocuous variant, in case declares timegm. + For example, HP-UX 11i declares gettimeofday. */ +#define timegm innocuous_timegm + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char timegm (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef timegm + +/* 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 timegm (); +/* 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_timegm) || defined (__stub___timegm) +choke me +#else +char (*f) () = timegm; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != timegm; + ; + 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_timegm=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_timegm=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_timegm" >&5 +echo "${ECHO_T}$ac_cv_func_timegm" >&6 +if test $ac_cv_func_timegm = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_TIMEGM 1 +_ACEOF + +fi + + + + echo "$as_me:$LINENO: checking for missing socklen_t" >&5 echo $ECHO_N "checking for missing socklen_t... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -7103,10 +13313,19 @@ rm -f conftest* + +if test "$NEED_SOCKLEN_T_DEFINE" = "yes"; then + NEED_NETDB_H_TRUE= + NEED_NETDB_H_FALSE='#' +else + NEED_NETDB_H_TRUE='#' + NEED_NETDB_H_FALSE= +fi + + echo "$as_me:$LINENO: checking for h_errno" >&5 echo $ECHO_N "checking for h_errno... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -7122,7 +13341,6 @@ echo "${ECHO_T}normal" >&6 else CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -7147,84 +13365,6 @@ fi rm -f conftest* -# Extract the first word of "debiandoc2html", so it can be a program name with args. -set dummy debiandoc2html; 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_DEBIANDOC_HTML+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $DEBIANDOC_HTML in - [\\/]* | ?:[\\/]*) - ac_cv_path_DEBIANDOC_HTML="$DEBIANDOC_HTML" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DEBIANDOC_HTML="$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 -DEBIANDOC_HTML=$ac_cv_path_DEBIANDOC_HTML - -if test -n "$DEBIANDOC_HTML"; then - echo "$as_me:$LINENO: result: $DEBIANDOC_HTML" >&5 -echo "${ECHO_T}$DEBIANDOC_HTML" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -# Extract the first word of "debiandoc2text", so it can be a program name with args. -set dummy debiandoc2text; 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_DEBIANDOC_TEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $DEBIANDOC_TEXT in - [\\/]* | ?:[\\/]*) - ac_cv_path_DEBIANDOC_TEXT="$DEBIANDOC_TEXT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DEBIANDOC_TEXT="$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 -DEBIANDOC_TEXT=$ac_cv_path_DEBIANDOC_TEXT - -if test -n "$DEBIANDOC_TEXT"; then - echo "$as_me:$LINENO: result: $DEBIANDOC_TEXT" >&5 -echo "${ECHO_T}$DEBIANDOC_TEXT" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - # Extract the first word of "docbook2man", so it can be a program name with args. set dummy docbook2man; ac_word=$2 @@ -7265,271 +13405,31 @@ else echo "${ECHO_T}no" >&6 fi - - - -# Check whether --with-getconf or --without-getconf was given. -if test "${with_getconf+set}" = set; then - withval="$with_getconf" - if test "$withval" = "yes"; then - # Extract the first word of "getconf", so it can be a program name with args. -set dummy getconf; 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_GETCONF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for --disable-docs" >&5 +echo $ECHO_N "checking for --disable-docs... $ECHO_C" >&6 +# Check whether --enable-docs or --disable-docs was given. +if test "${enable_docs+set}" = set; then + enableval="$enable_docs" + enable_docs="$enableval" else - case $GETCONF in - [\\/]* | ?:[\\/]*) - ac_cv_path_GETCONF="$GETCONF" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GETCONF="$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 -GETCONF=$ac_cv_path_GETCONF - -if test -n "$GETCONF"; then - echo "$as_me:$LINENO: result: $GETCONF" >&5 -echo "${ECHO_T}$GETCONF" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 + enable_docs="yes" +fi; +if test "$enable_docs" != "no"; then + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 -fi - - elif test ! "$withval" = "no";then - echo "$as_me:$LINENO: checking getconf" >&5 -echo $ECHO_N "checking getconf... $ECHO_C" >&6 - echo "$as_me:$LINENO: result: $withval" >&5 -echo "${ECHO_T}$withval" >&6 - GETCONF=$withval - fi else - # Extract the first word of "getconf", so it can be a program name with args. -set dummy getconf; 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_GETCONF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GETCONF in - [\\/]* | ?:[\\/]*) - ac_cv_path_GETCONF="$GETCONF" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GETCONF="$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 -GETCONF=$ac_cv_path_GETCONF - -if test -n "$GETCONF"; then - echo "$as_me:$LINENO: result: $GETCONF" >&5 -echo "${ECHO_T}$GETCONF" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 fi -fi; - - -echo "$as_me:$LINENO: checking number of cpus" >&5 -echo $ECHO_N "checking number of cpus... $ECHO_C" >&6 - -# Check whether --with-cpus or --without-cpus was given. -if test "${with_cpus+set}" = set; then - withval="$with_cpus" - - if test "$withval" = "yes"; then - - if test ! -z "$GETCONF";then - old_args="$@" - set -- SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN - while eval test -z \"\$NUM_CPUS\" -a ! -z \"$1\";do - eval NUM_CPUS=`$GETCONF "$1" 2>/dev/null` - shift - done - fi - if eval test -z \"\$NUM_CPUS\" -o \"\$NUM_CPUS\" = "-1";then - eval NUM_CPUS="1" - fi - - elif test ! "$withval" = "no";then - NUM_CPUS=$withval - elif test "$withval" = "no";then - NUM_CPUS=1 - fi +if test -n "$DOCBOOK2MAN" -a "$enable_docs" != "no"; then + COMPILE_MANPAGES_TRUE= + COMPILE_MANPAGES_FALSE='#' else - - if test ! -z "$GETCONF";then - old_args="$@" - set -- SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN - while eval test -z \"\$NUM_CPUS\" -a ! -z \"$1\";do - eval NUM_CPUS=`$GETCONF "$1" 2>/dev/null` - shift - done - fi - if eval test -z \"\$NUM_CPUS\" -o \"\$NUM_CPUS\" = "-1";then - eval NUM_CPUS="1" - fi - - -fi; - ah_NUM_CPUS_msg="$NUM_CPUS" - if test "$NUM_CPUS" = "0"; then - # broken getconf, time to bitch. - ah_NUM_CPUS_msg="found 0 cpus. Has someone done a lobotomy?" - NUM_CPUS=1 - fi - if test $NUM_CPUS = 1 ;then - default_PROC_MULTIPLY=1 - else - default_PROC_MULTIPLY=2 - fi - echo "$as_me:$LINENO: result: $ah_NUM_CPUS_msg" >&5 -echo "${ECHO_T}$ah_NUM_CPUS_msg" >&6 - - - - echo "$as_me:$LINENO: checking processor multiplier" >&5 -echo $ECHO_N "checking processor multiplier... $ECHO_C" >&6 - -# Check whether --with-proc-multiply or --without-proc-multiply was given. -if test "${with_proc_multiply+set}" = set; then - withval="$with_proc_multiply" - if test "$withval" = "yes"; then - PROC_MULTIPLY=$default_PROC_MULTIPLY - elif test ! "$withval" = "no";then - PROC_MULTIPLY=$withval - fi -else - PROC_MULTIPLY=$default_PROC_MULTIPLY - -fi; - echo "$as_me:$LINENO: result: $PROC_MULTIPLY" >&5 -echo "${ECHO_T}$PROC_MULTIPLY" >&6 - - - - - echo "$as_me:$LINENO: checking number of processes to run during make" >&5 -echo $ECHO_N "checking number of processes to run during make... $ECHO_C" >&6 - -# Check whether --with-procs or --without-procs was given. -if test "${with_procs+set}" = set; then - withval="$with_procs" - if test "$withval" = "yes"; then - NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY` - elif test ! "$withval" = "no";then - NUM_PROCS=$withval - fi -else - NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY` - -fi; - echo "$as_me:$LINENO: result: $NUM_PROCS" >&5 -echo "${ECHO_T}$NUM_PROCS" >&6 - - -echo "$as_me:$LINENO: checking glibc version" >&5 -echo $ECHO_N "checking glibc version... $ECHO_C" >&6 - dummy=if$$ - cat <<_GLIBC_>$dummy.c -#include -#include -#include -int main(int argc, char **argv) { printf("libc6.%d",__GLIBC_MINOR__); exit(0); } -_GLIBC_ - ${CC-cc} $dummy.c -o $dummy > /dev/null 2>&1 - if test "$?" = 0; then - GLIBC_VER=`./$dummy` - echo "$as_me:$LINENO: result: $GLIBC_VER" >&5 -echo "${ECHO_T}$GLIBC_VER" >&6 - GLIBC_VER="-$GLIBC_VER" - else - { echo "$as_me:$LINENO: WARNING: cannot determine GNU C library minor version number" >&5 -echo "$as_me: WARNING: cannot determine GNU C library minor version number" >&2;} - fi - rm -f $dummy $dummy.c - - -echo "$as_me:$LINENO: checking libstdc++ version" >&5 -echo $ECHO_N "checking libstdc++ version... $ECHO_C" >&6 - dummy=if$$ - cat <<_LIBSTDCPP_>$dummy.cc -#include -#include -#include -int main(int argc, char **argv) { exit(0); } -_LIBSTDCPP_ - ${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1 - - if test "$?" = 0; then - soname=`objdump -p ./$dummy |grep NEEDED|grep libstd` - LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'` - fi - rm -f $dummy $dummy.cc - - if test -z "$LIBSTDCPP_VER"; then - { echo "$as_me:$LINENO: WARNING: cannot determine standard C++ library version number" >&5 -echo "$as_me: WARNING: cannot determine standard C++ library version number" >&2;} - else - echo "$as_me:$LINENO: result: $LIBSTDCPP_VER" >&5 -echo "${ECHO_T}$LIBSTDCPP_VER" >&6 - LIBSTDCPP_VER="-$LIBSTDCPP_VER" - fi - - - - echo "$as_me:$LINENO: checking if $CXX -MD works" >&5 -echo $ECHO_N "checking if $CXX -MD works... $ECHO_C" >&6 - touch gcc3dep.cc - ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc - rm -f gcc3dep.cc gcc3dep_test.o - if test -e gcc3dep.d; then - rm -f gcc3dep.d - GCC_MD=input - GCC3DEP= - elif test -e gcc3dep_test.d; then - rm -f gcc3dep_test.d - GCC_MD=output - GCC3DEP=yes - else - { { echo "$as_me:$LINENO: error: no" >&5 -echo "$as_me: error: no" >&2;} - { (exit 1); exit 1; }; } - fi - echo "$as_me:$LINENO: result: yes, for $GCC_MD" >&5 -echo "${ECHO_T}yes, for $GCC_MD" >&6 + COMPILE_MANPAGES_TRUE='#' + COMPILE_MANPAGES_FALSE= +fi @@ -7727,6 +13627,1661 @@ echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6 ac_config_commands="$ac_config_commands default-1" +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +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. */ + +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 + +ac_cv_c_const=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (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_inline=$ac_kw; 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 + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +echo "$as_me:$LINENO: checking for off_t" >&5 +echo $ECHO_N "checking for off_t... $ECHO_C" >&6 +if test "${ac_cv_type_off_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 ((off_t *) 0) + return 0; +if (sizeof (off_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_off_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_off_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 +echo "${ECHO_T}$ac_cv_type_off_t" >&6 +if test $ac_cv_type_off_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define off_t long +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_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 ((size_t *) 0) + return 0; +if (sizeof (size_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_size_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_size_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned +_ACEOF + +fi + +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +echo "$as_me:$LINENO: checking for working alloca.h" >&5 +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 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + ; + 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_working_alloca_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_working_alloca_h=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 +if test $ac_cv_working_alloca_h = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA_H 1 +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6 +if test "${ac_cv_func_alloca_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# if HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +int +main () +{ +char *p = (char *) alloca (1); + ; + 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_alloca_works=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_alloca_works=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 + +if test $ac_cv_func_alloca_works = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA 1 +_ACEOF + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF +#define C_ALLOCA 1 +_ACEOF + + +echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 +if test "${ac_cv_os_cray+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. */ +#if defined(CRAY) && ! defined(CRAY2) +webecray +#else +wenotbecray +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6 +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; 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 eval "test \"\${$as_ac_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 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 $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 +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + 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 + 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 conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +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 CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main () +{ + exit (find_stack_direction () < 0); +} +_ACEOF +rm -f conftest$ac_exeext +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); } && { ac_try='./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_c_stack_direction=1 +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_stack_direction=-1 +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 + +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF + + +fi + + + +for ac_header in stdlib.h unistd.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 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (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 + +# 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 apt 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 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in getpagesize +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_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 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 $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 +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + 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 + 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 conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +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 +_ACEOF + +fi +done + +echo "$as_me:$LINENO: checking for working mmap" >&5 +echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_mmap_fixed_mapped=no +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc + +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propagated back to all the places they're supposed to be. + + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ + +#include +#include + +#if !STDC_HEADERS && !HAVE_STDLIB_H +char *malloc (); +#endif + +/* This mess was copied from the GNU getpagesize.h. */ +#if !HAVE_GETPAGESIZE +/* Assume that all systems that can run configure have sys/param.h. */ +# if !HAVE_SYS_PARAM_H +# define HAVE_SYS_PARAM_H 1 +# endif + +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# if HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ + +#endif /* no HAVE_GETPAGESIZE */ + +int +main () +{ + char *data, *data2, *data3; + int i, pagesize; + int fd; + + pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + exit (1); + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + exit (1); + if (write (fd, data, pagesize) != pagesize) + exit (1); + close (fd); + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + exit (1); + data2 = (char *) malloc (2 * pagesize); + if (!data2) + exit (1); + data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + exit (1); + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + exit (1); + if (read (fd, data3, pagesize) != pagesize) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + exit (1); + close (fd); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +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); } && { ac_try='./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_mmap_fixed_mapped=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_mmap_fixed_mapped=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 +echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 +if test $ac_cv_func_mmap_fixed_mapped = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MMAP 1 +_ACEOF + +fi +rm -f conftest.mmap + + + echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5 +echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6 +if test "${ac_cv_gnu_library_2_1+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 +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then + ac_cv_gnu_library_2_1=yes +else + ac_cv_gnu_library_2_1=no +fi +rm -f conftest* + + + +fi +echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5 +echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6 + + GLIBC21="$ac_cv_gnu_library_2_1" + + + + + echo "$as_me:$LINENO: checking whether integer division by zero raises SIGFPE" >&5 +echo $ECHO_N "checking whether integer division by zero raises SIGFPE... $ECHO_C" >&6 +if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + if test "$cross_compiling" = yes; then + + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i3456786 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac + +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include + +static void +#ifdef __cplusplus +sigfpe_handler (int sig) +#else +sigfpe_handler (sig) int sig; +#endif +{ + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); +} + +_ACEOF +rm -f conftest$ac_exeext +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); } && { ac_try='./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 + gt_cv_int_divbyzero_sigfpe=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +gt_cv_int_divbyzero_sigfpe=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + +fi +echo "$as_me:$LINENO: result: $gt_cv_int_divbyzero_sigfpe" >&5 +echo "${ECHO_T}$gt_cv_int_divbyzero_sigfpe" >&6 + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + +cat >>confdefs.h <<_ACEOF +#define INTDIV0_RAISES_SIGFPE $value +_ACEOF + + + + echo "$as_me:$LINENO: checking for inttypes.h" >&5 +echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6 +if test "${jm_ac_cv_header_inttypes_h+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 +int +main () +{ +uintmax_t i = (uintmax_t) -1; + ; + 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 + jm_ac_cv_header_inttypes_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +jm_ac_cv_header_inttypes_h=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $jm_ac_cv_header_inttypes_h" >&5 +echo "${ECHO_T}$jm_ac_cv_header_inttypes_h" >&6 + if test $jm_ac_cv_header_inttypes_h = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 +_ACEOF + + fi + + + echo "$as_me:$LINENO: checking for stdint.h" >&5 +echo $ECHO_N "checking for stdint.h... $ECHO_C" >&6 +if test "${jm_ac_cv_header_stdint_h+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 +int +main () +{ +uintmax_t i = (uintmax_t) -1; + ; + 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 + jm_ac_cv_header_stdint_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +jm_ac_cv_header_stdint_h=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $jm_ac_cv_header_stdint_h" >&5 +echo "${ECHO_T}$jm_ac_cv_header_stdint_h" >&6 + if test $jm_ac_cv_header_stdint_h = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H_WITH_UINTMAX 1 +_ACEOF + + fi + + + echo "$as_me:$LINENO: checking for unsigned long long" >&5 +echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6 +if test "${ac_cv_type_unsigned_long_long+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. */ +unsigned long long ull = 1; int i = 63; +int +main () +{ +unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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_type_unsigned_long_long=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_unsigned_long_long=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5 +echo "${ECHO_T}$ac_cv_type_unsigned_long_long" >&6 + if test $ac_cv_type_unsigned_long_long = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_UNSIGNED_LONG_LONG 1 +_ACEOF + + fi + + + + + if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then + + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + +cat >>confdefs.h <<_ACEOF +#define uintmax_t $ac_type +_ACEOF + + fi + + + echo "$as_me:$LINENO: checking for inttypes.h" >&5 +echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6 +if test "${gt_cv_header_inttypes_h+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 +int +main () +{ + + ; + 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 + gt_cv_header_inttypes_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_header_inttypes_h=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5 +echo "${ECHO_T}$gt_cv_header_inttypes_h" >&6 + if test $gt_cv_header_inttypes_h = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H 1 +_ACEOF + + fi + + + + if test $gt_cv_header_inttypes_h = yes; then + echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5 +echo $ECHO_N "checking whether the inttypes.h PRIxNN macros are broken... $ECHO_C" >&6 +if test "${gt_cv_inttypes_pri_broken+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 +#ifdef PRId32 +char *p = PRId32; +#endif + +int +main () +{ + + ; + 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 + gt_cv_inttypes_pri_broken=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_inttypes_pri_broken=yes +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5 +echo "${ECHO_T}$gt_cv_inttypes_pri_broken" >&6 + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + +cat >>confdefs.h <<_ACEOF +#define PRI_MACROS_BROKEN 1 +_ACEOF + + fi + if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" @@ -8271,84 +15826,281 @@ fi; - - - - echo "$as_me:$LINENO: checking whether NLS is requested" >&5 -echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=yes -fi; - echo "$as_me:$LINENO: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6 - - - - LIBINTL= - LTLIBINTL= - POSUB= - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - - - - - - echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 -echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6 -if test "${gt_cv_func_gnugettext1_libc+set}" = set; then +for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h +do +as_ac_Header=`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 - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; +$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 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (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 + +# 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 apt 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 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + + + + + + + + + + + + + + + +for ac_func in feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ +geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ +strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next +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 eval "test \"\${$as_ac_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 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 $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 +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + int main () { -bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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 - gt_cv_func_gnugettext1_libc=yes + eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -gt_cv_func_gnugettext1_libc=no +eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5 -echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6 +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 +_ACEOF + +fi +done + - if test "$gt_cv_func_gnugettext1_libc" != "yes"; then @@ -8388,7 +16140,6 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -8408,11 +16159,21 @@ iconv_t cd = iconv_open("",""); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -8424,12 +16185,12 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -8449,11 +16210,21 @@ iconv_t cd = iconv_open("",""); _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -8466,7 +16237,8 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi @@ -8493,6 +16265,392 @@ echo "${ECHO_T}$LIBICONV" >&6 + if test "$am_cv_func_iconv" = yes; then + echo "$as_me:$LINENO: checking for iconv declaration" >&5 +echo $ECHO_N "checking for iconv declaration... $ECHO_C" >&6 + if test "${am_cv_proto_iconv+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 +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (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 + am_cv_proto_iconv_arg1="" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +am_cv_proto_iconv_arg1="const" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" +fi + + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + echo "$as_me:$LINENO: result: ${ac_t:- + }$am_cv_proto_iconv" >&5 +echo "${ECHO_T}${ac_t:- + }$am_cv_proto_iconv" >&6 + +cat >>confdefs.h <<_ACEOF +#define ICONV_CONST $am_cv_proto_iconv_arg1 +_ACEOF + + fi + + + echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5 +echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6 +if test "${am_cv_langinfo_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +char* cs = nl_langinfo(CODESET); + ; + 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 + am_cv_langinfo_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +am_cv_langinfo_codeset=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5 +echo "${ECHO_T}$am_cv_langinfo_codeset" >&6 + if test $am_cv_langinfo_codeset = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LANGINFO_CODESET 1 +_ACEOF + + fi + + if test $ac_cv_header_locale_h = yes; then + + echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 +echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 +if test "${am_cv_val_LC_MESSAGES+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +return LC_MESSAGES + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (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 + am_cv_val_LC_MESSAGES=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +am_cv_val_LC_MESSAGES=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 +echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 + if test $am_cv_val_LC_MESSAGES = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LC_MESSAGES 1 +_ACEOF + + fi + + fi + + for ac_prog in bison +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_INTLBISON+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$INTLBISON"; then + ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_INTLBISON="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +INTLBISON=$ac_cv_prog_INTLBISON +if test -n "$INTLBISON"; then + echo "$as_me:$LINENO: result: $INTLBISON" >&5 +echo "${ECHO_T}$INTLBISON" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$INTLBISON" && break +done + + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + echo "$as_me:$LINENO: checking version of bison" >&5 +echo $ECHO_N "checking version of bison... $ECHO_C" >&6 + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + echo "$as_me:$LINENO: result: $ac_prog_version" >&5 +echo "${ECHO_T}$ac_prog_version" >&6 + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi + + + + + + + + + + + + + + + + echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 + # Check whether --enable-nls or --disable-nls was given. +if test "${enable_nls+set}" = set; then + enableval="$enable_nls" + USE_NLS=$enableval +else + USE_NLS=yes +fi; + echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6 + + + + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + + LIBINTL= + LTLIBINTL= + POSUB= + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + echo "$as_me:$LINENO: checking whether included gettext is requested" >&5 +echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6 + +# Check whether --with-included-gettext or --without-included-gettext was given. +if test "${with_included_gettext+set}" = set; then + withval="$with_included_gettext" + nls_cv_force_use_gnu_gettext=$withval +else + nls_cv_force_use_gnu_gettext=no +fi; + echo "$as_me:$LINENO: result: $nls_cv_force_use_gnu_gettext" >&5 +echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6 + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + + + + + + + echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 +echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6 +if test "${gt_cv_func_gnugettext1_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +int +main () +{ +bindtextdomain ("", ""); +return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings + ; + 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 + gt_cv_func_gnugettext1_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_gnugettext1_libc=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5 +echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6 + + if test "$gt_cv_func_gnugettext1_libc" != "yes"; then @@ -8882,7 +17040,6 @@ else gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -8906,11 +17063,21 @@ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -8923,11 +17090,11 @@ sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_gnugettext1_libintl=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -8951,11 +17118,21 @@ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { 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=$? @@ -8970,7 +17147,8 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" @@ -8990,6 +17168,25 @@ echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6 fi + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + INTLOBJS="\$(GETTOBJS)" + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="\${top_builddir}/intl/libintl.a $LIBICONV" + LTLIBINTL="\${top_builddir}/intl/libintl.a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + CATOBJEXT=.gmo + fi + if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then @@ -9052,6 +17249,30 @@ _ACEOF fi + if test "$PACKAGE" = gettext; then + BUILD_INCLUDED_LIBINTL=yes + fi + + + + + + + nls_cv_header_intl= + nls_cv_header_libgt= + + DATADIRNAME=share + + + INSTOBJEXT=.mo + + + GENCAT=gencat + + + INTL_LIBTOOL_SUFFIX_PREFIX= + + INTLLIBS="$LIBINTL" @@ -9060,55 +17281,61 @@ _ACEOF -if test x"$USE_NLS" = "xyes"; then - cat >>confdefs.h <<\_ACEOF -#define USE_NLS 1 -_ACEOF -fi - -# Extract the first word of "bash", so it can be a program name with args. -set dummy bash; 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_BASH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $BASH in - [\\/]* | ?:[\\/]*) - ac_cv_path_BASH="$BASH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_BASH="$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 -BASH=$ac_cv_path_BASH - -if test -n "$BASH"; then - echo "$as_me:$LINENO: result: $BASH" >&5 -echo "${ECHO_T}$BASH" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi +echo "$as_me:$LINENO: checking glibc version" >&5 +echo $ECHO_N "checking glibc version... $ECHO_C" >&6 + dummy=if$$ + cat <<_GLIBC_>$dummy.c +#include +#include +#include +int main(int argc, char **argv) { printf("libc6.%d",__GLIBC_MINOR__); exit(0); } +_GLIBC_ + ${CC-cc} $dummy.c -o $dummy > /dev/null 2>&1 + if test "$?" = 0; then + GLIBC_VER=`./$dummy` + echo "$as_me:$LINENO: result: $GLIBC_VER" >&5 +echo "${ECHO_T}$GLIBC_VER" >&6 + GLIBC_VER="$GLIBC_VER" + else + { echo "$as_me:$LINENO: WARNING: cannot determine GNU C library minor version number" >&5 +echo "$as_me: WARNING: cannot determine GNU C library minor version number" >&2;} + fi + rm -f $dummy $dummy.c - ac_config_files="$ac_config_files environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in" - ac_config_commands="$ac_config_commands default" +echo "$as_me:$LINENO: checking libstdc++ version" >&5 +echo $ECHO_N "checking libstdc++ version... $ECHO_C" >&6 + dummy=if$$ + cat <<_LIBSTDCPP_>$dummy.cc +#include +#include +#include +int main(int argc, char **argv) { exit(0); } +_LIBSTDCPP_ + ${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1 + + if test "$?" = 0; then + soname=`objdump -p ./$dummy |grep NEEDED|grep libstd` + LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'` + fi + rm -f $dummy $dummy.cc + + if test -z "$LIBSTDCPP_VER"; then + { echo "$as_me:$LINENO: WARNING: cannot determine standard C++ library version number" >&5 +echo "$as_me: WARNING: cannot determine standard C++ library version number" >&2;} + else + echo "$as_me:$LINENO: result: $LIBSTDCPP_VER" >&5 +echo "${ECHO_T}$LIBSTDCPP_VER" >&6 + LIBSTDCPP_VER="$LIBSTDCPP_VER" + fi + + + + ac_config_commands="$ac_config_commands fixintl" + + + ac_config_files="$ac_config_files Makefile buildlib/Makefile intl/Makefile lua/Makefile apt-pkg/Makefile methods/Makefile cmdline/Makefile tools/Makefile doc/Makefile m4/Makefile po/Makefile.in" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -9137,13 +17364,13 @@ _ACEOF # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | @@ -9173,13 +17400,13 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ + ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; +s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; -s/^[^=]*=[ ]*$//; +s/^[^=]*=[ ]*$//; }' fi @@ -9190,7 +17417,7 @@ ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' @@ -9200,6 +17427,13 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -9214,6 +17448,13 @@ echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -9221,6 +17462,48 @@ echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${WITH_LUA_TRUE}" && test -z "${WITH_LUA_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WITH_LUA\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WITH_LUA\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${COMPILE_APTSHELL_TRUE}" && test -z "${COMPILE_APTSHELL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"COMPILE_APTSHELL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"COMPILE_APTSHELL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${NEED_INTTYPES_H_TRUE}" && test -z "${NEED_INTTYPES_H_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"NEED_INTTYPES_H\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"NEED_INTTYPES_H\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${NEED_STATVFS_H_TRUE}" && test -z "${NEED_STATVFS_H_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"NEED_STATVFS_H\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"NEED_STATVFS_H\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${NEED_NETDB_H_TRUE}" && test -z "${NEED_NETDB_H_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"NEED_NETDB_H\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"NEED_NETDB_H\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${COMPILE_MANPAGES_TRUE}" && test -z "${COMPILE_MANPAGES_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"COMPILE_MANPAGES\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"COMPILE_MANPAGES\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -9255,9 +17538,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -9276,7 +17560,7 @@ for as_var in \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -9455,16 +17739,17 @@ rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -9490,8 +17775,8 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by $as_me, which was -generated by GNU Autoconf 2.56. Invocation command line was +This file was extended by apt $as_me 0.5.15cnc5, which was +generated by GNU Autoconf 2.58. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -9535,9 +17820,9 @@ Usage: $0 [OPTIONS] [FILE]... -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + instantiate the configuration file FILE --header=FILE[:TEMPLATE] - instantiate the configuration header FILE + instantiate the configuration header FILE Configuration files: $config_files @@ -9553,12 +17838,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.56, +apt config.status 0.5.15cnc5 +configured by $0, generated by GNU Autoconf 2.58, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir @@ -9671,13 +17955,21 @@ for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. - "environment.mak" ) CONFIG_FILES="$CONFIG_FILES environment.mak:buildlib/environment.mak.in" ;; - "makefile" ) CONFIG_FILES="$CONFIG_FILES makefile:buildlib/makefile.in" ;; + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "buildlib/Makefile" ) CONFIG_FILES="$CONFIG_FILES buildlib/Makefile" ;; + "intl/Makefile" ) CONFIG_FILES="$CONFIG_FILES intl/Makefile" ;; + "lua/Makefile" ) CONFIG_FILES="$CONFIG_FILES lua/Makefile" ;; + "apt-pkg/Makefile" ) CONFIG_FILES="$CONFIG_FILES apt-pkg/Makefile" ;; + "methods/Makefile" ) CONFIG_FILES="$CONFIG_FILES methods/Makefile" ;; + "cmdline/Makefile" ) CONFIG_FILES="$CONFIG_FILES cmdline/Makefile" ;; + "tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; + "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; + "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; + "fixintl" ) CONFIG_COMMANDS="$CONFIG_COMMANDS fixintl" ;; "include/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/config.h:buildlib/config.h.in" ;; - "include/apti18n.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/apti18n.h:buildlib/apti18n.h.in" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; @@ -9771,10 +18063,6 @@ s,@host@,$host,;t t s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t @@ -9793,6 +18081,10 @@ s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t +s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t +s,@MAINT@,$MAINT,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t @@ -9809,50 +18101,63 @@ s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +s,@LN_S@,$LN_S,;t t +s,@ECHO@,$ECHO,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t +s,@LIBTOOL@,$LIBTOOL,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@CXXDEPMODE@,$CXXDEPMODE,;t t s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t -s,@CPP@,$CPP,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@AR@,$AR,;t t -s,@ac_ct_AR@,$ac_ct_AR,;t t s,@SOCKETLIBS@,$SOCKETLIBS,;t t s,@PTHREADLIB@,$PTHREADLIB,;t t -s,@EGREP@,$EGREP,;t t -s,@DB2LIB@,$DB2LIB,;t t +s,@RPM_PATH@,$RPM_PATH,;t t s,@RPMLIBS@,$RPMLIBS,;t t -s,@COMPILE_APTSHELL@,$COMPILE_APTSHELL,;t t -s,@HAVE_STATVFS@,$HAVE_STATVFS,;t t +s,@WITH_LUA_TRUE@,$WITH_LUA_TRUE,;t t +s,@WITH_LUA_FALSE@,$WITH_LUA_FALSE,;t t +s,@COMPILE_APTSHELL_TRUE@,$COMPILE_APTSHELL_TRUE,;t t +s,@COMPILE_APTSHELL_FALSE@,$COMPILE_APTSHELL_FALSE,;t t +s,@NEED_INTTYPES_H_TRUE@,$NEED_INTTYPES_H_TRUE,;t t +s,@NEED_INTTYPES_H_FALSE@,$NEED_INTTYPES_H_FALSE,;t t +s,@NEED_STATVFS_H_TRUE@,$NEED_STATVFS_H_TRUE,;t t +s,@NEED_STATVFS_H_FALSE@,$NEED_STATVFS_H_FALSE,;t t s,@HAVE_TIMEGM@,$HAVE_TIMEGM,;t t -s,@HAVE_C9X@,$HAVE_C9X,;t t s,@NEED_SOCKLEN_T_DEFINE@,$NEED_SOCKLEN_T_DEFINE,;t t -s,@DEBIANDOC_HTML@,$DEBIANDOC_HTML,;t t -s,@DEBIANDOC_TEXT@,$DEBIANDOC_TEXT,;t t +s,@NEED_NETDB_H_TRUE@,$NEED_NETDB_H_TRUE,;t t +s,@NEED_NETDB_H_FALSE@,$NEED_NETDB_H_FALSE,;t t s,@DOCBOOK2MAN@,$DOCBOOK2MAN,;t t -s,@GETCONF@,$GETCONF,;t t -s,@NUM_CPUS@,$NUM_CPUS,;t t -s,@PROC_MULTIPLY@,$PROC_MULTIPLY,;t t -s,@NUM_PROCS@,$NUM_PROCS,;t t -s,@GLIBC_VER@,$GLIBC_VER,;t t -s,@LIBSTDCPP_VER@,$LIBSTDCPP_VER,;t t -s,@GCC3DEP@,$GCC3DEP,;t t +s,@COMPILE_MANPAGES_TRUE@,$COMPILE_MANPAGES_TRUE,;t t +s,@COMPILE_MANPAGES_FALSE@,$COMPILE_MANPAGES_FALSE,;t t s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t s,@MSGFMT@,$MSGFMT,;t t s,@GMSGFMT@,$GMSGFMT,;t t s,@XGETTEXT@,$XGETTEXT,;t t s,@MSGMERGE@,$MSGMERGE,;t t -s,@USE_NLS@,$USE_NLS,;t t +s,@ALLOCA@,$ALLOCA,;t t +s,@GLIBC21@,$GLIBC21,;t t s,@LIBICONV@,$LIBICONV,;t t s,@LTLIBICONV@,$LTLIBICONV,;t t +s,@INTLBISON@,$INTLBISON,;t t +s,@USE_NLS@,$USE_NLS,;t t +s,@BUILD_INCLUDED_LIBINTL@,$BUILD_INCLUDED_LIBINTL,;t t +s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t +s,@CATOBJEXT@,$CATOBJEXT,;t t +s,@INTLOBJS@,$INTLOBJS,;t t +s,@DATADIRNAME@,$DATADIRNAME,;t t +s,@INSTOBJEXT@,$INSTOBJEXT,;t t +s,@GENCAT@,$GENCAT,;t t +s,@INTL_LIBTOOL_SUFFIX_PREFIX@,$INTL_LIBTOOL_SUFFIX_PREFIX,;t t s,@INTLLIBS@,$INTLLIBS,;t t s,@LIBINTL@,$LIBINTL,;t t s,@LTLIBINTL@,$LTLIBINTL,;t t s,@POSUB@,$POSUB,;t t -s,@BASH@,$BASH,;t t +s,@GLIBC_VER@,$GLIBC_VER,;t t +s,@LIBSTDCPP_VER@,$LIBSTDCPP_VER,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF @@ -9884,9 +18189,9 @@ _ACEOF (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end @@ -9904,21 +18209,21 @@ for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -9934,10 +18239,10 @@ echo X"$ac_file" | as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -9975,12 +18280,42 @@ case $srcdir in ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` +case "$ac_dir" in +.) ac_abs_builddir=$ac_builddir;; +*) + case $ac_builddir in + .) ac_abs_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_builddir=$ac_builddir;; + *) ac_abs_builddir="$ac_dir"/$ac_builddir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir="$ac_dir"/${ac_top_builddir}.;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir="$ac_dir"/$ac_srcdir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir="$ac_dir"/$ac_top_srcdir;; + esac;; +esac case $INSTALL in @@ -10002,7 +18337,7 @@ echo "$as_me: creating $ac_file" >&6;} configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." + sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. @@ -10011,24 +18346,24 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + echo "$f";; *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } _ACEOF @@ -10070,12 +18405,12 @@ cat >>$CONFIG_STATUS <<\_ACEOF # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' @@ -10084,11 +18419,11 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac @@ -10102,28 +18437,29 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF @@ -10146,9 +18482,9 @@ s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times @@ -10162,13 +18498,13 @@ rm -f confdef2sed.sed # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail @@ -10177,7 +18513,7 @@ do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -10204,7 +18540,7 @@ do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -10238,10 +18574,10 @@ echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -10257,10 +18593,10 @@ echo X"$ac_file" | as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -10280,13 +18616,22 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} cat $tmp/config.h rm -f $tmp/config.h fi -_am_stamp_count=`expr ${_am_stamp_count-0} + 1` +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$ac_file : 'X\(//\)[^/]' \| \ - X$ac_file : 'X\(//\)$' \| \ - X$ac_file : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -10305,16 +18650,41 @@ for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_dest" : 'X\(//\)[^/]' \| \ - X"$ac_dest" : 'X\(//\)$' \| \ - X"$ac_dest" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. if test "$ac_dir" != .; then @@ -10340,12 +18710,42 @@ case $srcdir in ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` +case "$ac_dir" in +.) ac_abs_builddir=$ac_builddir;; +*) + case $ac_builddir in + .) ac_abs_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_builddir=$ac_builddir;; + *) ac_abs_builddir="$ac_dir"/$ac_builddir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir="$ac_dir"/${ac_top_builddir}.;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir="$ac_dir"/$ac_srcdir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir="$ac_dir"/$ac_top_srcdir;; + esac;; +esac { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 @@ -10363,10 +18763,10 @@ echo "$as_me: executing $ac_dest commands" >&6;} if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -10402,10 +18802,10 @@ echo X"$mf" | test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -10421,10 +18821,10 @@ echo X"$file" | as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -10538,7 +18938,12 @@ done ;; esac done ;; - default ) make -s dirs ;; + fixintl ) + sed -e 's,\.\./config.h,$(top_builddir)/include/config.h,g' \ + -e 's,^\(INCLUDES = .*\)$,\1 -I$(top_builddir)/include,g' \ + intl/Makefile > intl/Makefile.tmp + mv -f intl/Makefile{.tmp,} + ;; esac done _ACEOF diff --git a/apt/configure.in b/apt/configure.in index ed34221..1fc7523 100644 --- a/apt/configure.in +++ b/apt/configure.in @@ -1,44 +1,26 @@ -ad dnl Process this file with autoconf to produce a configure script. -dnl The ONLY thing this is used for is to configure for different -dnl linux architectures and configurations, it is not used to make the -dnl code more portable - -dnl You MUST have an environment that has all the POSIX functions and -dnl some of the more populare bsd/sysv ones (like select). You'll also -dnl need a C++ compiler that is semi-standard conformant, exceptions are -dnl not used but STL is. - -dnl 'make -f Makefile startup' will generate the configure file from -dnl configure.in correctly and can be run at any time - -AC_INIT(configure.in) -AC_CONFIG_AUX_DIR(buildlib) -AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) - -dnl CNC:2002-07-08 -dnl -- SET THIS TO THE RELEASE VERSION -- -dnl AC_DEFINE_UNQUOTED(VERSION,"0.5.5") -dnl PACKAGE="apt" -dnl AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") -dnl AC_SUBST(PACKAGE) +AC_PREREQ(2.54) +AC_INIT([apt],[0.5.15cnc5]) dnl Check the archs, we want the target type. -AC_CANONICAL_SYSTEM +AC_CONFIG_AUX_DIR([buildlib]) +AC_CANONICAL_HOST +AC_CONFIG_SRCDIR([configure.in]) +AM_INIT_AUTOMAKE([foreign subdir-objects dist-bzip2 1.7]) +AM_MAINTAINER_MODE -dnl CNC:2002-07-08 -AM_INIT_AUTOMAKE("apt", "0.5.5cnc4.1") +AC_CONFIG_HEADER([include/config.h:buildlib/config.h.in]) + +AC_PROG_LIBTOOL dnl Check our C compiler -AC_CHECK_TOOL_PREFIX AC_PROG_CC +AM_PROG_CC_C_O AC_ISC_POSIX dnl Check for other programs AC_PROG_CXX AC_PROG_CPP -AC_PROG_RANLIB -AC_CHECK_TOOL(AR,ar,"ar") dnl Checks for sockets SAVE_LIBS="$LIBS" @@ -56,83 +38,101 @@ dnl if test "$PTHREADLIB" != "-lpthread"; then dnl AC_MSG_ERROR(failed: I need posix threads, pthread) dnl fi -dnl Check for DB2 -AC_CHECK_HEADER(db2/db.h, - [AC_CHECK_LIB(db2,db_open, - [AC_DEFINE(HAVE_DB2) DB2LIB="-ldb2"])]) -AC_SUBST(DB2LIB) - -dnl CNC:2002-07-03 -dnl Check for rpm version -rpm_version="none" -SAVE_LIBS="$LIBS" -SAVE_CPPFLAGS="$CPPFLAGS" - -CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" -AC_CHECK_HEADERS(db1/db.h) -AC_CHECK_HEADER(rpm/rpmlib.h, rpm_header_ok=1, rpm_header_ok=0) - -if test $rpm_header_ok = 1; then - - LIBS="$SAVE_LIBS -lrpm -lrpmio -lz -lbz2 -lpopt" - AC_CHECK_LIB(rpmdb,rpmdbOpen, - [RPMDBLIBS="-lrpmdb"], - [RPMDBLIBS="-ldb-3.1"]) - - LIBS="$SAVE_LIBS $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" - AC_CHECK_LIB(rpm,rpmdbGetIteratorOffset, - [AC_DEFINE_UNQUOTED(HAVE_RPM, 1) AC_DEFINE_UNQUOTED(HAVE_RPM4, 1) - RPMLIBS="-lrpm $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" - SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" - AC_CHECK_LIB(rpm, rpmtsUpdateDSI, - [AC_DEFINE_UNQUOTED(HAVE_RPM41, 1) - rpm_version="4.1"], - [rpm_version="4.0.X"]) - ]) - - if test $rpm_version = "none"; then - LIBS="$SAVE_LIBS -ldb1 -lz -lbz2 -lpopt" - AC_CHECK_LIB(rpm,rpmdbFirstRecNum, - [AC_DEFINE_UNQUOTED(HAVE_RPM, 1) - RPMLIBS="-lrpm -ldb1 -lz -lbz2 -lpopt" - SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm" - rpm_version="3"]) - fi -fi -AC_MSG_CHECKING(for RPM version) -AC_MSG_RESULT($rpm_version) - -AC_SUBST(RPMLIBS) -CPPFLAGS="$SAVE_CPPFLAGS" -LIBS="$SAVE_LIBS" - -dnl CNC:2003-03-03 -AC_MSG_CHECKING(for --with-hashmap) -AC_ARG_WITH([hashmap], - AC_HELP_STRING(--with-hashmap, use the c++ hash_map extension), -[ -if test "$withval" != no -then - AC_DEFINE(WITH_HASH_MAP, 1, - [Define if you want to use the c++ hash_map extension.]) - AC_MSG_RESULT(yes) +dnl Check for RPM executable path +AC_PATH_PROG(RPM_PATH,rpm,none) +if test "$RPM_PATH" = "none"; then + AC_MSG_ERROR([RPM executable was not found in your system]) else - AC_MSG_RESULT(no) + AC_DEFINE_UNQUOTED([HAVE_RPM],1,[Define if RPM backend is available]) + + dnl Check for RPM version + AC_MSG_CHECKING(for RPM version) + RPM_VERSION_RAW=`LANG= LC_ALL= $RPM_PATH --version | sed 's/^RPM version //'` + RPM_VERSION_MAJOR=`echo $RPM_VERSION_RAW | cut -d. -f1` + RPM_VERSION_MINOR=`echo $RPM_VERSION_RAW | cut -d. -f2` + RPM_VERSION_MICRO=`echo $RPM_VERSION_RAW | cut -d. -f3` + if test -z "$RPM_VERSION_MAJOR" -o -z "$RPM_VERSION_MINOR"; then + AC_MSG_ERROR([can't parse RPM version]) + fi + if test -z "$RPM_VERSION_MICRO"; then + RPM_VERSION_MICRO=0 + fi + AC_DEFINE_UNQUOTED([RPM_VERSION_MAJOR],$RPM_VERSION_MAJOR,[RPM major version]) + AC_DEFINE_UNQUOTED([RPM_VERSION_MINOR],$RPM_VERSION_MINOR,[RPM minor version]) + AC_DEFINE_UNQUOTED([RPM_VERSION_MICRO],$RPM_VERSION_MICRO,[RPM micro version]) + AC_DEFINE_UNQUOTED([RPM_VERSION], + [((RPM_VERSION_MAJOR<<16)|(RPM_VERSION_MINOR<<8)|RPM_VERSION_MICRO)], + [Define to the RPM version]) + AC_DEFINE_UNQUOTED([RPM_VERSION_RAW],"$RPM_VERSION_RAW",[RPM raw version]) + AC_MSG_RESULT($RPM_VERSION_RAW) + + dnl Check for RPM libraries and headers + + AC_CHECK_LIB(bz2,BZ2_bzopen, [], + [AC_MSG_ERROR([Can't find libbz2 library])]) + AC_CHECK_LIB(z,gzopen, [], + [AC_MSG_ERROR([Can't find libz library])]) + AC_CHECK_HEADERS(db1/db.h) + + CPPFLAGS="$CPPFLAGS -I/usr/include/rpm" + AC_CHECK_HEADER(rpm/rpmlib.h, [], + [AC_MSG_ERROR([Can't find rpmlib.h])]) + + if test $RPM_VERSION_MAJOR -lt 4; then + RPMLIBS="-lrpm -lz -lbz2 -lpopt" + else + AC_CHECK_LIB(rpmdb,rpmdbOpen, + [RPMDBLIBS="-lrpmdb"], + [RPMDBLIBS="-ldb-3.1"], + [-lrpm -lrpmio -lz -lbz2 -lpopt]) + RPMLIBS="-lrpm $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt" + fi + AC_MSG_CHECKING(for RPM libraries) + AC_MSG_RESULT($RPMLIBS) + AC_SUBST(RPMLIBS) fi -], -[AC_MSG_RESULT(no)]) + +dnl Can we use g++ hash_map? +AH_TEMPLATE(WITH_GNU_HASH_MAP, + [Define to 1 if you want to use the g++ hash_map extension.]) +AC_MSG_CHECKING(for g++ hash_map extension) +AC_LANG_PUSH([C++]) +AC_TRY_LINK( +[ +#include +using namespace __gnu_cxx; +],[hash_map > HashMap; +],[AC_DEFINE_UNQUOTED(WITH_GNU_HASH_MAP, 1) AC_MSG_RESULT(yes) +],[AC_MSG_RESULT(no)]) +AC_LANG_POP([C++]) + +dnl CNC:2003-03-20 +AC_MSG_CHECKING(for --disable-scripts) +AC_ARG_ENABLE([scripts], + AC_HELP_STRING(--disable-scripts, disable the extension system), + [enable_scripts="$enableval"],[enable_scripts="yes"]) +if test "$enable_scripts" != "no"; then + AC_MSG_RESULT(no) + AC_DEFINE(WITH_LUA, 1, + [Define if you want to enable the extension system.]) +else + AC_MSG_RESULT(yes) +fi +AM_CONDITIONAL(WITH_LUA, test "$enable_scripts" != "no") dnl Check for apt-shell dependencies AC_CHECK_LIB(ncurses,tputs, [AC_CHECK_HEADER(readline/readline.h, - [AC_CHECK_LIB(readline,readline, - [COMPILE_APTSHELL=yes],,[-lncurses])])]) -AC_SUBST(COMPILE_APTSHELL) + [AC_CHECK_LIB(readline,rl_completion_matches, + [compile_aptshell=yes],,[-lncurses])])]) +AM_CONDITIONAL(COMPILE_APTSHELL, test "$compile_aptshell" = "yes") dnl Converts the ARCH to be something singular for this general CPU family dnl This is often the dpkg architecture string. +AH_TEMPLATE(COMMON_CPU, [Define the common CPU]) +AH_TEMPLATE(COMMON_OS, [Define the common OS]) AC_MSG_CHECKING(system architecture) -archset="`awk \" ! /^#|^\\\$/ { if(match(\\\"$target_cpu\\\",\\\"^\\\"\\\$1\\\"\\\$\\\")) {print \\\$2; exit}}\" $srcdir/buildlib/archtable`" +archset="`awk \" ! /^#|^\\\$/ { if(match(\\\"$host_cpu\\\",\\\"^\\\"\\\$1\\\"\\\$\\\")) {print \\\$2; exit}}\" $srcdir/buildlib/archtable`" if test "x$archset" = "x"; then AC_MSG_ERROR(failed: use --host=) fi @@ -142,7 +142,7 @@ AC_DEFINE_UNQUOTED(COMMON_CPU,"$archset") dnl Get a common name for the host OS - this is primarily only for HURD and is dnl non fatal if it fails AC_MSG_CHECKING(system OS) -osset="`awk \" ! /^#|^\\\$/ {if (match(\\\"$target_vendor-$target_os\\\",\\\$1)) {print \\\$2; exit}}\" $srcdir/buildlib/ostable`" +osset="`awk \" ! /^#|^\\\$/ {if (match(\\\"$host_vendor-$host_os\\\",\\\$1)) {print \\\$2; exit}}\" $srcdir/buildlib/ostable`" AC_MSG_RESULT($osset) AC_DEFINE_UNQUOTED(COMMON_OS,"$osset") @@ -151,69 +151,46 @@ AC_CACHE_CHECK([for C99 integer types],c9x_ints,[ AC_TRY_COMPILE([#include ], [uint8_t Foo1;uint16_t Foo2;uint32_t Foo3;], c9x_ints=yes,c9x_ints=no)]) +AM_CONDITIONAL(NEED_INTTYPES_H, test "$c9x_ints" = "no") + +AC_C_BIGENDIAN + +dnl Check the sizes etc. of the architecture +dnl Cross compilers can either get a real C library or preload the cache +dnl with their size values. +AC_CHECK_SIZEOF(char) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(short) +AC_CHECK_SIZEOF(long) dnl Single Unix Spec statvfs -AC_CHECK_FUNC(statvfs,[HAVE_STATVFS=yes]) -AC_SUBST(HAVE_STATVFS) +AC_CHECK_FUNC(statvfs,[have_statvfs=yes]) +AM_CONDITIONAL(NEED_STATVFS_H, test "$have_statvfs" != "yes") dnl Arg, linux and bsd put their statfs function in different places -if test x"$HAVE_STATVFS" != x"yes"; then +AH_TEMPLATE(HAVE_VFS_H, [Define to 1 if sys/vfs.h is available]) +AH_TEMPLATE(HAVE_MOUNT_H, [Define to 1 if sys/mount.h is available]) +if test "$have_statvfs" != "yes"; then AC_EGREP_HEADER(statfs,sys/vfs.h,[AC_DEFINE(HAVE_VFS_H)],[ - AC_EGREP_HEADER(statfs,sys/mount.h,[AC_DEFINE(HAVE_MOUNT_H)],[AC_MSG_ERROR(failed: Need statvfs)]) + AC_EGREP_HEADER(statfs,sys/mount.h,[AC_DEFINE(HAVE_MOUNT_H)], + [AC_MSG_ERROR(failed: Need statvfs)]) ]) fi dnl We should use the real timegm function if we have it. +AH_TEMPLATE(HAVE_TIMEGM, [Define to 1 if timegm is available]) AC_CHECK_FUNC(timegm,AC_DEFINE(HAVE_TIMEGM)) AC_SUBST(HAVE_TIMEGM) -dnl Check the sizes etc. of the architecture -dnl This is stupid, it should just use the AC macros like it does below -dnl Cross compilers can either get a real C library or preload the cache -dnl with their size values. -changequote(,) -archline="`awk \" ! /^#|^\\\$/ {if (match(\\\"$archset\\\",\\\$1)) {print; exit}}\" $srcdir/buildlib/sizetable | cut -f 2- -d ' '`" -if test "x$archline" != "x"; then - changequote([,]) - set $archline - if test "$1" = "little"; then - ac_cv_c_bigendian=no - else - ac_cv_c_bigendian=yes - fi - size_char=$2 - size_int=$3 - size_short=$4 - size_long=$5 -fi - -dnl I wonder what AC_C_BIGENDIAN does if you cross compile... -dnl This is probably bogus, as above we only care if we have to build our own -dnl C9x types. -if test "$cross_compiling" = "yes" -a "x$archline" = "x"; then - AC_MSG_ERROR(When cross compiling, architecture must be present in sizetable) -fi -AC_C_BIGENDIAN - -dnl We do not need this if we have inttypes! -HAVE_C9X=yes -if test x"$c9x_ints" = x"no"; then - AC_CHECK_SIZEOF(char,$size_char) - AC_CHECK_SIZEOF(int,$size_int) - AC_CHECK_SIZEOF(short,$size_short) - AC_CHECK_SIZEOF(long,$size_long) - - HAVE_C9X= - AC_SUBST(HAVE_C9X) -fi - dnl HP-UX sux.. +AH_TEMPLATE(NEED_SOCKLEN_T_DEFINE, [Define to 1 if socket_t is missing]) AC_MSG_CHECKING(for missing socklen_t) AC_EGREP_HEADER(socklen_t, sys/socket.h,[AC_MSG_RESULT(no)],[ AC_DEFINE(NEED_SOCKLEN_T_DEFINE) NEED_SOCKLEN_T_DEFINE=yes AC_MSG_RESULT(missing.)]) AC_SUBST(NEED_SOCKLEN_T_DEFINE) +AM_CONDITIONAL(NEED_NETDB_H, test "$NEED_SOCKLEN_T_DEFINE" = "yes") dnl HP-UX needs -d_XOPEN_SOURCE_EXTENDED for h_errno AC_MSG_CHECKING(for h_errno) @@ -225,30 +202,49 @@ AC_EGREP_HEADER(h_errno, netdb.h, [AC_MSG_RESULT(normal)], ]) dnl Check for debiandoc -AC_PATH_PROG(DEBIANDOC_HTML,debiandoc2html) -AC_PATH_PROG(DEBIANDOC_TEXT,debiandoc2text) +dnl AC_PATH_PROG(DEBIANDOC_HTML,debiandoc2html) +dnl AC_PATH_PROG(DEBIANDOC_TEXT,debiandoc2text) dnl Check for the SGML tools needed to build man pages AC_PATH_PROG(DOCBOOK2MAN,docbook2man) +AC_MSG_CHECKING([for --disable-docs]) +AC_ARG_ENABLE([docs], + AC_HELP_STRING([--disable-docs], + [do not compile documentation]), + [enable_docs="$enableval"], [enable_docs="yes"]) +if test "$enable_docs" != "no"; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) +fi +AM_CONDITIONAL(COMPILE_MANPAGES, test -n "$DOCBOOK2MAN" -a "$enable_docs" != "no") -dnl Check for YODL -dnl AC_CHECK_PROG(YODL_MAN,yodl2man,"yes","") +AM_GNU_GETTEXT_VERSION([0.11.4]) +AM_GNU_GETTEXT -ah_NUM_PROCS +dnl ah_NUM_PROCS rc_GLIBC_VER rc_LIBSTDCPP_VER -ah_GCC3DEP +dnl ah_GCC3DEP -dnl It used to be that the user could select translations and that could get -dnl passed to the makefiles, but now that can only work if you use special -dnl gettext approved makefiles, so this feature is unsupported by this. -dnl CNC:2002-10-22 -AM_GNU_GETTEXT(external) -if test x"$USE_NLS" = "xyes"; then - AC_DEFINE(USE_NLS) -fi -AC_SUBST(USE_NLS) -AC_PATH_PROG(BASH, bash) +dnl Fix up intl/Makefile to point to the right config.h +AC_CONFIG_COMMANDS([fixintl],[ + sed -e 's,\.\./config.h,$(top_builddir)/include/config.h,g' \ + -e 's,^\(INCLUDES = .*\)$,\1 -I$(top_builddir)/include,g' \ + intl/Makefile > intl/Makefile.tmp + mv -f intl/Makefile{.tmp,} +]) -dnl CNC:2002-07-08 -AC_OUTPUT(environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in,make -s dirs) +AC_OUTPUT([ + Makefile + buildlib/Makefile + intl/Makefile + lua/Makefile + apt-pkg/Makefile + methods/Makefile + cmdline/Makefile + tools/Makefile + doc/Makefile + m4/Makefile + po/Makefile.in + ]) diff --git a/apt/contrib/apt-files/README b/apt/contrib/apt-files/README new file mode 100644 index 0000000..6d4c8c9 --- /dev/null +++ b/apt/contrib/apt-files/README @@ -0,0 +1,47 @@ + +Notice +------ + +APT-RPM supports translation of filenames to package names internally +since version 0.5.15cnc3, but filenames must be in the pkglists for +the internal version to work. It means that to access all files in the +system pkglists must be built with --bloat, so using this script is +still an option. + +What is apt-files? +------------------ + +This is a simple APT-RPM plugin allowing one to pass any +filename for apt-get, like: + + apt-get install /etc/rc.d/init.d/myservice + +or + + apt-get install /usr/bin/lua + + +How to use it? +-------------- + +First, you must create a "database" with the "filename -> pkgname" map. +This database is a simple compressed text file with one "filename pkgname" +pair per line, with a space separating them. For example: + + /usr/bin/lua lua + /usr/bin/apt-get apt-get + ... + +You can create these files from an hdlist or from a directory full of +rpm files using the convert.py program (you'll need the rpm python +module). + +After you created the database, you can install the plugin putting +these files in the following directories: + + /etc/apt/apt.conf.d/apt-files.conf + /usr/lib/apt/scripts/apt-files.lua + /var/state/apt/Contents.gz + +Bingo! It should be working. ;-) + diff --git a/apt/contrib/apt-files/apt-files.conf b/apt/contrib/apt-files/apt-files.conf new file mode 100644 index 0000000..4ae9aec --- /dev/null +++ b/apt/contrib/apt-files/apt-files.conf @@ -0,0 +1,2 @@ +Scripts::AptGet::Install::TranslateArg:: "apt-files.lua"; +Dir::State::contents "Contents.gz"; diff --git a/apt/contrib/apt-files/apt-files.lua b/apt/contrib/apt-files/apt-files.lua new file mode 100644 index 0000000..07c953e --- /dev/null +++ b/apt/contrib/apt-files/apt-files.lua @@ -0,0 +1,36 @@ +-- This script must be plugged into the APT script slot +-- Scripts::AptGet::Install::TranslateArg +-- +-- Author: Gustavo Niemeyer +-- +-- Data sample: +-- argument = "/usr/bin/python" +-- contents = "/var/state/apt/Contents.gz" +-- translated = {} + +if string.sub(argument, 1, 1) == "/" then + contents = confget("Dir::State::contents/f") + if string.sub(contents, -3) == ".gz" then + file = io.popen("zcat "..contents) + elseif string.sub(contents, -4) == ".bz2" then + file = io.popen("bzcat "..contents) + else + file = io.open(contents) + end + len = string.len(argument) + for line in file:lines() do + if string.sub(line, 1, len) == argument then + _, _, path, name = string.find(line, '(%S+)%s+(%S+)') + if path == argument then + translated = name + break + end + end + end + for line in file:lines() do + -- nothing, just don't break the pipe + end + file:close() +end + +-- vim:st=4:sw=4:et diff --git a/apt/contrib/apt-files/convert.py b/apt/contrib/apt-files/convert.py new file mode 100755 index 0000000..d4292b6 --- /dev/null +++ b/apt/contrib/apt-files/convert.py @@ -0,0 +1,28 @@ +#!/usr/bin/python +import sys, os +import rpm + +def main(): + if len(sys.argv) == 1: + sys.exit("Usage: convert.py ...") + + for entry in sys.argv[1:]: + if os.path.isfile(entry): + for header in rpm.readHeaderListFromFile(entry): + name = header[rpm.RPMTAG_NAME] + for filename in header[rpm.RPMTAG_FILENAMES]: + print filename, name + if os.path.isdir(entry): + for filename in os.listdir(entry): + if filename.endswith(".rpm"): + filepath = os.path.join(entry, filename) + file = open(filepath) + header = rpm.headerFromPackage(file.fileno())[0] + name = header[rpm.RPMTAG_NAME] + for filename in header[rpm.RPMTAG_FILENAMES]: + print filename, name + file.close() + +if __name__ == "__main__": + main() + diff --git a/apt/contrib/apt-groupinstall/README b/apt/contrib/apt-groupinstall/README new file mode 100644 index 0000000..ed77982 --- /dev/null +++ b/apt/contrib/apt-groupinstall/README @@ -0,0 +1,18 @@ +Lua script to allow installing and viewing package groups as defined in +comps.xml found in RHL 8.0, 9 and Fedora Core 1. + +This script must be plugged into the following APT script slots: + + Scripts::AptGet::Command + Scripts::AptCache::Command + +Usage: + apt-cache showgroups - show all known groups + apt-cache showgroup - show description and contents of group + apt-get groupinstall - install all packages belonging to a group + apt-get groupremove - remove all packages belonging to a group + +Known to work in RHL 8.0, 9 and Fedora Core 1. Requires python, comps and +rhpl packages to be installed. + +Licensed under the GPL, by pmatilai@welho.com / 2003 diff --git a/apt/contrib/apt-groupinstall/apt-groupinstall.conf b/apt/contrib/apt-groupinstall/apt-groupinstall.conf new file mode 100644 index 0000000..be14423 --- /dev/null +++ b/apt/contrib/apt-groupinstall/apt-groupinstall.conf @@ -0,0 +1,2 @@ +Scripts::AptGet::Command:: "apt-groupinstall.lua"; +Scripts::AptCache::Command:: "apt-groupinstall.lua"; diff --git a/apt/contrib/apt-groupinstall/apt-groupinstall.lua b/apt/contrib/apt-groupinstall/apt-groupinstall.lua new file mode 100644 index 0000000..e5b852b --- /dev/null +++ b/apt/contrib/apt-groupinstall/apt-groupinstall.lua @@ -0,0 +1,46 @@ +-- Lua script to allow installing package groups as defined in comps.xml +-- Licensed under the GPL, by pmatilai@welho.com / 2003 +-- This script must be plugged into the APT script slots +-- Scripts::AptGet::Command and Scripts::AptCache::Command +-- + +helper = confget("Dir::Bin::scripts/f").."/apt-groupinstall.py" + +if script_slot == "Scripts::AptCache::Command" then + if command_args[1] == "showgroups" then + command_consume = 1 + os.execute(helper.." showgroups") + elseif command_args[1] == "showgroup" then + command_consume=1 + group = command_args[2] + if not group then + apterror("No groupname given.") + return + end + os.execute(helper.." showgroup "..group) + end + +elseif script_slot == "Scripts::AptGet::Command" then + if command_args[1] == "groupinstall" then + oper = markinstall + command_consume = 1 + elseif command_args[1] == "groupremove" then + oper = markremove + command_consume = 1 + else + return + end + group = command_args[2] + if not group then + apterror("No groupname given.") + return + end + print("Finding packages belonging to group "..group.."...") + pkgs = io.popen(helper.." grouppkgs "..group) + for name in pkgs:lines() do + pkg = pkgfind(name) + if pkg then + oper(pkg) + end + end +end diff --git a/apt/contrib/apt-groupinstall/apt-groupinstall.py b/apt/contrib/apt-groupinstall/apt-groupinstall.py new file mode 100644 index 0000000..f4b6743 --- /dev/null +++ b/apt/contrib/apt-groupinstall/apt-groupinstall.py @@ -0,0 +1,63 @@ +#!/usr/bin/python + +# apt-groupinstall v0.1 +# groupinstall helper script for apt +# by pmatilai@welho.com + +import rhpl.comps, sys, string + +comps = rhpl.comps.Comps("/usr/share/comps/i386/comps.xml") + + +def usage(): + print "Usage: %s showgroups" % sys.argv[0] + print " %s showgroup " % sys.argv[0] + print " %s grouppkgs " % sys.argv[0] + sys.exit(1) + +def findgroup(grpname): + if comps.groups.has_key(grpname): + return comps.groups[grpname] + for group in comps.groups.values(): + if group.id == grpname: + return group + +def grouppkgs(grpname): + if not findgroup(grpname): + print "No such group: %s" % grpname + return + group = findgroup(grpname) + if group: + for pkg in comps.groups[group.name].packages: + print "%s" % pkg + +def showgroups(): + for group in comps.groups.values(): + print "%s (%s)" % (group.id, group.name) + +def showgroup(grpname): + group = findgroup(grpname) + if not group: + print "No such group: %s" % grpname + return + print "Group: %s" % group.id + print "Description: %s" % group.description + print "Packages: " + for pkg in comps.groups[group.name].packages: + print " %s" % pkg + + +if __name__ == "__main__": + if len(sys.argv) < 2: + usage() + if sys.argv[1] == "showgroups": + showgroups() + elif len(sys.argv) < 3: + usage() + elif sys.argv[1] == "grouppkgs": + grouppkgs(sys.argv[2]) + elif sys.argv[1] == "showgroup": + showgroup(sys.argv[2]) + else: + usage() + diff --git a/apt/contrib/apt-rpm/apt-rpm b/apt/contrib/apt-rpm/apt-rpm new file mode 100755 index 0000000..0ade7c7 --- /dev/null +++ b/apt/contrib/apt-rpm/apt-rpm @@ -0,0 +1,165 @@ +function usage +{ + ( echo "$SHORTHELP" + echo "See $PRGNAME --help for extended help." + ) >&2 +} + +function help +{ + cat << EOF >&1 +Usage: $PRGNAME [options] [apt-get options] +Options: + --apt-help print apt help. + + --apt-version print apt version. + + -h print short help and exit. + + --help print this help and exit. + + --sourceslist + Select the sourceslist file to be used (default + is /etc/apt/sources.list) + + +Options handed over to rpm, see rpm manual for their functionality. + + --test Rpm option --test. + + --force-rpm Rpm option --force. + + --force-rpm-install + Rpm option --force, this option will only be active + during rpm installation (rpm -U or rpm -i). + +$PRGNAME is a wrapper around apt-get, extending the available arguments of +apt-get with some specific rpm arguments. $PRGNAME does nothing more than +passing the provided arguments to apt-get. The specific rpm arguments are +converted into the apt-get argument convention, before they are passed to +apt-get. + +Report bugs to . +EOF +} + +PRGNAME=$(basename $0) + +readonly SHORTHELP="Usage: $PRGNAME [apt-options] [--apt-help] + [--test] [--force-rpm] [--force-rpm-install} [--sourceslist] [--verbose]" + +# Command line argument parsing, the allowed arguments (for apt-get) are +# alphabetically listed, keep it this way please. +APTOPT="checksig,force,test,arch-only,assume-yes,build,compile,config-file:" +APTOPT="$APTOPT,default-release,diff-only,download-only,dry-run,fix-broken" +APTOPT="$APTOPT,fix-missing,force-yes,help,ignore-hold,ignore-missing" +APTOPT="$APTOPT,just-print,list-cleanup,no-act,no-download,no-list-cleanup" +APTOPT="$APTOPT,no-remove,no-upgrade,only-source,option:,print-uris,purge" +APTOPT="$APTOPT,quiet,recon,reinstall,remove,show-upgraded,simulate,tar-only" +APTOPT="$APTOPT,target-release,trivial-only,version,yes" + +# Additional options, provided by apt-rpm +# ADDOPT="apt-help,apt-version,checksig,force-rpm,no-checksig,test" +ADDOPT="apt-help,apt-version,force-rpm,force-rpm-install,sourceslist:,test" + +# Note that we use `"$@"' to let each command-line parameter expand to a +# separate word. The quotes around `$@' are essential! +# We need TEMP as the `eval set --' would nuke the return value of getopt. +TEMP=$(getopt --options=bc:dfhmo:qstuvy --long $ADDOPT,$APTOPT -n $PRGNAME -- "$@") +if [ $? -ne 0 ]; then + echo "Terminating..." >&2 + exit 1 +fi + +# Note the quotes around `$TEMP': they are essential! +eval set -- "$TEMP" + +while true +do + case $1 in + --apt-help) ARG="$ARG --help";; + --apt-version|-v) ARG="$ARG --version";; + --arch-only) ARG="$ARG $1";; + --assume-yes) ARG="$ARG $1";; + --build|-b) ARG="$ARG $1";; + --checksig) RPM_CHECKSIG=yes;; + --compile) ARG="$ARG $1";; + --config-file|-c) ARG="$ARG $1 $2"; shift;; + --default-release) ARG="$ARG $1";; + --diff-only) ARG="$ARG $1";; + --download-only|-d) ARG="$ARG $1";; + --dry-run) ARG="$ARG $1";; + --fix-broken|-f) APT_FIXBROKEN=yes;; + --fix-missing|-m) ARG="$ARG $1";; + --force-rpm) RPM_FORCE=yes;; + --force-rpm-install) RPM_FORCE_INSTALL=yes;; + --force-yes) ARG="$ARG $1";; + --help) help; exit;; + -h) usage;exit;; + --ignore-hold) ARG="$ARG $1";; + --ignore-missing) ARG="$ARG $1";; + --just-print) ARG="$ARG $1";; + --list-cleanup) ARG="$ARG $1";; + --no-act) ARG="$ARG $1";; + --no-checksig) RPM_CHECKSIG=no;; + --no-download) ARG="$ARG $1";; + --no-list-cleanup) ARG="$ARG $1";; + --no-remove) ARG="$ARG $1";; + --no-upgrade) ARG="$ARG $1";; + --only-source) ARG="$ARG $1";; + --option|-o) ARG="$ARG $1 $2"; shift;; + --print-uris) ARG="$ARG $1";; + --purge) ARG="$ARG $1";; + --quiet|-q) ARG="$ARG $1";; + --recon) ARG="$ARG $1";; + --reinstall) ARG="$ARG $1";; + --remove) ARG="$ARG $1";; + --show-upgraded) ARG="$ARG $1";; + --simulate|-s) ARG="$ARG $1";; + --sourceslist) RPM_SRC_LIST=$2; shift;; + --tar-only) ARG="$ARG $1";; + --target-release|-t) ARG="$ARG $1";; + --test) RPM_TEST=yes ;; + --trivial-only) ARG="$ARG $1";; + --version) echo "$PRGNAME version: 0.11"; exit;; # needed for help2man + --yes|-y) ARG="$ARG $1";; + --) shift; ARG="$ARG $@"; break;; + *) echo "unknow argument \"$1\""; exit 1;; + esac + shift +done + +[ -n "$RPM_CHECKSIG" ] && ARG="-o rpm::checksig=$RPM_CHECKSIG $ARG" +[ -n "$RPM_FORCE_INSTALL" ] && ARG="-o rpm::Install-Options::=--force $ARG" +[ -n "$RPM_TEST" ] && ARG="-o rpm::options::=--test $ARG" + +if [ "$RPM_FORCE" == "yes" ]; then + ARG="-o rpm::options::=--force $ARG" + + if [ "$RPM_FORCE_INSTALL" == "yes" ]; then + echo -n "warning: it does not make sense to use " + echo "--force-rpm-install in combination" + echo "with --force-rpm." + fi +fi + +if [ -n "$RPM_SRC_LIST" ]; then + DIR=$(apt-config dump 2>&1 | grep "Dir::Etc " | cut -d\" -f2) + if [ -f /$DIR/$RPM_SRC_LIST ]; then + ARG="-o dir::etc::sourcelist=$RPM_SRC_LIST $ARG" + else + echo "error: the provided sourceslist file does not exist" >&2 + exit 1 + fi +fi + +if [ "$APT_FIXBROKEN" == "yes" ]; then + echo "warning: the argument --fix-broken (-f) is not needed normally." + echo "If you want to use this apt argument, use apt-get directly." + exit 1 +fi + +echo "$PRGNAME executing: apt-get $ARG" | tr -s " " +echo +apt-get $ARG + diff --git a/apt/contrib/apt-rpm/apt-rpm.1 b/apt/contrib/apt-rpm/apt-rpm.1 new file mode 100644 index 0000000..4ca5ca8 --- /dev/null +++ b/apt/contrib/apt-rpm/apt-rpm.1 @@ -0,0 +1,45 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.28. +.TH APT-RPM "1" "June 2003" "apt-rpm version: 0.11" "User Commands" +.SH NAME +apt-rpm \- rpm wrapper around apt-get +.SH SYNOPSIS +.B apt-rpm +[\fIoptions\fR] [\fIapt-get options\fR] +.SH OPTIONS +.TP +\fB\-\-apt\-help\fR +print apt help. +.HP +\fB\-\-apt\-version\fR print apt version. +.TP +\fB\-h\fR +print short help and exit. +.TP +\fB\-\-help\fR +print this help and exit. +.HP +\fB\-\-sourceslist\fR +.IP +Select the sourceslist file to be used (default +is /etc/apt/sources.list) +.PP +Options handed over to rpm, see rpm manual for their functionality. +.TP +\fB\-\-test\fR +Rpm option \fB\-\-test\fR. +.TP +\fB\-\-force\-rpm\fR +Rpm option \fB\-\-force\fR. +.HP +\fB\-\-force\-rpm\-install\fR +.IP +Rpm option \fB\-\-force\fR, this option will only be active +during rpm installation (rpm \fB\-U\fR or rpm \fB\-i\fR). +.PP +apt-rpm is a wrapper around apt-get, extending the available arguments of +apt-get with some specific rpm arguments. apt-rpm does nothing more than +passing the provided arguments to apt-get. The specific rpm arguments are +converted into the apt-get argument convention, before they are passed to +apt-get. +.SH "REPORTING BUGS" +Report bugs to . diff --git a/apt/contrib/guess/README b/apt/contrib/guess/README new file mode 100644 index 0000000..519f64a --- /dev/null +++ b/apt/contrib/guess/README @@ -0,0 +1,10 @@ +This script will try to change the requested names in a few +ways, trying to guess an available package. + +For example, if the user ask in the command line for "somepkg", +and a package with that name is not available, but "libSomePkg0" +is, it will be selected, and the user noticed. + +This script must be plugged in the slot + + Scripts::AptGet::Install::TranslateArg diff --git a/apt/contrib/guess/guess.conf b/apt/contrib/guess/guess.conf new file mode 100644 index 0000000..3354e64 --- /dev/null +++ b/apt/contrib/guess/guess.conf @@ -0,0 +1 @@ +Scripts::AptGet::Install::TranslateArg:: "guess.lua"; diff --git a/apt/contrib/guess/guess.lua b/apt/contrib/guess/guess.lua new file mode 100644 index 0000000..d43fa12 --- /dev/null +++ b/apt/contrib/guess/guess.lua @@ -0,0 +1,59 @@ +-- This script will try to change the requested names in a few +-- ways, trying to guess an available package. It must be plugged +-- in the slot Scripts::AptGet::Install::TranslateArg +-- +-- Author: Gustavo Niemeyer + +-- Allow someone to disable this without removing the script. +if confget("APT::Get::Guess/b", "true") == "false" then + return +end + +-- Don't fiddle with filenames. +if string.sub(argument, 1, 1) == "/" then + return +end + +-- First, check for something with a 'lib' prefix +name = "lib"..argument +if pkgfind(name) then + translated = name + return +end + +-- Now check for something with a number 0-99 suffix ... +for n = 0, 99 do + name = argument..n + if pkgfind(name) then + translated = name + return + end + -- ... and a lib prefix. + name = "lib"..argument + if pkgfind(name) then + translated = name + return + end +end + +-- Now go through the package list doing the same tests with a +-- normalized case. +lower = string.lower(argument) +liblower = "lib"..lower +for i, pkg in pairs(pkglist()) do + realname = pkgname(pkg) + name = string.lower(realname) + if lower == name or liblower == name then + translated = realname + return + end + -- But instead of trying every possible number suffix, + -- extract the numbers from the real package name. + while string.gfind(string.sub(name, -1), "[%d.]")() do + name = string.sub(name, 1, -2) + if (lower == name or liblower == name) then + translated = realname + return + end + end +end diff --git a/apt/contrib/install-devel/README b/apt/contrib/install-devel/README new file mode 100644 index 0000000..eb5c21a --- /dev/null +++ b/apt/contrib/install-devel/README @@ -0,0 +1,9 @@ +This is a simple script that will install all development packages +for packages already in the system, as far as they are suffixed with +"-devel" or "-devel-static". It will also try to string numbers +from the end of the package name, if they are found. This will, +for example, check "libapt-pkg-devel" for a library like "libapt-pkg0". + +To use it, just run + + apt-get script ./install-devel.lua diff --git a/apt/contrib/install-devel/install-devel.lua b/apt/contrib/install-devel/install-devel.lua new file mode 100644 index 0000000..36daa31 --- /dev/null +++ b/apt/contrib/install-devel/install-devel.lua @@ -0,0 +1,24 @@ + +function installdevel(name) + pkg = pkgfind(name.."-devel") + if pkg and not pkgvercur(pkg) then + markinstall(pkg) + end + pkg = pkgfind(name.."-devel-static") + if pkg and not pkgvercur(pkg) then + markinstall(pkg) + end +end + +for i, pkg in pairs(pkglist()) do + if pkgvercur(pkg) then + installdevel(pkgname(pkg)) + name = pkgname(pkg) + while string.gfind(string.sub(name, -1), "%d")() do + name = string.sub(name, 1, -2) + end + if name ~= pkgname(pkg) then + installdevel(name) + end + end +end diff --git a/apt/contrib/list-extras/README b/apt/contrib/list-extras/README new file mode 100644 index 0000000..132f527 --- /dev/null +++ b/apt/contrib/list-extras/README @@ -0,0 +1,10 @@ +This script will list all installed packages which are not +availabe in any online repository. + +This script must be plugged in the slot + + Scripts::AptCache::Command + +To use it, just run + + apt-cache list-extras diff --git a/apt/contrib/list-extras/list-extras.conf b/apt/contrib/list-extras/list-extras.conf new file mode 100644 index 0000000..7f13169 --- /dev/null +++ b/apt/contrib/list-extras/list-extras.conf @@ -0,0 +1 @@ +Scripts::AptCache::Command:: "list-extras.lua"; diff --git a/apt/contrib/list-extras/list-extras.lua b/apt/contrib/list-extras/list-extras.lua new file mode 100644 index 0000000..81a7127 --- /dev/null +++ b/apt/contrib/list-extras/list-extras.lua @@ -0,0 +1,19 @@ +-- This script will list all installed packages which are not +-- availabe in any online repository. It must be plugged +-- in the slot Scripts::AptCache::Command +-- +-- Author: Gustavo Niemeyer + +if command_args[1] ~= "list-extras" then + return +end +command_consume = 1 + +for i, pkg in pairs(pkglist()) do + ver = pkgvercur(pkg) + verlist = pkgverlist(pkg) + if ver and not verisonline(ver) + and table.getn(verlist) == 1 then + print(pkgname(pkg) .. "-" .. verstr(ver)) + end +end diff --git a/apt/contrib/proxypasswd/README b/apt/contrib/proxypasswd/README new file mode 100644 index 0000000..5dffbfc --- /dev/null +++ b/apt/contrib/proxypasswd/README @@ -0,0 +1,7 @@ +Simple script that asks for the proxy password at apt startup. + +This script must be plugged into the APT script slot + + Scripts::Init + +Licensed under the GPL, by pmatilai@welho.com / 2003 diff --git a/apt/contrib/proxypasswd/proxypasswd.lua b/apt/contrib/proxypasswd/proxypasswd.lua new file mode 100644 index 0000000..e03cb65 --- /dev/null +++ b/apt/contrib/proxypasswd/proxypasswd.lua @@ -0,0 +1,25 @@ +# use with Scripts::Init::=proxypasswd.lua +http_proxy = confget("Acquire::http::proxy") +ftp_proxy = confget("Acquire::ftp::proxy") +if http_proxy == "" and ftp_proxy == "" then + return +end + +print("Enter proxy username:") +username = io.read() +print("Enter proxy password:") +os.execute("stty -echo") +password = io.read() +os.execute("stty echo") + +if http_proxy then + http_proxy = string.gsub(http_proxy, "/username:", "/"..username..":") + http_proxy = string.gsub(http_proxy, ":password@", ":"..password.."@") + confset("Acquire::http::proxy", http_proxy) +end +if ftp_proxy then + ftp_proxy = string.gsub(ftp_proxy, "/username:", "/"..username..":") + ftp_proxy = string.gsub(ftp_proxy, ":password@", ":"..password.."@") + confset("Acquire::ftp::proxy", ftp_proxy) +end + diff --git a/apt/debian/apt-doc.doc-base.guide b/apt/debian/apt-doc.doc-base.guide deleted file mode 100644 index bce689a..0000000 --- a/apt/debian/apt-doc.doc-base.guide +++ /dev/null @@ -1,13 +0,0 @@ -Document: apt-user-guide -Title: APT User's Guide -Author: Jason Gunthorpe -Abstract: The APT User's Guide provides an overview of how to use the the - APT package manager, and provides a detailed look at the apt-get tool. -Section: Debian - -Format: html -Index: /usr/share/doc/apt-doc/guide.html/index.html -Files: /usr/share/doc/apt-doc/guide.html/*.html - -Format: text -Files: /usr/share/doc/apt-doc/guide.text.gz diff --git a/apt/debian/apt-doc.doc-base.offline b/apt/debian/apt-doc.doc-base.offline deleted file mode 100644 index f67ec73..0000000 --- a/apt/debian/apt-doc.doc-base.offline +++ /dev/null @@ -1,13 +0,0 @@ -Document: apt-offline-usage-guide -Title: APT Offline Usage Guide -Author: Jason Gunthorpe -Abstract: The APT Offline Usage Guide provides detailed instructions and - examples of how to use APT on an unconnected computer. -Section: Debian - -Format: html -Index: /usr/share/doc/apt-doc/offline.html/index.html -Files: /usr/share/doc/apt-doc/offline.html/*.html - -Format: text -Files: /usr/share/doc/apt-doc/offline.text.gz diff --git a/apt/debian/apt-utils.dirs b/apt/debian/apt-utils.dirs deleted file mode 100644 index 14f5b95..0000000 --- a/apt/debian/apt-utils.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib -usr/bin diff --git a/apt/debian/changelog b/apt/debian/changelog deleted file mode 100644 index b477fdf..0000000 --- a/apt/debian/changelog +++ /dev/null @@ -1,792 +0,0 @@ -apt (0.5.4.9) unstable; urgency=low - - * New deb version compare function, that has no integer limits, and - supports pre-versions using ~. Code ported from dpkg. - * Fix handling of [!arch] for build-dependencies. Closes: #88798, #149595 - * Fix handling of build-deps on unknown packages. Closes: #88664, #153307 - * "apt-get --arch-only build-dep" to install only architecture- - dependent build dependencies. Bump minor shared lib number to reflect - small change in BuildDepend API. - * APT::Build-Essential configuration option (defaults to "build-essential") - so that "apt-get build-dep" will ensure build essential packages are - installed prior to installing other build-dependencies. Closes: #148879 - * LD_LIBRARY_PATH thing. Closes: #109430, #147529 - * /usr/doc reference in postinst. Closes: #126189 - * Doc updates. Closes: #120689 - * Possible apt-cache segfault. Closes: #120311, #118431, #117915, #135295, - #131062, #136749 - * Print special message for EAI_AGAIN. Closes: #131397 - * libapt-pkg-dev needs to bring in the apt-inst library if linking - is to work. Closes: #133943 - * Typos, Doc Stuff. Closes: #132772, #129970, #123642, #114892, #113786, - #109591, #105920, #103678, #139752, #138186, #138054, #138050, - #139994, #142955, #151654, #151834, #147611, #154268, #173971 - * Fix possibility for tag file parsing to fail in some unlikely situations. - Closes: #139328 - * Use std C++ names for some header files. Closes: #128741 - * Do not check for free space if --no-download. Closes: #117856 - * Actually implement or group handling for 'upgrade'. Closes: #133950 - * "Internal Error, Couldn't configure pre-depend" is not actually an - internal error, it is a packaging error and now it says so, and - pinpoints the problem dependency. Closes: #155621 - * Allows failure to write to a pipe for post-invoke stuff. Closes: #89830 - * Use usr/share/doc for dhelp. Closes: #115701 - * --print-uris works with 'update'. Closes: #57070 - * Options Dpkg::MaxArgs,Dpkg::MaxArgBytes to allow a much longer dpkg - command line. - * Fixed 2 little OR group bugs, thanks to Yann Dirson. Closes: #143995, - #142298 - * Allow an uninstalled package to be marked for removal on an install - line (meaning not to automatically install it), also fix some dodgy - handling of protected packages. Closes: #92287, #116011 - * Fix errant prefix matching in version selection. Closes: #105968 - * Ensure that all files needed to run APT as a user are readable and - ignore roots umask for these files. Closes: #108801 - * Support larger config spaces. Closes: #111914 - * 'apt-get update' no longer does 'Building Dependency Tree'. - * When matching regexs allways print a message. Change regex activation - charset. Closes: #147817 - * Don't die if lines in sources.list are too long. Closes: #146846 - * Show file name on apt-extracttemplate error messges. Closes: #151835 - * i18n gettext stuff, based on work from Michael Piefel: Closes: #95933 - * Some highly unlikely memory faults. Closes: #155842 - * C++ stuff for G++3.2. Closes: #162617, #165515, - * apt-config dumps sends to stdout not stderr now. Closes: #146294 - * Fix segfault in FindAny when /i is used, and there is no default. - Closes: #165891 - * Add s390x to archtable. Closese: #160992. - * Update config.sub/config.guess in cvs, and add support to debian/rules - to update them from /usr/share/misc if they exist. Closes: #155014 - * Remove 'Sorry' from messages. Closes: #148824. - * Change wording of 'additional disk space usage' message. Closes: - #135021. - * apt-extracttemplates now prepends the package name when extracting - files. Closes: #132776 - * Add -n synonym for --names-only for apt-cache. Closes: #130689 - * Display both current version and new version in apt-get -s. Closes: - #92358 - * Add an options and timeout config item to ssh/rsh. Closes: #90654 - * libapt-pkg-dev now depends on apt-utils. Closes: #133942. - * Change verbose logging output of apt-ftparchive to go to stderr, - instead of stdout. Also, errors that occur no longer go to stdout, - but stderr. Closes: #161592 - * Test for timegm in configure. Closes: #165516. - * s/st_mtime/mtime/ on our local stat structure in apt-ftparchive, to - support compliation on platforms where st_mtime is a macro. Closes: - #165518 - * Check the currently mounted cdrom, to see if it's the one we are - interested in. Closes: #154602 - * Refer to reportbug instead of bug in the man pages. Closes: #173745 - * Link apt-inst to apt-pkg. Closes: #175055 - * New apt_preferences man page from Thomas Hood, Susan Kleinmann, - and others. - * Fix > 300 col screen segfault. Closes: #176052 - * Rebuild with gcc-3.2. Closes: #177752, #178008. - * Fix build-dep handling of | dependencies. - Closes: #98640, #145997, #158896, #172901 - * Double default value of APT::Cache-Limit, until such time as it - can be made more dynamic. Closes: #178623. - * Report uris with '.gz' when there are errors. Closes: #178435. - * When installing build-deps, make sure the new version will - satisfy build requirements. Closes: #178121 - * Split offline and guide documentation into apt-doc. This was done so - that binary-arch builds do not require documention deps. Note, that - apt-doc is not installed on upgrades. - * Use doc-base, instead of dhelp directly. Closes: #110389 - * Change http message 'Waiting for file' to 'Waiting for headers'. - Closes: #178537 - * Remove trailing lines on package lists in apt-get. Closes: #178736. - - -- Adam Heath Sun, 02 Feb 2003 02:54:45 -0600 - -apt (0.5.4) unstable; urgency=low - - * M68k config.guess patch. Closes: #88913 - * Bi-yearly test on OpenBSD and Solaris - * Doc updates. Closes: #89121, #89854, #99671, #98353, #95823, #93057, - #97520, #102867, #101071, #102421, #101565, #98272, #106914, - #105606, #105377 - * Various cosmetic code updates. Closes: #89066, #89066, #89152 - * Add "pre-auto" as an option for DSelect::Clean (run autoclean after - update). - * More patches from Alfredo for Vendors and more SHA-1 stuff - * Fix for AJ's 'desire to remove perl-5.005' and possibly other - similar situations. Closes: #56708, #59432 - * no_proxy and ftp. Closes: #89671 - * Philippe Batailler's man page patches. - * Fix for display bug. Closes: #92033, #93652, #98468 - * Use more than 16bits for the dep ID. Some people ran out.. - Closes: #103020, #97809, #102951, #99974, #107362, #107395, #107362, - #106911, #107395, #108968 - * Reordered some things to make dante and FTP happier. Closes: #92757 - * James R. Van Zandt's guide.sgml updates. Closes: #90027 - * apt-ftparchive copes with no uncompressed package files + contents. - * French man pages from philippe batailler - well sort of. They - don't build yet.. - * run-parts. Closes: #94286 - * 'apt-cache policy' preferences debug tool. - * Whatever. Closes: #89762 - * libstdc++ and HURD. Closes: #92025 - * More apt-utils verbage. Closes: #86954 - * Fliped comparision operator. Closes: #94618 - * Used the right copyright file. Closes: #65691 - * Randolph's G++3 patches. - * Fixed no_proxy tokanizing. Closes: #100046 - * Strip Config-Version when copying status to available. Closes: #97520 - * Segfault with missing source files. Closes: #100325 - * EINTR check. Closes: #102293 - * Various changes to the locking metholodgy for --print-uris. - Closes: #100590 - * Lame LD_LIBRARY_PATH thing. Closes: #98928 - * apt-cache search searchs provide names too now. Closes: #98695 - * Checksum and long lines problem. Closes: #106591 - * .aptignr and empty files are just a warning. Closes: #97364 - - -- Jason Gunthorpe Sat, 18 Aug 2001 17:21:59 -0500 - -apt (0.5.3) unstable; urgency=low - - * JoeyH's dpkg::preconfig not working. Closes: #88675 - * Fixed apt override disparity - * Alfredo's SHA-1 and related patches - - -- Jason Gunthorpe Sun, 4 Mar 2001 15:39:43 -0700 - -apt (0.5.2) unstable; urgency=low - - * Fixed mention of /usr/doc in the long description - * JoeyH's downgrade bug -- don't use 0.5.1 - * Doc bug. Closes: #88538 - * Fault in building release strings. Closes: #88533 - - -- Jason Gunthorpe Sun, 4 Mar 2001 15:39:43 -0700 - -apt (0.5.1) unstable; urgency=low - - * Fixed #82894 again, or should be and. - * Process the option string right. Closes: #86921 - * Don't eat the last command for pipes. Closes: #86923 - * Ignore .* for configuration directory processing. Closes: #86923 - * Alfredo's no_proxy patch - * Documentation fixes. Closes: #87091 - * JoeyH's double slash bug. Closes: #87266 - * Unintitialized buffer and apt-ftparchive contents generation. - Closes: #87612 - * Build-deps on virtual packages. Closes: #87639 - * Fixes glibc/libstdc++ symbol dependencies by including glibc and - libstdc++ version info in the library soname and in the package - provides. Closes: #87426 - * Updated soname version to 0.3.2 - * apt-extracttemplates moved from debconf into apt-utils - * s390 archtable entry. Closes: #88232 - * Dan's segfault - * Some instances where the status file can source a package in a - non-sensical way. Closes: #87390 - * Work better if there are duplicate sources.list entries. - * Fixed the resetting of Dir with "dir {};". Closes: #87323 - - -- Randolph Chung Sat, 3 Mar 2001 15:37:38 -0700 - -apt (0.5.0) unstable; urgency=low - - * Fixed an obscure bug with missing final double new lines in - package files - * Changed the apt-cdrom index copy routine to use the new section - rewriter - * Added a package file sorter, apt-sortpkgs - * Parse obsolete Optional dependencies. - * Added Ben's rsh method. Closes: #57794 - * Added IPv6 FTP support and better DNS rotation support. - * Include the server IP in error messages when using a DNS rotation. - Closes: #64895 - * Made most of the byte counters into doubles to prevent 32bit overflow. - Closes: #65349 - * HTTP Authorization. Closes: #61158 - * Ability to parse and return source index build depends from Randolph. - * new 'apt-get build-dep' command from Randolph. Closes: #63982 - * Added apt-ftparchive the all dancing all singing FTP archive - maintinance program - * Allow version specifications with =1.2.4-3 and /2.2 or /stable postfixes - in apt-get. - * Removed useless internal cruft including the xstatus file. - * Fixed config parser bugs. Closes: #67848, #71108 - * Brain Damanged apt-get config options changed, does not change the command - line interface, except to allow --enable-* to undo a configuration - option: - No-Remove -> Remove - No-Download -> Download - No-Upgrade -> Upgrade - * Made this fix configable (DSelect::CheckDir) and default to disabled: - * No remove prompt if the archives dir has not changed. Closes: #55709 - Because it is stupid in the case where no files were downloaded due to - a resumed-aborted install, or a full cache! Closes: #65952 - * Obscure divide by zero problem. Closes: #64394 - * Update sizetable for mips. Closes: #62288 - * Fixed a bug with passive FTP connections - * Has sizetable entry for sparc64. Closes: #64869 - * Escape special characters in the ::Label section of the cdroms.lst - * Created apt-utils and python-apt packages - * Due to the new policy engine, the available file may contain entries - from the status file. These are generated if the package is not obsolete - but the policy engine prohibits using the version from the package files. - They can be identified by the lack of a Filename field. - * The new policy engine. Closes: #66509, #66944, #45122, #45094, #40006, - #36223, #33468, #22551 - * Fixed deb-src line for non-us. Closes: #71501, #71601 - * Fixes for G++ 2.96, s/friend/friend class/ - * Fixed mis doc of APT::Get::Fix-Missing. Closes: #69269 - * Confirmed fix for missing new line problem. Closes: #69386 - * Fixed up dhelp files. Closes: #71312 - * Added some notes about dselect and offline usage. Closes: #66473, #38316 - * Lock files on read only file systems are ignored w/ warning. - Closes: #61701 - * apt-get update foo now gives an error! Closes: #42891 - * Added test for shlibs on hurd. Closes: #71499 - * Clarified apt-cache document. Closes: #71934 - * DocBook SGML man pages and some improvements in the text.. - * sigwinch thing. Closes: #72382 - * Caching can be turned off by setting the cache file names blank. - * Ignores arches it does not know about when autocleaning. Closes: #72862 - * New function in apt-config to return dirs, files, bools and integers. - * Fixed an odd litle bug in MarkInstall and fixed it up to handle - complex cases involving OR groups and provides. - 68754 describes confusing messages which are the result of this.. - Closes: #63149, #69394, #68754, #77683, #66806, #81486, #78712 - * Speeling mistake and return code for the 'wicked' resolver error - Closes: #72621, #75226, #77464 - * Solved unable to upgrade libc6 from potato to woody due to 3 package - libc6 dependency loop problem. - * Leading sources.list spaces. Closes: #76010 - * Removed a possible infinite loop while processing installations. - * Man page updates. Closes: #75411, #75560, #64292, #78469 - * ReduceSourceList bug. Closes: #76027 - * --only-source option. Closes: #76320 - * Typos. Closes: #77812, #77999 - * Different status messages. Closes: #76652, #78353 - * /etc/apt/apt.conf.d/ directory for Joey and Matt and pipe protocol 2 - * OS detection an support for the new pseduo standard of os-arch for the - Architecture string. Also uses regexing.. Closes: #39227, #72349 - * Various i18n stuff. Note that this still needs some i18n wizard - to do the last gettextization right. Closes: #62386 - * Fixed a problem with some odd http servers/proxies that did not return - the content size in the header. Closes: #79878, #44379 - * Little acquire bugs. Closes: #77029, #55820 - * _POSIX_THREADS may not be defined to anything, just defined.. - Closes: #78996 - * Spelling of Ignore-Hold correctly. Closes: #78042 - * Unlock the dpkg db if in download only mode. Closes: #84851 - * Brendan O'Dea's dselect admindir stuff. Closes: #62811 - * Patch from BenC. Closes: #80810 - * Single output of some names in lists. Closes: #80498, #43286 - * Nice message for people who can't read syserror output. Closes: #84734 - * OR search function. Closes: #82894 - * User's guide updates. Closes: #82469 - * The AJ/JoeyH var/state to var/lib transition patch. Closes: #59094 - * Various CD bugs, again thanks to Greenbush - Closes: #80946, #76547, #71810, #70049, #69482 - * Using potato debhelper. Closes: #57977 - * I cannot self-terminate. Closes: #74928 - - -- Jason Gunthorpe Wed, 21 Feb 2001 00:39:15 -0500 - -apt (0.3.19) frozen unstable; urgency=low - - * Updates to apt-cdrom to support integrated non-us nicely, thanks to - Paul Wade. - * Fixed that apt-get/cdrom deadlock thing. Closes: #59853, #62945, #61976 - * Fixed hardcoded path. Closes: #59743 - * Fixed Jay's relative path bug - * Allowed source only CDs. Closes: #58952 - * Space check is supressed if --print-uris is given. Closes: #58965 - * Clarified the documenation examples for non-us. Closes: #58646 - * Typo in the package description. Closes: #60230 - * Man Page typo. Closes: #60347 - * Typo in Algorithms.cc. Closes: #63577 - * Evil dotty function in apt-cache for generating dependency graphs - with the as-yet-unpackaged GraphVis. - * Appears to have been fixed in Janurary.. Closes: #57981 - * New config.guess/sub for the new archs. Closes: #60874 - * Fixed error reporting for certain kinds of resolution failures. - Closes: #61327 - * Made autoclean respect 'q' settings. Closes: #63023 - * Fixed up the example sources.list. Closes: #63676 - * Added DPkg::FlushSTDIN to control the flushing of stdin before - forking dpkg. Closes: #63991 - - -- Ben Gertzfield Fri, 12 May 2000 21:10:54 -0700 - -apt (0.3.18) frozen unstable; urgency=low - - * Changes in the postinst script. Closes: #56855, #57237 - * Fixed bashism. Closes: #57216, #57335 - * Doc updates. Closes: #57772, #57069, #57331, #57833, #57896 - - -- Ben Gertzfield Sun, 13 Feb 2000 01:52:31 -0800 - -apt (0.3.17) unstable; urgency=low - - * RFC 2732 usage for CDROM URIs and fixes to apt-cdrom - * Fixed the configuration parser to not blow up if ; is in the config - string - * Applied visual patch to dselect install script . Closes #55214 - * Included the configure-index example - * Minimal CD swaps - * Library soname has increased - * Fixed default sources.list to have correct URLs for potato when it - becomes stable - * Added a message about erasing sources.list to dselect setup script - Closes: #55755 - * No remove prompt if the archives dir has not changed. Closes: #55709 - * Fixed inclusion of 2nd sample config file. Closes: #55374 - * Made file mtimes of 0 not confuse the methods If-Modifed-Since check. - Closes: #55991 - - -- Ben Gertzfield Mon, 31 Jan 2000 12:12:40 -0800 - -apt (0.3.16) unstable; urgency=low - - * Made --no-download work. Closes: #52993 - * Now compiles on OpenBSD, Solaris and HP-UX - * Clarify segfault errors - * More debhelper fixes. Closes: #52662, #54566, #52090, #53531, #54769 - * Fix for Joel's discovery of glibc removal behavoir. - * Fix for Ben Collins file: uri from slink upgrade. - * Fixed resume code in FTP. Closes: #54323 - * Take more precautions to prevent the corruption Joey Hess saw. - * Fixed --no-list-cleanup - * RFC 2732 URI parsing ([] for hostnames). - * Typo in apt-cache man page. Closes: #54949 - - -- Ben Gertzfield Fri, 14 Jan 2000 08:04:15 -0800 - -apt (0.3.15) unstable; urgency=low - - * Added DSelect::WaitAfterDownload Closes: #49549 - * Fixed cast error in byteswap macro and supporting code. Closes: #50093 - * Fixed buffer overflow for wide terminal sizes. Closes: #50295 - * Made -s and clean not do anything. Closes: #50238 - * Problem with Protected packages and the new OR code. - * /usr/share/doc stuff. Closes: #51017, #50228, #51141 - * Remove doesn't require a package to be installable. Closes: #51175 - * FTP proxy touch ups in the mabn page. Closes: #51315, #51314 - - -- Ben Gertzfield Sat, 4 Dec 1999 21:17:24 -0800 - -apt (0.3.14) unstable; urgency=low - - * Fix Perl or group pre-depends thing Closes: #46091, #46096, #46233, #45901 - * Fix handling of dpkg's conversions from < -> <= Closes: #46094, #47088 - * Make unparsable priorities non-fatal Closes: #46266, #46267, #46293, #46298 - * Fix handling of '/' for the dist name. Closes: #43830, #45640, #45692 - * Fixed 'Method gave a blank filename' error from IMS queries onto CDs. - Closes: #45034, #45695, #46537 - * Made OR group handling in the problem resolver more elaborate. Closes: #45646 - * Added APT::Clean-Installed option. Closes: #45973 - * Moves the free space check to after the calculated size is printed. - Closes: #46639, #47498 - * mipsel arch Closes: #47614 - * Beautified URI printing to not include passwords Closes: #46857 - * Fixed little problem with --no-download Closes: #47557 - * Tweaked Dselect 'update' script to re-gen the avail file even in the - event of a failure Closes: #47112 - * Retries for source archives too Closes: #47529 - * Unmounts CDROMs iff it mounted them Closes: #45299 - * Checks for the partial directories before doing downloads Closes: #47392 - * no_proxy environment variable (http only!) Closes: #43476 - * apt-cache showsrc Closes: #45799 - * De-Refs Single Pure virtual packages. Closes: #42437, #43555 - * Regexs for install. Closes: #35304, #38835 - * Dependency reports now show OR group relations - * Re-Install feature. Cloes: #46961, #37393, #38919 - * Locks archive directory on clean (woops) - * Remove is not 'sticky'. Closes: #48392 - * Slightly more accurate 'can not find package' message. Closes: #48311 - * --trivial-only and --no-remove. Closes: #48518 - * Increased the cache size. Closes: #47648 - * Comment woopsie. Closes: #48789 - * Removes existing links when linking sources. Closes: #48775 - * Problem resolver does not install all virtual packages. Closes: #48591, #49252 - * Clearer usage message about 'source' Closes: #48858 - * Immediate configure internal error Closes: #49062, #48884 - - -- Ben Gertzfield Sun, 7 Nov 1999 20:21:25 -0800 - -apt (0.3.13) unstable; urgency=low - - * Fix timestamp miss in FTP. Closes: #44363 - * Fix sorting of Kept packages. Closes: #44377 - * Fix Segfault for dselect-upgrade. Closes: #44436 - * Fix handling of '/' for the dist name. Closes #43830 - * Added APT::Get::Diff-Only and Tar-Only options. Closes #44384 - * Add commented-out deb-src URI to default sources.list file. - - -- Ben Gertzfield Sun, 19 Sep 1999 18:54:20 -0700 - -apt (0.3.12) unstable; urgency=low - - * Fix for typo in the dhelp index. Closes: #40377 - * Multiple media swap support - * Purge support. Closes: #33291, #40694 - * Better handling of - remove notation. Closes: #41024 - * Purge support. Closes: #33291, #40694 - * Error code on failed update. Closes: #41053 - * apt-cdrom adds entries for source directories. Closes: #41231 - * Sorts the output of any list. Closes: #41107 - * Fixes the looping problem. Closes: #41784, #42414, #44022 - * Fixes the CRC mechanism to lowercase all strings. Closes: #41839 - * More checks to keep the display sane. Particularly when fail-over is - used with local mirrors and CD-Roms. Closes: #42127, #43130, #43668 - * PThread lockup problem on certain sparc/m68k. Closes: #40628 - * apt-cdrom understands .gz Package files too. Closes: #42779 - * Spelling error in dselect method description. Closes: #43251 - * Added security to the default source list. Closes: #43356 - - -- Ben Gertzfield Fri, 3 Sep 1999 09:04:28 -0700 - -apt (0.3.11) unstable; urgency=low - - * Fix for mis-parsed file: URIs. Closes: #40373, #40366, #40230 - * Fix for properly upgrading the system from perl 5.004 to 5.005 - - -- Ben Gertzfield Mon, 28 Jun 1999 21:06:44 -0700 - -apt (0.3.9) unstable; urgency=low - - * Spelling error in cachefile.cc. Closes: #39885 - * Trailing slash in dselect install if you try to use the - default config file. Closes: #40011 - * Simulate works for autoclean. Closes: #39141 - * Fixed spelling errors. Closes: #39673 - * Changed url parsing a bit. Closes: #40070, #40069 - * Version 0.3.8 will be for slink/hamm (GNU libc 2). - - -- Ben Gertzfield Thu, 24 Jun 1999 18:02:52 -0700 - -apt (0.3.7) unstable; urgency=low - - * Fixed missing text in the apt-get(8) page. Closes: #37596 - * Made --simulate and friends work with apt-get source. Closes: #37597, #37656 - * Fixed inclusion of man pages in the -doc/-dev package. Closes: #37633, #38651 - * Fixed handling of the -q option with not-entirely integer arguments - Closes: #37499 - * Man page typo Closes: #37762 - * Fixed parsing of the Source: line. Closes: #37679 - * Dpkg/dpkg-hurd source bug. Closes: #38004, #38032 - * Added a check for an empty cache directory. Closes: #37963 - * Return a failure code if -d is given and packages fail to download. - Closes: #38127 - * Arranged for an ftp proxy specifing an http server to work. See the - important note in the sources.list man page. - * Accounted for resumed files in the cps calculation. Closes: #36787 - * Deal with duplicate same version different packages. Closes: #30237 - * Added --no-download. Closes: #38095 - * Order of apt-cdrom dist detection. Closes: #38139 - * Fix apt-cdrom chop handling and missing lines. Closes: #37276 - * IPv6 http support - * Suggests dpkg-dev for apt-get source. Closes: #38158 - * Fixed typo in apt-get help. Closes: #38712 - * Improved the error message in the case of broken held package. Closes: #38777 - * Fixed handling of MD5 failures - * Documented list notation Closes: #39008 - * Change the 'b' to 'B'. Closes: #39007 - - -- Ben Gertzfield Sun, 20 Jun 1999 18:36:20 -0700 - -apt (0.3.6) unstable; urgency=low - - * Note that 0.3.5 never made it out the door.. - * Fix for apt-cdrom and unusual disk label locations. Closes: #35571 - * Made APT print numbers in decimal. Closes: #35617, #37319 - * Buffer munching fix for FTP. Closes: #35868 - * Typo in sample config file. Closes: #35907 - * Fixed whitespace in version compares. Closes: #35968, #36283, #37051 - * Changed installed size counter to only count unpacked packages. - Closes: #36201 - * apt-get source support. Closes: #23934, #27190 - * Renames .debs that fail MD5 checking, provides automatic corruption - recovery. Closes: #35931 - * Fixed autoconf verison. Closes: #37305 - * Random Segfaulting. Closes: #37312, #37530 - * Fixed apt-cache man page. Closes: #36904 - * Added a newline to apt-cache showpkg. Closes: #36903 - - -- Ben Gertzfield Wed, 12 May 1999 09:18:49 -0700 - -apt (0.3.4) unstable; urgency=low - - * Release for Ben while he is out of town. - * Checked the size of partial files. Closes: #33705 - * apt-get should not print progress on non-tty. Closes: #34944 - * s/guide.text.gz/users-guide.txt.gz/ debian/control: Closes: #35207 - * Applied cdrom patches from Torsten. Closes: #35140, #35141 - * smbmounted cdrom fix. Closes: #35470 - * Changed ie to eg. Closes: #35196 - - -- Adam Heath Sun, 4 Apr 1999 18:26:44 -0500 - -apt (0.3.3) unstable; urgency=low - - * Fixes bug with file:/ URIs and multi-CD handling. Closes: #34923 - - -- Ben Gertzfield Tue, 23 Mar 1999 12:15:44 -0800 - -apt (0.3.2) unstable; urgency=low - - * Major release into unstable of v3 - * These bugs have been fixed, explanations are in the bug system, read - the man pages as well.. - Closes: #21113, #22507, #22675, #22836, #22892, #32883, #33006, #34121, - #23984, #24685, #24799, #25001, #25019, #34223, #34296, #34355, - #24021, #25022, #25026, #25104, #25176, #31557, #31691, #31853, - #25458, #26019, #26433, #26592, #26670, #27100, #27100, #27601, - #28184, #28391, #28778, #29293, #29351, #27841, #28172, #30260, - #29382, #29441, #29903, #29920, #29983, #30027, #30076, #30112, - #31009, #31155, #31381, #31883, #32140, #32395, #32584. #34465, - #30383, #30441, #30472, #30643, #30827, #30324, #36425, #34596 - - -- Ben Gertzfield Mon, 15 Mar 1999 19:14:25 -0800 - -apt (0.3.1) experimental; urgency=low - - * Minor release of cvs version. - * Added virtual package libapt-pkgx.x - - -- Mitch Blevins Wed, 10 Mar 1999 07:52:44 -0500 - -apt (0.3.0) experimental; urgency=low - - * New experimental version. - - -- Ben Gertzfield Tue, 15 Dec 1998 12:53:21 -0800 - -apt (0.1.9) frozen unstable; urgency=low - - * Return to the wacky numbering for when we build 0.1.8 for hamm - * Important bug related to APT on the Alpha fixed - * apt-get dist-upgrade problems fixed - * tiny patch for http method to fix an endless loop - * nice fix from /usr/doc/lintian/ to remove rpath nastiness from - libtool and add proper shared lib dependancies - * now dh_shlibdeps is called with LD_LIBRARY_PATH=debian/tmp/usr/lib - in case an old libpkg is installed while building APT to prevent - spurious dependancies - - -- Ben Gertzfield Thu, 5 Nov 1998 17:43:25 -0800 - -apt (0.1.7) unstable; urgency=low - - * New build with libstdc++2.9. - * Various fixes; read the Changelog. - - -- Ben Gertzfield Thu, 15 Oct 1998 18:29:18 -0700 - -apt (0.1.6) unstable; urgency=low - - * Various fixes in the FTP method for error checking. Fixes: #26188. - * Spelling corrections in dselect method. Fixes: #25884 - * Fixes for compilation on alpha/ppc. Fixes: #25313, #26108. - * No more bo releases: we're using a normal numbering system now. - - -- Ben Gertzfield Tue, 8 Sep 1998 19:27:13 -0700 - -apt (0.1.5) unstable; urgency=low - - * Changed sources.list to point to 'unstable' by default, as - 'frozen' no longer exists! - - -- Ben Gertzfield Thu, 23 Jul 1998 22:00:18 -0700 - -apt (0.1.3) unstable; urgency=low - - * New upstreamish version. - * ftp method rewritten in C. Removes dependancies on all perl/perl - related modules. This fixes many of the ftp method bugs. - - -- Ben Gertzfield Thu, 16 Jul 1998 22:19:00 -0700 - -apt (0.1.1) unstable; urgency=low - - * Release for unstable. - - -- Ben Gertzfield Tue, 30 Jun 1998 20:48:30 -0700 - -apt (0.1) unstable; urgency=low - - * Kludge to fix problem in libnet-perl with illegal anonymous - FTP passwords. - * Moved to unstable; apt is in a useable state now. - * Fixed version numbering. From now on, numbering will be: - 0.1 (no actual release) -> 0.1.0bo (release for libc5) -> - 0.1.1 (release for unstable). Thanks, Manoj. - - -- Ben Gertzfield Tue, 30 Jun 1998 20:40:58 -0700 - -apt (0.0.17-1) experimental; urgency=low - - * Fixed problem with libc6 version compare - * Scott's away for a while, so I'll be packaging apt for the time - being. - - -- Ben Gertzfield Thu, 25 Jun 1998 19:02:03 -0700 - -apt (0.0.16-1) experimental; urgency=low - - * Modifications to make apt-get more friendly when backgrounded. - * Updated documentation. - * Updates to graphic widgets - - -- Scott K. Ellis Mon, 8 Jun 1998 11:22:02 -0400 - -apt (0.0.15-0.2bo) experimental; urgency=low - - * Bo compilation - * Bob Hilliards crash - - -- Jason Gunthorpe Sun, 31 May 1998 20:18:35 -0600 - -apt (0.0.15-0.1bo) experimental; urgency=low - - * Bo compilation - * libstdc++272 patch - - -- Jason Gunthorpe Sun, 31 May 1998 20:18:35 -0600 - -apt (0.0.15) experimental; urgency=low - - * Clean up source tarball (no user-visible changes) - - -- Scott K. Ellis Tue, 26 May 1998 12:23:53 -0400 - -apt (0.0.14) experimental; urgency=low - - * Updates in ordering code to make sure certain upgrades work correctly. - * Made dselect/setup understand ftp as well as http - - -- Scott K. Ellis Wed, 20 May 1998 13:33:32 -0400 - -apt (0.0.13-bo1) experimental; urgency=low - - * Bo compilation - - -- Jason Gunthorpe Mon, 18 May 1998 15:10:49 -0600 - -apt (0.0.13) experimental; urgency=low - - * Remove hardcoded egcc from debian/rules (#21575) - * Fixes for ordering logic when system has a number of unpacked - but unconfigured packages installed. - * Spelling fix in dselect install method (#22556) - - -- Scott K. Ellis Sun, 17 May 1998 20:08:33 -0400 - -apt (0.0.12) experimental; urgency=low - - * Fixed problems with package cache corruption. - * Made to depend on libc6 >= 2.0.7pre1 due to timezone problems with - earlier versions. - * Interface and documentation improvements. - - -- Scott K. Ellis Sat, 16 May 1998 23:17:32 -0400 - -apt (0.0.11) experimental; urgency=low - - * Change dependancies to pre-depends since breaking your packaging tools - in the middle of an installation isn't very good. - * Bug fixes to ftp method and general apt-get code - - -- Scott K. Ellis Fri, 15 May 1998 08:57:38 -0400 - -apt (0.0.10) experimental; urgency=low - - * Run "dpkg --configure -a" after an aborted dselect install - * Fixed problem with install looping - * Support for authenticating proxys: (note this isn't terribly secure) - http_proxy="http://user:pass@firewall:port/" - * Substitute $ARCH in sources.list - * Fixes in the resumption code for ftp - - -- Scott K. Ellis Tue, 12 May 1998 09:14:41 -0400 - -apt (0.0.9) experimental; urgency=low - - * Added ftp support. - * Various other less visible bug fixes. - * Fixed problem with segfault when apt-get invoked in a non-existant - directory (Bug #21863) - * Bumped policy to 2.4.1 - - -- Scott K. Ellis Fri, 1 May 1998 09:18:19 -0400 - -apt (0.0.8) experimental; urgency=low - - * Fixed generated available file (Bug #21836) - * Added download ETA (Bug #21774). - * Fixed hardcoded ARCH (Bug #21751). - * Fixed check on http_proxy (Bug #21795). - * Added download speed indicator. - - -- Scott K. Ellis Mon, 27 Apr 1998 10:58:32 -0400 - -apt (0.0.7) experimental; urgency=low - - * Remove libdeity and apt from package for now, since only apt-get and - apt-cache are actually useful right now. - * Clean up handling of package installation errors. - * Added timeout to http transfers (#21269) - * Updated setup for dselect/apt method. - * Updated man pages - * Long options (added in 0.0.6) - - -- Scott K. Ellis Tue, 21 Apr 1998 09:06:49 -0400 - -apt (0.0.6) experimental; urgency=low - - * Spelling changes. - * Revamped download status display. - * Call apt-get clean after successful install in dselect. - * Added "apt-get clean" which deletes package files from /var/cache/apt - - -- Scott K. Ellis Thu, 9 Apr 1998 15:13:59 -0400 - -apt (0.0.5) experimental; urgency=low - - * Ignore signals while dpkg is running so we don't leave dpkg running in - the background (#20804) - * Check Packages as well as Packages.gz for file URIs (#20784) - * Spelling cleanup (#20800) - * Added -m option to permit upgrade to go on in the case of a bad mirror. - This option may result in incomplete upgrades when used with -f. - - -- Scott K. Ellis Tue, 7 Apr 1998 12:40:29 -0400 - -apt (0.0.4) experimental; urgency=low - - * New usage guide. - * Various documentation updates and cleanup. - * Added '-f' option to apt-get attempt to fix broken dependancies. - - -- Scott K. Ellis Sat, 4 Apr 1998 14:36:00 -0500 - -apt (0.0.3) experimental; urgency=low - - * Added a shlibs.local file to prevent apt from depending on itself. - * Updates to how apt-get handles bad states in installed packages. - * Updated rules to make sure build works from a freshly checked out source - archive. Building from CVS needs libtool/automake/autoconf, builds from - the distributed source package should have no such dependancy. - - -- Scott K. Ellis Fri, 3 Apr 1998 11:49:47 -0500 - -apt (0.0.2) unstable; urgency=low - - * Updates to apt-get and http binding for dselect method (apt). - * Updating version number from 0.0.1, which was released only on IRC. - - -- Scott K. Ellis Fri, 3 Apr 1998 00:35:18 -0500 - -apt (0.0.1) unstable; urgency=low - - * Initial Release. - - -- Scott K. Ellis Tue, 31 Mar 1998 12:49:28 -0500 - diff --git a/apt/debian/control b/apt/debian/control deleted file mode 100644 index 2c66f9d..0000000 --- a/apt/debian/control +++ /dev/null @@ -1,65 +0,0 @@ -Source: apt -Section: admin -Priority: important -Maintainer: APT Development Team -Uploaders: Jason Gunthorpe , Adam Heath -Standards-Version: 3.5.8.0 -Build-Depends: debhelper (>= 2), libdb2-dev, gettext (>= 0.11.5) -Build-Depends-Indep: debiandoc-sgml, docbook-utils (>= 0.6.12-1) - -Package: apt -Architecture: any -Depends: ${shlibs:Depends} -Priority: standard -Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7) -Provides: ${libapt-pkg:provides} -Suggests: dpkg-dev, apt-doc -Section: base -Description: Advanced front-end for dpkg - This is Debian's next generation front-end for the dpkg package manager. - It provides the apt-get utility and APT dselect method that provides a - simpler, safer way to install and upgrade packages. - . - APT features complete installation ordering, multiple source capability - and several other unique features, see the Users Guide in apt-doc. - -Package: apt-doc -Architecture: all -Priority: optional -Replaces: apt (<< 0.5.4.9) -Section: doc -Description: Documentation for APT - This package contains the user guide and offline guide, for APT, an - Advanced Package Tool. - -Package: libapt-pkg-dev -Architecture: any -Priority: optional -Depends: apt-utils, ${libapt-pkg:provides}, ${libapt-inst:provides} -Section: devel -Description: Development files for APT's libapt-pkg and libapt-inst - This package contains the header files and libraries for - developing with APT's libapt-pkg Debian package manipulation - library and the libapt-inst deb/tar/ar library. - -Package: libapt-pkg-doc -Architecture: all -Priority: optional -Section: doc -Description: Documentation for APT development - This package contains documentation for development of the APT - Debian package manipulation program and its libraries. - -Package: apt-utils -Architecture: any -Depends: ${shlibs:Depends} -Priority: optional -Provides: ${libapt-inst:provides} -Section: admin -Description: APT utility programs - This package contains some infrequently used APT utility programs such - as apt-ftparchive, apt-sortpkgs and apt-extracttemplates. - . - apt-extracttemplates is used by debconf to prompt for configuration - questions before installation. apt-ftparchive is used to create Package - and other index files. apt-sortpkgs is a Package/Source file normalizer. diff --git a/apt/debian/dirs b/apt/debian/dirs deleted file mode 100644 index fd2a369..0000000 --- a/apt/debian/dirs +++ /dev/null @@ -1,6 +0,0 @@ -usr/bin -usr/lib/apt/methods -usr/lib/dpkg/methods/apt -etc/apt -var/cache/apt/archives/partial -var/lib/apt/lists/partial diff --git a/apt/debian/examples b/apt/debian/examples deleted file mode 100644 index e69de29..0000000 diff --git a/apt/debian/libapt-pkg-dev.dirs b/apt/debian/libapt-pkg-dev.dirs deleted file mode 100644 index 844642a..0000000 --- a/apt/debian/libapt-pkg-dev.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib -usr/include/apt-pkg diff --git a/apt/debian/libapt-pkg-doc.doc-base.cache b/apt/debian/libapt-pkg-doc.doc-base.cache deleted file mode 100644 index b58b79b..0000000 --- a/apt/debian/libapt-pkg-doc.doc-base.cache +++ /dev/null @@ -1,18 +0,0 @@ -Document: libapt-pkg-doc-cache -Title: APT Cache Specification -Author: Jason Gunthorpe -Abstract: The APT Cache Specification describes the complete implementation - and format of the APT Cache file. The APT Cache file is a way for APT to - parse and store a large number of package files for display in the UI. - It's primarydesign goal is to make display of a single package in the - tree very fast by pre-linking important things like dependencies and - provides. The specification doubles as documentation for one of the - in-memory structures used by the package library and the APT GUI. -Section: Devel - -Format: html -Index: /usr/share/doc/libapt-pkg-doc/cache.html/index.html -Files: /usr/share/doc/libapt-pkg-doc/cache.html/*.html - -Format: text -Files: /usr/share/doc/libapt-pkg-doc/cache.text.gz diff --git a/apt/debian/libapt-pkg-doc.doc-base.design b/apt/debian/libapt-pkg-doc.doc-base.design deleted file mode 100644 index ce5e0ce..0000000 --- a/apt/debian/libapt-pkg-doc.doc-base.design +++ /dev/null @@ -1,14 +0,0 @@ -Document: libapt-pkg-doc-design -Title: APT Design Document -Author: Jason Gunthorpe -Abstract: The APT Design Document is an overview of the specifications and - design goals of the APT project. It also attempts to give a broad - description of the implementation as well. -Section: Debian - -Format: html -Index: /usr/share/doc/libapt-pkg-doc/design.html/index.html -Files: /usr/share/doc/libapt-pkg-doc/design.html/*.html - -Format: text -Files: /usr/share/doc/libapt-pkg-doc/design.text.gz diff --git a/apt/debian/libapt-pkg-doc.doc-base.dpkg-tech b/apt/debian/libapt-pkg-doc.doc-base.dpkg-tech deleted file mode 100644 index 3afc262..0000000 --- a/apt/debian/libapt-pkg-doc.doc-base.dpkg-tech +++ /dev/null @@ -1,13 +0,0 @@ -Document: libapt-pkg-doc-dpkg-tech -Title: APT's interpetation of DPkg Technical Specification -Author: Jason Gunthorpe -Abstract: The DPkg Technical Manual gives an overview of dpkg's external - functions(as APT sees them) and describes how it views the world. -Section: Devel - -Format: html -Index: /usr/share/doc/libapt-pkg-doc/dpkg-tech.html/index.html -Files: /usr/share/doc/libapt-pkg-doc/dpkg-tech.html/*.html - -Format: text -Files: /usr/share/doc/libapt-pkg-doc/dpkg-tech.text.gz diff --git a/apt/debian/libapt-pkg-doc.doc-base.files b/apt/debian/libapt-pkg-doc.doc-base.files deleted file mode 100644 index e0b7935..0000000 --- a/apt/debian/libapt-pkg-doc.doc-base.files +++ /dev/null @@ -1,14 +0,0 @@ -Document: libapt-pkg-doc-files -Title: APT Files -Author: Jason Gunthorpe -Abstract: The APT Files document describes the complete implementation and - format of the installed APT directory structure. It also serves as guide - to how APT views the Debian archive. -Section: Devel - -Format: html -Index: /usr/share/doc/libapt-pkg-doc/files.html/index.html -Files: /usr/share/doc/libapt-pkg-doc/files.html/*.html - -Format: text -Files: /usr/share/doc/libapt-pkg-doc/files.text.gz diff --git a/apt/debian/libapt-pkg-doc.doc-base.method b/apt/debian/libapt-pkg-doc.doc-base.method deleted file mode 100644 index 61c3612..0000000 --- a/apt/debian/libapt-pkg-doc.doc-base.method +++ /dev/null @@ -1,14 +0,0 @@ -Document: libapt-pkg-doc-method -Title: APT Method Interface -Author: Jason Gunthorpe -Abstract: The APT Method Interface document describes the interface that - APT uses to the archive access methods. -Section: Devel - -Format: html -Index: /usr/share/doc/libapt-pkg-doc/method.html/index.html -Files: /usr/share/doc/libapt-pkg-doc/method.html/*.html - -Format: text -Files: /usr/share/doc/libapt-pkg-doc/method.text.gz - diff --git a/apt/debian/postinst b/apt/debian/postinst deleted file mode 100755 index 085f15c..0000000 --- a/apt/debian/postinst +++ /dev/null @@ -1,42 +0,0 @@ -#! /bin/sh - -# apt postinst, based liberally on James Troup's gpm postinst -# Copyright (C) 1998, Ben Gertzfield - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -set -e - -create_apt_conf () -{ - echo "/etc/apt/sources.list does not exist; creating a default setup." - - cp /usr/share/doc/apt/examples/sources.list /etc/apt/sources.list -} - -check_apt_conf () -{ - true - # this is for future expansion -} - -#DEBHELPER# - -case "$1" in - configure) - ldconfig - # - # If there is no /etc/apt/sources.list then create a default - # - if [ ! -f /etc/apt/sources.list ]; then - create_apt_conf - echo - echo "If you wish to change the default sites from which APT fetches Debian" - echo "packages, please edit the file /etc/apt/sources.list." - else - check_apt_conf - fi -esac diff --git a/apt/debian/postrm b/apt/debian/postrm deleted file mode 100755 index f93eb76..0000000 --- a/apt/debian/postrm +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/sh - -# apt postrm -# Copyright (C) 1998, Ben Gertzfield - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -#DEBHELPER# - -case "$1" in - remove) - ldconfig - ;; - purge) - echo -n "Removing APT cache and state files... " - echo -n "/var/cache/apt" - rm -rf /var/cache/apt - echo -n ", /var/lib/apt" - rm -rf /var/lib/apt - echo ". Done." -esac - diff --git a/apt/debian/preinst b/apt/debian/preinst deleted file mode 100755 index 276eae5..0000000 --- a/apt/debian/preinst +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh - -# dpkg does this for us while we are upgrading.. -#if [ "$1" = "upgrade" -a -L /var/state/apt -a -e /var/lib/apt -a ! -L /var/state/apt ] && dpkg --compare-versions "$2" ">=" "0.4.10"; then -# rm /var/state/apt -#fi - -if [ "$1" = "upgrade" -o "$1" = "install" -a "$2" != "" ]; then - if [ ! -e /var/lib/apt -a -e /var/state/apt ]; then - # upgrading from /var/state/apt using apt. - # it's probably running now so we want to ensure /var/state/apt - # is still valid afterwards. and since we're upgrading - - if [ -x /usr/bin/perl -a -d /var/state/apt -a ! -L /var/state/apt ] && - perl -e 'exit 1 if ((stat("/var/lib"))[0] != (stat("/var/state/apt"))[0])' - then - # same fs, we can mv it - mv /var/state/apt /var/lib/apt - ln -s ../lib/apt /var/state/apt - # note that this symlink (/var/state/apt) will be removed when - # dpkg finishes unpacking the apt we're about to install; this is okay - else - # scary, let's just symlink it and hope - ln -s /var/state/apt /var/lib/apt - fi - fi - touch /var/lib/apt/lists/partial/.delete-me-later || true -fi - -#DEBHELPER# diff --git a/apt/debian/prerm b/apt/debian/prerm deleted file mode 100755 index ac70a02..0000000 --- a/apt/debian/prerm +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/sh - -#DEBHELPER# - -if [ "$1" = "upgrade" -o "$1" = "failed-upgrade" ] && - dpkg --compare-versions "$2" "<<" 0.4.10 -then - if [ ! -d /var/state/apt/ ]; then - ln -s /var/lib/apt /var/state/apt - touch /var/lib/apt/lists/partial/.delete-me-later - fi -fi - diff --git a/apt/debian/python-apt.dirs b/apt/debian/python-apt.dirs deleted file mode 100644 index 621814d..0000000 --- a/apt/debian/python-apt.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/python1.5/site-packages diff --git a/apt/debian/rules b/apt/debian/rules deleted file mode 100755 index c3da740..0000000 --- a/apt/debian/rules +++ /dev/null @@ -1,328 +0,0 @@ -#!/usr/bin/make -f -# Made with the aid of dh_make, by Craig Small -# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. -# Some lines taken from debmake, by Christoph Lameter. -# $Id: rules,v 1.48 2003/02/12 14:31:41 doogie Exp $ - -# LD_LIBRARY_PATH=pwd/debian/apt/usr/lib dh_shlibdeps -papt -# dpkg: /home/jgg/work/apt2/debian/apt/usr/lib/libapt-pkg.so.2.9 not found. - -# For the deb builder, you can run 'debian/rules cvs-build', which does all -# steps nescessary to produce a proper source tarball with the CVS/ removed. -# It builds in debian/cvs-build/apt-/, and places files in -# debian/cvs-build/. Optionally, you can run 'debian/rules cvs-mkul' to -# create ../upload-, with all the files needed to be uploaded placed -# in it. - -export DH_COMPAT=2 - -export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -# FOR AUTOCONF 2.52 AND NEWER ONLY -ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) - confflags += --build $(DEB_HOST_GNU_TYPE) -else - confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) -endif - -# See below --include build/environment.mak - -# Default rule -build: - -DEB_BUILD_PROG:=debuild -us -uc -APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p') -APT_CONFVER=$(shell sed -n -e 's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in) - -# Determine the build directory to use -BASE=. -ifdef BUILD -BUILD_POSSIBLE := $(BUILD) $(BASE)/$(BUILD) -else -BUILD_POSSIBLE := $(BASE) $(BASE)/build-$(shell uname -m) $(BASE)/build -endif -BUILDX:= $(foreach i,$(BUILD_POSSIBLE),$(wildcard $(i)/environment.mak*)) -BUILDX:= $(patsubst %/,%,$(firstword $(dir $(BUILDX)))) -override BLD := $(BUILDX) - -ifeq ($(words $(BLD)),0) -override BLD := ./build -endif - -# Rebuild configure.in to have the correct version from the change log -ifneq ($(APT_DEBVER),$(APT_CONFVER)) -.PHONY: configure.in -configure.in: - sed -e 's/$(APT_CONFVER)/$(APT_DEBVER)/' $@ > $@.$$$$;mv $@.$$$$ $@ -else -configure.in: -endif - -# APT Programs in apt-utils -APT_UTILS=ftparchive sortpkgs extracttemplates - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# Find the libapt-pkg major version for use in other control files -export LIBAPTPKG_MAJOR:=$(shell egrep '^MAJOR=' apt-pkg/makefile |cut -d '=' -f 2) -export LIBAPTINST_MAJOR:=$(shell egrep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2) - -# Determine which package we should provide in the control files -LIBAPTPKG_PROVIDE=libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER)-$(LIBAPTPKG_MAJOR) -LIBAPTINST_PROVIDE=libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER)-$(LIBAPTINST_MAJOR) - -debian/shlibs.local: apt-pkg/makefile - # We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and - # one for the rest of the packages. This ensures that each package gets - # the right overrides.. - rm -rf $@ $@.apt $@.apt-utils - echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR)" > $@.apt - - echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils - echo "libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTINST_MAJOR)" >> $@.apt-utils - - echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@ - echo "libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@ - -build: build/build-stamp -build-doc: build/build-doc-stamp - -# Note that this is unconditionally done first as part of loading environment.mak -# The true is needed to force make to reload environment.mak after running -# configure-stamp. Otherwise we can get stale or invalid, or missing config data. -build/environment.mak: build/configure-stamp - @true - -configure: configure.in -build/configure-stamp: configure - dh_testdir - -mkdir build - cp COPYING debian/copyright -ifneq ($(wildcard /usr/share/misc/config.sub),) - cp -a /usr/share/misc/config.sub buildlib/config.sub - echo Updating buildlib/config.sub -endif -ifneq ($(wildcard /usr/share/misc/config.guess),) - cp -a /usr/share/misc/config.guess buildlib/config.guess - echo Updating buildlib/config.guess -endif - cd build && ../configure $(confflags) - touch $@ - -build/build-stamp: build/configure-stamp - # Add here commands to compile the package. - $(MAKE) binary - touch $@ - -build/build-doc-stamp: build/configure-stamp - # Add here commands to compile the package. - $(MAKE) doc - touch $@ - -clean: - dh_testdir -# dh_testroot - -$(MAKE) clean - -$(MAKE) distclean - - rm -rf build - - # Add here commands to clean up after the build process. - dh_clean debian/copyright debian/shlibs.local debian/shlibs.local.apt debian/shlibs.local.apt-utils - -binary-indep: apt-doc libapt-pkg-doc -# Build architecture-independent files here. -libapt-pkg-doc: build-doc debian/shlibs.local - dh_testdir -p$@ - dh_testroot -p$@ - dh_clean -p$@ -k - dh_installdirs -p$@ -# -# libapt-pkg-doc install -# - dh_installdocs -p$@ $(BLD)/docs/cache* $(BLD)/docs/design* $(BLD)/docs/dpkg-tech* \ - $(BLD)/docs/files* $(BLD)/docs/method* \ - doc/libapt-pkg2_to_3.txt doc/style.txt - dh_installexamples -p$@ -# dh_installmenu -p$@ -# dh_installinit -p$@ -# dh_installcron -p$@ -# dh_installmanpages -p$@ - -# dh_undocumented -p$@ - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ -# dh_suidregister -p$@ - dh_installdeb -p$@ - dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) - dh_md5sums -p$@ - dh_builddeb -p$@ - -apt-doc: build-doc - dh_testdir -p$@ - dh_testroot -p$@ - dh_clean -p$@ -k -# -# apt-doc install -# - # Copy the guides - dh_installdocs -p$@ $(BLD)/docs/guide*.text $(BLD)/docs/guide*.html \ - $(BLD)/docs/offline.text $(BLD)/docs/offline.html - dh_installchangelogs -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_installdeb -p$@ - dh_gencontrol -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ - - - -# Build architecture-dependent files here. - -binary-arch: apt libapt-pkg-dev apt-utils -apt: build debian/shlibs.local - dh_testdir -p$@ - dh_testroot -p$@ - dh_clean -p$@ -k - dh_installdirs -p$@ /usr/share -# -# apt install -# - cp $(BLD)/bin/apt-* debian/apt/usr/bin/ - - # Remove the bits that are in apt-utils - rm $(addprefix debian/apt/usr/bin/apt-,$(APT_UTILS)) - - # install the shared libs - find $(BLD)/bin/ -type f -name "libapt-pkg*.so.*" -exec cp -a "{}" debian/apt/usr/lib/ \; - find $(BLD)/bin/ -type l -name "libapt-pkg*.so.*" -exec cp -a "{}" debian/apt/usr/lib/ \; - - cp $(BLD)/bin/methods/* debian/apt/usr/lib/apt/methods/ - - cp $(BLD)/scripts/dselect/* debian/apt/usr/lib/dpkg/methods/apt/ - cp -r $(BLD)/locale debian/apt/usr/share/ - -# head -n 500 ChangeLog > debian/ChangeLog - - dh_installexamples -p$@ $(BLD)/docs/examples/* - dh_installmanpages -p$@ apt-ftparchive.1 apt-sortpkgs.1 apt-extracttemplates.1 - - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_installdeb -p$@ - dh_shlibdeps -papt -l`pwd`/debian/apt/usr/lib -- -Ldebian/shlibs.local.apt - dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) - dh_makeshlibs -m$(LIBAPTPKG_MAJOR) -V '$(LIBAPTPKG_PROVIDE)' -papt - dh_md5sums -p$@ - dh_builddeb -p$@ - -libapt-pkg-dev: build debian/shlibs.local - dh_testdir -p$@ - dh_testroot -p$@ - dh_clean -p$@ -k - dh_installdirs -p$@ -# -# libapt-pkg-dev install -# - cp -a $(BLD)/bin/libapt-pkg*.so debian/libapt-pkg-dev/usr/lib/ - cp -a $(BLD)/bin/libapt-inst*.so debian/libapt-pkg-dev/usr/lib/ -# ln -s libapt-pkg.so.$(LIBAPTPKG_MAJOR) debian/libapt-pkg-dev/usr/lib/libapt-pkg.so - cp $(BLD)/include/apt-pkg/*.h debian/libapt-pkg-dev/usr/include/apt-pkg/ - - dh_installdocs -p$@ -# dh_installmenu -p$@ -# dh_installinit -p$@ -# dh_installcron -p$@ -# dh_installmanpages -p$@ - - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ -# dh_suidregister -p$@ - dh_installdeb -p$@ - dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) - dh_md5sums -p$@ - dh_builddeb -p$@ - -apt-utils: build debian/shlibs.local - dh_testdir -p$@ - dh_testroot -p$@ - dh_clean -p$@ -k - dh_installdirs -p$@ - - # install the shared libs - find $(BLD)/bin/ -type f -name "libapt-inst*.so.*" -exec cp -a "{}" debian/$@/usr/lib/ \; - find $(BLD)/bin/ -type l -name "libapt-inst*.so.*" -exec cp -a "{}" debian/$@/usr/lib/ \; - - cp $(addprefix $(BLD)/bin/apt-,$(APT_UTILS)) debian/$@/usr/bin/ - dh_installdocs -p$@ - - # Install the man pages.. - mkdir -p debian/$@/usr/share/man/man1 - -cp doc/apt-sortpkgs.1 doc/apt-ftparchive.1 doc/apt-extracttemplates.1 debian/$@/usr/share/man/man1/ - - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_installdeb -p$@ - LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib dh_shlibdeps -p$@ -- -Ldebian/shlibs.local.apt-utils - dh_gencontrol -p$@ -u -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) - dh_makeshlibs -m$(LIBAPTINST_MAJOR) -V '$(LIBAPTINST_PROVIDE)' -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ - -source diff: - @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false - -# Update from CVS -l33ch: really-clean - cvs update - buildlib/mkChangeLog - -# Update from CVS and then configure for build -super-l33ch: l33ch Makefile.in - -configure: - $(MAKE) configure - -l33ch-stamp: super-l33ch - touch $@ - -really-clean: clean - -find -name Makefile.in -print0 | xargs -0r rm -f - find -name ChangeLog | xargs rm -f - rm -f l33ch-stamp - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary debian/shlibs.local - - -# Done by the uploader. -#cvs update.. -#edit debian/changelog -# configure.in has the version automatically updated now. -# edit configure.in -# debian/rules cvs-build - -cvs-build: - rm -rf debian/cvs-build - cvs update - $(MAKE) startup - $(MAKE) doc - tar c --exclude CVS --exclude cvs-build . |\ - (mkdir -p debian/cvs-build/apt-$(APT_DEBVER);cd debian/cvs-build/apt-$(APT_DEBVER);tar x) - (cd debian/cvs-build/apt-$(APT_DEBVER);$(DEB_BUILD_PROG)) - -cvs-mkul: - -mkdir -p ../upload-$(APT_DEBVER) - cp `find debian/cvs-build -maxdepth 1 -type f` ../upload-$(APT_DEBVER) diff --git a/apt/doc/Bugs b/apt/doc/Bugs deleted file mode 100644 index deb7334..0000000 --- a/apt/doc/Bugs +++ /dev/null @@ -1,174 +0,0 @@ --- Real Problems -#24000: Bug in apt Version: 0.0.17-1bo0 - Summary: Couldn't locate an archive source for a package - Status: Require Status file. -#24717: apt dies early if one postinst/preinst dies - Status: Requires dpkg modifications -#25104: APT should retry failed downloads - Summary: FTP method has problems with busy servers - Status: The 0.3.0 ftp method should probably use the configuration mechanism - to control this desired behavoir. -#25176: Problem with FTP/firewall -#25458: Problem with FTP/firewall - Summary: FTP method has no controls for firewalls - Status: The 0.3.0 ftp method should probably use the configuration mechanism - to control this desired behavoir. - --- Fixed but unclosed things -#25026: apt: Why do you list the packages you're _not_ doing anything to instead of the ones you are? -#22507: apt: apt-get - listing packages to be upgraded (wishlist) - Summary: Feature request - Status: Fixed in 0.3.0 via the -u option -#21113: [Apt] In dselect, update dies and exits if the packages file is not found. - Status: Fixed in 0.3.0 -#22675: APT does not honor the --admin-dir option -#22836: Disk/Zip-Method for apt? - Summary: APT does not provide a way to download packages onto a - removable media for another computer - Status: 0.3.0 has substantially better support for this to the point - that it is doable by using a separate configuration file and - the -c option -#27601: srange errors from dselect - Summary: Couldn't locate an archive source - Status: Require status file - Believed to be fixed in 0.1.9, was not reproducable w/ given - status file -#27841: apt: apt depends on a missing library - Status: New versions of APT in slink have been compiled with libstdc++2.9 -#23984: apt: support for "no_proxy" would be nice - Status: Planed to be integrated into the new methods via the configuration - file - Done - Use Acquire::http::proxy::host.com="DIRECT" -#25021: apt: Need some control over multiple connections - Status: Probable that 0.3.x will have support for configuing some - parameters - Done - Use Acquire::Queue-Mode="access" -#25019: apt: Confusing progress report - Summary: Gripes about the progress meter - Status: I do not intend to implement very many of these ideas in apt-get. - The GUI will naturally be better - I think the new progress meter address basically everyone's - concerns. -#25022: apt: Lack of feedback on date checking - Summary: Wants to know what package files were not updated - Status: There is no place for this in the current apt-get design, - probably won't make the GUI either. - Wee, the new acquire code allows this, it now prints out 'Hit' -#26019: apt may report wrong line speed -#26433: apt: claims to fetch things it doesn't actually fetch (wishlist) -#28778: apt: apt's fetched message is wrong for update of packages files - Summary: APT includes the fetch time from the local cache in its - calculations - Status: Probably will be fixed with new acquire code - And it actually was fixed with the new acquire code -#26670: apt: apt-get dumps core after checking integrity - Summary: Some terminal environments cause APT to crash - Win95 telnet and emacs term-in-a-buffer are two at least - Status: I have no idea why. - Seems to be gone in .3, whatever it was... -#25001: apt: cleaned out archive even though not all files were installed - Status: Apparently in some cases APT can return a success code even - though it failed. I'm paying very close attention to this in - 0.3.x. Not to mention that the clean behavior will be - configurable.. -#28391: apt-get install without upgrading - Summary: Make install leave the package in the keep state if it is already - installed - Status: Will be implemented in 0.3.0 - Try the --no-upgrade options -#28373: apt package is missing information on ftp.conf -#29293: apt: Docs reference apt(8) but apt(8) not provided. - Summary: The man pages have references to several non-existent items, - ftp.conf is only one of them. - Status: Fix the man pages. This certainly will be done in 0.3.0 -#24799: Some suggestions for the apt method in dselect - Summary: Wants to be able to specifiy -d from dselect - Status: Likely a APT_OPTIONS enviornment variable will be created, -d can - be put there. - There is already an APT_CONFIG in 0.3, APT_OPTIONS may also - appear.. - Use Dselect::Options "-d" and others -#29920: Wish for more verbosity on "has no installation candidate" - Summary: More reports - Status: Already fixed in .3 -#29382: apt: apt deletes packages after installation without any question - Summary: Obvois. - Status: Fixed in .3, use Dselect::Clean "prompt" -#30027: apt: version comparison bug - Summary: Version compare differs from dpkg - Status: Fixed in all CVS versions. -#30260: apt: wishlist: do not return to main menu without prompting for return - Summary: Wants to prompt after dselect update - Status: Fixed in v3, use dselect::promptafterupdate "true"; -#29441: documenting the codes for -s - Summary: Apparently the simulation output is not immediately obvois - Status: Someone should update the man page. -#24685: HTTP Proxy cache refresh - Summary: Some caches hold onto the package index file for too long - Status: It may be possible to insert the proper header to disable - caching but I can't think how to do this while allowing - the cache to return cached objects - in effect it would - completely disable the cache which may not be desired. - APT now sends a max age header. See the apt.conf(5) -#28172: HTTP Proxy cache refresh should be forced for corrupted packages - Summary: Some problem resulted in a corrupted package - Status: I belive this reflects a deeper problem and the suggested solution - is only a band-aide patch. I intend to close this bug when #24685 - is fixed with a configuration directive. - Use -o acquire::http::no-cache=true -#29351: poor error message after conffile update - Summary: APT errors when the package file is not found - Status: The new APT warns better and the error is not fatal -#30112: apt: internal error in apt - Summary: APT gives an unclear error when it cannot correct dependencies - Status: Error is clearer -#30324: apt-get lying about file dates in /var/state/apt/lists - Summary: Doesn't copy the file dates right with file URIs - Status: Fixed in v3 -#30383: apt: dist-upgrade msg "E: Internal error, ScoredFix generated breaks." - Summary: libc6 maddness causes bizzar problems - Status: Fixed in v3 -#29983: apt: Wrong diagnostic, could be better - Summary: It doesn't explicy say you should be root - Status: Fixed in v3 -#22892: Apt improvements - Summary: Bails if an index file can't be found - Status: Fixed in v3 -#28184: apt could be smarter regarding mirrors - Summary: Make use of redundant sources - Status: 0.3.0 will likely do this, already the information for it is stored. -#27646: Apt: dpkg --merge-avail - Summary: Suggestion to call merge avail after each update operation - Status: Unlikely. The dpkg --print-avail functions should be obsoleted - by the apt-query program which should be written. - Use the dselect script, alias or something. -#26663: rsync file access - Status: Unlikely, rsync does not provide the necessary support to be - a terribly good method. I do not intend any 'split mode' - support (ie a way to get Package files via rsync and .debs - via http) -#27100: apt: Better support for project/experimental - Status: GUI Feature - Version selection and pinning - Honors the NotAutomatic flag -#30643: base: apt-get update problems with http-/ftp-caches (i.e. squid) - Status: Fixed as best I can. Try the Acquire::http::No-Cache option. - --- Silly things -#26592: apt: Problems with ftpd in SunOS 5.6 -#29903: apt-get insists onto sending a SIZE command - Summary: SunOS ftpd does not support the SIZE command - Status: Probably not worth fixing -#20723: Apt suggestion - Summary: Package Grouping Mechanism - Status: Who knows -#22550: apt-get upgrade could configure packages earlier - Status: Who knows -#23934: apt-get source -#27190: apt: installing source packages (wishlist) - Status: Impossible to do without an index file for all source archives. -#22551: apt: wish: use dist X iff pkg does not exist in dist Y - Status: GUI Feature - Version selection and pinning -#30237: apt: 0.1.9 checks dependencies against packages.gz - Summary: For packages with identical version numbers APT prefers - to use the archive index files - Status: Yes it is sorta bad, but there is no reasonable solution. diff --git a/apt/doc/Makefile.am b/apt/doc/Makefile.am new file mode 100644 index 0000000..92e935f --- /dev/null +++ b/apt/doc/Makefile.am @@ -0,0 +1,77 @@ +all-local: docs +clean-local: clean-docs + +STATIC_MANPAGES = \ + apt.8 +SGML_MANPAGES = \ + apt-get.8 \ + apt-cache.8 \ + apt-cdrom.8 \ + apt-config.8 \ + apt.conf.5 \ + sources.list.5 \ + vendors.list.5 \ + apt_preferences.5 + + +EXTRA_DIST = \ + $(STATIC_MANPAGES) \ + $(patsubst %,%.sgml, \ + $(SGML_MANPAGES)) \ + apt.ent \ + style.txt \ + cache.sgml \ + files.sgml \ + guide.sgml \ + offline.sgml \ + design.sgml \ + guide.it.sgml \ + method.sgml \ + examples/apt.conf \ + examples/configure-index \ + examples/sources.list \ + fr/apt-cache.fr.8.sgml \ + fr/apt-cdrom.fr.8.sgml \ + fr/apt-config.fr.8.sgml \ + fr/apt-extracttemplates.fr.1.sgml \ + fr/apt-ftparchive.fr.1.sgml \ + fr/apt-get.fr.8.sgml \ + fr/apt-sortpkgs.fr.1.sgml \ + fr/apt.conf.fr.5.sgml \ + fr/apt.ent.fr \ + fr/apt_preferences.fr.5.sgml \ + fr/makefile \ + fr/sources.list.fr.5.sgml \ + fr/vendors.list.fr.5.sgml \ + es/apt-cache.es.8.sgml \ + es/apt-cdrom.es.8.sgml \ + es/apt-config.es.8.sgml \ + es/apt-get.es.8.sgml \ + es/apt.conf.es.5.sgml \ + es/apt.ent.es \ + es/apt.es.8 \ + es/apt_preferences.es.5.sgml \ + es/makefile \ + es/sources.list.es.5.sgml \ + es/vendors.list.es.5.sgml \ + pt_BR/apt.ent.pt_BR \ + pt_BR/apt_preferences.pt_BR.5.sgml \ + pt_BR/makefile + +CLEANFILES = manpage.links manpage.refs + +if COMPILE_MANPAGES +man_MANS = $(STATIC_MANPAGES) $(SGML_MANPAGES) + +docs: $(man_MANS) + +%: %.sgml apt.ent + @echo Creating man page $@ + @$(DOCBOOK2MAN) $< +else +docs: +endif + +clean-docs: + rm -f $(SGML_MANPAGES) + diff --git a/apt/doc/Makefile.in b/apt/doc/Makefile.in new file mode 100644 index 0000000..8f34347 --- /dev/null +++ b/apt/doc/Makefile.in @@ -0,0 +1,499 @@ +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILE_APTSHELL_FALSE = @COMPILE_APTSHELL_FALSE@ +COMPILE_APTSHELL_TRUE = @COMPILE_APTSHELL_TRUE@ +COMPILE_MANPAGES_FALSE = @COMPILE_MANPAGES_FALSE@ +COMPILE_MANPAGES_TRUE = @COMPILE_MANPAGES_TRUE@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOCBOOK2MAN = @DOCBOOK2MAN@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GENCAT = @GENCAT@ +GLIBC21 = @GLIBC21@ +GLIBC_VER = @GLIBC_VER@ +GMSGFMT = @GMSGFMT@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLBISON = @INTLBISON@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSTDCPP_VER = @LIBSTDCPP_VER@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +NEED_INTTYPES_H_FALSE = @NEED_INTTYPES_H_FALSE@ +NEED_INTTYPES_H_TRUE = @NEED_INTTYPES_H_TRUE@ +NEED_NETDB_H_FALSE = @NEED_NETDB_H_FALSE@ +NEED_NETDB_H_TRUE = @NEED_NETDB_H_TRUE@ +NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ +NEED_STATVFS_H_FALSE = @NEED_STATVFS_H_FALSE@ +NEED_STATVFS_H_TRUE = @NEED_STATVFS_H_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +PTHREADLIB = @PTHREADLIB@ +RANLIB = @RANLIB@ +RPMLIBS = @RPMLIBS@ +RPM_PATH = @RPM_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOCKETLIBS = @SOCKETLIBS@ +STRIP = @STRIP@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_LUA_FALSE = @WITH_LUA_FALSE@ +WITH_LUA_TRUE = @WITH_LUA_TRUE@ +XGETTEXT = @XGETTEXT@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +STATIC_MANPAGES = \ + apt.8 + +SGML_MANPAGES = \ + apt-get.8 \ + apt-cache.8 \ + apt-cdrom.8 \ + apt-config.8 \ + apt.conf.5 \ + sources.list.5 \ + vendors.list.5 \ + apt_preferences.5 + + +EXTRA_DIST = \ + $(STATIC_MANPAGES) \ + $(patsubst %,%.sgml, \ + $(SGML_MANPAGES)) \ + apt.ent \ + style.txt \ + cache.sgml \ + files.sgml \ + guide.sgml \ + offline.sgml \ + design.sgml \ + guide.it.sgml \ + method.sgml \ + examples/apt.conf \ + examples/configure-index \ + examples/sources.list \ + fr/apt-cache.fr.8.sgml \ + fr/apt-cdrom.fr.8.sgml \ + fr/apt-config.fr.8.sgml \ + fr/apt-extracttemplates.fr.1.sgml \ + fr/apt-ftparchive.fr.1.sgml \ + fr/apt-get.fr.8.sgml \ + fr/apt-sortpkgs.fr.1.sgml \ + fr/apt.conf.fr.5.sgml \ + fr/apt.ent.fr \ + fr/apt_preferences.fr.5.sgml \ + fr/makefile \ + fr/sources.list.fr.5.sgml \ + fr/vendors.list.fr.5.sgml \ + es/apt-cache.es.8.sgml \ + es/apt-cdrom.es.8.sgml \ + es/apt-config.es.8.sgml \ + es/apt-get.es.8.sgml \ + es/apt.conf.es.5.sgml \ + es/apt.ent.es \ + es/apt.es.8 \ + es/apt_preferences.es.5.sgml \ + es/makefile \ + es/sources.list.es.5.sgml \ + es/vendors.list.es.5.sgml \ + pt_BR/apt.ent.pt_BR \ + pt_BR/apt_preferences.pt_BR.5.sgml \ + pt_BR/makefile + + +CLEANFILES = manpage.links manpage.refs + +@COMPILE_MANPAGES_TRUE@man_MANS = $(STATIC_MANPAGES) $(SGML_MANPAGES) +subdir = doc +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = + +NROFF = nroff +MANS = $(man_MANS) +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign doc/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +man5dir = $(mandir)/man5 +install-man5: $(man5_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man5dir) + @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.5*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \ + done +uninstall-man5: + @$(NORMAL_UNINSTALL) + @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.5*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \ + rm -f $(DESTDIR)$(man5dir)/$$inst; \ + done + +man8dir = $(mandir)/man8 +install-man8: $(man8_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man8dir) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ + done +uninstall-man8: + @$(NORMAL_UNINSTALL) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ + rm -f $(DESTDIR)$(man8dir)/$$inst; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + $(mkinstalldirs) $(distdir)/es $(distdir)/examples $(distdir)/fr $(distdir)/pt_BR + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) all-local + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-man5 install-man8 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man5 uninstall-man8 + +.PHONY: all all-am all-local check check-am clean clean-generic \ + clean-libtool clean-local distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am info info-am install \ + install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-man5 install-man8 install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am uninstall-man uninstall-man5 uninstall-man8 + +all-local: docs +clean-local: clean-docs + +@COMPILE_MANPAGES_TRUE@docs: $(man_MANS) + +@COMPILE_MANPAGES_TRUE@%: %.sgml apt.ent +@COMPILE_MANPAGES_TRUE@ @echo Creating man page $@ +@COMPILE_MANPAGES_TRUE@ @$(DOCBOOK2MAN) $< +@COMPILE_MANPAGES_FALSE@docs: + +clean-docs: + rm -f $(SGML_MANPAGES) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/apt/doc/apt-cache.8.sgml b/apt/doc/apt-cache.8.sgml index ef92357..643944a 100644 --- a/apt/doc/apt-cache.8.sgml +++ b/apt/doc/apt-cache.8.sgml @@ -38,8 +38,8 @@ unmet search regex show pkg - showpkg pkg depends pkg + whatdepends pkg pkgnames prefix dotty pkg policy pkgs @@ -55,11 +55,11 @@ from the package metadata. - Unless the