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