From 6987258cab71a7053523f0d64f4e1ea012df7bda Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Fri, 9 Nov 2018 11:53:44 +0100 Subject: [PATCH] Fix cygwin DLL naming Cygwin, like macOS, uses an extension to "recognize" something as being a shared library. In that case, the extension is .dll. Thinking about it, it's the naming in Linux that is illogical, in the sense that the extension is before the count --- config.cygwin.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config.cygwin.mk b/config.cygwin.mk index 0a05b28..547f2f0 100644 --- a/config.cygwin.mk +++ b/config.cygwin.mk @@ -24,9 +24,13 @@ OS_NAME_BUILDENV_cygwin=windows include $(MIQ)config.gnu.mk +# Cygwin uses Windows extensions, e.g. ld looks for .dll files EXE_EXT= .exe LIB_EXT= .a DLL_EXT= .dll OBJ_EXT= .obj -MAKE_DLL= $(LD) -shared $(MIQ_LDFLAGS) $(MIQ_TOLINK) -o $@ +# Because of the above, we need to put the number before the extesion +# e.g. where Linux would have libfoo.so.1.3.2, cygwin has libfoo.1.3.2.dll +MIQ_NOINSTALL= $(@:%.install_dll=%) +MIQ_DLLNAME= $(MIQ_NOINSTALL:%$(DLL_EXT)=%$(PRODUCTS_VERSION:%=.$(MIQ_V_VERSION))$(DLL_EXT))