Set shared library soname in Linux.
authorXianyi Zhang <xianyi@iscas.ac.cn>
Wed, 14 Mar 2012 17:07:34 +0000 (01:07 +0800)
committerXianyi Zhang <xianyi@iscas.ac.cn>
Wed, 14 Mar 2012 17:07:34 +0000 (01:07 +0800)
Makefile
Makefile.install
Makefile.system
exports/Makefile

index eb9c4ff31eaa8ed89eb8600855a9fa8765552775..a320112a553d34eef4f386ce55c61f2ef2c7752d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -83,6 +83,7 @@ shared :
 ifeq ($(OSNAME), Linux)
        $(MAKE) -C exports so
        -ln -fs $(LIBSONAME) libopenblas.so
+       -ln -fs $(LIBSONAME) libopenblas.so.$(MAJOR_VERSION)
 endif
 ifeq ($(OSNAME), FreeBSD)
        $(MAKE) -C exports so
index 2778a491f17d2f267429f04a78092c5cbd755842..dbc28c5686e95c89df51b54f0f77eeb195dc4a2a 100644 (file)
@@ -44,6 +44,7 @@ install :     lib.grd
 ifeq ($(OSNAME), Linux)
        -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)
        -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so
+       -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so.$(MAJOR_VERSION)
 endif
 ifeq ($(OSNAME), FreeBSD)
        -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)
index 3f5c7b4fa08d0409d5caed70e5e30f354f7a1676..9f994a716008a7375e8c09b6da564b5e8246452e 100644 (file)
@@ -637,6 +637,7 @@ MD5SUM      = md5sum
 AWK    = awk
 
 REVISION = -r$(VERSION)
+MAJOR_VERSION = $(word 1,$(subst ., ,$(VERSION)))
 
 CFLAGS     = $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
 PFLAGS     = $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
index 2db6b6daa835d237a75de228902e18625d7485c7..28a0882e36341b94acb0ad70f60be03fcd90eb63 100644 (file)
@@ -100,7 +100,7 @@ so : ../$(LIBSONAME)
 ../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c
        $(CC) $(CFLAGS) -shared -o ../$(LIBSONAME) \
        -Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
-       -Wl,--retain-symbols-file=linux.def $(EXTRALIB)
+       -Wl,--retain-symbols-file=linux.def -Wl,-soname,libopenblas.so.$(MAJOR_VERSION) $(EXTRALIB)
        $(CC) $(CFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
        rm -f linktest