Gentoo Archives: gentoo-commits

From: Haelwenn Monnier <contact@×××××××××.me>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: sys-cluster/sionlibl/files/, sys-cluster/sionlibl/
Date: Sun, 29 Aug 2021 17:06:02
Message-Id: 1630197213.371e76ae0c75ed8bcac8cf20922e5983082fae16.lanodan@gentoo
1 commit: 371e76ae0c75ed8bcac8cf20922e5983082fae16
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Sun Aug 29 00:27:08 2021 +0000
4 Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me>
5 CommitDate: Sun Aug 29 00:33:33 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=371e76ae
7
8 sys-cluster/sionlibl: build shared libraries
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 .../files/sionlibl-build-shared-libraries.patch | 347 +++++++++++++++++++++
13 .../sionlibl/files/sionlibl-respect-flags-v3.patch | 6 +-
14 ...bl-1.7.7-r1.ebuild => sionlibl-1.7.7-r2.ebuild} | 5 +-
15 3 files changed, 354 insertions(+), 4 deletions(-)
16
17 diff --git a/sys-cluster/sionlibl/files/sionlibl-build-shared-libraries.patch b/sys-cluster/sionlibl/files/sionlibl-build-shared-libraries.patch
18 new file mode 100644
19 index 000000000..ac0f5a39d
20 --- /dev/null
21 +++ b/sys-cluster/sionlibl/files/sionlibl-build-shared-libraries.patch
22 @@ -0,0 +1,347 @@
23 +--- a/src/cppinterface/Makefile
24 ++++ b/src/cppinterface/Makefile
25 +@@ -30,7 +30,7 @@
26 + ifeq ($(CXXENABLE),1)
27 +
28 + USER_HDRS = sion_cxx_base.hpp sion_cxx_serial.hpp sion_cxx_common.hpp sion_cxx_mpi.hpp sion_cxx_ompi.hpp sion_cxx_omp.hpp
29 +-USER_LIBS = lib$(SION_LIBNAME_CXX_SER).a lib$(SION_LIBNAME_CXX_MPI).a
30 ++USER_LIBS = lib$(SION_LIBNAME_CXX_SER).so lib$(SION_LIBNAME_CXX_MPI).so
31 + else
32 + USER_HDRS =
33 + USER_LIBS =
34 +@@ -58,12 +58,12 @@
35 + all: $(USER_LIBS)
36 +
37 +
38 +-lib$(SION_LIBNAME_CXX_SER).a : $(SION_OBJS_SER)
39 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_SER)
40 ++lib$(SION_LIBNAME_CXX_SER).so : $(SION_OBJS_SER)
41 ++ $(CXX) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_CXX_SER).so -shared -o $@ $(SION_OBJS_SER)
42 + @echo "*** $@ built"
43 +
44 +-lib$(SION_LIBNAME_CXX_MPI).a : $(SION_OBJS_MPI)
45 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_MPI)
46 ++lib$(SION_LIBNAME_CXX_MPI).so : $(SION_OBJS_MPI)
47 ++ $(MPICXX) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_CXX_MPI).so -shared -o $@ $(SION_OBJS_MPI)
48 + @echo "*** $@ built"
49 +
50 + sion_cxx_base.o :
51 +@@ -118,7 +118,7 @@
52 + done
53 +
54 + clean:
55 +- rm -f *.o lib*.a
56 ++ rm -f *.o lib*.so
57 +
58 + #------------------------------------------------------------------------------
59 + # Dependencies
60 +--- a/src/fortraninterface/Makefile
61 ++++ b/src/fortraninterface/Makefile
62 +@@ -39,7 +39,7 @@
63 +
64 + USER_HDRS = sion_f77.H sion_f77.h
65 + USER_MODS = sion_f90.mod
66 +-USER_LIBS = lib$(SION_LIBNAME_F77_SER).a lib$(SION_LIBNAME_F77_MPI).a lib$(SION_LIBNAME_F90_SER).a lib$(SION_LIBNAME_F90_MPI).a
67 ++USER_LIBS = lib$(SION_LIBNAME_F77_SER).so lib$(SION_LIBNAME_F77_MPI).so lib$(SION_LIBNAME_F90_SER).so lib$(SION_LIBNAME_F90_MPI).so
68 + else
69 + USER_HDRS =
70 + USER_MODS =
71 +@@ -56,18 +56,24 @@
72 + SION_OBJS_F77_SER += sion_f77_omp.o sion_fortran_omp.o
73 + SION_OBJS_F90_SER += sion_f90_omp.o sion_fortran_omp.o
74 + USER_MODS += sion_f90_omp.mod
75 ++ F77_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP)
76 ++ F90_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP)
77 + endif
78 +
79 + ifeq ($(MPIENABLE),1)
80 + SION_OBJS_F77_MPI += sion_f77_mpi.o sion_fortran_mpi.o sion_fortran_writeread_mpi_f77.o
81 + SION_OBJS_F90_MPI += sion_f90_mpi.o sion_fortran_mpi.o sion_fortran_writeread_mpi_f90.o
82 + USER_MODS += sion_f90_mpi.mod
83 ++ F77_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
84 ++ F90_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
85 + endif
86 +
87 + ifeq ($(HYBENABLE),1)
88 + SION_OBJS_F77_MPI += sion_f77_ompi.o sion_fortran_ompi.o
89 + SION_OBJS_F90_MPI += sion_f90_ompi.o sion_fortran_ompi.o
90 + USER_MODS += sion_f90_ompi.mod
91 ++ F77_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
92 ++ F90_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
93 + endif
94 +
95 + SION_DEPEND_OBJS=sion_fortran.o sion_fortran_omp.o sion_fortran_mpi.o sion_fortran_ompi.o sion_fortran_writeread_f77.o sion_fortran_writeread_f90.o sion_fortran_writeread_mpi_f77.o sion_fortran_writeread_mpi_f90.o
96 +@@ -75,20 +81,20 @@
97 + all: $(USER_LIBS) $(USER_MODS)
98 +
99 +
100 +-lib$(SION_LIBNAME_F77_SER).a : $(SION_OBJS_F77_SER)
101 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F77_SER)
102 ++lib$(SION_LIBNAME_F77_SER).so : $(SION_OBJS_F77_SER)
103 ++ $(F77) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F77_SER).so -shared -o $@ $(SION_OBJS_F77_SER) $(F77_SER_LIBS)
104 + @echo "*** $@ built"
105 +
106 +-lib$(SION_LIBNAME_F77_MPI).a : $(SION_OBJS_F77_MPI)
107 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F77_MPI)
108 ++lib$(SION_LIBNAME_F77_MPI).so : $(SION_OBJS_F77_MPI)
109 ++ $(MPIF77) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F77_MPI).so -shared -o $@ $(SION_OBJS_F77_MPI) $(F77_MPI_LIBS)
110 + @echo "*** $@ built"
111 +
112 +-lib$(SION_LIBNAME_F90_SER).a : $(SION_OBJS_F90_SER)
113 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F90_SER)
114 ++lib$(SION_LIBNAME_F90_SER).so : $(SION_OBJS_F90_SER)
115 ++ $(F90) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F90_SER).so -shared -o $@ $(SION_OBJS_F90_SER) $(F90_SER_LIBS)
116 + @echo "*** $@ built"
117 +
118 +-lib$(SION_LIBNAME_F90_MPI).a : $(SION_OBJS_F90_MPI)
119 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F90_MPI)
120 ++lib$(SION_LIBNAME_F90_MPI).so : $(SION_OBJS_F90_MPI)
121 ++ $(MPIF90) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F90_MPI).so -shared -o $@ $(SION_OBJS_F90_MPI) $(F90_MPI_LIBS)
122 + @echo "*** $@ built"
123 +
124 + # F77 interface
125 +@@ -206,7 +212,7 @@
126 + done
127 +
128 + clean:
129 +- rm -f *.o lib*.a *.mod
130 ++ rm -f *.o lib*.so *.mod
131 +
132 + #------------------------------------------------------------------------------
133 + # Dependencies
134 +--- a/src/lib/Makefile
135 ++++ b/src/lib/Makefile
136 +@@ -67,25 +67,25 @@
137 + endif
138 +
139 + USER_HDRS = sion.h sion_libversion_rep.h sion_common.h sion_serial.h sion_const.h sion_datatypes.h sion_platform.h sion_debug.h $(SION_CXX_HDR)
140 +-USER_LIBS = lib$(SION_LIBNAME_SER).a lib$(SION_LIBNAME_COM).a lib$(SION_LIBNAME_COM_LOCK_PTHREADS).a lib$(SION_LIBNAME_COM_LOCK_NONE).a
141 ++USER_LIBS = lib$(SION_LIBNAME_SER).so lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so lib$(SION_LIBNAME_COM_LOCK_NONE).so
142 +
143 +
144 +-all: lib$(SION_LIBNAME_COM).a lib$(SION_LIBNAME_SER).a lib$(SION_LIBNAME_COM_LOCK_PTHREADS).a lib$(SION_LIBNAME_COM_LOCK_NONE).a
145 ++all: lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_SER).so lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so lib$(SION_LIBNAME_COM_LOCK_NONE).so
146 +
147 +-lib$(SION_LIBNAME_COM).a : $(SION_COMMON_OBJS)
148 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_OBJS)
149 ++lib$(SION_LIBNAME_COM).so : $(SION_COMMON_OBJS)
150 ++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM).so -shared -o $@ $(SION_COMMON_OBJS)
151 + @echo "*** $@ built"
152 +
153 +-lib$(SION_LIBNAME_COM_LOCK_PTHREADS).a : $(SION_COMMON_LOCK_PTHREADS_OBJS)
154 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_LOCK_PTHREADS_OBJS)
155 ++lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so : $(SION_COMMON_LOCK_PTHREADS_OBJS)
156 ++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so -shared -o $@ $(SION_COMMON_LOCK_PTHREADS_OBJS)
157 + @echo "*** $@ built"
158 +
159 +-lib$(SION_LIBNAME_COM_LOCK_NONE).a : $(SION_COMMON_LOCK_NONE_OBJS)
160 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_LOCK_NONE_OBJS)
161 ++lib$(SION_LIBNAME_COM_LOCK_NONE).so : $(SION_COMMON_LOCK_NONE_OBJS)
162 ++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM_LOCK_NONE).so -shared -o $@ $(SION_COMMON_LOCK_NONE_OBJS)
163 + @echo "*** $@ built"
164 +
165 +-lib$(SION_LIBNAME_SER).a : $(SION_SER_OBJS)
166 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_SER_OBJS)
167 ++lib$(SION_LIBNAME_SER).so : $(SION_SER_OBJS)
168 ++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_SER).so -shared -o $@ $(SION_SER_OBJS)
169 + @echo "*** $@ built"
170 +
171 + sion_lock_pthreads.o: sion_lock.c
172 +@@ -178,7 +178,7 @@
173 + done
174 +
175 + clean:
176 +- rm -f *.o lib*.a
177 ++ rm -f *.o lib*.so
178 +
179 + #------------------------------------------------------------------------------
180 + # Dependencies
181 +--- a/src/parlib/Makefile
182 ++++ b/src/parlib/Makefile
183 +@@ -29,7 +29,7 @@
184 + .SUFFIXES: .cpp .c .f
185 +
186 + USER_HDRS = sion_datatypes_mpi.h sion_mpi.h sion_ompi.h sion_omp.h sion_generic.h
187 +-USER_LIBS = lib$(SION_LIBNAME_GEN).a
188 ++USER_LIBS = lib$(SION_LIBNAME_GEN).so
189 +
190 + SION_OBJS_GEN = sion_generic.o \
191 + sion_generic_internal.o \
192 +@@ -46,7 +46,7 @@
193 + sion_omp_cb_gen.o \
194 + sion_omp_internal_gen.o
195 + USER_HDRS += sion_omp.h
196 +- USER_LIBS += lib$(SION_LIBNAME_OMP).a
197 ++ USER_LIBS += lib$(SION_LIBNAME_OMP).so
198 + endif
199 +
200 + ifeq ($(MPIENABLE),1)
201 +@@ -58,7 +58,7 @@
202 + sion_mpi_util.o \
203 + sion_mpi_file_check.o
204 + USER_HDRS += sion_datatypes_mpi.h sion_mpi.h
205 +- USER_LIBS += lib$(SION_LIBNAME_MPI).a
206 ++ USER_LIBS += lib$(SION_LIBNAME_MPI).so
207 + endif
208 + ifeq ($(HYBENABLE),1)
209 + SION_OBJS_HYB = sion_ompi_gen.o \
210 +@@ -67,16 +67,18 @@
211 + sion_ompi_util.o \
212 + sion_ompi_internal_gen.o
213 + USER_HDRS += sion_datatypes_mpi.h sion_ompi.h
214 +- USER_LIBS += lib$(SION_LIBNAME_OMPI).a
215 ++ USER_LIBS += lib$(SION_LIBNAME_OMPI).so
216 + endif
217 +
218 + ifeq ($(HYBENABLE),1)
219 + LOCKCC =$(HYBCC)
220 + LOCKCFLAGS=$(CHYBFLAGS)
221 ++ LOCKLINK=$(HYBFLAG)
222 + else
223 + ifeq ($(OMPENABLE),1)
224 + LOCKCC =$(OMPCC)
225 + LOCKCFLAGS=$(COMPFLAGS)
226 ++ LOCKLINK=$(OMPFLAG)
227 + else
228 + LOCKCC =$(CC)
229 + LOCKCFLAGS=$(CFLAGS)
230 +@@ -87,20 +89,20 @@
231 +
232 + all: $(USER_LIBS)
233 +
234 +-lib$(SION_LIBNAME_GEN).a : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
235 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
236 ++lib$(SION_LIBNAME_GEN).so : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
237 ++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_GEN).so -shared -o $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) $(LOCKLINK)
238 + @echo "*** $@ built"
239 +
240 +-lib$(SION_LIBNAME_OMP).a : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
241 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
242 ++lib$(SION_LIBNAME_OMP).so : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
243 ++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMP).so -shared -o $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) $(LOCKLINK) $(OMPFLAG)
244 + @echo "*** $@ built"
245 +
246 +-lib$(SION_LIBNAME_MPI).a : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
247 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
248 ++lib$(SION_LIBNAME_MPI).so : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
249 ++ $(MPICC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_MPI).so -shared -o $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) $(LOCKLINK)
250 + @echo "*** $@ built"
251 +
252 +-lib$(SION_LIBNAME_OMPI).a : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
253 +- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
254 ++lib$(SION_LIBNAME_OMPI).so : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
255 ++ $(HYBCC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMPI).so -shared -o $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) $(LOCKLINK) $(HYBFLAG)
256 + @echo "*** $@ built"
257 +
258 + sion_generic.o : sion_generic.c
259 +@@ -224,7 +226,7 @@
260 + done
261 +
262 + clean:
263 +- rm -f *.o lib*.a opari*
264 ++ rm -f *.o lib*.so opari*
265 +
266 + #------------------------------------------------------------------------------
267 + # Dependencies
268 +--- a/src/parutils/Makefile
269 ++++ b/src/parutils/Makefile
270 +@@ -55,6 +55,13 @@
271 + ifeq ($(FORTRANENABLE),1)
272 + ifeq ($(MPIENABLE),1)
273 + USER_UTILS += fpartest
274 ++ F77_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
275 ++ endif
276 ++ ifeq ($(OMPENABLE),1)
277 ++ F77_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP)
278 ++ endif
279 ++ ifeq ($(HYBENABLE),1)
280 ++ F77_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
281 + endif
282 + endif
283 +
284 +@@ -75,10 +82,10 @@
285 +
286 + all: $(USER_UTILS)
287 +
288 +-partest: $(PARTEST_OBJS) ../parlib/lib$(SION_LIBNAME_MPI).a ../parlib/lib$(SION_LIBNAME_GEN).a ../lib/lib$(SION_LIBNAME_SER).a
289 ++partest: $(PARTEST_OBJS) ../parlib/lib$(SION_LIBNAME_MPI).so ../parlib/lib$(SION_LIBNAME_GEN).so ../lib/lib$(SION_LIBNAME_SER).so
290 + $(MPICC) -o $@ $(PARTEST_OBJS) -L../lib -l$(SION_LIBNAME_SER) $(CMPILDFLAGS) $(MPILIB)
291 +
292 +-ompi_partest: $(PARTEST_OMPI_OBJS) ../parlib/lib$(SION_LIBNAME_OMPI).a ../parlib/lib$(SION_LIBNAME_OMP).a ../lib/lib$(SION_LIBNAME_SER).a
293 ++ompi_partest: $(PARTEST_OMPI_OBJS) ../parlib/lib$(SION_LIBNAME_OMPI).so ../parlib/lib$(SION_LIBNAME_OMP).so ../lib/lib$(SION_LIBNAME_SER).so
294 + $(HYBCC) -o $@ $(PARTEST_OMPI_OBJS) $(CHYBLDFLAGS) -L../parlib -l$(SION_LIBNAME_OMP) -L../lib -l$(SION_LIBNAME_SER) $(MPILIB)
295 +
296 + ompi_partest.o : ompi_partest.c
297 +@@ -114,8 +121,8 @@
298 + fpartest.o : fpartest.F90
299 + $(MPIF90) $(FFLAGS) -c fpartest.F90
300 +
301 +-fpartest: fpartest.o ../parlib/lib$(SION_LIBNAME_MPI).a ../parlib/lib$(SION_LIBNAME_GEN).a ../lib/lib$(SION_LIBNAME_SER).a ../fortraninterface/lib$(SION_LIBNAME_F77_MPI).a ../fortraninterface/lib$(SION_LIBNAME_F77_SER).a
302 +- $(MPIF90) -o $@ fpartest.o -L../fortraninterface -l$(SION_LIBNAME_F77_MPI) -l$(SION_LIBNAME_F77_SER) $(FMPILDFLAGS) $(MPILIB)
303 ++fpartest: fpartest.o ../parlib/lib$(SION_LIBNAME_MPI).so ../parlib/lib$(SION_LIBNAME_GEN).so ../lib/lib$(SION_LIBNAME_SER).so ../fortraninterface/lib$(SION_LIBNAME_F77_MPI).so ../fortraninterface/lib$(SION_LIBNAME_F77_SER).so
304 ++ $(MPIF90) -o $@ fpartest.o -L../fortraninterface -l$(SION_LIBNAME_F77_MPI) -l$(SION_LIBNAME_F77_SER) $(FMPILDFLAGS) $(MPILIB) $(F77_MPI_LIBS) $(F77_SER_LIBS)
305 +
306 +
307 + install: all
308 +@@ -161,7 +168,7 @@
309 + @rm -f header.tmp
310 +
311 + clean:
312 +- rm -f *.o lib*.a $(USER_UTILS)
313 ++ rm -f *.o lib*.so $(USER_UTILS)
314 +
315 + #------------------------------------------------------------------------------
316 + # Dependencies
317 +--- a/src/utils/Makefile
318 ++++ b/src/utils/Makefile
319 +@@ -45,32 +45,32 @@
320 + siondump.o : siondump.c
321 + $(CC) $(CFLAGS) -c siondump.c
322 +
323 +-siondefrag.o : siondefrag.c ../lib/lib$(SION_LIBNAME_SER).a
324 ++siondefrag.o : siondefrag.c ../lib/lib$(SION_LIBNAME_SER).so
325 + $(CC) $(CFLAGS) -c siondefrag.c
326 +
327 +-sionsplit.o : sionsplit.c ../lib/lib$(SION_LIBNAME_SER).a
328 ++sionsplit.o : sionsplit.c ../lib/lib$(SION_LIBNAME_SER).so
329 + $(CC) $(CFLAGS) -c sionsplit.c
330 +
331 +-sioncat.o : sioncat.c ../lib/lib$(SION_LIBNAME_SER).a
332 ++sioncat.o : sioncat.c ../lib/lib$(SION_LIBNAME_SER).so
333 + $(CC) $(CFLAGS) -c sioncat.c
334 +
335 +-sionversion.o : sionversion.c ../lib/lib$(SION_LIBNAME_SER).a
336 ++sionversion.o : sionversion.c ../lib/lib$(SION_LIBNAME_SER).so
337 + $(CC) $(CFLAGS) -c sionversion.c
338 +
339 +-siondump: siondump.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
340 ++siondump: siondump.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
341 + $(CC) -o $@ siondump.o $(LDFLAGS)
342 + cp siondump $(TOPDIR)/..
343 +
344 +-siondefrag: siondefrag.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
345 ++siondefrag: siondefrag.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
346 + $(CC) -o $@ siondefrag.o $(LDFLAGS)
347 +
348 +-sionsplit: sionsplit.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
349 ++sionsplit: sionsplit.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
350 + $(CC) -o $@ sionsplit.o $(LDFLAGS)
351 +
352 +-sioncat: sioncat.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
353 ++sioncat: sioncat.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
354 + $(CC) -o $@ sioncat.o $(LDFLAGS)
355 +
356 +-sionversion: sionversion.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
357 ++sionversion: sionversion.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
358 + $(CC) -o $@ sionversion.o $(LDFLAGS)
359 +
360 +
361 +@@ -136,7 +136,7 @@
362 + @rm -f header.tmp
363 +
364 + clean:
365 +- rm -f *.o lib*.a $(USER_UTILS)
366 ++ rm -f *.o lib*.so $(USER_UTILS)
367 +
368 + #------------------------------------------------------------------------------
369 + # Dependencies
370
371 diff --git a/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch b/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch
372 index 7bf98ced1..e71d7d46d 100644
373 --- a/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch
374 +++ b/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch
375 @@ -115,18 +115,18 @@
376
377 -CC = gcc
378 -CFLAGS = -std=c99 $(PFLAG) $(OPTFLAGS) -fPIC
379 -+CXXFLAGS += $(PFLAG)
380 ++CXXFLAGS += $(PFLAG) -fPIC
381
382 -CXX = g++
383 -CXXFLAGS = $(PFLAG) $(OPTFLAGS) -O3
384 -
385 -F77 = gfortran
386 -FFLAGS = $(PFLAG) $(OPTFLAGS) -fallow-argument-mismatch
387 -+FFLAGS += $(PFLAG) -fallow-argument-mismatch
388 ++FFLAGS += $(PFLAG) -fallow-argument-mismatch -fPIC
389
390 F90 = $(F77)
391 -F90FLAGS = $(PFLAG) $(OPTFLAGS) -ffree-form -fallow-argument-mismatch
392 -+F90FLAGS += $(PFLAG) -ffree-form -fallow-argument-mismatch
393 ++F90FLAGS += $(PFLAG) -ffree-form -fallow-argument-mismatch -fPIC $(FCFLAGS)
394
395 FPP =
396 FDOPT = -D
397
398 diff --git a/sys-cluster/sionlibl/sionlibl-1.7.7-r1.ebuild b/sys-cluster/sionlibl/sionlibl-1.7.7-r2.ebuild
399 similarity index 96%
400 rename from sys-cluster/sionlibl/sionlibl-1.7.7-r1.ebuild
401 rename to sys-cluster/sionlibl/sionlibl-1.7.7-r2.ebuild
402 index 480e0a0c0..299438e5d 100644
403 --- a/sys-cluster/sionlibl/sionlibl-1.7.7-r1.ebuild
404 +++ b/sys-cluster/sionlibl/sionlibl-1.7.7-r2.ebuild
405 @@ -35,7 +35,10 @@ DEPEND="
406 "
407
408 REQUIRED_USE="?? ( hostname-regex deep-est-sdv )"
409 -PATCHES=( "${FILESDIR}/${PN}-respect-flags-v3.patch" )
410 +PATCHES=(
411 + "${FILESDIR}/${PN}-respect-flags-v3.patch"
412 + "${FILESDIR}/${PN}-build-shared-libraries.patch"
413 +)
414
415 pkg_setup() {
416 FORTRAN_NEED_OPENMP=0