From 4872677ffafce60bf863583804bb5700601ad7a4 Mon Sep 17 00:00:00 2001 From: Marko Durkovic Date: Tue, 9 Dec 2014 12:22:12 +0100 Subject: [PATCH] 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 --- mk/libraries.mk | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/mk/libraries.mk b/mk/libraries.mk index 3b91c699..3b292e98 100644 --- a/mk/libraries.mk +++ b/mk/libraries.mk @@ -3,7 +3,11 @@ libs-list := ifeq ($(OS), Darwin) SO_EXT = dylib else - SO_EXT = so + 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)) - $(1)_INSTALL_DIR ?= $$(libdir) + ifeq (CYGWIN,$(findstring CYGWIN,$(OS))) + $(1)_INSTALL_DIR ?= $$(bindir) + else + $(1)_INSTALL_DIR ?= $$(libdir) + endif $(1)_LDFLAGS_USE := $(1)_LDFLAGS_USE_INSTALLED := @@ -65,7 +73,9 @@ define build-library endif else ifneq ($(OS), Darwin) - $(1)_LDFLAGS += -Wl,-z,defs + ifneq (CYGWIN,$(findstring CYGWIN,$(OS))) + $(1)_LDFLAGS += -Wl,-z,defs + endif endif endif