From 251814ebb35de3712e75b1b1b90d47eec1c568e4 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Tue, 7 Jan 2014 21:38:10 +0100 Subject: [PATCH] Set SONAME Inspired from what openspecfun does. --- Make.inc | 9 +++++---- Makefile | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Make.inc b/Make.inc index 64cdc5b..22ed829 100644 --- a/Make.inc +++ b/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 diff --git a/Makefile b/Makefile index 0db517b..4268453 100644 --- a/Makefile +++ b/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)