From cb5fb1c064096023e4817e43999140283aa26c8d Mon Sep 17 00:00:00 2001 From: Kacper Kornet Date: Sat, 25 Aug 2012 18:29:32 +0100 Subject: [PATCH] - build fortran libraries --- AMD.spec | 42 +++++++++++++++++++++++++++++++++++++++++- amd-shared.patch | 8 ++++++-- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/AMD.spec b/AMD.spec index 1b9e7a3..2d1098e 100644 --- a/AMD.spec +++ b/AMD.spec @@ -11,6 +11,7 @@ Patch0: amd-ufconfig.patch Patch1: amd-shared.patch URL: http://www.cise.ufl.edu/research/sparse/amd/ BuildRequires: SuiteSparse_config >= 4.0.0 +BuildRequires: gcc-fortran BuildRequires: libtool >= 2:1.5 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -53,6 +54,28 @@ Static AMD library. %description static -l pl.UTF-8 Statyczna biblioteka AMD. +%package fortran +Summary: Fortran version of AMD library +Summary(pl.UTF-8): Wersja biblioteki AMD dla programów w Fortranie +Group: Development/Libraries + +%description fortran +Fortran version of AMD library. + +%description fortran -l pl.UTF-8 +Wersja biblioteki AMD dla programów napisanych w Fortranie. + +%package fortran-static +Summary: Fortran version of AMD static library +Summary(pl.UTF-8): Wersja statycznej biblioteki AMD dla programów w Fortranie +Group: Development/Libraries + +%description fortran-static +Fortran version of AMD static library. + +%description fortran-static -l pl.UTF-8 +Wersja statycznej biblioteki AMD dla programów napisanych w Fortranie. + %prep %setup -q -n %{name} %patch0 -p1 @@ -65,11 +88,17 @@ Statyczna biblioteka AMD. LDFLAGS="%{rpmldflags}" \ libdir=%{_libdir} +%{__make} fortran \ + CC="%{__cc}" \ + CFLAGS="%{rpmcflags}" \ + LDFLAGS="%{rpmldflags}" \ + libdir=%{_libdir} + %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_includedir}/amd -%{__make} -C Lib install \ +%{__make} -C Lib install install-fortran \ DESTDIR=$RPM_BUILD_ROOT \ libdir=%{_libdir} @@ -97,3 +126,14 @@ rm -rf $RPM_BUILD_ROOT %files static %defattr(644,root,root,755) %{_libdir}/libamd.a + +%files fortran +%defattr(644,root,root,755) +%{_libdir}/libamdf77.la +%attr(755,root,root) %{_libdir}/libamdf77.so.*.*.* +%attr(755,root,root) %{_libdir}/libamdf77.so.0 +%attr(755,root,root) %{_libdir}/libamdf77.so + +%files fortran-static +%defattr(644,root,root,755) +%{_libdir}/libamdf77.a diff --git a/amd-shared.patch b/amd-shared.patch index 73bcf48..a06d05f 100644 --- a/amd-shared.patch +++ b/amd-shared.patch @@ -68,7 +68,7 @@ diff -ur AMD/Demo/Makefile AMD-shared/Demo/Makefile include /usr/share/misc/SuiteSparse_config.mk -@@ -29,39 +29,41 @@ +@@ -29,39 +29,45 @@ #------------------------------------------------------------------------------- amd_global.o: ../Source/amd_global.c $(INC) @@ -119,10 +119,14 @@ diff -ur AMD/Demo/Makefile AMD-shared/Demo/Makefile - - $(RANLIB) libamdf77.a +libamdf77.la: $(AMDF77) + libtool --tag=F77 --mode=link $(F77) $(LDFLAGS) -o libamdf77.la -rpath $(libdir) $(^:.o=.lo) -lm ++ ++install-fortran: libamdf77.la ++ install -d $(DESTDIR)$(libdir) ++ libtool --mode=install install libamdf77.la $(DESTDIR)$(libdir)/libamdf77.la #------------------------------------------------------------------------------- # Remove all but the files in the original distribution -@@ -73,4 +75,4 @@ +@@ -73,4 +79,4 @@ purge: distclean distclean: clean -- 2.44.0