File: shared-mumps.patch

package info (click to toggle)
mumps 5.8.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 22,624 kB
  • sloc: fortran: 455,982; ansic: 14,533; makefile: 684; xml: 527; f90: 181; sh: 130
file content (50 lines) | stat: -rw-r--r-- 2,819 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Create a shared version of the MUMPS library.

--- a/src/Makefile
+++ b/src/Makefile
@@ -19,19 +19,19 @@
 zshared: cshared
 
 libcommon: $(incdir)/mumps_int_def.h
-	$(MAKE) $(libdir)/libmumps_common$(PLAT)$(LIBEXT)
+	$(MAKE) FPIC=$(FPIC_OPT) $(libdir)/libmumps_common$(PLAT)$(LIBEXT) $(libdir)/libmumps_common$(PLAT)$(LIBEXT_SHARED)
 
 s: $(incdir)/mumps_int_def.h libcommon
-	$(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT)$(LIBEXT)
+	$(MAKE) FPIC=$(FPIC_OPT) ARITH=s $(libdir)/libsmumps$(PLAT)$(LIBEXT) $(libdir)/libsmumps$(PLAT)$(LIBEXT_SHARED)
 
 d: $(incdir)/mumps_int_def.h libcommon
-	$(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT)$(LIBEXT)
+	$(MAKE) FPIC=$(FPIC_OPT) ARITH=d $(libdir)/libdmumps$(PLAT)$(LIBEXT) $(libdir)/libdmumps$(PLAT)$(LIBEXT_SHARED)
 
 c: $(incdir)/mumps_int_def.h libcommon
-	$(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT)$(LIBEXT)
+	$(MAKE) FPIC=$(FPIC_OPT) ARITH=c $(libdir)/libcmumps$(PLAT)$(LIBEXT) $(libdir)/libcmumps$(PLAT)$(LIBEXT_SHARED)
 
 z: $(incdir)/mumps_int_def.h libcommon
-	$(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT)$(LIBEXT)
+	$(MAKE) FPIC=$(FPIC_OPT) ARITH=z $(libdir)/libzmumps$(PLAT)$(LIBEXT) $(libdir)/libzmumps$(PLAT)$(LIBEXT_SHARED)
 
 
 # Rules for shared libraries
@@ -242,14 +242,18 @@
 	$(RANLIB) $@
 
 $(libdir)/libmumps_common$(PLAT)$(LIBEXT_SHARED):      $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) $(OBJS_C_COMMON)
-	$(FC) $(OPTL) $(SHARED_OPT) $^ -Wl,$(SONAME),libmumps_common$(PLAT)$(LIBEXT_SHARED) -L$(libdir) $(RPATH_OPT) $(LORDERINGS) $(LIBS) $(LIBOTHERS) -o $@ 
+	$(FC) $(OPTL) $(SHARED_OPT) $^ -Wl,$(SONAME),libmumps_common$(PLAT)-$(SOVERSION)$(LIBEXT_SHARED) -L$(libdir) $(RPATH_OPT) $(LORDERINGS) $(LIBS) $(LIBOTHERS) -o $(libdir)/libmumps_common$(PLAT)-$(VERSION)$(LIBEXT_SHARED)
+	ln -s libmumps_common$(PLAT)-$(VERSION)$(LIBEXT_SHARED) $(libdir)/libmumps_common$(PLAT)-$(SOVERSION)$(LIBEXT_SHARED)
+	ln -s libmumps_common$(PLAT)-$(VERSION)$(LIBEXT_SHARED) $@
 
 $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT):    $(OBJS_MOD_ARITHDEP) $(OBJS_OTHER)
 	$(AR)$@ $?
 	$(RANLIB) $@
 
 $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT_SHARED):    $(OBJS_MOD_ARITHDEP) $(OBJS_OTHER) $(libdir)/libmumps_common$(PLAT)$(LIBEXT_SHARED)
-	$(FC) $(OPTL) $(SHARED_OPT) $(OBJS_MOD_ARITHDEP) $(OBJS_OTHER) -L$(libdir) $(LORDERINGS) $(LIBS) $(LIBOTHERS) -lmumps_common$(PLAT) -o $@ $(RPATH_OPT)
+	$(FC) $(OPTL) $(SHARED_OPT) -Wl,-soname,lib$(ARITH)mumps$(PLAT)-$(SOVERSION)$(LIBEXT_SHARED) $(OBJS_MOD_ARITHDEP) $(OBJS_OTHER) -L$(libdir) $(LORDERINGS) $(LIBS) $(LIBOTHERS) -lmumps_common$(PLAT) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-$(VERSION)$(LIBEXT_SHARED) $(RPATH_OPT)
+	ln -s lib$(ARITH)mumps$(PLAT)-$(VERSION)$(LIBEXT_SHARED) $(libdir)/lib$(ARITH)mumps$(PLAT)-$(SOVERSION)$(LIBEXT_SHARED)
+	ln -s lib$(ARITH)mumps$(PLAT)-$(VERSION)$(LIBEXT_SHARED) $@
 
 
 # Dependencies between modules: