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