info-msvc.mak 5.0 KB
Newer Older
1 2
# NMake Makefile portion for displaying config info

3
INC_FEATURES = Fallback OT
4 5 6
BUILT_TOOLS =
BUILT_LIBRARIES = HarfBuzz

7 8
!if "$(NO_UCDN)" != "1"
UNICODE_IMPL = ucdn
C
Chun-wei Fan 已提交
9
!elseif "$(GLIB)" == "1"
10
UNICODE_IMPL = GLib
C
Chun-wei Fan 已提交
11 12 13 14 15
!elseif "$(ICU)" == "1"
UNICODE_IMPL = ICU
!endif

!if "$(GLIB)" == "1"
16 17 18 19 20
INC_FEATURES = $(INC_FEATURES) GLib
BUILT_TOOLS = hb-shape.exe hb-ot-shape-closure.exe
!if "$(CAIRO_FT)" == "1"
BUILT_TOOLS = hb-view.exe $(BUILT_TOOLS)
!endif
21
!endif
C
Chun-wei Fan 已提交
22 23
!if "$(ICU)" == "1"
INC_FEATURES = $(INC_FEATURES) ICU
24 25 26 27 28 29 30 31 32 33
!endif

!if "$(FREETYPE)" == "1"
INC_FEATURES = $(INC_FEATURES) FreeType
!endif

!if "$(GRAPHITE2)" == "1"
INC_FEATURES = $(INC_FEATURES) Graphite2
!endif

34 35 36 37
!if "$(UNISCRIBE)" == "1"
INC_FEATURES = $(INC_FEATURES) Uniscribe
!endif

38 39 40 41
!if "$(DIRECTWRITE)" == "1"
INC_FEATURES = $(INC_FEATURES) DirectWrite
!endif

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
!if "$(GOBJECT)" == "1"
BUILT_LIBRARIES = $(BUILT_LIBRARIES) HarfBuzz-GObject
!endif

!if "$(INTROSPECTION)" == "1"
BUILD_INTROSPECTION = yes
!else
BUILD_INTROSPECTION = no
!endif

build-info-hb:
	@echo.
	@echo ==================================
	@echo Configuration for HarfBuzz Library
	@echo ==================================
	@echo Unicode Implementation: $(UNICODE_IMPL)
	@echo Enabled Features: $(INC_FEATURES)

all-build-info: build-info-hb
	@echo.
	@echo ----------------
	@echo Other build info
	@echo ----------------
	@echo Built Libraries: $(BUILT_LIBRARIES)
	@echo Built Tools: $(BUILT_TOOLS)
	@echo Introspection: $(BUILD_INTROSPECTION)

help:
	@echo.
	@echo =============================
	@echo Building HarfBuzz Using NMake
	@echo =============================
	@echo nmake /f Makefile.vc CFG=[release^|debug] ^<PREFIX=PATH^> OPTION=1 ...
	@echo.
	@echo Where:
	@echo ------
	@echo CFG: Required, use CFG=release for an optimized build and CFG=debug
	@echo for a debug build.  PDB files are generated for all builds.
	@echo.
	@echo PREFIX: Optional, the path where dependent libraries and tools may be
	@echo found, default is ^$(srcrootdir)\..\vs^$(short_vs_ver)\^$(platform),
	@echo where ^$(short_vs_ver) is 9 for VS 2008, 10 for VS 2010 and so on; and
	@echo ^$(platform) is Win32 for 32-bit builds and x64 for x64 builds.
	@echo.
	@echo OPTION: Optional, may be any of the following, use OPTION=1 to enable;
	@echo multiple OPTION's may be used.  If no OPTION is specified, a default
88 89
	@echo HarfBuzz DLL is built with OpenType and support with a bundled
	@echo Unicode implementation (UCDN).
90
	@echo ======
91 92 93 94 95
	@echo.
	@echo CAIRO_FT:
	@echo Enables Cairo-Freetype support, needed for the build of the hb-view utility.
	@echo Implies FreeType2 support and also requires Cairo built with FreeType2
	@echo support; GLib2 support must also be enabled.
96
	@echo.
97 98 99
	@echo DIRECTWRITE:
	@echo Enable DirectWrite support, requires a recent enough Windows SDK.
	@echo.
100 101 102 103 104 105 106 107 108 109
	@echo FREETYPE:
	@echo Enable FreeType2 support, requires the FreeType2 library
	@echo.
	@echo GLIB:
	@echo Enable GLib2 support, with GLib Unicode support, requires the GNOME GLib2
	@echo library.  Enables the build of utility programs.
	@echo.
	@echo GOBJECT:
	@echo Enable the HarfBuzz-GObject library, also implies GLib2 support,
	@echo requires the GNOME GLib2 libraries and tools, notably the glib-mkenums
110
	@echo tool script, which will require a PERL interpreter (use
111 112
	@echo PERL=^$(PATH_TO_PERL_INTERPRETOR)) if it is not already in your PATH).
	@echo.
113 114 115 116 117 118 119
	@echo GRAPHITE2:
	@echo Enable graphite2 support, requires the SIL Graphite2 library
	@echo.
	@echo ICU:
	@echo Enable build with ICU Unicode functions, requires the International
	@echo Components for Unicode (ICU) libraries.
	@echo.
120 121 122 123
	@echo INTROSPECTION:
	@echo Enable the build of introspection files, also implies GObject/GLib2 support,
	@echo requires the GNOME gobject-introspection libraries and tools.  You will need
	@echo to ensure the pkg-config (.pc) files can be found for GObject-2.0 and the
124
	@echo Python interpreter (that was used to build the gobject-introspection tools)
125 126 127 128 129 130 131 132
	@echo can be found by setting PKG_CONFIG_PATH beforehand, and passing in PYTHON=
	@echo ^$(PATH_TO_PYTHON_INTERPRETOR) respectively, if python.exe is not already
	@echo in your PATH.
	@echo.
	@echo LIBTOOL_DLL_NAME:
	@echo Use a libtool-style DLL name to mimic the DLL file naming generated by
	@echo MinGW builds.
	@echo.
133 134 135 136 137 138 139
	@echo NO_UCDN:
	@echo Do not use the bundled Unicode callback, which is the default.  GLib or
	@echo ICU-based unicode callback is therefore required.
	@echo
	@echo UNISCRIBE:
	@echo Enable Uniscribe support.
	@echo.
140 141 142 143 144 145 146 147 148 149 150 151 152 153
	@echo Note that GLib2 support is required for all utility and test programs.
	@echo ======
	@echo A 'clean' target is supported to remove all generated files, intermediate
	@echo object files and binaries for the specified configuration.
	@echo.
	@echo A 'tests' target is supported to build the test programs, if GLib2 support
	@echo is enabled.  Use after building the libraries and utilities.
	@echo.
	@echo An 'install' target is supported to copy the build (DLLs, utility programs,
	@echo LIBs, along with the introspection files if applicable) to appropriate
	@echo locations under ^$(PREFIX).
	@echo ======
	@echo.