doc: Clarify documentation of guix environment --expose vs. --share
[jackhill/guix/guix.git] / gnu / packages / patches / mumps-shared-mumps.patch
1 Create a shared version of the MUMPS library.
2
3 Index: mumps/src/Makefile
4 ===================================================================
5 --- mumps.orig/src/Makefile
6 +++ mumps/src/Makefile
7 @@ -23,8 +23,10 @@ z:
8
9 include $(topdir)/Makefile.inc
10
11 -mumps_lib: $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \
12 - $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT)
13 +mumps_lib: $(libdir)/libmumps_common$(PLAT).a \
14 + $(libdir)/libmumps_common$(PLAT).so \
15 + $(libdir)/lib$(ARITH)mumps$(PLAT).a \
16 + $(libdir)/lib$(ARITH)mumps$(PLAT).so
17
18 OBJS_COMMON_MOD = \
19 lr_common.o \
20 @@ -167,14 +169,22 @@ OBJS_OTHER = \
21 $(ARITH)tools.o\
22 $(ARITH)type3_root.o
23
24 -$(libdir)/libmumps_common$(PLAT)$(LIBEXT): $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
25 - $(AR)$@ $?
26 +$(libdir)/libmumps_common$(PLAT).a: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
27 + $(AR) $@ $?
28 $(RANLIB) $@
29
30 -$(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS_MOD) $(OBJS_OTHER)
31 - $(AR)$@ $?
32 +$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
33 + $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-5.1.2.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) $(LEXTRAS) -o $(libdir)/libmumps_common$(PLAT)-5.1.2.so -Wl,-z,defs
34 + ln -s libmumps_common$(PLAT)-5.1.2.so $@
35 +
36 +$(libdir)/lib$(ARITH)mumps$(PLAT).a: $(OBJS_MOD) $(OBJS_OTHER)
37 + $(AR) $@ $?
38 $(RANLIB) $@
39
40 +$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER)
41 + $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-5.1.2.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(LEXTRAS) $(LIBBLAS) $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.1.2.so -Wl,-z,defs
42 + ln -s lib$(ARITH)mumps$(PLAT)-5.1.2.so $@
43 +
44 # Dependencies between modules:
45 $(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \
46 $(ARITH)mumps_struc_def.o \
47 @@ -290,13 +300,13 @@ $(OBJS_OTHER):$(OBJS_COMMON_MOD) $(OBJS_
48
49 .SUFFIXES: .c .F .o
50 .F.o:
51 - $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F $(OUTF)$*.o
52 + $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -fPIC -c $*.F $(OUTF)$*.o
53 .c.o:
54 - $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o
55 + $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o
56
57 $(ARITH)mumps_c.o: mumps_c.c
58 $(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \
59 - $(IORDERINGSC) $(ORDERINGSC) -I../include -c mumps_c.c $(OUTC)$@
60 + $(IORDERINGSC) $(ORDERINGSC) -I../include -fPIC -c mumps_c.c $(OUTC)$@
61
62
63 clean: