From: Viktor Szakats Date: Thu, 27 Oct 2022 06:45:32 +0000 (+0000) Subject: windows: fix linking .rc to shared curl with autotools X-Git-Tag: curl-7_87_0~230 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b7260c4fda95196b2fa16f32b5913f25323e5098;p=thirdparty%2Fcurl.git windows: fix linking .rc to shared curl with autotools `./configure --enable-shared --disable-static` fails when trying to link a shared `curl.exe`, due to `libtool` magically changing the output filename of `windres` to one that it doesn't find when linking: ``` /bin/sh ../libtool --tag=RC --mode=compile windres -I../../curl/include -DCURL_EMBED_MANIFEST -i ../../curl/src/curl.rc -o curl.o libtool: compile: windres -I../../curl/include -DCURL_EMBED_MANIFEST -i ../../curl/src/curl.rc -o .libs/curl.o [...] CCLD curl.exe clang: error: no such file or directory: 'curl.o' ``` Let's resolve this by skipping `libtool` and calling `windres` directly when building `src` (aka `curl.exe`). Leave `lib` unchanged, as it does need the `libtool` magic. This solution is compatible with building a static `curl.exe`. This build scenario is not CI-tested. While here, delete an obsolete comment about a permanent `libtool` warning that we've resolved earlier. Regression from 6de7322c03d5b4d91576a7d9fc893e03cc9d1057 Reported-by: Christoph Reiter Fixes #9803 Closes #9805 --- diff --git a/lib/Makefile.am b/lib/Makefile.am index 5d2df8bffb..cd1ca97a54 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -155,7 +155,6 @@ optiontable: perl optiontable.pl < $(top_srcdir)/include/curl/curl.h > easyoptions.c if OS_WINDOWS -# Warning is "normal": libtool: error: ignoring unknown tag RC .rc.lo: $(LIBTOOL) --tag=RC --mode=compile $(RC) -I$(top_srcdir)/include $(RCFLAGS) -i $< -o $@ endif diff --git a/src/Makefile.am b/src/Makefile.am index d9180b0b14..2c1886f5a8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -157,7 +157,6 @@ listhelp: (cd $(top_srcdir)/docs/cmdline-opts && ./gen.pl listhelp *.d) > tool_listhelp.c if OS_WINDOWS -# Warning is "normal": libtool: error: ignoring unknown tag RC .rc.o: - $(LIBTOOL) --tag=RC --mode=compile $(RC) -I$(top_srcdir)/include -DCURL_EMBED_MANIFEST $(RCFLAGS) -i $< -o $@ + $(RC) -I$(top_srcdir)/include -DCURL_EMBED_MANIFEST $(RCFLAGS) -i $< -o $@ endif