File atlas-suse-shared.patch of Package libatlas3
Index: makes/Make.lib
===================================================================
--- makes/Make.lib.orig
+++ makes/Make.lib
@@ -4,6 +4,8 @@ mySRCdir = $(SRCdir)/lib
#
# override with libatlas.so only when atlas is built to one lib
#
+so_ver_major=3
+so_ver = $(so_ver_major).0
DYNlibs = liblapack.so libf77blas.so libcblas.so libatlas.so
PTDYNlibs = liblapack.so libptf77blas.so libptcblas.so libatlas.so
CDYNlibs = liblapack.so libcblas.so libatlas.so
@@ -45,10 +47,18 @@ cshared : fat_cshared
#
# These are a bunch of different ways to attempt to build a .so, try them all
#
+
+#LDTRY:
+# $(LD) $(LDFLAGS) -shared -soname $(LIBINSTdir)/$(outso) -o $(outso) \
+# -rpath-link $(LIBINSTdir) \
+# --whole-archive $(libas) --no-whole-archive $(LIBS)
+
LDTRY:
- $(LD) $(LDFLAGS) -shared -soname $(LIBINSTdir)/$(outso) -o $(outso) \
- -rpath-link $(LIBINSTdir) \
- --whole-archive $(libas) --no-whole-archive $(LIBS)
+ mkdir static_libs ; pushd static_libs && $(foreach file,$(libas),ar x ../$(file);) popd ; \
+ gcc $(LDFLAGS) -shared -Wl,-soname=$(outso).$(so_ver_major) \
+ -o $(outso).$(so_ver) static_libs/*.o -lc $(LIBS) ; \
+ rm -rf static_libs
+
GCCTRY:
$(GOODGCC) -shared -o $(outso) -Wl,"rpath-link $(LIBINSTdir)" \
-Wl,--whole-archive $(libas) -Wl,--no-whole-archive $(LIBS)