--- suitesparse-3.1.0.orig/debian/control +++ suitesparse-3.1.0/debian/control @@ -0,0 +1,159 @@ +Source: suitesparse +Section: math +Priority: optional +Maintainer: Debian Scientific Computing Team +Uploaders: Christophe Prud'homme , + Daniel Rus Morales , + Rafael Laboissiere , + Ondrej Certik +Build-Depends: cdbs, debhelper (>= 5.0.0), dpatch, gfortran, + libblas-dev, liblapack-dev +Standards-Version: 3.7.3 +Homepage: http://www.cise.ufl.edu/research/sparse/SuiteSparse/ +Vcs-Svn: svn://svn.debian.org/svn/pkg-scicomp/suitesparse/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-scicomp/suitesparse/ +XS-DM-Upload-Allowed: yes + +Package: libsuitesparse-3.1.0 +Section: libs +Architecture: any +Depends: libblas3gf | libatlas3gf-base | libatlas3gf-sse | libatlas3gf-sse2 | libatlas3gf-3dnow, liblapack3gf | libatlas3gf-base | libatlas3gf-sse | libatlas3gf-sse2 | libatlas3gf-3dnow, ${shlibs:Depends} +Description: collection of libraries for computations for sparse matrices + Suitesparse is a collection of libraries for computations involving + sparse matrices. The package includes the following libraries: + . + AMD approximate minimum degree ordering + . + CAMD symmetric approximate minimum degree + . + BTF permutation to block triangular form (beta) + . + CAMD symmetric approximate minimum degree + . + CCOLAMD constrained column approximate minimum degree ordering + . + COLAMD column approximate minimum degree ordering + . + CHOLMOD sparse Cholesky factorization + . + CSparse a concise sparse matrix package + . + CXSparse CSparse extended: complex matrix, int and long int support + . + KLU sparse LU factorization, primarily for circuit simulation + . + LDL a simple LDL' factorization + . + UMFPACK sparse LU factorization + . + UFconfig configuration file for all the above packages. + . + This package contains the dynamic libraries. + +Package: libsuitesparse-dev +Section: libdevel +Architecture: any +Replaces: libufsparse-dev, libsuitesparse-metis-dev, libumfpack4-dev +Conflicts: libufsparse-dev, libsuitesparse-metis-dev, libumfpack4-dev +Provides: libufsparse-dev, libumfpack4-dev +Depends: libsuitesparse-3.1.0 (= ${binary:Version}), libblas-dev | libatlas-base-dev | libatlas-sse-dev | libatlas-sse2-dev | libatlas-3dnow-dev, liblapack-dev | libatlas-base-dev | libatlas-sse-dev | libatlas-sse2-dev | libatlas-3dnow-dev, libc6-dev +Description: collection of libraries for computations for sparse matrices + Suitesparse is a collection of libraries for computations involving + sparse matrices. The package includes the following libraries: + . + AMD approximate minimum degree ordering + . + CAMD symmetric approximate minimum degree + . + BTF permutation to block triangular form (beta) + . + COLAMD column approximate minimum degree ordering + . + CCOLAMD constrained column approximate minimum degree ordering + . + CHOLMOD sparse Cholesky factorization + . + CSparse a concise sparse matrix package + . + CXSparse CSparse extended: complex matrix, int and long int support + . + KLU sparse LU factorization, primarily for circuit simulation + . + LDL a simple LDL' factorization + . + UMFPACK sparse LU factorization + . + UFconfig configuration file for all the above packages. + . + This package contains the static libraries and header files. + +Package: libsuitesparse-dbg +Section: libdevel +Priority: extra +Architecture: any +Depends: libsuitesparse-3.1.0 (= ${binary:Version}), libblas-dev | libatlas-base-dev | libatlas-sse-dev | libatlas-sse2-dev | libatlas-3dnow-dev, liblapack-dev | libatlas-base-dev | libatlas-sse-dev | libatlas-sse2-dev | libatlas-3dnow-dev, libc6-dev +Conflicts: libufsparse-dbg +Replaces: libufsparse-dbg +Description: collection of libraries for computations for sparse matrices + Suitesparse is a collection of libraries for computations involving + sparse matrices. The package includes the following libraries: + . + AMD approximate minimum degree ordering + . + CAMD symmetric approximate minimum degree + . + BTF permutation to block triangular form (beta) + . + COLAMD column approximate minimum degree ordering + . + CCOLAMD constrained column approximate minimum degree ordering + . + CHOLMOD sparse Cholesky factorization + . + CSparse a concise sparse matrix package + . + CXSparse CSparse extended: complex matrix, int and long int support + . + KLU sparse LU factorization, primarily for circuit simulation + . + LDL a simple LDL' factorization + . + UMFPACK sparse LU factorization + . + UFconfig configuration file for all the above packages. + . + This package contains the debug libraries (stored in /usr/lib/debug). + +Package: libsuitesparse-doc +Section: doc +Architecture: all +Replaces: libufsparse-doc, libumfpack4-doc +Conflicts: libufsparse-doc, libumfpack4-doc +Recommends: libatlas-doc, libblas-doc, doc-central +Description: collection of libraries for computations for sparse matrices + Suitesparse is a collection of libraries for computations involving + sparse matrices. The package includes the following libraries: + . + AMD approximate minimum degree ordering + . + BTF permutation to block triangular form (beta) + . + COLAMD column approximate minimum degree ordering + . + CCOLAMD constrained column approximate minimum degree ordering + . + CHOLMOD sparse Cholesky factorization + . + CSparse a concise sparse matrix package + . + CXSparse CSparse extended: complex matrix, int and long int support + . + KLU sparse LU factorization, primarily for circuit simulation + . + LDL a simple LDL' factorization + . + UMFPACK sparse LU factorization + . + UFconfig configuration file for all the above packages. + . + This package contains the user guides. --- suitesparse-3.1.0.orig/debian/libsuitesparse.overrides +++ suitesparse-3.1.0/debian/libsuitesparse.overrides @@ -0,0 +1 @@ +libsuitesparse-3.1.0: package-name-doesnt-match-sonames libamd3.1.0 libbtf3.1.0 libcamd3.1.0 libccolamd3.1.0 libcholmod3.1.0 libcolamd3.1.0 libcsparse3.1.0 libcxsparse3.1.0 libklu3.1.0 libldl3.1.0 libumfpack3.1.0 --- suitesparse-3.1.0.orig/debian/libsuitesparse.postrm.debhelper +++ suitesparse-3.1.0/debian/libsuitesparse.postrm.debhelper @@ -0,0 +1,5 @@ +# Automatically added by dh_makeshlibs +if [ "$1" = "remove" ]; then + ldconfig +fi +# End automatically added section --- suitesparse-3.1.0.orig/debian/watch +++ suitesparse-3.1.0/debian/watch @@ -0,0 +1,22 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# See uscan(1) for format + +# Compulsory line, this is a version 3 file +version=3 + +# Uncomment to examine a Webpage +# +http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-(.*).tar.gz + +# Uncomment to examine a Webserver directory +#http://www.example.com/pub/ufsparse-(.*)\.tar\.gz + +# Uncommment to examine a FTP server +#ftp://ftp.example.com/pub/ufsparse-(.*)\.tar\.gz debian uupdate + +# Uncomment to find new files on sourceforge, for debscripts >= 2.9 +# http://sf.net/ufsparse/ufsparse-(.*)\.tar\.gz + + --- suitesparse-3.1.0.orig/debian/copyright +++ suitesparse-3.1.0/debian/copyright @@ -0,0 +1,50 @@ +This package was debianized by Daniel Rus Morales on +Sat, 15 Dec 2007 19:35:03 +0100 + +It was downloaded from http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-3.1.0.tar.gz + +Copyright Holder: +AMD Copyright (c) 2004-2007 by Timothy A. Davis, Patrick R. Amestoy, and + Iain S. Duff. +BTF Copyright (c) 2004-2007, University of Florida. Author: Timothy A. Davis. +CCOLAMD, COLAMD Copyright (c) 1998-2007, University of Florida. Author: Timothy A. Davis, + Siva Rajamanickam, and Stefan Larimore. The COLAMD algorithm was developed + in collaboration Esmond Ng and John Gilbert. +CSparse, CXSparse Copyright (c) 2006-2007, Timothy A. Davis. +KLU Copyright (c) 2004-2007, University of Florida. + Author: Timothy A. Davis. Co-author: Eka Palamadai. +LDL Copyright (c) 2003-2007 by Timothy A. Davis. +UMFPACK Copyright (c) 1994-2007 by Timothy A. Davis, University of Florida. +CHOLDMOD Copyright (c) 2004-2007. Some portions are Copyright (c) Univ. of Florida. + Others are Copyright (c) by their authors (T. A. Davis and W. Hager). + Distributed under the GNU LGPL license; the Supernodal and Modify + (update/downdate) Modules are distributed under the GNU GPL license. + +License: LGPL, GPL + +On Debian systems, the complete text of the GNU Lesser General +Public License can be found in `/usr/share/common-licenses/LGPL'. +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + + +AMD: LGPL +BTF: LGPL +CCOLAMD: LGPL +COLAMD: LGPL +CSparse: LGPL +CXSparse: LGPL +KLU: LGPL +LDL: LGPL +UMFPACK: GPL +CHOLMOD: + - Check: LGPL + - Cholesky: LGPL + - Core: LGPL + - Demo: GPL + - MatrixOps: GPL + - Modify: GPL + - Partition: GPL + - Supernodal: GPL + - Tcov: GPL + - Valgrind: GPL --- suitesparse-3.1.0.orig/debian/libsuitesparse-doc.doc-base.umfpack-ug +++ suitesparse-3.1.0/debian/libsuitesparse-doc.doc-base.umfpack-ug @@ -0,0 +1,8 @@ +Document: umfpack-ug +Title: SuiteSparse/UMFPACK User Guide +Author: Timothy A. Davis, University of Florida, davis@cise.ufl.edu. +Abstract: UMFPACK is a set of routines for solving unsymmetric sparse linear systems, Ax=b, using the Unsymmetric MultiFrontal method. It is part of the SuiteSparse package. +Section: Devel + +Format: PDF +Files: /usr/share/doc/libsuitesparse-doc/UMFPACK_UserGuide.pdf --- suitesparse-3.1.0.orig/debian/NEWS +++ suitesparse-3.1.0/debian/NEWS @@ -0,0 +1,8 @@ +suitesparse (3.1.0-1) experimental; urgency=low + + Since the upstream author does not provide soversion numbers for the + individual libraries, they are arbitrarily set in this package to the + version number of SuiteSparse itself. This is the reason the library + package has a versioned name now. + + -- Rafael Laboissiere Tue, 05 Feb 2008 18:13:49 +0100 --- suitesparse-3.1.0.orig/debian/compat +++ suitesparse-3.1.0/debian/compat @@ -0,0 +1 @@ +5 --- suitesparse-3.1.0.orig/debian/docs +++ suitesparse-3.1.0/debian/docs @@ -0,0 +1 @@ +README.txt --- suitesparse-3.1.0.orig/debian/changelog +++ suitesparse-3.1.0/debian/changelog @@ -0,0 +1,179 @@ +suitesparse (1:3.1.0-3.1) unstable; urgency=high + + * Non-maintainer upload. + * re-upload with epoch. You should not upload a + name-changing new upstream to unstable (which breaks many r-deps) + during a freeze + + -- Rene Engelhard Tue, 09 Dec 2008 01:07:41 +0100 + +suitesparse (3.1.0-3) unstable; urgency=low + + [ Rafael Laboissiere ] + * Upload to unstable + + [ Ondrej Certik ] + * XS-DM-Upload-Allowed: yes field added + * Ondrej Certik added to uploaders + + -- Rafael Laboissiere Thu, 21 Feb 2008 14:46:50 +0100 + +suitesparse (3.1.0-2) experimental; urgency=low + + * debian/*-*_Lib_{GNUm,M}akefile.dpatch: Changed all dpatches to set the + soname of the shared libraries to lib*.so.3.1.0. This will avoid + problems with the future releases of the package. Thanks to Adam + C. Powell IV for the suggestion. + * debian/libsuitesparse.overrides: Adjusted according to the above + + -- Rafael Laboissiere Mon, 11 Feb 2008 07:37:24 +0100 + +suitesparse (3.1.0-1) experimental; urgency=low + + [ Daniel Rus Morales ] + * New upstream release. + * Install every provided library ChangeLog as LIB_ChangeLog to be able to + keep track of every change explained there by mainstream developers. + * Remove 'Homepage' field from debian/control file due to the warning + messages it produces. + + [ Rafael Laboissiere ] + * This version of suitesparse introduces a new name for the library + binary package (libsuitesparse-3.1.0). This is needed in order to avoid + soversion problems and clashes with the previous version of + libsuitesparse. A debian/NEWS file is added, which explains the + changes. + * debian/control: + + Switch from g77 to gfortran, adjusting all dependencies on the + appropriate versions of the blas, atlas and lapack packages. Thanks + to Kumar Appaiah for the patch (closes: #463820). + + Drop the Conflicts/Replaces/Provides relationships for the + libsuitesparse-3.0.1 package. This was needed for the + previous libsuitesparse package and is not necessary anymore. + + Changed the deprecated Source-Version substvar by the recommended + binary:Version, which has to be used instead of source:Version, + otherwise the package will not be binNMUable + + Use the Vcs-* headers instead of the deprecated XS-Vcs-* ones + + Bumped Standards-Version to 3.7.3 + + Added myself to Uploaders + * debian/patches/13-UFconfig_UFconfig.mk.dpatch: Adjusted for the + version of the lapack package compiled with gfortran + * debian/libsuitesparse-doc.doc-base.amd: Removed extra leading spaces + at the continuation line of the Abstract section + + -- Rafael Laboissiere Tue, 05 Feb 2008 18:12:02 +0100 + +suitesparse (3.0.0-7) unstable; urgency=low + + * Bug fix: "trying to overwrite `/usr/lib/libamd.a', which is also + in package libumfpack4-dev", thanks to Soeren Sonnenburg (Closes: + #447555). + * debian/control: + + added Homepage field + + removed duplicate field Replaces + + -- Christophe Prud'homme Mon, 22 Oct 2007 11:10:41 +0200 + +suitesparse (3.0.0-6.1) unstable; urgency=high + + * NMU + * really conflict/replace/provide libufsparse-dbg (closes: #422644) + + -- Rene Engelhard Sat, 28 Jul 2007 14:19:50 +0200 + +suitesparse (3.0.0-6) unstable; urgency=low + + [Ondrej Certik] + * Bug fix: "FTBFS: Not using -fPIC to make shared library" (Closes: #434792) + + -- Christophe Prud'homme Thu, 26 Jul 2007 22:24:48 +0200 + +suitesparse (3.0.0-5) unstable; urgency=low + + [Daniel Rus Morales] + * Bug fix: "FTBFS: ld: cannot find -lmetis" (Closes: #434410) + + [ Christophe Prud'homme ] + * Bug fix: "tries to overwrite /usr/lib/libamd.so.1", thanks to Soeren + Sonnenburg (Closes: #428175). + + -- Christophe Prud'homme Mon, 23 Jul 2007 10:11:32 +0200 + +suitesparse (3.0.0-4) unstable; urgency=low + + [Daniel Rus Morales] + * Turn the repository to mergeWithUpstream mode. + * debian/patches/: Create a bunch of patches to build the shared version + of all suitesparse libraries. + * debian/rules: updated. + * debian/control: Mention CAMD and CCOLAMD in the package description, + thanks to Thomas Weber . + * Overrides lintian warning: binary-or-shlib-defines-rpath + + -- Christophe Prud'homme Tue, 17 Jul 2007 12:15:41 +0200 + +suitesparse (3.0.0-3) unstable; urgency=low + + [ Christophe Prud'homme ] + * debian/control: removed libsuitesparse-metis and + libsuitesparse-metis-dev, this will be provided by a suitesparse-metis + package + * Bug fix: "suitesparse: Build-Depends on non-free package + libparmetis-dev", thanks to Daniel Schepler (Closes: #426814). + + -- Christophe Prud'homme Thu, 31 May 2007 08:45:21 +0200 + +suitesparse (3.0.0-2) unstable; urgency=low + + * suitesparse builds properly twice in a row + * Bug fix: "suitesparse - FTBFS: Broken build depens: libgfortran1-dev", + thanks to Bastian Blank (Closes: #426349). + * Bug fix: "suitesparse_3.0.0-1: FTBFS: build-depends on + libgfortran1-dev", thanks to Steve Langasek (Closes: #426354). + + -- Christophe Prud'homme Tue, 29 May 2007 09:36:29 +0200 + +suitesparse (3.0.0-1) unstable; urgency=low + + [ Christophe Prud'homme ] + * New upstream release + * debian/libsuitesparse-doc.install: added LDL, KLU and CAMD documentation. + * Bug fix: "libsuitesparse: New upstream version", thanks to Thomas + Weber (Closes: #425665). + * debian/libsuitesparse-metis.install: update libs location. + * debian/libsuitesparse-metis-dev.install: update libs and headers location. + * debian/libsuitesparse.install: update libs location. + * debian/libsuitesparse-dev.install: update libs and headers location. + * debian/rules: update libs location. + + [ Daniel Rus Morales ] + * debian/control: New entries for the libsuitesparse-metis pakacke and for + its corresponding -dev package. Both substitute CHOLMOD library with one + linked with MeTiS (libparmetis-dev added to Build-Depends field). + * debian/rules: New rules to build content for the libsuitesparse-metis pkg + and for its corresponding -dev package. + Added entries to include libcamd in libsuitesparse package and in its + corresponding -dev package. + Added binary-post-install rules for installing libsuitesparse and + libsuitesparse-metis overrides files. + Added an entry to clean CHOLMOD/LibMetis directory. + * debian/libsuitesparse-metis.install: new install file. + * debian/libsuitesparse-metis-dev.install: new install file. + * debian/watch: URL for SuiteSparse-(.*).tar.gz package. + * CHOLMOD/LibMetis: New CHOLMOD/LibMetis directory where to build libcholmod + with libmetis support. + * CHOLMOD/LibMetis/Makefile: Just a copy of CHOLMOD/Lib/Makefile used to + build the suitesparse-metis package. + + [ Rafael Laboissiere ] + * debian/control: Added XS-Vcs-Svn and XS-Vcs-Browser fields to the Source + section + + -- Christophe Prud'homme Wed, 23 May 2007 12:38:25 +0200 + +suitesparse (2.3.1-1) unstable; urgency=low + + * Initial Release + + -- Christophe Prud'homme Fri, 22 Dec 2006 10:16:15 +0100 + --- suitesparse-3.1.0.orig/debian/libsuitesparse-doc.doc-base.umfpack-qg +++ suitesparse-3.1.0/debian/libsuitesparse-doc.doc-base.umfpack-qg @@ -0,0 +1,8 @@ +Document: umfpack-qg +Title: SuiteSparse/UMFPACK Quickstart Guide +Author: Timothy A. Davis, University of Florida, davis@cise.ufl.edu. +Abstract: UMFPACK is a set of routines for solving unsymmetric sparse linear systems, Ax=b, using the Unsymmetric MultiFrontal method. It is part of the SuiteSparse package. +Section: Devel + +Format: PDF +Files: /usr/share/doc/libsuitesparse-doc/UMFPACK_QuickStart.pdf --- suitesparse-3.1.0.orig/debian/libsuitesparse-doc.install +++ suitesparse-3.1.0/debian/libsuitesparse-doc.install @@ -0,0 +1,12 @@ +AMD/Doc/AMD*.pdf /usr/share/doc/libsuitesparse-doc +AMD/Doc/*.bib /usr/share/doc/libsuitesparse-doc +LDL/Doc/ldl*.pdf /usr/share/doc/libsuitesparse-doc +LDL/Doc/ldl*.bib /usr/share/doc/libsuitesparse-doc +KLU/Doc/KLU*.pdf /usr/share/doc/libsuitesparse-doc +KLU/Doc/KLU*.bib /usr/share/doc/libsuitesparse-doc +CAMD/Doc/CAMD*.pdf /usr/share/doc/libsuitesparse-doc +CAMD/Doc/CAMD*.bib /usr/share/doc/libsuitesparse-doc +CHOLMOD/Doc/CHOLMOD*.pdf /usr/share/doc/libsuitesparse-doc +CHOLMOD/Doc/CHOLMOD*.bib /usr/share/doc/libsuitesparse-doc +UMFPACK/Doc/UMFPACK*.pdf /usr/share/doc/libsuitesparse-doc +UMFPACK/Doc/UMFPACK*.bib /usr/share/doc/libsuitesparse-doc --- suitesparse-3.1.0.orig/debian/libsuitesparse.postinst.debhelper +++ suitesparse-3.1.0/debian/libsuitesparse.postinst.debhelper @@ -0,0 +1,5 @@ +# Automatically added by dh_makeshlibs +if [ "$1" = "configure" ]; then + ldconfig +fi +# End automatically added section --- suitesparse-3.1.0.orig/debian/libsuitesparse-doc.doc-base.cholmod +++ suitesparse-3.1.0/debian/libsuitesparse-doc.doc-base.cholmod @@ -0,0 +1,8 @@ +Document: cholmod-ug +Title: SuiteSparse/CHOLMOD User Guide +Author: Timothy A. Davis, University of Florida, davis@cise.ufl.edu. +Abstract: Cholmod is a set of routines for sparse Cholesky factorization. It is part of the SuiteSparse package +Section: Devel + +Format: PDF +Files: /usr/share/doc/libsuitesparse-doc/CHOLMOD_UserGuide.pdf --- suitesparse-3.1.0.orig/debian/libsuitesparse-dev.install +++ suitesparse-3.1.0/debian/libsuitesparse-dev.install @@ -0,0 +1,34 @@ +AMD/Lib/*.a /usr/lib +AMD/Lib/*.so /usr/lib +AMD/Include/*.h /usr/include/suitesparse +CAMD/Lib/*.a /usr/lib +CAMD/Lib/*.so /usr/lib +CAMD/Include/*.h /usr/include/suitesparse +BTF/Lib/*.a /usr/lib +BTF/Lib/*.so /usr/lib +BTF/Include/*.h /usr/include/suitesparse +CCOLAMD/Lib/*.a /usr/lib +CCOLAMD/Lib/*.so /usr/lib +CCOLAMD/Include/*.h /usr/include/suitesparse +COLAMD/Lib/*.a /usr/lib +COLAMD/Lib/*.so /usr/lib +COLAMD/Include/*.h /usr/include/suitesparse +KLU/Lib/*.a /usr/lib +KLU/Lib/*.so /usr/lib +KLU/Include/*.h /usr/include/suitesparse +LDL/Lib/*.a /usr/lib +LDL/Lib/*.so /usr/lib +LDL/Include/*.h /usr/include/suitesparse +CSparse/Lib/*.a /usr/lib +CSparse/Lib/*.so /usr/lib +CSparse/Include/*.h /usr/include/suitesparse +CXSparse/Lib/*.a /usr/lib +CXSparse/Lib/*.so /usr/lib +CXSparse/Include/*.h /usr/include/suitesparse +CHOLMOD/Lib/*.a /usr/lib +CHOLMOD/Lib/*.so /usr/lib +CHOLMOD/Include/*.h /usr/include/suitesparse +UMFPACK/Lib/*.a /usr/lib +UMFPACK/Lib/*.so /usr/lib +UMFPACK/Include/*.h /usr/include/suitesparse +UFconfig/*.h /usr/include/suitesparse --- suitesparse-3.1.0.orig/debian/libsuitesparse-3.1.0.install +++ suitesparse-3.1.0/debian/libsuitesparse-3.1.0.install @@ -0,0 +1,13 @@ +AMD/Lib/*.so.* /usr/lib +CAMD/Lib/*.so.* /usr/lib +BTF/Lib/*.so.* /usr/lib +CCOLAMD/Lib/*.so.* /usr/lib +COLAMD/Lib/*.so.* /usr/lib +KLU/Lib/*.so.* /usr/lib +LDL/Lib/*.so.* /usr/lib +CSparse/Lib/*.so.* /usr/lib +CXSparse/Lib/*.so.* /usr/lib +CHOLMOD/Lib/*.so.* /usr/lib +UMFPACK/Lib/*.so.* /usr/lib + + --- suitesparse-3.1.0.orig/debian/libsuitesparse-dev.docs +++ suitesparse-3.1.0/debian/libsuitesparse-dev.docs @@ -0,0 +1,11 @@ +AMD/Doc/AMD_ChangeLog +CAMD/Doc/CAMD_ChangeLog +CCOLAMD/Doc/CCOLAMD_ChangeLog +COLAMD/Doc/COLAMD_ChangeLog +BTF/Doc/BTF_ChangeLog +KLU/Doc/KLU_ChangeLog +LDL/Doc/LDL_ChangeLog +UMFPACK/Doc/UMFPACK_ChangeLog +CHOLMOD/Doc/CHOLMOD_ChangeLog +CSparse/Doc/CSparse_ChangeLog +CXSparse/Doc/CXSparse_ChangeLog \ No newline at end of file --- suitesparse-3.1.0.orig/debian/libsuitesparse-doc.doc-base.amd +++ suitesparse-3.1.0/debian/libsuitesparse-doc.doc-base.amd @@ -0,0 +1,9 @@ +Document: amd-ug +Title: SuiteSparse/AMD User Guide +Author: Timothy A. Davis, University of Florida, davis@cise.ufl.edu. +Abstract: AMD is a set of routines for permuting sparse matrices prior to + factorization. It is part of the Suitesparse package. +Section: Devel + +Format: PDF +Files: /usr/share/doc/libsuitesparse-doc/AMD_UserGuide.pdf --- suitesparse-3.1.0.orig/debian/rules +++ suitesparse-3.1.0/debian/rules @@ -0,0 +1,64 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/class/makefile.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/dpatch.mk +include /usr/share/dpatch/dpatch.make + +DEB_AUTO_CLEANUP_RCS := yes +DEB_SRCDIR := $(CURDIR)/ +DEB_BUILDDIR := $(DEB_SRCDIR)/ + +DEB_MAKE_CLEAN_TARGET := clean +DEB_MAKE_BUILD_TARGET := default +DEB_COMPRESS_EXCLUDE := .pdf + +CFLAGS=-fexceptions -Wall -O3 +ifeq ($(DEB_HOST_ARCH_CPU),amd64) + CFLAGS+=-m64 +endif + +binary-post-install/libsuitesparse-3.1.0:: + install -d debian/libsuitesparse-3.1.0/usr/share/lintian/overrides + install -m 644 debian/libsuitesparse.overrides debian/libsuitesparse-3.1.0/usr/share/lintian/overrides/libsuitesparse-3.1.0 + +build/libsuitesparse-3.1.0:: + -( cd AMD/Doc && mv ChangeLog AMD_ChangeLog ) + -( cd CAMD/Doc && mv ChangeLog CAMD_ChangeLog ) + -( cd CCOLAMD/Doc && mv ChangeLog CCOLAMD_ChangeLog ) + -( cd COLAMD/Doc && mv ChangeLog COLAMD_ChangeLog ) + -( cd BTF/Doc && mv ChangeLog BTF_ChangeLog ) + -( cd KLU/Doc && mv ChangeLog KLU_ChangeLog ) + -( cd LDL/Doc && mv ChangeLog LDL_ChangeLog ) + -( cd UMFPACK/Doc && mv ChangeLog UMFPACK_ChangeLog ) + -( cd CHOLMOD/Doc && mv ChangeLog CHOLMOD_ChangeLog ) + -( cd CSparse/Doc && mv ChangeLog CSparse_ChangeLog ) + -( cd CXSparse/Doc && mv ChangeLog CXSparse_ChangeLog ) + +build/libsuitesparse-doc:: + -( cd CHOLMOD/Doc && mv UserGuide.pdf CHOLMOD_UserGuide.pdf && mv UserGuide.bib CHOLMOD_UserGuide.bib ) + -( cd UMFPACK/Doc && mv UserGuide.pdf UMFPACK_UserGuide.pdf && mv UserGuide.bib UMFPACK_UserGuide.bib ) + -( cd UMFPACK/Doc && mv QuickStart.pdf UMFPACK_QuickStart.pdf ) + +cleanbuilddir/libsuitesparse-3.1.0:: + -( cd AMD/Doc && mv AMD_ChangeLog ChangeLog ) + -( cd CAMD/Doc && mv CAMD_ChangeLog ChangeLog ) + -( cd CCOLAMD/Doc && mv CCOLAMD_ChangeLog ChangeLog ) + -( cd COLAMD/Doc && mv COLAMD_ChangeLog ChangeLog ) + -( cd BTF/Doc && mv BTF_ChangeLog ChangeLog ) + -( cd KLU/Doc && mv KLU_ChangeLog ChangeLog ) + -( cd LDL/Doc && mv LDL_ChangeLog ChangeLog ) + -( cd UMFPACK/Doc && mv UMFPACK_ChangeLog ChangeLog ) + -( cd CHOLMOD/Doc && mv CHOLMOD_ChangeLog ChangeLog ) + -( cd CSparse/Doc && mv CSparse_ChangeLog ChangeLog ) + -( cd CXSparse/Doc && mv CXSparse_ChangeLog ChangeLog ) + +cleanbuilddir/libsuitesparse-doc:: + -( cd CHOLMOD/Doc && mv CHOLMOD_UserGuide.pdf UserGuide.pdf && mv CHOLMOD_UserGuide.bib UserGuide.bib ) + -( cd UMFPACK/Doc && mv UMFPACK_UserGuide.pdf UserGuide.pdf && mv UMFPACK_UserGuide.bib UserGuide.bib ) + -( cd UMFPACK/Doc && mv UMFPACK_QuickStart.pdf QuickStart.pdf ) + +clean:: + -make purge + -find $(DEB_BUILDDIR) -name "*.a" | xargs rm + -find $(DEB_BUILDDIR) -name "*.so*" | xargs rm --- suitesparse-3.1.0.orig/debian/libsuitesparse.substvars +++ suitesparse-3.1.0/debian/libsuitesparse.substvars @@ -0,0 +1 @@ +shlibs:Depends=libsuitesparse, libblas3gf | libblas.so.3gf | libatlas3gf-base, liblapack3gf | liblapack.so.3gf | libatlas3gf-base, libc6 (>= 2.7-1) --- suitesparse-3.1.0.orig/debian/README.Debian +++ suitesparse-3.1.0/debian/README.Debian @@ -0,0 +1,12 @@ +suitesparse for Debian +---------------------- + +SUITESparse is split into 4 packages + +libsuitesparse- : dynamic libraries +libsuitesparse-dev : static and .so libraries and headers files in + /usr/include/suitesparse +libsuitesparse-dbg : shared libraries with debugging symbols +libsuitesparse-doc : user guides and bibliography + + -- Rafael Laboissiere , Tue, 5 Feb 2008 18:09:40 +0100 --- suitesparse-3.1.0.orig/debian/libsuitesparse/usr/share/lintian/overrides/libsuitesparse-3.1.0 +++ suitesparse-3.1.0/debian/libsuitesparse/usr/share/lintian/overrides/libsuitesparse-3.1.0 @@ -0,0 +1 @@ +libsuitesparse: package-name-doesnt-match-sonames libccolamd3 libcsparse3 libcolamd3 libbtf3 libldl3 libcxsparse3 libcholmod3 libamd3 libklu3 libcamd3 libumfpack3 --- suitesparse-3.1.0.orig/debian/patches/06-BTF_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/06-BTF_Lib_Makefile.dpatch @@ -0,0 +1,75 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 06-BTF_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of BTF library. + +@DPATCH@ +diff -u upstrm/BTF/Lib/Makefile debsrc/BTF/Lib/Makefile +--- upstrm/BTF/Lib/Makefile 2007-05-03 22:34:57.000000000 +0200 ++++ debsrc/BTF/Lib/Makefile 2007-12-15 19:05:38.000000000 +0100 +@@ -15,38 +15,55 @@ + + all: library + +-library: libbtf.a ++library: libbtf.a libbtf.so.3.1.0 + + OBJ = btf_order.o btf_maxtrans.o btf_strongcomp.o \ + btf_l_order.o btf_l_maxtrans.o btf_l_strongcomp.o ++OBJ_SL = $(subst .o,.oo,$(OBJ)) + + libbtf.a: $(OBJ) + $(AR) libbtf.a $(OBJ) + $(RANLIB) libbtf.a + +-$(OBJ): $(INC) ++libbtf.so.3.1.0: $(OBJ_SL) ++ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libbtf.so ++ ++$(OBJ) $(OBJ_SL): $(INC) + + #------------------------------------------------------------------------------- + + btf_order.o: ../Source/btf_order.c + $(C) -c $(I) $< -o $@ ++btf_order.oo: ../Source/btf_order.c ++ $(C) -fPIC -c $(I) $< -o $@ + + btf_maxtrans.o: ../Source/btf_maxtrans.c + $(C) -c $(I) $< -o $@ ++btf_maxtrans.oo: ../Source/btf_maxtrans.c ++ $(C) -fPIC -c $(I) $< -o $@ + + btf_strongcomp.o: ../Source/btf_strongcomp.c + $(C) -c $(I) $< -o $@ ++btf_strongcomp.oo: ../Source/btf_strongcomp.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + btf_l_order.o: ../Source/btf_order.c + $(C) -c $(I) -DDLONG $< -o $@ ++btf_l_order.oo: ../Source/btf_order.c ++ $(C) -fPIC -c $(I) -DDLONG $< -o $@ + + btf_l_maxtrans.o: ../Source/btf_maxtrans.c + $(C) -c $(I) -DDLONG $< -o $@ ++btf_l_maxtrans.oo: ../Source/btf_maxtrans.c ++ $(C) -fPIC -c $(I) -DDLONG $< -o $@ + + btf_l_strongcomp.o: ../Source/btf_strongcomp.c + $(C) -c $(I) -DDLONG $< -o $@ ++btf_l_strongcomp.oo: ../Source/btf_strongcomp.c ++ $(C) -fPIC -c $(I) -DDLONG $< -o $@ + + #------------------------------------------------------------------------------- + +@@ -57,3 +75,6 @@ + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* --- suitesparse-3.1.0.orig/debian/patches/00list +++ suitesparse-3.1.0/debian/patches/00list @@ -0,0 +1,13 @@ +01-Makefile +02-AMD_Lib_GNUmakefile +03-CAMD_Lib_GNUmakefile +04-CCOLAMD_Lib_Makefile +05-COLAMD_Lib_Makefile +06-BTF_Lib_Makefile +07-KLU_Lib_Makefile +08-LDL_Lib_Makefile +09-CSparse_Lib_Makefile +10-CXSparse_Lib_Makefile +11-UMFPACK_Lib_GNUmakefile +12-CHOLMOD_Lib_Makefile +13-UFconfig_UFconfig.mk --- suitesparse-3.1.0.orig/debian/patches/09-CSparse_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/09-CSparse_Lib_Makefile.dpatch @@ -0,0 +1,58 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 09-CSparse_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of CSparse library. + +@DPATCH@ +diff -u upstrm/CSparse/Lib/Makefile debsrc/CSparse/Lib/Makefile +--- upstrm/CSparse/Lib/Makefile 2007-05-05 22:46:13.000000000 +0200 ++++ debsrc/CSparse/Lib/Makefile 2007-12-15 19:08:44.000000000 +0100 +@@ -1,11 +1,13 @@ + # Modify the "-O" optimization option for best performance (-O3 on Linux): +-CC = cc +-CFLAGS = -O -I../Include ++#CC = cc ++#CFLAGS = -O -I../Include ++ ++C = $(CC) -O -I../Include + + AR = ar cr + RANLIB = ranlib + +-all: libcsparse.a ++all: libcsparse.a libcsparse.so.3.1.0 + + CS = cs_add.o cs_amd.o cs_chol.o cs_cholsol.o cs_counts.o cs_cumsum.o \ + cs_droptol.o cs_dropzeros.o cs_dupl.o cs_entry.o \ +@@ -16,18 +18,29 @@ + cs_transpose.o cs_compress.o cs_usolve.o cs_utsolve.o cs_scc.o \ + cs_maxtrans.o cs_dmperm.o cs_updown.o cs_print.o cs_norm.o cs_load.o \ + cs_dfs.o cs_reach.o cs_spsolve.o cs_ereach.o cs_leaf.o cs_randperm.o ++CS_SL = $(subst .o,.oo,$(CS)) + + $(CS): ../Include/cs.h Makefile ++$(CS_SL): ../Include/cs.h Makefile + + %.o: ../Source/%.c ../Include/cs.h +- $(CC) $(CFLAGS) -c $< ++ $(C) -c $< ++%.oo: ../Source/%.c ../Include/cs.h ++ $(C) -fPIC -c $< -o $@ + + libcsparse.a: $(CS) + $(AR) libcsparse.a $(CS) + $(RANLIB) libcsparse.a + ++libcsparse.so.3.1.0: $(CS_SL) ++ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libcsparse.so ++ + clean: + rm -f *.o ++ rm -f *.o *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + purge: distclean + --- suitesparse-3.1.0.orig/debian/patches/11-UMFPACK_Lib_GNUmakefile.dpatch +++ suitesparse-3.1.0/debian/patches/11-UMFPACK_Lib_GNUmakefile.dpatch @@ -0,0 +1,305 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 11-UMFPACK_Lib_GNUmakefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of UMFPACK library. + +@DPATCH@ +diff -u upstrm/UMFPACK/Lib/GNUmakefile debsrc/UMFPACK/Lib/GNUmakefile +--- upstrm/UMFPACK/Lib/GNUmakefile 2007-05-06 14:31:22.000000000 +0200 ++++ debsrc/UMFPACK/Lib/GNUmakefile 2007-12-15 19:10:39.000000000 +0100 +@@ -2,7 +2,7 @@ + # UMFPACK Makefile for compiling on Unix systems (for GNU Make) + #------------------------------------------------------------------------------- + +-default: ../Lib/libumfpack.a ++default: libumfpack.a libumfpack.so.3.1.0 + + include ../../UFconfig/UFconfig.mk + +@@ -79,12 +79,19 @@ + #------------------------------------------------------------------------------- + + DI = $(addsuffix .o, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER))) ++DI_SL = $(addsuffix .oo, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER))) + DL = $(addsuffix .o, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER))) ++DL_SL = $(addsuffix .oo, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER))) + ZI = $(addsuffix .o, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER))) ++ZI_SL = $(addsuffix .oo, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER))) + ZL = $(addsuffix .o, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER))) ++ZL_SL = $(addsuffix .oo, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER))) + II = $(addsuffix .o, $(subst umf_,umf_i_,$(UMFINT))) ++II_SL = $(addsuffix .oo, $(subst umf_,umf_i_,$(UMFINT))) + LL = $(addsuffix .o, $(subst umf_,umf_l_,$(UMFINT))) ++LL_SL = $(addsuffix .oo, $(subst umf_,umf_l_,$(UMFINT))) + GN = $(addsuffix .o, $(subst umfpack_,umfpack_gn_,$(GENERIC))) ++GN_SL = $(addsuffix .oo, $(subst umfpack_,umfpack_gn_,$(GENERIC))) + + #------------------------------------------------------------------------------- + # compile each int and UF_long routine (with no real/complex version) +@@ -92,9 +99,13 @@ + + umf_i_%.o: ../Source/umf_%.c $(INC) + $(C) -DDINT -c $< -o $@ ++umf_i_%.oo: ../Source/umf_%.c $(INC) ++ $(C) -fPIC -DDINT -c $< -o $@ + + umf_l_%.o: ../Source/umf_%.c $(INC) + $(C) -DDLONG -c $< -o $@ ++umf_l_%.oo: ../Source/umf_%.c $(INC) ++ $(C) -fPIC -DDLONG -c $< -o $@ + + #------------------------------------------------------------------------------- + # compile each routine in the DI version +@@ -102,33 +113,53 @@ + + umf_di_%.o: ../Source/umf_%.c $(INC) + $(C) -DDINT -c $< -o $@ ++umf_di_%.oo: ../Source/umf_%.c $(INC) ++ $(C) -fPIC -DDINT -c $< -o $@ + + umf_di_%hsolve.o: ../Source/umf_%tsolve.c $(INC) + $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@ ++umf_di_%hsolve.oo: ../Source/umf_%tsolve.c $(INC) ++ $(C) -fPIC -DDINT -DCONJUGATE_SOLVE -c $< -o $@ + + umf_di_triplet_map_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@ ++umf_di_triplet_map_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@ + + umf_di_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DDINT -DDO_MAP -c $< -o $@ ++umf_di_triplet_map_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDINT -DDO_MAP -c $< -o $@ + + umf_di_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DDINT -DDO_VALUES -c $< -o $@ ++umf_di_triplet_nomap_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDINT -DDO_VALUES -c $< -o $@ + + umf_di_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DDINT -c $< -o $@ ++umf_di_triplet_nomap_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDINT -c $< -o $@ + + umf_di_assemble_fixq.o: ../Source/umf_assemble.c $(INC) + $(C) -DDINT -DFIXQ -c $< -o $@ ++umf_di_assemble_fixq.oo: ../Source/umf_assemble.c $(INC) ++ $(C) -fPIC -DDINT -DFIXQ -c $< -o $@ + + umf_di_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) + $(C) -DDINT -DDROP -c $< -o $@ ++umf_di_store_lu_drop.oo: ../Source/umf_store_lu.c $(INC) ++ $(C) -fPIC -DDINT -DDROP -c $< -o $@ + + umfpack_di_wsolve.o: ../Source/umfpack_solve.c $(INC) + $(C) -DDINT -DWSOLVE -c $< -o $@ ++umfpack_di_wsolve.oo: ../Source/umfpack_solve.c $(INC) ++ $(C) -fPIC -DDINT -DWSOLVE -c $< -o $@ + + umfpack_di_%.o: ../Source/umfpack_%.c $(INC) + $(C) -DDINT -c $< -o $@ ++umfpack_di_%.oo: ../Source/umfpack_%.c $(INC) ++ $(C) -fPIC -DDINT -c $< -o $@ + + #------------------------------------------------------------------------------- + # compile each routine in the DL version +@@ -136,33 +167,53 @@ + + umf_dl_%.o: ../Source/umf_%.c $(INC) + $(C) -DDLONG -c $< -o $@ ++umf_dl_%.oo: ../Source/umf_%.c $(INC) ++ $(C) -fPIC -DDLONG -c $< -o $@ + + umf_dl_%hsolve.o: ../Source/umf_%tsolve.c $(INC) + $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@ ++umf_dl_%hsolve.oo: ../Source/umf_%tsolve.c $(INC) ++ $(C) -fPIC -DDLONG -DCONJUGATE_SOLVE -c $< -o $@ + + umf_dl_triplet_map_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@ ++umf_dl_triplet_map_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@ + + umf_dl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DDLONG -DDO_MAP -c $< -o $@ ++umf_dl_triplet_map_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDLONG -DDO_MAP -c $< -o $@ + + umf_dl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DDLONG -DDO_VALUES -c $< -o $@ ++umf_dl_triplet_nomap_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDLONG -DDO_VALUES -c $< -o $@ + + umf_dl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DDLONG -c $< -o $@ ++umf_dl_triplet_nomap_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DDLONG -c $< -o $@ + + umf_dl_assemble_fixq.o: ../Source/umf_assemble.c $(INC) + $(C) -DDLONG -DFIXQ -c $< -o $@ ++umf_dl_assemble_fixq.oo: ../Source/umf_assemble.c $(INC) ++ $(C) -fPIC -DDLONG -DFIXQ -c $< -o $@ + + umf_dl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) + $(C) -DDLONG -DDROP -c $< -o $@ ++umf_dl_store_lu_drop.oo: ../Source/umf_store_lu.c $(INC) ++ $(C) -fPIC -DDLONG -DDROP -c $< -o $@ + + umfpack_dl_wsolve.o: ../Source/umfpack_solve.c $(INC) + $(C) -DDLONG -DWSOLVE -c $< -o $@ ++umfpack_dl_wsolve.oo: ../Source/umfpack_solve.c $(INC) ++ $(C) -fPIC -DDLONG -DWSOLVE -c $< -o $@ + + umfpack_dl_%.o: ../Source/umfpack_%.c $(INC) + $(C) -DDLONG -c $< -o $@ ++umfpack_dl_%.oo: ../Source/umfpack_%.c $(INC) ++ $(C) -fPIC -DDLONG -c $< -o $@ + + #------------------------------------------------------------------------------- + # compile each routine in the ZI version +@@ -170,33 +221,58 @@ + + umf_zi_%.o: ../Source/umf_%.c $(INC) + $(C) -DZINT -c $< -o $@ ++umf_zi_%.oo: ../Source/umf_%.c $(INC) ++ $(C) -fPIC -DZINT -c $< -o $@ + + umf_zi_%hsolve.o: ../Source/umf_%tsolve.c $(INC) + $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@ ++umf_zi_%hsolve.oo: ../Source/umf_%tsolve.c $(INC) ++ $(C) -fPIC -DZINT -DCONJUGATE_SOLVE -c $< -o $@ + + umf_zi_triplet_map_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@ ++umf_zi_triplet_map_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@ + + umf_zi_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DZINT -DDO_MAP -c $< -o $@ ++umf_zi_triplet_map_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@ ++ ++ umf_zi_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) ++ $(C) -DZINT -DDO_MAP -c $< -o $@ ++umf_zi_triplet_map_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZINT -DDO_MAP -c $< -o $@ + + umf_zi_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DZINT -DDO_VALUES -c $< -o $@ ++umf_zi_triplet_nomap_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZINT -DDO_VALUES -c $< -o $@ + + umf_zi_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DZINT -c $< -o $@ ++umf_zi_triplet_nomap_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZINT -c $< -o $@ + + umf_zi_assemble_fixq.o: ../Source/umf_assemble.c $(INC) + $(C) -DZINT -DFIXQ -c $< -o $@ ++umf_zi_assemble_fixq.oo: ../Source/umf_assemble.c $(INC) ++ $(C) -fPIC -DZINT -DFIXQ -c $< -o $@ + + umf_zi_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) + $(C) -DZINT -DDROP -c $< -o $@ ++umf_zi_store_lu_drop.oo: ../Source/umf_store_lu.c $(INC) ++ $(C) -fPIC -DZINT -DDROP -c $< -o $@ + + umfpack_zi_wsolve.o: ../Source/umfpack_solve.c $(INC) + $(C) -DZINT -DWSOLVE -c $< -o $@ ++umfpack_zi_wsolve.oo: ../Source/umfpack_solve.c $(INC) ++ $(C) -fPIC -DZINT -DWSOLVE -c $< -o $@ + + umfpack_zi_%.o: ../Source/umfpack_%.c $(INC) + $(C) -DZINT -c $< -o $@ ++umfpack_zi_%.oo: ../Source/umfpack_%.c $(INC) ++ $(C) -fPIC -DZINT -c $< -o $@ + + #------------------------------------------------------------------------------- + # compile each routine in the ZL version +@@ -204,33 +280,53 @@ + + umf_zl_%.o: ../Source/umf_%.c $(INC) + $(C) -DZLONG -c $< -o $@ ++umf_zl_%.oo: ../Source/umf_%.c $(INC) ++ $(C) -fPIC -DZLONG -c $< -o $@ + + umf_zl_%hsolve.o: ../Source/umf_%tsolve.c $(INC) + $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@ ++umf_zl_%hsolve.oo: ../Source/umf_%tsolve.c $(INC) ++ $(C) -fPIC -DZLONG -DCONJUGATE_SOLVE -c $< -o $@ + + umf_zl_triplet_map_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@ ++umf_zl_triplet_map_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@ + + umf_zl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DZLONG -DDO_MAP -c $< -o $@ ++umf_zl_triplet_map_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZLONG -DDO_MAP -c $< -o $@ + + umf_zl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) + $(C) -DZLONG -DDO_VALUES -c $< -o $@ ++umf_zl_triplet_nomap_x.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZLONG -DDO_VALUES -c $< -o $@ + + umf_zl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) + $(C) -DZLONG -c $< -o $@ ++umf_zl_triplet_nomap_nox.oo: ../Source/umf_triplet.c $(INC) ++ $(C) -fPIC -DZLONG -c $< -o $@ + + umf_zl_assemble_fixq.o: ../Source/umf_assemble.c $(INC) + $(C) -DZLONG -DFIXQ -c $< -o $@ ++umf_zl_assemble_fixq.oo: ../Source/umf_assemble.c $(INC) ++ $(C) -fPIC -DZLONG -DFIXQ -c $< -o $@ + + umf_zl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) + $(C) -DZLONG -DDROP -c $< -o $@ ++umf_zl_store_lu_drop.oo: ../Source/umf_store_lu.c $(INC) ++ $(C) -fPIC -DZLONG -DDROP -c $< -o $@ + + umfpack_zl_wsolve.o: ../Source/umfpack_solve.c $(INC) + $(C) -DZLONG -DWSOLVE -c $< -o $@ ++umfpack_zl_wsolve.oo: ../Source/umfpack_solve.c $(INC) ++ $(C) -fPIC -DZLONG -DWSOLVE -c $< -o $@ + + umfpack_zl_%.o: ../Source/umfpack_%.c $(INC) + $(C) -DZLONG -c $< -o $@ ++umfpack_zl_%.oo: ../Source/umfpack_%.c $(INC) ++ $(C) -fPIC -DZLONG -c $< -o $@ + + #------------------------------------------------------------------------------- + # Create the generic routines (GN) using a generic rule +@@ -238,14 +334,20 @@ + + umfpack_gn_%.o: ../Source/umfpack_%.c $(INC) + $(C) -c $< -o $@ ++umfpack_gn_%.oo: ../Source/umfpack_%.c $(INC) ++ $(C) -fPIC -c $< -o $@ + + #------------------------------------------------------------------------------- + # Create the ../Lib/libumfpack.a library + #------------------------------------------------------------------------------- + +-../Lib/libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL) +- $(AR) ../Lib/libumfpack.a $^ +- - $(RANLIB) ../Lib/libumfpack.a ++libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL) ++ $(AR) libumfpack.a $^ ++ - $(RANLIB) libumfpack.a ++ ++libumfpack.so.3.1.0: $(II_SL) $(LL_SL) $(GN_SL) $(DI_SL) $(DL_SL) $(ZI_SL) $(ZL_SL) ++ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libumfpack.so + + #------------------------------------------------------------------------------- + # Remove all but the files in the original distribution +@@ -256,3 +359,6 @@ + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* --- suitesparse-3.1.0.orig/debian/patches/02-AMD_Lib_GNUmakefile.dpatch +++ suitesparse-3.1.0/debian/patches/02-AMD_Lib_GNUmakefile.dpatch @@ -0,0 +1,68 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02-AMD_Lib_GNUmakefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of AMD library. + +@DPATCH@ +diff -u upstrm/AMD/Lib/GNUmakefile debsrc/AMD/Lib/GNUmakefile +--- upstrm/AMD/Lib/GNUmakefile 2007-05-06 14:32:19.000000000 +0200 ++++ debsrc/AMD/Lib/GNUmakefile 2007-12-15 19:01:19.000000000 +0100 +@@ -2,7 +2,7 @@ + # AMD Makefile for compiling on Unix systems (for GNU make only) + #------------------------------------------------------------------------------- + +-default: ../Lib/libamd.a ++default: ../Lib/libamd.a libamd.so.3.1.0 + + include ../../UFconfig/UFconfig.mk + +@@ -26,18 +26,27 @@ + AMDI = $(addsuffix .o, $(subst amd_,amd_i_,$(AMD))) + AMDL = $(addsuffix .o, $(subst amd_,amd_l_,$(AMD))) + ++AMDI_SL = $(addsuffix .oo, $(subst amd_,amd_i_,$(AMD))) ++AMDL_SL = $(addsuffix .oo, $(subst amd_,amd_l_,$(AMD))) ++ + #------------------------------------------------------------------------------- + # compile each int and long routine (with no real/complex version) + #------------------------------------------------------------------------------- + + amd_global.o: ../Source/amd_global.c $(INC) + $(C) -c $< -o $@ ++amd_global.oo: ../Source/amd_global.c $(INC) ++ $(C) -fPIC -c $< -o $@ + + amd_i_%.o: ../Source/amd_%.c $(INC) + $(C) -DDINT -c $< -o $@ ++amd_i_%.oo: ../Source/amd_%.c $(INC) ++ $(C) -fPIC -DDINT -c $< -o $@ + + amd_l_%.o: ../Source/amd_%.c $(INC) + $(C) -DDLONG -c $< -o $@ ++amd_l_%.oo: ../Source/amd_%.c $(INC) ++ $(C) -fPIC -DDLONG -c $< -o $@ + + #------------------------------------------------------------------------------- + # Create the libamd.a library (C versions only) +@@ -47,6 +56,10 @@ + $(AR) ../Lib/libamd.a $^ + - $(RANLIB) ../Lib/libamd.a + ++libamd.so.3.1.0: amd_global.oo $(AMDI_SL) $(AMDL_SL) ++ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libamd.so ++ + #------------------------------------------------------------------------------- + # compile the Fortran versions and the libamdf77.a library + #------------------------------------------------------------------------------- +@@ -71,6 +85,9 @@ + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + purge: distclean + --- suitesparse-3.1.0.orig/debian/patches/03-CAMD_Lib_GNUmakefile.dpatch +++ suitesparse-3.1.0/debian/patches/03-CAMD_Lib_GNUmakefile.dpatch @@ -0,0 +1,67 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03-CAMD_Lib_GNUmakefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of CAMD library. + +@DPATCH@ +diff -u upstrm/CAMD/Lib/GNUmakefile debsrc/CAMD/Lib/GNUmakefile +--- upstrm/CAMD/Lib/GNUmakefile 2007-05-05 16:29:25.000000000 +0200 ++++ debsrc/CAMD/Lib/GNUmakefile 2007-12-15 19:03:31.000000000 +0100 +@@ -2,7 +2,7 @@ + # CAMD Makefile for compiling on Unix systems (for GNU make only) + #------------------------------------------------------------------------------- + +-default: libcamd.a ++default: libcamd.a libcamd.so.3.1.0 + + include ../../UFconfig/UFconfig.mk + +@@ -26,18 +26,27 @@ + CAMDI = $(addsuffix .o, $(subst camd_,camd_i_,$(CAMD))) + CAMDL = $(addsuffix .o, $(subst camd_,camd_l_,$(CAMD))) + ++CAMDI_SL = $(addsuffix .oo, $(subst camd_,camd_i_,$(CAMD))) ++CAMDL_SL = $(addsuffix .oo, $(subst camd_,camd_l_,$(CAMD))) ++ + #------------------------------------------------------------------------------- + # compile each int and long routine (with no real/complex version) + #------------------------------------------------------------------------------- + + camd_global.o: ../Source/camd_global.c $(INC) + $(C) -c $< -o $@ ++camd_global.oo: ../Source/camd_global.c $(INC) ++ $(C) -fPIC -c $< -o $@ + + camd_i_%.o: ../Source/camd_%.c $(INC) + $(C) -DDINT -c $< -o $@ ++camd_i_%.oo: ../Source/camd_%.c $(INC) ++ $(C) -fPIC -DDINT -c $< -o $@ + + camd_l_%.o: ../Source/camd_%.c $(INC) + $(C) -DDLONG -c $< -o $@ ++camd_l_%.oo: ../Source/camd_%.c $(INC) ++ $(C) -fPIC -DDLONG -c $< -o $@ + + #------------------------------------------------------------------------------- + # Create the libcamd.a library (C versions only) +@@ -47,12 +56,19 @@ + $(AR) libcamd.a $^ + - $(RANLIB) libcamd.a + ++libcamd.so.3.1.0: camd_global.oo $(CAMDI_SL) $(CAMDL_SL) ++ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libcamd.so ++ + #------------------------------------------------------------------------------- + # Remove all but the files in the original distribution + #------------------------------------------------------------------------------- + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + purge: distclean + --- suitesparse-3.1.0.orig/debian/patches/04-CCOLAMD_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/04-CCOLAMD_Lib_Makefile.dpatch @@ -0,0 +1,42 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 04-CCOLAMD_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of CCOLAMD library. + +@DPATCH@ +diff -u upstrm/CCOLAMD/Lib/Makefile debsrc/CCOLAMD/Lib/Makefile +--- upstrm/CCOLAMD/Lib/Makefile 2007-05-05 15:59:13.000000000 +0200 ++++ debsrc/CCOLAMD/Lib/Makefile 2007-12-15 19:04:30.000000000 +0100 +@@ -2,7 +2,7 @@ + # CCOLAMD Makefile + #------------------------------------------------------------------------------- + +-default: libccolamd.a ++default: libccolamd.a libccolamd.so.3.1.0 + + include ../../UFconfig/UFconfig.mk + +@@ -19,12 +19,22 @@ + $(CC) $(CFLAGS) $(I) -c ../Source/ccolamd.c -DDLONG -o ccolamd_l.o + $(AR) libccolamd.a ccolamd.o ccolamd_l.o ccolamd_global.o + ++libccolamd.so.3.1.0: $(SRC) $(INC) ++ $(CC) -fPIC $(CFLAGS) $(I) -c ../Source/ccolamd_global.c -o ccolamd_global.oo ++ $(CC) -fPIC $(CFLAGS) $(I) -c ../Source/ccolamd.c -o ccolamd.oo ++ $(CC) -fPIC $(CFLAGS) $(I) -c ../Source/ccolamd.c -DDLONG -o ccolamd_l.oo ++ $(CC) -shared *.oo -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libccolamd.so ++ + ccode: libccolamd.a + + library: libccolamd.a + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + purge: distclean + --- suitesparse-3.1.0.orig/debian/patches/10-CXSparse_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/10-CXSparse_Lib_Makefile.dpatch @@ -0,0 +1,95 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10-CXSparse_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of CXSparse library. + +@DPATCH@ +diff -u upstrm/CXSparse/Lib/Makefile debsrc/CXSparse/Lib/Makefile +--- upstrm/CXSparse/Lib/Makefile 2007-05-05 23:03:41.000000000 +0200 ++++ debsrc/CXSparse/Lib/Makefile 2007-12-15 19:09:49.000000000 +0100 +@@ -6,7 +6,7 @@ + AR = ar cr + RANLIB = ranlib + +-all: libcxsparse.a ++all: libcxsparse.a libcxsparse.so.3.1.0 + + CS_SOURCE = cs_add.c cs_amd.c cs_chol.c cs_cholsol.c cs_counts.c cs_cumsum.c \ + cs_droptol.c cs_dropzeros.c cs_dupl.c cs_entry.c \ +@@ -29,6 +29,7 @@ + cs_scc_di.o cs_maxtrans_di.o cs_dmperm_di.o cs_updown_di.o cs_print_di.o \ + cs_norm_di.o cs_load_di.o cs_dfs_di.o cs_reach_di.o cs_spsolve_di.o \ + cs_leaf_di.o cs_ereach_di.o cs_randperm_di.o ++CS_DI_OBJ_SL = $(subst .o,.oo,$(CS_DI_OBJ)) + + CS_DL_OBJ = cs_add_dl.o cs_amd_dl.o cs_chol_dl.o cs_cholsol_dl.o cs_counts_dl.o \ + cs_cumsum_dl.o cs_droptol_dl.o cs_dropzeros_dl.o cs_dupl_dl.o \ +@@ -41,6 +42,7 @@ + cs_scc_dl.o cs_maxtrans_dl.o cs_dmperm_dl.o cs_updown_dl.o cs_print_dl.o \ + cs_norm_dl.o cs_load_dl.o cs_dfs_dl.o cs_reach_dl.o cs_spsolve_dl.o \ + cs_leaf_dl.o cs_ereach_dl.o cs_randperm_dl.o ++CS_DL_OBJ_SL = $(subst .o,.oo,$(CS_DL_OBJ)) + + CS_CI_OBJ = cs_add_ci.o cs_amd_ci.o cs_chol_ci.o cs_cholsol_ci.o cs_counts_ci.o \ + cs_cumsum_ci.o cs_droptol_ci.o cs_dropzeros_ci.o cs_dupl_ci.o \ +@@ -53,6 +55,7 @@ + cs_scc_ci.o cs_maxtrans_ci.o cs_dmperm_ci.o cs_updown_ci.o cs_print_ci.o \ + cs_norm_ci.o cs_load_ci.o cs_dfs_ci.o cs_reach_ci.o cs_spsolve_ci.o \ + cs_leaf_ci.o cs_ereach_ci.o cs_randperm_ci.o ++CS_CI_OBJ_SL = $(subst .o,.oo,$(CS_CI_OBJ)) + + CS_CL_OBJ = cs_add_cl.o cs_amd_cl.o cs_chol_cl.o cs_cholsol_cl.o cs_counts_cl.o \ + cs_cumsum_cl.o cs_droptol_cl.o cs_dropzeros_cl.o cs_dupl_cl.o \ +@@ -65,32 +68,50 @@ + cs_scc_cl.o cs_maxtrans_cl.o cs_dmperm_cl.o cs_updown_cl.o cs_print_cl.o \ + cs_norm_cl.o cs_load_cl.o cs_dfs_cl.o cs_reach_cl.o cs_spsolve_cl.o \ + cs_leaf_cl.o cs_ereach_cl.o cs_randperm_cl.o ++CS_CL_OBJ_SL = $(subst .o,.oo,$(CS_CL_OBJ)) + + CS = cs_convert.o $(CS_DI_OBJ) $(CS_DL_OBJ) $(CS_CI_OBJ) $(CS_CL_OBJ) ++CS_SL = cs_convert.oo $(CS_DI_OBJ_SL) $(CS_DL_OBJ_SL) $(CS_CI_OBJ_SL) $(CS_CL_OBJ_SL) + + $(CS): ../Include/cs.h Makefile + + cs_convert.o: ../Source/cs_convert.c + $(CC) $(CFLAGS) $(I) -c $< -o $@ ++cs_convert.oo: ../Source/cs_convert.c ++ $(CC) -fPIC $(CFLAGS) $(I) -c $< -o $@ + + %_di.o : ../Source/%.c + $(CC) $(CFLAGS) $(I) -c $< -o $@ ++%_di.oo: ../Source/%.c ++ $(CC) -fPIC $(CFLAGS) $(I) -c $< -o $@ + + %_dl.o : ../Source/%.c + $(CC) $(CFLAGS) $(I) -DCS_LONG -c $< -o $@ ++%_dl.oo : ../Source/%.c ++ $(CC) -fPIC $(CFLAGS) $(I) -DCS_LONG -c $< -o $@ + + %_ci.o : ../Source/%.c + $(CC) $(CFLAGS) $(I) -DCS_COMPLEX -c $< -o $@ ++%_ci.oo : ../Source/%.c ++ $(CC) -fPIC $(CFLAGS) $(I) -DCS_COMPLEX -c $< -o $@ + + %_cl.o : ../Source/%.c + $(CC) $(CFLAGS) $(I) -DCS_LONG -DCS_COMPLEX -c $< -o $@ ++%_cl.oo : ../Source/%.c ++ $(CC) -fPIC $(CFLAGS) $(I) -DCS_LONG -DCS_COMPLEX -c $< -o $@ + + libcxsparse.a: $(CS) + $(AR) libcxsparse.a $(CS) + $(RANLIB) libcxsparse.a + ++libcxsparse.so.3.1.0: $(CS_SL) ++ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libcxsparse.so ++ + clean: +- rm -f *.o ++ rm -f *.o *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + purge: distclean + --- suitesparse-3.1.0.orig/debian/patches/08-LDL_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/08-LDL_Lib_Makefile.dpatch @@ -0,0 +1,40 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 08-LDL_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of LDL library. + +@DPATCH@ +diff -u upstrm/LDL/Lib/Makefile debsrc/LDL/Lib/Makefile +--- upstrm/LDL/Lib/Makefile 2007-05-05 19:31:44.000000000 +0200 ++++ debsrc/LDL/Lib/Makefile 2007-12-15 19:06:46.000000000 +0100 +@@ -10,7 +10,7 @@ + + C = $(CC) $(CFLAGS) $(I) + +-all: libldl.a ++all: libldl.a libldl.so.3.1.0 + + #------------------------------------------------------------------------------- + # the ldl library: +@@ -22,6 +22,12 @@ + $(AR) libldl.a ldl.o ldll.o + - $(RANLIB) libldl.a + ++libldl.so.3.1.0: ../Source/ldl.c ../Include/ldl.h ++ $(C) -fPIC -c ../Source/ldl.c -o ldl.oo ++ $(C) -fPIC -DLDL_LONG -c ../Source/ldl.c -o ldll.oo ++ $(C) -fPIC -shared *.oo -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libldl.so ++ + distclean: purge + + purge: clean +@@ -29,4 +36,6 @@ + + clean: + - $(RM) $(CLEAN) +- ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* --- suitesparse-3.1.0.orig/debian/patches/07-KLU_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/07-KLU_Lib_Makefile.dpatch @@ -0,0 +1,371 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 07-KLU_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of KLU library. + +@DPATCH@ +diff -u upstrm/KLU/Lib/Makefile debsrc/KLU/Lib/Makefile +--- upstrm/KLU/Lib/Makefile 2007-05-05 16:33:38.000000000 +0200 ++++ debsrc/KLU/Lib/Makefile 2007-12-15 19:06:10.000000000 +0100 +@@ -17,132 +17,200 @@ + + all: library + +-library: libklu.a ++library: libklu.a libklu.so.3.1.0 + + KLU_D = klu_d.o klu_d_kernel.o klu_d_dump.o \ + klu_d_factor.o klu_d_free_numeric.o klu_d_solve.o \ + klu_d_scale.o klu_d_refactor.o \ + klu_d_tsolve.o klu_d_diagnostics.o klu_d_sort.o klu_d_extract.o ++KLU_D_SL = $(subst .o,.oo,$(KLU_D)) + + KLU_Z = klu_z.o klu_z_kernel.o klu_z_dump.o \ + klu_z_factor.o klu_z_free_numeric.o klu_z_solve.o \ + klu_z_scale.o klu_z_refactor.o \ + klu_z_tsolve.o klu_z_diagnostics.o klu_z_sort.o klu_z_extract.o ++KLU_Z_SL = $(subst .o,.oo,$(KLU_Z)) + + KLU_L = klu_l.o klu_l_kernel.o klu_l_dump.o \ + klu_l_factor.o klu_l_free_numeric.o klu_l_solve.o \ + klu_l_scale.o klu_l_refactor.o \ + klu_l_tsolve.o klu_l_diagnostics.o klu_l_sort.o klu_l_extract.o ++KLU_L_SL = $(subst .o,.oo,$(KLU_L)) + + KLU_ZL = klu_zl.o klu_zl_kernel.o klu_zl_dump.o \ + klu_zl_factor.o klu_zl_free_numeric.o klu_zl_solve.o \ + klu_zl_scale.o klu_zl_refactor.o \ + klu_zl_tsolve.o klu_zl_diagnostics.o klu_zl_sort.o klu_zl_extract.o ++KLU_ZL_SL = $(subst .o,.oo,$(KLU_ZL)) + + COMMON = \ + klu_free_symbolic.o klu_defaults.o klu_analyze_given.o \ + klu_analyze.o klu_memory.o \ + klu_l_free_symbolic.o klu_l_defaults.o klu_l_analyze_given.o \ + klu_l_analyze.o klu_l_memory.o ++COMMON_SL = $(subst .o,.oo,$(COMMON)) + + OBJ = $(COMMON) $(KLU_D) $(KLU_Z) $(KLU_L) $(KLU_ZL) ++OBJ_SL = $(COMMON_SL) $(KLU_D_SL) $(KLU_Z_SL) $(KLU_L_SL) $(KLU_ZL_SL) + + libklu.a: $(OBJ) + $(AR) libklu.a $(OBJ) + $(RANLIB) libklu.a + +-$(OBJ): $(INC) ++libklu.so.3.1.0: $(OBJ_SL) ++ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libklu.so ++ ++$(OBJ) $(OBJ_SL): $(INC) + + #------------------------------------------------------------------------------- + + klu_d.o: ../Source/klu.c + $(C) -c $(I) $< -o $@ ++klu_d.oo: ../Source/klu.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z.o: ../Source/klu.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z.oo: ../Source/klu.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_kernel.o: ../Source/klu_kernel.c + $(C) -c $(I) $< -o $@ ++klu_d_kernel.oo: ../Source/klu_kernel.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_kernel.o: ../Source/klu_kernel.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_kernel.oo: ../Source/klu_kernel.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_sort.o: ../Source/klu_sort.c + $(C) -c $(I) $< -o $@ ++klu_d_sort.oo: ../Source/klu_sort.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_sort.o: ../Source/klu_sort.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_sort.oo: ../Source/klu_sort.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_diagnostics.o: ../Source/klu_diagnostics.c + $(C) -c $(I) $< -o $@ ++klu_d_diagnostics.oo: ../Source/klu_diagnostics.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_diagnostics.o: ../Source/klu_diagnostics.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_diagnostics.oo: ../Source/klu_diagnostics.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_dump.o: ../Source/klu_dump.c + $(C) -c $(I) $< -o $@ ++klu_d_dump.oo: ../Source/klu_dump.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_dump.o: ../Source/klu_dump.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_dump.oo: ../Source/klu_dump.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_factor.o: ../Source/klu_factor.c + $(C) -c $(I) $< -o $@ ++klu_d_factor.oo: ../Source/klu_factor.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_factor.o: ../Source/klu_factor.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_factor.oo: ../Source/klu_factor.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_free_numeric.o: ../Source/klu_free_numeric.c + $(C) -c $(I) $< -o $@ ++klu_d_free_numeric.oo: ../Source/klu_free_numeric.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_free_numeric.o: ../Source/klu_free_numeric.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_free_numeric.oo: ../Source/klu_free_numeric.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_extract.o: ../Source/klu_extract.c + $(C) -c $(I) $< -o $@ ++klu_d_extract.oo: ../Source/klu_extract.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_extract.o: ../Source/klu_extract.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_extract.oo: ../Source/klu_extract.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_refactor.o: ../Source/klu_refactor.c + $(C) -c $(I) $< -o $@ ++klu_d_refactor.oo: ../Source/klu_refactor.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_refactor.o: ../Source/klu_refactor.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_refactor.oo: ../Source/klu_refactor.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_scale.o: ../Source/klu_scale.c + $(C) -c $(I) $< -o $@ ++klu_d_scale.oo: ../Source/klu_scale.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_scale.o: ../Source/klu_scale.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_scale.oo: ../Source/klu_scale.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_solve.o: ../Source/klu_solve.c + $(C) -c $(I) $< -o $@ ++klu_d_solve.oo: ../Source/klu_solve.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_solve.o: ../Source/klu_solve.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_solve.oo: ../Source/klu_solve.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + klu_d_tsolve.o: ../Source/klu_tsolve.c + $(C) -c $(I) $< -o $@ ++klu_d_tsolve.oo: ../Source/klu_tsolve.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_z_tsolve.o: ../Source/klu_tsolve.c + $(C) -c -DCOMPLEX $(I) $< -o $@ ++klu_z_tsolve.oo: ../Source/klu_tsolve.c ++ $(C) -fPIC -c -DCOMPLEX $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + klu_analyze.o: ../Source/klu_analyze.c + $(C) -c $(I) $< -o $@ ++klu_analyze.oo: ../Source/klu_analyze.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_analyze_given.o: ../Source/klu_analyze_given.c + $(C) -c $(I) $< -o $@ ++klu_analyze_given.oo: ../Source/klu_analyze_given.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_defaults.o: ../Source/klu_defaults.c + $(C) -c $(I) $< -o $@ ++klu_defaults.oo: ../Source/klu_defaults.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_free_symbolic.o: ../Source/klu_free_symbolic.c + $(C) -c $(I) $< -o $@ ++klu_free_symbolic.oo: ../Source/klu_free_symbolic.c ++ $(C) -fPIC -c $(I) $< -o $@ + + klu_memory.o: ../Source/klu_memory.c + $(C) -c $(I) $< -o $@ ++klu_memory.oo: ../Source/klu_memory.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + +@@ -153,96 +222,157 @@ + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + #------------------------------------------------------------------------------- + + klu_l.o: ../Source/klu.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l.oo: ../Source/klu.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl.o: ../Source/klu.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl.oo: ../Source/klu.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_kernel.o: ../Source/klu_kernel.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_kernel.oo: ../Source/klu_kernel.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_kernel.o: ../Source/klu_kernel.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_kernel.oo: ../Source/klu_kernel.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_sort.o: ../Source/klu_sort.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_sort.oo: ../Source/klu_sort.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_sort.o: ../Source/klu_sort.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_sort.oo: ../Source/klu_sort.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_diagnostics.o: ../Source/klu_diagnostics.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_diagnostics.oo: ../Source/klu_diagnostics.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_diagnostics.o: ../Source/klu_diagnostics.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_diagnostics.oo: ../Source/klu_diagnostics.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_dump.o: ../Source/klu_dump.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_dump.oo: ../Source/klu_dump.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_dump.o: ../Source/klu_dump.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_dump.oo: ../Source/klu_dump.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_factor.o: ../Source/klu_factor.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_factor.oo: ../Source/klu_factor.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_factor.o: ../Source/klu_factor.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_factor.oo: ../Source/klu_factor.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_free_numeric.o: ../Source/klu_free_numeric.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_free_numeric.oo: ../Source/klu_free_numeric.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_free_numeric.o: ../Source/klu_free_numeric.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_free_numeric.oo: ../Source/klu_free_numeric.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_extract.o: ../Source/klu_extract.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_extract.oo: ../Source/klu_extract.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_extract.o: ../Source/klu_extract.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_extract.oo: ../Source/klu_extract.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_refactor.o: ../Source/klu_refactor.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_refactor.oo: ../Source/klu_refactor.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_refactor.o: ../Source/klu_refactor.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_refactor.oo: ../Source/klu_refactor.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_scale.o: ../Source/klu_scale.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_scale.oo: ../Source/klu_scale.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_scale.o: ../Source/klu_scale.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_scale.oo: ../Source/klu_scale.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_solve.o: ../Source/klu_solve.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_solve.oo: ../Source/klu_solve.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_solve.o: ../Source/klu_solve.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_solve.oo: ../Source/klu_solve.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_tsolve.o: ../Source/klu_tsolve.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_tsolve.oo: ../Source/klu_tsolve.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_zl_tsolve.o: ../Source/klu_tsolve.c + $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++klu_zl_tsolve.oo: ../Source/klu_tsolve.c ++ $(C) -fPIC -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + klu_l_analyze.o: ../Source/klu_analyze.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_analyze.oo: ../Source/klu_analyze.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_l_analyze_given.o: ../Source/klu_analyze_given.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_analyze_given.oo: ../Source/klu_analyze_given.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_l_defaults.o: ../Source/klu_defaults.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_defaults.oo: ../Source/klu_defaults.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_l_free_symbolic.o: ../Source/klu_free_symbolic.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_free_symbolic.oo: ../Source/klu_free_symbolic.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + klu_l_memory.o: ../Source/klu_memory.c + $(C) -c -DDLONG $(I) $< -o $@ ++klu_l_memory.oo: ../Source/klu_memory.c ++ $(C) -fPIC -c -DDLONG $(I) $< -o $@ + + #------------------------------------------------------------------------------- --- suitesparse-3.1.0.orig/debian/patches/01-Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/01-Makefile.dpatch @@ -0,0 +1,23 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01-Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build CCOLAMD as well. + +@DPATCH@ +diff -u upstrm/Makefile debsrc/Makefile +--- upstrm/Makefile 2007-10-29 21:02:03.000000000 +0100 ++++ debsrc/Makefile 2007-12-15 17:19:19.000000000 +0100 +@@ -10,11 +10,11 @@ + # ( cd metis-4.0 ; $(MAKE) ) + ( cd AMD ; $(MAKE) ) + ( cd CAMD ; $(MAKE) ) ++ ( cd CCOLAMD ; $(MAKE) ) + ( cd COLAMD ; $(MAKE) ) + ( cd BTF ; $(MAKE) ) + ( cd KLU ; $(MAKE) ) + ( cd LDL ; $(MAKE) ) +- ( cd CCOLAMD ; $(MAKE) ) + ( cd UMFPACK ; $(MAKE) ) + ( cd CHOLMOD ; $(MAKE) ) + ( cd CSparse ; $(MAKE) ) --- suitesparse-3.1.0.orig/debian/patches/13-UFconfig_UFconfig.mk.dpatch +++ suitesparse-3.1.0/debian/patches/13-UFconfig_UFconfig.mk.dpatch @@ -0,0 +1,65 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 13-UFconfig_UFconfig.mk.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Customizing CFLAGS. + +@DPATCH@ +diff -u upstrm/UFconfig/UFconfig.mk debsrc/UFconfig/UFconfig.mk +--- upstrm/UFconfig/UFconfig.mk 2007-10-24 15:55:44.000000000 +0200 ++++ debsrc/UFconfig/UFconfig.mk 2007-12-15 17:53:21.000000000 +0100 +@@ -85,7 +85,7 @@ + # BLAS = -lgoto -lgfortran -lgfortranbegin + + # This is probably slow ... it might connect to the Standard Reference BLAS: +-BLAS = -lblas -lgfortran -lgfortranbegin +-LAPACK = -llapack ++BLAS = -lblas ++LAPACK = -llapackgf-3 + + # The BLAS might not contain xerbla, an error-handling routine for LAPACK and +@@ -114,13 +114,13 @@ + # The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc. + # You may wish to use an absolute path. METIS is optional. Compile + # CHOLMOD with -DNPARTITION if you do not wish to use METIS. +-METIS_PATH = ../../metis-4.0 +-METIS = ../../metis-4.0/libmetis.a ++#METIS_PATH = ../../metis-4.0 ++#METIS = ../../metis-4.0/libmetis.a + + # If you use CHOLMOD_CONFIG = -DNPARTITION then you must use the following + # options: +-# METIS_PATH = +-# METIS = ++METIS_PATH = ++METIS = + + #------------------------------------------------------------------------------ + # UMFPACK configuration: +@@ -176,7 +176,7 @@ + # -DNSUNPERF for Solaris only. If defined, do not use the Sun + # Performance Library + +-CHOLMOD_CONFIG = ++CHOLMOD_CONFIG = -I/usr/include/mpi -DNPARTITION + + #------------------------------------------------------------------------------ + # Linux +@@ -184,7 +184,7 @@ + + # Using default compilers: + # CC = gcc +-CFLAGS = -O3 ++# CFLAGS = -O3 + + # alternatives: + # CFLAGS = -g -fexceptions \ +@@ -193,7 +193,7 @@ + # CFLAGS = -O3 -fexceptions \ + -Wall -W -Werror -Wshadow -Wmissing-prototypes -Wstrict-prototypes \ + -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi +-# CFLAGS = -O3 -fexceptions -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE ++CFLAGS = -O3 -fexceptions -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE + # CFLAGS = -O3 + + # consider: --- suitesparse-3.1.0.orig/debian/patches/12-CHOLMOD_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/12-CHOLMOD_Lib_Makefile.dpatch @@ -0,0 +1,677 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 12-CHOLMOD_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of CHOLMOD library. + +@DPATCH@ +diff -u upstrm/CHOLMOD/Lib/Makefile debsrc/CHOLMOD/Lib/Makefile +--- upstrm/CHOLMOD/Lib/Makefile 2007-05-05 16:36:56.000000000 +0200 ++++ debsrc/CHOLMOD/Lib/Makefile 2007-12-15 19:11:20.000000000 +0100 +@@ -10,7 +10,7 @@ + + C = $(CC) $(CFLAGS) $(CHOLMOD_CONFIG) + +-all: libcholmod.a ++all: libcholmod.a libcholmod.so.3.1.0 + + library: libcholmod.a + +@@ -21,6 +21,9 @@ + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + #------------------------------------------------------------------------------- + # ../Include/ directory contains all include files: +@@ -49,29 +52,39 @@ + cholmod_copy.o cholmod_dense.o cholmod_error.o cholmod_factor.o \ + cholmod_memory.o cholmod_sparse.o \ + cholmod_transpose.o cholmod_triplet.o ++CORE_SL = $(subst .o,.oo,$(CORE)) + + CHECK = cholmod_check.o cholmod_read.o cholmod_write.o ++CHECK_SL = $(subst .o,.oo,$(CHECK)) + + CHOLESKY = cholmod_amd.o cholmod_analyze.o cholmod_colamd.o \ + cholmod_etree.o cholmod_factorize.o cholmod_postorder.o \ + cholmod_rcond.o cholmod_resymbol.o cholmod_rowcolcounts.o \ + cholmod_rowfac.o cholmod_solve.o cholmod_spsolve.o ++CHOLESKY_SL = $(subst .o,.oo,$(CHOLESKY)) + + MATRIXOPS = cholmod_drop.o cholmod_horzcat.o cholmod_norm.o \ + cholmod_scale.o cholmod_sdmult.o cholmod_ssmult.o \ + cholmod_submatrix.o cholmod_vertcat.o cholmod_symmetry.o ++MATRIXOPS_SL = $(subst .o,.oo,$(MATRIXOPS)) + + PARTITION = cholmod_ccolamd.o cholmod_csymamd.o \ + cholmod_metis.o cholmod_nesdis.o cholmod_camd.o ++PARTITION_SL = $(subst .o,.oo,$(PARTITION)) + + MODIFY = cholmod_rowadd.o cholmod_rowdel.o cholmod_updown.o ++MODIFY_SL = $(subst .o,.oo,$(MODIFY)) + + SUPERNODAL = cholmod_super_numeric.o cholmod_super_solve.o \ + cholmod_super_symbolic.o ++SUPERNODAL_SL = $(subst .o,.oo,$(SUPERNODAL)) + + DI = $(CORE) $(CHECK) $(CHOLESKY) $(MATRIXOPS) $(MODIFY) $(SUPERNODAL) \ + $(PARTITION) + ++DI_SL = $(CORE_SL) $(CHECK_SL) $(CHOLESKY_SL) $(MATRIXOPS_SL) $(MODIFY_SL) \ ++ $(SUPERNODAL_SL) $(PARTITION_SL) ++ + #------------------------------------------------------------------------------- + # CHOLMOD library modules (long, double) + #------------------------------------------------------------------------------- +@@ -81,39 +94,53 @@ + cholmod_l_copy.o cholmod_l_dense.o cholmod_l_error.o \ + cholmod_l_factor.o cholmod_l_memory.o \ + cholmod_l_sparse.o cholmod_l_transpose.o cholmod_l_triplet.o ++LCORE_SL = $(subst .o,.oo,$(LCORE)) + + LCHECK = cholmod_l_check.o cholmod_l_read.o cholmod_l_write.o ++LCHECK_SL = $(subst .o,.oo,$(LCHECK)) + + LCHOLESKY = cholmod_l_amd.o cholmod_l_analyze.o cholmod_l_colamd.o \ + cholmod_l_etree.o cholmod_l_factorize.o cholmod_l_postorder.o \ + cholmod_l_rcond.o cholmod_l_resymbol.o cholmod_l_rowcolcounts.o \ + cholmod_l_rowfac.o cholmod_l_solve.o cholmod_l_spsolve.o ++LCHOLESKY_SL = $(subst .o,.oo,$(LCHOLESKY)) + + LMATRIXOPS = cholmod_l_drop.o cholmod_l_horzcat.o cholmod_l_norm.o \ + cholmod_l_scale.o cholmod_l_sdmult.o cholmod_l_ssmult.o \ + cholmod_l_submatrix.o cholmod_l_vertcat.o cholmod_l_symmetry.o ++LMATRIXOPS_SL = $(subst .o,.oo,$(LMATRIXOPS)) + + LPARTITION = cholmod_l_ccolamd.o cholmod_l_csymamd.o \ + cholmod_l_metis.o cholmod_l_nesdis.o cholmod_l_camd.o ++LPARTITION_SL = $(subst .o,.oo,$(LPARTITION)) + + LMODIFY = cholmod_l_rowadd.o cholmod_l_rowdel.o cholmod_l_updown.o ++LMODIFY_SL = $(subst .o,.oo,$(LMODIFY)) + + LSUPERNODAL = cholmod_l_super_numeric.o cholmod_l_super_solve.o \ + cholmod_l_super_symbolic.o ++LSUPERNODAL_SL = $(subst .o,.oo,$(LSUPERNODAL)) + + DL = $(LCORE) $(LCHECK) $(LCHOLESKY) $(LMATRIXOPS) $(LMODIFY) $(LSUPERNODAL) \ + $(LPARTITION) ++DL_SL = $(LCORE_SL) $(LCHECK_SL) $(LCHOLESKY_SL) $(LMATRIXOPS_SL) \ ++ $(LMODIFY_SL) $(LSUPERNODAL_SL) $(LPARTITION_SL) + + #------------------------------------------------------------------------------- + + # to compile just the double/int version, use OBJ = $(DI) + OBJ = $(DI) $(DL) ++OBJ_SL = $(DI_SL) $(DL_SL) + + libcholmod.a: $(OBJ) + $(AR) libcholmod.a $(OBJ) + $(RANLIB) libcholmod.a + +-$(OBJ): $(INC) ++libcholmod.so.3.1.0: $(OBJ_SL) ++ $(CC) -shared $^ -lblas -llapack ../../AMD/Lib/libamd.so ../../CAMD/Lib/libcamd.so ../../COLAMD/Lib/libcolamd.so ../../CCOLAMD/Lib/libccolamd.so -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libcholmod.so ++ ++$(OBJ) $(OBJ_SL): $(INC) + + I = -I../../AMD/Include -I../../AMD/Source -I../../COLAMD/Include \ + -I$(METIS_PATH)/Lib -I../../CCOLAMD/Include -I../../CAMD/Include \ +@@ -125,23 +153,35 @@ + + cholmod_check.o: ../Check/cholmod_check.c + $(C) -c $(I) $< ++cholmod_check.oo: ../Check/cholmod_check.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_read.o: ../Check/cholmod_read.c + $(C) -c $(I) $< ++cholmod_read.oo: ../Check/cholmod_read.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_write.o: ../Check/cholmod_write.c + $(C) -c $(I) $< ++cholmod_write.oo: ../Check/cholmod_write.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + cholmod_l_check.o: ../Check/cholmod_check.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_check.oo: ../Check/cholmod_check.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_read.o: ../Check/cholmod_read.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_read.oo: ../Check/cholmod_read.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_write.o: ../Check/cholmod_write.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_write.oo: ../Check/cholmod_write.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + + #------------------------------------------------------------------------------- +@@ -150,92 +190,149 @@ + + cholmod_common.o: ../Core/cholmod_common.c + $(C) -c $(I) $< ++cholmod_common.oo: ../Core/cholmod_common.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_dense.o: ../Core/cholmod_dense.c ../Core/t_cholmod_dense.c + $(C) -c $(I) $< ++cholmod_dense.oo: ../Core/cholmod_dense.c ../Core/t_cholmod_dense.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_factor.o: ../Core/cholmod_factor.c + $(C) -c $(I) $< ++cholmod_factor.oo: ../Core/cholmod_factor.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_change_factor.o: ../Core/cholmod_change_factor.c \ + ../Core/t_cholmod_change_factor.c + $(C) -c $(I) $< ++cholmod_change_factor.oo: ../Core/cholmod_change_factor.c \ ++ ../Core/t_cholmod_change_factor.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_memory.o: ../Core/cholmod_memory.c + $(C) -c $(I) $< ++cholmod_memory.oo: ../Core/cholmod_memory.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_sparse.o: ../Core/cholmod_sparse.c + $(C) -c $(I) $< ++cholmod_sparse.oo: ../Core/cholmod_sparse.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_complex.o: ../Core/cholmod_complex.c + $(C) -c $(I) $< ++cholmod_complex.oo: ../Core/cholmod_complex.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_transpose.o: ../Core/cholmod_transpose.c ../Core/t_cholmod_transpose.c + $(C) -c $(I) $< ++cholmod_transpose.oo: ../Core/cholmod_transpose.c ../Core/t_cholmod_transpose.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_band.o: ../Core/cholmod_band.c + $(C) -c $(I) $< ++cholmod_band.oo: ../Core/cholmod_band.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_copy.o: ../Core/cholmod_copy.c + $(C) -c $(I) $< ++cholmod_copy.oo: ../Core/cholmod_copy.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_triplet.o: ../Core/cholmod_triplet.c ../Core/t_cholmod_triplet.c + $(C) -c $(I) $< ++cholmod_triplet.oo: ../Core/cholmod_triplet.c ../Core/t_cholmod_triplet.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_error.o: ../Core/cholmod_error.c + $(C) -c $(I) $< ++cholmod_error.oo: ../Core/cholmod_error.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_aat.o: ../Core/cholmod_aat.c + $(C) -c $(I) $< ++cholmod_aat.oo: ../Core/cholmod_aat.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_add.o: ../Core/cholmod_add.c + $(C) -c $(I) $< ++cholmod_add.oo: ../Core/cholmod_add.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + cholmod_l_common.o: ../Core/cholmod_common.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_common.oo: ../Core/cholmod_common.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_dense.o: ../Core/cholmod_dense.c ../Core/t_cholmod_dense.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_dense.oo: ../Core/cholmod_dense.c ../Core/t_cholmod_dense.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_factor.o: ../Core/cholmod_factor.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_factor.oo: ../Core/cholmod_factor.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_change_factor.o: ../Core/cholmod_change_factor.c \ + ../Core/t_cholmod_change_factor.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_change_factor.oo: ../Core/cholmod_change_factor.c \ ++ ../Core/t_cholmod_change_factor.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_memory.o: ../Core/cholmod_memory.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_memory.oo: ../Core/cholmod_memory.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_sparse.o: ../Core/cholmod_sparse.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_sparse.oo: ../Core/cholmod_sparse.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_complex.o: ../Core/cholmod_complex.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_complex.oo: ../Core/cholmod_complex.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_transpose.o: ../Core/cholmod_transpose.c ../Core/t_cholmod_transpose.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_transpose.oo: ../Core/cholmod_transpose.c ../Core/t_cholmod_transpose.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_band.o: ../Core/cholmod_band.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_band.oo: ../Core/cholmod_band.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_copy.o: ../Core/cholmod_copy.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_copy.oo: ../Core/cholmod_copy.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_triplet.o: ../Core/cholmod_triplet.c ../Core/t_cholmod_triplet.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_triplet.oo: ../Core/cholmod_triplet.c ../Core/t_cholmod_triplet.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_error.o: ../Core/cholmod_error.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_error.oo: ../Core/cholmod_error.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_aat.o: ../Core/cholmod_aat.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_aat.oo: ../Core/cholmod_aat.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_add.o: ../Core/cholmod_add.c + $(C) -DDLONG -c $(I) $< -o $@ +- ++cholmod_l_add.oo: ../Core/cholmod_add.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + # Cholesky Module: +@@ -243,79 +340,129 @@ + + cholmod_amd.o: ../Cholesky/cholmod_amd.c + $(C) -c $(I) $< ++cholmod_amd.oo: ../Cholesky/cholmod_amd.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_analyze.o: ../Cholesky/cholmod_analyze.c + $(C) -c $(I) $< ++cholmod_analyze.oo: ../Cholesky/cholmod_analyze.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_colamd.o: ../Cholesky/cholmod_colamd.c + $(C) -c $(I) $< ++cholmod_colamd.oo: ../Cholesky/cholmod_colamd.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_etree.o: ../Cholesky/cholmod_etree.c + $(C) -c $(I) $< ++cholmod_etree.oo: ../Cholesky/cholmod_etree.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_factorize.o: ../Cholesky/cholmod_factorize.c + $(C) -c $(I) $< ++cholmod_factorize.oo: ../Cholesky/cholmod_factorize.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_postorder.o: ../Cholesky/cholmod_postorder.c + $(C) -c $(I) $< ++cholmod_postorder.oo: ../Cholesky/cholmod_postorder.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_rcond.o: ../Cholesky/cholmod_rcond.c + $(C) -c $(I) $< ++cholmod_rcond.oo: ../Cholesky/cholmod_rcond.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_resymbol.o: ../Cholesky/cholmod_resymbol.c + $(C) -c $(I) $< ++cholmod_resymbol.oo: ../Cholesky/cholmod_resymbol.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_rowcolcounts.o: ../Cholesky/cholmod_rowcolcounts.c + $(C) -c $(I) $< ++cholmod_rowcolcounts.oo: ../Cholesky/cholmod_rowcolcounts.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_solve.o: ../Cholesky/cholmod_solve.c ../Cholesky/t_cholmod_lsolve.c \ + ../Cholesky/t_cholmod_ltsolve.c ../Cholesky/t_cholmod_solve.c + $(C) -c $(I) $< ++cholmod_solve.oo: ../Cholesky/cholmod_solve.c ../Cholesky/t_cholmod_lsolve.c \ ++ ../Cholesky/t_cholmod_ltsolve.c ../Cholesky/t_cholmod_solve.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_spsolve.o: ../Cholesky/cholmod_spsolve.c + $(C) -c $(I) $< ++cholmod_spsolve.oo: ../Cholesky/cholmod_spsolve.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_rowfac.o: ../Cholesky/cholmod_rowfac.c ../Cholesky/t_cholmod_rowfac.c + $(C) -c $(I) $< ++cholmod_rowfac.oo: ../Cholesky/cholmod_rowfac.c ../Cholesky/t_cholmod_rowfac.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + cholmod_l_amd.o: ../Cholesky/cholmod_amd.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_amd.oo: ../Cholesky/cholmod_amd.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_analyze.o: ../Cholesky/cholmod_analyze.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_analyze.oo: ../Cholesky/cholmod_analyze.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_colamd.o: ../Cholesky/cholmod_colamd.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_colamd.oo: ../Cholesky/cholmod_colamd.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_etree.o: ../Cholesky/cholmod_etree.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_etree.oo: ../Cholesky/cholmod_etree.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_factorize.o: ../Cholesky/cholmod_factorize.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_factorize.oo: ../Cholesky/cholmod_factorize.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_postorder.o: ../Cholesky/cholmod_postorder.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_postorder.oo: ../Cholesky/cholmod_postorder.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_rcond.o: ../Cholesky/cholmod_rcond.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_rcond.oo: ../Cholesky/cholmod_rcond.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_resymbol.o: ../Cholesky/cholmod_resymbol.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_resymbol.oo: ../Cholesky/cholmod_resymbol.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_rowcolcounts.o: ../Cholesky/cholmod_rowcolcounts.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_rowcolcounts.oo: ../Cholesky/cholmod_rowcolcounts.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_solve.o: ../Cholesky/cholmod_solve.c ../Cholesky/t_cholmod_lsolve.c \ + ../Cholesky/t_cholmod_ltsolve.c ../Cholesky/t_cholmod_solve.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_solve.oo: ../Cholesky/cholmod_solve.c ../Cholesky/t_cholmod_lsolve.c \ ++ ../Cholesky/t_cholmod_ltsolve.c ../Cholesky/t_cholmod_solve.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_spsolve.o: ../Cholesky/cholmod_spsolve.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_spsolve.oo: ../Cholesky/cholmod_spsolve.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_rowfac.o: ../Cholesky/cholmod_rowfac.c ../Cholesky/t_cholmod_rowfac.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_rowfac.oo: ../Cholesky/cholmod_rowfac.c ../Cholesky/t_cholmod_rowfac.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + # Partition Module: +@@ -323,35 +470,55 @@ + + cholmod_ccolamd.o: ../Partition/cholmod_ccolamd.c + $(C) -c $(I) $< ++cholmod_ccolamd.oo: ../Partition/cholmod_ccolamd.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_csymamd.o: ../Partition/cholmod_csymamd.c + $(C) -c $(I) $< ++cholmod_csymamd.oo: ../Partition/cholmod_csymamd.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_camd.o: ../Partition/cholmod_camd.c + $(C) -c $(I) $< ++cholmod_camd.oo: ../Partition/cholmod_camd.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_metis.o: ../Partition/cholmod_metis.c + $(C) -c $(I) $< ++cholmod_metis.oo: ../Partition/cholmod_metis.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_nesdis.o: ../Partition/cholmod_nesdis.c + $(C) -c $(I) $< ++cholmod_nesdis.oo: ../Partition/cholmod_nesdis.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + cholmod_l_ccolamd.o: ../Partition/cholmod_ccolamd.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_ccolamd.oo: ../Partition/cholmod_ccolamd.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_csymamd.o: ../Partition/cholmod_csymamd.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_csymamd.oo: ../Partition/cholmod_csymamd.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_camd.o: ../Partition/cholmod_camd.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_camd.oo: ../Partition/cholmod_camd.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_metis.o: ../Partition/cholmod_metis.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_metis.oo: ../Partition/cholmod_metis.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_nesdis.o: ../Partition/cholmod_nesdis.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_nesdis.oo: ../Partition/cholmod_nesdis.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + + #------------------------------------------------------------------------------- +@@ -360,61 +527,99 @@ + + cholmod_horzcat.o: ../MatrixOps/cholmod_horzcat.c + $(C) -c $(I) $< ++cholmod_horzcat.oo: ../MatrixOps/cholmod_horzcat.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_norm.o: ../MatrixOps/cholmod_norm.c + $(C) -c $(I) $< ++cholmod_norm.oo: ../MatrixOps/cholmod_norm.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_scale.o: ../MatrixOps/cholmod_scale.c + $(C) -c $(I) $< ++cholmod_scale.oo: ../MatrixOps/cholmod_scale.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_drop.o: ../MatrixOps/cholmod_drop.c + $(C) -c $(I) $< ++cholmod_drop.oo: ../MatrixOps/cholmod_drop.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_sdmult.o: ../MatrixOps/cholmod_sdmult.c \ + ../MatrixOps/t_cholmod_sdmult.c + $(C) -c $(I) $< ++cholmod_sdmult.oo: ../MatrixOps/cholmod_sdmult.c \ ++ ../MatrixOps/t_cholmod_sdmult.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_ssmult.o: ../MatrixOps/cholmod_ssmult.c + $(C) -c $(I) $< ++cholmod_ssmult.oo: ../MatrixOps/cholmod_ssmult.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_submatrix.o: ../MatrixOps/cholmod_submatrix.c + $(C) -c $(I) $< ++cholmod_submatrix.oo: ../MatrixOps/cholmod_submatrix.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_vertcat.o: ../MatrixOps/cholmod_vertcat.c + $(C) -c $(I) $< ++cholmod_vertcat.oo: ../MatrixOps/cholmod_vertcat.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_symmetry.o: ../MatrixOps/cholmod_symmetry.c + $(C) -c $(I) $< ++cholmod_symmetry.oo: ../MatrixOps/cholmod_symmetry.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + cholmod_l_horzcat.o: ../MatrixOps/cholmod_horzcat.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_horzcat.oo: ../MatrixOps/cholmod_horzcat.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_norm.o: ../MatrixOps/cholmod_norm.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_norm.oo: ../MatrixOps/cholmod_norm.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_scale.o: ../MatrixOps/cholmod_scale.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_scale.oo: ../MatrixOps/cholmod_scale.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_drop.o: ../MatrixOps/cholmod_drop.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_drop.oo: ../MatrixOps/cholmod_drop.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_sdmult.o: ../MatrixOps/cholmod_sdmult.c \ + ../MatrixOps/t_cholmod_sdmult.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_sdmult.oo: ../MatrixOps/cholmod_sdmult.c \ ++ ../MatrixOps/t_cholmod_sdmult.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_ssmult.o: ../MatrixOps/cholmod_ssmult.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_ssmult.oo: ../MatrixOps/cholmod_ssmult.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_submatrix.o: ../MatrixOps/cholmod_submatrix.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_submatrix.oo: ../MatrixOps/cholmod_submatrix.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_vertcat.o: ../MatrixOps/cholmod_vertcat.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_vertcat.oo: ../MatrixOps/cholmod_vertcat.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_symmetry.o: ../MatrixOps/cholmod_symmetry.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_symmetry.oo: ../MatrixOps/cholmod_symmetry.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + # Modify Module: +@@ -422,25 +627,39 @@ + + cholmod_rowadd.o: ../Modify/cholmod_rowadd.c + $(C) -c $(I) $< ++cholmod_rowadd.oo: ../Modify/cholmod_rowadd.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_rowdel.o: ../Modify/cholmod_rowdel.c + $(C) -c $(I) $< ++cholmod_rowdel.oo: ../Modify/cholmod_rowdel.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_updown.o: ../Modify/cholmod_updown.c \ + ../Modify/t_cholmod_updown.c ../Modify/t_cholmod_updown_numkr.c + $(C) -c $(I) $< ++cholmod_updown.oo: ../Modify/cholmod_updown.c \ ++ ../Modify/t_cholmod_updown.c ../Modify/t_cholmod_updown_numkr.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + cholmod_l_rowadd.o: ../Modify/cholmod_rowadd.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_rowadd.oo: ../Modify/cholmod_rowadd.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_rowdel.o: ../Modify/cholmod_rowdel.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_rowdel.oo: ../Modify/cholmod_rowdel.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_updown.o: ../Modify/cholmod_updown.c \ + ../Modify/t_cholmod_updown.c ../Modify/t_cholmod_updown_numkr.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_updown.oo: ../Modify/cholmod_updown.c \ ++ ../Modify/t_cholmod_updown.c ../Modify/t_cholmod_updown_numkr.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + + #------------------------------------------------------------------------------- +@@ -450,23 +669,39 @@ + cholmod_super_numeric.o: ../Supernodal/cholmod_super_numeric.c \ + ../Supernodal/t_cholmod_super_numeric.c + $(C) -c $(I) $< ++cholmod_super_numeric.oo: ../Supernodal/cholmod_super_numeric.c \ ++ ../Supernodal/t_cholmod_super_numeric.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_super_symbolic.o: ../Supernodal/cholmod_super_symbolic.c + $(C) -c $(I) $< ++cholmod_super_symbolic.oo: ../Supernodal/cholmod_super_symbolic.c ++ $(C) -fPIC -c $(I) $< -o $@ + + cholmod_super_solve.o: ../Supernodal/cholmod_super_solve.c \ + ../Supernodal/t_cholmod_super_solve.c + $(C) -c $(I) $< ++cholmod_super_solve.oo: ../Supernodal/cholmod_super_solve.c \ ++ ../Supernodal/t_cholmod_super_solve.c ++ $(C) -fPIC -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + cholmod_l_super_numeric.o: ../Supernodal/cholmod_super_numeric.c \ + ../Supernodal/t_cholmod_super_numeric.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_super_numeric.oo: ../Supernodal/cholmod_super_numeric.c \ ++ ../Supernodal/t_cholmod_super_numeric.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_super_symbolic.o: ../Supernodal/cholmod_super_symbolic.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_super_symbolic.oo: ../Supernodal/cholmod_super_symbolic.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ + + cholmod_l_super_solve.o: ../Supernodal/cholmod_super_solve.c \ + ../Supernodal/t_cholmod_super_solve.c + $(C) -DDLONG -c $(I) $< -o $@ ++cholmod_l_super_solve.oo: ../Supernodal/cholmod_super_solve.c \ ++ ../Supernodal/t_cholmod_super_solve.c ++ $(C) -fPIC -DDLONG -c $(I) $< -o $@ --- suitesparse-3.1.0.orig/debian/patches/05-COLAMD_Lib_Makefile.dpatch +++ suitesparse-3.1.0/debian/patches/05-COLAMD_Lib_Makefile.dpatch @@ -0,0 +1,42 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 05-COLAMD_Lib_Makefile.dpatch by Daniel Rus Morales +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build shared version of COLAMD library. + +@DPATCH@ +diff -u upstrm/CCOLAMD/Lib/Makefile debsrc/COLAMD/Lib/Makefile +--- upstrm/COLAMD/Lib/Makefile 2007-05-05 15:41:47.000000000 +0200 ++++ debsrc/COLAMD/Lib/Makefile 2007-12-15 19:05:03.000000000 +0100 +@@ -2,7 +2,7 @@ + # COLAMD Makefile + #------------------------------------------------------------------------------- + +-default: libcolamd.a ++default: libcolamd.a libcolamd.so.3.1.0 + + include ../../UFconfig/UFconfig.mk + +@@ -19,12 +19,22 @@ + $(CC) $(CFLAGS) $(I) -c ../Source/colamd.c -DDLONG -o colamd_l.o + $(AR) libcolamd.a colamd.o colamd_l.o colamd_global.o + ++libcolamd.so.3.1.0: $(SRC) $(INC) ++ $(CC) -fPIC $(CFLAGS) $(I) -c ../Source/colamd_global.c -o colamd_global.oo ++ $(CC) -fPIC $(CFLAGS) $(I) -c ../Source/colamd.c -o colamd.oo ++ $(CC) -fPIC $(CFLAGS) $(I) -c ../Source/colamd.c -DDLONG -o colamd_l.oo ++ $(CC) -shared *.oo -lm -Wl,-soname -Wl,$@ -o $@ ++ ln -s $@ libcolamd.so ++ + ccode: libcolamd.a + + library: libcolamd.a + + clean: + - $(RM) $(CLEAN) ++ -$(RM) *.oo ++ -$(RM) *.a ++ -$(RM) *.so* + + purge: distclean +