libmicrohttpd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libmicrohttpd] [PATCH] remove exp file


From: Evgeny Grin
Subject: Re: [libmicrohttpd] [PATCH] remove exp file
Date: Tue, 14 Dec 2021 19:09:58 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2

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 <rosenp@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 <rosenp@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_EXP
  W32_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_EXP
  W32_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 =

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]