--- sundials-2.5.0.orig/debian/README.Debian +++ sundials-2.5.0/debian/README.Debian @@ -0,0 +1,23 @@ +sundials for Debian +---------------- + +Configuring Octave's startup + + +""" +Matlab will execute a file named 'startup.m' in the directory it was called from on the command line. Octave does not. It will, however, execute a file named '.octaverc' which can be edited to execute existing files + +if ( exist ('startup.m', 'file') ) + source ('startup.m') # load startup.m like matlab +endif +""" + +According to the above doc create or add the folliwng lines to your .octaverc to activate sundials bindings for octave: + + % SUNDIALS Toolbox startup M-file, if it exists. + if ( exist('startup_STB.m','file') ) + source ('startup_STB.m') # load startup.m like matlab + end + + + -- Christophe Trophime Mon, 24 Oct 2011 15:01:41 +0200 --- sundials-2.5.0.orig/debian/README.source +++ sundials-2.5.0/debian/README.source @@ -0,0 +1,9 @@ +sundials source for Debian +--------------------------- + +Packaging makes use of CDBS and quilt. For the latter see +`/usr/share/doc/quilt/README.source'. + +Documentation files included in the distribution have been removed +You can find sundials documentation on +https://computation.llnl.gov/casc/sundials/documentation/documentation.html --- sundials-2.5.0.orig/debian/changelog +++ sundials-2.5.0/debian/changelog @@ -0,0 +1,299 @@ +sundials (2.5.0-3ubuntu3) wily; urgency=medium + + * No-change rebuild against liboctave3 + + -- Steve Langasek Sat, 15 Aug 2015 12:36:21 +0000 + +sundials (2.5.0-3ubuntu2) wily; urgency=medium + + * No-change rebuild against liboctave3 + + -- Matthias Klose Sat, 15 Aug 2015 12:01:13 +0000 + +sundials (2.5.0-3ubuntu1) trusty; urgency=medium + + * Patch configure to support ppc64el. + + -- Matthias Klose Mon, 24 Feb 2014 23:15:46 +0100 + +sundials (2.5.0-3build1) trusty; urgency=medium + + * Rebuild for octave 3.8. + + -- Matthias Klose Mon, 24 Feb 2014 18:27:06 +0000 + +sundials (2.5.0-3) unstable; urgency=low + + * Team upload. + * Revert changes from experimental version which inadvertently made it into + the previous upload. + * Improve the fix for missing BLAS and LAPACK dependencies (closes: #700525) + + no longer pass BLAS and LAPACK through LDFLAGS + + link-blas-lapack.patch: new patch which rather adds the dependencies at + the libtool link level + + add missing dependency of libsundials-serial-dev on libblas-dev and + liblapack-dev + * Fix the dependency of octave-sundials on octave. + + -- Sébastien Villemot Wed, 27 Feb 2013 16:58:32 +0100 + +sundials (2.5.0-2) unstable; urgency=low + + * debian/rules: + - Add -lblas -llapack -lm to LDFLAGS (closes: #700525) + + -- Christophe Trophime Fri, 15 Feb 2013 11:40:09 +0100 + +sundials (2.5.0-1) unstable; urgency=low + + * New upstream release + * Remove sh4.patch + * Standards-Version changed to 3.9.3 + + [Kamaraju Kusumanchi][Rafael Laboissiere] + * Adjust for the new octave package version 3.6.1 (closes: #668830) + + -- Christophe Trophime Tue, 24 Apr 2012 08:49:39 +0200 + +sundials (2.4.0-6) unstable; urgency=low + + * Rebuild using the last version of hdf5. + + -- Sylvestre Ledru Thu, 26 Jan 2012 10:18:07 +0100 + +sundials (2.4.0-5) unstable; urgency=low + + * debian/rules: remove duplicate definition of debexp var. + This brings back the missing static libraries (closes: #650933) + * debian/control: add DM-Upload-Allowed + + -- Christophe Trophime Mon, 05 Dec 2011 08:36:33 +0100 + +sundials (2.4.0-4) unstable; urgency=low + + * add octave support + + [Peter Green] + * debian/patches: add fix-format-error.patch (Closes: #646457) + + -- Christophe Trophime Mon, 24 Oct 2011 15:01:41 +0200 + +sundials (2.4.0-3) unstable; urgency=low + + * Change the uploader to Debian Science + * Standards-Version changed to 3.9.2 + + -- Sylvestre Ledru Mon, 08 Aug 2011 22:29:34 +0200 + +sundials (2.4.0-2) unstable; urgency=low + + [Nobuhiro Iwamatsu] + * debian/patches: add sh4.patch (Closes: #602160) + + -- Christophe Trophime Mon, 14 Feb 2011 11:25:18 +0100 + +sundials (2.4.0-1) unstable; urgency=low + + * Standards-Version changed to 3.9.1 + + [ Christophe Trophime ] + * Team upload + * New upstream version + * Add a separate package for IDAS + * Remove pdf from the orig tarball + * debian/control: add missing builddependencies on blas/lapack + * debian/control: remove libsundials-serial-doc + * debian/rules: modify get-orig-rules target to remove pdf from the orig + tarball + * debian/orig-tarball.sh: change to force download to tarballs directory + + -- Sylvestre Ledru Sat, 09 Oct 2010 18:18:22 +0200 + +sundials (2.3.0-2) unstable; urgency=low + + * Package moved to debian-science + * Raphael removed and add myself in the Uploaders list (Closes: #571898) + * Missing replace/conflicts added (Closes: #540498) + * No longer install *.la files + * bashim removed (Closes: #530983) + * Standards-Version updated to version 3.8.4 + + -- Sylvestre Ledru Tue, 30 Mar 2010 22:54:48 +0200 + +sundials (2.3.0-1) unstable; urgency=low + + [ Andrey Romanenko ] + * New upstream release + * Added sundials-config man page + + [ Rafael Laboissiere ] + * Switch from CDBS' simple-patchsys to quilt + * Split the libsundials-serial package into individual library packages + * debian/clean: Add file for removing config.log (Lintian warning) and the + .libs/* files, which are not cleaned by make clean but should + * debian/compat: Bump debhelper compatibility to v7 + * debian/control: + + Build-depends on debhelper >= 7, such that debian/clean is taken + into account + + Added Homepage, Vcs-Svn, and Vcs-Browser fields to the Source + section + + Dropped the Homepage pseudo-header from the extended descriptions + + Bumped Standards-Version to 3.8.0 + + Switch from ${Source-Version} substvar to ${binary:Version} + + Fix Lintian warnings debhelper-but-no-misc-depends + + Drop duplicated Section fields in the Package stanzas + * debian/sundials-config.1: Drop .NH macro + * debian/watch: Add file for uscan + * debian/orig-tarball.sh: Add script for use by uscan. This is necessary + because of the javascript URL investigated in debian/watch. + * debian/{libsundials-cvode0,libsundials-cvodes1,libsundials-ida1, + libsundials-kinsol0,libsundials-nvecserial0}.symbols : Add shared + library symbols files + * debian/check.sh: Add script for exercising the serial checks + * debian/rules: + + (build/libsundials-serial): Call debian/check.sh + + (binary-install/libsundials-serial-dev): Install + the *.c, *.f, *.out, and READMe files from the examples/ directory. + * debian/control: Mention the presence of the examples in the + description of the libsundials-serial-dev package + * debian/patches/modern-ltmain.sh.patch: Add header and make Lintian happy + * debian/source.lintian-overrides: Override the ancient-libtool warning + + [ Daniel Leidert ] + * debian/control (Depends): Added gfortran to build FORTRAN examples. + * debian/libsundials-cvode0.install: Removed DEB_DESTDIR from path. + * debian/libsundials-cvodes1.install: Ditto. + * debian/libsundials-ida1.install: Ditto. + * debian/libsundials-kinsol0.install: Ditto. + * debian/libsundials-nvecserial0.install: Ditto. + * debian/libsundials-serial-dev.install: Ditto. Further removed manpage + installation (done with dh_installman). + * debian/sundials-config.1: Minor format changes. + * debian/rules: Added get-orig-source target to retieve source code via + wget, which works atm. Set gfortran as FORTRAN compiler. Install + everything from DEB_DESTDIR. + (DEB_CONFIGURE_EXTRA_FLAGS): Removed --enable-fortran, which is not a + valid option. + (install/libsundials-serial-dev): Removed target. Better done with + DEB_INSTALL_MANPAGES. + + -- Rafael Laboissiere Wed, 11 Feb 2009 17:58:22 +0100 + +sundials (2.2.0-3) unstable; urgency=low + + * debian/control: Changed maintainer to the pkg-scicomp team at Alioth + + -- Rafael Laboissiere Sat, 16 Sep 2006 13:11:09 +0200 + +sundials (2.2.0-2) unstable; urgency=low + + * debian/rules: + - Create directories $(DEB_DESTDIR)/usr/{lib,include} before + installing the package. This should be done by the upstream + Makefiles (but it is not) and was preventing the libsundials_nvec + library and associated include files from being shipped in the + package (closes: #385630). + - Also reported in Bug#385630 was the fact that the libdir lines in + the *.la files were wrong. again, this is an upstream defect, + because there is no way to prevent the -rpath option from being + used. This problem is fixed in this version. + + -- Rafael Laboissiere Sun, 3 Sep 2006 14:31:59 +0200 + +sundials (2.2.0-1) unstable; urgency=low + + [ Andrey Romanenko ] + * New upstream release + * debian/libsundials-serial-dev.install: add lines to copy the content of + include/sundials subdirectories + * config/ltmain.sh: upgrade with the current version to solve the .so + extension problem + * debian/libsundials-serial.lintian: removed + * debian/lintian/libsundials-serial0: new file + + [ Rafael Laboissiere ] + * Switched to cdbs + * Since upstream is using soversion numbers for the libraries, the + package is renamed from libsundials-serial to libsundials-serial0 + * debian/control: Bumped Standards-Version to 3.7.2 (no changes needed) + + -- Rafael Laboissiere Mon, 8 May 2006 12:32:29 +0200 + +sundials (2.1.1-7) unstable; urgency=low + + +++ Changes by Rafael Laboissiere + + * debian/control: Bumped Standards-Version to 3.7.0 (no changes needed) + + -- Debian Octave Group Thu, 3 May 2006 22:24:39 +0000 + +sundials (2.1.1-6) unstable; urgency=low + + +++ Changes by Thomas Weber + + * debian/control: make doc package architecture "all" + debian/rules: dito (closes: #346392) + + -- Debian Octave Group Sun, 8 Jan 2006 23:24:39 +0100 + +sundials (2.1.1-5) unstable; urgency=low + + +++ Changes by Rafael Laboissiere + + * First official Debian release (closes: #341565) + + -- Debian Octave Group Tue, 6 Dec 2005 19:52:13 +0100 + +sundials (2.1.1-4) unstable; urgency=low + + +++ Changes by Rafael Laboissiere + + * debian/control: Changed the name of the source package to sundials. + This corresponds to the name of the origianl usptream tarball. + + -- Debian Octave Group Thu, 1 Dec 2005 08:32:22 +0100 + +libsundials-serial (2.1.1-3) unstable; urgency=low + + +++ Changes by Andrey Romanenko + + * Set Maintainer to Debian Octave Group + * Create a documentation package that contains the user guides of the + solvers + * Change the name of the package containing the dynamic libraries to + sundials-serial + * added a lintian override file + + +++ Changes by Rafael Laboissiere + + * Centralize the /usr/share/doc/* directories, by symlinking both + -dev and -doc to . This forces the dependency of + libsundails-serial-doc on libsundials-serial. + + -- Debian Octave Group Wed, 26 Oct 2005 12:47:56 +0100 + +libsundials-serial (2.1.1-2) unstable; urgency=low + + * Move header files into /usr/include/sundials + + -- Andrey Romanenko Fri, 21 Oct 2005 17:20:49 +0100 + +libsundials-serial (2.1.1-1) unstable; urgency=low + + * Initial release + + -- Andrey Romanenko Fri, 21 Oct 2005 17:19:32 +0100 + +Local Variables: +eval: (progn + (make-local-hook 'debian-changelog-add-version-hook) + (add-hook + 'debian-changelog-add-version-hook + (lambda () + (save-excursion + (forward-line -1) + (beginning-of-line) + (insert "\n NOT YET RELEASED!\n\n [ " + (or (getenv "DEBFULLNAME") (user-full-name)) " ]"))) + nil t)) +End: --- sundials-2.5.0.orig/debian/check.sh +++ sundials-2.5.0/debian/check.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +## Simple script for exercising the serial checks of Sundials +## Author: Rafael Laboissiere + +RESULTS=$(tempfile) + +cleanup(){ + rm -f $RESULTS +} +trap "cleanup" 1 2 3 13 15 + +CWD=$(pwd) + +for dir in examples/*/serial ; do + cd $dir + for prog in $(ls .libs | fgrep -v .o | grep -v ^lt- | sed 's:.libs/::') ; do + echo -n "Checking $dir/$prog... " + ./$prog > $RESULTS + if test -e $prog.out ; then + DIFF=$(diff -u $prog.out $RESULTS) + if test -z "$DIFF" ; then + echo pass + else + echo fail + echo "$DIFF" + fi + else + echo pass + fi + done + cd $CWD +done --- sundials-2.5.0.orig/debian/clean +++ sundials-2.5.0/debian/clean @@ -0,0 +1,3 @@ +config.log +src/*/.libs/* +src/*/*/.libs/* --- sundials-2.5.0.orig/debian/compat +++ sundials-2.5.0/debian/compat @@ -0,0 +1 @@ +7 --- sundials-2.5.0.orig/debian/control +++ sundials-2.5.0/debian/control @@ -0,0 +1,125 @@ +Source: sundials +Priority: optional +Section: libs +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian Science Team +Uploaders: Christophe Trophime , + Sylvestre Ledru +Build-Depends: debhelper (>= 7), autotools-dev, cdbs, quilt, gfortran, + libblas-dev | libblas-3gf.so, liblapack-dev | liblapack-3gf.so, + octave-pkg-dev (>= 0.7.0) +Standards-Version: 3.9.3 +Homepage: http://www.llnl.gov/CASC/sundials/ +Vcs-Svn: svn://svn.debian.org/svn/debian-science/packages/sundials/trunk/ +Vcs-Browser: http://svn.debian.org/viewsvn/debian-science/packages/sundials/trunk/ + +Package: libsundials-serial +Architecture: any +Depends: libsundials-cvode1, libsundials-cvodes2, libsundials-ida2, + libsundials-idas0, libsundials-kinsol1, libsundials-nvecserial0, ${misc:Depends} +Conflicts: libsundials-serial0 +Replaces: libsundials-serial0 +Description: SUit of Nonlinear and DIfferential/ALgebraic equation Solvers + The family of solvers referred to as SUNDIALS consists of solvers CVODE + (for ODE systems), CVODES (ODE with sensitivity analysis capabilities), + IDA (for differential-algebraic systems), and KINSOL (for nonlinear + algebraic systems). + . + This package depends on all other packages containing the shared + libraries for the subcomponents of SUNDIALS: CVODE, CVODES, IDA, + KINSOL, and NVECTOR_SERIAL. + +Package: libsundials-cvode1 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: ordinary differentialequation solver (SUNDIALS library) + This package contains the library for ordinary differential equation + (ODE) system solvers from SUNDIALS (SUit of Nonlinear and + DIfferential/ALgebraic equation Solvers). + +Package: libsundials-cvodes2 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: ODE solver with sensistivity analysis (SUNDIALS library) + This package contains the library for ordinary differential equation + (ODE) system solver with sensistivity analysis capabilities from + SUNDIALS (SUit of Nonlinear and DIfferential/ALgebraic equation + Solvers). + +Package: libsundials-ida2 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: differential-algebraic system solver (SUNDIALS library) + This package contains the library for differential-algebraic system + (IDA) solver from SUNDIALS (SUit of Nonlinear and + DIfferential/ALgebraic equation Solvers). + +Package: libsundials-idas0 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: IDA solver with sensitivity capabilities (SUNDIALS library) + This package contains the library for differential-algebraic system + with Sensitivity capabilities (IDAS) solver from SUNDIALS (SUit of + Nonlinear and DIfferential/ALgebraic equation Solvers). + +Package: libsundials-kinsol1 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: KINSOL solver (SUNDIALS library) + This package contain the library for KINSOL (nonlinear algebraic + systems) system solver from SUNDIALS (SUit of Nonlinear and + DIfferential/ALgebraic equation Solvers). + +Package: libsundials-nvecserial0 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: vector operations library (SUNDIALS library) + This package provides implementations for all vector operations + defined by the generic NVECTOR module in the table of operations for + SUNDIALS (SUit of Nonlinear and DIfferential/ALgebraic equation + Solvers). + +Package: libsundials-serial-dev +Section: libdevel +Architecture: any +Depends: libsundials-serial (= ${binary:Version}), ${misc:Depends}, + libblas-dev | libatlas-base-dev | libopenblas-dev, + liblapack-dev | libatlas-base-dev +Description: SUNDIALS development files + The family of solvers referred to as SUNDIALS (SUit of Nonlinear and + DIfferential/ALgebraic equation Solvers) consists of solvers CVODE + (for ODE systems), CVODES (ODE with sensitivity analysis capabilities), + IDA (for differential-algebraic systems), and KINSOL (for nonlinear + algebraic systems). + . + This package contains files necessary for development applications using + SUNDIALS in C and, in case of FCVODE and FKINSOL, Fortran. It also + contains various example programs distributed by the upstream authors. + +#Package: libsundials-serial-doc +#Section: doc +#Architecture: all +#Depends: ${misc:Depends} +#Recommends: libsundials-serial-dev +#Description: SUNDIALS documentation files +# The family of solvers referred to as SUNDIALS (SUit of Nonlinear and +# DIfferential/ALgebraic equation Solvers) consists of solvers CVODE +# (for ODE systems), CVODES (ODE with sensitivity analysis capabilities), +# IDA (for differential-algebraic systems), and KINSOL (for nonlinear +# algebraic systems). +# . +# This package contains SUNDIALS documentation. + +Package: octave-sundials +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, octave +Recommends: libsundials-serial-dev +Description: SUNDIALS for octave + The family of solvers referred to as SUNDIALS (SUit of Nonlinear and + DIfferential/ALgebraic equation Solvers) consists of solvers CVODE + (for ODE systems), CVODES (ODE with sensitivity analysis capabilities), + IDA (for differential-algebraic systems), and KINSOL (for nonlinear + algebraic systems). + . + This package contains SUNDIALS plugins for octave. + --- sundials-2.5.0.orig/debian/copyright +++ sundials-2.5.0/debian/copyright @@ -0,0 +1,71 @@ +This package was debianized by Andrey Romanenko on +Wed, 20 Apr 2005 12:01:42 +0100. + +It was downloaded from http://www.llnl.gov/CASC/sundials/ + +Authors: Peter Brown, Aaron Collier, Keith Grant, Alan Hindmarsh, + Steve Lee, Radu Serban, Dan Shumaker, Carol Woodward + +Copyright Holder: The Regents of the University of California. + +License: + +Copyright (c) 2002, The Regents of the University of California. +Produced at the Lawrence Livermore National Laboratory +Written by A.C. Hindmarsh and R. Serban. +UCRL-CODE-155950 +All rights reserved. + +This file is part of CVODES v2.1.0. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the disclaimer below. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the disclaimer (as noted below) +in the documentation and/or other materials provided with the +distribution. + +3. Neither the name of the UC/LLNL nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +REGENTS OF THE UNIVERSITY OF CALIFORNIA, THE U.S. DEPARTMENT OF ENERGY +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Additional BSD Notice +--------------------- +1. This notice is required to be provided under our contract with +the U.S. Department of Energy (DOE). This work was produced at the +University of California, Lawrence Livermore National Laboratory +under Contract No. W-7405-ENG-48 with the DOE. + +2. Neither the United States Government nor the University of +California nor any of their employees, makes any warranty, express +or implied, or assumes any liability or responsibility for the +accuracy, completeness, or usefulness of any information, apparatus, +product, or process disclosed, or represents that its use would not +infringe privately-owned rights. + +3. Also, reference herein to any specific commercial products, +process, or services by trade name, trademark, manufacturer or +otherwise does not necessarily constitute or imply its endorsement, +recommendation, or favoring by the United States Government or the +University of California. The views and opinions of authors expressed +herein do not necessarily state or reflect those of the United States +Government or the University of California, and shall not be used for +advertising or product endorsement purposes. --- sundials-2.5.0.orig/debian/docs +++ sundials-2.5.0/debian/docs @@ -0,0 +1 @@ +README --- sundials-2.5.0.orig/debian/libsundials-cvode0.install +++ sundials-2.5.0/debian/libsundials-cvode0.install @@ -0,0 +1 @@ +usr/lib/libsundials_cvode.so.* --- sundials-2.5.0.orig/debian/libsundials-cvode1.install +++ sundials-2.5.0/debian/libsundials-cvode1.install @@ -0,0 +1 @@ +usr/lib/libsundials_cvode.so.* --- sundials-2.5.0.orig/debian/libsundials-cvode1.symbols +++ sundials-2.5.0/debian/libsundials-cvode1.symbols @@ -0,0 +1,189 @@ +libsundials_cvode.so.1 libsundials-cvode1 #MINVER# + AddIdentity@Base 2.5.0 + BandCopy@Base 2.5.0 + BandGBTRF@Base 2.5.0 + BandGBTRS@Base 2.5.0 + BandScale@Base 2.5.0 + CVBBDPrecGetNumGfnEvals@Base 2.5.0 + CVBBDPrecGetWorkSpace@Base 2.5.0 + CVBBDPrecInit@Base 2.5.0 + CVBBDPrecReInit@Base 2.5.0 + CVBand@Base 2.5.0 + CVBandPrecGetNumRhsEvals@Base 2.5.0 + CVBandPrecGetWorkSpace@Base 2.5.0 + CVBandPrecInit@Base 2.5.0 + CVDense@Base 2.5.0 + CVDiag@Base 2.5.0 + CVDiagGetLastFlag@Base 2.5.0 + CVDiagGetNumRhsEvals@Base 2.5.0 + CVDiagGetReturnFlagName@Base 2.5.0 + CVDiagGetWorkSpace@Base 2.5.0 + CVDlsGetLastFlag@Base 2.5.0 + CVDlsGetNumJacEvals@Base 2.5.0 + CVDlsGetNumRhsEvals@Base 2.5.0 + CVDlsGetReturnFlagName@Base 2.5.0 + CVDlsGetWorkSpace@Base 2.5.0 + CVDlsSetBandJacFn@Base 2.5.0 + CVDlsSetDenseJacFn@Base 2.5.0 + CVErrHandler@Base 2.5.0 + CVEwtSet@Base 2.5.0 + CVLapackBand@Base 2.5.0 + CVLapackDense@Base 2.5.0 + CVProcessError@Base 2.5.0 + CVSpbcg@Base 2.5.0 + CVSpgmr@Base 2.5.0 + CVSpilsAtimes@Base 2.5.0 + CVSpilsDQJtimes@Base 2.5.0 + CVSpilsGetLastFlag@Base 2.5.0 + CVSpilsGetNumConvFails@Base 2.5.0 + CVSpilsGetNumJtimesEvals@Base 2.5.0 + CVSpilsGetNumLinIters@Base 2.5.0 + CVSpilsGetNumPrecEvals@Base 2.5.0 + CVSpilsGetNumPrecSolves@Base 2.5.0 + CVSpilsGetNumRhsEvals@Base 2.5.0 + CVSpilsGetReturnFlagName@Base 2.5.0 + CVSpilsGetWorkSpace@Base 2.5.0 + CVSpilsPSolve@Base 2.5.0 + CVSpilsSetEpsLin@Base 2.5.0 + CVSpilsSetGSType@Base 2.5.0 + CVSpilsSetJacTimesVecFn@Base 2.5.0 + CVSpilsSetMaxl@Base 2.5.0 + CVSpilsSetPrecType@Base 2.5.0 + CVSpilsSetPreconditioner@Base 2.5.0 + CVSptfqmr@Base 2.5.0 + CVode@Base 2.5.0 + CVodeCreate@Base 2.5.0 + CVodeFree@Base 2.5.0 + CVodeGetActualInitStep@Base 2.5.0 + CVodeGetCurrentOrder@Base 2.5.0 + CVodeGetCurrentStep@Base 2.5.0 + CVodeGetCurrentTime@Base 2.5.0 + CVodeGetDky@Base 2.5.0 + CVodeGetErrWeights@Base 2.5.0 + CVodeGetEstLocalErrors@Base 2.5.0 + CVodeGetIntegratorStats@Base 2.5.0 + CVodeGetLastOrder@Base 2.5.0 + CVodeGetLastStep@Base 2.5.0 + CVodeGetNonlinSolvStats@Base 2.5.0 + CVodeGetNumErrTestFails@Base 2.5.0 + CVodeGetNumGEvals@Base 2.5.0 + CVodeGetNumLinSolvSetups@Base 2.5.0 + CVodeGetNumNonlinSolvConvFails@Base 2.5.0 + CVodeGetNumNonlinSolvIters@Base 2.5.0 + CVodeGetNumRhsEvals@Base 2.5.0 + CVodeGetNumStabLimOrderReds@Base 2.5.0 + CVodeGetNumSteps@Base 2.5.0 + CVodeGetReturnFlagName@Base 2.5.0 + CVodeGetRootInfo@Base 2.5.0 + CVodeGetTolScaleFactor@Base 2.5.0 + CVodeGetWorkSpace@Base 2.5.0 + CVodeInit@Base 2.5.0 + CVodeReInit@Base 2.5.0 + CVodeRootInit@Base 2.5.0 + CVodeSStolerances@Base 2.5.0 + CVodeSVtolerances@Base 2.5.0 + CVodeSetErrFile@Base 2.5.0 + CVodeSetErrHandlerFn@Base 2.5.0 + CVodeSetInitStep@Base 2.5.0 + CVodeSetIterType@Base 2.5.0 + CVodeSetMaxConvFails@Base 2.5.0 + CVodeSetMaxErrTestFails@Base 2.5.0 + CVodeSetMaxHnilWarns@Base 2.5.0 + CVodeSetMaxNonlinIters@Base 2.5.0 + CVodeSetMaxNumSteps@Base 2.5.0 + CVodeSetMaxOrd@Base 2.5.0 + CVodeSetMaxStep@Base 2.5.0 + CVodeSetMinStep@Base 2.5.0 + CVodeSetNoInactiveRootWarn@Base 2.5.0 + CVodeSetNonlinConvCoef@Base 2.5.0 + CVodeSetRootDirection@Base 2.5.0 + CVodeSetStabLimDet@Base 2.5.0 + CVodeSetStopTime@Base 2.5.0 + CVodeSetUserData@Base 2.5.0 + CVodeWFtolerances@Base 2.5.0 + ClassicalGS@Base 2.5.0 + DenseCopy@Base 2.5.0 + DenseGEQRF@Base 2.5.0 + DenseGETRF@Base 2.5.0 + DenseGETRS@Base 2.5.0 + DenseORMQR@Base 2.5.0 + DensePOTRF@Base 2.5.0 + DensePOTRS@Base 2.5.0 + DenseScale@Base 2.5.0 + DestroyArray@Base 2.5.0 + DestroyMat@Base 2.5.0 + ModifiedGS@Base 2.5.0 + N_VAbs@Base 2.5.0 + N_VAddConst@Base 2.5.0 + N_VClone@Base 2.5.0 + N_VCloneEmpty@Base 2.5.0 + N_VCloneEmptyVectorArray@Base 2.5.0 + N_VCloneVectorArray@Base 2.5.0 + N_VCompare@Base 2.5.0 + N_VConst@Base 2.5.0 + N_VConstrMask@Base 2.5.0 + N_VDestroy@Base 2.5.0 + N_VDestroyVectorArray@Base 2.5.0 + N_VDiv@Base 2.5.0 + N_VDotProd@Base 2.5.0 + N_VGetArrayPointer@Base 2.5.0 + N_VInv@Base 2.5.0 + N_VInvTest@Base 2.5.0 + N_VL1Norm@Base 2.5.0 + N_VLinearSum@Base 2.5.0 + N_VMaxNorm@Base 2.5.0 + N_VMin@Base 2.5.0 + N_VMinQuotient@Base 2.5.0 + N_VProd@Base 2.5.0 + N_VScale@Base 2.5.0 + N_VSetArrayPointer@Base 2.5.0 + N_VSpace@Base 2.5.0 + N_VWL2Norm@Base 2.5.0 + N_VWrmsNorm@Base 2.5.0 + N_VWrmsNormMask@Base 2.5.0 + NewBandMat@Base 2.5.0 + NewDenseMat@Base 2.5.0 + NewIntArray@Base 2.5.0 + NewLintArray@Base 2.5.0 + NewRealArray@Base 2.5.0 + PrintMat@Base 2.5.0 + QRfact@Base 2.5.0 + QRsol@Base 2.5.0 + RAbs@Base 2.5.0 + RExp@Base 2.5.0 + RPowerI@Base 2.5.0 + RPowerR@Base 2.5.0 + RSqrt@Base 2.5.0 + SetToZero@Base 2.5.0 + SpbcgFree@Base 2.5.0 + SpbcgMalloc@Base 2.5.0 + SpbcgSolve@Base 2.5.0 + SpgmrFree@Base 2.5.0 + SpgmrMalloc@Base 2.5.0 + SpgmrSolve@Base 2.5.0 + SptfqmrFree@Base 2.5.0 + SptfqmrMalloc@Base 2.5.0 + SptfqmrSolve@Base 2.5.0 + bandAddIdentity@Base 2.5.0 + bandCopy@Base 2.5.0 + bandGBTRF@Base 2.5.0 + bandGBTRS@Base 2.5.0 + bandScale@Base 2.5.0 + cvDlsBandDQJac@Base 2.5.0 + cvDlsDenseDQJac@Base 2.5.0 + denseAddIdentity@Base 2.5.0 + denseCopy@Base 2.5.0 + denseGEQRF@Base 2.5.0 + denseGETRF@Base 2.5.0 + denseGETRS@Base 2.5.0 + denseORMQR@Base 2.5.0 + densePOTRF@Base 2.5.0 + densePOTRS@Base 2.5.0 + denseScale@Base 2.5.0 + destroyArray@Base 2.5.0 + destroyMat@Base 2.5.0 + newBandMat@Base 2.5.0 + newDenseMat@Base 2.5.0 + newIntArray@Base 2.5.0 + newLintArray@Base 2.5.0 + newRealArray@Base 2.5.0 --- sundials-2.5.0.orig/debian/libsundials-cvodes1.install +++ sundials-2.5.0/debian/libsundials-cvodes1.install @@ -0,0 +1 @@ +usr/lib/libsundials_cvodes.so.* --- sundials-2.5.0.orig/debian/libsundials-cvodes2.install +++ sundials-2.5.0/debian/libsundials-cvodes2.install @@ -0,0 +1 @@ +usr/lib/libsundials_cvodes.so.* --- sundials-2.5.0.orig/debian/libsundials-cvodes2.symbols +++ sundials-2.5.0/debian/libsundials-cvodes2.symbols @@ -0,0 +1,300 @@ +libsundials_cvodes.so.2 libsundials-cvodes2 #MINVER# + AddIdentity@Base 2.5.0 + BandCopy@Base 2.5.0 + BandGBTRF@Base 2.5.0 + BandGBTRS@Base 2.5.0 + BandScale@Base 2.5.0 + CVBBDPrecGetNumGfnEvals@Base 2.5.0 + CVBBDPrecGetWorkSpace@Base 2.5.0 + CVBBDPrecInit@Base 2.5.0 + CVBBDPrecInitB@Base 2.5.0 + CVBBDPrecReInit@Base 2.5.0 + CVBBDPrecReInitB@Base 2.5.0 + CVBand@Base 2.5.0 + CVBandB@Base 2.5.0 + CVBandPrecGetNumRhsEvals@Base 2.5.0 + CVBandPrecGetWorkSpace@Base 2.5.0 + CVBandPrecInit@Base 2.5.0 + CVBandPrecInitB@Base 2.5.0 + CVDense@Base 2.5.0 + CVDenseB@Base 2.5.0 + CVDiag@Base 2.5.0 + CVDiagB@Base 2.5.0 + CVDiagGetLastFlag@Base 2.5.0 + CVDiagGetNumRhsEvals@Base 2.5.0 + CVDiagGetReturnFlagName@Base 2.5.0 + CVDiagGetWorkSpace@Base 2.5.0 + CVDlsGetLastFlag@Base 2.5.0 + CVDlsGetNumJacEvals@Base 2.5.0 + CVDlsGetNumRhsEvals@Base 2.5.0 + CVDlsGetReturnFlagName@Base 2.5.0 + CVDlsGetWorkSpace@Base 2.5.0 + CVDlsSetBandJacFn@Base 2.5.0 + CVDlsSetBandJacFnB@Base 2.5.0 + CVDlsSetDenseJacFn@Base 2.5.0 + CVDlsSetDenseJacFnB@Base 2.5.0 + CVLapackBand@Base 2.5.0 + CVLapackBandB@Base 2.5.0 + CVLapackDense@Base 2.5.0 + CVLapackDenseB@Base 2.5.0 + CVSpbcg@Base 2.5.0 + CVSpbcgB@Base 2.5.0 + CVSpgmr@Base 2.5.0 + CVSpgmrB@Base 2.5.0 + CVSpilsAtimes@Base 2.5.0 + CVSpilsDQJtimes@Base 2.5.0 + CVSpilsGetLastFlag@Base 2.5.0 + CVSpilsGetNumConvFails@Base 2.5.0 + CVSpilsGetNumJtimesEvals@Base 2.5.0 + CVSpilsGetNumLinIters@Base 2.5.0 + CVSpilsGetNumPrecEvals@Base 2.5.0 + CVSpilsGetNumPrecSolves@Base 2.5.0 + CVSpilsGetNumRhsEvals@Base 2.5.0 + CVSpilsGetReturnFlagName@Base 2.5.0 + CVSpilsGetWorkSpace@Base 2.5.0 + CVSpilsPSolve@Base 2.5.0 + CVSpilsSetEpsLin@Base 2.5.0 + CVSpilsSetEpsLinB@Base 2.5.0 + CVSpilsSetGSType@Base 2.5.0 + CVSpilsSetGSTypeB@Base 2.5.0 + CVSpilsSetJacTimesVecFn@Base 2.5.0 + CVSpilsSetJacTimesVecFnB@Base 2.5.0 + CVSpilsSetMaxl@Base 2.5.0 + CVSpilsSetMaxlB@Base 2.5.0 + CVSpilsSetPrecType@Base 2.5.0 + CVSpilsSetPrecTypeB@Base 2.5.0 + CVSpilsSetPreconditioner@Base 2.5.0 + CVSpilsSetPreconditionerB@Base 2.5.0 + CVSptfqmr@Base 2.5.0 + CVSptfqmrB@Base 2.5.0 + CVode@Base 2.5.0 + CVodeAdjFree@Base 2.5.0 + CVodeAdjInit@Base 2.5.0 + CVodeAdjReInit@Base 2.5.0 + CVodeB@Base 2.5.0 + CVodeCreate@Base 2.5.0 + CVodeCreateB@Base 2.5.0 + CVodeF@Base 2.5.0 + CVodeFree@Base 2.5.0 + CVodeGetActualInitStep@Base 2.5.0 + CVodeGetAdjCVodeBmem@Base 2.5.0 + CVodeGetAdjCheckPointsInfo@Base 2.5.0 + CVodeGetAdjCurrentCheckPoint@Base 2.5.0 + CVodeGetAdjDataPointHermite@Base 2.5.0 + CVodeGetAdjDataPointPolynomial@Base 2.5.0 + CVodeGetAdjY@Base 2.5.0 + CVodeGetB@Base 2.5.0 + CVodeGetCurrentOrder@Base 2.5.0 + CVodeGetCurrentStep@Base 2.5.0 + CVodeGetCurrentTime@Base 2.5.0 + CVodeGetDky@Base 2.5.0 + CVodeGetErrWeights@Base 2.5.0 + CVodeGetEstLocalErrors@Base 2.5.0 + CVodeGetIntegratorStats@Base 2.5.0 + CVodeGetLastOrder@Base 2.5.0 + CVodeGetLastStep@Base 2.5.0 + CVodeGetNonlinSolvStats@Base 2.5.0 + CVodeGetNumErrTestFails@Base 2.5.0 + CVodeGetNumGEvals@Base 2.5.0 + CVodeGetNumLinSolvSetups@Base 2.5.0 + CVodeGetNumNonlinSolvConvFails@Base 2.5.0 + CVodeGetNumNonlinSolvIters@Base 2.5.0 + CVodeGetNumRhsEvals@Base 2.5.0 + CVodeGetNumRhsEvalsSens@Base 2.5.0 + CVodeGetNumStabLimOrderReds@Base 2.5.0 + CVodeGetNumSteps@Base 2.5.0 + CVodeGetQuad@Base 2.5.0 + CVodeGetQuadB@Base 2.5.0 + CVodeGetQuadDky@Base 2.5.0 + CVodeGetQuadErrWeights@Base 2.5.0 + CVodeGetQuadNumErrTestFails@Base 2.5.0 + CVodeGetQuadNumRhsEvals@Base 2.5.0 + CVodeGetQuadSens1@Base 2.5.0 + CVodeGetQuadSens@Base 2.5.0 + CVodeGetQuadSensDky1@Base 2.5.0 + CVodeGetQuadSensDky@Base 2.5.0 + CVodeGetQuadSensErrWeights@Base 2.5.0 + CVodeGetQuadSensNumErrTestFails@Base 2.5.0 + CVodeGetQuadSensNumRhsEvals@Base 2.5.0 + CVodeGetQuadSensStats@Base 2.5.0 + CVodeGetQuadStats@Base 2.5.0 + CVodeGetReturnFlagName@Base 2.5.0 + CVodeGetRootInfo@Base 2.5.0 + CVodeGetSens1@Base 2.5.0 + CVodeGetSens@Base 2.5.0 + CVodeGetSensDky1@Base 2.5.0 + CVodeGetSensDky@Base 2.5.0 + CVodeGetSensErrWeights@Base 2.5.0 + CVodeGetSensNonlinSolvStats@Base 2.5.0 + CVodeGetSensNumErrTestFails@Base 2.5.0 + CVodeGetSensNumLinSolvSetups@Base 2.5.0 + CVodeGetSensNumNonlinSolvConvFails@Base 2.5.0 + CVodeGetSensNumNonlinSolvIters@Base 2.5.0 + CVodeGetSensNumRhsEvals@Base 2.5.0 + CVodeGetSensStats@Base 2.5.0 + CVodeGetStgrSensNumNonlinSolvConvFails@Base 2.5.0 + CVodeGetStgrSensNumNonlinSolvIters@Base 2.5.0 + CVodeGetTolScaleFactor@Base 2.5.0 + CVodeGetWorkSpace@Base 2.5.0 + CVodeInit@Base 2.5.0 + CVodeInitB@Base 2.5.0 + CVodeInitBS@Base 2.5.0 + CVodeQuadFree@Base 2.5.0 + CVodeQuadInit@Base 2.5.0 + CVodeQuadInitB@Base 2.5.0 + CVodeQuadInitBS@Base 2.5.0 + CVodeQuadReInit@Base 2.5.0 + CVodeQuadReInitB@Base 2.5.0 + CVodeQuadSStolerances@Base 2.5.0 + CVodeQuadSStolerancesB@Base 2.5.0 + CVodeQuadSVtolerances@Base 2.5.0 + CVodeQuadSVtolerancesB@Base 2.5.0 + CVodeQuadSensEEtolerances@Base 2.5.0 + CVodeQuadSensFree@Base 2.5.0 + CVodeQuadSensInit@Base 2.5.0 + CVodeQuadSensReInit@Base 2.5.0 + CVodeQuadSensSStolerances@Base 2.5.0 + CVodeQuadSensSVtolerances@Base 2.5.0 + CVodeReInit@Base 2.5.0 + CVodeReInitB@Base 2.5.0 + CVodeRootInit@Base 2.5.0 + CVodeSStolerances@Base 2.5.0 + CVodeSStolerancesB@Base 2.5.0 + CVodeSVtolerances@Base 2.5.0 + CVodeSVtolerancesB@Base 2.5.0 + CVodeSensEEtolerances@Base 2.5.0 + CVodeSensFree@Base 2.5.0 + CVodeSensInit1@Base 2.5.0 + CVodeSensInit@Base 2.5.0 + CVodeSensReInit@Base 2.5.0 + CVodeSensSStolerances@Base 2.5.0 + CVodeSensSVtolerances@Base 2.5.0 + CVodeSensToggleOff@Base 2.5.0 + CVodeSetAdjNoSensi@Base 2.5.0 + CVodeSetErrFile@Base 2.5.0 + CVodeSetErrHandlerFn@Base 2.5.0 + CVodeSetInitStep@Base 2.5.0 + CVodeSetInitStepB@Base 2.5.0 + CVodeSetIterType@Base 2.5.0 + CVodeSetIterTypeB@Base 2.5.0 + CVodeSetMaxConvFails@Base 2.5.0 + CVodeSetMaxErrTestFails@Base 2.5.0 + CVodeSetMaxHnilWarns@Base 2.5.0 + CVodeSetMaxNonlinIters@Base 2.5.0 + CVodeSetMaxNumSteps@Base 2.5.0 + CVodeSetMaxNumStepsB@Base 2.5.0 + CVodeSetMaxOrd@Base 2.5.0 + CVodeSetMaxOrdB@Base 2.5.0 + CVodeSetMaxStep@Base 2.5.0 + CVodeSetMaxStepB@Base 2.5.0 + CVodeSetMinStep@Base 2.5.0 + CVodeSetMinStepB@Base 2.5.0 + CVodeSetNoInactiveRootWarn@Base 2.5.0 + CVodeSetNonlinConvCoef@Base 2.5.0 + CVodeSetQuadErrCon@Base 2.5.0 + CVodeSetQuadErrConB@Base 2.5.0 + CVodeSetQuadSensErrCon@Base 2.5.0 + CVodeSetRootDirection@Base 2.5.0 + CVodeSetSensDQMethod@Base 2.5.0 + CVodeSetSensErrCon@Base 2.5.0 + CVodeSetSensMaxNonlinIters@Base 2.5.0 + CVodeSetSensParams@Base 2.5.0 + CVodeSetStabLimDet@Base 2.5.0 + CVodeSetStabLimDetB@Base 2.5.0 + CVodeSetStopTime@Base 2.5.0 + CVodeSetUserData@Base 2.5.0 + CVodeSetUserDataB@Base 2.5.0 + CVodeWFtolerances@Base 2.5.0 + ClassicalGS@Base 2.5.0 + DenseCopy@Base 2.5.0 + DenseGEQRF@Base 2.5.0 + DenseGETRF@Base 2.5.0 + DenseGETRS@Base 2.5.0 + DenseORMQR@Base 2.5.0 + DensePOTRF@Base 2.5.0 + DensePOTRS@Base 2.5.0 + DenseScale@Base 2.5.0 + DestroyArray@Base 2.5.0 + DestroyMat@Base 2.5.0 + ModifiedGS@Base 2.5.0 + N_VAbs@Base 2.5.0 + N_VAddConst@Base 2.5.0 + N_VClone@Base 2.5.0 + N_VCloneEmpty@Base 2.5.0 + N_VCloneEmptyVectorArray@Base 2.5.0 + N_VCloneVectorArray@Base 2.5.0 + N_VCompare@Base 2.5.0 + N_VConst@Base 2.5.0 + N_VConstrMask@Base 2.5.0 + N_VDestroy@Base 2.5.0 + N_VDestroyVectorArray@Base 2.5.0 + N_VDiv@Base 2.5.0 + N_VDotProd@Base 2.5.0 + N_VGetArrayPointer@Base 2.5.0 + N_VInv@Base 2.5.0 + N_VInvTest@Base 2.5.0 + N_VL1Norm@Base 2.5.0 + N_VLinearSum@Base 2.5.0 + N_VMaxNorm@Base 2.5.0 + N_VMin@Base 2.5.0 + N_VMinQuotient@Base 2.5.0 + N_VProd@Base 2.5.0 + N_VScale@Base 2.5.0 + N_VSetArrayPointer@Base 2.5.0 + N_VSpace@Base 2.5.0 + N_VWL2Norm@Base 2.5.0 + N_VWrmsNorm@Base 2.5.0 + N_VWrmsNormMask@Base 2.5.0 + NewBandMat@Base 2.5.0 + NewDenseMat@Base 2.5.0 + NewIntArray@Base 2.5.0 + NewLintArray@Base 2.5.0 + NewRealArray@Base 2.5.0 + PrintMat@Base 2.5.0 + QRfact@Base 2.5.0 + QRsol@Base 2.5.0 + RAbs@Base 2.5.0 + RExp@Base 2.5.0 + RPowerI@Base 2.5.0 + RPowerR@Base 2.5.0 + RSqrt@Base 2.5.0 + SetToZero@Base 2.5.0 + SpbcgFree@Base 2.5.0 + SpbcgMalloc@Base 2.5.0 + SpbcgSolve@Base 2.5.0 + SpgmrFree@Base 2.5.0 + SpgmrMalloc@Base 2.5.0 + SpgmrSolve@Base 2.5.0 + SptfqmrFree@Base 2.5.0 + SptfqmrMalloc@Base 2.5.0 + SptfqmrSolve@Base 2.5.0 + bandAddIdentity@Base 2.5.0 + bandCopy@Base 2.5.0 + bandGBTRF@Base 2.5.0 + bandGBTRS@Base 2.5.0 + bandScale@Base 2.5.0 + cvDlsBandDQJac@Base 2.5.0 + cvDlsDenseDQJac@Base 2.5.0 + cvErrHandler@Base 2.5.0 + cvEwtSet@Base 2.5.0 + cvProcessError@Base 2.5.0 + cvSensRhs1InternalDQ@Base 2.5.0 + cvSensRhs1Wrapper@Base 2.5.0 + cvSensRhsInternalDQ@Base 2.5.0 + cvSensRhsWrapper@Base 2.5.0 + denseAddIdentity@Base 2.5.0 + denseCopy@Base 2.5.0 + denseGEQRF@Base 2.5.0 + denseGETRF@Base 2.5.0 + denseGETRS@Base 2.5.0 + denseORMQR@Base 2.5.0 + densePOTRF@Base 2.5.0 + densePOTRS@Base 2.5.0 + denseScale@Base 2.5.0 + destroyArray@Base 2.5.0 + destroyMat@Base 2.5.0 + newBandMat@Base 2.5.0 + newDenseMat@Base 2.5.0 + newIntArray@Base 2.5.0 + newLintArray@Base 2.5.0 + newRealArray@Base 2.5.0 --- sundials-2.5.0.orig/debian/libsundials-ida1.install +++ sundials-2.5.0/debian/libsundials-ida1.install @@ -0,0 +1 @@ +usr/lib/libsundials_ida.so.* --- sundials-2.5.0.orig/debian/libsundials-ida2.install +++ sundials-2.5.0/debian/libsundials-ida2.install @@ -0,0 +1 @@ +usr/lib/libsundials_ida.so.* --- sundials-2.5.0.orig/debian/libsundials-ida2.symbols +++ sundials-2.5.0/debian/libsundials-ida2.symbols @@ -0,0 +1,192 @@ +libsundials_ida.so.2 libsundials-ida2 #MINVER# + AddIdentity@Base 2.5.0 + BandCopy@Base 2.5.0 + BandGBTRF@Base 2.5.0 + BandGBTRS@Base 2.5.0 + BandScale@Base 2.5.0 + ClassicalGS@Base 2.5.0 + DenseCopy@Base 2.5.0 + DenseGEQRF@Base 2.5.0 + DenseGETRF@Base 2.5.0 + DenseGETRS@Base 2.5.0 + DenseORMQR@Base 2.5.0 + DensePOTRF@Base 2.5.0 + DensePOTRS@Base 2.5.0 + DenseScale@Base 2.5.0 + DestroyArray@Base 2.5.0 + DestroyMat@Base 2.5.0 + IDABBDPrecGetNumGfnEvals@Base 2.5.0 + IDABBDPrecGetWorkSpace@Base 2.5.0 + IDABBDPrecInit@Base 2.5.0 + IDABBDPrecReInit@Base 2.5.0 + IDABand@Base 2.5.0 + IDACalcIC@Base 2.5.0 + IDACreate@Base 2.5.0 + IDADense@Base 2.5.0 + IDADlsGetLastFlag@Base 2.5.0 + IDADlsGetNumJacEvals@Base 2.5.0 + IDADlsGetNumResEvals@Base 2.5.0 + IDADlsGetReturnFlagName@Base 2.5.0 + IDADlsGetWorkSpace@Base 2.5.0 + IDADlsSetBandJacFn@Base 2.5.0 + IDADlsSetDenseJacFn@Base 2.5.0 + IDAErrHandler@Base 2.5.0 + IDAEwtSet@Base 2.5.0 + IDAFree@Base 2.5.0 + IDAGetActualInitStep@Base 2.5.0 + IDAGetConsistentIC@Base 2.5.0 + IDAGetCurrentOrder@Base 2.5.0 + IDAGetCurrentStep@Base 2.5.0 + IDAGetCurrentTime@Base 2.5.0 + IDAGetDky@Base 2.5.0 + IDAGetErrWeights@Base 2.5.0 + IDAGetEstLocalErrors@Base 2.5.0 + IDAGetIntegratorStats@Base 2.5.0 + IDAGetLastOrder@Base 2.5.0 + IDAGetLastStep@Base 2.5.0 + IDAGetNonlinSolvStats@Base 2.5.0 + IDAGetNumBacktrackOps@Base 2.5.0 + IDAGetNumErrTestFails@Base 2.5.0 + IDAGetNumGEvals@Base 2.5.0 + IDAGetNumLinSolvSetups@Base 2.5.0 + IDAGetNumNonlinSolvConvFails@Base 2.5.0 + IDAGetNumNonlinSolvIters@Base 2.5.0 + IDAGetNumResEvals@Base 2.5.0 + IDAGetNumSteps@Base 2.5.0 + IDAGetReturnFlagName@Base 2.5.0 + IDAGetRootInfo@Base 2.5.0 + IDAGetSolution@Base 2.5.0 + IDAGetTolScaleFactor@Base 2.5.0 + IDAGetWorkSpace@Base 2.5.0 + IDAInit@Base 2.5.0 + IDAInitialSetup@Base 2.5.0 + IDALapackBand@Base 2.5.0 + IDALapackDense@Base 2.5.0 + IDAProcessError@Base 2.5.0 + IDAReInit@Base 2.5.0 + IDARootInit@Base 2.5.0 + IDASStolerances@Base 2.5.0 + IDASVtolerances@Base 2.5.0 + IDASetConstraints@Base 2.5.0 + IDASetErrFile@Base 2.5.0 + IDASetErrHandlerFn@Base 2.5.0 + IDASetId@Base 2.5.0 + IDASetInitStep@Base 2.5.0 + IDASetLineSearchOffIC@Base 2.5.0 + IDASetMaxConvFails@Base 2.5.0 + IDASetMaxErrTestFails@Base 2.5.0 + IDASetMaxNonlinIters@Base 2.5.0 + IDASetMaxNumItersIC@Base 2.5.0 + IDASetMaxNumJacsIC@Base 2.5.0 + IDASetMaxNumSteps@Base 2.5.0 + IDASetMaxNumStepsIC@Base 2.5.0 + IDASetMaxOrd@Base 2.5.0 + IDASetMaxStep@Base 2.5.0 + IDASetNoInactiveRootWarn@Base 2.5.0 + IDASetNonlinConvCoef@Base 2.5.0 + IDASetNonlinConvCoefIC@Base 2.5.0 + IDASetRootDirection@Base 2.5.0 + IDASetStepToleranceIC@Base 2.5.0 + IDASetStopTime@Base 2.5.0 + IDASetSuppressAlg@Base 2.5.0 + IDASetUserData@Base 2.5.0 + IDASolve@Base 2.5.0 + IDASpbcg@Base 2.5.0 + IDASpgmr@Base 2.5.0 + IDASpilsAtimes@Base 2.5.0 + IDASpilsDQJtimes@Base 2.5.0 + IDASpilsGetLastFlag@Base 2.5.0 + IDASpilsGetNumConvFails@Base 2.5.0 + IDASpilsGetNumJtimesEvals@Base 2.5.0 + IDASpilsGetNumLinIters@Base 2.5.0 + IDASpilsGetNumPrecEvals@Base 2.5.0 + IDASpilsGetNumPrecSolves@Base 2.5.0 + IDASpilsGetNumResEvals@Base 2.5.0 + IDASpilsGetReturnFlagName@Base 2.5.0 + IDASpilsGetWorkSpace@Base 2.5.0 + IDASpilsPSolve@Base 2.5.0 + IDASpilsSetEpsLin@Base 2.5.0 + IDASpilsSetGSType@Base 2.5.0 + IDASpilsSetIncrementFactor@Base 2.5.0 + IDASpilsSetJacTimesVecFn@Base 2.5.0 + IDASpilsSetMaxRestarts@Base 2.5.0 + IDASpilsSetMaxl@Base 2.5.0 + IDASpilsSetPreconditioner@Base 2.5.0 + IDASptfqmr@Base 2.5.0 + IDAWFtolerances@Base 2.5.0 + IDAWrmsNorm@Base 2.5.0 + ModifiedGS@Base 2.5.0 + N_VAbs@Base 2.5.0 + N_VAddConst@Base 2.5.0 + N_VClone@Base 2.5.0 + N_VCloneEmpty@Base 2.5.0 + N_VCloneEmptyVectorArray@Base 2.5.0 + N_VCloneVectorArray@Base 2.5.0 + N_VCompare@Base 2.5.0 + N_VConst@Base 2.5.0 + N_VConstrMask@Base 2.5.0 + N_VDestroy@Base 2.5.0 + N_VDestroyVectorArray@Base 2.5.0 + N_VDiv@Base 2.5.0 + N_VDotProd@Base 2.5.0 + N_VGetArrayPointer@Base 2.5.0 + N_VInv@Base 2.5.0 + N_VInvTest@Base 2.5.0 + N_VL1Norm@Base 2.5.0 + N_VLinearSum@Base 2.5.0 + N_VMaxNorm@Base 2.5.0 + N_VMin@Base 2.5.0 + N_VMinQuotient@Base 2.5.0 + N_VProd@Base 2.5.0 + N_VScale@Base 2.5.0 + N_VSetArrayPointer@Base 2.5.0 + N_VSpace@Base 2.5.0 + N_VWL2Norm@Base 2.5.0 + N_VWrmsNorm@Base 2.5.0 + N_VWrmsNormMask@Base 2.5.0 + NewBandMat@Base 2.5.0 + NewDenseMat@Base 2.5.0 + NewIntArray@Base 2.5.0 + NewLintArray@Base 2.5.0 + NewRealArray@Base 2.5.0 + PrintMat@Base 2.5.0 + QRfact@Base 2.5.0 + QRsol@Base 2.5.0 + RAbs@Base 2.5.0 + RExp@Base 2.5.0 + RPowerI@Base 2.5.0 + RPowerR@Base 2.5.0 + RSqrt@Base 2.5.0 + SetToZero@Base 2.5.0 + SpbcgFree@Base 2.5.0 + SpbcgMalloc@Base 2.5.0 + SpbcgSolve@Base 2.5.0 + SpgmrFree@Base 2.5.0 + SpgmrMalloc@Base 2.5.0 + SpgmrSolve@Base 2.5.0 + SptfqmrFree@Base 2.5.0 + SptfqmrMalloc@Base 2.5.0 + SptfqmrSolve@Base 2.5.0 + bandAddIdentity@Base 2.5.0 + bandCopy@Base 2.5.0 + bandGBTRF@Base 2.5.0 + bandGBTRS@Base 2.5.0 + bandScale@Base 2.5.0 + denseAddIdentity@Base 2.5.0 + denseCopy@Base 2.5.0 + denseGEQRF@Base 2.5.0 + denseGETRF@Base 2.5.0 + denseGETRS@Base 2.5.0 + denseORMQR@Base 2.5.0 + densePOTRF@Base 2.5.0 + densePOTRS@Base 2.5.0 + denseScale@Base 2.5.0 + destroyArray@Base 2.5.0 + destroyMat@Base 2.5.0 + idaDlsBandDQJac@Base 2.5.0 + idaDlsDenseDQJac@Base 2.5.0 + newBandMat@Base 2.5.0 + newDenseMat@Base 2.5.0 + newIntArray@Base 2.5.0 + newLintArray@Base 2.5.0 + newRealArray@Base 2.5.0 --- sundials-2.5.0.orig/debian/libsundials-idas0.install +++ sundials-2.5.0/debian/libsundials-idas0.install @@ -0,0 +1 @@ +usr/lib/libsundials_idas.so.* --- sundials-2.5.0.orig/debian/libsundials-idas0.symbols +++ sundials-2.5.0/debian/libsundials-idas0.symbols @@ -0,0 +1,302 @@ +libsundials_idas.so.0 libsundials-idas0 #MINVER# + AddIdentity@Base 2.5.0 + BandCopy@Base 2.5.0 + BandGBTRF@Base 2.5.0 + BandGBTRS@Base 2.5.0 + BandScale@Base 2.5.0 + ClassicalGS@Base 2.5.0 + DenseCopy@Base 2.5.0 + DenseGEQRF@Base 2.5.0 + DenseGETRF@Base 2.5.0 + DenseGETRS@Base 2.5.0 + DenseORMQR@Base 2.5.0 + DensePOTRF@Base 2.5.0 + DensePOTRS@Base 2.5.0 + DenseScale@Base 2.5.0 + DestroyArray@Base 2.5.0 + DestroyMat@Base 2.5.0 + IDAAdjFree@Base 2.5.0 + IDAAdjInit@Base 2.5.0 + IDAAdjReInit@Base 2.5.0 + IDAAdjSetNoSensi@Base 2.5.0 + IDABBDPrecGetNumGfnEvals@Base 2.5.0 + IDABBDPrecGetWorkSpace@Base 2.5.0 + IDABBDPrecInit@Base 2.5.0 + IDABBDPrecInitB@Base 2.5.0 + IDABBDPrecReInit@Base 2.5.0 + IDABBDPrecReInitB@Base 2.5.0 + IDABand@Base 2.5.0 + IDABandB@Base 2.5.0 + IDACalcIC@Base 2.5.0 + IDACalcICB@Base 2.5.0 + IDACalcICBS@Base 2.5.0 + IDACreate@Base 2.5.0 + IDACreateB@Base 2.5.0 + IDADense@Base 2.5.0 + IDADenseB@Base 2.5.0 + IDADlsGetLastFlag@Base 2.5.0 + IDADlsGetNumJacEvals@Base 2.5.0 + IDADlsGetNumResEvals@Base 2.5.0 + IDADlsGetReturnFlagName@Base 2.5.0 + IDADlsGetWorkSpace@Base 2.5.0 + IDADlsSetBandJacFn@Base 2.5.0 + IDADlsSetBandJacFnB@Base 2.5.0 + IDADlsSetDenseJacFn@Base 2.5.0 + IDADlsSetDenseJacFnB@Base 2.5.0 + IDAErrHandler@Base 2.5.0 + IDAEwtSet@Base 2.5.0 + IDAFree@Base 2.5.0 + IDAGetActualInitStep@Base 2.5.0 + IDAGetAdjCheckPointsInfo@Base 2.5.0 + IDAGetAdjCurrentCheckPoint@Base 2.5.0 + IDAGetAdjDataPointHermite@Base 2.5.0 + IDAGetAdjDataPointPolynomial@Base 2.5.0 + IDAGetAdjIDABmem@Base 2.5.0 + IDAGetAdjY@Base 2.5.0 + IDAGetB@Base 2.5.0 + IDAGetConsistentIC@Base 2.5.0 + IDAGetConsistentICB@Base 2.5.0 + IDAGetCurrentOrder@Base 2.5.0 + IDAGetCurrentStep@Base 2.5.0 + IDAGetCurrentTime@Base 2.5.0 + IDAGetDky@Base 2.5.0 + IDAGetErrWeights@Base 2.5.0 + IDAGetEstLocalErrors@Base 2.5.0 + IDAGetIntegratorStats@Base 2.5.0 + IDAGetLastOrder@Base 2.5.0 + IDAGetLastStep@Base 2.5.0 + IDAGetNonlinSolvStats@Base 2.5.0 + IDAGetNumBacktrackOps@Base 2.5.0 + IDAGetNumErrTestFails@Base 2.5.0 + IDAGetNumGEvals@Base 2.5.0 + IDAGetNumLinSolvSetups@Base 2.5.0 + IDAGetNumNonlinSolvConvFails@Base 2.5.0 + IDAGetNumNonlinSolvIters@Base 2.5.0 + IDAGetNumResEvals@Base 2.5.0 + IDAGetNumResEvalsSens@Base 2.5.0 + IDAGetNumSteps@Base 2.5.0 + IDAGetQuad@Base 2.5.0 + IDAGetQuadB@Base 2.5.0 + IDAGetQuadDky@Base 2.5.0 + IDAGetQuadErrWeights@Base 2.5.0 + IDAGetQuadNumErrTestFails@Base 2.5.0 + IDAGetQuadNumRhsEvals@Base 2.5.0 + IDAGetQuadSens1@Base 2.5.0 + IDAGetQuadSens@Base 2.5.0 + IDAGetQuadSensDky1@Base 2.5.0 + IDAGetQuadSensDky@Base 2.5.0 + IDAGetQuadSensErrWeights@Base 2.5.0 + IDAGetQuadSensNumErrTestFails@Base 2.5.0 + IDAGetQuadSensNumRhsEvals@Base 2.5.0 + IDAGetQuadSensStats@Base 2.5.0 + IDAGetQuadStats@Base 2.5.0 + IDAGetReturnFlagName@Base 2.5.0 + IDAGetRootInfo@Base 2.5.0 + IDAGetSens1@Base 2.5.0 + IDAGetSens@Base 2.5.0 + IDAGetSensConsistentIC@Base 2.5.0 + IDAGetSensDky1@Base 2.5.0 + IDAGetSensDky@Base 2.5.0 + IDAGetSensErrWeights@Base 2.5.0 + IDAGetSensNonlinSolvStats@Base 2.5.0 + IDAGetSensNumErrTestFails@Base 2.5.0 + IDAGetSensNumLinSolvSetups@Base 2.5.0 + IDAGetSensNumNonlinSolvConvFails@Base 2.5.0 + IDAGetSensNumNonlinSolvIters@Base 2.5.0 + IDAGetSensNumResEvals@Base 2.5.0 + IDAGetSensStats@Base 2.5.0 + IDAGetSolution@Base 2.5.0 + IDAGetTolScaleFactor@Base 2.5.0 + IDAGetWorkSpace@Base 2.5.0 + IDAInit@Base 2.5.0 + IDAInitB@Base 2.5.0 + IDAInitBS@Base 2.5.0 + IDAInitialSetup@Base 2.5.0 + IDALapackBand@Base 2.5.0 + IDALapackDense@Base 2.5.0 + IDAProcessError@Base 2.5.0 + IDAQuadFree@Base 2.5.0 + IDAQuadInit@Base 2.5.0 + IDAQuadInitB@Base 2.5.0 + IDAQuadInitBS@Base 2.5.0 + IDAQuadReInit@Base 2.5.0 + IDAQuadReInitB@Base 2.5.0 + IDAQuadSStolerances@Base 2.5.0 + IDAQuadSStolerancesB@Base 2.5.0 + IDAQuadSVtolerances@Base 2.5.0 + IDAQuadSVtolerancesB@Base 2.5.0 + IDAQuadSensEEtolerances@Base 2.5.0 + IDAQuadSensEwtSet@Base 2.5.0 + IDAQuadSensFree@Base 2.5.0 + IDAQuadSensInit@Base 2.5.0 + IDAQuadSensReInit@Base 2.5.0 + IDAQuadSensSStolerances@Base 2.5.0 + IDAQuadSensSVtolerances@Base 2.5.0 + IDAReInit@Base 2.5.0 + IDAReInitB@Base 2.5.0 + IDARootInit@Base 2.5.0 + IDASStolerances@Base 2.5.0 + IDASStolerancesB@Base 2.5.0 + IDASVtolerances@Base 2.5.0 + IDASVtolerancesB@Base 2.5.0 + IDASensEEtolerances@Base 2.5.0 + IDASensEwtSet@Base 2.5.0 + IDASensFree@Base 2.5.0 + IDASensInit@Base 2.5.0 + IDASensReInit@Base 2.5.0 + IDASensResDQ@Base 2.5.0 + IDASensSStolerances@Base 2.5.0 + IDASensSVtolerances@Base 2.5.0 + IDASensToggleOff@Base 2.5.0 + IDASensWrmsNorm@Base 2.5.0 + IDASensWrmsNormUpdate@Base 2.5.0 + IDASetConstraints@Base 2.5.0 + IDASetConstraintsB@Base 2.5.0 + IDASetErrFile@Base 2.5.0 + IDASetErrHandlerFn@Base 2.5.0 + IDASetId@Base 2.5.0 + IDASetIdB@Base 2.5.0 + IDASetInitStep@Base 2.5.0 + IDASetInitStepB@Base 2.5.0 + IDASetLineSearchOffIC@Base 2.5.0 + IDASetMaxConvFails@Base 2.5.0 + IDASetMaxErrTestFails@Base 2.5.0 + IDASetMaxNonlinIters@Base 2.5.0 + IDASetMaxNumItersIC@Base 2.5.0 + IDASetMaxNumJacsIC@Base 2.5.0 + IDASetMaxNumSteps@Base 2.5.0 + IDASetMaxNumStepsB@Base 2.5.0 + IDASetMaxNumStepsIC@Base 2.5.0 + IDASetMaxOrd@Base 2.5.0 + IDASetMaxOrdB@Base 2.5.0 + IDASetMaxStep@Base 2.5.0 + IDASetMaxStepB@Base 2.5.0 + IDASetNoInactiveRootWarn@Base 2.5.0 + IDASetNonlinConvCoef@Base 2.5.0 + IDASetNonlinConvCoefIC@Base 2.5.0 + IDASetQuadErrCon@Base 2.5.0 + IDASetQuadErrConB@Base 2.5.0 + IDASetQuadSensErrCon@Base 2.5.0 + IDASetRootDirection@Base 2.5.0 + IDASetSensDQMethod@Base 2.5.0 + IDASetSensErrCon@Base 2.5.0 + IDASetSensMaxNonlinIters@Base 2.5.0 + IDASetSensParams@Base 2.5.0 + IDASetStepToleranceIC@Base 2.5.0 + IDASetStopTime@Base 2.5.0 + IDASetSuppressAlg@Base 2.5.0 + IDASetSuppressAlgB@Base 2.5.0 + IDASetUserData@Base 2.5.0 + IDASetUserDataB@Base 2.5.0 + IDASolve@Base 2.5.0 + IDASolveB@Base 2.5.0 + IDASolveF@Base 2.5.0 + IDASpbcg@Base 2.5.0 + IDASpbcgB@Base 2.5.0 + IDASpgmr@Base 2.5.0 + IDASpgmrB@Base 2.5.0 + IDASpilsAtimes@Base 2.5.0 + IDASpilsDQJtimes@Base 2.5.0 + IDASpilsGetLastFlag@Base 2.5.0 + IDASpilsGetNumConvFails@Base 2.5.0 + IDASpilsGetNumJtimesEvals@Base 2.5.0 + IDASpilsGetNumLinIters@Base 2.5.0 + IDASpilsGetNumPrecEvals@Base 2.5.0 + IDASpilsGetNumPrecSolves@Base 2.5.0 + IDASpilsGetNumResEvals@Base 2.5.0 + IDASpilsGetReturnFlagName@Base 2.5.0 + IDASpilsGetWorkSpace@Base 2.5.0 + IDASpilsPSolve@Base 2.5.0 + IDASpilsSetEpsLin@Base 2.5.0 + IDASpilsSetEpsLinB@Base 2.5.0 + IDASpilsSetGSType@Base 2.5.0 + IDASpilsSetGSTypeB@Base 2.5.0 + IDASpilsSetIncrementFactor@Base 2.5.0 + IDASpilsSetIncrementFactorB@Base 2.5.0 + IDASpilsSetJacTimesVecFn@Base 2.5.0 + IDASpilsSetJacTimesVecFnB@Base 2.5.0 + IDASpilsSetMaxRestarts@Base 2.5.0 + IDASpilsSetMaxRestartsB@Base 2.5.0 + IDASpilsSetMaxl@Base 2.5.0 + IDASpilsSetMaxlB@Base 2.5.0 + IDASpilsSetPreconditioner@Base 2.5.0 + IDASpilsSetPreconditionerB@Base 2.5.0 + IDASptfqmr@Base 2.5.0 + IDASptfqmrB@Base 2.5.0 + IDAWFtolerances@Base 2.5.0 + IDAWrmsNorm@Base 2.5.0 + ModifiedGS@Base 2.5.0 + N_VAbs@Base 2.5.0 + N_VAddConst@Base 2.5.0 + N_VClone@Base 2.5.0 + N_VCloneEmpty@Base 2.5.0 + N_VCloneEmptyVectorArray@Base 2.5.0 + N_VCloneVectorArray@Base 2.5.0 + N_VCompare@Base 2.5.0 + N_VConst@Base 2.5.0 + N_VConstrMask@Base 2.5.0 + N_VDestroy@Base 2.5.0 + N_VDestroyVectorArray@Base 2.5.0 + N_VDiv@Base 2.5.0 + N_VDotProd@Base 2.5.0 + N_VGetArrayPointer@Base 2.5.0 + N_VInv@Base 2.5.0 + N_VInvTest@Base 2.5.0 + N_VL1Norm@Base 2.5.0 + N_VLinearSum@Base 2.5.0 + N_VMaxNorm@Base 2.5.0 + N_VMin@Base 2.5.0 + N_VMinQuotient@Base 2.5.0 + N_VProd@Base 2.5.0 + N_VScale@Base 2.5.0 + N_VSetArrayPointer@Base 2.5.0 + N_VSpace@Base 2.5.0 + N_VWL2Norm@Base 2.5.0 + N_VWrmsNorm@Base 2.5.0 + N_VWrmsNormMask@Base 2.5.0 + NewBandMat@Base 2.5.0 + NewDenseMat@Base 2.5.0 + NewIntArray@Base 2.5.0 + NewLintArray@Base 2.5.0 + NewRealArray@Base 2.5.0 + PrintMat@Base 2.5.0 + QRfact@Base 2.5.0 + QRsol@Base 2.5.0 + RAbs@Base 2.5.0 + RExp@Base 2.5.0 + RPowerI@Base 2.5.0 + RPowerR@Base 2.5.0 + RSqrt@Base 2.5.0 + SetToZero@Base 2.5.0 + SpbcgFree@Base 2.5.0 + SpbcgMalloc@Base 2.5.0 + SpbcgSolve@Base 2.5.0 + SpgmrFree@Base 2.5.0 + SpgmrMalloc@Base 2.5.0 + SpgmrSolve@Base 2.5.0 + SptfqmrFree@Base 2.5.0 + SptfqmrMalloc@Base 2.5.0 + SptfqmrSolve@Base 2.5.0 + bandAddIdentity@Base 2.5.0 + bandCopy@Base 2.5.0 + bandGBTRF@Base 2.5.0 + bandGBTRS@Base 2.5.0 + bandScale@Base 2.5.0 + denseAddIdentity@Base 2.5.0 + denseCopy@Base 2.5.0 + denseGEQRF@Base 2.5.0 + denseGETRF@Base 2.5.0 + denseGETRS@Base 2.5.0 + denseORMQR@Base 2.5.0 + densePOTRF@Base 2.5.0 + densePOTRS@Base 2.5.0 + denseScale@Base 2.5.0 + destroyArray@Base 2.5.0 + destroyMat@Base 2.5.0 + idaDlsBandDQJac@Base 2.5.0 + idaDlsDenseDQJac@Base 2.5.0 + newBandMat@Base 2.5.0 + newDenseMat@Base 2.5.0 + newIntArray@Base 2.5.0 + newLintArray@Base 2.5.0 + newRealArray@Base 2.5.0 --- sundials-2.5.0.orig/debian/libsundials-kinsol0.install +++ sundials-2.5.0/debian/libsundials-kinsol0.install @@ -0,0 +1 @@ +usr/lib/libsundials_kinsol.so.* --- sundials-2.5.0.orig/debian/libsundials-kinsol1.install +++ sundials-2.5.0/debian/libsundials-kinsol1.install @@ -0,0 +1 @@ +usr/lib/libsundials_kinsol.so.* --- sundials-2.5.0.orig/debian/libsundials-kinsol1.symbols +++ sundials-2.5.0/debian/libsundials-kinsol1.symbols @@ -0,0 +1,164 @@ +libsundials_kinsol.so.1 libsundials-kinsol1 #MINVER# + AddIdentity@Base 2.5.0 + BandCopy@Base 2.5.0 + BandGBTRF@Base 2.5.0 + BandGBTRS@Base 2.5.0 + BandScale@Base 2.5.0 + ClassicalGS@Base 2.5.0 + DenseCopy@Base 2.5.0 + DenseGEQRF@Base 2.5.0 + DenseGETRF@Base 2.5.0 + DenseGETRS@Base 2.5.0 + DenseORMQR@Base 2.5.0 + DensePOTRF@Base 2.5.0 + DensePOTRS@Base 2.5.0 + DenseScale@Base 2.5.0 + DestroyArray@Base 2.5.0 + DestroyMat@Base 2.5.0 + KINBBDPrecGetNumGfnEvals@Base 2.5.0 + KINBBDPrecGetWorkSpace@Base 2.5.0 + KINBBDPrecInit@Base 2.5.0 + KINBand@Base 2.5.0 + KINCreate@Base 2.5.0 + KINDense@Base 2.5.0 + KINDlsGetLastFlag@Base 2.5.0 + KINDlsGetNumFuncEvals@Base 2.5.0 + KINDlsGetNumJacEvals@Base 2.5.0 + KINDlsGetReturnFlagName@Base 2.5.0 + KINDlsGetWorkSpace@Base 2.5.0 + KINDlsSetBandJacFn@Base 2.5.0 + KINDlsSetDenseJacFn@Base 2.5.0 + KINErrHandler@Base 2.5.0 + KINFree@Base 2.5.0 + KINGetFuncNorm@Base 2.5.0 + KINGetNumBacktrackOps@Base 2.5.0 + KINGetNumBetaCondFails@Base 2.5.0 + KINGetNumFuncEvals@Base 2.5.0 + KINGetNumNonlinSolvIters@Base 2.5.0 + KINGetReturnFlagName@Base 2.5.0 + KINGetStepLength@Base 2.5.0 + KINGetWorkSpace@Base 2.5.0 + KINInfoHandler@Base 2.5.0 + KINInit@Base 2.5.0 + KINLapackBand@Base 2.5.0 + KINLapackDense@Base 2.5.0 + KINPrintInfo@Base 2.5.0 + KINProcessError@Base 2.5.0 + KINSetConstraints@Base 2.5.0 + KINSetErrFile@Base 2.5.0 + KINSetErrHandlerFn@Base 2.5.0 + KINSetEtaConstValue@Base 2.5.0 + KINSetEtaForm@Base 2.5.0 + KINSetEtaParams@Base 2.5.0 + KINSetFuncNormTol@Base 2.5.0 + KINSetInfoFile@Base 2.5.0 + KINSetInfoHandlerFn@Base 2.5.0 + KINSetMaxBetaFails@Base 2.5.0 + KINSetMaxNewtonStep@Base 2.5.0 + KINSetMaxSetupCalls@Base 2.5.0 + KINSetMaxSubSetupCalls@Base 2.5.0 + KINSetNoInitSetup@Base 2.5.0 + KINSetNoMinEps@Base 2.5.0 + KINSetNoResMon@Base 2.5.0 + KINSetNumMaxIters@Base 2.5.0 + KINSetPrintLevel@Base 2.5.0 + KINSetRelErrFunc@Base 2.5.0 + KINSetResMonConstValue@Base 2.5.0 + KINSetResMonParams@Base 2.5.0 + KINSetScaledStepTol@Base 2.5.0 + KINSetSysFunc@Base 2.5.0 + KINSetUserData@Base 2.5.0 + KINSol@Base 2.5.0 + KINSpbcg@Base 2.5.0 + KINSpgmr@Base 2.5.0 + KINSpilsAtimes@Base 2.5.0 + KINSpilsDQJtimes@Base 2.5.0 + KINSpilsGetLastFlag@Base 2.5.0 + KINSpilsGetNumConvFails@Base 2.5.0 + KINSpilsGetNumFuncEvals@Base 2.5.0 + KINSpilsGetNumJtimesEvals@Base 2.5.0 + KINSpilsGetNumLinIters@Base 2.5.0 + KINSpilsGetNumPrecEvals@Base 2.5.0 + KINSpilsGetNumPrecSolves@Base 2.5.0 + KINSpilsGetReturnFlagName@Base 2.5.0 + KINSpilsGetWorkSpace@Base 2.5.0 + KINSpilsPSolve@Base 2.5.0 + KINSpilsSetJacTimesVecFn@Base 2.5.0 + KINSpilsSetMaxRestarts@Base 2.5.0 + KINSpilsSetPreconditioner@Base 2.5.0 + KINSptfqmr@Base 2.5.0 + ModifiedGS@Base 2.5.0 + N_VAbs@Base 2.5.0 + N_VAddConst@Base 2.5.0 + N_VClone@Base 2.5.0 + N_VCloneEmpty@Base 2.5.0 + N_VCloneEmptyVectorArray@Base 2.5.0 + N_VCloneVectorArray@Base 2.5.0 + N_VCompare@Base 2.5.0 + N_VConst@Base 2.5.0 + N_VConstrMask@Base 2.5.0 + N_VDestroy@Base 2.5.0 + N_VDestroyVectorArray@Base 2.5.0 + N_VDiv@Base 2.5.0 + N_VDotProd@Base 2.5.0 + N_VGetArrayPointer@Base 2.5.0 + N_VInv@Base 2.5.0 + N_VInvTest@Base 2.5.0 + N_VL1Norm@Base 2.5.0 + N_VLinearSum@Base 2.5.0 + N_VMaxNorm@Base 2.5.0 + N_VMin@Base 2.5.0 + N_VMinQuotient@Base 2.5.0 + N_VProd@Base 2.5.0 + N_VScale@Base 2.5.0 + N_VSetArrayPointer@Base 2.5.0 + N_VSpace@Base 2.5.0 + N_VWL2Norm@Base 2.5.0 + N_VWrmsNorm@Base 2.5.0 + N_VWrmsNormMask@Base 2.5.0 + NewBandMat@Base 2.5.0 + NewDenseMat@Base 2.5.0 + NewIntArray@Base 2.5.0 + NewLintArray@Base 2.5.0 + NewRealArray@Base 2.5.0 + PrintMat@Base 2.5.0 + QRfact@Base 2.5.0 + QRsol@Base 2.5.0 + RAbs@Base 2.5.0 + RExp@Base 2.5.0 + RPowerI@Base 2.5.0 + RPowerR@Base 2.5.0 + RSqrt@Base 2.5.0 + SetToZero@Base 2.5.0 + SpbcgFree@Base 2.5.0 + SpbcgMalloc@Base 2.5.0 + SpbcgSolve@Base 2.5.0 + SpgmrFree@Base 2.5.0 + SpgmrMalloc@Base 2.5.0 + SpgmrSolve@Base 2.5.0 + SptfqmrFree@Base 2.5.0 + SptfqmrMalloc@Base 2.5.0 + SptfqmrSolve@Base 2.5.0 + bandAddIdentity@Base 2.5.0 + bandCopy@Base 2.5.0 + bandGBTRF@Base 2.5.0 + bandGBTRS@Base 2.5.0 + bandScale@Base 2.5.0 + denseAddIdentity@Base 2.5.0 + denseCopy@Base 2.5.0 + denseGEQRF@Base 2.5.0 + denseGETRF@Base 2.5.0 + denseGETRS@Base 2.5.0 + denseORMQR@Base 2.5.0 + densePOTRF@Base 2.5.0 + densePOTRS@Base 2.5.0 + denseScale@Base 2.5.0 + destroyArray@Base 2.5.0 + destroyMat@Base 2.5.0 + kinDlsBandDQJac@Base 2.5.0 + kinDlsDenseDQJac@Base 2.5.0 + newBandMat@Base 2.5.0 + newDenseMat@Base 2.5.0 + newIntArray@Base 2.5.0 + newLintArray@Base 2.5.0 + newRealArray@Base 2.5.0 --- sundials-2.5.0.orig/debian/libsundials-nvecserial0.install +++ sundials-2.5.0/debian/libsundials-nvecserial0.install @@ -0,0 +1,2 @@ +usr/lib/libsundials_nvecserial.so.* +usr/lib/libsundials_fnvecserial.so.* --- sundials-2.5.0.orig/debian/libsundials-nvecserial0.symbols +++ sundials-2.5.0/debian/libsundials-nvecserial0.symbols @@ -0,0 +1,60 @@ +libsundials_nvecserial.so.0 libsundials-nvecserial0 #MINVER# + N_VAbs_Serial@Base 2.5.0 + N_VAddConst_Serial@Base 2.5.0 + N_VCloneEmpty_Serial@Base 2.5.0 + N_VCloneVectorArrayEmpty_Serial@Base 2.5.0 + N_VCloneVectorArray_Serial@Base 2.5.0 + N_VClone_Serial@Base 2.5.0 + N_VCompare_Serial@Base 2.5.0 + N_VConst_Serial@Base 2.5.0 + N_VConstrMask_Serial@Base 2.5.0 + N_VDestroyVectorArray_Serial@Base 2.5.0 + N_VDestroy_Serial@Base 2.5.0 + N_VDiv_Serial@Base 2.5.0 + N_VDotProd_Serial@Base 2.5.0 + N_VGetArrayPointer_Serial@Base 2.5.0 + N_VInvTest_Serial@Base 2.5.0 + N_VInv_Serial@Base 2.5.0 + N_VL1Norm_Serial@Base 2.5.0 + N_VLinearSum_Serial@Base 2.5.0 + N_VMake_Serial@Base 2.5.0 + N_VMaxNorm_Serial@Base 2.5.0 + N_VMinQuotient_Serial@Base 2.5.0 + N_VMin_Serial@Base 2.5.0 + N_VNewEmpty_Serial@Base 2.5.0 + N_VNew_Serial@Base 2.5.0 + N_VPrint_Serial@Base 2.5.0 + N_VProd_Serial@Base 2.5.0 + N_VScale_Serial@Base 2.5.0 + N_VSetArrayPointer_Serial@Base 2.5.0 + N_VSpace_Serial@Base 2.5.0 + N_VWL2Norm_Serial@Base 2.5.0 + N_VWrmsNormMask_Serial@Base 2.5.0 + N_VWrmsNorm_Serial@Base 2.5.0 + RAbs@Base 2.5.0 + RExp@Base 2.5.0 + RPowerI@Base 2.5.0 + RPowerR@Base 2.5.0 + RSqrt@Base 2.5.0 +libsundials_fnvecserial.so.0 libsundials-nvecserial0 #MINVER# + F2C_CVODE_vec@Base 2.5.0 + F2C_CVODE_vecB@Base 2.5.0 + F2C_CVODE_vecQ@Base 2.5.0 + F2C_CVODE_vecQB@Base 2.5.0 + F2C_CVODE_vecS@Base 2.5.0 + F2C_IDA_vec@Base 2.5.0 + F2C_IDA_vecB@Base 2.5.0 + F2C_IDA_vecQ@Base 2.5.0 + F2C_IDA_vecQB@Base 2.5.0 + F2C_IDA_vecS@Base 2.5.0 + F2C_KINSOL_vec@Base 2.5.0 + RAbs@Base 2.5.0 + RExp@Base 2.5.0 + RPowerI@Base 2.5.0 + RPowerR@Base 2.5.0 + RSqrt@Base 2.5.0 + fnvinits_@Base 2.5.0 + fnvinits_b_@Base 2.5.0 + fnvinits_q_@Base 2.5.0 + fnvinits_qb_@Base 2.5.0 + fnvinits_s_@Base 2.5.0 --- sundials-2.5.0.orig/debian/libsundials-serial-dev.install +++ sundials-2.5.0/debian/libsundials-serial-dev.install @@ -0,0 +1,4 @@ +usr/include +usr/lib/lib*a +usr/lib/lib*.so +usr/bin/sundials-config --- sundials-2.5.0.orig/debian/libsundials-serial-doc.docs +++ sundials-2.5.0/debian/libsundials-serial-doc.docs @@ -0,0 +1,11 @@ +./doc/ida/ida_guide.pdf +./doc/ida/ida_examples.pdf +./doc/cvodes/cvs_guide.pdf +./doc/cvodes/cvs_examples.pdf +./doc/sundialsTB/sundialsTB.pdf +./doc/idas/idas_examples.pdf +./doc/idas/idas_guide.pdf +./doc/kinsol/kin_examples.pdf +./doc/kinsol/kin_guide.pdf +./doc/cvode/cv_guide.pdf +./doc/cvode/cv_examples.pdf --- sundials-2.5.0.orig/debian/libsundials-serial.lintian-overrides +++ sundials-2.5.0/debian/libsundials-serial.lintian-overrides @@ -0,0 +1,2 @@ +# This package will install all serial libraries +libsundials-serial: empty-binary-package --- sundials-2.5.0.orig/debian/octave-sundials.install +++ sundials-2.5.0/debian/octave-sundials.install @@ -0,0 +1,2 @@ +usr/share/octave/ +usr/lib/*/octave/ --- sundials-2.5.0.orig/debian/orig-tar.exclude +++ sundials-2.5.0/debian/orig-tar.exclude @@ -0,0 +1,2 @@ +*.pdf + --- sundials-2.5.0.orig/debian/orig-tarball.sh +++ sundials-2.5.0/debian/orig-tarball.sh @@ -0,0 +1,17 @@ +#!/bin/sh -e + +# called by uscan with '--upstream-version' +PKG=sundials +VER=$2 +echo "plop :" $3 +tar zxvf $3 +tar -c -z -f $3 -X debian/orig-tar.exclude $PKG-$VER +rm -rf $PKG-$VER +# move to directory 'tarballs' +if [ -r .svn/deb-layout ]; then + . .svn/deb-layout + mv $TAR $origDir + echo "moved $TAR to $origDir" +fi + +exit 0 --- sundials-2.5.0.orig/debian/patches/bashim.diff +++ sundials-2.5.0/debian/patches/bashim.diff @@ -0,0 +1,19 @@ +Index: sundials-2.3.0/config/sundials-config.in +=================================================================== +--- sundials-2.3.0.orig/config/sundials-config.in 2010-03-30 23:15:34.000000000 +0200 ++++ sundials-2.3.0/config/sundials-config.in 2010-03-30 23:17:00.000000000 +0200 +@@ -50,10 +50,10 @@ + shift $(( $OPTIND - 1 )) + + # args check +-[[ $module ]] || { echo >&2 the -m option and argument must be specified; exit 1; } +-[[ $vector ]] || { echo >&2 the -t option and argument must be specified; exit 1; } +-[[ $lang ]] || { echo >&2 the -l option and argument must be specified; exit 1; } +-[[ $show ]] || { show=both; } ++[ $module ] || { echo >&2 the -m option and argument must be specified; exit 1; } ++[ $vector ] || { echo >&2 the -t option and argument must be specified; exit 1; } ++[ $lang ] || { echo >&2 the -l option and argument must be specified; exit 1; } ++[ $show ] || { show=both; } + + # main + --- sundials-2.5.0.orig/debian/patches/fix-format-error.patch +++ sundials-2.5.0/debian/patches/fix-format-error.patch @@ -0,0 +1,65 @@ +Index: sundials-2.4.0/src/cvode/cvode.c +=================================================================== +--- sundials-2.4.0.orig/src/cvode/cvode.c 2009-05-10 00:22:28.000000000 +0000 ++++ sundials-2.4.0/src/cvode/cvode.c 2011-11-12 13:23:18.000000000 +0000 +@@ -4128,7 +4128,7 @@ + + #ifndef NO_FPRINTF_OUTPUT + fprintf(stderr, "\n[%s ERROR] %s\n ", module, fname); +- fprintf(stderr, msgfmt); ++ vfprintf(stderr, msgfmt, ap); + fprintf(stderr, "\n\n"); + #endif + +Index: sundials-2.4.0/src/cvodes/cvodes.c +=================================================================== +--- sundials-2.4.0.orig/src/cvodes/cvodes.c 2009-05-10 00:22:35.000000000 +0000 ++++ sundials-2.4.0/src/cvodes/cvodes.c 2011-11-12 13:26:19.000000000 +0000 +@@ -8942,7 +8942,7 @@ + + #ifndef NO_FPRINTF_OUTPUT + fprintf(stderr, "\n[%s ERROR] %s\n ", module, fname); +- fprintf(stderr, msg); ++ fprintf(stderr, "%s",msg); + fprintf(stderr, "\n\n"); + #endif + +Index: sundials-2.4.0/src/ida/ida.c +=================================================================== +--- sundials-2.4.0.orig/src/ida/ida.c 2009-05-10 00:22:51.000000000 +0000 ++++ sundials-2.4.0/src/ida/ida.c 2011-11-12 13:28:56.000000000 +0000 +@@ -3248,7 +3248,7 @@ + + #ifndef NO_FPRINTF_OUTPUT + fprintf(stderr, "\n[%s ERROR] %s\n ", module, fname); +- fprintf(stderr, msgfmt); ++ vfprintf(stderr, msgfmt,ap); + fprintf(stderr, "\n\n"); + #endif + +Index: sundials-2.4.0/src/idas/idas.c +=================================================================== +--- sundials-2.4.0.orig/src/idas/idas.c 2009-05-10 00:22:58.000000000 +0000 ++++ sundials-2.4.0/src/idas/idas.c 2011-11-12 13:30:16.000000000 +0000 +@@ -7170,7 +7170,7 @@ + + #ifndef NO_FPRINTF_OUTPUT + fprintf(stderr, "\n[%s ERROR] %s\n ", module, fname); +- fprintf(stderr, msgfmt); ++ vfprintf(stderr, msgfmt,ap); + fprintf(stderr, "\n\n"); + #endif + +Index: sundials-2.4.0/src/kinsol/kinsol.c +=================================================================== +--- sundials-2.4.0.orig/src/kinsol/kinsol.c 2009-05-10 00:23:08.000000000 +0000 ++++ sundials-2.4.0/src/kinsol/kinsol.c 2011-11-12 13:31:25.000000000 +0000 +@@ -1864,7 +1864,7 @@ + + #ifndef NO_FPRINTF_OUTPUT + fprintf(stderr, "\n[%s ERROR] %s\n ", module, fname); +- fprintf(stderr, msgfmt); ++ vfprintf(stderr, msgfmt,ap); + fprintf(stderr, "\n\n"); + #endif + --- sundials-2.5.0.orig/debian/patches/link-blas-lapack.patch +++ sundials-2.5.0/debian/patches/link-blas-lapack.patch @@ -0,0 +1,104 @@ +Description: Ensure that libraries are linked against BLAS and LAPACK when needed + In particular, this ensures that the shared libraries packages have correct + dependencies. +Author: Sébastien Villemot +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700525 +Forwarded: no +Last-Update: 2013-02-27 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/cvode/Makefile.in ++++ b/src/cvode/Makefile.in +@@ -42,6 +42,7 @@ + LIBS = @LIBS@ + + LAPACK_ENABLED = @LAPACK_ENABLED@ ++BLAS_LAPACK_LIBS = @BLAS_LAPACK_LIBS@ + + top_srcdir = $(srcdir)/../.. + +@@ -88,7 +89,7 @@ + $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(CVODE_LIB) $(CVODE_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) + + lib_with_bl: shared $(CVODE_LIB_FILES) $(CVODE_BL_LIB_FILES) +- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(CVODE_LIB) $(CVODE_LIB_FILES) $(CVODE_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(CVODE_LIB) $(CVODE_LIB_FILES) $(CVODE_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) $(BLAS_LAPACK_LIBS) -version-info $(LIB_REVISION) + + install: $(CVODE_LIB) + $(mkinstalldirs) $(includedir)/cvode +--- a/src/cvodes/Makefile.in ++++ b/src/cvodes/Makefile.in +@@ -42,6 +42,7 @@ + LIBS = @LIBS@ + + LAPACK_ENABLED = @LAPACK_ENABLED@ ++BLAS_LAPACK_LIBS = @BLAS_LAPACK_LIBS@ + + top_srcdir = $(srcdir)/../.. + +@@ -88,7 +89,7 @@ + $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(CVODES_LIB) $(CVODES_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) + + lib_with_bl: shared $(CVODES_LIB_FILES) $(CVODES_BL_LIB_FILES) +- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(CVODES_LIB) $(CVODES_LIB_FILES) $(CVODES_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(CVODES_LIB) $(CVODES_LIB_FILES) $(CVODES_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) $(BLAS_LAPACK_LIBS) -version-info $(LIB_REVISION) + + install: $(CVODES_LIB) + $(mkinstalldirs) $(includedir)/cvodes +--- a/src/ida/Makefile.in ++++ b/src/ida/Makefile.in +@@ -42,6 +42,7 @@ + LIBS = @LIBS@ + + LAPACK_ENABLED = @LAPACK_ENABLED@ ++BLAS_LAPACK_LIBS = @BLAS_LAPACK_LIBS@ + + top_srcdir = $(srcdir)/../.. + +@@ -88,7 +89,7 @@ + $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(IDA_LIB) $(IDA_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) + + lib_with_bl: shared $(IDA_LIB_FILES) $(IDA_BL_LIB_FILES) +- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(IDA_LIB) $(IDA_LIB_FILES) $(IDA_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(IDA_LIB) $(IDA_LIB_FILES) $(IDA_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) $(BLAS_LAPACK_LIBS) -version-info $(LIB_REVISION) + + install: $(IDA_LIB) + $(mkinstalldirs) $(includedir)/ida +--- a/src/idas/Makefile.in ++++ b/src/idas/Makefile.in +@@ -42,6 +42,7 @@ + LIBS = @LIBS@ + + LAPACK_ENABLED = @LAPACK_ENABLED@ ++BLAS_LAPACK_LIBS = @BLAS_LAPACK_LIBS@ + + top_srcdir = $(srcdir)/../.. + +@@ -88,7 +89,7 @@ + $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(IDAS_LIB) $(IDAS_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) + + lib_with_bl: shared $(IDAS_LIB_FILES) $(IDAS_BL_LIB_FILES) +- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(IDAS_LIB) $(IDAS_LIB_FILES) $(IDAS_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(IDAS_LIB) $(IDAS_LIB_FILES) $(IDAS_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) $(BLAS_LAPACK_LIBS) -version-info $(LIB_REVISION) + + install: $(IDAS_LIB) + $(mkinstalldirs) $(includedir)/idas +--- a/src/kinsol/Makefile.in ++++ b/src/kinsol/Makefile.in +@@ -42,6 +42,7 @@ + LIBS = @LIBS@ + + LAPACK_ENABLED = @LAPACK_ENABLED@ ++BLAS_LAPACK_LIBS = @BLAS_LAPACK_LIBS@ + + top_srcdir = $(srcdir)/../.. + +@@ -88,7 +89,7 @@ + $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(KINSOL_LIB) $(KINSOL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) + + lib_with_bl: shared $(KINSOL_LIB_FILES) $(KINSOL_BL_LIB_FILES) +- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(KINSOL_LIB) $(KINSOL_LIB_FILES) $(KINSOL_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) -version-info $(LIB_REVISION) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o $(KINSOL_LIB) $(KINSOL_LIB_FILES) $(KINSOL_BL_LIB_FILES) $(SHARED_LIB_FILES) -rpath $(libdir) $(LDFLAGS) $(LIBS) $(BLAS_LAPACK_LIBS) -version-info $(LIB_REVISION) + + install: $(KINSOL_LIB) + $(mkinstalldirs) $(includedir)/kinsol --- sundials-2.5.0.orig/debian/patches/makefile.patch +++ sundials-2.5.0/debian/patches/makefile.patch @@ -0,0 +1,465 @@ +Index: sundials-2.4.0/examples/cvode/fcmix_parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/cvode/fcmix_parallel/Makefile.in 2009-05-10 02:22:28.000000000 +0200 ++++ sundials-2.4.0/examples/cvode/fcmix_parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -84,7 +84,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_parallel/README $(EXS_INSTDIR)/cvode/fcmix_parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_parallel/$${i}.f $(EXS_INSTDIR)/cvode/fcmix_parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_parallel/$${i}.out $(EXS_INSTDIR)/cvode/fcmix_parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_parallel/$${i} $(EXS_INSTDIR)/cvode/fcmix_parallel/ ; \ + done + + uninstall: +@@ -92,7 +92,7 @@ + rm -f $(EXS_INSTDIR)/cvode/fcmix_parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/cvode/fcmix_parallel/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/cvode/fcmix_parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvode/fcmix_parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/cvode/fcmix_parallel + $(rminstalldirs) $(EXS_INSTDIR)/cvode +Index: sundials-2.4.0/examples/cvode/fcmix_serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/cvode/fcmix_serial/Makefile.in 2009-05-10 02:22:28.000000000 +0200 ++++ sundials-2.4.0/examples/cvode/fcmix_serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -93,12 +93,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_serial/README $(EXS_INSTDIR)/cvode/fcmix_serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_serial/$${i}.f $(EXS_INSTDIR)/cvode/fcmix_serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_serial/$${i}.out $(EXS_INSTDIR)/cvode/fcmix_serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_serial/$${i} $(EXS_INSTDIR)/cvode/fcmix_serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_serial/$${i}.f $(EXS_INSTDIR)/cvode/fcmix_serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_serial/$${i}.out $(EXS_INSTDIR)/cvode/fcmix_serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvode/fcmix_serial/$${i} $(EXS_INSTDIR)/cvode/fcmix_serial/ ; \ + done ; \ + fi + +@@ -107,12 +107,12 @@ + rm -f $(EXS_INSTDIR)/cvode/fcmix_serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/cvode/fcmix_serial/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/cvode/fcmix_serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvode/fcmix_serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/cvode/fcmix_serial/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/cvode/fcmix_serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvode/fcmix_serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/cvode/fcmix_serial +Index: sundials-2.4.0/examples/cvode/parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/cvode/parallel/Makefile.in 2009-05-10 02:22:28.000000000 +0200 ++++ sundials-2.4.0/examples/cvode/parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -82,7 +82,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/parallel/README $(EXS_INSTDIR)/cvode/parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/parallel/$${i}.c $(EXS_INSTDIR)/cvode/parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvode/parallel/$${i}.out $(EXS_INSTDIR)/cvode/parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvode/parallel/$${i} $(EXS_INSTDIR)/cvode/parallel/ ; \ + done + + uninstall: +@@ -90,7 +90,7 @@ + rm -f $(EXS_INSTDIR)/cvode/parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/cvode/parallel/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/cvode/parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvode/parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/cvode/parallel + $(rminstalldirs) $(EXS_INSTDIR)/cvode +Index: sundials-2.4.0/examples/cvode/serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/cvode/serial/Makefile.in 2009-05-10 02:22:28.000000000 +0200 ++++ sundials-2.4.0/examples/cvode/serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -96,12 +96,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/serial/README $(EXS_INSTDIR)/cvode/serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/serial/$${i}.c $(EXS_INSTDIR)/cvode/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvode/serial/$${i}.out $(EXS_INSTDIR)/cvode/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvode/serial/$${i} $(EXS_INSTDIR)/cvode/serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvode/serial/$${i}.c $(EXS_INSTDIR)/cvode/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvode/serial/$${i}.out $(EXS_INSTDIR)/cvode/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvode/serial/$${i} $(EXS_INSTDIR)/cvode/serial/ ; \ + done ; \ + fi + +@@ -110,12 +110,12 @@ + rm -f $(EXS_INSTDIR)/cvode/serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/cvode/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/cvode/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvode/serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/cvode/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/cvode/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvode/serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/cvode/serial +Index: sundials-2.4.0/examples/cvodes/parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/cvodes/parallel/Makefile.in 2009-05-10 02:22:36.000000000 +0200 ++++ sundials-2.4.0/examples/cvodes/parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -85,7 +85,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/parallel/README $(EXS_INSTDIR)/cvodes/parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/parallel/$${i}.c $(EXS_INSTDIR)/cvodes/parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/parallel/$${i}.out $(EXS_INSTDIR)/cvodes/parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/parallel/$${i} $(EXS_INSTDIR)/cvodes/parallel/ ; \ + done + + uninstall: +@@ -93,7 +93,7 @@ + rm -f $(EXS_INSTDIR)/cvodes/parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/cvodes/parallel/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/cvodes/parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvodes/parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/cvodes/parallel + $(rminstalldirs) $(EXS_INSTDIR)/cvodes +Index: sundials-2.4.0/examples/cvodes/serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/cvodes/serial/Makefile.in 2009-05-10 02:22:36.000000000 +0200 ++++ sundials-2.4.0/examples/cvodes/serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -103,12 +103,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/serial/README $(EXS_INSTDIR)/cvodes/serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/serial/$${i}.c $(EXS_INSTDIR)/cvodes/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/serial/$${i}.out $(EXS_INSTDIR)/cvodes/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/serial/$${i} $(EXS_INSTDIR)/cvodes/serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/serial/$${i}.c $(EXS_INSTDIR)/cvodes/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/serial/$${i}.out $(EXS_INSTDIR)/cvodes/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/cvodes/serial/$${i} $(EXS_INSTDIR)/cvodes/serial/ ; \ + done ; \ + fi + +@@ -117,12 +117,12 @@ + rm -f $(EXS_INSTDIR)/cvodes/serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/cvodes/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/cvodes/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvodes/serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/cvodes/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/cvodes/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/cvodes/serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/cvodes/serial +Index: sundials-2.4.0/examples/ida/fcmix_parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/ida/fcmix_parallel/Makefile.in 2009-05-10 02:22:51.000000000 +0200 ++++ sundials-2.4.0/examples/ida/fcmix_parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -82,7 +82,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_parallel/README $(EXS_INSTDIR)/ida/fcmix_parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_parallel/$${i}.f $(EXS_INSTDIR)/ida/fcmix_parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_parallel/$${i}.out $(EXS_INSTDIR)/ida/fcmix_parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_parallel/$${i} $(EXS_INSTDIR)/ida/fcmix_parallel/ ; \ + done + + uninstall: +@@ -90,7 +90,7 @@ + rm -f $(EXS_INSTDIR)/ida/fcmix_parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/ida/fcmix_parallel/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/ida/fcmix_parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/ida/fcmix_parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/ida/fcmix_parallel + $(rminstalldirs) $(EXS_INSTDIR)/ida +Index: sundials-2.4.0/examples/ida/fcmix_serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/ida/fcmix_serial/Makefile.in 2009-05-10 02:22:51.000000000 +0200 ++++ sundials-2.4.0/examples/ida/fcmix_serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -90,12 +90,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_serial/README $(EXS_INSTDIR)/ida/fcmix_serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_serial/$${i}.f $(EXS_INSTDIR)/ida/fcmix_serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_serial/$${i}.out $(EXS_INSTDIR)/ida/fcmix_serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_serial/$${i} $(EXS_INSTDIR)/ida/fcmix_serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_serial/$${i}.f $(EXS_INSTDIR)/ida/fcmix_serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_serial/$${i}.out $(EXS_INSTDIR)/ida/fcmix_serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/ida/fcmix_serial/$${i} $(EXS_INSTDIR)/ida/fcmix_serial/ ; \ + done ; \ + fi + +@@ -104,12 +104,12 @@ + rm -f $(EXS_INSTDIR)/ida/fcmix_serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/ida/fcmix_serial/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/ida/fcmix_serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/ida/fcmix_serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/ida/fcmix_serial/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/ida/fcmix_serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/ida/fcmix_serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/ida/fcmix_serial +Index: sundials-2.4.0/examples/ida/parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/ida/parallel/Makefile.in 2009-05-10 02:22:51.000000000 +0200 ++++ sundials-2.4.0/examples/ida/parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -82,7 +82,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/parallel/README $(EXS_INSTDIR)/ida/parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/parallel/$${i}.c $(EXS_INSTDIR)/ida/parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/ida/parallel/$${i}.out $(EXS_INSTDIR)/ida/parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/ida/parallel/$${i} $(EXS_INSTDIR)/ida/parallel/ ; \ + done + + uninstall: +@@ -90,7 +90,7 @@ + rm -f $(EXS_INSTDIR)/ida/parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/ida/parallel/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/ida/parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/ida/parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/ida/parallel + $(rminstalldirs) $(EXS_INSTDIR)/ida +Index: sundials-2.4.0/examples/ida/serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/ida/serial/Makefile.in 2009-05-10 02:22:51.000000000 +0200 ++++ sundials-2.4.0/examples/ida/serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -91,12 +91,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/serial/README $(EXS_INSTDIR)/ida/serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/serial/$${i}.c $(EXS_INSTDIR)/ida/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/ida/serial/$${i}.out $(EXS_INSTDIR)/ida/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/ida/serial/$${i} $(EXS_INSTDIR)/ida/serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/ida/serial/$${i}.c $(EXS_INSTDIR)/ida/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/ida/serial/$${i}.out $(EXS_INSTDIR)/ida/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/ida/serial/$${i} $(EXS_INSTDIR)/ida/serial/ ; \ + done ; \ + fi + +@@ -105,12 +105,12 @@ + rm -f $(EXS_INSTDIR)/ida/serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/ida/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/ida/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/ida/serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/ida/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/ida/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/ida/serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/ida/serial +Index: sundials-2.4.0/examples/idas/parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/idas/parallel/Makefile.in 2009-05-10 02:22:58.000000000 +0200 ++++ sundials-2.4.0/examples/idas/parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -86,7 +86,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/idas/parallel/README $(EXS_INSTDIR)/idas/parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/idas/parallel/$${i}.c $(EXS_INSTDIR)/idas/parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/idas/parallel/$${i}.out $(EXS_INSTDIR)/idas/parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/idas/parallel/$${i} $(EXS_INSTDIR)/idas/parallel/ ; \ + done + + uninstall: +@@ -94,7 +94,7 @@ + rm -f $(EXS_INSTDIR)/idas/parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/idas/parallel/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/idas/parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/idas/parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/idas/parallel + $(rminstalldirs) $(EXS_INSTDIR)/idas +Index: sundials-2.4.0/examples/idas/serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/idas/serial/Makefile.in 2009-05-10 02:22:58.000000000 +0200 ++++ sundials-2.4.0/examples/idas/serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -97,12 +97,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/idas/serial/README $(EXS_INSTDIR)/idas/serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/idas/serial/$${i}.c $(EXS_INSTDIR)/idas/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/idas/serial/$${i}.out $(EXS_INSTDIR)/idas/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/idas/serial/$${i} $(EXS_INSTDIR)/idas/serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/idas/serial/$${i}.c $(EXS_INSTDIR)/idas/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/idas/serial/$${i}.out $(EXS_INSTDIR)/idas/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/idas/serial/$${i} $(EXS_INSTDIR)/idas/serial/ ; \ + done ; \ + fi + +@@ -111,12 +111,12 @@ + rm -f $(EXS_INSTDIR)/idas/serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/idas/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/idas/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/idas/serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/idas/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/idas/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/idas/serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/idas/serial +Index: sundials-2.4.0/examples/kinsol/fcmix_parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/kinsol/fcmix_parallel/Makefile.in 2009-05-10 02:23:08.000000000 +0200 ++++ sundials-2.4.0/examples/kinsol/fcmix_parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -82,7 +82,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_parallel/README $(EXS_INSTDIR)/kinsol/fcmix_parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_parallel/$${i}.f $(EXS_INSTDIR)/kinsol/fcmix_parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_parallel/$${i}.out $(EXS_INSTDIR)/kinsol/fcmix_parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_parallel/$${i} $(EXS_INSTDIR)/kinsol/fcmix_parallel/ ; \ + done + + uninstall: +@@ -90,7 +90,7 @@ + rm -f $(EXS_INSTDIR)/kinsol/fcmix_parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/kinsol/fcmix_parallel/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/kinsol/fcmix_parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/kinsol/fcmix_parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/kinsol/fcmix_parallel + $(rminstalldirs) $(EXS_INSTDIR)/kinsol +Index: sundials-2.4.0/examples/kinsol/fcmix_serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/kinsol/fcmix_serial/Makefile.in 2009-05-10 02:23:08.000000000 +0200 ++++ sundials-2.4.0/examples/kinsol/fcmix_serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -90,12 +90,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_serial/README $(EXS_INSTDIR)/kinsol/fcmix_serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_serial/$${i}.f $(EXS_INSTDIR)/kinsol/fcmix_serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_serial/$${i}.out $(EXS_INSTDIR)/kinsol/fcmix_serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_serial/$${i} $(EXS_INSTDIR)/kinsol/fcmix_serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_serial/$${i}.f $(EXS_INSTDIR)/kinsol/fcmix_serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_serial/$${i}.out $(EXS_INSTDIR)/kinsol/fcmix_serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/fcmix_serial/$${i} $(EXS_INSTDIR)/kinsol/fcmix_serial/ ; \ + done ; \ + fi + +@@ -104,12 +104,12 @@ + rm -f $(EXS_INSTDIR)/kinsol/fcmix_serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/kinsol/fcmix_serial/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/kinsol/fcmix_serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/kinsol/fcmix_serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/kinsol/fcmix_serial/$${i}.f ; \ +- rm -f $(EXS_INSTDIR)/kinsol/fcmix_serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/kinsol/fcmix_serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/kinsol/fcmix_serial +Index: sundials-2.4.0/examples/kinsol/parallel/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/kinsol/parallel/Makefile.in 2009-05-10 02:23:08.000000000 +0200 ++++ sundials-2.4.0/examples/kinsol/parallel/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -80,7 +80,7 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/parallel/README $(EXS_INSTDIR)/kinsol/parallel/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/parallel/$${i}.c $(EXS_INSTDIR)/kinsol/parallel/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/parallel/$${i}.out $(EXS_INSTDIR)/kinsol/parallel/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/parallel/$${i} $(EXS_INSTDIR)/kinsol/parallel/ ; \ + done + + uninstall: +@@ -88,7 +88,7 @@ + rm -f $(EXS_INSTDIR)/kinsol/parallel/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/kinsol/parallel/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/kinsol/parallel/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/kinsol/parallel/$${i} ; \ + done + $(rminstalldirs) $(EXS_INSTDIR)/kinsol/parallel + $(rminstalldirs) $(EXS_INSTDIR)/kinsol +Index: sundials-2.4.0/examples/kinsol/serial/Makefile.in +=================================================================== +--- sundials-2.4.0.orig/examples/kinsol/serial/Makefile.in 2009-05-10 02:23:08.000000000 +0200 ++++ sundials-2.4.0/examples/kinsol/serial/Makefile.in 2010-03-02 13:40:30.000000000 +0100 +@@ -90,12 +90,12 @@ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/serial/README $(EXS_INSTDIR)/kinsol/serial/ + for i in ${EXAMPLES} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/serial/$${i}.c $(EXS_INSTDIR)/kinsol/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/serial/$${i}.out $(EXS_INSTDIR)/kinsol/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/serial/$${i} $(EXS_INSTDIR)/kinsol/serial/ ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/serial/$${i}.c $(EXS_INSTDIR)/kinsol/serial/ ; \ +- $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/serial/$${i}.out $(EXS_INSTDIR)/kinsol/serial/ ; \ ++ $(INSTALL_FILE) $(top_srcdir)/examples/kinsol/serial/$${i} $(EXS_INSTDIR)/kinsol/serial/ ; \ + done ; \ + fi + +@@ -104,12 +104,12 @@ + rm -f $(EXS_INSTDIR)/kinsol/serial/README + for i in ${EXAMPLES} ; do \ + rm -f $(EXS_INSTDIR)/kinsol/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/kinsol/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/kinsol/serial/$${i} ; \ + done + @if test "X${LAPACK_ENABLED}" = "Xyes"; then \ + for i in ${EXAMPLES_BL} ; do \ + rm -f $(EXS_INSTDIR)/kinsol/serial/$${i}.c ; \ +- rm -f $(EXS_INSTDIR)/kinsol/serial/$${i}.out ; \ ++ rm -f $(EXS_INSTDIR)/kinsol/serial/$${i} ; \ + done ; \ + fi + $(rminstalldirs) $(EXS_INSTDIR)/kinsol/serial +Index: sundials-2.5.0/Makefile.in +=================================================================== +--- sundials-2.5.0.orig/Makefile.in 2012-04-24 09:28:20.000000000 +0200 ++++ sundials-2.5.0/Makefile.in 2012-04-24 09:28:23.000000000 +0200 +@@ -59,9 +59,9 @@ + + install: + $(mkinstalldirs) $(bindir) +- $(INSTALL_PROG) $(top_builddir)/bin/sundials-config $(bindir)/ +- @if test -f $(top_builddir)/bin/fortran-update.sh ; then \ +- $(INSTALL_PROG) $(top_builddir)/bin/fortran-update.sh $(bindir)/ ;\ ++ $(INSTALL_PROG) $(top_srcdir)/bin/sundials-config $(bindir)/ ++ @if test -f $(top_srcdir)/bin/fortran-update.sh ; then \ ++ $(INSTALL_PROG) $(top_srcdir)/bin/fortran-update.sh $(bindir)/ ;\ + fi + @for i in ${SLV_MODULES} ; do \ + if test -d $${i} ; then \ --- sundials-2.5.0.orig/debian/patches/modern-ltmain.sh.patch +++ sundials-2.5.0/debian/patches/modern-ltmain.sh.patch @@ -0,0 +1,5878 @@ +Upgrade with the current version to solve the .so extension problem +(done by Andrey Romanenko) + + -- Rafael Laboissiere Mon, 8 May 2006 12:32:29 +0200 + +diff -Nur sundials/config/ltmain.sh sundials.new/config/ltmain.sh +--- sundials/config/ltmain.sh 2005-08-09 19:32:42.000000000 +0200 ++++ sundials.new/config/ltmain.sh 2006-05-05 08:23:35.225280328 +0200 +@@ -1,7 +1,7 @@ + # ltmain.sh - Provide generalized library-building support services. + # NOTE: Changing this file will not affect anything until you rerun configure. + # +-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 ++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 + # Free Software Foundation, Inc. + # Originally by Gordon Matzigkeit , 1996 + # +@@ -17,13 +17,42 @@ + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a + # configuration script generated by Autoconf, you may include it under + # the same distribution terms that you use for the rest of that program. + ++SED=/bin/sed ++basename="s,^.*/,,g" ++ ++# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh ++# is ksh but when the shell is invoked as "sh" and the current value of ++# the _XPG environment variable is not equal to 1 (one), the special ++# positional parameter $0, within a function call, is the name of the ++# function. ++progpath="$0" ++ ++# The name of this program: ++progname=`echo "$progpath" | $SED $basename` ++modename="$progname" ++ ++# Global variables: ++EXIT_SUCCESS=0 ++EXIT_FAILURE=1 ++ ++PROGRAM=ltmain.sh ++PACKAGE=libtool ++VERSION="1.5.22 Debian 1.5.22-4" ++TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" ++ ++# See if we are running on zsh, and set the options which allow our ++# commands through without removal of \ escapes. ++if test -n "${ZSH_VERSION+set}" ; then ++ setopt NO_GLOB_SUBST ++fi ++ + # Check that we have a working $echo. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. +@@ -36,7 +65,7 @@ + : + else + # Restart under the correct shell, and then maybe $echo will work. +- exec $SHELL "$0" --no-reexec ${1+"$@"} ++ exec $SHELL "$progpath" --no-reexec ${1+"$@"} + fi + + if test "X$1" = X--fallback-echo; then +@@ -45,19 +74,9 @@ + cat <&2 +- echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 +- exit 1 +-fi + + # Global variables. + mode=$default_mode +@@ -111,11 +128,268 @@ + show="$echo" + show_help= + execute_dlfiles= ++duplicate_deps=no ++preserve_args= + lo2o="s/\\.lo\$/.${objext}/" + o2lo="s/\\.${objext}\$/.lo/" + ++##################################### ++# Shell function definitions: ++# This seems to be the best place for them ++ ++# func_mktempdir [string] ++# Make a temporary directory that won't clash with other running ++# libtool processes, and avoids race conditions if possible. If ++# given, STRING is the basename for that directory. ++func_mktempdir () ++{ ++ my_template="${TMPDIR-/tmp}/${1-$progname}" ++ ++ if test "$run" = ":"; then ++ # Return a directory name, but don't create it in dry-run mode ++ my_tmpdir="${my_template}-$$" ++ else ++ ++ # If mktemp works, use that first and foremost ++ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` ++ ++ if test ! -d "$my_tmpdir"; then ++ # Failing that, at least try and use $RANDOM to avoid a race ++ my_tmpdir="${my_template}-${RANDOM-0}$$" ++ ++ save_mktempdir_umask=`umask` ++ umask 0077 ++ $mkdir "$my_tmpdir" ++ umask $save_mktempdir_umask ++ fi ++ ++ # If we're not in dry-run mode, bomb out on failure ++ test -d "$my_tmpdir" || { ++ $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 ++ exit $EXIT_FAILURE ++ } ++ fi ++ ++ $echo "X$my_tmpdir" | $Xsed ++} ++ ++ ++# func_win32_libid arg ++# return the library type of file 'arg' ++# ++# Need a lot of goo to handle *both* DLLs and import libs ++# Has to be a shell function in order to 'eat' the argument ++# that is supplied when $file_magic_command is called. ++func_win32_libid () ++{ ++ win32_libid_type="unknown" ++ win32_fileres=`file -L $1 2>/dev/null` ++ case $win32_fileres in ++ *ar\ archive\ import\ library*) # definitely import ++ win32_libid_type="x86 archive import" ++ ;; ++ *ar\ archive*) # could be an import, or static ++ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ ++ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then ++ win32_nmres=`eval $NM -f posix -A $1 | \ ++ $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` ++ case $win32_nmres in ++ import*) win32_libid_type="x86 archive import";; ++ *) win32_libid_type="x86 archive static";; ++ esac ++ fi ++ ;; ++ *DLL*) ++ win32_libid_type="x86 DLL" ++ ;; ++ *executable*) # but shell scripts are "executable" too... ++ case $win32_fileres in ++ *MS\ Windows\ PE\ Intel*) ++ win32_libid_type="x86 DLL" ++ ;; ++ esac ++ ;; ++ esac ++ $echo $win32_libid_type ++} ++ ++ ++# func_infer_tag arg ++# Infer tagged configuration to use if any are available and ++# if one wasn't chosen via the "--tag" command line option. ++# Only attempt this if the compiler in the base compile ++# command doesn't match the default compiler. ++# arg is usually of the form 'gcc ...' ++func_infer_tag () ++{ ++ if test -n "$available_tags" && test -z "$tagname"; then ++ CC_quoted= ++ for arg in $CC; do ++ case $arg in ++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") ++ arg="\"$arg\"" ++ ;; ++ esac ++ CC_quoted="$CC_quoted $arg" ++ done ++ case $@ in ++ # Blanks in the command may have been stripped by the calling shell, ++ # but not from the CC environment variable when configure was run. ++ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; ++ # Blanks at the start of $base_compile will cause this to fail ++ # if we don't check for them as well. ++ *) ++ for z in $available_tags; do ++ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then ++ # Evaluate the configuration. ++ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" ++ CC_quoted= ++ for arg in $CC; do ++ # Double-quote args containing other shell metacharacters. ++ case $arg in ++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") ++ arg="\"$arg\"" ++ ;; ++ esac ++ CC_quoted="$CC_quoted $arg" ++ done ++ case "$@ " in ++ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ++ # The compiler in the base compile command matches ++ # the one in the tagged configuration. ++ # Assume this is the tagged configuration we want. ++ tagname=$z ++ break ++ ;; ++ esac ++ fi ++ done ++ # If $tagname still isn't set, then no tagged configuration ++ # was found and let the user know that the "--tag" command ++ # line option must be used. ++ if test -z "$tagname"; then ++ $echo "$modename: unable to infer tagged configuration" ++ $echo "$modename: specify a tag with \`--tag'" 1>&2 ++ exit $EXIT_FAILURE ++# else ++# $echo "$modename: using $tagname tagged configuration" ++ fi ++ ;; ++ esac ++ fi ++} ++ ++ ++# func_extract_an_archive dir oldlib ++func_extract_an_archive () ++{ ++ f_ex_an_ar_dir="$1"; shift ++ f_ex_an_ar_oldlib="$1" ++ ++ $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" ++ $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? ++ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then ++ : ++ else ++ $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 ++ exit $EXIT_FAILURE ++ fi ++} ++ ++# func_extract_archives gentop oldlib ... ++func_extract_archives () ++{ ++ my_gentop="$1"; shift ++ my_oldlibs=${1+"$@"} ++ my_oldobjs="" ++ my_xlib="" ++ my_xabs="" ++ my_xdir="" ++ my_status="" ++ ++ $show "${rm}r $my_gentop" ++ $run ${rm}r "$my_gentop" ++ $show "$mkdir $my_gentop" ++ $run $mkdir "$my_gentop" ++ my_status=$? ++ if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then ++ exit $my_status ++ fi ++ ++ for my_xlib in $my_oldlibs; do ++ # Extract the objects. ++ case $my_xlib in ++ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; ++ *) my_xabs=`pwd`"/$my_xlib" ;; ++ esac ++ my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` ++ my_xdir="$my_gentop/$my_xlib" ++ ++ $show "${rm}r $my_xdir" ++ $run ${rm}r "$my_xdir" ++ $show "$mkdir $my_xdir" ++ $run $mkdir "$my_xdir" ++ exit_status=$? ++ if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then ++ exit $exit_status ++ fi ++ case $host in ++ *-darwin*) ++ $show "Extracting $my_xabs" ++ # Do not bother doing anything if just a dry run ++ if test -z "$run"; then ++ darwin_orig_dir=`pwd` ++ cd $my_xdir || exit $? ++ darwin_archive=$my_xabs ++ darwin_curdir=`pwd` ++ darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` ++ darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` ++ if test -n "$darwin_arches"; then ++ darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` ++ darwin_arch= ++ $show "$darwin_base_archive has multiple architectures $darwin_arches" ++ for darwin_arch in $darwin_arches ; do ++ mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" ++ lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" ++ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" ++ func_extract_an_archive "`pwd`" "${darwin_base_archive}" ++ cd "$darwin_curdir" ++ $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" ++ done # $darwin_arches ++ ## Okay now we have a bunch of thin objects, gotta fatten them up :) ++ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` ++ darwin_file= ++ darwin_files= ++ for darwin_file in $darwin_filelist; do ++ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` ++ lipo -create -output "$darwin_file" $darwin_files ++ done # $darwin_filelist ++ ${rm}r unfat-$$ ++ cd "$darwin_orig_dir" ++ else ++ cd "$darwin_orig_dir" ++ func_extract_an_archive "$my_xdir" "$my_xabs" ++ fi # $darwin_arches ++ fi # $run ++ ;; ++ *) ++ func_extract_an_archive "$my_xdir" "$my_xabs" ++ ;; ++ esac ++ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` ++ done ++ func_extract_archives_result="$my_oldobjs" ++} ++# End of Shell function definitions ++##################################### ++ ++# Darwin sucks ++eval std_shrext=\"$shrext_cmds\" ++ ++disable_libs=no ++ + # Parse our command line options once, thoroughly. +-while test $# -gt 0 ++while test "$#" -gt 0 + do + arg="$1" + shift +@@ -131,6 +405,34 @@ + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; ++ tag) ++ tagname="$arg" ++ preserve_args="${preserve_args}=$arg" ++ ++ # Check whether tagname contains only valid characters ++ case $tagname in ++ *[!-_A-Za-z0-9,/]*) ++ $echo "$progname: invalid tag name: $tagname" 1>&2 ++ exit $EXIT_FAILURE ++ ;; ++ esac ++ ++ case $tagname in ++ CC) ++ # Don't test for the "default" C tag, as we know, it's there, but ++ # not specially marked. ++ ;; ++ *) ++ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then ++ taglist="$taglist $tagname" ++ # Evaluate the configuration. ++ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" ++ else ++ $echo "$progname: ignoring unknown tag $tagname" 1>&2 ++ fi ++ ;; ++ esac ++ ;; + *) + eval "$prev=\$arg" + ;; +@@ -148,18 +450,27 @@ + ;; + + --version) +- echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" +- exit 0 ++ $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" ++ $echo ++ $echo "Copyright (C) 2005 Free Software Foundation, Inc." ++ $echo "This is free software; see the source for copying conditions. There is NO" ++ $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." ++ exit $? + ;; + + --config) +- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 +- exit 0 ++ ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath ++ # Now print the configurations for the tags. ++ for tagname in $taglist; do ++ ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" ++ done ++ exit $? + ;; + + --debug) +- echo "$progname: enabling shell trace mode" ++ $echo "$progname: enabling shell trace mode" + set -x ++ preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) +@@ -167,18 +478,18 @@ + ;; + + --features) +- echo "host: $host" ++ $echo "host: $host" + if test "$build_libtool_libs" = yes; then +- echo "enable shared libraries" ++ $echo "enable shared libraries" + else +- echo "disable shared libraries" ++ $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then +- echo "enable static libraries" ++ $echo "enable static libraries" + else +- echo "disable static libraries" ++ $echo "disable static libraries" + fi +- exit 0 ++ exit $? + ;; + + --finish) mode="finish" ;; +@@ -190,6 +501,19 @@ + + --quiet | --silent) + show=: ++ preserve_args="$preserve_args $arg" ++ ;; ++ ++ --tag) ++ prevopt="--tag" ++ prev=tag ++ preserve_args="$preserve_args --tag" ++ ;; ++ --tag=*) ++ set tag "$optarg" ${1+"$@"} ++ shift ++ prev=tag ++ preserve_args="$preserve_args --tag" + ;; + + -dlopen) +@@ -200,7 +524,7 @@ + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + + *) +@@ -213,9 +537,21 @@ + if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + ++case $disable_libs in ++no) ++ ;; ++shared) ++ build_libtool_libs=no ++ build_old_libs=yes ++ ;; ++static) ++ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ++ ;; ++esac ++ + # 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. +@@ -225,8 +561,10 @@ + + # Infer the operation mode. + if test -z "$mode"; then ++ $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 ++ $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in +- *cc | *++ | gcc* | *-gcc* | xlc*) ++ *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do +@@ -267,7 +605,7 @@ + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. +@@ -281,158 +619,127 @@ + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= +- prev= +- lastarg= +- srcfile="$nonopt" ++ srcfile="$nonopt" # always keep a non-empty value in "srcfile" ++ suppress_opt=yes + suppress_output= ++ arg_mode=normal ++ libobj= ++ later= + +- 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 ++ case $arg_mode in ++ arg ) ++ # do not "continue". Instead, add this to base_compile ++ lastarg="$arg" ++ arg_mode=normal + ;; + +- -static) +- build_old_libs=yes ++ target ) ++ libobj="$arg" ++ arg_mode=normal + continue + ;; + +- -prefer-pic) +- pic_mode=yes +- continue +- ;; ++ normal ) ++ # Accept any command-line options. ++ case $arg in ++ -o) ++ if test -n "$libobj" ; then ++ $echo "$modename: you cannot specify \`-o' more than once" 1>&2 ++ exit $EXIT_FAILURE ++ fi ++ arg_mode=target ++ continue ++ ;; + +- -prefer-non-pic) +- pic_mode=no +- continue +- ;; ++ -static | -prefer-pic | -prefer-non-pic) ++ later="$later $arg" ++ continue ++ ;; + +- -Xcompiler) +- prev=xcompiler +- continue +- ;; ++ -no-suppress) ++ suppress_opt=no ++ continue ++ ;; + +- -Wc,*) +- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` +- lastarg= +- save_ifs="$IFS"; IFS=',' +- for arg in $args; do +- IFS="$save_ifs" ++ -Xcompiler) ++ arg_mode=arg # the next one goes into the "base_compile" arg list ++ continue # The current "srcfile" will either be retained or ++ ;; # replaced later. I would guess that would be a bug. ++ ++ -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/^ //"` ++ # 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 ++ # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" +- fi +- continue +- ;; +- esac ++ continue ++ ;; + +- 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 ++ * ) ++ # Accept the current argument as the source file. ++ # The previous "srcfile" becomes the current argument. ++ # ++ lastarg="$srcfile" ++ srcfile="$arg" ++ ;; ++ esac # case $arg + ;; +- esac +- +- # Accept the current argument as the source file. +- lastarg="$srcfile" +- srcfile="$arg" ++ esac # case $arg_mode + + # 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"` + ++ case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly +- # in scan sets, so we specify it separately. +- case $lastarg in ++ # in scan sets, and some SunOS ksh mistreat backslash-escaping ++ # in scan sets (worked around with variable expansion), ++ # and furthermore cannot handle '|' '&' '(' ')' in scan sets ++ # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + 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 ++ base_compile="$base_compile $lastarg" ++ done # for arg + +- case $user_target in +- set) ++ case $arg_mode in ++ arg) ++ $echo "$modename: you must specify an argument for -Xcompile" ++ exit $EXIT_FAILURE + ;; +- no) +- # Get the name of the library object. +- libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ++ target) ++ $echo "$modename: you must specify a target with \`-o'" 1>&2 ++ exit $EXIT_FAILURE + ;; + *) +- $echo "$modename: you must specify a target with \`-o'" 1>&2 +- exit 1 ++ # Get the name of the library object. ++ [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo +- xform='[cCFSfmso]' ++ xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; +@@ -440,10 +747,13 @@ + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; ++ *.ii) xform=ii ;; ++ *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; ++ *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` +@@ -452,25 +762,63 @@ + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + ++ func_infer_tag $base_compile ++ ++ for arg in $later; do ++ case $arg in ++ -static) ++ build_old_libs=yes ++ continue ++ ;; ++ ++ -prefer-pic) ++ pic_mode=yes ++ continue ++ ;; ++ ++ -prefer-non-pic) ++ pic_mode=no ++ continue ++ ;; ++ esac ++ done ++ ++ qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` ++ case $qlibobj in ++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") ++ qlibobj="\"$qlibobj\"" ;; ++ esac ++ test "X$libobj" != "X$qlibobj" \ ++ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ ++ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." ++ objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` ++ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$obj"; then ++ xdir= ++ else ++ xdir=$xdir/ ++ fi ++ lobj=${xdir}$objdir/$objname ++ + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then +- removelist="$obj $libobj" ++ removelist="$obj $lobj $libobj ${libobj}T" + else +- removelist="$libobj" ++ removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist +- trap "$run $rm $removelist; exit 1" 1 2 15 ++ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in +@@ -489,8 +837,9 @@ + 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 ++ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else ++ output_obj= + need_locks=no + lockfile= + fi +@@ -498,13 +847,13 @@ + # 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 ++ until $run ln "$progpath" "$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 "\ ++ $echo "\ + *** ERROR, $lockfile exists and contains: + `cat $lockfile 2>/dev/null` + +@@ -516,14 +865,33 @@ + compiler." + + $run $rm $removelist +- exit 1 ++ exit $EXIT_FAILURE + fi +- echo $srcfile > "$lockfile" ++ $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi ++ qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` ++ case $qsrcfile in ++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") ++ qsrcfile="\"$qsrcfile\"" ;; ++ esac ++ ++ $run $rm "$libobj" "${libobj}T" ++ ++ # Create a libtool object file (analogous to a ".la" file), ++ # but don't create it if we're doing a dry run. ++ test -z "$run" && cat > ${libobj}T </dev/null`" != x"$srcfile"; then +- echo "\ ++ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then ++ $echo "\ + *** ERROR, $lockfile contains: + `cat $lockfile 2>/dev/null` + +@@ -592,13 +945,13 @@ + compiler." + + $run $rm $removelist +- exit 1 ++ exit $EXIT_FAILURE + 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 : ++ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then ++ $show "$mv $output_obj $lobj" ++ if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist +@@ -606,77 +959,50 @@ + 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 ++ # Append the name of the PIC object to the libtool object file. ++ test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != x"$srcfile"; then +- echo "\ ++ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then ++ $echo "\ + *** ERROR, $lockfile contains: + `cat $lockfile 2>/dev/null` + +@@ -691,11 +1017,11 @@ + compiler." + + $run $rm $removelist +- exit 1 ++ exit $EXIT_FAILURE + fi + + # Just move the object if needed +- if test x"$output_obj" != x"$obj"; then ++ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else +@@ -705,29 +1031,31 @@ + 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 ++ # Append the name of the non-PIC object the libtool object file. ++ # Only append if the libtool object file exists. ++ test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null 2>&1; then ++ pic_object= ++ non_pic_object= ++ ++ # Read the .lo file ++ # If there is no directory component, then add one. ++ case $arg in ++ */* | *\\*) . $arg ;; ++ *) . ./$arg ;; ++ esac ++ ++ if test -z "$pic_object" || \ ++ test -z "$non_pic_object" || ++ test "$pic_object" = none && \ ++ test "$non_pic_object" = none; then ++ $echo "$modename: cannot find name of object for \`$arg'" 1>&2 ++ exit $EXIT_FAILURE ++ fi ++ ++ # Extract subdirectory from the argument. ++ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$arg"; then ++ xdir= ++ else ++ xdir="$xdir/" ++ fi ++ ++ if test "$pic_object" != none; then ++ # Prepend the subdirectory the object is found in. ++ pic_object="$xdir$pic_object" ++ ++ if test "$prev" = dlfiles; then ++ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then ++ dlfiles="$dlfiles $pic_object" ++ prev= ++ continue ++ else ++ # If libtool objects are unsupported, then we need to preload. ++ prev=dlprefiles ++ fi ++ fi ++ ++ # CHECK ME: I think I busted this. -Ossama ++ if test "$prev" = dlprefiles; then ++ # Preload the old-style object. ++ dlprefiles="$dlprefiles $pic_object" ++ prev= ++ fi ++ ++ # A PIC object. ++ libobjs="$libobjs $pic_object" ++ arg="$pic_object" ++ fi ++ ++ # Non-PIC object. ++ if test "$non_pic_object" != none; then ++ # Prepend the subdirectory the object is found in. ++ non_pic_object="$xdir$non_pic_object" ++ ++ # A standard non-PIC object ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ if test -z "$pic_object" || test "$pic_object" = none ; then ++ arg="$non_pic_object" ++ fi ++ else ++ # If the PIC object exists, use it instead. ++ # $xdir was prepended to $pic_object above. ++ non_pic_object="$pic_object" ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ fi ++ else ++ # Only an error if not doing a dry-run. ++ if test -z "$run"; then ++ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 ++ exit $EXIT_FAILURE ++ else ++ # Dry-run case. ++ ++ # Extract subdirectory from the argument. ++ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$arg"; then ++ xdir= ++ else ++ xdir="$xdir/" ++ fi ++ ++ pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` ++ non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` ++ libobjs="$libobjs $pic_object" ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ fi ++ fi ++ done ++ else ++ $echo "$modename: link input file \`$save_arg' does not exist" ++ exit $EXIT_FAILURE ++ fi ++ arg=$save_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 ++ exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then +@@ -941,13 +1400,33 @@ + finalize_command="$finalize_command $wl$qarg" + continue + ;; ++ xcclinker) ++ linker_flags="$linker_flags $qarg" ++ compiler_flags="$compiler_flags $qarg" ++ prev= ++ compile_command="$compile_command $qarg" ++ finalize_command="$finalize_command $qarg" ++ continue ++ ;; ++ shrext) ++ shrext_cmds="$arg" ++ prev= ++ continue ++ ;; ++ darwin_framework|darwin_framework_skip) ++ test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" ++ compile_command="$compile_command $arg" ++ finalize_command="$finalize_command $arg" ++ prev= ++ continue ++ ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac +- fi # test -n $prev ++ fi # test -n "$prev" + + prevarg="$arg" + +@@ -989,7 +1468,7 @@ + -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 ++ exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms +@@ -999,11 +1478,28 @@ + continue + ;; + ++ -framework|-arch|-isysroot) ++ case " $CC " in ++ *" ${arg} ${1} "* | *" ${arg} ${1} "*) ++ prev=darwin_framework_skip ;; ++ *) compiler_flags="$compiler_flags $arg" ++ prev=darwin_framework ;; ++ esac ++ compile_command="$compile_command $arg" ++ finalize_command="$finalize_command $arg" ++ 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*) ++ no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; +@@ -1020,7 +1516,8 @@ + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 +- exit 1 ++ absdir="$dir" ++ notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; +@@ -1034,10 +1531,15 @@ + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) ++ testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac ++ case :$dllsearchpath: in ++ *":$testbindir:"*) ;; ++ *) dllsearchpath="$dllsearchpath:$testbindir";; ++ esac + ;; + esac + continue +@@ -1046,36 +1548,98 @@ + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in +- *-*-cygwin* | *-*-pw32* | *-*-beos*) ++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; +- *-*-mingw* | *-*-os2*) ++ *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; +- *-*-openbsd* | *-*-freebsd*) ++ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; +- esac +- elif test "X$arg" = "X-lc_r"; then +- case $host in +- *-*-openbsd* | *-*-freebsd*) +- # Do not include libc_r directly, use -pthread flag. ++ *-*-rhapsody* | *-*-darwin1.[012]) ++ # Rhapsody C and math libraries are in the System framework ++ deplibs="$deplibs -framework System" + continue + ;; ++ *-*-sco3.2v5* | *-*-sco5v6*) ++ # Causes problems with __ctype ++ test "X$arg" = "X-lc" && continue ++ ;; ++ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) ++ # Compiler inserts libc in the correct place for threads to work ++ test "X$arg" = "X-lc" && continue ++ ;; + esac ++ elif test "X$arg" = "X-lc_r"; then ++ case $host in ++ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) ++ # Do not include libc_r directly, use -pthread flag. ++ continue ++ ;; ++ esac + fi + deplibs="$deplibs $arg" + continue + ;; + ++ # Tru64 UNIX uses -model [arg] to determine the layout of C++ ++ # classes, name mangling, and exception handling. ++ -model) ++ compile_command="$compile_command $arg" ++ compiler_flags="$compiler_flags $arg" ++ finalize_command="$finalize_command $arg" ++ prev=xcompiler ++ continue ++ ;; ++ ++ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) ++ compiler_flags="$compiler_flags $arg" ++ compile_command="$compile_command $arg" ++ finalize_command="$finalize_command $arg" ++ continue ++ ;; ++ + -module) + module=yes + continue + ;; + ++ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler ++ # -r[0-9][0-9]* specifies the processor on the SGI compiler ++ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler ++ # +DA*, +DD* enable 64-bit mode on the HP compiler ++ # -q* pass through compiler args for the IBM compiler ++ # -m* pass through architecture-specific compiler args for GCC ++ # -m*, -t[45]*, -txscale* pass through architecture-specific ++ # compiler args for GCC ++ # -pg pass through profiling flag for GCC ++ # @file GCC response files ++ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ ++ -t[45]*|-txscale*|@*) ++ ++ # 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 ++ compile_command="$compile_command $arg" ++ finalize_command="$finalize_command $arg" ++ compiler_flags="$compiler_flags $arg" ++ continue ++ ;; ++ ++ -shrext) ++ prev=shrext ++ continue ++ ;; ++ + -no-fast-install) + fast_install=no + continue +@@ -1100,8 +1664,18 @@ + continue + ;; + ++ -objectlist) ++ prev=objectlist ++ continue ++ ;; ++ + -o) prev=output ;; + ++ -precious-files-regex) ++ prev=precious_regex ++ continue ++ ;; ++ + -release) + prev=release + continue +@@ -1124,7 +1698,7 @@ + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in +@@ -1152,6 +1726,11 @@ + prev=vinfo + continue + ;; ++ -version-number) ++ prev=vinfo ++ vinfo_number=yes ++ continue ++ ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` +@@ -1200,6 +1779,11 @@ + continue + ;; + ++ -XCClinker) ++ prev=xcclinker ++ continue ++ ;; ++ + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need +@@ -1212,29 +1796,106 @@ + 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 ++ *.$objext) ++ # A standard object. ++ objs="$objs $arg" ++ ;; ++ ++ *.lo) ++ # A libtool-controlled object. ++ ++ # Check to see that this really is a libtool object. ++ if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ++ pic_object= ++ non_pic_object= ++ ++ # Read the .lo file ++ # If there is no directory component, then add one. ++ case $arg in ++ */* | *\\*) . $arg ;; ++ *) . ./$arg ;; ++ esac ++ ++ if test -z "$pic_object" || \ ++ test -z "$non_pic_object" || ++ test "$pic_object" = none && \ ++ test "$non_pic_object" = none; then ++ $echo "$modename: cannot find name of object for \`$arg'" 1>&2 ++ exit $EXIT_FAILURE ++ fi ++ ++ # Extract subdirectory from the argument. ++ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$arg"; then ++ xdir= ++ else ++ xdir="$xdir/" ++ fi ++ ++ if test "$pic_object" != none; then ++ # Prepend the subdirectory the object is found in. ++ pic_object="$xdir$pic_object" ++ ++ if test "$prev" = dlfiles; then ++ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then ++ dlfiles="$dlfiles $pic_object" ++ prev= ++ continue ++ else ++ # If libtool objects are unsupported, then we need to preload. ++ prev=dlprefiles ++ fi ++ fi ++ ++ # CHECK ME: I think I busted this. -Ossama ++ if test "$prev" = dlprefiles; then ++ # Preload the old-style object. ++ dlprefiles="$dlprefiles $pic_object" ++ prev= ++ fi ++ ++ # A PIC object. ++ libobjs="$libobjs $pic_object" ++ arg="$pic_object" + fi +- fi + +- if test "$prev" = dlprefiles; then +- # Preload the old-style object. +- dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` +- prev= ++ # Non-PIC object. ++ if test "$non_pic_object" != none; then ++ # Prepend the subdirectory the object is found in. ++ non_pic_object="$xdir$non_pic_object" ++ ++ # A standard non-PIC object ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ if test -z "$pic_object" || test "$pic_object" = none ; then ++ arg="$non_pic_object" ++ fi ++ else ++ # If the PIC object exists, use it instead. ++ # $xdir was prepended to $pic_object above. ++ non_pic_object="$pic_object" ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ fi + else +- case $arg in +- *.lo) libobjs="$libobjs $arg" ;; +- *) objs="$objs $arg" ;; +- esac ++ # Only an error if not doing a dry-run. ++ if test -z "$run"; then ++ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 ++ exit $EXIT_FAILURE ++ else ++ # Dry-run case. ++ ++ # Extract subdirectory from the argument. ++ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$arg"; then ++ xdir= ++ else ++ xdir="$xdir/" ++ fi ++ ++ pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` ++ non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` ++ libobjs="$libobjs $pic_object" ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ fi + fi + ;; + +@@ -1285,7 +1946,7 @@ + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then +@@ -1294,6 +1955,7 @@ + finalize_command="$finalize_command $arg" + fi + ++ oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" +@@ -1314,12 +1976,12 @@ + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. +- if test ! -d $output_objdir; then ++ 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 ++ exit_status=$? ++ if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then ++ exit $exit_status + fi + fi + +@@ -1328,7 +1990,7 @@ + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; +@@ -1336,7 +1998,17 @@ + *) linkmode=prog ;; # Anything else should be a program. + esac + ++ case $host in ++ *cygwin* | *mingw* | *pw32*) ++ # don't eliminate duplications in $postdeps and $predeps ++ duplicate_compiler_generated_deps=yes ++ ;; ++ *) ++ duplicate_compiler_generated_deps=$duplicate_deps ++ ;; ++ esac + specialdeplibs= ++ + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) +@@ -1348,12 +2020,30 @@ + fi + libs="$libs $deplib" + done ++ ++ if test "$linkmode" = lib; then ++ libs="$predeps $libs $compiler_lib_search_path $postdeps" ++ ++ # Compute libraries that are listed more than once in $predeps ++ # $postdeps and mark them as special (i.e., whose duplicates are ++ # not to be eliminated). ++ pre_post_deps= ++ if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then ++ for pre_post_dep in $predeps $postdeps; do ++ case "$pre_post_deps " in ++ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; ++ esac ++ pre_post_deps="$pre_post_deps $pre_post_dep" ++ done ++ fi ++ pre_post_deps= ++ fi ++ + 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" +@@ -1362,7 +2052,7 @@ + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + done +@@ -1379,39 +2069,58 @@ + ;; + esac + for pass in $passes; do +- if test $linkmode = prog; then +- # Determine which files to process ++ if test "$linkmode,$pass" = "lib,link" || ++ test "$linkmode,$pass" = "prog,scan"; then ++ libs="$deplibs" ++ deplibs= ++ fi ++ if test "$linkmode" = prog; then + case $pass in +- dlopen) +- libs="$dlfiles" +- save_deplibs="$deplibs" # Collect dlpreopened libraries +- deplibs= +- ;; ++ dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; +- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; ++ link) ++ libs="$deplibs %DEPLIBS%" ++ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ++ ;; + esac + fi ++ if test "$pass" = dlopen; then ++ # Collect dlpreopened libraries ++ save_deplibs="$deplibs" ++ deplibs= ++ 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 ++ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) ++ if test "$linkmode,$pass" = "prog,link"; then ++ compile_deplibs="$deplib $compile_deplibs" ++ finalize_deplibs="$deplib $finalize_deplibs" ++ else ++ compiler_flags="$compiler_flags $deplib" + fi +- if test $pass = conv; then +- deplibs="$deplib $deplibs" ++ continue ++ ;; ++ -l*) ++ if test "$linkmode" != lib && test "$linkmode" != prog; then ++ $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + 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 ++ for search_ext in .la $std_shrext .so .a; do ++ # Search the libtool library ++ lib="$searchdir/lib${name}${search_ext}" ++ if test -f "$lib"; then ++ if test "$search_ext" = ".la"; then ++ found=yes ++ else ++ found=no ++ fi ++ break 2 ++ fi ++ done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library +@@ -1420,40 +2129,76 @@ + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" +- test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" ++ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue ++ else # deplib is a libtool library ++ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, ++ # We need to do some special things here, and not later. ++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ++ case " $predeps $postdeps " in ++ *" $deplib "*) ++ if (${SED} -e '2q' $lib | ++ grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ++ library_names= ++ old_library= ++ case $lib in ++ */* | *\\*) . $lib ;; ++ *) . ./$lib ;; ++ esac ++ for l in $old_library $library_names; do ++ ll="$l" ++ done ++ if test "X$ll" = "X$old_library" ; then # only static version available ++ found=no ++ ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` ++ test "X$ladir" = "X$lib" && ladir="." ++ lib=$ladir/$old_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 ++ fi ++ ;; ++ *) ;; ++ esac ++ fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" +- test $pass = conv && continue ++ 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 ++ if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi +- if test $pass = scan; then ++ 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 ++ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) +- $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 ++ $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) +- if test $pass = link; then ++ if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in +@@ -1466,30 +2211,45 @@ + ;; + *.la) lib="$deplib" ;; + *.$libext) +- if test $pass = conv; then ++ 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." ++ valid_a_lib=no ++ case $deplibs_check_method in ++ match_pattern*) ++ set dummy $deplibs_check_method ++ match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` ++ if eval $echo \"$deplib\" 2>/dev/null \ ++ | $SED 10q \ ++ | $EGREP "$match_pattern_regex" > /dev/null; then ++ valid_a_lib=yes ++ fi ++ ;; ++ pass_all) ++ valid_a_lib=yes ++ ;; ++ esac ++ if test "$valid_a_lib" != yes; then ++ $echo ++ $echo "*** Warning: Trying to link with static lib archive $deplib." ++ $echo "*** I have the capability to make that library automatically link in when" ++ $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!" ++ $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 ++ if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" +@@ -1500,14 +2260,18 @@ + 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" ++ if test "$pass" = conv; then ++ deplibs="$deplib $deplibs" ++ elif test "$linkmode" = prog; then ++ 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 + fi + continue + ;; +@@ -1516,17 +2280,17 @@ + continue + ;; + esac # case $deplib +- if test $found = yes || test -f "$lib"; then : ++ if test "$found" = yes || test -f "$lib"; then : + else +- $echo "$modename: cannot find the library \`$lib'" 1>&2 +- exit 1 ++ $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 ++ exit $EXIT_FAILURE + 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 : ++ if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` +@@ -1539,8 +2303,11 @@ + library_names= + old_library= + # If the library was installed with an old release of libtool, +- # it will not redefine variable installed. ++ # it will not redefine variables installed, or shouldnotlink + installed=yes ++ shouldnotlink=no ++ avoidtemprpath= ++ + + # Read the .la file + case $lib in +@@ -1550,19 +2317,18 @@ + + 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 "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + +- if test $pass = conv; then ++ 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 ++ exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" +@@ -1577,13 +2343,14 @@ + fi + tmp_libs="$tmp_libs $deplib" + done +- elif test $linkmode != prog && test $linkmode != lib; then ++ elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + ++ + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do +@@ -1591,19 +2358,23 @@ + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. +- if test $pass = dlopen; then ++ if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi +- if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then ++ 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" ++ # statically, we need to preload. We also need to preload any ++ # dependent libraries so libltdl's deplib preloader doesn't ++ # bomb out in the load deplibs phase. ++ dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi +@@ -1635,19 +2406,27 @@ + dir="$libdir" + absdir="$libdir" + fi ++ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else +- dir="$ladir/$objdir" +- absdir="$abs_ladir/$objdir" +- # Remove this search path later +- notinst_path="$notinst_path $abs_ladir" ++ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then ++ dir="$ladir" ++ absdir="$abs_ladir" ++ # Remove this search path later ++ notinst_path="$notinst_path $abs_ladir" ++ else ++ dir="$ladir/$objdir" ++ absdir="$abs_ladir/$objdir" ++ # Remove this search path later ++ notinst_path="$notinst_path $abs_ladir" ++ fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. +- if test $pass = dlpreopen; then ++ if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). +@@ -1663,18 +2442,19 @@ + + if test -z "$libdir"; then + # Link the convenience library +- if test $linkmode = lib; then ++ 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" ++ deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + +- if test $linkmode = prog && test $pass != link; then ++ ++ if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + +@@ -1690,7 +2470,7 @@ + -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 ++ if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths +@@ -1707,13 +2487,19 @@ + 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"; then ++ if test -n "$library_names" && ++ { test "$prefer_static_libs" = no || test -z "$old_library"; }; then ++ # We need to hardcode the library path ++ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then ++ # Make sure the rpath contains only unique directories. ++ case "$temp_rpath " in ++ *" $dir "*) ;; ++ *" $absdir "*) ;; ++ *) temp_rpath="$temp_rpath $absdir" ;; ++ esac ++ fi + +- 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. +@@ -1735,17 +2521,6 @@ + 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 && +@@ -1755,11 +2530,56 @@ + # We only need to search for static libraries + continue + fi ++ fi + ++ link_static=no # Whether the deplib will be linked statically ++ use_static_libs=$prefer_static_libs ++ if test "$use_static_libs" = built && test "$installed" = yes ; then ++ use_static_libs=no ++ fi ++ if test -n "$library_names" && ++ { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi ++ # This is a shared library ++ ++ # Warn about portability, can't link against -module's on ++ # some systems (darwin) ++ if test "$shouldnotlink" = yes && test "$pass" = link ; then ++ $echo ++ if test "$linkmode" = prog; then ++ $echo "*** Warning: Linking the executable $output against the loadable module" ++ else ++ $echo "*** Warning: Linking the shared library $output against the loadable module" ++ fi ++ $echo "*** $linklib is not portable!" ++ fi ++ if 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 ++ fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname +@@ -1773,7 +2593,7 @@ + elif test -n "$soname_spec"; then + # bleh windows + case $host in +- *cygwin*) ++ *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; +@@ -1785,17 +2605,18 @@ + + # 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" ++ 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\" ++ cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done +@@ -1806,9 +2627,10 @@ + 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\" ++ cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done +@@ -1817,9 +2639,9 @@ + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib +- fi # test -n $old_archive_from_expsyms_cmds ++ fi # test -n "$old_archive_from_expsyms_cmds" + +- if test $linkmode = prog || test "$mode" != relink; then ++ if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= +@@ -1828,6 +2650,26 @@ + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" ++ case $host in ++ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; ++ *-*-sysv4*uw2*) add_dir="-L$dir" ;; ++ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ ++ *-*-unixware7*) add_dir="-L$dir" ;; ++ *-*-darwin* ) ++ # if the lib is a module then we can not link against ++ # it, someone is ignoring the new warnings I added ++ if /usr/bin/file -L $add 2> /dev/null | ++ $EGREP ": [^:]* bundle" >/dev/null ; then ++ $echo "** Warning, lib $linklib is a module, not a shared library" ++ if test -z "$old_library" ; then ++ $echo ++ $echo "** And there doesn't seem to be a static archive available" ++ $echo "** The link will probably fail, sorry" ++ else ++ add="$dir/$old_library" ++ fi ++ fi ++ esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; +@@ -1846,6 +2688,14 @@ + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" ++ # Try looking first in the location we're being installed to. ++ if test -n "$inst_prefix_dir"; then ++ case $libdir in ++ [\\/]*) ++ add_dir="$add_dir -L$inst_prefix_dir$libdir" ++ ;; ++ esac ++ fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" +@@ -1859,7 +2709,7 @@ + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" +- exit 1 ++ exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then +@@ -1868,7 +2718,7 @@ + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi +- if test $linkmode = prog; then ++ if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else +@@ -1885,7 +2735,7 @@ + fi + fi + +- if test $linkmode = prog || test "$mode" = relink; then ++ if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= +@@ -1901,13 +2751,28 @@ + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" ++ elif test "$hardcode_automatic" = yes; then ++ if test -n "$inst_prefix_dir" && ++ test -f "$inst_prefix_dir$libdir/$linklib" ; then ++ add="$inst_prefix_dir$libdir/$linklib" ++ else ++ add="$libdir/$linklib" ++ fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" ++ # Try looking first in the location we're being installed to. ++ if test -n "$inst_prefix_dir"; then ++ case $libdir in ++ [\\/]*) ++ add_dir="$add_dir -L$inst_prefix_dir$libdir" ++ ;; ++ esac ++ fi + add="-l$name" + fi + +- if test $linkmode = prog; then ++ if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else +@@ -1915,16 +2780,7 @@ + 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 ++ elif test "$linkmode" = prog; then + # 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. +@@ -1944,21 +2800,21 @@ + + # 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." ++ $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." ++ $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." ++ $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 +@@ -1968,17 +2824,16 @@ + 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 "$linkmode" = lib; then + if test -n "$dependency_libs" && +- { test $hardcode_into_libs != yes || test $build_old_libs = yes || +- test $link_static = yes; }; then ++ { 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 +@@ -2009,7 +2864,7 @@ + tmp_libs="$tmp_libs $deplib" + done + +- if test $link_all_deplibs != no; then ++ if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in +@@ -2029,38 +2884,83 @@ + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then +- path="-L$absdir/$objdir" ++ path="$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 ++ exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi +- path="-L$absdir" ++ path="$absdir" + fi ++ depdepl= ++ case $host in ++ *-*-darwin*) ++ # we do not want to link against static libs, ++ # but need to link against shared ++ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` ++ if test -n "$deplibrary_names" ; then ++ for tmp in $deplibrary_names ; do ++ depdepl=$tmp ++ done ++ if test -f "$path/$depdepl" ; then ++ depdepl="$path/$depdepl" ++ fi ++ # do not add paths which are already there ++ case " $newlib_search_path " in ++ *" $path "*) ;; ++ *) newlib_search_path="$newlib_search_path $path";; ++ esac ++ fi ++ path="" ++ ;; ++ *) ++ path="-L$path" ++ ;; ++ esac ++ ;; ++ -l*) ++ case $host in ++ *-*-darwin*) ++ # Again, we only want to link against shared libraries ++ eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` ++ for tmp in $newlib_search_path ; do ++ if test -f "$tmp/lib$tmp_libs.dylib" ; then ++ eval depdepl="$tmp/lib$tmp_libs.dylib" ++ break ++ fi ++ done ++ path="" ++ ;; ++ *) continue ;; ++ esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; +- *) deplibs="$deplibs $path" ;; ++ *) deplibs="$path $deplibs" ;; ++ esac ++ case " $deplibs " in ++ *" $depdepl "*) ;; ++ *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs +- if test $pass = dlpreopen; then ++ dependency_libs="$newdependency_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 ++ if test "$pass" != dlopen; then ++ if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do +@@ -2082,9 +2982,30 @@ + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do ++ # FIXME: Pedantically, this is the right thing to do, so ++ # that some nasty dependency loop isn't accidentally ++ # broken: ++ #new_libs="$deplib $new_libs" ++ # Pragmatically, this seems to cause very few problems in ++ # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; ++ -R*) ;; + *) ++ # And here is the reason: when a library appears more ++ # than once as an explicit dependence of a library, or ++ # is implicitly linked in more than once by the ++ # compiler, it is considered special, and multiple ++ # occurrences thereof are not removed. Compare this ++ # with having the same library being listed as a ++ # dependency of multiple other libraries: in this case, ++ # we know (pedantically, we assume) the library does not ++ # need to be listed more than once, so we keep only the ++ # last copy. This is not always right, but it is rare ++ # enough that we require users that really mean to play ++ # such unportable linking tricks to link the library ++ # using -Wl,-lname, so that libtool does not consider it ++ # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) +@@ -2112,19 +3033,32 @@ + 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 ++ # Last step: remove runtime libs from dependency_libs ++ # (they stay in deplibs) ++ tmp_libs= ++ for i in $dependency_libs ; do ++ case " $predeps $postdeps $compiler_lib_search_path " in ++ *" $i "*) ++ i="" ++ ;; ++ esac ++ if test -n "$i" ; then ++ tmp_libs="$tmp_libs $i" ++ fi ++ done ++ dependency_libs=$tmp_libs + done # for pass +- if test $linkmode = prog; then ++ if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) ++ if test -n "$deplibs"; then ++ $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ++ fi ++ + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi +@@ -2138,7 +3072,7 @@ + fi + + if test -n "$vinfo"; then +- $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 ++ $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then +@@ -2160,17 +3094,19 @@ + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` ++ eval shared_ext=\"$shrext_cmds\" + 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 ++ exit $EXIT_FAILURE + 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 shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` +@@ -2181,11 +3117,11 @@ + 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 ++ exit $EXIT_FAILURE + else +- echo +- echo "*** Warning: Linking the shared library $output against the non-libtool" +- echo "*** objects $objs is not portable!" ++ $echo ++ $echo "*** Warning: Linking the shared library $output against the non-libtool" ++ $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi +@@ -2195,7 +3131,7 @@ + fi + + set dummy $rpath +- if test $# -gt 2; then ++ if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" +@@ -2204,14 +3140,16 @@ + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. +- libext=al ++ # Some compilers have problems with a `.al' extension so ++ # convenience libraries should have the same extension an ++ # archive normally would. + 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 ++ $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then +@@ -2227,45 +3165,87 @@ + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + +- current="$2" +- revision="$3" +- age="$4" ++ # convert absolute version numbers to libtool ages ++ # this retains compatibility with .la files and attempts ++ # to make the code below a bit more comprehensible ++ ++ case $vinfo_number in ++ yes) ++ number_major="$2" ++ number_minor="$3" ++ number_revision="$4" ++ # ++ # There are really only two kinds -- those that ++ # use the current revision as the major version ++ # and those that subtract age and use age as ++ # a minor version. But, then there is irix ++ # which has an extra 1 added just for fun ++ # ++ case $version_type in ++ darwin|linux|osf|windows) ++ current=`expr $number_major + $number_minor` ++ age="$number_minor" ++ revision="$number_revision" ++ ;; ++ freebsd-aout|freebsd-elf|sunos) ++ current="$number_major" ++ revision="$number_minor" ++ age="0" ++ ;; ++ irix|nonstopux) ++ current=`expr $number_major + $number_minor - 1` ++ age="$number_minor" ++ revision="$number_minor" ++ ;; ++ *) ++ $echo "$modename: unknown library version type \`$version_type'" 1>&2 ++ $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 ++ exit $EXIT_FAILURE ++ ;; ++ esac ++ ;; ++ no) ++ current="$2" ++ revision="$3" ++ age="$4" ++ ;; ++ esac + + # Check that each of the things are valid numbers. + case $current in +- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; ++ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) +- $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 ++ $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + + case $revision in +- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; ++ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) +- $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 ++ $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + + case $age in +- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; ++ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) +- $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 ++ $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + +- if test $age -gt $current; then ++ 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 ++ exit $EXIT_FAILURE + fi + + # Calculate the version variables. +@@ -2282,7 +3262,7 @@ + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` +- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ++ verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) +@@ -2306,7 +3286,7 @@ + + # Add in all the interfaces that we are compatible with. + loop=$revision +- while test $loop != 0; do ++ while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" +@@ -2329,7 +3309,7 @@ + + # Add in all the interfaces that we are compatible with. + loop=$age +- while test $loop != 0; do ++ while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" +@@ -2353,20 +3333,19 @@ + + *) + $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 ++ $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 ++ exit $EXIT_FAILURE + ;; + 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= + ;; + *) + verstring="0.0" +@@ -2400,9 +3379,30 @@ + 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}.* ++ # Remove our outputs, but don't remove object files since they ++ # may have been created when compiling PIC objects. ++ removelist= ++ tempremovelist=`$echo "$output_objdir/*"` ++ for p in $tempremovelist; do ++ case $p in ++ *.$objext) ++ ;; ++ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) ++ if test "X$precious_files_regex" != "X"; then ++ if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 ++ then ++ continue ++ fi ++ fi ++ removelist="$removelist $p" ++ ;; ++ *) ;; ++ esac ++ done ++ if test -n "$removelist"; then ++ $show "${rm}r $removelist" ++ $run ${rm}r $removelist ++ fi + fi + + # Now set the variables for building old libraries. +@@ -2415,9 +3415,9 @@ + + # 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'` ++ 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 +@@ -2430,7 +3430,7 @@ + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done +- if test $hardcode_into_libs != yes || test $build_old_libs = yes; then ++ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi +@@ -2468,12 +3468,18 @@ + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; +- *-*-openbsd* | *-*-freebsd*) ++ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; +- *) ++ *-*-sco3.2v5* | *-*-sco5v6*) ++ # Causes problems with __ctype ++ ;; ++ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) ++ # Compiler inserts libc in the correct place for threads to work ++ ;; ++ *) + # Add libc to deplibs on all other systems if necessary. +- if test $build_libtool_need_lc = "yes"; then ++ if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; +@@ -2500,7 +3506,7 @@ + # 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. ++ # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) +@@ -2513,68 +3519,88 @@ + int main() { return 0; } + EOF + $rm conftest +- $CC -o conftest conftest.c $deplibs +- if test $? -eq 0 ; then ++ $LTCC $LTCFLAGS -o conftest conftest.c $deplibs ++ if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + for i in $deplibs; do +- name="`expr $i : '-l\(.*\)'`" ++ name=`expr $i : '-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\"` +- deplib_matches=`eval \\$echo \"$library_names_spec\"` +- set dummy $deplib_matches +- deplib_match=$2 +- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then +- newdeplibs="$newdeplibs $i" +- else +- droppeddeps=yes +- echo +- echo "*** Warning: dynamic linker does not accept needed library $i." +- 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 I believe you do not have" +- echo "*** because a test_compile did reveal that the linker did not use it for" +- echo "*** its dynamic dependency list that programs get resolved with at runtime." ++ if test "$name" != "" && test "$name" -ne "0"; then ++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ++ case " $predeps $postdeps " in ++ *" $i "*) ++ newdeplibs="$newdeplibs $i" ++ i="" ++ ;; ++ esac ++ fi ++ if test -n "$i" ; then ++ libname=`eval \\$echo \"$libname_spec\"` ++ deplib_matches=`eval \\$echo \"$library_names_spec\"` ++ set dummy $deplib_matches ++ deplib_match=$2 ++ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then ++ newdeplibs="$newdeplibs $i" ++ else ++ droppeddeps=yes ++ $echo ++ $echo "*** Warning: dynamic linker does not accept needed library $i." ++ $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 I believe you do not have" ++ $echo "*** because a test_compile did reveal that the linker did not use it for" ++ $echo "*** its dynamic dependency list that programs get resolved with at runtime." ++ fi + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else +- # Error occured in the first compile. Let's try to salvage ++ # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do +- name="`expr $i : '-l\(.*\)'`" +- # If $name is empty we are operating on a -L argument. +- if test -n "$name" && test "$name" != "0"; then ++ name=`expr $i : '-l\(.*\)'` ++ # If $name is empty we are operating on a -L argument. ++ if test "$name" != "" && test "$name" != "0"; then + $rm conftest +- $CC -o conftest conftest.c $i ++ $LTCC $LTCFLAGS -o conftest conftest.c $i + # Did it work? +- if test $? -eq 0 ; then ++ if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` +- libname=`eval \\$echo \"$libname_spec\"` +- deplib_matches=`eval \\$echo \"$library_names_spec\"` +- set dummy $deplib_matches +- deplib_match=$2 +- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then +- newdeplibs="$newdeplibs $i" +- else +- droppeddeps=yes +- echo +- echo "*** Warning: dynamic linker does not accept needed library $i." +- 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 a test_compile did reveal that the linker did not use this one" +- echo "*** as a dynamic dependency that programs can get resolved with at runtime." ++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ++ case " $predeps $postdeps " in ++ *" $i "*) ++ newdeplibs="$newdeplibs $i" ++ i="" ++ ;; ++ esac ++ fi ++ if test -n "$i" ; then ++ libname=`eval \\$echo \"$libname_spec\"` ++ deplib_matches=`eval \\$echo \"$library_names_spec\"` ++ set dummy $deplib_matches ++ deplib_match=$2 ++ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then ++ newdeplibs="$newdeplibs $i" ++ else ++ droppeddeps=yes ++ $echo ++ $echo "*** Warning: dynamic linker does not accept needed library $i." ++ $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 a test_compile did reveal that the linker did not use this one" ++ $echo "*** as a dynamic dependency that programs can get resolved with at runtime." ++ fi + fi + else + droppeddeps=yes +- echo +- echo "*** Warning! Library $i is needed by this library but I was not able to" +- echo "*** make it link in! You will probably need to install it or some" +- echo "*** library that it depends on before this library will be fully" +- echo "*** functional. Installing it before continuing would be even better." ++ $echo ++ $echo "*** Warning! Library $i is needed by this library but I was not able to" ++ $echo "*** make it link in! You will probably need to install it or some" ++ $echo "*** library that it depends on before this library will be fully" ++ $echo "*** functional. Installing it before continuing would be even better." + fi + else + newdeplibs="$newdeplibs $i" +@@ -2586,13 +3612,22 @@ + set dummy $deplibs_check_method + file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do +- name="`expr $a_deplib : '-l\(.*\)'`" ++ 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 ++ if test "$name" != "" && test "$name" != "0"; then ++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ++ case " $predeps $postdeps " in ++ *" $a_deplib "*) ++ newdeplibs="$newdeplibs $a_deplib" ++ a_deplib="" ++ ;; ++ esac ++ fi ++ if test -n "$a_deplib" ; 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 + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then +@@ -2613,26 +3648,27 @@ + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ +- | egrep "$file_magic_regex" > /dev/null; then ++ | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi +- done +- done ++ done ++ done ++ fi + 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" ++ $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)" ++ $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" ++ $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 +@@ -2645,36 +3681,46 @@ + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do +- name="`expr $a_deplib : '-l\(.*\)'`" ++ 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 ++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ++ case " $predeps $postdeps " in ++ *" $a_deplib "*) ++ newdeplibs="$newdeplibs $a_deplib" ++ a_deplib="" ++ ;; ++ esac ++ fi ++ if test -n "$a_deplib" ; 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 above 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 +- done ++ fi + 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" ++ $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)" ++ $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" ++ $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 +@@ -2685,16 +3731,23 @@ + ;; + none | unknown | *) + newdeplibs="" +- if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ +- -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | +- grep . >/dev/null; then +- echo ++ tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ ++ -e 's/ -[LR][^ ]*//g'` ++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ++ for i in $predeps $postdeps ; do ++ # can't use Xsed below, because $i might contain '/' ++ tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` ++ done ++ fi ++ if $echo "X $tmp_deplibs" | $Xsed -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." ++ $echo "*** Warning: inter-library dependencies are not supported in this platform." + else +- echo "*** Warning: inter-library dependencies are not known to be supported." ++ $echo "*** Warning: inter-library dependencies are not known to be supported." + fi +- echo "*** All declared inter-library dependencies are being dropped." ++ $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; +@@ -2714,17 +3767,17 @@ + + 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." ++ $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." ++ $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" +@@ -2734,16 +3787,16 @@ + 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." ++ $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 +@@ -2758,6 +3811,35 @@ + deplibs=$newdeplibs + fi + ++ ++ # move library search paths that coincide with paths to not yet ++ # installed libraries to the beginning of the library search list ++ new_libs= ++ for path in $notinst_path; do ++ case " $new_libs " in ++ *" -L$path/$objdir "*) ;; ++ *) ++ case " $deplibs " in ++ *" -L$path/$objdir "*) ++ new_libs="$new_libs -L$path/$objdir" ;; ++ esac ++ ;; ++ esac ++ done ++ for deplib in $deplibs; do ++ case $deplib in ++ -L*) ++ case " $new_libs " in ++ *" $deplib "*) ;; ++ *) new_libs="$new_libs $deplib" ;; ++ esac ++ ;; ++ *) new_libs="$new_libs $deplib" ;; ++ esac ++ done ++ deplibs="$new_libs" ++ ++ + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= +@@ -2765,7 +3847,7 @@ + + # 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 ++ if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= +@@ -2801,7 +3883,11 @@ + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" +- eval dep_rpath=\"$hardcode_libdir_flag_spec\" ++ if test -n "$hardcode_libdir_flag_spec_ld"; then ++ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ++ else ++ eval dep_rpath=\"$hardcode_libdir_flag_spec\" ++ fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. +@@ -2821,6 +3907,7 @@ + fi + + # Get the real and link names of the library. ++ eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" +@@ -2831,31 +3918,17 @@ + else + soname="$realname" + fi +- test -z "$dlname" && dlname=$soname ++ if test -z "$dlname"; then ++ dlname=$soname ++ fi + + lib="$output_objdir/$realname" ++ linknames= + 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` + +@@ -2865,17 +3938,29 @@ + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols +- eval cmds=\"$export_symbols_cmds\" ++ cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" +- $show "$cmd" +- $run eval "$cmd" || exit $? ++ eval cmd=\"$cmd\" ++ if len=`expr "X$cmd" : ".*"` && ++ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then ++ $show "$cmd" ++ $run eval "$cmd" || exit $? ++ skipped_export=false ++ else ++ # The command line is too long to execute in one step. ++ $show "using reloadable object file for export list..." ++ skipped_export=: ++ # Break out early, otherwise skipped_export may be ++ # set to false by a later but shorter cmd. ++ break ++ fi + 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 "$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 +@@ -2886,46 +3971,30 @@ + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + ++ tmp_deplibs= ++ for test_deplib in $deplibs; do ++ case " $convenience " in ++ *" $test_deplib "*) ;; ++ *) ++ tmp_deplibs="$tmp_deplibs $test_deplib" ++ ;; ++ esac ++ done ++ deplibs="$tmp_deplibs" ++ + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then ++ save_libobjs=$libobjs + 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 ++ else ++ gentop="$output_objdir/${outputname}x" + 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 ++ func_extract_archives $gentop $convenience ++ libobjs="$libobjs $func_extract_archives_result" + fi + fi +- ++ + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" +@@ -2937,34 +4006,175 @@ + fi + + # Do each of the archive commands. ++ if test "$module" = yes && test -n "$module_cmds" ; then ++ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then ++ eval test_cmds=\"$module_expsym_cmds\" ++ cmds=$module_expsym_cmds ++ else ++ eval test_cmds=\"$module_cmds\" ++ cmds=$module_cmds ++ fi ++ else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then +- eval cmds=\"$archive_expsym_cmds\" ++ eval test_cmds=\"$archive_expsym_cmds\" ++ cmds=$archive_expsym_cmds ++ else ++ eval test_cmds=\"$archive_cmds\" ++ cmds=$archive_cmds ++ fi ++ fi ++ ++ if test "X$skipped_export" != "X:" && ++ len=`expr "X$test_cmds" : ".*" 2>/dev/null` && ++ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then ++ : + 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" ++ # The command line is too long to link in one step, link piecewise. ++ $echo "creating reloadable object files..." ++ ++ # Save the value of $output and $libobjs because we want to ++ # use them later. If we have whole_archive_flag_spec, we ++ # want to use save_libobjs as it was before ++ # whole_archive_flag_spec was expanded, because we can't ++ # assume the linker understands whole_archive_flag_spec. ++ # This may have to be revisited, in case too many ++ # convenience libraries get linked in and end up exceeding ++ # the spec. ++ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then ++ save_libobjs=$libobjs ++ fi ++ save_output=$output ++ output_la=`$echo "X$output" | $Xsed -e "$basename"` ++ ++ # Clear the reloadable object creation command queue and ++ # initialize k to one. ++ test_cmds= ++ concat_cmds= ++ objlist= ++ delfiles= ++ last_robj= ++ k=1 ++ output=$output_objdir/$output_la-${k}.$objext ++ # Loop over the list of objects to be linked. ++ for obj in $save_libobjs ++ do ++ eval test_cmds=\"$reload_cmds $objlist $last_robj\" ++ if test "X$objlist" = X || ++ { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && ++ test "$len" -le "$max_cmd_len"; }; then ++ objlist="$objlist $obj" ++ else ++ # The command $test_cmds is almost too long, add a ++ # command to the queue. ++ if test "$k" -eq 1 ; then ++ # The first file doesn't have a previous command to add. ++ eval concat_cmds=\"$reload_cmds $objlist $last_robj\" ++ else ++ # All subsequent reloadable object files will link in ++ # the last one created. ++ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi +- done +- deplibs="$tmp_deplibs" ++ last_robj=$output_objdir/$output_la-${k}.$objext ++ k=`expr $k + 1` ++ output=$output_objdir/$output_la-${k}.$objext ++ objlist=$obj ++ len=1 ++ fi ++ done ++ # Handle the remaining objects by creating one last ++ # reloadable object file. All subsequent reloadable object ++ # files will link in the last one created. ++ test -z "$concat_cmds" || concat_cmds=$concat_cmds~ ++ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" ++ ++ if ${skipped_export-false}; then ++ $show "generating symbol list for \`$libname.la'" ++ export_symbols="$output_objdir/$libname.exp" ++ $run $rm $export_symbols ++ libobjs=$output ++ # Append the command to create the export file. ++ eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" ++ fi ++ ++ # Set up a command to remove the reloadable object files ++ # after they are used. ++ i=0 ++ while test "$i" -lt "$k" ++ do ++ i=`expr $i + 1` ++ delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" ++ done ++ ++ $echo "creating a temporary reloadable object file: $output" ++ ++ # Loop through the commands generated above and execute them. ++ save_ifs="$IFS"; IFS='~' ++ for cmd in $concat_cmds; do ++ IFS="$save_ifs" ++ $show "$cmd" ++ $run eval "$cmd" || exit $? + done +- eval cmds=\"$archive_cmds\" +- deplibs="$save_deplibs" ++ IFS="$save_ifs" ++ ++ libobjs=$output ++ # Restore the value of output. ++ output=$save_output ++ ++ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then ++ eval libobjs=\"\$libobjs $whole_archive_flag_spec\" ++ fi ++ # Expand the library linking commands again to reset the ++ # value of $libobjs for piecewise linking. ++ ++ # Do each of the archive commands. ++ if test "$module" = yes && test -n "$module_cmds" ; then ++ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then ++ cmds=$module_expsym_cmds ++ else ++ cmds=$module_cmds ++ fi ++ else ++ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then ++ cmds=$archive_expsym_cmds ++ else ++ cmds=$archive_cmds ++ fi ++ fi ++ ++ # Append the command to remove the reloadable object files ++ # to the just-reset $cmds. ++ eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" +- $run eval "$cmd" || exit $? ++ $run eval "$cmd" || { ++ lt_exit=$? ++ ++ # Restore the uninstalled library and exit ++ if test "$mode" = relink; then ++ $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' ++ fi ++ ++ exit $lt_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 ++ ++ if test -n "$convenience"; then ++ if test -z "$whole_archive_flag_spec"; then ++ $show "${rm}r $gentop" ++ $run ${rm}r "$gentop" ++ fi ++ fi ++ ++ exit $EXIT_SUCCESS + fi + + # Create links to the real library. +@@ -3012,7 +4222,7 @@ + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` +@@ -3041,38 +4251,10 @@ + 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 ++ func_extract_archives $gentop $convenience ++ reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + +@@ -3080,10 +4262,11 @@ + 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\" ++ cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done +@@ -3096,7 +4279,7 @@ + $run ${rm}r $gentop + fi + +- exit 0 ++ exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then +@@ -3107,37 +4290,24 @@ + + # 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 ++ # $show "echo timestamp > $libobj" ++ # $run eval "echo timestamp > $libobj" || exit $? ++ exit $EXIT_SUCCESS + 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\" ++ cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $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 +@@ -3145,12 +4315,12 @@ + $run ${rm}r $gentop + fi + +- exit 0 ++ exit $EXIT_SUCCESS + ;; + + prog) + case $host in +- *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; ++ *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 +@@ -3172,16 +4342,48 @@ + # 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 + ++ case $host in ++ *darwin*) ++ # Don't allow lazy linking, it breaks C++ global constructors ++ if test "$tagname" = CXX ; then ++ compile_command="$compile_command ${wl}-bind_at_load" ++ finalize_command="$finalize_command ${wl}-bind_at_load" ++ fi ++ ;; ++ esac ++ ++ ++ # move library search paths that coincide with paths to not yet ++ # installed libraries to the beginning of the library search list ++ new_libs= ++ for path in $notinst_path; do ++ case " $new_libs " in ++ *" -L$path/$objdir "*) ;; ++ *) ++ case " $compile_deplibs " in ++ *" -L$path/$objdir "*) ++ new_libs="$new_libs -L$path/$objdir" ;; ++ esac ++ ;; ++ esac ++ done ++ for deplib in $compile_deplibs; do ++ case $deplib in ++ -L*) ++ case " $new_libs " in ++ *" $deplib "*) ;; ++ *) new_libs="$new_libs $deplib" ;; ++ esac ++ ;; ++ *) new_libs="$new_libs $deplib" ;; ++ esac ++ done ++ compile_deplibs="$new_libs" ++ ++ + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + +@@ -3226,10 +4428,15 @@ + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) ++ testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac ++ case :$dllsearchpath: in ++ *":$testbindir:"*) ;; ++ *) dllsearchpath="$dllsearchpath:$testbindir";; ++ esac + ;; + esac + done +@@ -3332,31 +4539,43 @@ + done + + if test -n "$exclude_expsyms"; then +- $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' ++ $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 '$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" ++ export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols +- $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' ++ $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' ++ case $host in ++ *cygwin* | *mingw* ) ++ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' ++ $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ++ ;; ++ esac + else +- $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' +- $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' ++ $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' ++ $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' ++ case $host in ++ *cygwin* | *mingw* ) ++ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' ++ $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ++ ;; ++ esac + 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"' ++ name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` ++ $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + +@@ -3365,7 +4584,7 @@ + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then +- egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T ++ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + +@@ -3385,7 +4604,7 @@ + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else +- echo '/* NONE */' >> "$output_objdir/$dlsyms" ++ $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ +@@ -3400,7 +4619,26 @@ + #endif + + /* The mapping between symbol names and symbols. */ ++" ++ ++ case $host in ++ *cygwin* | *mingw* ) ++ $echo >> "$output_objdir/$dlsyms" "\ ++/* DATA imports from DLLs on WIN32 can't be const, because ++ runtime relocations are performed -- see ld's documentation ++ on pseudo-relocs */ ++struct { ++" ++ ;; ++ * ) ++ $echo >> "$output_objdir/$dlsyms" "\ + const struct { ++" ++ ;; ++ esac ++ ++ ++ $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; + } +@@ -3437,30 +4675,43 @@ + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; +- *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; ++ *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; +- *) pic_flag_for_symtable=" $pic_flag -DPIC";; ++ *) pic_flag_for_symtable=" $pic_flag";; + 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 $? ++ $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" ++ $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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}%"` ++ case $host in ++ *cygwin* | *mingw* ) ++ if test -f "$output_objdir/${outputname}.def" ; then ++ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` ++ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` ++ else ++ 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}%"` ++ fi ++ ;; ++ * ) ++ 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}%"` ++ ;; ++ esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + else +@@ -3473,7 +4724,7 @@ + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + +- if test $need_relink = no || test "$build_libtool_libs" != yes; then ++ 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" +@@ -3481,7 +4732,7 @@ + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" +- status=$? ++ exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then +@@ -3489,7 +4740,7 @@ + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + +- exit $status ++ exit $exit_status + fi + + if test -n "$shlibpath_var"; then +@@ -3548,7 +4799,7 @@ + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? +- exit 0 ++ exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then +@@ -3603,10 +4854,10 @@ + 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";; ++ if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then ++ case $progpath in ++ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; ++ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else +@@ -3618,15 +4869,376 @@ + # 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$,,'` ;; ++ *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in +- *cygwin*) exeext=.exe ;; ++ *cygwin*) ++ exeext=.exe ++ outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac +- $rm $output +- trap "$rm $output; exit 1" 1 2 15 ++ case $host in ++ *cygwin* | *mingw* ) ++ output_name=`basename $output` ++ output_path=`dirname $output` ++ cwrappersource="$output_path/$objdir/lt-$output_name.c" ++ cwrapper="$output_path/$output_name.exe" ++ $rm $cwrappersource $cwrapper ++ trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 ++ ++ cat > $cwrappersource <> $cwrappersource<<"EOF" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if defined(PATH_MAX) ++# define LT_PATHMAX PATH_MAX ++#elif defined(MAXPATHLEN) ++# define LT_PATHMAX MAXPATHLEN ++#else ++# define LT_PATHMAX 1024 ++#endif ++ ++#ifndef DIR_SEPARATOR ++# define DIR_SEPARATOR '/' ++# define PATH_SEPARATOR ':' ++#endif ++ ++#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ ++ defined (__OS2__) ++# define HAVE_DOS_BASED_FILE_SYSTEM ++# ifndef DIR_SEPARATOR_2 ++# define DIR_SEPARATOR_2 '\\' ++# endif ++# ifndef PATH_SEPARATOR_2 ++# define PATH_SEPARATOR_2 ';' ++# endif ++#endif ++ ++#ifndef DIR_SEPARATOR_2 ++# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) ++#else /* DIR_SEPARATOR_2 */ ++# define IS_DIR_SEPARATOR(ch) \ ++ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) ++#endif /* DIR_SEPARATOR_2 */ ++ ++#ifndef PATH_SEPARATOR_2 ++# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) ++#else /* PATH_SEPARATOR_2 */ ++# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) ++#endif /* PATH_SEPARATOR_2 */ ++ ++#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) ++#define XFREE(stale) do { \ ++ if (stale) { free ((void *) stale); stale = 0; } \ ++} while (0) ++ ++/* -DDEBUG is fairly common in CFLAGS. */ ++#undef DEBUG ++#if defined DEBUGWRAPPER ++# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) ++#else ++# define DEBUG(format, ...) ++#endif ++ ++const char *program_name = NULL; ++ ++void * xmalloc (size_t num); ++char * xstrdup (const char *string); ++const char * base_name (const char *name); ++char * find_executable(const char *wrapper); ++int check_executable(const char *path); ++char * strendzap(char *str, const char *pat); ++void lt_fatal (const char *message, ...); ++ ++int ++main (int argc, char *argv[]) ++{ ++ char **newargz; ++ int i; ++ ++ program_name = (char *) xstrdup (base_name (argv[0])); ++ DEBUG("(main) argv[0] : %s\n",argv[0]); ++ DEBUG("(main) program_name : %s\n",program_name); ++ newargz = XMALLOC(char *, argc+2); ++EOF ++ ++ cat >> $cwrappersource <> $cwrappersource <<"EOF" ++ newargz[1] = find_executable(argv[0]); ++ if (newargz[1] == NULL) ++ lt_fatal("Couldn't find %s", argv[0]); ++ DEBUG("(main) found exe at : %s\n",newargz[1]); ++ /* we know the script has the same name, without the .exe */ ++ /* so make sure newargz[1] doesn't end in .exe */ ++ strendzap(newargz[1],".exe"); ++ for (i = 1; i < argc; i++) ++ newargz[i+1] = xstrdup(argv[i]); ++ newargz[argc+1] = NULL; ++ ++ for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" ++ return 127; ++} ++ ++void * ++xmalloc (size_t num) ++{ ++ void * p = (void *) malloc (num); ++ if (!p) ++ lt_fatal ("Memory exhausted"); ++ ++ return p; ++} ++ ++char * ++xstrdup (const char *string) ++{ ++ return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL ++; ++} ++ ++const char * ++base_name (const char *name) ++{ ++ const char *base; ++ ++#if defined (HAVE_DOS_BASED_FILE_SYSTEM) ++ /* Skip over the disk name in MSDOS pathnames. */ ++ if (isalpha ((unsigned char)name[0]) && name[1] == ':') ++ name += 2; ++#endif ++ ++ for (base = name; *name; name++) ++ if (IS_DIR_SEPARATOR (*name)) ++ base = name + 1; ++ return base; ++} ++ ++int ++check_executable(const char * path) ++{ ++ struct stat st; ++ ++ DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); ++ if ((!path) || (!*path)) ++ return 0; ++ ++ if ((stat (path, &st) >= 0) && ++ ( ++ /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ ++#if defined (S_IXOTH) ++ ((st.st_mode & S_IXOTH) == S_IXOTH) || ++#endif ++#if defined (S_IXGRP) ++ ((st.st_mode & S_IXGRP) == S_IXGRP) || ++#endif ++ ((st.st_mode & S_IXUSR) == S_IXUSR)) ++ ) ++ return 1; ++ else ++ return 0; ++} ++ ++/* Searches for the full path of the wrapper. Returns ++ newly allocated full path name if found, NULL otherwise */ ++char * ++find_executable (const char* wrapper) ++{ ++ int has_slash = 0; ++ const char* p; ++ const char* p_next; ++ /* static buffer for getcwd */ ++ char tmp[LT_PATHMAX + 1]; ++ int tmp_len; ++ char* concat_name; ++ ++ DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); ++ ++ if ((wrapper == NULL) || (*wrapper == '\0')) ++ return NULL; ++ ++ /* Absolute path? */ ++#if defined (HAVE_DOS_BASED_FILE_SYSTEM) ++ if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') ++ { ++ concat_name = xstrdup (wrapper); ++ if (check_executable(concat_name)) ++ return concat_name; ++ XFREE(concat_name); ++ } ++ else ++ { ++#endif ++ if (IS_DIR_SEPARATOR (wrapper[0])) ++ { ++ concat_name = xstrdup (wrapper); ++ if (check_executable(concat_name)) ++ return concat_name; ++ XFREE(concat_name); ++ } ++#if defined (HAVE_DOS_BASED_FILE_SYSTEM) ++ } ++#endif ++ ++ for (p = wrapper; *p; p++) ++ if (*p == '/') ++ { ++ has_slash = 1; ++ break; ++ } ++ if (!has_slash) ++ { ++ /* no slashes; search PATH */ ++ const char* path = getenv ("PATH"); ++ if (path != NULL) ++ { ++ for (p = path; *p; p = p_next) ++ { ++ const char* q; ++ size_t p_len; ++ for (q = p; *q; q++) ++ if (IS_PATH_SEPARATOR(*q)) ++ break; ++ p_len = q - p; ++ p_next = (*q == '\0' ? q : q + 1); ++ if (p_len == 0) ++ { ++ /* empty path: current directory */ ++ if (getcwd (tmp, LT_PATHMAX) == NULL) ++ lt_fatal ("getcwd failed"); ++ tmp_len = strlen(tmp); ++ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); ++ memcpy (concat_name, tmp, tmp_len); ++ concat_name[tmp_len] = '/'; ++ strcpy (concat_name + tmp_len + 1, wrapper); ++ } ++ else ++ { ++ concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); ++ memcpy (concat_name, p, p_len); ++ concat_name[p_len] = '/'; ++ strcpy (concat_name + p_len + 1, wrapper); ++ } ++ if (check_executable(concat_name)) ++ return concat_name; ++ XFREE(concat_name); ++ } ++ } ++ /* not found in PATH; assume curdir */ ++ } ++ /* Relative path | not found in path: prepend cwd */ ++ if (getcwd (tmp, LT_PATHMAX) == NULL) ++ lt_fatal ("getcwd failed"); ++ tmp_len = strlen(tmp); ++ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); ++ memcpy (concat_name, tmp, tmp_len); ++ concat_name[tmp_len] = '/'; ++ strcpy (concat_name + tmp_len + 1, wrapper); ++ ++ if (check_executable(concat_name)) ++ return concat_name; ++ XFREE(concat_name); ++ return NULL; ++} ++ ++char * ++strendzap(char *str, const char *pat) ++{ ++ size_t len, patlen; ++ ++ assert(str != NULL); ++ assert(pat != NULL); ++ ++ len = strlen(str); ++ patlen = strlen(pat); ++ ++ if (patlen <= len) ++ { ++ str += len - patlen; ++ if (strcmp(str, pat) == 0) ++ *str = '\0'; ++ } ++ return str; ++} ++ ++static void ++lt_error_core (int exit_status, const char * mode, ++ const char * message, va_list ap) ++{ ++ fprintf (stderr, "%s: %s: ", program_name, mode); ++ vfprintf (stderr, message, ap); ++ fprintf (stderr, ".\n"); ++ ++ if (exit_status >= 0) ++ exit (exit_status); ++} ++ ++void ++lt_fatal (const char *message, ...) ++{ ++ va_list ap; ++ va_start (ap, message); ++ lt_error_core (EXIT_FAILURE, "FATAL", message, ap); ++ va_end (ap); ++} ++EOF ++ # we should really use a build-platform specific compiler ++ # here, but OTOH, the wrappers (shell script and this C one) ++ # are only useful if you want to execute the "real" binary. ++ # Since the "real" binary is built for $host, then this ++ # wrapper might as well be built for $host, too. ++ $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource ++ ;; ++ esac ++ $rm $output ++ trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ + #! $SHELL +@@ -3642,12 +5254,12 @@ + + # Sed substitution that helps us do robust quoting. It backslashifies + # metacharacters that are still active within double-quoted strings. +-Xsed="${SED}"' -e 1s/^X//' ++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 ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + relink_command=\"$relink_command\" + +@@ -3702,7 +5314,7 @@ + " + + if test "$fast_install" = yes; then +- echo >> $output "\ ++ $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + +@@ -3718,7 +5330,7 @@ + $rm \"\$progdir/\$file\" + fi" + +- echo >> $output "\ ++ $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then +@@ -3726,7 +5338,7 @@ + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" +- exit 1 ++ exit $EXIT_FAILURE + fi + fi + +@@ -3736,13 +5348,13 @@ + $rm \"\$progdir/\$file\" + fi" + else +- echo >> $output "\ ++ $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" + " + fi + +- echo >> $output "\ ++ $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + +@@ -3753,7 +5365,7 @@ + $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} ++ # 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 +@@ -3773,47 +5385,35 @@ + # 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+\"\$@\"} ++ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} + " + ;; + + *) + $echo >> $output "\ +- # Export the path to the program. +- PATH=\"\$progdir:\$PATH\" +- export PATH +- +- exec \$program \${1+\"\$@\"} ++ exec \"\$progdir/\$program\" \${1+\"\$@\"} + " + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" +- exit 1 ++ exit $EXIT_FAILURE + fi + else + # The program doesn't exist. +- \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 ++ \$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 ++ $echo \"See the $PACKAGE documentation for more information.\" 1>&2 ++ exit $EXIT_FAILURE + fi + fi\ + " + chmod +x $output + fi +- exit 0 ++ exit $EXIT_SUCCESS + ;; + esac + +@@ -3829,74 +5429,130 @@ + 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` ++ oldobjs="$old_deplibs $non_pic_objects" + 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 ++ func_extract_archives $gentop $addlibs ++ oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then +- eval cmds=\"$old_archive_from_new_cmds\" ++ 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" ++ # POSIX demands no paths to be encoded in archives. We have ++ # to avoid creating archives with duplicate basenames if we ++ # might have to extract them afterwards, e.g., when creating a ++ # static archive out of a convenience library, or when linking ++ # the entirety of a libtool archive into another (currently ++ # not supported by libtool). ++ if (for obj in $oldobjs ++ do ++ $echo "X$obj" | $Xsed -e 's%^.*/%%' ++ done | sort | sort -uc >/dev/null 2>&1); then ++ : ++ else ++ $echo "copying selected object files to avoid basename conflicts..." ++ ++ if test -z "$gentop"; then ++ gentop="$output_objdir/${outputname}x" ++ generated="$generated $gentop" ++ ++ $show "${rm}r $gentop" ++ $run ${rm}r "$gentop" ++ $show "$mkdir $gentop" ++ $run $mkdir "$gentop" ++ exit_status=$? ++ if test "$exit_status" -ne 0 && test ! -d "$gentop"; then ++ exit $exit_status + 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 ++ ++ save_oldobjs=$oldobjs ++ oldobjs= ++ counter=1 ++ for obj in $save_oldobjs ++ do ++ objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` ++ case " $oldobjs " in ++ " ") oldobjs=$obj ;; ++ *[\ /]"$objbase "*) ++ while :; do ++ # Make sure we don't pick an alternate name that also ++ # overlaps. ++ newobj=lt$counter-$objbase ++ counter=`expr $counter + 1` ++ case " $oldobjs " in ++ *[\ /]"$newobj "*) ;; ++ *) if test ! -f "$gentop/$newobj"; then break; fi ;; ++ esac ++ done ++ $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" ++ $run ln "$obj" "$gentop/$newobj" || ++ $run cp "$obj" "$gentop/$newobj" ++ oldobjs="$oldobjs $gentop/$newobj" ++ ;; ++ *) oldobjs="$oldobjs $obj" ;; ++ esac ++ done ++ fi + + eval cmds=\"$old_archive_cmds\" ++ ++ if len=`expr "X$cmds" : ".*"` && ++ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then ++ cmds=$old_archive_cmds ++ else ++ # the command line is too long to link in one step, link in parts ++ $echo "using piecewise archive linking..." ++ save_RANLIB=$RANLIB ++ RANLIB=: ++ objlist= ++ concat_cmds= ++ save_oldobjs=$oldobjs ++ ++ # Is there a better way of finding the last object in the list? ++ for obj in $save_oldobjs ++ do ++ last_oldobj=$obj ++ done ++ for obj in $save_oldobjs ++ do ++ oldobjs="$objlist $obj" ++ objlist="$objlist $obj" ++ eval test_cmds=\"$old_archive_cmds\" ++ if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && ++ test "$len" -le "$max_cmd_len"; then ++ : ++ else ++ # the above command should be used before it gets too long ++ oldobjs=$objlist ++ if test "$obj" = "$last_oldobj" ; then ++ RANLIB=$save_RANLIB ++ fi ++ test -z "$concat_cmds" || concat_cmds=$concat_cmds~ ++ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" ++ objlist= ++ fi ++ done ++ RANLIB=$save_RANLIB ++ oldobjs=$objlist ++ if test "X$oldobjs" = "X" ; then ++ eval cmds=\"\$concat_cmds\" ++ else ++ eval cmds=\"\$concat_cmds~\$old_archive_cmds\" ++ fi ++ fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do ++ eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? +@@ -3928,8 +5584,12 @@ + fi + done + # Quote the link command for shipping. +- relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" ++ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` ++ if test "$hardcode_automatic" = yes ; then ++ relink_command= ++ fi ++ + + # Only create the output if not a dry run. + if test -z "$run"; then +@@ -3948,7 +5608,7 @@ + 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 ++ exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; +@@ -3962,7 +5622,7 @@ + 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 ++ exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done +@@ -3973,17 +5633,36 @@ + 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 ++ exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" ++ else ++ newdlfiles= ++ for lib in $dlfiles; do ++ case $lib in ++ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; ++ *) abs=`pwd`"/$lib" ;; ++ esac ++ newdlfiles="$newdlfiles $abs" ++ done ++ dlfiles="$newdlfiles" ++ newdlprefiles= ++ for lib in $dlprefiles; do ++ case $lib in ++ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; ++ *) abs=`pwd`"/$lib" ;; ++ esac ++ newdlprefiles="$newdlprefiles $abs" ++ 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 ;; ++ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ + # $outputname - a libtool library file +@@ -4012,13 +5691,16 @@ + # Is this an already installed library? + installed=$installed + ++# Should we warn about portability when linking against -modules? ++shouldnotlink=$module ++ + # 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 ++ if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ + relink_command=\"$relink_command\"" + fi +@@ -4031,7 +5713,7 @@ + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac +- exit 0 ++ exit $EXIT_SUCCESS + ;; + + # libtool install mode +@@ -4042,11 +5724,11 @@ + # 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 ++ $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in +- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) ++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac +@@ -4055,14 +5737,14 @@ + shift + else + install_prog= +- arg="$nonopt" ++ 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 +@@ -4080,28 +5762,31 @@ + do + if test -n "$dest"; then + files="$files $dest" +- dest="$arg" ++ dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; +- -f) prev="-f" ;; +- -g) prev="-g" ;; +- -m) prev="-m" ;; +- -o) prev="-o" ;; ++ -f) ++ case " $install_prog " in ++ *[\\\ /]cp\ *) ;; ++ *) prev=$arg ;; ++ esac ++ ;; ++ -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; +- -*) ;; +- ++ -*) ++ ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else +- dest="$arg" ++ dest=$arg + continue + fi + ;; +@@ -4110,7 +5795,7 @@ + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in +- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) ++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac +@@ -4120,13 +5805,13 @@ + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + if test -z "$files"; then +@@ -4136,7 +5821,7 @@ + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. +@@ -4154,10 +5839,10 @@ + + # Not a directory, so check to see that there is only one file specified. + set dummy $files +- if test $# -gt 2; then ++ if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + fi + case $destdir in +@@ -4169,7 +5854,7 @@ + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + done +@@ -4194,11 +5879,11 @@ + + *.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 : ++ if (${SED} -e '2q' $file | grep "^# 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 ++ exit $EXIT_FAILURE + fi + + library_names= +@@ -4229,12 +5914,33 @@ + 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. ++ # At present, this check doesn't affect windows .dll's that ++ # are installed into $libdir/../bin (currently, that works fine) ++ # but it's something to keep an eye on. ++ if test "$inst_prefix_dir" = "$destdir"; then ++ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 ++ exit $EXIT_FAILURE ++ 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 +- continue ++ exit $EXIT_FAILURE + fi + fi + +@@ -4256,25 +5962,38 @@ + $run eval "$striplib $destdir/$realname" || exit $? + fi + +- if test $# -gt 0; then ++ if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. ++ # Try `ln -sf' first, because the `ln' binary might depend on ++ # the symlink we replace! Solaris /bin/ln does not understand -f, ++ # so we also need to try rm && ln -s. + 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)" ++ $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" ++ $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" +- eval cmds=\"$postinstall_cmds\" ++ cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" +- $run eval "$cmd" || exit $? ++ $run eval "$cmd" || { ++ lt_exit=$? ++ ++ # Restore the uninstalled library and exit ++ if test "$mode" = relink; then ++ $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' ++ fi ++ ++ exit $lt_exit ++ } + done + IFS="$save_ifs" + fi +@@ -4312,7 +6031,7 @@ + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + +@@ -4330,7 +6049,7 @@ + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi +- exit 0 ++ exit $EXIT_SUCCESS + ;; + + *) +@@ -4342,29 +6061,47 @@ + destfile="$destdir/$destfile" + fi + ++ # If the file is missing, and there is a .exe on the end, strip it ++ # because it is most likely a libtool script we actually want to ++ # install ++ stripped_ext="" ++ case $file in ++ *.exe) ++ if test ! -f "$file"; then ++ file=`$echo $file|${SED} 's,.exe$,,'` ++ stripped_ext=".exe" ++ fi ++ ;; ++ esac ++ + # 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=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac +- if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then ++ if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + ++ # Note that it is not necessary on cygwin/mingw to append a dot to ++ # foo even if both foo and FILE.exe exist: automatic-append-.exe ++ # behavior happens only for exec(3), not for open(2)! Also, sourcing ++ # `FILE.' does not work on cygwin managed mounts. ++ # + # If there is no directory component, then add one. +- case $file in +- */* | *\\*) . $wrapper ;; +- *) . ./$wrapper ;; ++ case $wrapper 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 ++ exit $EXIT_FAILURE + fi + + finalize=yes +@@ -4386,24 +6123,22 @@ + done + + relink_command= ++ # Note that it is not necessary on cygwin/mingw to append a dot to ++ # foo even if both foo and FILE.exe exist: automatic-append-.exe ++ # behavior happens only for exec(3), not for open(2)! Also, sourcing ++ # `FILE.' does not work on cygwin managed mounts. ++ # + # If there is no directory component, then add one. +- case $file in +- */* | *\\*) . $wrapper ;; +- *) . ./$wrapper ;; ++ case $wrapper 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="$tmpdir/libtool-$$" +- 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%^.*/%%'` ++ tmpdir=`func_mktempdir` ++ file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` +@@ -4421,14 +6156,14 @@ + fi + else + # Install the binary that we compiled earlier. +- file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` ++ file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another +- # one anyways ++ # one anyway + case $install_prog,$host in +- /usr/bin/install*,*cygwin*) ++ */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok +@@ -4437,7 +6172,7 @@ + destfile=$destfile.exe + ;; + *:*.exe) +- destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` ++ destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; +@@ -4458,16 +6193,17 @@ + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + +- if test -n "$stripme" && test -n "$striplib"; then ++ if test -n "$stripme" && test -n "$old_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\" ++ cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done +@@ -4481,9 +6217,9 @@ + 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' ++ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else +- exit 0 ++ exit $EXIT_SUCCESS + fi + ;; + +@@ -4502,10 +6238,11 @@ + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. +- eval cmds=\"$finish_cmds\" ++ cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" +@@ -4522,43 +6259,43 @@ + fi + + # Exit here if they wanted silent mode. +- test "$show" = ":" && exit 0 ++ test "$show" = : && exit $EXIT_SUCCESS + +- echo "----------------------------------------------------------------------" +- echo "Libraries have been installed in:" ++ $echo "X----------------------------------------------------------------------" | $Xsed ++ $echo "Libraries have been installed in:" + for libdir in $libdirs; do +- echo " $libdir" ++ $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:" ++ $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" ++ $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" ++ $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" ++ $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then +- echo " - have your system administrator run these commands:$admincmds" ++ $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'" ++ $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 ++ $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 "X----------------------------------------------------------------------" | $Xsed ++ exit $EXIT_SUCCESS + ;; + + # libtool execute mode +@@ -4570,7 +6307,7 @@ + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" +- exit 1 ++ exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. +@@ -4578,18 +6315,18 @@ + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + 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 : ++ if (${SED} -e '2q' $file | grep "^# 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 ++ exit $EXIT_FAILURE + fi + + # Read the libtool library. +@@ -4616,7 +6353,7 @@ + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + ;; + +@@ -4656,7 +6393,7 @@ + -*) ;; + *) + # 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 (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; +@@ -4679,7 +6416,7 @@ + eval "export $shlibpath_var" + fi + +- # Restore saved enviroment variables ++ # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi +@@ -4696,7 +6433,7 @@ + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" +- exit 0 ++ exit $EXIT_SUCCESS + fi + ;; + +@@ -4724,24 +6461,25 @@ + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + + rmdirs= + ++ origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. +- objdir="$objdir" ++ objdir="$origobjdir" + else +- objdir="$dir/$objdir" ++ objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +- test $mode = uninstall && objdir="$dir" ++ test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates +- if test $mode = clean; then ++ if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; +@@ -4765,7 +6503,7 @@ + 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 ++ if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. +@@ -4773,18 +6511,27 @@ + 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 ++ case "$mode" in ++ clean) ++ case " $library_names " in ++ # " " in the beginning catches empty $dlname ++ *" $dlname "*) ;; ++ *) rmfiles="$rmfiles $objdir/$dlname" ;; ++ esac ++ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ++ ;; ++ uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. +- eval cmds=\"$postuninstall_cmds\" ++ cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" +- if test $? != 0 && test "$rmforce" != yes; then ++ if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done +@@ -4793,40 +6540,72 @@ + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. +- eval cmds=\"$old_postuninstall_cmds\" ++ cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" +- if test $? != 0 && test "$rmforce" != yes; then ++ if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. +- fi ++ ;; ++ esac + fi + ;; + + *.lo) +- if test "$build_old_libs" = yes; then +- oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` +- rmfiles="$rmfiles $dir/$oldobj" ++ # Possibly a libtool object, so verify it. ++ if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ++ ++ # Read the .lo file ++ . $dir/$name ++ ++ # Add PIC object to the list of files to remove. ++ if test -n "$pic_object" \ ++ && test "$pic_object" != none; then ++ rmfiles="$rmfiles $dir/$pic_object" ++ fi ++ ++ # Add non-PIC object to the list of files to remove. ++ if test -n "$non_pic_object" \ ++ && test "$non_pic_object" != none; then ++ rmfiles="$rmfiles $dir/$non_pic_object" ++ fi + 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 ++ if test "$mode" = clean ; then ++ noexename=$name ++ case $file in ++ *.exe) ++ file=`$echo $file|${SED} 's,.exe$,,'` ++ noexename=`$echo $name|${SED} 's,.exe$,,'` ++ # $file with .exe has already been added to rmfiles, ++ # add $file without .exe ++ rmfiles="$rmfiles $file" ++ ;; ++ esac ++ # Do a test to see if this is a libtool program. ++ if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ++ relink_command= ++ . $dir/$noexename + +- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" +- if test "$fast_install" = yes && test -n "$relink_command"; then +- rmfiles="$rmfiles $objdir/lt-$name" ++ # note $name still contains .exe if it was in $file originally ++ # as does the version of $file that was added into $rmfiles ++ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" ++ if test "$fast_install" = yes && test -n "$relink_command"; then ++ rmfiles="$rmfiles $objdir/lt-$name" ++ fi ++ if test "X$noexename" != "X$name" ; then ++ rmfiles="$rmfiles $objdir/lt-${noexename}.c" ++ fi + fi + fi + ;; +@@ -4834,6 +6613,7 @@ + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done ++ objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do +@@ -4849,20 +6629,20 @@ + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + fi + fi # test -z "$show_help" + + if test -n "$exec_cmd"; then + eval exec $exec_cmd +- exit 1 ++ exit $EXIT_FAILURE + fi + + # We need to display help for each of the modes. +@@ -4881,6 +6661,7 @@ + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages ++ --tag=TAG use configuration variables from tag TAG + --version print version information + + MODE must be one of the following: +@@ -4894,8 +6675,10 @@ + 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 ++a more detailed description of MODE. ++ ++Report bugs to ." ++ exit $EXIT_SUCCESS + ;; + + clean) +@@ -5006,6 +6789,9 @@ + -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 ++ -objectlist FILE Use a list of object files found in FILE to specify objects ++ -precious-files-regex REGEX ++ don't remove output files matching REGEX + -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 +@@ -5047,14 +6833,33 @@ + *) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 +- exit 1 ++ exit $EXIT_FAILURE + ;; + esac + +-echo ++$echo + $echo "Try \`$modename --help' for more information about other modes." + +-exit 0 ++exit $? ++ ++# The TAGs below are defined such that we never get into a situation ++# in which we disable both kinds of libraries. Given conflicting ++# choices, we go for a static library, that is the most portable, ++# since we can't tell whether shared libraries were disabled because ++# the user asked for that or because the platform doesn't support ++# them. This is particularly important on AIX, because we don't ++# support having both static and shared libraries enabled at the same ++# time on that platform, so we default to a shared-only configuration. ++# If a disable-shared tag is given, we'll fallback to a static-only ++# configuration. But we'll never go from static-only to shared-only. ++ ++# ### BEGIN LIBTOOL TAG CONFIG: disable-shared ++disable_libs=shared ++# ### END LIBTOOL TAG CONFIG: disable-shared ++ ++# ### BEGIN LIBTOOL TAG CONFIG: disable-static ++disable_libs=static ++# ### END LIBTOOL TAG CONFIG: disable-static + + # Local Variables: + # mode:shell-script --- sundials-2.5.0.orig/debian/patches/octave-sundialstb.patch +++ sundials-2.5.0/debian/patches/octave-sundialstb.patch @@ -0,0 +1,193 @@ +Index: sundials-2.5.0/sundialsTB/install_STB.m +=================================================================== +--- sundials-2.5.0.orig/sundialsTB/install_STB.m 2012-03-21 23:47:00.000000000 +0100 ++++ sundials-2.5.0/sundialsTB/install_STB.m 2012-06-07 10:47:47.000000000 +0200 +@@ -9,7 +9,7 @@ + % MEX compiler command + % -------------------- + +-mexcompiler = 'mex -v'; ++mexcompiler = 'mkoctfile --mex -v'; + + % Location of sundialsTB and top of sundials source tree + % ------------------------------------------------------ +@@ -46,48 +46,18 @@ + % Figure out what modules exist and which ones will be built + % ---------------------------------------------------------- + +-fprintf('\n\nSelect modules to be built\n'); ++fprintf('\n\nBuild Modules for CVODES, IDAS, KINSOL\n'); + +-q = fullfile(sun,'src','cvodes'); +-if exist(q, 'dir') +- answ = input(' Compile CVODES interface? (y/n) ','s'); +- if answ == 'y' +- cvm_ok = true; +- else +- cvm_ok = false; +- end +-end +- +-if exist(q, 'dir') +- answ = input(' Compile IDAS interface? (y/n) ','s'); +- if answ == 'y' +- idm_ok = true; +- else +- idm_ok = false; +- end +-end +- +-q = fullfile(sun,'src','kinsol'); +-if exist(q, 'dir') +- answ = input(' Compile KINSOL interface? (y/n) ','s'); +- if answ == 'y' +- kim_ok = true; +- else +- kim_ok = false; +- end +-end +- +-if ~cvm_ok && ~idm_ok && ~kim_ok +- fprintf('\nOK. All done.\n'); +- return +-end ++cvm_ok = true; ++idm_ok = true; ++kim_ok = true; + + % Create sundials_config.h + % ------------------------ + + mkdir('sundials'); + fi = fopen(fullfile('sundials','sundials_config.h'),'w'); +-fprintf(fi,'#define SUNDIALS_PACKAGE_VERSION "2.4.0"\n'); ++fprintf(fi,'#define SUNDIALS_PACKAGE_VERSION "2.5.0"\n'); + fprintf(fi,'#define SUNDIALS_DOUBLE_PRECISION 1\n'); + fprintf(fi,'#define SUNDIALS_USE_GENERIC_MATH 1\n'); + fprintf(fi,'#define SUNDIALS_EXPORT\n'); +@@ -117,17 +87,15 @@ + % ------------------ + + fprintf('\n\nMEX files were successfully created.\n'); +-answ = input(' Install toolbox? (y/n) ','s'); +-if answ ~= 'y' +- fprintf('\n\nOK. All done.\n'); +- return +-end ++fprintf('\n\nInstall toolbox.\n'); ++answ = 'y' + + while true + fprintf('\n\nSpecify the location where you wish to install the toolbox.\n'); + fprintf('The toolbox will be installed in a subdirectory "sundialsTB".\n'); + fprintf('Enter return to cancel the installation.\n'); +- where = input(' Installation directory: ','s'); ++ %where = input(' Installation directory: ','s'); ++ where = './octave'; + if isempty(where) + go = 0; + break; +@@ -149,7 +117,8 @@ + go = 1; + if exist(stbi,'dir') + fprintf('\n\nDirectory %s exists!\n',stbi); +- answ = input(' Replace? (y/n) ','s'); ++ %answ = input(' Replace? (y/n) ','s'); ++ answ = 'y'; + if answ == 'y' + rmdir(stbi,'s'); + go = 1; +@@ -210,11 +179,14 @@ + fprintf('add a call to %s\n',fullfile(stbi,'startup_STB.m')); + fprintf('\nEnjoy!\n\n'); + ++exit ++endfunction ++ + %--------------------------------------------------------------------------------- + % Check if mex works and if the user accepts the current mexopts + %--------------------------------------------------------------------------------- + +-function mex_ok = check_mex(mexcompiler) ++function mex_ok = check_mex (mexcompiler) + + % Create a dummy file + fid = fopen('foo.c', 'w'); +@@ -232,7 +204,8 @@ + delete(sprintf('foo.%s', mexext)) + + fprintf('\n\nMEX files will be compiled and built using the above options\n'); +-answ = input(' Proceed? (y/n) ','s'); ++%answ = input(' Proceed? (y/n) ','s'); ++answ = 'y'; + if answ == 'y' + mex_ok = true; + else +@@ -240,7 +213,7 @@ + mex_ok = false; + end + +-return ++endfunction + + %--------------------------------------------------------------------------------- + % compilation of cvm MEX file +@@ -352,6 +325,8 @@ + + cd(stb) + ++endfunction ++ + %--------------------------------------------------------------------------------- + % compilation of idm MEX file + %--------------------------------------------------------------------------------- +@@ -461,6 +436,7 @@ + + cd(stb) + ++endfunction + + %--------------------------------------------------------------------------------- + % compilation of KINSOL MEX file +@@ -569,6 +545,8 @@ + + cd(stb) + ++endfunction ++ + %--------------------------------------------------------------------------------- + % Installation of common sundialsTB files + %--------------------------------------------------------------------------------- +@@ -633,6 +611,7 @@ + break; + end + end ++endfunction + + %--------------------------------------------------------------------------------- + % Installation of CVODES files +@@ -795,6 +774,8 @@ + disp(msg); + end + ++endfunction ++ + %--------------------------------------------------------------------------------- + % Installation of IDAS files + %--------------------------------------------------------------------------------- +@@ -949,7 +930,7 @@ + disp(msg); + end + +- ++endfunction + + %--------------------------------------------------------------------------------- + % Installation of KINSOL files +@@ -1023,3 +1004,6 @@ + end + + ++endfunction ++ ++install_STB; --- sundials-2.5.0.orig/debian/patches/ppc64el.diff +++ sundials-2.5.0/debian/patches/ppc64el.diff @@ -0,0 +1,28 @@ +Index: b/configure +=================================================================== +--- a/configure ++++ b/configure +@@ -3201,7 +3201,10 @@ + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; +- ppc64-*linux*|powerpc64-*linux*) ++ powerpc64le-*) ++ LD="${LD-ld} -m elf32lppclinux" ++ ;; ++ powerpc64-*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) +@@ -3217,7 +3220,10 @@ + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; +- ppc*-*linux*|powerpc*-*linux*) ++ powerpcle-*) ++ LD="${LD-ld} -m elf64lppc" ++ ;; ++ powerpc-*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) --- sundials-2.5.0.orig/debian/patches/series +++ sundials-2.5.0/debian/patches/series @@ -0,0 +1,6 @@ +makefile.patch +#sh4.patch +fix-format-error.patch +octave-sundialstb.patch +link-blas-lapack.patch +ppc64el.diff --- sundials-2.5.0.orig/debian/patches/sh4.patch +++ sundials-2.5.0/debian/patches/sh4.patch @@ -0,0 +1,13 @@ +Index: sundials-2.4.0/configure +=================================================================== +--- sundials-2.4.0.orig/configure 2010-11-03 08:42:51.000000000 +0100 ++++ sundials-2.4.0/configure 2010-11-03 08:43:14.000000000 +0100 +@@ -8295,7 +8295,7 @@ + + ;; + # Ignore these flags. +- -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -LANG:=* | -LIST:* | -LNO:*) ++ -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -little | -LANG:=* | -LIST:* | -LNO:*) + ;; + -lkernel32) + test x"$CYGWIN" != xyes && ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" --- sundials-2.5.0.orig/debian/rules +++ sundials-2.5.0/debian/rules @@ -0,0 +1,94 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk + +#include /usr/share/hardening-includes/hardening.make +# +#CFLAGS=$(shell dpkg-buildflags --get CFLAGS) +#LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS) +#CFLAGS+=$(HARDENING_CFLAGS) +#LDFLAGS+=$(HARDENING_LDFLAGS) + +debusr := $(DEB_DESTDIR)usr +debexp = debian/libsundials-serial-dev/usr/share/doc/libsundials-serial-dev/examples + +DEB_AUTO_UPDATE_AUTOMAKE := 1.11 + +DEB_CONFIGURE_EXTRA_FLAGS := --enable-shared --disable-mpi --enable-examples +DEB_CONFIGURE_SCRIPT_ENV += F77="gfortran" +DEB_MAKE_INSTALL_TARGET := install prefix=$(debusr) EXS_INSTDIR=$(DEB_DESTDIR)$(debexp) + +DEB_INSTALL_MANPAGES_libsundials-serial-dev := debian/sundials-config.1 +DEB_INSTALL_EXAMPLES_libsundials-serial-dev := examples/* +DEB_DH_INSTALL_SOURCEDIR = $(DEB_DESTDIR) + +DEB_COMPRESS_EXCLUDE = .c .out .f + +USCAN_DESTDIR := $(CURDIR)/../tarballs +DEB_STRIPPED_UPSTREAM_VERSION = $(shell echo $(DEB_UPSTREAM_VERSION) | sed -n -e 's/\.dfsg.*$$//p') + +# Get the appropriate paths for the installation of the Octave files +mpath = $(shell octave-config -p LOCALFCNFILEDIR) +bpath = $(shell octave-config -p LOCALARCHLIBDIR) + +# The following hack is necessary because the upstream makefiles do +# not install $libdir and $includedir or $mandir +common-install-prehook-impl:: + mkdir -p $(debusr)/lib + mkdir -p $(debusr)/include + mkdir -p $(debusr)/share/man/man1 + +build/libsundials-serial:: + $(SHELL) debian/check.sh + +build/octave-sundials:: + mkdir -p sundialsTB/octave + cd sundialsTB && octave -fV install_STB.m + strip sundialsTB/octave/sundialsTB/cvodes/cvm/cvm.mex + strip sundialsTB/octave/sundialsTB/idas/idm/idm.mex + strip sundialsTB/octave/sundialsTB/kinsol/kim/kim.mex + +install/octave-sundials:: + mkdir -p debian/tmp/$(mpath) + mkdir -p debian/tmp/$(bpath)/sundialsTB/cvodes/cvm/ + mv sundialsTB/octave/sundialsTB/cvodes/cvm/cvm.mex debian/tmp/$(bpath)/sundialsTB/cvodes/cvm + mkdir -p debian/tmp/$(bpath)/sundialsTB/idas/idm/ + mv sundialsTB/octave/sundialsTB/idas/idm/idm.mex debian/tmp/$(bpath)/sundialsTB/idas/idm + mkdir -p debian/tmp/$(bpath)/sundialsTB/kinsol/kim + mv sundialsTB/octave/sundialsTB/kinsol/kim/kim.mex debian/tmp/$(bpath)/sundialsTB/kinsol/kim + mv sundialsTB/octave/* debian/tmp/$(mpath) + rm debian/tmp/$(mpath)/sundialsTB/LICENSE + +binary-install/libsundials-serial-dev:: + find $(deblib) \( -name \*.la \) -exec rm -rf {} + + find $(debexp) \( -name \*.libs \) -exec rm -rf {} + + find $(debexp) \ + -type f -a ! \( -name README -o -name \*.out \ + -o -name \*.f -o -name \*.c \) \ + -a -exec rm -f \{\} \; + +clean:: + find examples \ + -type f -a \( -name \*.o -o -name \*.out \) \ + -a -exec rm -f \{\} \; + find sundialsTB \ + -type f -a \( -name \*.o -o -name \*.mex \) \ + -a -exec rm -f \{\} \; + rm -rf sundialsTB/octave + rm -rf bin/makefile-update.sh + + +get-orig-source: + mkdir -p $(USCAN_DESTDIR) + uscan --force-download --no-symlink --verbose --destdir $(USCAN_DESTDIR) + tar -C $(USCAN_DESTDIR) -xzf $(USCAN_DESTDIR)/$(DEB_SOURCE_PACKAGE)_$(DEB_STRIPPED_UPSTREAM_VERSION).orig.tar.gz + rm -f $(USCAN_DESTDIR)/$(DEB_SOURCE_PACKAGE)*.tar.gz + find $(USCAN_DESTDIR)/$(DEB_SOURCE_PACKAGE)-$(DEB_STRIPPED_UPSTREAM_VERSION) -name \*.pdf | xargs rm + cd $(USCAN_DESTDIR) && GZIP=-9 tar -czf \ + $(CURDIR)/$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz \ + $(DEB_SOURCE_PACKAGE)-$(DEB_STRIPPED_UPSTREAM_VERSION) + rm -rf $(USCAN_DESTDIR)/$(DEB_SOURCE_PACKAGE)-$(DEB_STRIPPED_UPSTREAM_VERSION) + --- sundials-2.5.0.orig/debian/source.lintian-overrides +++ sundials-2.5.0/debian/source.lintian-overrides @@ -0,0 +1 @@ +sundials source: ancient-libtool config/ltmain.sh 1.4.3 --- sundials-2.5.0.orig/debian/sundials-config.1 +++ sundials-2.5.0/debian/sundials-config.1 @@ -0,0 +1,57 @@ +.TH "sundials\-config" 1 "2006-07-25" "" "SUNDIALS" +.SH NAME +sundials-config \- returns required flags for linking to SUNDIALS libraries +.SH SYNOPSIS +.HP +.B sundials\-config +.BI "\-m {" cvode | cvodes | ida | kinsol } +.BI "\-t {" s | p } +.BI "\-l {" c | f } +.BI "[-s {" libs | cppflags }] +.B [\-hv] +.SH DESCRIPTION +.B sundials\-config +provides a way to obtain various configuration options for compiling programs +that use SUNDIALS +.SH OPTIONS +.TP +.BI "\-m {" cvode | cvodes | ida | kinsol } +Select the SUNDIALS module +.TP +.BI "\-t {" s | p } +Use serial of parallel vectors +.TP +.BI "\-l {" c | f } +Use C or Fortran +.TP +.BI "-s {" libs | cppflags } +Show linking flags or C preprocessor flags +(show both of no option is given) +.TP +.B \-h +Get usage and options information +.TP +.B \-v +View the script +.SH NOTES +.TP +.B \-lf +is not valid for +.B \-m cvodes +.TP +.B \-s cppflags +returns an empty string for +.B \-l f +.SH AUTHOR +\fBRadu Serban\fR <\&radu@llnl.gov\&> +.P +This manual page was written by Andrey Romanenko for +the Debian system (but may be used by others). Permission +is granted to copy, distribute and/or modify this document under +the terms of the &gnu; General Public License, Version 2 any +later version published by the Free Software Foundation. +.P +On Debian systems, the complete text of the GNU General Public +License can be found in \fI/usr/share/common-licenses/GPL\fR. +.SH "SEE ALSO" +SUNDIALS Documentation --- sundials-2.5.0.orig/debian/watch +++ sundials-2.5.0/debian/watch @@ -0,0 +1,4 @@ +version=3 +opts="filenamemangle=s/.*//,dversionmangle=s/\.dfsg$//" \ + http://computation.llnl.gov/casc/sundials/download/download.html \ + .*'sundials-([\d.]+)'.* debian /bin/sh debian/orig-tarball.sh