Rosen, Thanks for the patch.Unfortunately it does not work as llvm-dlltool is too much oversimplified version of GNU dlltool. Unlike MS lib.exe and GNU dlltool, llvm-dlltool can handle either '-d' parameter OR list of objects, but not both at the same time.
Another approach has been implemented in git master, you can checkout the latest version and try with your MSys2/Clang64 toolchain.
-- Evgeny -------- Original Message -------- From: Rosen Penev <ros...@gmail.com> Sent: Monday, December 13, 2021, 02:10 UTC+3 Subject: [libmicrohttpd] [PATCH] remove exp file
llvm-dlltool does not support the -e flag. It also doesn't seem to do anything useful. Fixes compilation under MSYS2-CLANG64. Signed-off-by: Rosen Penev <ros...@gmail.com> --- src/lib/Makefile.am | 14 ++++++-------- src/microhttpd/Makefile.am | 14 ++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index a0f71779..6b8f387c 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -15,27 +15,25 @@ MOSTLYCLEANFILES =if W32_SHARED_LIB_EXPW32_MHD_LIB_LDFLAGS = -Wl,--output-def,$(lt_cv_objdir)/libmicrohttpd2.def -XCClinker -static-libgcc -noinst_DATA += $(lt_cv_objdir)/libmicrohttpd2.lib $(lt_cv_objdir)/libmicrohttpd2.def $(lt_cv_objdir)/libmicrohttpd2.exp -MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd2.lib $(lt_cv_objdir)/libmicrohttpd2.def $(lt_cv_objdir)/libmicrohttpd2.exp +noinst_DATA += $(lt_cv_objdir)/libmicrohttpd2.lib $(lt_cv_objdir)/libmicrohttpd2.def +MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd2.lib $(lt_cv_objdir)/libmicrohttpd2.def$(lt_cv_objdir)/libmicrohttpd2.def: libmicrohttpd2.la -$(lt_cv_objdir)/libmicrohttpd2.exp: $(lt_cv_objdir)/libmicrohttpd2.lib- $(lt_cv_objdir)/libmicrohttpd2.lib: $(lt_cv_objdir)/libmicrohttpd2.def libmicrohttpd2.la $(libmicrohttpd2_la_OBJECTS) if USE_MS_LIB_TOOL - @echo Creating $@ and libmicrohttpd2.exp by $(MS_LIB_TOOL)... && \ + @echo Creating $@ by $(MS_LIB_TOOL)... && \ dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd2.la` && \ dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \ echo Creating $$dll_name by $(MS_LIB_TOOL).. && cd "$(lt_cv_objdir)" && \ $(MS_LIB_TOOL) -def:libmicrohttpd2.def -name:$$dll_name -out:libmicrohttpd2.lib $(libmicrohttpd2_la_OBJECTS:.lo=.o) && cd .. else - @echo Creating $@ and libmicrohttpd2.exp by $(DLLTOOL)... && \ + @echo Creating $@ by $(DLLTOOL)... && \ dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd2.la` && \ dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \ echo Creating $$dll_name by $(DLLTOOL).. && cd "$(lt_cv_objdir)" && \ - $(DLLTOOL) -d ./libmicrohttpd2.def -D $$dll_name -l libmicrohttpd2.lib $(libmicrohttpd2_la_OBJECTS:.lo=.o) -e ./libmicrohttpd2.exp && cd .. &&\ - echo Created libmicrohttpd2.exp and libmicrohttpd2.lib. + $(DLLTOOL) -d ./libmicrohttpd2.def -D $$dll_name -l libmicrohttpd2.lib $(libmicrohttpd2_la_OBJECTS:.lo=.o) && cd .. &&\ + echo Created libmicrohttpd2.lib. endif else W32_MHD_LIB_LDFLAGS = diff --git a/src/microhttpd/Makefile.am b/src/microhttpd/Makefile.am index a98fbd9e..87f9f54e 100644 --- a/src/microhttpd/Makefile.am +++ b/src/microhttpd/Makefile.am @@ -13,27 +13,25 @@ MOSTLYCLEANFILES =if W32_SHARED_LIB_EXPW32_MHD_LIB_LDFLAGS = -Wl,--output-def,$(lt_cv_objdir)/libmicrohttpd.def -XCClinker -static-libgcc -noinst_DATA += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp -MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp +noinst_DATA += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def +MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def$(lt_cv_objdir)/libmicrohttpd.def: libmicrohttpd.la -$(lt_cv_objdir)/libmicrohttpd.exp: $(lt_cv_objdir)/libmicrohttpd.lib- $(lt_cv_objdir)/libmicrohttpd.lib: $(lt_cv_objdir)/libmicrohttpd.def libmicrohttpd.la $(libmicrohttpd_la_OBJECTS) if USE_MS_LIB_TOOL - @echo Creating $@ and libmicrohttpd.exp by $(MS_LIB_TOOL)... && \ + @echo Creating $@ by $(MS_LIB_TOOL)... && \ dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \ dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \ echo Creating $$dll_name by $(MS_LIB_TOOL).. && cd "$(lt_cv_objdir)" && \ $(MS_LIB_TOOL) -def:libmicrohttpd.def -name:$$dll_name -out:libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) && cd .. else - @echo Creating $@ and libmicrohttpd.exp by $(DLLTOOL)... && \ + @echo Creating $@ by $(DLLTOOL)... && \ dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \ dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \ echo Creating $$dll_name by $(DLLTOOL).. && cd "$(lt_cv_objdir)" && \ - $(DLLTOOL) -d ./libmicrohttpd.def -D $$dll_name -l libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) -e ./libmicrohttpd.exp && cd .. &&\ - echo Created libmicrohttpd.exp and libmicrohttpd.lib. + $(DLLTOOL) -d ./libmicrohttpd.def -D $$dll_name -l libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) && cd .. &&\ + echo Created libmicrohttpd.lib. endif else W32_MHD_LIB_LDFLAGS =
OpenPGP_signature
Description: OpenPGP digital signature