• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NMake Makefile portion for displaying config info
2
3INC_FEATURES = Fallback OT
4BUILT_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
14!elseif "$(ICU)" == "1"
15UNICODE_IMPL = ICU
16!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
28!if "$(UNISCRIBE)" == "1"
29INC_FEATURES = $(INC_FEATURES) Uniscribe
30!endif
31
32!if "$(DIRECTWRITE)" == "1"
33INC_FEATURES = $(INC_FEATURES) DirectWrite
34!endif
35
36!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
82	@echo HarfBuzz DLL is built with OpenType and fallback support
83	@echo with a bundled Unicode implementation (UCDN).
84	@echo ======
85	@echo UNISCRIBE:
86	@echo Enable Uniscribe support.
87	@echo.
88	@echo DIRECTWRITE:
89	@echo Enable DirectWrite support, requires a recent enough Windows SDK.
90	@echo.
91	@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:
102	@echo Enable build with ICU Unicode functions, requires the International
103	@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
108	@echo tool script, which will require a PERL interpreter (use
109	@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
115	@echo Python interpreter (that was used to build the gobject-introspection tools)
116	@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
143