Fix library handling on Cygwin

1. Shared lib extension is .dll
2. Shared libs are installed to $(prefix)/bin
3. Linker does not support -z flag
This commit is contained in:
Marko Durkovic 2014-12-09 12:22:12 +01:00
parent 936f68668c
commit 4872677ffa

View file

@ -3,7 +3,11 @@ libs-list :=
ifeq ($(OS), Darwin)
SO_EXT = dylib
else
ifeq (CYGWIN,$(findstring CYGWIN,$(OS)))
SO_EXT = dll
else
SO_EXT = so
endif
endif
# Build a library with symbolic name $(1). The library is defined by
@ -50,7 +54,11 @@ define build-library
$(1)_OBJS := $$(addsuffix .o, $$(basename $$(_srcs)))
_libs := $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_PATH))
ifeq (CYGWIN,$(findstring CYGWIN,$(OS)))
$(1)_INSTALL_DIR ?= $$(bindir)
else
$(1)_INSTALL_DIR ?= $$(libdir)
endif
$(1)_LDFLAGS_USE :=
$(1)_LDFLAGS_USE_INSTALLED :=
@ -65,9 +73,11 @@ define build-library
endif
else
ifneq ($(OS), Darwin)
ifneq (CYGWIN,$(findstring CYGWIN,$(OS)))
$(1)_LDFLAGS += -Wl,-z,defs
endif
endif
endif
ifneq ($(OS), Darwin)
$(1)_LDFLAGS += -Wl,-soname=$$($(1)_NAME).$(SO_EXT)