# <http://www.gnu.org/licenses/>.
#
#
-# For 64-bit Windows host, embed a manifest that sets the active
+# For mingw Windows hosts, embed a manifest that sets the active
# code page of the driver and compiler proper processes to utf8.
-# This only has an effect on Windows version 1903 (May 2019 Update)
-# or later.
+# This only has an effect when gcc is hosted on Windows version
+# 1903 (May 2019 Update) or later.
# The resource .rc file references the utf8 .manifest file.
# Compile it into an object file using windres.
# The resulting .o file gets added to host_extra_gcc_objs in
-# config.host for x86_64-*-mingw* host and gets linked into
+# config.host for mingw hosts and gets linked into
# the driver as a .o file, so it's lack of symbols is OK.
utf8rc-mingw32.o : $(srcdir)/config/i386/utf8-mingw32.rc \
$(srcdir)/config/i386/winnt-utf8.manifest
# Combine the two object files into one which has both the
# compiled utf8 resource and the HOST_EXTRA_OBJS_SYMBOL symbol.
# The resulting .o file gets added to host_extra_objs in
-# config.host for x86_64-*-mingw* host and gets archived into
+# config.host for mingw hosts and gets archived into
# libbackend.a which gets linked into the compiler proper.
# If nothing references it into libbackend.a, it will not
# get linked into the compiler proper eventually.
# This is expected because the resource object is not supposed
# to have any symbols, it just has to be linked into the
# executable in order for Windows to use the utf8 code page.
+# Some build environments are passing these flags to other
+# programs as well, so make the symbol definition optional
+# such that these programs don't fail to build when they
+# don't find it.
$(COMPILERS) : override LDFLAGS += -Wl,--undefined=HOST_EXTRA_OBJS_SYMBOL