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.
This commit is contained in:
Chun-wei Fan 2017-02-24 17:47:44 +08:00 committed by Khaled Hosny
parent f0aa167e44
commit b90fb83ea6
2 changed files with 16 additions and 1 deletions

View File

@ -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

View File

@ -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