From b90fb83ea6067802e62af9e1ea0c61c7ac79e9a9 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Fri, 24 Feb 2017 17:47:44 +0800 Subject: [PATCH] Visual Studio builds: Fix Introspection when UCDN enabled The sources in src/hb-ucdn and not included correctly into the NMake Makefiles, as we need their explicit relative location as we pass all the sources we used into the introspection scanner. This was not an issue before as we excluded the UCDN sources in the build when we enabled introspection (meaning GLib is enabled), but since we default on using UCDN on all builds unless explicitly disabled, we need to deal with this. This did not affect builds using UCDN without introspection due to the use of NMake batch rules. Fix this by creating a NMake Makefile module on-the-fly with the correct subdir info, and using that list in there instead. --- win32/Makefile.vc | 15 +++++++++++++++ win32/config-msvc.mak | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/win32/Makefile.vc b/win32/Makefile.vc index fdde7a7d4..05778ae54 100644 --- a/win32/Makefile.vc +++ b/win32/Makefile.vc @@ -14,6 +14,21 @@ !include ..\src\hb-ucdn\Makefile.sources !include ..\util\Makefile.sources +# We need to include the sources in ..\src\hb-ucdn indirectly +!if [call create-lists.bat header hb_ucdn_srcs.mak hb_ucdn_SRCS] +!endif + +!if [for %c in ($(LIBHB_UCDN_sources)) do @call create-lists.bat file hb_ucdn_srcs.mak hb-ucdn\%c] +!endif + +!if [call create-lists.bat footer hb_ucdn_srcs.mak] +!endif + +!include hb_ucdn_srcs.mak + +!if [del /f /q hb_ucdn_srcs.mak] +!endif + # Include the Makefile portion that enables features based on user input !include config-msvc.mak diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak index 285ad1406..dffdcb266 100644 --- a/win32/config-msvc.mak +++ b/win32/config-msvc.mak @@ -136,7 +136,7 @@ HB_CFLAGS = \ $(HB_CFLAGS) \ $(HB_UCDN_CFLAGS) -HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources) +HB_SOURCES = $(HB_SOURCES) $(hb_ucdn_SRCS) $(HB_UCDN_sources) !endif # Enable GLib if desired