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