add soname to dynamic library. this fixes issue #188

This commit is contained in:
Nguyen Anh Quynh 2015-10-16 22:03:24 +08:00
parent a2edc1852d
commit 4860fdb34c

View file

@ -97,6 +97,7 @@ IS_APPLE := $(shell $(CC) -dM -E - < /dev/null | grep __apple_build_version__ |
ifeq ($(IS_APPLE),1) ifeq ($(IS_APPLE),1)
EXT = dylib EXT = dylib
VERSION_EXT = $(API_MAJOR).$(EXT) VERSION_EXT = $(API_MAJOR).$(EXT)
$(LIBNAME)_LDFLAGS += -dynamiclib -install_name lib$(LIBNAME).$(VERSION_EXT) -current_version $(PKG_MAJOR).$(PKG_MINOR).$(PKG_EXTRA) -compatibility_version $(PKG_MAJOR).$(PKG_MINOR)
AR_EXT = a AR_EXT = a
UNICORN_CFLAGS += -fvisibility=hidden UNICORN_CFLAGS += -fvisibility=hidden
else else
@ -118,6 +119,7 @@ else
EXT = so EXT = so
VERSION_EXT = $(EXT).$(API_MAJOR) VERSION_EXT = $(EXT).$(API_MAJOR)
AR_EXT = a AR_EXT = a
$(LIBNAME)_LDFLAGS += -Wl,-soname,lib$(LIBNAME).$(VERSION_EXT)
UNICORN_CFLAGS += -fvisibility=hidden UNICORN_CFLAGS += -fvisibility=hidden
endif endif
endif endif
@ -223,9 +225,9 @@ $(LIBRARY): $(UC_TARGET_OBJ) uc.o hook.o
ifeq ($(UNICORN_SHARED),yes) ifeq ($(UNICORN_SHARED),yes)
ifeq ($(V),0) ifeq ($(V),0)
$(call log,GEN,$(LIBRARY)) $(call log,GEN,$(LIBRARY))
@$(CC) $(CFLAGS) -shared $^ -o $(LIBRARY) $(GLIB) -lm @$(CC) $(CFLAGS) $($(LIBNAME)_LDFLAGS) -shared $^ -o $(LIBRARY) $(GLIB) -lm
else else
$(CC) $(CFLAGS) -shared $^ -o $(LIBRARY) $(GLIB) -lm $(CC) $(CFLAGS) $($(LIBNAME)_LDFLAGS) -shared $^ -o $(LIBRARY) $(GLIB) -lm
endif endif
endif endif