From e6c7c7e2b8b8711d3832d8aeeeaae5b25097eade Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Tue, 10 Jan 2012 18:33:59 +0000 Subject: [PATCH] - new Changed files: KLU-shared.patch -> 1.1 KLU-ufconfig.patch -> 1.1 KLU.spec -> 1.1 --- KLU-shared.patch | 314 +++++++++++++++++++++++++++++++++++++++++++++ KLU-ufconfig.patch | 81 ++++++++++++ KLU.spec | 99 ++++++++++++++ 3 files changed, 494 insertions(+) create mode 100644 KLU-shared.patch create mode 100644 KLU-ufconfig.patch create mode 100644 KLU.spec diff --git a/KLU-shared.patch b/KLU-shared.patch new file mode 100644 index 0000000..5259975 --- /dev/null +++ b/KLU-shared.patch @@ -0,0 +1,314 @@ +--- KLU/Lib/Makefile.orig 2012-01-10 18:24:02.356145735 +0100 ++++ KLU/Lib/Makefile 2012-01-10 18:30:56.929492950 +0100 +@@ -17,7 +17,7 @@ + + all: library + +-library: libklu.a ++library: libklu.la + + 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 \ +@@ -47,109 +47,112 @@ + + OBJ = $(COMMON) $(KLU_D) $(KLU_Z) $(KLU_L) $(KLU_ZL) + +-libklu.a: $(OBJ) +- $(AR) libklu.a $(OBJ) +- $(RANLIB) libklu.a ++libklu.la: $(OBJ) ++ libtool --tag=CC --mode=link $(CC) $(LDFLAGS) -o libklu.la -rpath $(libdir) $(OBJ:.o=.lo) -lcolamd -lamd -lbtf -lm ++ ++install: libklu.la ++ install -d $(DESTDIR)$(libdir) ++ libtool --mode=install cp libklu.la $(DESTDIR)$(libdir)/libklu.la + + $(OBJ): $(INC) + + #------------------------------------------------------------------------------- + + klu_d.o: ../Source/klu.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z.o: ../Source/klu.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_kernel.o: ../Source/klu_kernel.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_kernel.o: ../Source/klu_kernel.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_sort.o: ../Source/klu_sort.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_sort.o: ../Source/klu_sort.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_diagnostics.o: ../Source/klu_diagnostics.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_diagnostics.o: ../Source/klu_diagnostics.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_dump.o: ../Source/klu_dump.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_dump.o: ../Source/klu_dump.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_factor.o: ../Source/klu_factor.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_factor.o: ../Source/klu_factor.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_free_numeric.o: ../Source/klu_free_numeric.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_free_numeric.o: ../Source/klu_free_numeric.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_extract.o: ../Source/klu_extract.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_extract.o: ../Source/klu_extract.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_refactor.o: ../Source/klu_refactor.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_refactor.o: ../Source/klu_refactor.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_scale.o: ../Source/klu_scale.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_scale.o: ../Source/klu_scale.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_solve.o: ../Source/klu_solve.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_solve.o: ../Source/klu_solve.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + klu_d_tsolve.o: ../Source/klu_tsolve.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_z_tsolve.o: ../Source/klu_tsolve.c +- $(C) -c -DCOMPLEX $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + klu_analyze.o: ../Source/klu_analyze.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_analyze_given.o: ../Source/klu_analyze_given.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_defaults.o: ../Source/klu_defaults.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_free_symbolic.o: ../Source/klu_free_symbolic.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + klu_memory.o: ../Source/klu_memory.c +- $(C) -c $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + purge: distclean + + distclean: clean +- - $(RM) libklu.a ++ - $(RM) libklu.la + + clean: + - $(RM) $(CLEAN) +@@ -157,92 +160,92 @@ + #------------------------------------------------------------------------------- + + klu_l.o: ../Source/klu.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl.o: ../Source/klu.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_kernel.o: ../Source/klu_kernel.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_kernel.o: ../Source/klu_kernel.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_sort.o: ../Source/klu_sort.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_sort.o: ../Source/klu_sort.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_diagnostics.o: ../Source/klu_diagnostics.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_diagnostics.o: ../Source/klu_diagnostics.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_dump.o: ../Source/klu_dump.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_dump.o: ../Source/klu_dump.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_factor.o: ../Source/klu_factor.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_factor.o: ../Source/klu_factor.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_free_numeric.o: ../Source/klu_free_numeric.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_free_numeric.o: ../Source/klu_free_numeric.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_extract.o: ../Source/klu_extract.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_extract.o: ../Source/klu_extract.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_refactor.o: ../Source/klu_refactor.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_refactor.o: ../Source/klu_refactor.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_scale.o: ../Source/klu_scale.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_scale.o: ../Source/klu_scale.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_solve.o: ../Source/klu_solve.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_solve.o: ../Source/klu_solve.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + klu_l_tsolve.o: ../Source/klu_tsolve.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_zl_tsolve.o: ../Source/klu_tsolve.c +- $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DCOMPLEX -DDLONG $(I) $< -o $@ + + #------------------------------------------------------------------------------- + + klu_l_analyze.o: ../Source/klu_analyze.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_l_analyze_given.o: ../Source/klu_analyze_given.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_l_defaults.o: ../Source/klu_defaults.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_l_free_symbolic.o: ../Source/klu_free_symbolic.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + klu_l_memory.o: ../Source/klu_memory.c +- $(C) -c -DDLONG $(I) $< -o $@ ++ libtool --tag=CC --mode=compile $(C) -c -DDLONG $(I) $< -o $@ + + #------------------------------------------------------------------------------- +--- KLU/Demo/Makefile.orig 2012-01-10 18:40:27.226178712 +0100 ++++ KLU/Demo/Makefile 2012-01-10 19:04:07.996226284 +0100 +@@ -5,7 +5,7 @@ + + include /usr/share/misc/UFconfig.mk + +-LIB = ../Lib/libklu.a -lbtf -lamd -lcolamd ++LIB = ../Lib/libklu.la -lbtf -lamd -lcolamd + + CHOLMOD = -lcholmod + +@@ -27,7 +27,7 @@ + - ./kluldemo < ../Matrix/w156.mtx + - ./kluldemo < ../Matrix/ctina.mtx + +-../Lib/libklu.a: ++../Lib/libklu.la: + ( cd ../Lib ; $(MAKE) ) + + purge: distclean +@@ -40,11 +40,11 @@ + - $(RM) $(CLEAN) + + kludemo: kludemo.c Makefile $(LIB) +- $(CC) $(CFLAGS) $(I) kludemo.c -o kludemo $(LIB) $(CHOLMOD) -lm ++ libtool --tag=CC --mode=link $(CC) $(CFLAGS) $(I) kludemo.c -o kludemo $(LIB) $(CHOLMOD) -lm + + kluldemo: kludemo.c Makefile $(LIB) +- $(CC) $(CFLAGS) $(I) kluldemo.c -o kluldemo $(LIB) $(CHOLMOD) -lm ++ libtool --tag=CC --mode=link $(CC) $(CFLAGS) $(I) kluldemo.c -o kluldemo $(LIB) $(CHOLMOD) -lm + + klu_simple: klu_simple.c Makefile $(LIB) +- $(CC) $(CFLAGS) $(I) klu_simple.c -o klu_simple $(LIB) -lm ++ libtool --tag=CC --mode=link $(CC) $(CFLAGS) $(I) klu_simple.c -o klu_simple $(LIB) -lm + - ./klu_simple diff --git a/KLU-ufconfig.patch b/KLU-ufconfig.patch new file mode 100644 index 0000000..027ac98 --- /dev/null +++ b/KLU-ufconfig.patch @@ -0,0 +1,81 @@ +--- KLU/Makefile.orig 2009-11-07 18:37:57.000000000 +0100 ++++ KLU/Makefile 2012-01-10 17:39:06.842722146 +0100 +@@ -2,7 +2,7 @@ + + default: demos + +-include ../UFconfig/UFconfig.mk ++include /usr/share/misc/UFconfig.mk + + demos: + ( cd Lib ; $(MAKE) ) +--- KLU/Lib/Makefile.orig 2009-11-11 21:16:32.000000000 +0100 ++++ KLU/Lib/Makefile 2012-01-10 17:41:46.846060837 +0100 +@@ -2,7 +2,7 @@ + + ccode: all + +-include ../../UFconfig/UFconfig.mk ++include /usr/share/misc/UFconfig.mk + + # for testing only: + # TEST = -DTESTING +@@ -10,10 +10,10 @@ + C = $(CC) $(CFLAGS) + + INC = ../Include/klu.h ../Include/klu_internal.h ../Include/klu_version.h \ +- ../../UFconfig/UFconfig.h Makefile ++ Makefile + +-I = -I../../AMD/Include -I../../COLAMD/Include -I../../BTF/Include \ +- -I../Include -I../../UFconfig ++I = -I/usr/include/amd -I/usr/include/colamd -I/usr/include/btf \ ++ -I../Include + + all: library + +--- KLU/Demo/Makefile.orig 2009-11-11 21:13:13.000000000 +0100 ++++ KLU/Demo/Makefile 2012-01-10 18:40:07.339511379 +0100 +@@ -3,15 +3,14 @@ + + default: all + +-include ../../UFconfig/UFconfig.mk ++include /usr/share/misc/UFconfig.mk + +-LIB = ../Lib/libklu.a ../../BTF/Lib/libbtf.a \ +- ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ++LIB = ../Lib/libklu.a -lbtf -lamd -lcolamd + +-CHOLMOD = ../../CHOLMOD/Lib/libcholmod.a ++CHOLMOD = -lcholmod + +-I = -I../../UFconfig -I../../AMD/Include -I../../COLAMD/Include \ +- -I../../BTF/Include -I../Include -I../../CHOLMOD/Include ++I = -I/usr/include/amd -I/usr/include/colamd \ ++ -I/usr/include/btf -I../Include -I/usr/include/cholmod + + all: $(LIB) klu_simple $(CHOLMOD) kludemo kluldemo + - ./klu_simple +@@ -31,21 +30,6 @@ + ../Lib/libklu.a: + ( cd ../Lib ; $(MAKE) ) + +-../../BTF/Lib/libbtf.a: +- ( cd ../../BTF ; $(MAKE) library ) +- +-../../AMD/Lib/libamd.a: +- ( cd ../../AMD ; $(MAKE) library ) +- +-../../COLAMD/Lib/libcolamd.a: +- ( cd ../../COLAMD ; $(MAKE) library ) +- +-../../CHOLMOD/Lib/libcholmod.a: +- ( cd ../../CHOLMOD ; $(MAKE) library ) +-# ( cd ../../CAMD ; $(MAKE) ) +-# ( cd ../../CCOLAMD ; $(MAKE) ) +-# ( cd ../../metis-4.0 ; $(MAKE) ) +- + purge: distclean + + distclean: clean diff --git a/KLU.spec b/KLU.spec new file mode 100644 index 0000000..9d64b13 --- /dev/null +++ b/KLU.spec @@ -0,0 +1,99 @@ +Summary: KLU: sparse LU factorization, for circuit simulation +Summary(pl.UTF-8): KLU - rzadki rozkład LU na potrzeby symulacji obwodów +Name: KLU +Version: 1.1.1 +Release: 1 +License: LGPL v2.1+ +Group: Libraries +Source0: http://www.cise.ufl.edu/research/sparse/klu/%{name}-%{version}.tar.gz +# Source0-md5: ab0f4faf5fe200b0286ee6a21853c414 +Patch0: %{name}-ufconfig.patch +Patch1: %{name}-shared.patch +URL: http://www.cise.ufl.edu/research/sparse/klu/ +BuildRequires: AMD-devel >= 2.2.3 +BuildRequires: BTF-devel >= 1.1.3 +BuildRequires: COLAMD-devel >= 2.7.4 +BuildRequires: UFconfig >= 3.7.0 +BuildRequires: libtool >= 2:1.5 +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%description +KLU is a sparse LU factorization algorithm well-suited for use in +circuit simulation. + +%description -l pl.UTF-8 +KLU to algorytm rozkładu LU macierzy rzadkich dobrze pasujący do +zastosowań w symulacji obwodów. + +%package devel +Summary: Header files for KLU library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki KLU +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: AMD-devel >= 2.2.3 +Requires: BTF-devel >= 1.1.3 +Requires: COLAMD-devel >= 2.7.4 +Requires: UFconfig >= 3.7.0 + +%description devel +Header files for KLU library. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki KLU. + +%package static +Summary: Static KLU library +Summary(pl.UTF-8): Statyczna biblioteka KLU +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +Static KLU library. + +%description static -l pl.UTF-8 +Statyczna biblioteka KLU. + +%prep +%setup -q -n %{name} +%patch0 -p1 +%patch1 -p1 + +%build +%{__make} \ + CC="%{__cc}" \ + CFLAGS="%{rpmcflags}" \ + LDFLAGS="%{rpmldflags}" \ + libdir=%{_libdir} + +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT%{_includedir}/klu + +%{__make} -C Lib install \ + DESTDIR=$RPM_BUILD_ROOT \ + libdir=%{_libdir} + +install Include/*.h $RPM_BUILD_ROOT%{_includedir}/klu + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc README.txt Doc/ChangeLog +%attr(755,root,root) %{_libdir}/libklu.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libklu.so.0 + +%files devel +%defattr(644,root,root,755) +%doc Doc/{KLU_UserGuide,palamadai_e}.pdf +%attr(755,root,root) %{_libdir}/libklu.so +%{_libdir}/libklu.la +%{_includedir}/klu + +%files static +%defattr(644,root,root,755) +%{_libdir}/libklu.a -- 2.44.0