windows: add .rc support to autotools builds
After this update autotools builds will compile and link `.rc` resources
to Windows executables. Bringing this feature on par with CMake and
Makefile.m32 builds. And also making it unnecessary to improvise these
steps manually, while monkey patching build files, e.g. [0].
You can customize the resource compiler via the `RC` envvar, and its
options via `RCFLAGS`.
This harmless warning may appear throughout the build, even though the
autotools manual documents [1] `RC` as a valid tag, and it fails when
omitting one:
`libtool: error: ignoring unknown tag RC`
[0] 535f19060d/curl-autotools.sh (L376-L382)
[1] https://www.gnu.org/software/libtool/manual/html_node/Tags.html
Closes #9521
This commit is contained in:
parent
e3a533f51b
commit
6de7322c03
@ -55,6 +55,8 @@ CURL_CHECK_OPTION_ECH
|
|||||||
|
|
||||||
XC_CHECK_PATH_SEPARATOR
|
XC_CHECK_PATH_SEPARATOR
|
||||||
|
|
||||||
|
LT_LANG([Windows Resource])
|
||||||
|
|
||||||
#
|
#
|
||||||
# save the configure arguments
|
# save the configure arguments
|
||||||
#
|
#
|
||||||
@ -568,6 +570,7 @@ CURL_DARWIN_CFLAGS
|
|||||||
CURL_DARWIN_SYSTEMCONFIGURATION
|
CURL_DARWIN_SYSTEMCONFIGURATION
|
||||||
CURL_SUPPORTS_BUILTIN_AVAILABLE
|
CURL_SUPPORTS_BUILTIN_AVAILABLE
|
||||||
|
|
||||||
|
AM_CONDITIONAL([OS_WINDOWS], [test "$curl_cv_native_windows" = "yes"])
|
||||||
|
|
||||||
dnl ************************************************************
|
dnl ************************************************************
|
||||||
dnl switch off particular protocols
|
dnl switch off particular protocols
|
||||||
|
|||||||
@ -75,6 +75,12 @@ AM_CPPFLAGS += -DBUILDING_LIBCURL
|
|||||||
AM_LDFLAGS =
|
AM_LDFLAGS =
|
||||||
AM_CFLAGS =
|
AM_CFLAGS =
|
||||||
|
|
||||||
|
# Makefile.inc provides the CSOURCES and HHEADERS defines
|
||||||
|
include Makefile.inc
|
||||||
|
|
||||||
|
libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS)
|
||||||
|
libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS)
|
||||||
|
|
||||||
libcurl_la_CPPFLAGS_EXTRA =
|
libcurl_la_CPPFLAGS_EXTRA =
|
||||||
libcurl_la_LDFLAGS_EXTRA =
|
libcurl_la_LDFLAGS_EXTRA =
|
||||||
libcurl_la_CFLAGS_EXTRA =
|
libcurl_la_CFLAGS_EXTRA =
|
||||||
@ -102,6 +108,11 @@ endif
|
|||||||
|
|
||||||
if USE_CPPFLAG_CURL_STATICLIB
|
if USE_CPPFLAG_CURL_STATICLIB
|
||||||
libcurl_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB
|
libcurl_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB
|
||||||
|
else
|
||||||
|
if OS_WINDOWS
|
||||||
|
libcurl_la_SOURCES += $(LIB_RCFILES)
|
||||||
|
$(LIB_RCFILES): $(top_srcdir)/include/curl/curlver.h
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if DOING_CURL_SYMBOL_HIDING
|
if DOING_CURL_SYMBOL_HIDING
|
||||||
@ -117,12 +128,6 @@ libcurlu_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS
|
|||||||
libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS)
|
libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS)
|
||||||
libcurlu_la_CFLAGS = $(AM_CFLAGS)
|
libcurlu_la_CFLAGS = $(AM_CFLAGS)
|
||||||
|
|
||||||
# Makefile.inc provides the CSOURCES and HHEADERS defines
|
|
||||||
include Makefile.inc
|
|
||||||
|
|
||||||
libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS)
|
|
||||||
libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS)
|
|
||||||
|
|
||||||
CHECKSRC = $(CS_$(V))
|
CHECKSRC = $(CS_$(V))
|
||||||
CS_0 = @echo " RUN " $@;
|
CS_0 = @echo " RUN " $@;
|
||||||
CS_1 =
|
CS_1 =
|
||||||
@ -148,3 +153,9 @@ tidy:
|
|||||||
|
|
||||||
optiontable:
|
optiontable:
|
||||||
perl optiontable.pl < $(top_srcdir)/include/curl/curl.h > easyoptions.c
|
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
|
||||||
|
|||||||
@ -55,6 +55,10 @@ include Makefile.inc
|
|||||||
|
|
||||||
# CURL_FILES comes from Makefile.inc
|
# CURL_FILES comes from Makefile.inc
|
||||||
curl_SOURCES = $(CURL_FILES)
|
curl_SOURCES = $(CURL_FILES)
|
||||||
|
if OS_WINDOWS
|
||||||
|
curl_SOURCES += $(CURL_RCFILES)
|
||||||
|
$(CURL_RCFILES): tool_version.h
|
||||||
|
endif
|
||||||
|
|
||||||
# This might hold -Werror
|
# This might hold -Werror
|
||||||
CFLAGS += @CURL_CFLAG_EXTRAS@
|
CFLAGS += @CURL_CFLAG_EXTRAS@
|
||||||
@ -75,7 +79,7 @@ libcurltool_la_CPPFLAGS = $(AM_CPPFLAGS) \
|
|||||||
-DCURL_STATICLIB -DUNITTESTS
|
-DCURL_STATICLIB -DUNITTESTS
|
||||||
libcurltool_la_CFLAGS =
|
libcurltool_la_CFLAGS =
|
||||||
libcurltool_la_LDFLAGS = -static $(LINKFLAGS)
|
libcurltool_la_LDFLAGS = -static $(LINKFLAGS)
|
||||||
libcurltool_la_SOURCES = $(curl_SOURCES)
|
libcurltool_la_SOURCES = $(CURL_FILES)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CLEANFILES = tool_hugehelp.c
|
CLEANFILES = tool_hugehelp.c
|
||||||
@ -151,3 +155,9 @@ tidy:
|
|||||||
|
|
||||||
listhelp:
|
listhelp:
|
||||||
(cd $(top_srcdir)/docs/cmdline-opts && ./gen.pl listhelp *.d) > tool_listhelp.c
|
(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 $@
|
||||||
|
endif
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user