commit: 371e76ae0c75ed8bcac8cf20922e5983082fae16
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sun Aug 29 00:27:08 2021 +0000
Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me>
CommitDate: Sun Aug 29 00:33:33 2021 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=371e76ae
sys-cluster/sionlibl: build shared libraries
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
.../files/sionlibl-build-shared-libraries.patch | 347 +++++++++++++++++++++
.../sionlibl/files/sionlibl-respect-flags-v3.patch | 6 +-
...bl-1.7.7-r1.ebuild => sionlibl-1.7.7-r2.ebuild} | 5 +-
3 files changed, 354 insertions(+), 4 deletions(-)
diff --git a/sys-cluster/sionlibl/files/sionlibl-build-shared-libraries.patch
b/sys-cluster/sionlibl/files/sionlibl-build-shared-libraries.patch
new file mode 100644
index 000000000..ac0f5a39d
--- /dev/null
+++ b/sys-cluster/sionlibl/files/sionlibl-build-shared-libraries.patch
@@ -0,0 +1,347 @@
+--- a/src/cppinterface/Makefile
++++ b/src/cppinterface/Makefile
+@@ -30,7 +30,7 @@
+ ifeq ($(CXXENABLE),1)
+
+ 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
+-USER_LIBS = lib$(SION_LIBNAME_CXX_SER).a lib$(SION_LIBNAME_CXX_MPI).a
++USER_LIBS = lib$(SION_LIBNAME_CXX_SER).so lib$(SION_LIBNAME_CXX_MPI).so
+ else
+ USER_HDRS =
+ USER_LIBS =
+@@ -58,12 +58,12 @@
+ all: $(USER_LIBS)
+
+
+-lib$(SION_LIBNAME_CXX_SER).a : $(SION_OBJS_SER)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_SER)
++lib$(SION_LIBNAME_CXX_SER).so : $(SION_OBJS_SER)
++ $(CXX) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_CXX_SER).so -shared -o
$@ $(SION_OBJS_SER)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_CXX_MPI).a : $(SION_OBJS_MPI)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_MPI)
++lib$(SION_LIBNAME_CXX_MPI).so : $(SION_OBJS_MPI)
++ $(MPICXX) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_CXX_MPI).so -shared
-o $@ $(SION_OBJS_MPI)
+ @echo "*** $@ built"
+
+ sion_cxx_base.o :
+@@ -118,7 +118,7 @@
+ done
+
+ clean:
+- rm -f *.o lib*.a
++ rm -f *.o lib*.so
+
+
#------------------------------------------------------------------------------
+ # Dependencies
+--- a/src/fortraninterface/Makefile
++++ b/src/fortraninterface/Makefile
+@@ -39,7 +39,7 @@
+
+ USER_HDRS = sion_f77.H sion_f77.h
+ USER_MODS = sion_f90.mod
+-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
++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
+ else
+ USER_HDRS =
+ USER_MODS =
+@@ -56,18 +56,24 @@
+ SION_OBJS_F77_SER += sion_f77_omp.o sion_fortran_omp.o
+ SION_OBJS_F90_SER += sion_f90_omp.o sion_fortran_omp.o
+ USER_MODS += sion_f90_omp.mod
++ F77_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP)
++ F90_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP)
+ endif
+
+ ifeq ($(MPIENABLE),1)
+ SION_OBJS_F77_MPI += sion_f77_mpi.o sion_fortran_mpi.o
sion_fortran_writeread_mpi_f77.o
+ SION_OBJS_F90_MPI += sion_f90_mpi.o sion_fortran_mpi.o
sion_fortran_writeread_mpi_f90.o
+ USER_MODS += sion_f90_mpi.mod
++ F77_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
++ F90_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
+ endif
+
+ ifeq ($(HYBENABLE),1)
+ SION_OBJS_F77_MPI += sion_f77_ompi.o sion_fortran_ompi.o
+ SION_OBJS_F90_MPI += sion_f90_ompi.o sion_fortran_ompi.o
+ USER_MODS += sion_f90_ompi.mod
++ F77_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
++ F90_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
+ endif
+
+ 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
+@@ -75,20 +81,20 @@
+ all: $(USER_LIBS) $(USER_MODS)
+
+
+-lib$(SION_LIBNAME_F77_SER).a : $(SION_OBJS_F77_SER)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F77_SER)
++lib$(SION_LIBNAME_F77_SER).so : $(SION_OBJS_F77_SER)
++ $(F77) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F77_SER).so -shared -o
$@ $(SION_OBJS_F77_SER) $(F77_SER_LIBS)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_F77_MPI).a : $(SION_OBJS_F77_MPI)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F77_MPI)
++lib$(SION_LIBNAME_F77_MPI).so : $(SION_OBJS_F77_MPI)
++ $(MPIF77) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F77_MPI).so -shared
-o $@ $(SION_OBJS_F77_MPI) $(F77_MPI_LIBS)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_F90_SER).a : $(SION_OBJS_F90_SER)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F90_SER)
++lib$(SION_LIBNAME_F90_SER).so : $(SION_OBJS_F90_SER)
++ $(F90) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F90_SER).so -shared -o
$@ $(SION_OBJS_F90_SER) $(F90_SER_LIBS)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_F90_MPI).a : $(SION_OBJS_F90_MPI)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F90_MPI)
++lib$(SION_LIBNAME_F90_MPI).so : $(SION_OBJS_F90_MPI)
++ $(MPIF90) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F90_MPI).so -shared
-o $@ $(SION_OBJS_F90_MPI) $(F90_MPI_LIBS)
+ @echo "*** $@ built"
+
+ # F77 interface
+@@ -206,7 +212,7 @@
+ done
+
+ clean:
+- rm -f *.o lib*.a *.mod
++ rm -f *.o lib*.so *.mod
+
+
#------------------------------------------------------------------------------
+ # Dependencies
+--- a/src/lib/Makefile
++++ b/src/lib/Makefile
+@@ -67,25 +67,25 @@
+ endif
+
+ 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)
+-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
++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
+
+
+-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
++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
+
+-lib$(SION_LIBNAME_COM).a : $(SION_COMMON_OBJS)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_OBJS)
++lib$(SION_LIBNAME_COM).so : $(SION_COMMON_OBJS)
++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM).so -shared -o $@
$(SION_COMMON_OBJS)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_COM_LOCK_PTHREADS).a : $(SION_COMMON_LOCK_PTHREADS_OBJS)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_LOCK_PTHREADS_OBJS)
++lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so : $(SION_COMMON_LOCK_PTHREADS_OBJS)
++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so
-shared -o $@ $(SION_COMMON_LOCK_PTHREADS_OBJS)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_COM_LOCK_NONE).a : $(SION_COMMON_LOCK_NONE_OBJS)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_LOCK_NONE_OBJS)
++lib$(SION_LIBNAME_COM_LOCK_NONE).so : $(SION_COMMON_LOCK_NONE_OBJS)
++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM_LOCK_NONE).so
-shared -o $@ $(SION_COMMON_LOCK_NONE_OBJS)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_SER).a : $(SION_SER_OBJS)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_SER_OBJS)
++lib$(SION_LIBNAME_SER).so : $(SION_SER_OBJS)
++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_SER).so -shared -o $@
$(SION_SER_OBJS)
+ @echo "*** $@ built"
+
+ sion_lock_pthreads.o: sion_lock.c
+@@ -178,7 +178,7 @@
+ done
+
+ clean:
+- rm -f *.o lib*.a
++ rm -f *.o lib*.so
+
+
#------------------------------------------------------------------------------
+ # Dependencies
+--- a/src/parlib/Makefile
++++ b/src/parlib/Makefile
+@@ -29,7 +29,7 @@
+ .SUFFIXES: .cpp .c .f
+
+ USER_HDRS = sion_datatypes_mpi.h sion_mpi.h sion_ompi.h sion_omp.h
sion_generic.h
+-USER_LIBS = lib$(SION_LIBNAME_GEN).a
++USER_LIBS = lib$(SION_LIBNAME_GEN).so
+
+ SION_OBJS_GEN = sion_generic.o \
+ sion_generic_internal.o \
+@@ -46,7 +46,7 @@
+ sion_omp_cb_gen.o \
+ sion_omp_internal_gen.o
+ USER_HDRS += sion_omp.h
+- USER_LIBS += lib$(SION_LIBNAME_OMP).a
++ USER_LIBS += lib$(SION_LIBNAME_OMP).so
+ endif
+
+ ifeq ($(MPIENABLE),1)
+@@ -58,7 +58,7 @@
+ sion_mpi_util.o \
+ sion_mpi_file_check.o
+ USER_HDRS += sion_datatypes_mpi.h sion_mpi.h
+- USER_LIBS += lib$(SION_LIBNAME_MPI).a
++ USER_LIBS += lib$(SION_LIBNAME_MPI).so
+ endif
+ ifeq ($(HYBENABLE),1)
+ SION_OBJS_HYB = sion_ompi_gen.o \
+@@ -67,16 +67,18 @@
+ sion_ompi_util.o \
+ sion_ompi_internal_gen.o
+ USER_HDRS += sion_datatypes_mpi.h sion_ompi.h
+- USER_LIBS += lib$(SION_LIBNAME_OMPI).a
++ USER_LIBS += lib$(SION_LIBNAME_OMPI).so
+ endif
+
+ ifeq ($(HYBENABLE),1)
+ LOCKCC =$(HYBCC)
+ LOCKCFLAGS=$(CHYBFLAGS)
++ LOCKLINK=$(HYBFLAG)
+ else
+ ifeq ($(OMPENABLE),1)
+ LOCKCC =$(OMPCC)
+ LOCKCFLAGS=$(COMPFLAGS)
++ LOCKLINK=$(OMPFLAG)
+ else
+ LOCKCC =$(CC)
+ LOCKCFLAGS=$(CFLAGS)
+@@ -87,20 +89,20 @@
+
+ all: $(USER_LIBS)
+
+-lib$(SION_LIBNAME_GEN).a : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
++lib$(SION_LIBNAME_GEN).so : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_GEN).so -shared -o $@
$(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) $(LOCKLINK)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_OMP).a : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
++lib$(SION_LIBNAME_OMP).so : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
++ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMP).so -shared -o $@
$(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) $(LOCKLINK) $(OMPFLAG)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_MPI).a : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
++lib$(SION_LIBNAME_MPI).so : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
++ $(MPICC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_MPI).so -shared -o $@
$(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) $(LOCKLINK)
+ @echo "*** $@ built"
+
+-lib$(SION_LIBNAME_OMPI).a : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
+- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
++lib$(SION_LIBNAME_OMPI).so : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
++ $(HYBCC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMPI).so -shared -o
$@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) $(LOCKLINK) $(HYBFLAG)
+ @echo "*** $@ built"
+
+ sion_generic.o : sion_generic.c
+@@ -224,7 +226,7 @@
+ done
+
+ clean:
+- rm -f *.o lib*.a opari*
++ rm -f *.o lib*.so opari*
+
+
#------------------------------------------------------------------------------
+ # Dependencies
+--- a/src/parutils/Makefile
++++ b/src/parutils/Makefile
+@@ -55,6 +55,13 @@
+ ifeq ($(FORTRANENABLE),1)
+ ifeq ($(MPIENABLE),1)
+ USER_UTILS += fpartest
++ F77_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
++ endif
++ ifeq ($(OMPENABLE),1)
++ F77_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP)
++ endif
++ ifeq ($(HYBENABLE),1)
++ F77_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
+ endif
+ endif
+
+@@ -75,10 +82,10 @@
+
+ all: $(USER_UTILS)
+
+-partest: $(PARTEST_OBJS) ../parlib/lib$(SION_LIBNAME_MPI).a
../parlib/lib$(SION_LIBNAME_GEN).a ../lib/lib$(SION_LIBNAME_SER).a
++partest: $(PARTEST_OBJS) ../parlib/lib$(SION_LIBNAME_MPI).so
../parlib/lib$(SION_LIBNAME_GEN).so ../lib/lib$(SION_LIBNAME_SER).so
+ $(MPICC) -o $@ $(PARTEST_OBJS) -L../lib -l$(SION_LIBNAME_SER)
$(CMPILDFLAGS) $(MPILIB)
+
+-ompi_partest: $(PARTEST_OMPI_OBJS) ../parlib/lib$(SION_LIBNAME_OMPI).a
../parlib/lib$(SION_LIBNAME_OMP).a ../lib/lib$(SION_LIBNAME_SER).a
++ompi_partest: $(PARTEST_OMPI_OBJS) ../parlib/lib$(SION_LIBNAME_OMPI).so
../parlib/lib$(SION_LIBNAME_OMP).so ../lib/lib$(SION_LIBNAME_SER).so
+ $(HYBCC) -o $@ $(PARTEST_OMPI_OBJS) $(CHYBLDFLAGS) -L../parlib
-l$(SION_LIBNAME_OMP) -L../lib -l$(SION_LIBNAME_SER) $(MPILIB)
+
+ ompi_partest.o : ompi_partest.c
+@@ -114,8 +121,8 @@
+ fpartest.o : fpartest.F90
+ $(MPIF90) $(FFLAGS) -c fpartest.F90
+
+-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
+- $(MPIF90) -o $@ fpartest.o -L../fortraninterface
-l$(SION_LIBNAME_F77_MPI) -l$(SION_LIBNAME_F77_SER) $(FMPILDFLAGS) $(MPILIB)
++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
++ $(MPIF90) -o $@ fpartest.o -L../fortraninterface
-l$(SION_LIBNAME_F77_MPI) -l$(SION_LIBNAME_F77_SER) $(FMPILDFLAGS) $(MPILIB)
$(F77_MPI_LIBS) $(F77_SER_LIBS)
+
+
+ install: all
+@@ -161,7 +168,7 @@
+ @rm -f header.tmp
+
+ clean:
+- rm -f *.o lib*.a $(USER_UTILS)
++ rm -f *.o lib*.so $(USER_UTILS)
+
+
#------------------------------------------------------------------------------
+ # Dependencies
+--- a/src/utils/Makefile
++++ b/src/utils/Makefile
+@@ -45,32 +45,32 @@
+ siondump.o : siondump.c
+ $(CC) $(CFLAGS) -c siondump.c
+
+-siondefrag.o : siondefrag.c ../lib/lib$(SION_LIBNAME_SER).a
++siondefrag.o : siondefrag.c ../lib/lib$(SION_LIBNAME_SER).so
+ $(CC) $(CFLAGS) -c siondefrag.c
+
+-sionsplit.o : sionsplit.c ../lib/lib$(SION_LIBNAME_SER).a
++sionsplit.o : sionsplit.c ../lib/lib$(SION_LIBNAME_SER).so
+ $(CC) $(CFLAGS) -c sionsplit.c
+
+-sioncat.o : sioncat.c ../lib/lib$(SION_LIBNAME_SER).a
++sioncat.o : sioncat.c ../lib/lib$(SION_LIBNAME_SER).so
+ $(CC) $(CFLAGS) -c sioncat.c
+
+-sionversion.o : sionversion.c ../lib/lib$(SION_LIBNAME_SER).a
++sionversion.o : sionversion.c ../lib/lib$(SION_LIBNAME_SER).so
+ $(CC) $(CFLAGS) -c sionversion.c
+
+-siondump: siondump.o ../lib/lib$(SION_LIBNAME_SER).a
../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
++siondump: siondump.o ../lib/lib$(SION_LIBNAME_SER).so
../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
+ $(CC) -o $@ siondump.o $(LDFLAGS)
+ cp siondump $(TOPDIR)/..
+
+-siondefrag: siondefrag.o ../lib/lib$(SION_LIBNAME_SER).a
../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
++siondefrag: siondefrag.o ../lib/lib$(SION_LIBNAME_SER).so
../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
+ $(CC) -o $@ siondefrag.o $(LDFLAGS)
+
+-sionsplit: sionsplit.o ../lib/lib$(SION_LIBNAME_SER).a
../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
++sionsplit: sionsplit.o ../lib/lib$(SION_LIBNAME_SER).so
../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
+ $(CC) -o $@ sionsplit.o $(LDFLAGS)
+
+-sioncat: sioncat.o ../lib/lib$(SION_LIBNAME_SER).a
../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
++sioncat: sioncat.o ../lib/lib$(SION_LIBNAME_SER).so
../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
+ $(CC) -o $@ sioncat.o $(LDFLAGS)
+
+-sionversion: sionversion.o ../lib/lib$(SION_LIBNAME_SER).a
../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
++sionversion: sionversion.o ../lib/lib$(SION_LIBNAME_SER).so
../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
+ $(CC) -o $@ sionversion.o $(LDFLAGS)
+
+
+@@ -136,7 +136,7 @@
+ @rm -f header.tmp
+
+ clean:
+- rm -f *.o lib*.a $(USER_UTILS)
++ rm -f *.o lib*.so $(USER_UTILS)
+
+
#------------------------------------------------------------------------------
+ # Dependencies
diff --git a/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch
b/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch
index 7bf98ced1..e71d7d46d 100644
--- a/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch
+++ b/sys-cluster/sionlibl/files/sionlibl-respect-flags-v3.patch
@@ -115,18 +115,18 @@
-CC = gcc
-CFLAGS = -std=c99 $(PFLAG) $(OPTFLAGS) -fPIC
-+CXXFLAGS += $(PFLAG)
++CXXFLAGS += $(PFLAG) -fPIC
-CXX = g++
-CXXFLAGS = $(PFLAG) $(OPTFLAGS) -O3
-
-F77 = gfortran
-FFLAGS = $(PFLAG) $(OPTFLAGS) -fallow-argument-mismatch
-+FFLAGS += $(PFLAG) -fallow-argument-mismatch
++FFLAGS += $(PFLAG) -fallow-argument-mismatch -fPIC
F90 = $(F77)
-F90FLAGS = $(PFLAG) $(OPTFLAGS) -ffree-form -fallow-argument-mismatch
-+F90FLAGS += $(PFLAG) -ffree-form -fallow-argument-mismatch
++F90FLAGS += $(PFLAG) -ffree-form -fallow-argument-mismatch -fPIC $(FCFLAGS)
FPP =
FDOPT = -D
diff --git a/sys-cluster/sionlibl/sionlibl-1.7.7-r1.ebuild
b/sys-cluster/sionlibl/sionlibl-1.7.7-r2.ebuild
similarity index 96%
rename from sys-cluster/sionlibl/sionlibl-1.7.7-r1.ebuild
rename to sys-cluster/sionlibl/sionlibl-1.7.7-r2.ebuild
index 480e0a0c0..299438e5d 100644
--- a/sys-cluster/sionlibl/sionlibl-1.7.7-r1.ebuild
+++ b/sys-cluster/sionlibl/sionlibl-1.7.7-r2.ebuild
@@ -35,7 +35,10 @@ DEPEND="
"
REQUIRED_USE="?? ( hostname-regex deep-est-sdv )"
-PATCHES=( "${FILESDIR}/${PN}-respect-flags-v3.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-respect-flags-v3.patch"
+ "${FILESDIR}/${PN}-build-shared-libraries.patch"
+)
pkg_setup() {
FORTRAN_NEED_OPENMP=0