Browse Source

Set SONAME

Inspired from what openspecfun does.
Milan Bouchet-Valat 11 years ago
parent
commit
251814ebb3
2 changed files with 6 additions and 5 deletions
  1. 5 4
      Make.inc
  2. 1 1
      Makefile

+ 5 - 4
Make.inc

@@ -69,28 +69,29 @@ override OS=WINNT
 endif
 #keep these if statements these separate
 ifeq ($(OS), WINNT)
+SHLIB_EXT = dll
+SONAME_FLAG = -soname
 CFLAGS_add+=-nodefaultlibs
 FFLAGS+=-nodefaultlibs
 endif
 
 ifeq ($(OS), Linux)
 SHLIB_EXT = so
+SONAME_FLAG = -soname
 CFLAGS_add+=-fPIC
 FFLAGS+=-fPIC
 endif
 
 ifeq ($(OS), FreeBSD)
 SHLIB_EXT = so
+SONAME_FLAG = -soname
 CFLAGS_add+=-fPIC
 FFLAGS+=-fPIC
 endif
 
 ifeq ($(OS), Darwin)
 SHLIB_EXT = dylib
+SONAME_FLAG = -install_name
 CFLAGS_add+=-fPIC
 FFLAGS+=-fPIC
 endif
-
-ifeq ($(OS), WINNT)
-SHLIB_EXT = dll
-endif

+ 1 - 1
Makefile

@@ -26,7 +26,7 @@ all: libopenlibm.a libopenlibm.$(SHLIB_EXT)
 libopenlibm.a: $(OBJS)  
 	$(AR) -rcs libopenlibm.a $(OBJS)
 libopenlibm.$(SHLIB_EXT): $(OBJS)
-	$(FC) -shared $(OBJS) $(LDFLAGS) -o libopenlibm.$(SHLIB_EXT).$(VERSION)
+	$(FC) -shared $(OBJS) $(LDFLAGS) -Wl,$(SONAME_FLAG),libopenlibm.$(SHLIB_EXT).$(VERSION) -o libopenlibm.$(SHLIB_EXT).$(VERSION)
 	ln -s libopenlibm.$(SHLIB_EXT).$(VERSION) libopenlibm.$(SHLIB_EXT).$(word 1,$(VERSION_SPLIT)).$(word 2,$(VERSION_SPLIT))
 	ln -s libopenlibm.$(SHLIB_EXT).$(VERSION) libopenlibm.$(SHLIB_EXT).$(word 1,$(VERSION_SPLIT))
 	ln -s libopenlibm.$(SHLIB_EXT).$(VERSION) libopenlibm.$(SHLIB_EXT)