debian/0000775000000000000000000000000012254041642007170 5ustar debian/library-soname.pl0000664000000000000000000000070112254041632012446 0ustar #!/usr/bin/perl %soversion = ( AMD, "2.3.1", CAMD, "2.3.1", BTF, "1.2.0", COLAMD, "2.8.0", CCOLAMD, "2.8.0", CHOLMOD, "2.1.2", CSparse, "3.1.2", CXSparse, "3.1.2", KLU, "1.2.1", LDL, "2.1.0", UMFPACK, "5.6.2", SPQR, "1.3.1" ); die "Usage: $0 LIB\n" if $#ARGV != 0; my $lib = $ARGV [0]; die "$0: Unknown library $lib\n" if not exists $soversion {$lib}; print "lib" . lc ($lib) . $soversion {$lib}; debian/libsuitesparse-doc.doc-base.amd0000664000000000000000000000052612254041564015136 0ustar 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: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/AMD_UserGuide.pdf debian/NEWS0000664000000000000000000000153312254041632007670 0ustar suitesparse (1:3.4.0-1) unstable; urgency=low Starting with this version, the libraries that were bundled together in the libsuitesparse-x.y.z package are now distributed in individual packages. The new packages have names that follow the Debian conventions and correspond really to the library sonames. For instance, the package libamd2.2 contains /usr/lib/libamd.so.2.2. -- Rafael Laboissiere Sat, 09 May 2009 16:53:25 +0200 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 debian/libsuitesparse-doc.install0000664000000000000000000000140312254041632014356 0ustar 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 SPQR/Doc/spqr_user_guide.pdf /usr/share/doc/libsuitesparse-doc SPQR/Doc/spqr_user_guide.bib /usr/share/doc/libsuitesparse-doc debian/libsuitesparse-doc.doc-base.klu0000664000000000000000000000133012254041632015156 0ustar Document: klu-ug Title: SuiteSparse/User Guide for KLU and BTF Author: Timothy A. Davis, Eka Palamadai Natarajan Abstract: KLU is a set of routines for solving sparse linear systems of equations. It is particularly well-suited to matrices arising in SPICE-like circuit simulation applications. It relies on a permutation to block triangular form (BTF), several methods for finding a fill-reducing ordering (variants of approximate minimum degree, and nested dissection), and a sparse left-looking LU factorization method to factorize each block. A MATLAB interface is included. KLU appears as Collected Algorithm 907 of the ACM. Section: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/KLU_UserGuide.pdf debian/control0000664000000000000000000002253612254041632010602 0ustar Source: suitesparse Section: math Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Science Team Uploaders: Christophe Prud'homme , Sébastien Villemot Build-Depends: cdbs (>= 0.4.52), debhelper (>= 9), dh-exec, gfortran, libblas-dev, liblapack-dev Standards-Version: 3.9.5 Homepage: http://www.cise.ufl.edu/research/sparse/SuiteSparse/ Vcs-Git: git://anonscm.debian.org/debian-science/packages/suitesparse.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/suitesparse.git Package: libamd2.3.1 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: approximate minimum degree ordering library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . AMD approximate minimum degree ordering Package: libbtf1.2.0 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: permutation to block triangular form library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . BTF permutation to block triangular form (beta) Package: libcamd2.3.1 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: symmetric approximate minimum degree library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CAMD symmetric approximate minimum degree Package: libcolamd2.8.0 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: column approximate minimum degree ordering library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . COLAMD column approximate minimum degree ordering Package: libccolamd2.8.0 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: constrained column approximate library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . COLAMD constrained column approximate minimum degree ordering Package: libcholmod2.1.2 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: sparse Cholesky factorization library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CHOLMOD sparse Cholesky factorization Package: libcsparse3.1.2 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: concise sparse matrix library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CSparse a concise sparse matrix package Package: libcxsparse3.1.2 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: concise sparse matrix library (complex, int and long int support) Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CXSparse CSparse extended: complex matrix, int and long int support Package: libklu1.2.1 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: circuit simulation sparse LU factorization library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . KLU sparse LU factorization, primarily for circuit simulation Package: libldl2.1.0 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: simple LDL' factorization library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . LDL a simple LDL' factorization Package: libumfpack5.6.2 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: sparse LU factorization library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . UMFPACK sparse LU factorization Package: libspqr1.3.1 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: sparse QR factorization library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . SPQR sparse QR factorization library Package: libsuitesparse-dev Section: libdevel Architecture: any Multi-Arch: same Replaces: libufsparse-dev, libsuitesparse-metis-dev, libumfpack4-dev Conflicts: libufsparse-dev, libsuitesparse-metis-dev, libumfpack4-dev Provides: libufsparse-dev, libumfpack4-dev Depends: ${misc:Depends}, libamd2.3.1 (= ${binary:Version}), libcamd2.3.1 (= ${binary:Version}), libbtf1.2.0 (= ${binary:Version}), libcolamd2.8.0 (= ${binary:Version}), libccolamd2.8.0 (= ${binary:Version}), libcholmod2.1.2 (= ${binary:Version}), libcsparse3.1.2 (= ${binary:Version}), libcxsparse3.1.2 (= ${binary:Version}), libklu1.2.1 (= ${binary:Version}), libldl2.1.0 (= ${binary:Version}), libumfpack5.6.2 (= ${binary:Version}), libspqr1.3.1 (= ${binary:Version}), libblas-dev | libblas.so, liblapack-dev | liblapack.so Description: libraries for sparse matrices computations (development files) Suitesparse is a collection of libraries for computations involving sparse matrices. This 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 . SPQR sparse QR factorization . This package contains the static libraries and header files. Package: libsuitesparse-dbg Section: debug Priority: extra Architecture: any Multi-Arch: same Depends: ${misc:Depends}, libamd2.3.1 (= ${binary:Version}), libcamd2.3.1 (= ${binary:Version}), libbtf1.2.0 (= ${binary:Version}), libcolamd2.8.0 (= ${binary:Version}), libccolamd2.8.0 (= ${binary:Version}), libcholmod2.1.2 (= ${binary:Version}), libcsparse3.1.2 (= ${binary:Version}), libcxsparse3.1.2 (= ${binary:Version}), libklu1.2.1 (= ${binary:Version}), libldl2.1.0 (= ${binary:Version}), libumfpack5.6.2 (= ${binary:Version}), libspqr1.3.1 (= ${binary:Version}), libblas-dev | libblas.so, liblapack-dev | liblapack.so Conflicts: libufsparse-dbg Replaces: libufsparse-dbg Description: libraries for sparse matrices computations (debugging symbols) Suitesparse is a collection of libraries for computations involving sparse matrices. This 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 . SPQR sparse QR factorization . SuiteSparse_config 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 Depends: ${misc:Depends} Replaces: libufsparse-doc, libumfpack4-doc Conflicts: libufsparse-doc, libumfpack4-doc Recommends: libblas-doc Suggests: libatlas-doc Description: libraries for sparse matrices computations (documentation) Suitesparse is a collection of libraries for computations involving sparse matrices. This package contains the user guides for the libraries distributed by the SuiteSparse project. debian/libsuitesparse-doc.doc-base.ldl0000664000000000000000000000145712254041632015150 0ustar Document: ldl-ug Title: SuiteSparse/User Guide for LDL, a concise sparse Cholesky package Author: Timothy A. Davis Abstract: The LDL software package is a set of short, concise routines for factorizing symmetric positive-definite sparse matrices, with some applicability to symmetric indefinite matrices. Its primary purpose is to illustrate much of the basic theory of sparse matrix algorithms in as concise a code as possible, including an elegant method of sparse symmetric factorization that computes the factorization row-by-row but stores it column-by-column. The entire symbolic and numeric factorization consists of less than 50 lines of code. The package is written in C, and includes a MATLAB interface. Section: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/ldl_userguide.pdf debian/libsuitesparse-doc.doc-base.cholmod0000664000000000000000000000052112254041564016015 0ustar 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: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/CHOLMOD_UserGuide.pdf debian/watch0000664000000000000000000000013412254041564010222 0ustar version=3 http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-([\d.]+)\.tar\.gz debian/README.Debian0000664000000000000000000000102212254041632011223 0ustar SuiteSparse for Debian ---------------------- SuiteSparse is split into the following packages: - lib: dynamic libraries, where is one of: amd, camd, btf, colamd, ccolamd, cholmod, csparse, cxsparse, klu, ldl, umfpack, spqr - libsuitesparse-dev: static and .so libraries and headers files in /usr/include/suitesparse - libsuitesparse-doc: user guides and bibliography - libsuitesparse-dbg: debugging symbols -- Sébastien Villemot , Mon, 29 Apr 2013 14:53:06 +0200 debian/source/0000775000000000000000000000000012254041642010470 5ustar debian/source/format0000664000000000000000000000001412254041632011675 0ustar 3.0 (quilt) debian/install/0000775000000000000000000000000012254041642010636 5ustar debian/install/SPQR0000775000000000000000000000010412254041632011343 0ustar #!/usr/bin/dh-exec SPQR/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/KLU0000775000000000000000000000010312254041632011210 0ustar #!/usr/bin/dh-exec KLU/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/CSparse0000775000000000000000000000010712254041632012121 0ustar #!/usr/bin/dh-exec CSparse/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/UMFPACK0000775000000000000000000000010712254041632011647 0ustar #!/usr/bin/dh-exec UMFPACK/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/BTF0000775000000000000000000000010312254041632011170 0ustar #!/usr/bin/dh-exec BTF/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/CXSparse0000775000000000000000000000011012254041632012243 0ustar #!/usr/bin/dh-exec CXSparse/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/CCOLAMD0000775000000000000000000000010712254041632011623 0ustar #!/usr/bin/dh-exec CCOLAMD/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/LDL0000775000000000000000000000010312254041632011170 0ustar #!/usr/bin/dh-exec LDL/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/AMD0000775000000000000000000000010312254041632011156 0ustar #!/usr/bin/dh-exec AMD/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/CHOLMOD0000775000000000000000000000010712254041632011646 0ustar #!/usr/bin/dh-exec CHOLMOD/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/CAMD0000775000000000000000000000010412254041632011262 0ustar #!/usr/bin/dh-exec CAMD/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/install/COLAMD0000775000000000000000000000010612254041632011517 0ustar #!/usr/bin/dh-exec COLAMD/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ debian/libsuitesparse-dev.docs0000664000000000000000000000044412254041564013661 0ustar 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 debian/rules0000775000000000000000000000655412254041632010261 0ustar #!/usr/bin/make -f include /usr/share/cdbs/1/class/makefile.mk include /usr/share/cdbs/1/rules/debhelper.mk 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_ALL := .pdf # List of libraries provided by SuiteSparse LIBRARIES = AMD CAMD BTF COLAMD CCOLAMD CHOLMOD CSparse CXSparse KLU LDL UMFPACK SPQR # Generate variables like "AMD = libamd" $(foreach lib, $(LIBRARIES), $(eval $(lib) = $(shell perl debian/library-soname.pl $(lib)))) # Lists of lib*.install files INSTALL_FILES = $(foreach lib, $(LIBRARIES), debian/$($(lib)).install) # Rule for regenerating debian/control from debian/control.in # Note that this should not be automatized, see http://ftp-master.debian.org/REJECT-FAQ.html generate-debian-control: debian/control.in debian/library-soname.pl sed "$(foreach lib, $(LIBRARIES), s/@$(lib)@/$($(lib))/g;)" < debian/control.in > debian/control .PHONY: generate-debian-control # Generate rules for debian/lib*.install $(foreach lib, $(LIBRARIES), $(eval debian/$($(lib)).%: debian/%/$(lib) ; cp $$< $$@)) makebuilddir:: $(INSTALL_FILES) debian/control common-build-arch:: -( 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 ) -( cd SPQR/Doc && mv ChangeLog SPQR_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:: -( 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 ) -( cd SPQR/Doc && mv SPQR_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 -find $(DEB_BUILDDIR) -name "*.oo" | xargs rm rm -f $(INSTALL_FILES) get-orig-source: uscan --force-download --rename --destdir . .PHONY: get-orig-source debian/control.in0000664000000000000000000002220612254041632011201 0ustar Source: suitesparse Section: math Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Science Team Uploaders: Christophe Prud'homme , Sébastien Villemot Build-Depends: cdbs (>= 0.4.52), debhelper (>= 9), dh-exec, gfortran, libblas-dev, liblapack-dev Standards-Version: 3.9.5 Homepage: http://www.cise.ufl.edu/research/sparse/SuiteSparse/ Vcs-Git: git://anonscm.debian.org/debian-science/packages/suitesparse.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/suitesparse.git Package: @AMD@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: approximate minimum degree ordering library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . AMD approximate minimum degree ordering Package: @BTF@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: permutation to block triangular form library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . BTF permutation to block triangular form (beta) Package: @CAMD@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: symmetric approximate minimum degree library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CAMD symmetric approximate minimum degree Package: @COLAMD@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: column approximate minimum degree ordering library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . COLAMD column approximate minimum degree ordering Package: @CCOLAMD@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: constrained column approximate library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . COLAMD constrained column approximate minimum degree ordering Package: @CHOLMOD@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: sparse Cholesky factorization library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CHOLMOD sparse Cholesky factorization Package: @CSparse@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: concise sparse matrix library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CSparse a concise sparse matrix package Package: @CXSparse@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: concise sparse matrix library (complex, int and long int support) Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . CXSparse CSparse extended: complex matrix, int and long int support Package: @KLU@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: circuit simulation sparse LU factorization library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . KLU sparse LU factorization, primarily for circuit simulation Package: @LDL@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: simple LDL' factorization library for sparse matrices Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . LDL a simple LDL' factorization Package: @UMFPACK@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: sparse LU factorization library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . UMFPACK sparse LU factorization Package: @SPQR@ Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: sparse QR factorization library Suitesparse is a collection of libraries for computations involving sparse matrices. This package includes the following dynamic library: . SPQR sparse QR factorization library Package: libsuitesparse-dev Section: libdevel Architecture: any Multi-Arch: same Replaces: libufsparse-dev, libsuitesparse-metis-dev, libumfpack4-dev Conflicts: libufsparse-dev, libsuitesparse-metis-dev, libumfpack4-dev Provides: libufsparse-dev, libumfpack4-dev Depends: ${misc:Depends}, @AMD@ (= ${binary:Version}), @CAMD@ (= ${binary:Version}), @BTF@ (= ${binary:Version}), @COLAMD@ (= ${binary:Version}), @CCOLAMD@ (= ${binary:Version}), @CHOLMOD@ (= ${binary:Version}), @CSparse@ (= ${binary:Version}), @CXSparse@ (= ${binary:Version}), @KLU@ (= ${binary:Version}), @LDL@ (= ${binary:Version}), @UMFPACK@ (= ${binary:Version}), @SPQR@ (= ${binary:Version}), libblas-dev | libblas.so, liblapack-dev | liblapack.so Description: libraries for sparse matrices computations (development files) Suitesparse is a collection of libraries for computations involving sparse matrices. This 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 . SPQR sparse QR factorization . This package contains the static libraries and header files. Package: libsuitesparse-dbg Section: debug Priority: extra Architecture: any Multi-Arch: same Depends: ${misc:Depends}, @AMD@ (= ${binary:Version}), @CAMD@ (= ${binary:Version}), @BTF@ (= ${binary:Version}), @COLAMD@ (= ${binary:Version}), @CCOLAMD@ (= ${binary:Version}), @CHOLMOD@ (= ${binary:Version}), @CSparse@ (= ${binary:Version}), @CXSparse@ (= ${binary:Version}), @KLU@ (= ${binary:Version}), @LDL@ (= ${binary:Version}), @UMFPACK@ (= ${binary:Version}), @SPQR@ (= ${binary:Version}), libblas-dev | libblas.so, liblapack-dev | liblapack.so Conflicts: libufsparse-dbg Replaces: libufsparse-dbg Description: libraries for sparse matrices computations (debugging symbols) Suitesparse is a collection of libraries for computations involving sparse matrices. This 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 . SPQR sparse QR factorization . SuiteSparse_config 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 Depends: ${misc:Depends} Replaces: libufsparse-doc, libumfpack4-doc Conflicts: libufsparse-doc, libumfpack4-doc Recommends: libblas-doc Suggests: libatlas-doc Description: libraries for sparse matrices computations (documentation) Suitesparse is a collection of libraries for computations involving sparse matrices. This package contains the user guides for the libraries distributed by the SuiteSparse project. debian/compat0000664000000000000000000000000212254041632010365 0ustar 9 debian/libsuitesparse-doc.doc-base.umfpack-ug0000664000000000000000000000061712254041564016435 0ustar 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: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/UMFPACK_UserGuide.pdf debian/docs0000664000000000000000000000001312254041564010040 0ustar README.txt debian/libsuitesparse-doc.doc-base.camd0000664000000000000000000000074312254041632015276 0ustar Document: camd-ug Title: SuiteSparse/CAMD User Guide Author: Patrick R. Amestoy, Yanqing (Morris) Chen, Timothy A. Davis, Iain S. Duff Abstract: CAMD is a set of ANSI C routines that implements the approximate minimum degree ordering algorithm to permute sparse matrices prior to numerical factorization. Ordering constraints can be optionally provided. A MATLAB interface is included. Section: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/CAMD_UserGuide.pdf debian/patches/0000775000000000000000000000000012254041642010617 5ustar debian/patches/LDL_Lib_Makefile.diff0000664000000000000000000000165412254041632014454 0ustar Description: Build shared version of LDL library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/LDL/Lib/Makefile +++ b/LDL/Lib/Makefile @@ -10,7 +10,9 @@ C = $(CC) $(CF) $(I) -all: libldl.a +SOVERSION = $(shell perl ../../debian/library-soname.pl LDL | sed 's/libldl//') + +all: libldl.a libldl.so.$(SOVERSION) #------------------------------------------------------------------------------- # the ldl library: @@ -22,6 +24,12 @@ $(ARCHIVE) libldl.a ldl.o ldll.o - $(RANLIB) libldl.a +libldl.so.$(SOVERSION): ../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) $(LDFLAGS) -shared *.oo -Wl,-soname -Wl,$@ -o $@ + ln -s $@ libldl.so + distclean: purge purge: clean @@ -29,4 +37,6 @@ clean: - $(RM) $(CLEAN) - + -$(RM) *.oo + -$(RM) *.a + -$(RM) *.so* debian/patches/CCOLAMD_Lib_Makefile.diff0000664000000000000000000000222312254041632015074 0ustar Description: Build shared version of CCOLAMD library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/CCOLAMD/Lib/Makefile +++ b/CCOLAMD/Lib/Makefile @@ -2,7 +2,9 @@ # CCOLAMD Makefile #------------------------------------------------------------------------------- -default: libccolamd.a +SOVERSION = $(shell perl ../../debian/library-soname.pl CCOLAMD | sed 's/libccolamd//') + +default: libccolamd.a libccolamd.so.$(SOVERSION) include ../../SuiteSparse_config/SuiteSparse_config.mk @@ -20,12 +22,22 @@ $(ARCHIVE) libccolamd.a ccolamd.o ccolamd_l.o ccolamd_global.o - $(RANLIB) libccolamd.a +libccolamd.so.$(SOVERSION): $(SRC) $(INC) + $(CC) -fPIC $(CF) $(I) -c ../Source/ccolamd_global.c -o ccolamd_global.oo + $(CC) -fPIC $(CF) $(I) -c ../Source/ccolamd.c -o ccolamd.oo + $(CC) -fPIC $(CF) $(I) -c ../Source/ccolamd.c -DDLONG -o ccolamd_l.oo + $(CC) $(LDFLAGS) -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 debian/patches/COLAMD_Lib_Makefile.diff0000664000000000000000000000217212254041632014774 0ustar Description: Build shared version of COLAMD library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/COLAMD/Lib/Makefile +++ b/COLAMD/Lib/Makefile @@ -2,7 +2,9 @@ # COLAMD Makefile #------------------------------------------------------------------------------- -default: libcolamd.a +SOVERSION = $(shell perl ../../debian/library-soname.pl COLAMD | sed 's/libcolamd//') + +default: libcolamd.a libcolamd.so.$(SOVERSION) include ../../SuiteSparse_config/SuiteSparse_config.mk @@ -20,12 +22,22 @@ $(ARCHIVE) libcolamd.a colamd.o colamd_l.o colamd_global.o - $(RANLIB) libcolamd.a +libcolamd.so.$(SOVERSION): $(SRC) $(INC) + $(CC) -fPIC $(CF) $(I) -c ../Source/colamd_global.c -o colamd_global.oo + $(CC) -fPIC $(CF) $(I) -c ../Source/colamd.c -o colamd.oo + $(CC) -fPIC $(CF) $(I) -c ../Source/colamd.c -DDLONG -o colamd_l.oo + $(CC) $(LDFLAGS) -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 debian/patches/CSparse_Lib_Makefile.diff0000664000000000000000000000254712254041632015403 0ustar Description: Build shared version of CSparse library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/CSparse/Lib/Makefile +++ b/CSparse/Lib/Makefile @@ -3,7 +3,11 @@ RANLIB = ranlib ARCHIVE = $(AR) $(ARFLAGS) -all: libcsparse.a +C = $(CC) $(CF) -I../Include + +SOVERSION = $(shell perl ../../debian/library-soname.pl CSparse | sed 's/libcsparse//') + +all: libcsparse.a libcsparse.so.$(SOVERSION) 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 \ @@ -14,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) $(CF) $(I) -c $< + $(C) -c $< +%.oo: ../Source/%.c ../Include/cs.h + $(C) -fPIC -c $< -o $@ libcsparse.a: $(CS) $(ARCHIVE) libcsparse.a $(CS) - $(RANLIB) libcsparse.a +libcsparse.so.$(SOVERSION): $(CS_SL) + $(CC) $(LDFLAGS) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ + ln -s $@ libcsparse.so + + clean: - - $(RM) *.o + - $(RM) *.o *.oo + -$(RM) *.a + -$(RM) *.so* purge: distclean debian/patches/UMFPACK_Lib_GNUmakefile.diff0000664000000000000000000002535312254041632015543 0ustar Description: Build shared version of UMFPACK library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/UMFPACK/Lib/GNUmakefile +++ b/UMFPACK/Lib/GNUmakefile @@ -2,7 +2,9 @@ # UMFPACK Makefile for compiling on Unix systems (for GNU Make) #------------------------------------------------------------------------------- -default: libumfpack.a +SOVERSION = $(shell perl ../../debian/library-soname.pl UMFPACK | sed 's/libumfpack//') + +default: libumfpack.a libumfpack.so.$(SOVERSION) include ../../SuiteSparse_config/SuiteSparse_config.mk @@ -96,15 +98,27 @@ LL = $(addsuffix .o, $(subst umf_,umf_l_,$(UMFINT))) GN = $(addsuffix .o, $(subst umfpack_,umfpack_gn_,$(GENERIC))) +DI_SL = $(addsuffix .oo, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER))) +DL_SL = $(addsuffix .oo, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER))) +ZI_SL = $(addsuffix .oo, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER))) +ZL_SL = $(addsuffix .oo, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER))) +II_SL = $(addsuffix .oo, $(subst umf_,umf_i_,$(UMFINT))) +LL_SL = $(addsuffix .oo, $(subst umf_,umf_l_,$(UMFINT))) +GN_SL = $(addsuffix .oo, $(subst umfpack_,umfpack_gn_,$(GENERIC))) + #------------------------------------------------------------------------------- # compile each int and SuiteSparse_long routine (with no real/complex version) #------------------------------------------------------------------------------- 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 @@ -112,33 +126,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 @@ -146,33 +180,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 @@ -180,33 +234,53 @@ 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_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 @@ -214,33 +288,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 @@ -248,6 +342,8 @@ umfpack_gn_%.o: ../Source/umfpack_%.c $(INC) $(C) -c $< -o $@ +umfpack_gn_%.oo: ../Source/umfpack_%.c $(INC) + $(C) -fPIC -c $< -o $@ #------------------------------------------------------------------------------- # Create the libumfpack.a library @@ -257,8 +353,9 @@ $(ARCHIVE) libumfpack.a $^ - $(RANLIB) libumfpack.a -so: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL) - gcc -shared -Wl,-soname,libumfpack.so -o libumfpack.so $^ +libumfpack.so.$(SOVERSION): $(II_SL) $(LL_SL) $(GN_SL) $(DI_SL) $(DL_SL) $(ZI_SL) $(ZL_SL) + $(CC) $(LDFLAGS) -shared $^ -lm -lblas ../../AMD/Lib/libamd.so ../../CHOLMOD/Lib/libcholmod.so ../../SuiteSparse_config/libsuitesparseconfig_pic.a -Wl,-soname -Wl,$@ -o $@ + ln -s $@ libumfpack.so #------------------------------------------------------------------------------- # Remove all but the files in the original distribution @@ -269,3 +366,6 @@ clean: - $(RM) $(CLEAN) + -$(RM) *.oo + -$(RM) *.a + -$(RM) *.so* debian/patches/KLU_Lib_Makefile.diff0000664000000000000000000002652112254041632014474 0ustar Description: Build shared version of KLU library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/KLU/Lib/Makefile +++ b/KLU/Lib/Makefile @@ -17,132 +17,202 @@ all: library -library: libklu.a +SOVERSION = $(shell perl ../../debian/library-soname.pl KLU | sed 's/libklu//') + +library: libklu.a libklu.so.$(SOVERSION) 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) $(ARCHIVE) libklu.a $(OBJ) - $(RANLIB) libklu.a -$(OBJ): $(INC) +libklu.so.$(SOVERSION): $(OBJ_SL) + $(CC) $(LDFLAGS) -shared $^ -lm ../../AMD/Lib/libamd.so ../../BTF/Lib/libbtf.so ../../COLAMD/Lib/libcolamd.so -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 $@ #------------------------------------------------------------------------------- @@ -158,91 +228,149 @@ 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 $@ #------------------------------------------------------------------------------- debian/patches/KLU_Demo_Makefile.diff0000664000000000000000000000140512254041632014644 0ustar Description: Compile CAMD and CCOLAMD before KLU Since KLU depends on these two libraries, they must be compiled before KLU in order to create correct dependencies between shared libraries. Author: Sébastien Villemot Forwarded: not-needed Last-Update: 2013-04-29 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/KLU/Demo/Makefile +++ b/KLU/Demo/Makefile @@ -42,9 +42,9 @@ ( cd ../../COLAMD ; $(MAKE) library ) ../../CHOLMOD/Lib/libcholmod.a: + ( cd ../../CAMD ; $(MAKE) library ) + ( cd ../../CCOLAMD ; $(MAKE) library ) ( cd ../../CHOLMOD ; $(MAKE) library ) -# ( cd ../../CAMD ; $(MAKE) ) -# ( cd ../../CCOLAMD ; $(MAKE) ) # ( cd ../../metis-4.0 ; $(MAKE) ) ../../SuiteSparse_config/libsuitesparseconfig.a: debian/patches/BTF_Lib_Makefile.diff0000664000000000000000000000400212254041632014442 0ustar Description: Build shared version of BTF library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/BTF/Lib/Makefile +++ b/BTF/Lib/Makefile @@ -15,38 +15,58 @@ all: library -library: libbtf.a +SOVERSION = $(shell perl ../../debian/library-soname.pl BTF | sed 's/libbtf//') + +library: libbtf.a libbtf.so.$(SOVERSION) 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) $(ARCHIVE) libbtf.a $(OBJ) - $(RANLIB) libbtf.a -$(OBJ): $(INC) +libbtf.so.$(SOVERSION): $(OBJ_SL) + $(CC) $(LDFLAGS) -shared $^ -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 $@ + $(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 +77,6 @@ clean: - $(RM) $(CLEAN) + -$(RM) *.oo + -$(RM) *.a + -$(RM) *.so* debian/patches/parallel-build.diff0000664000000000000000000000130512254041632014340 0ustar Description: Fix missing dependency in Makefile Without this dependency, the parallel build fails. Author: Sébastien Villemot Forwarded: no Last-Update: 2013-04-20 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/KLU/Demo/Makefile +++ b/KLU/Demo/Makefile @@ -59,10 +59,10 @@ clean: - $(RM) $(CLEAN) -kludemo: kludemo.c Makefile $(CLIB) +kludemo: kludemo.c Makefile $(CLIB) $(CHOLMOD) $(CC) $(CF) $(I) kludemo.c -o kludemo $(CLIB) $(CHOLMOD) $(LIB) -kluldemo: kludemo.c Makefile $(CLIB) +kluldemo: kludemo.c Makefile $(CLIB) $(CHOLMOD) $(CC) $(CF) $(I) kluldemo.c -o kluldemo $(CLIB) $(CHOLMOD) $(LIB) klu_simple: klu_simple.c Makefile $(CLIB) debian/patches/Suitesparse_config_Makefile.diff0000664000000000000000000000204712254041632017104 0ustar Description: Create a PIC version of libsuitesparse_config This will be embedded in the shared libraries which need it. Note that creating a separate shared library package for this would have been an overkill, since there is only one (small) source file. Author: Sébastien Villemot Forwarded: not-needed Last-Update: 2013-04-29 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/SuiteSparse_config/Makefile +++ b/SuiteSparse_config/Makefile @@ -8,7 +8,7 @@ include SuiteSparse_config.mk -ccode: libsuitesparseconfig.a +ccode: libsuitesparseconfig.a libsuitesparseconfig_pic.a all: libsuitesparseconfig.a @@ -20,6 +20,12 @@ $(RANLIB) libsuitesparseconfig.a - $(RM) SuiteSparse_config.o +libsuitesparseconfig_pic.a: SuiteSparse_config.c SuiteSparse_config.h + $(CC) $(CF) -fPIC -o SuiteSparse_config.oo -c SuiteSparse_config.c + $(ARCHIVE) libsuitesparseconfig_pic.a SuiteSparse_config.oo + $(RANLIB) libsuitesparseconfig_pic.a + - $(RM) SuiteSparse_config.oo + distclean: purge purge: clean debian/patches/SuiteSparse_config_SuiteSparse_config_mk.diff0000664000000000000000000000314112254041632021606 0ustar Description: Customize the package configuration - Do not use metis library - Drop the fortran libraries from linking options Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/SuiteSparse_config/SuiteSparse_config.mk +++ b/SuiteSparse_config/SuiteSparse_config.mk @@ -106,7 +106,7 @@ # naming the BLAS and LAPACK library (*.a or *.so) files. # This is probably slow ... it might connect to the Standard Reference BLAS: -BLAS = -lblas -lgfortran +BLAS = -lblas LAPACK = -llapack # NOTE: this next option for the "Goto BLAS" has nothing to do with a "goto" @@ -162,8 +162,8 @@ # 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 #------------------------------------------------------------------------------ # UMFPACK configuration: @@ -223,7 +223,7 @@ # -DNSUNPERF for Solaris only. If defined, do not use the Sun # Performance Library -CHOLMOD_CONFIG = $(GPU_CONFIG) +CHOLMOD_CONFIG = $(GPU_CONFIG) -DNPARTITION # uncomment this line to compile CHOLMOD without METIS: # CHOLMOD_CONFIG = -DNPARTITION @@ -239,7 +239,7 @@ # -DHAVE_TBB enable the use of Intel's Threading Building Blocks (TBB) # default, without timing, without TBB: -SPQR_CONFIG = +SPQR_CONFIG = -DNPARTITION # with TBB: # SPQR_CONFIG = -DHAVE_TBB debian/patches/AMD_Lib_GNUmakefile.diff0000664000000000000000000000415712254041632015055 0ustar Description: Build shared version of AMD library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/AMD/Lib/GNUmakefile +++ b/AMD/Lib/GNUmakefile @@ -2,7 +2,9 @@ # AMD Makefile for compiling on Unix systems (for GNU make only) #------------------------------------------------------------------------------- -default: libamd.a +SOVERSION = $(shell perl ../../debian/library-soname.pl AMD | sed 's/libamd//') + +default: libamd.a libamd.so.$(SOVERSION) include ../../SuiteSparse_config/SuiteSparse_config.mk @@ -26,18 +28,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 +58,10 @@ $(ARCHIVE) libamd.a $^ - $(RANLIB) libamd.a +libamd.so.$(SOVERSION): amd_global.oo $(AMDI_SL) $(AMDL_SL) + $(CC) $(LDFLAGS) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ + ln -s $@ libamd.so + #------------------------------------------------------------------------------- # compile the Fortran versions and the libamdf77.a library #------------------------------------------------------------------------------- @@ -71,6 +86,9 @@ clean: - $(RM) $(CLEAN) + -$(RM) *.oo + -$(RM) *.a + -$(RM) *.so* purge: distclean debian/patches/series0000664000000000000000000000067012254041632012036 0ustar SuiteSparse_config_SuiteSparse_config_mk.diff AMD_Lib_GNUmakefile.diff CAMD_Lib_GNUmakefile.diff CCOLAMD_Lib_Makefile.diff COLAMD_Lib_Makefile.diff BTF_Lib_Makefile.diff KLU_Lib_Makefile.diff LDL_Lib_Makefile.diff CSparse_Lib_Makefile.diff CXSparse_Lib_Makefile.diff UMFPACK_Lib_GNUmakefile.diff CHOLMOD_Lib_Makefile.diff SPQR_Lib_Makefile.diff Suitesparse_config_Makefile.diff KLU_Demo_Makefile.diff buildflags.diff parallel-build.diff debian/patches/CXSparse_Lib_Makefile.diff0000664000000000000000000000635112254041632015530 0ustar Description: Build shared version of CXSparse library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/CXSparse/Lib/Makefile +++ b/CXSparse/Lib/Makefile @@ -7,7 +7,9 @@ I = -I../../SuiteSparse_config -I../Include -all: libcxsparse.a +SOVERSION = $(shell perl ../../debian/library-soname.pl CXSparse | sed 's/libcxsparse//') + +all: libcxsparse.a libcxsparse.so.$(SOVERSION) 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 \ @@ -30,6 +32,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 \ @@ -42,6 +45,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 \ @@ -54,6 +58,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 \ @@ -66,32 +71,51 @@ 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) $(CF) $(I) -c $< -o $@ +cs_convert.oo: ../Source/cs_convert.c + $(CC) -fPIC $(CF) $(I) -c $< -o $@ %_di.o : ../Source/%.c $(CC) $(CF) $(I) -c $< -o $@ +%_di.oo : ../Source/%.c + $(CC) -fPIC $(CF) $(I) -c $< -o $@ %_dl.o : ../Source/%.c $(CC) $(CF) $(I) -DCS_LONG -c $< -o $@ +%_dl.oo : ../Source/%.c + $(CC) -fPIC $(CF) $(I) -DCS_LONG -c $< -o $@ %_ci.o : ../Source/%.c $(CC) $(CF) $(I) -DCS_COMPLEX -c $< -o $@ +%_ci.oo : ../Source/%.c + $(CC) -fPIC $(CF) $(I) -DCS_COMPLEX -c $< -o $@ %_cl.o : ../Source/%.c $(CC) $(CF) $(I) -DCS_LONG -DCS_COMPLEX -c $< -o $@ +%_cl.oo : ../Source/%.c + $(CC) -fPIC $(CF) $(I) -DCS_LONG -DCS_COMPLEX -c $< -o $@ libcxsparse.a: $(CS) $(ARCHIVE) libcxsparse.a $(CS) - $(RANLIB) libcxsparse.a +libcxsparse.so.$(SOVERSION): $(CS_SL) + $(CC) $(LDFLAGS) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@ + ln -s $@ libcxsparse.so + + clean: - - $(RM) *.o + - $(RM) *.o *.oo + -$(RM) *.a + -$(RM) *.so* purge: distclean debian/patches/CHOLMOD_Lib_Makefile.diff0000664000000000000000000005567212254041632015137 0ustar Description: Build shared version of CHOLMOD library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/CHOLMOD/Lib/Makefile +++ b/CHOLMOD/Lib/Makefile @@ -50,7 +50,9 @@ C = $(CC) $(CF) $(CHOLMOD_CONFIG) $(CONFIG) -all: libcholmod.a +SOVERSION = $(shell perl ../../debian/library-soname.pl CHOLMOD | sed 's/libcholmod//') + +all: libcholmod.a libcholmod.so.$(SOVERSION) library: libcholmod.a @@ -61,6 +63,9 @@ clean: - $(RM) $(CLEAN) + -$(RM) *.oo + -$(RM) *.a + -$(RM) *.so* #------------------------------------------------------------------------------- # ../Include/ directory contains all include files: @@ -90,28 +95,37 @@ cholmod_memory.o cholmod_sparse.o \ cholmod_transpose.o cholmod_triplet.o \ cholmod_version.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) @@ -123,39 +137,53 @@ cholmod_l_factor.o cholmod_l_memory.o \ cholmod_l_sparse.o cholmod_l_transpose.o cholmod_l_triplet.o \ cholmod_l_version.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) $(ARCHIVE) libcholmod.a $(OBJ) - $(RANLIB) libcholmod.a -$(OBJ): $(INC) +libcholmod.so.$(SOVERSION): $(OBJ_SL) + $(CC) $(LDFLAGS) -shared $^ -lblas -llapack ../../AMD/Lib/libamd.so ../../COLAMD/Lib/libcolamd.so ../../CAMD/Lib/libcamd.so ../../CCOLAMD/Lib/libccolamd.so -lm ../../SuiteSparse_config/libsuitesparseconfig_pic.a -lrt -Wl,-soname -Wl,$@ -o $@ + ln -s $@ libcholmod.so + +$(OBJ) $(OBJ_SL): $(INC) #------------------------------------------------------------------------------- # Check Module: @@ -163,23 +191,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 $@ #------------------------------------------------------------------------------- @@ -188,97 +228,159 @@ 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_version.o: ../Core/cholmod_version.c $(C) -c $(I) $< +cholmod_version.oo: ../Core/cholmod_version.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 $@ cholmod_l_version.o: ../Core/cholmod_version.c $(C) -DDLONG -c $(I) $< -o $@ +cholmod_l_version.oo: ../Core/cholmod_version.c + $(C) -fPIC -DDLONG -c $(I) $< -o $@ #------------------------------------------------------------------------------- @@ -287,79 +389,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: @@ -367,35 +519,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 $@ #------------------------------------------------------------------------------- @@ -404,61 +576,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: @@ -466,25 +676,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 $@ #------------------------------------------------------------------------------- @@ -495,23 +719,40 @@ ../Supernodal/t_cholmod_gpu.c \ ../Supernodal/t_cholmod_super_numeric.c $(C) -c $(I) $< +cholmod_super_numeric.oo: ../Supernodal/cholmod_super_numeric.c \ + ../Supernodal/t_cholmod_gpu.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 $@ debian/patches/CAMD_Lib_GNUmakefile.diff0000664000000000000000000000421212254041632015150 0ustar Description: Build shared version of CAMD library Author: Daniel Rus Morales --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/CAMD/Lib/GNUmakefile +++ b/CAMD/Lib/GNUmakefile @@ -2,7 +2,9 @@ # CAMD Makefile for compiling on Unix systems (for GNU make only) #------------------------------------------------------------------------------- -default: libcamd.a +SOVERSION = $(shell perl ../../debian/library-soname.pl CAMD | sed 's/libcamd//') + +default: libcamd.a libcamd.so.$(SOVERSION) include ../../SuiteSparse_config/SuiteSparse_config.mk @@ -25,18 +27,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) @@ -46,12 +57,19 @@ $(ARCHIVE) libcamd.a $^ - $(RANLIB) libcamd.a +libcamd.so.$(SOVERSION): camd_global.oo $(CAMDI_SL) $(CAMDL_SL) + $(CC) $(LDFLAGS) -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 debian/patches/SPQR_Lib_Makefile.diff0000664000000000000000000001432312254041632014623 0ustar Description: Build shared version of SPQR library Author: Sébastien Villemot --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/SPQR/Lib/Makefile +++ b/SPQR/Lib/Makefile @@ -37,7 +37,9 @@ # -Wredundant-decls -Wdisabled-optimization \ # -ansi -fexceptions -all: libspqr.a +SOVERSION = $(shell perl ../../debian/library-soname.pl SPQR | sed 's/libspqr//') + +all: libspqr.a libspqr.so.$(SOVERSION) library: libspqr.a @@ -48,6 +50,9 @@ clean: - $(RM) $(CLEAN) + -$(RM) *.oo + -$(RM) *.a + -$(RM) *.so* INC = ../Include/spqr.hpp ../Include/SuiteSparseQR_C.h \ ../Include/SuiteSparseQR_definitions.h \ @@ -95,7 +100,9 @@ spqr_type.o \ spqr_tol.o -$(OBJ): $(INC) +OBJ_SL = $(subst .o,.oo,$(OBJ)) + +$(OBJ) $(OBJ_SL): $(INC) I = -I../../CHOLMOD/Include -I../../SuiteSparse_config -I../Include @@ -105,122 +112,206 @@ $(ARCHIVE) libspqr.a $(OBJ) - $(RANLIB) libspqr.a +libspqr.so.$(SOVERSION): $(OBJ_SL) + $(CC) $(LDFLAGS) -shared $^ -lm -lblas -llapack ../../CHOLMOD/Lib/libcholmod.so ../../SuiteSparse_config/libsuitesparseconfig.a -Wl,-soname -Wl,$@ -o $@ + ln -s $@ libspqr.so + spqr_1colamd.o: ../Source/spqr_1colamd.cpp $(C) -c $< +spqr_1colamd.oo: ../Source/spqr_1colamd.cpp + $(C) -fPIC -c $< -o $@ spqr_1factor.o: ../Source/spqr_1factor.cpp $(C) -c $< +spqr_1factor.oo: ../Source/spqr_1factor.cpp + $(C) -fPIC -c $< -o $@ spqr_1fixed.o: ../Source/spqr_1fixed.cpp $(C) -c $< +spqr_1fixed.oo: ../Source/spqr_1fixed.cpp + $(C) -fPIC -c $< -o $@ spqr_analyze.o: ../Source/spqr_analyze.cpp $(C) -c $< +spqr_analyze.oo: ../Source/spqr_analyze.cpp + $(C) -fPIC -c $< -o $@ spqr_parallel.o: ../Source/spqr_parallel.cpp $(C) -c $< +spqr_parallel.oo: ../Source/spqr_parallel.cpp + $(C) -fPIC -c $< -o $@ spqr_kernel.o: ../Source/spqr_kernel.cpp $(C) -c $< +spqr_kernel.oo: ../Source/spqr_kernel.cpp + $(C) -fPIC -c $< -o $@ spqr_append.o: ../Source/spqr_append.cpp $(C) -c $< +spqr_append.oo: ../Source/spqr_append.cpp + $(C) -fPIC -c $< -o $@ spqr_assemble.o: ../Source/spqr_assemble.cpp $(C) -c $< +spqr_assemble.oo: ../Source/spqr_assemble.cpp + $(C) -fPIC -c $< -o $@ spqr_cpack.o: ../Source/spqr_cpack.cpp $(C) -c $< +spqr_cpack.oo: ../Source/spqr_cpack.cpp + $(C) -fPIC -c $< -o $@ spqr_csize.o: ../Source/spqr_csize.cpp $(C) -c $< +spqr_csize.oo: ../Source/spqr_csize.cpp + $(C) -fPIC -c $< -o $@ spqr_cumsum.o: ../Source/spqr_cumsum.cpp $(C) -c $< +spqr_cumsum.oo: ../Source/spqr_cumsum.cpp + $(C) -fPIC -c $< -o $@ spqr_debug.o: ../Source/spqr_debug.cpp $(C) -c $< +spqr_debug.oo: ../Source/spqr_debug.cpp + $(C) -fPIC -c $< -o $@ spqr_factorize.o: ../Source/spqr_factorize.cpp $(C) -c $< +spqr_factorize.oo: ../Source/spqr_factorize.cpp + $(C) -fPIC -c $< -o $@ spqr_fcsize.o: ../Source/spqr_fcsize.cpp $(C) -c $< +spqr_fcsize.oo: ../Source/spqr_fcsize.cpp + $(C) -fPIC -c $< -o $@ spqr_freefac.o: ../Source/spqr_freefac.cpp $(C) -c $< +spqr_freefac.oo: ../Source/spqr_freefac.cpp + $(C) -fPIC -c $< -o $@ spqr_freenum.o: ../Source/spqr_freenum.cpp $(C) -c $< +spqr_freenum.oo: ../Source/spqr_freenum.cpp + $(C) -fPIC -c $< -o $@ spqr_freesym.o: ../Source/spqr_freesym.cpp $(C) -c $< +spqr_freesym.oo: ../Source/spqr_freesym.cpp + $(C) -fPIC -c $< -o $@ spqr_fsize.o: ../Source/spqr_fsize.cpp $(C) -c $< +spqr_fsize.oo: ../Source/spqr_fsize.cpp + $(C) -fPIC -c $< -o $@ spqr_happly.o: ../Source/spqr_happly.cpp $(C) -c $< +spqr_happly.oo: ../Source/spqr_happly.cpp + $(C) -fPIC -c $< -o $@ spqr_panel.o: ../Source/spqr_panel.cpp $(C) -c $< +spqr_panel.oo: ../Source/spqr_panel.cpp + $(C) -fPIC -c $< -o $@ spqr_happly_work.o: ../Source/spqr_happly_work.cpp $(C) -c $< +spqr_happly_work.oo: ../Source/spqr_happly_work.cpp + $(C) -fPIC -c $< -o $@ spqr_hpinv.o: ../Source/spqr_hpinv.cpp $(C) -c $< +spqr_hpinv.oo: ../Source/spqr_hpinv.cpp + $(C) -fPIC -c $< -o $@ spqr_larftb.o: ../Source/spqr_larftb.cpp $(C) -c $< +spqr_larftb.oo: ../Source/spqr_larftb.cpp + $(C) -fPIC -c $< -o $@ spqr_rconvert.o: ../Source/spqr_rconvert.cpp $(C) -c $< +spqr_rconvert.oo: ../Source/spqr_rconvert.cpp + $(C) -fPIC -c $< -o $@ spqr_rcount.o: ../Source/spqr_rcount.cpp $(C) -c $< +spqr_rcount.oo: ../Source/spqr_rcount.cpp + $(C) -fPIC -c $< -o $@ spqr_rhpack.o: ../Source/spqr_rhpack.cpp $(C) -c $< +spqr_rhpack.oo: ../Source/spqr_rhpack.cpp + $(C) -fPIC -c $< -o $@ spqr_rsolve.o: ../Source/spqr_rsolve.cpp $(C) -c $< +spqr_rsolve.oo: ../Source/spqr_rsolve.cpp + $(C) -fPIC -c $< -o $@ spqr_shift.o: ../Source/spqr_shift.cpp $(C) -c $< +spqr_shift.oo: ../Source/spqr_shift.cpp + $(C) -fPIC -c $< -o $@ spqr_stranspose1.o: ../Source/spqr_stranspose1.cpp $(C) -c $< +spqr_stranspose1.oo: ../Source/spqr_stranspose1.cpp + $(C) -fPIC -c $< -o $@ spqr_stranspose2.o: ../Source/spqr_stranspose2.cpp $(C) -c $< +spqr_stranspose2.oo: ../Source/spqr_stranspose2.cpp + $(C) -fPIC -c $< -o $@ spqr_trapezoidal.o: ../Source/spqr_trapezoidal.cpp $(C) -c $< +spqr_trapezoidal.oo: ../Source/spqr_trapezoidal.cpp + $(C) -fPIC -c $< -o $@ spqr_type.o: ../Source/spqr_type.cpp $(C) -c $< +spqr_type.oo: ../Source/spqr_type.cpp + $(C) -fPIC -c $< -o $@ spqr_front.o: ../Source/spqr_front.cpp $(C) -c $< +spqr_front.oo: ../Source/spqr_front.cpp + $(C) -fPIC -c $< -o $@ SuiteSparseQR_expert.o: ../Source/SuiteSparseQR_expert.cpp $(C) -c $< +SuiteSparseQR_expert.oo: ../Source/SuiteSparseQR_expert.cpp + $(C) -fPIC -c $< -o $@ spqr_maxcolnorm.o: ../Source/spqr_maxcolnorm.cpp $(C) -c $< +spqr_maxcolnorm.oo: ../Source/spqr_maxcolnorm.cpp + $(C) -fPIC -c $< -o $@ SuiteSparseQR_qmult.o: ../Source/SuiteSparseQR_qmult.cpp $(C) -c $< +SuiteSparseQR_qmult.oo: ../Source/SuiteSparseQR_qmult.cpp + $(C) -fPIC -c $< -o $@ SuiteSparseQR.o: ../Source/SuiteSparseQR.cpp $(C) -c $< +SuiteSparseQR.oo: ../Source/SuiteSparseQR.cpp + $(C) -fPIC -c $< -o $@ spqr_tol.o: ../Source/spqr_tol.cpp $(C) -c $< +spqr_tol.oo: ../Source/spqr_tol.cpp + $(C) -fPIC -c $< -o $@ SuiteSparseQR_C.o: ../Source/SuiteSparseQR_C.cpp $(C) -c $< +SuiteSparseQR_C.oo: ../Source/SuiteSparseQR_C.cpp + $(C) -fPIC -c $< -o $@ spqr_rmap.o: ../Source/spqr_rmap.cpp $(C) -c $< +spqr_rmap.oo: ../Source/spqr_rmap.cpp + $(C) -fPIC -c $< -o $@ debian/patches/buildflags.diff0000664000000000000000000000313712254041632013570 0ustar Description: Clean up build flags - remove optimization flags because we want to support noopt option - remove -fPIC because we don't want to use it for static libraries (and the other patches enforce it for dynamic libraries) Author: Sébastien Villemot Forwarded: not-needed Last-Update: 2013-04-20 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/CSparse/Lib/Makefile +++ b/CSparse/Lib/Makefile @@ -1,4 +1,4 @@ -CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O +CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) I = -I../Include RANLIB = ranlib ARCHIVE = $(AR) $(ARFLAGS) --- a/SuiteSparse_config/SuiteSparse_config.mk +++ b/SuiteSparse_config/SuiteSparse_config.mk @@ -60,7 +60,7 @@ # C and C++ compiler flags. The first three are standard for *.c and *.cpp # Add -DNTIMER if you do use any timing routines (otherwise -lrt is required). # CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -DNTIMER - CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC + CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -fexceptions # ranlib, and ar, for generating libraries. If you don't need ranlib, # just change it to RANLAB = echo @@ -73,7 +73,7 @@ # Fortran compiler (not required for 'make' or 'make library') F77 = gfortran -F77FLAGS = $(FFLAGS) -O +F77FLAGS = $(FFLAGS) F77LIB = # C and Fortran libraries. Remove -lrt if you don't have it. --- a/CSparse/Demo/Makefile +++ b/CSparse/Demo/Makefile @@ -1,4 +1,4 @@ -CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O +CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) I = -I../Include CS = ../Lib/libcsparse.a debian/libsuitesparse-doc.doc-base.spqr0000664000000000000000000000131012254041632015346 0ustar Document: spqr-ug Title: SuiteSparse/User’s Guide for SuiteSparseQR Author: Timothy A. Davis Abstract: SuiteSparseQR is an implementation of the multifrontal sparse QR factorization method. Parallelism is exploited both in the BLAS and across different frontal matrices using Intel’s Threading Building Blocks, a shared-memory programming model for modern multicore architectures. It can obtain a substantial fraction of the theoretical peak performance of a multicore computer. The package is written in C++ with user interfaces for MATLAB, C, and C++. Both real and complex sparse matrices are supported. Section: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/spqr_user_guide.pdf debian/libsuitesparse-dev.install0000775000000000000000000000344012254041632014375 0ustar #!/usr/bin/dh-exec AMD/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ AMD/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ AMD/Include/*.h /usr/include/suitesparse CAMD/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ CAMD/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ CAMD/Include/*.h /usr/include/suitesparse BTF/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ BTF/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ BTF/Include/*.h /usr/include/suitesparse CCOLAMD/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ CCOLAMD/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ CCOLAMD/Include/*.h /usr/include/suitesparse COLAMD/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ COLAMD/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ COLAMD/Include/*.h /usr/include/suitesparse KLU/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ KLU/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ KLU/Include/*.h /usr/include/suitesparse LDL/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ LDL/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ LDL/Include/*.h /usr/include/suitesparse CSparse/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ CSparse/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ CSparse/Include/*.h /usr/include/suitesparse CXSparse/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ CXSparse/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ CXSparse/Include/*.h /usr/include/suitesparse CHOLMOD/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ CHOLMOD/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ CHOLMOD/Include/*.h /usr/include/suitesparse UMFPACK/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ UMFPACK/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ UMFPACK/Include/*.h /usr/include/suitesparse SuiteSparse_config/*.h /usr/include/suitesparse SuiteSparse_config/libsuitesparseconfig.a /usr/lib/${DEB_HOST_MULTIARCH}/ SPQR/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/ SPQR/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/ SPQR/Include/*.h /usr/include/suitesparse SPQR/Include/*.hpp /usr/include/suitesparse debian/libsuitesparse-doc.doc-base.umfpack-qg0000664000000000000000000000062612254041564016431 0ustar 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: Programming Format: PDF Files: /usr/share/doc/libsuitesparse-doc/UMFPACK_QuickStart.pdf debian/changelog0000664000000000000000000004163512254041632011052 0ustar suitesparse (1:4.2.1-3ubuntu1) trusty; urgency=low * Merge from Debian unstable. Remaining changes: - debian/control: Demote libatlas-doc from Recommends to Suggests, as it is not in main. -- Logan Rosen Sat, 07 Dec 2013 21:42:26 -0500 suitesparse (1:4.2.1-3) unstable; urgency=low * Upload to unstable. * Register user guides for KLU, CAMD, SPQR and LDL in doc-base. -- Sébastien Villemot Sun, 01 Dec 2013 22:09:21 +0100 suitesparse (1:4.2.1-2) experimental; urgency=low * Really fix BLAS/LAPACK dependencies of libsuitesparse-dev - remove obsolete ATLAS specialized libraries (Closes: #645846) - add virtual package libblas.so as a BLAS alternative (Closes: #645844) * Remove Daniel Rus Morales from Uploaders, with his consent. Thanks Daniel for your work! * d/rules: do not regenerate d/control automatically, this is forbidden * d/rules: fix get-orig-source rule * d/control: use canonical URLs for Vcs-* fields * Mark debug package as Multi-Arch: same * Ship libsuitesparseconfig.a in the -dev package. * Bump Standards-Version to 3.9.5, no changes needed. -- Sébastien Villemot Wed, 13 Nov 2013 18:26:35 +0100 suitesparse (1:4.2.1-1) experimental; urgency=low * New upstream release (Closes: #706709) - debian/library-soname.pl: update soversion numbers * debian/rules: recreate d/control when d/library-sonames.pl is modified -- Sébastien Villemot Fri, 03 May 2013 18:36:14 +0200 suitesparse (1:4.2.0-1) experimental; urgency=low [ Christophe Trophime ] * New upstream release (Closes: #653660, #687282) - Renamed UFconfig to SuiteSparse_config - Update patches to new release - debian/library-soname.pl: update soversion numbers [ Sébastien Villemot ] * debian/control.in: - fix Maintainer field (Closes: #674266, #674268, #674270, #674271, #674272, #674273, #674274, #674275, #674276, #674277, #674278, #674279, #674280, #674281) - add myself to Uploaders - remove obsolete DM-Upload-Allowed flag * Remove obsolete README.source * debian/rules: clean *.oo files * Bump to debhelper compat level 9 * Update debian/copyright * Remove symbols files: they are useless since we bump the soversion at every new upstream release * Clean up build flags - make sure to inject flags from dpkg-buildflags - buildflags.diff: new patch to remove spurious flags in upstream build system - remove -m64 flag on amd64 CPUs (Closes: #701654) * Fix version in NEWS.Debian, to make lintian happy * parallel-build.diff: new patch, fixes parallel build * Multiarchify the package * Fix BLAS/LAPACK dependencies of libsuitesparse-dev: - remove obsolete ATLAS specialized libraries (Closes: #645846) - add libopenblas-dev as a BLAS alternative (Closes: #645844) * Bump to Standards-Version 3.9.4, no changes needed * Suitesparse_config_Makefile.diff: new patch, creates a PIC version of the (small) config code, for embedding in other shared libs * KLU_Demo_Makefile.diff: new patch, needed for creating the right dependencies between shared libraries * Create a new shared library package for SPQR (Closes: #589296) * Update README.Debian -- Sébastien Villemot Mon, 29 Apr 2013 16:14:58 +0200 suitesparse (1:3.4.0-3ubuntu1) raring; urgency=low * Resynchronize on Debian, remaining change * Demote libatlas-doc from Recommends to Suggests, as it is not in main. -- Sebastien Bacher Tue, 06 Nov 2012 13:14:34 +0100 suitesparse (1:3.4.0-3) unstable; urgency=low * Team upload. [ Sylvestre Ledru ] * Standard-Version updated to 3.9.3 (no changes requiered) [ Evgeni Golov ] * [f782819] Add -g to CFLAGS. (Closes: #682177) * [d43b31b] Honour CFLAGS in debian/patches/09-CSparse_Lib_Makefile.diff [ Anton Gladky ] * [3a0e1c1] Move repository into debian-science. -- Evgeni Golov Sat, 04 Aug 2012 22:40:53 +0200 suitesparse (1:3.4.0-2) unstable; urgency=low * Maintainer changed to Debian Science * Updated list of Uploaders (Closes: #571884, #550417) * Standards-Version updated to version 3.8.4 * Link against -llapackgf-3 changed to -llapack (Closes: #577879) * Removed doc-central recommends (Closes: #566361) -- Sylvestre Ledru Thu, 15 Apr 2010 10:36:16 +0200 suitesparse (1:3.4.0-1) unstable; urgency=low [ Rafael Laboissiere ] * New upstream release * debian/patches/14-SPQR_Include_spqr_hpp.dpatch: Removed patch (applied upstream) * Split the libraries into individual packages + The new binary packages are (the soversion numbers are the ones provided by the upstream authors in the UFconfig/UFconfig.h file): - libamd2.2.0 - libbtf1.1.0 - libcamd2.2.0 - libcolamd2.7.1 - libccolamd2.7.1 - libcholmod1.7.1 - libcsparse2.2.3 - libcxsparse2.2.3 - libklu1.1.0 - libldl2.0.1 - libumfpack5.4.0 + The libsuitesparse-dev and libsuitesparse-dbg packages remain as before. They depend on all the binary packages above. + debian/library-soname.pl: New Perl script that is used everywhere to obtain the name of the package for each library. This is the centralized place where this information should be provided. + The debian/control file has been moved into debian/control.in and is automatically generated by debian/rules with the appropriate names of the packages being replaced. + debian/patches/*.diff: All the patches have been adapted for obtaining the library soversion using the debian/library-soname.pl script. + debian/symbols/*, debian/install/*: These are the source files for the debian/lib*.symbols and debian/lib*.install. The later are obtained from the former in debian/rules by using the appropriate package names. For now, this is acomplished with $(foreach) in debian/rules and amounts to simply copying files, like "cp debian/symbols/AMD debian/libamd2.2.symbols" + debian/NEWS: Document the changes above * Switch from dpatch to quilt as patch system * debian/control.in: + The Debian packaging files are now maintained through a Git repository at alioth.debian.org. Switch the Vcs-* URLs to Git, accordingly. + Bump Standards-Version to 3.8.1 (add debian/README.source explaining mentioning the quilt patch system, as mandated by the Policy) * debian/rules: Prevent removal of debian/README.source in clean rule [ Thomas Viehmann ] * Sprinkle some linking to KLU, UMFPACK shared libraries to not have unresolved symbols. Remove some from CHOLMOD. Now dpkg-shlibdeps does not warn anymore. (changing debian/patches/*Makefile.dpatch) Closes: #526422 -- Rafael Laboissiere Sat, 06 Jun 2009 14:00:01 +0200 suitesparse (1:3.2.0-4) unstable; urgency=low * debian/control: Add an epoch to the version number of libsuitesparse-3.0.2 in replaces/conflicts for libcolamd-3.2.0 (really, closes: #516725) -- Rafael Laboissiere Tue, 24 Feb 2009 11:08:12 +0100 suitesparse (1:3.2.0-3) unstable; urgency=low * debian/control: Make libcolamd-3.2.0 replace and conflict with libsuitesparse-3.2.0 <= 3.2.0-1 (closes: #516725) -- Rafael Laboissiere Mon, 23 Feb 2009 16:59:48 +0100 suitesparse (1:3.2.0-2) unstable; urgency=low * Merge from Ubuntu: Split out colamd, in order to reduce the footsprint of openoffice.org. Thanks to Chris Cheney for the patch. Closes: #513415. * Adjust the Lintian overrides after the colamd split: + debian/compat, debian/control: Bump the build-dependency on debhelper to >= 6.0.7 and cdbs to >= 0.4.52, such that dh_lintian is used + debian/libsuitesparse-3.2.0.lintian-overrides, debian/libcolamd-3.2.0.lintian-overrides, debian/source.lintian-overrides: Add files + debian/libsuitesparse.overrides: Drop file + debian/rules (binary-post-install/libsuitesparse-$(VERSION)): Drop this rule, since installation of Lintian overrides is done now by dh_lintian * debian/copyright: + Refer to versioned files in /usr/share/common-licenses (Lintian warning copyright-refers-to-versionless-license-file) + Add copyright information for the Debian packaging files * debian/control: Change the short descriptions of all packages, avoiding the Lintian warning duplicate-short-description * debian/source.lintian-overrides: Dropped file, which contained the override for the Lintian warning above -- Rafael Laboissiere Sat, 14 Feb 2009 11:56:05 +0100 suitesparse (1:3.2.0-1) experimental; urgency=low * New upstream release uploaded to experimental * debian/libsuitesparse.overrides: Fix version numbers for new upstream release * debian/libsuitesparse-3.2.0.symbols: Add library symbols file -- Rafael Laboissiere Mon, 05 Jan 2009 15:40:23 +0100 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.2.0-1) unstable; urgency=low [ Daniel Leidert (dale) ] * debian/control (Vcs-Svn): Fixed. * debian/libsuitesparse-doc.doc-base.amd (Section): Fixed. * debian/libsuitesparse-doc.doc-base.cholmod (Section): Ditto. * debian/libsuitesparse-doc.doc-base.umfpack-qg (Section): Ditto. * debian/libsuitesparse-doc.doc-base.umfpack-ug (Section): Ditto. * debian/watch: Test for version numbers, not strings. [ Christophe Prud'homme ] * New upstream release - Added SuiteSparseQR (multithreaded multifrontal sparse QR factorization). - Minor update to CHOLMOD. * debian/control: updated Standards-Version to 3.8.0 (no changes) * debian/control: added ${misc:Depends} and fixed associated lintian warnings * debian/{rules,patches}: added support for spqr -- Christophe Prud'homme Sun, 07 Dec 2008 18:08:34 +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 debian/copyright0000664000000000000000000000450612254041632011127 0ustar 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/ Copyright Holder: AMD Copyright (c) 1994-2011 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-2013, Timothy A. Davis. KLU Copyright (c) 2004-2012, University of Florida. Author: Timothy A. Davis. Co-author: Eka Palamadai. LDL Copyright (c) 2003-2007 by Timothy A. Davis. UMFPACK Copyright (c) 1994-2012 by Timothy A. Davis, University of Florida. CHOLDMOD Copyright (c) 2004-2013. 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, version 2.1, can be found in `/usr/share/common-licenses/LGPL-2.1'. On Debian systems, the complete text of the GNU General Public License, version 2, can be found in `/usr/share/common-licenses/GPL-2'. AMD: LGPL-2.1+ BTF: LGPL-2.1+ CCOLAMD: LGPL-2.1+ COLAMD: LGPL-2.1+ CSparse: LGPL-2.1+ CXSparse: LGPL-2.1+ KLU: LGPL-2.1+ LDL: LGPL-2.1+ UMFPACK: GPL-2+ CHOLMOD: - Check: LGPL-2.1+ - Cholesky: LGPL-2.1+ - Core: LGPL-2.1+ - Demo: GPL-2+ - MatrixOps: GPL-2+ - Modify: GPL-2+ - Partition: LGPL-2.1+ - Supernodal: GPL-2+ - Tcov: GPL-2+ - Valgrind: GPL-2+ The Debian packaging information is Copyright © 2006-2013 Debian Science Team and released under the terms of the GNU General Public License, version 3 or later. On Debian systems, the complete text of the license, can be found in `/usr/share/common-licenses/GPL-3'.