blob: 3ec11d4dc50fc4ac858617d256842846771d1c8a [file] [log] [blame]
Chun-wei Fand7b66362015-11-03 19:00:42 +08001# NMake Makefile portion for displaying config info
2
Ebrahim Byagowid8e2eb92016-10-09 09:06:05 +03303INC_FEATURES = Fallback OT
Chun-wei Fand7b66362015-11-03 19:00:42 +08004BUILT_TOOLS =
5BUILT_LIBRARIES = HarfBuzz
6
7!if "$(GLIB)" == "1"
8UNICODE_IMPL = GLib
9INC_FEATURES = $(INC_FEATURES) GLib
10BUILT_TOOLS = hb-shape.exe hb-ot-shape-closure.exe
11!if "$(CAIRO_FT)" == "1"
12BUILT_TOOLS = hb-view.exe $(BUILT_TOOLS)
13!endif
elmarb4cd0cd62016-12-07 11:50:27 +010014!elseif "$(ICU)" == "1"
15UNICODE_IMPL = ICU
Chun-wei Fand7b66362015-11-03 19:00:42 +080016!else
17UNICODE_IMPL = ucdn
18!endif
19
20!if "$(FREETYPE)" == "1"
21INC_FEATURES = $(INC_FEATURES) FreeType
22!endif
23
24!if "$(GRAPHITE2)" == "1"
25INC_FEATURES = $(INC_FEATURES) Graphite2
26!endif
27
Ebrahim Byagowid8e2eb92016-10-09 09:06:05 +033028!if "$(UNISCRIBE)" == "1"
29INC_FEATURES = $(INC_FEATURES) Uniscribe
30!endif
31
Chun-wei Fanf6ffba62015-12-09 14:57:15 +080032!if "$(DIRECTWRITE)" == "1"
33INC_FEATURES = $(INC_FEATURES) DirectWrite
34!endif
35
Chun-wei Fand7b66362015-11-03 19:00:42 +080036!if "$(GOBJECT)" == "1"
37BUILT_LIBRARIES = $(BUILT_LIBRARIES) HarfBuzz-GObject
38!endif
39
40!if "$(INTROSPECTION)" == "1"
41BUILD_INTROSPECTION = yes
42!else
43BUILD_INTROSPECTION = no
44!endif
45
46build-info-hb:
47 @echo.
48 @echo ==================================
49 @echo Configuration for HarfBuzz Library
50 @echo ==================================
51 @echo Unicode Implementation: $(UNICODE_IMPL)
52 @echo Enabled Features: $(INC_FEATURES)
53
54all-build-info: build-info-hb
55 @echo.
56 @echo ----------------
57 @echo Other build info
58 @echo ----------------
59 @echo Built Libraries: $(BUILT_LIBRARIES)
60 @echo Built Tools: $(BUILT_TOOLS)
61 @echo Introspection: $(BUILD_INTROSPECTION)
62
63help:
64 @echo.
65 @echo =============================
66 @echo Building HarfBuzz Using NMake
67 @echo =============================
68 @echo nmake /f Makefile.vc CFG=[release^|debug] ^<PREFIX=PATH^> OPTION=1 ...
69 @echo.
70 @echo Where:
71 @echo ------
72 @echo CFG: Required, use CFG=release for an optimized build and CFG=debug
73 @echo for a debug build. PDB files are generated for all builds.
74 @echo.
75 @echo PREFIX: Optional, the path where dependent libraries and tools may be
76 @echo found, default is ^$(srcrootdir)\..\vs^$(short_vs_ver)\^$(platform),
77 @echo where ^$(short_vs_ver) is 9 for VS 2008, 10 for VS 2010 and so on; and
78 @echo ^$(platform) is Win32 for 32-bit builds and x64 for x64 builds.
79 @echo.
80 @echo OPTION: Optional, may be any of the following, use OPTION=1 to enable;
81 @echo multiple OPTION's may be used. If no OPTION is specified, a default
Ebrahim Byagowid8e2eb92016-10-09 09:06:05 +033082 @echo HarfBuzz DLL is built with OpenType and fallback support
Chun-wei Fand7b66362015-11-03 19:00:42 +080083 @echo with a bundled Unicode implementation (UCDN).
84 @echo ======
Ebrahim Byagowid8e2eb92016-10-09 09:06:05 +033085 @echo UNISCRIBE:
86 @echo Enable Uniscribe support.
87 @echo.
Chun-wei Fanf6ffba62015-12-09 14:57:15 +080088 @echo DIRECTWRITE:
89 @echo Enable DirectWrite support, requires a recent enough Windows SDK.
90 @echo.
Chun-wei Fand7b66362015-11-03 19:00:42 +080091 @echo GRAPHITE2:
92 @echo Enable graphite2 support, requires the SIL Graphite2 library
93 @echo.
94 @echo FREETYPE:
95 @echo Enable FreeType2 support, requires the FreeType2 library
96 @echo.
97 @echo GLIB:
98 @echo Enable GLib2 support, with GLib Unicode support, requires the GNOME GLib2
99 @echo library. Enables the build of utility programs.
100 @echo.
101 @echo ICU:
elmarb4cd0cd62016-12-07 11:50:27 +0100102 @echo Enable build with ICU Unicode functions, requires the International
Chun-wei Fand7b66362015-11-03 19:00:42 +0800103 @echo Components for Unicode (ICU) libraries.
104 @echo.
105 @echo GOBJECT:
106 @echo Enable the HarfBuzz-GObject library, also implies GLib2 support,
107 @echo requires the GNOME GLib2 libraries and tools, notably the glib-mkenums
elmarb4cd0cd62016-12-07 11:50:27 +0100108 @echo tool script, which will require a PERL interpreter (use
Chun-wei Fand7b66362015-11-03 19:00:42 +0800109 @echo PERL=^$(PATH_TO_PERL_INTERPRETOR)) if it is not already in your PATH).
110 @echo.
111 @echo INTROSPECTION:
112 @echo Enable the build of introspection files, also implies GObject/GLib2 support,
113 @echo requires the GNOME gobject-introspection libraries and tools. You will need
114 @echo to ensure the pkg-config (.pc) files can be found for GObject-2.0 and the
elmarb4cd0cd62016-12-07 11:50:27 +0100115 @echo Python interpreter (that was used to build the gobject-introspection tools)
Chun-wei Fand7b66362015-11-03 19:00:42 +0800116 @echo can be found by setting PKG_CONFIG_PATH beforehand, and passing in PYTHON=
117 @echo ^$(PATH_TO_PYTHON_INTERPRETOR) respectively, if python.exe is not already
118 @echo in your PATH.
119 @echo.
120 @echo CAIRO_FT:
121 @echo Enables Cairo-Freetype support, needed for the build of the hb-view utility.
122 @echo Implies FreeType2 support and also requires Cairo built with FreeType2
123 @echo support; GLib2 support must also be enabled.
124 @echo.
125 @echo LIBTOOL_DLL_NAME:
126 @echo Use a libtool-style DLL name to mimic the DLL file naming generated by
127 @echo MinGW builds.
128 @echo.
129 @echo Note that GLib2 support is required for all utility and test programs.
130 @echo ======
131 @echo A 'clean' target is supported to remove all generated files, intermediate
132 @echo object files and binaries for the specified configuration.
133 @echo.
134 @echo A 'tests' target is supported to build the test programs, if GLib2 support
135 @echo is enabled. Use after building the libraries and utilities.
136 @echo.
137 @echo An 'install' target is supported to copy the build (DLLs, utility programs,
138 @echo LIBs, along with the introspection files if applicable) to appropriate
139 @echo locations under ^$(PREFIX).
140 @echo ======
141 @echo.
142