windows: fail early with a missing windres in autotools

`windres` is not always auto-detected by autotools when building for
Windows. When this happened, the build failed with a confusing error due
to the empty `RC` command:

```
/bin/bash ../libtool --tag=RC --mode=compile  -I../include -DCURL_EMBED_MANIFEST  -i curl.rc -o curl.o
[...]
Usage: /sandbox/curl/libtool [OPTION]... [MODE-ARG]...
Try 'libtool --help' for more information.
libtool:   error: unrecognised option: '-I../include'
```

Improve this by verifying if `RC` is set, and fail with a clear error
otherwise.

Follow-up to 6de7322c03

Ref: https://curl.se/mail/lib-2022-10/0049.html
Reported-by: Thomas Glanzmann
Closes #9781
This commit is contained in:
Viktor Szakats 2022-11-01 22:45:28 +00:00
parent edae6c66c7
commit 3390ef0af0
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
3 changed files with 11 additions and 5 deletions

View file

@ -55,7 +55,7 @@ include Makefile.inc
# CURL_FILES comes from Makefile.inc
curl_SOURCES = $(CURL_FILES)
if OS_WINDOWS
if HAVE_WINDRES
curl_SOURCES += $(CURL_RCFILES)
$(CURL_RCFILES): tool_version.h
endif
@ -156,7 +156,7 @@ tidy:
listhelp:
(cd $(top_srcdir)/docs/cmdline-opts && ./gen.pl listhelp *.d) > tool_listhelp.c
if OS_WINDOWS
if HAVE_WINDRES
.rc.o:
$(RC) -I$(top_srcdir)/include -DCURL_EMBED_MANIFEST $(RCFLAGS) -i $< -o $@
endif