Commit 7250c73e authored by Simon McVittie's avatar Simon McVittie

Windows: Simplify compiling versioninfo.rc by using libtool facilities

libtool has built-in support for Windows resources, and we even
enable it in configure.ac. What it doesn't have is a built-in rule
for generating Libtool objects using that built-in support, but
we can add one.

We have to generate Libtool pseudo-objects (.lo) rather than native
object files (.o) so that we get both a PIC object for the shared
library and a non-PIC object for the static library.

This mimics the libtool invocations used for compiling C and C++.
Note that $(RC) is typically i686-w64-mingw32-windres, the same as
our project-specific variable $(WINDRES) which was previously used here.
Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015Reviewed-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
Reviewed-by: Ralf Habacker's avatarRalf Habacker <ralf.habacker@freenet.de>
parent 15c4e0d5
......@@ -44,21 +44,8 @@ if DBUS_WIN
SUFFIXES = .rc
.rc.o:
$(WINDRES) $< -o $@
# We can't just put versioninfo.rc in SOURCES and let Automake infer
# how to make versioninfo.o, because libtool wants libtool objects (.lo),
# not plain COFF objects (.o). Add it to the linker command explicitly
# instead.
dbus_res = versioninfo.o
EXTRA_libdbus_1_la_DEPENDENCIES = $(dbus_res)
dbus_res_ldflag = -Wl,$(dbus_res)
else
dbus_res =
dbus_res_ldflag =
.rc.lo:
$(LIBTOOL) $(AM_V_lt) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) $< -o $@
endif
......@@ -69,7 +56,9 @@ endif
if DBUS_WIN
DBUS_LIB_arch_sources = \
dbus-server-win.c \
dbus-server-win.h
dbus-server-win.h \
versioninfo.rc \
$(NULL)
if DBUS_WINCE
wince_source = dbus-sysdeps-wince-glue.h dbus-sysdeps-wince-glue.c
......@@ -303,7 +292,6 @@ libdbus_1_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
$(SYMBOL_EXPORT_LDFLAGS) \
-no-undefined \
$(dbus_res_ldflag) \
$(NULL)
libdbus_internal_la_LIBADD=$(LIBDBUS_LIBS) libdbus-1.la
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment