+FSCTL_DISMOUNT_VOLUME define
[reactos.git] / lib / freetype / Jamfile
1 # FreeType 2 top Jamfile (c) 2001-2002 David Turner
2 #
3
4 # The HDRMACRO is already defined in FTJam and is used to add
5 # the content of certain macros to the list of included header
6 # files.
7 #
8 # we can compile FreeType 2 with classic Jam however thanks to
9 # the following code
10 #
11 if ! $(JAM_TOOLSET)
12 {
13   rule HDRMACRO
14   {
15     # nothing !!
16   }
17 }
18
19 # We need to invoke a SubDir rule if the FT2 source directory top is not the
20 # current directory.  This allows us to build FreeType 2 as part of a larger
21 # project easily.
22 #
23 if $(FT2_TOP) != $(DOT)
24 {
25   SubDir  FT2_TOP ;
26 }
27
28 #
29 # The following macros define the include directory, the source directory
30 # and the final library name (without library extensions). They can be
31 # replaced by other definitions when the library is compiled as part of
32 # a larger project.
33 #
34
35 # name of FreeType include directory during compilation.
36 # relative to FT2_TOP
37 #
38 FT2_INCLUDE_DIR ?= include ;
39
40 # name of FreeType source directory during compilation.
41 # relative to FT2_TOP
42 #
43 FT2_SRC_DIR ?= src ;
44
45 # name of final library, without extension
46 #
47 FT2_LIB ?= $(LIBPREFIX)freetype ;
48
49
50 # define FT2_BUILD_INCLUDE to point to your build-specific directory
51 # this is prepended to FT2_INCLUDE_DIR. This can be used to specify
52 # the location of a custom <ft2build.h> which will point to custom
53 # versions of "ftmodule.h" and "ftoption.h", for example
54 #
55 FT2_BUILD_INCLUDE ?= ;
56
57 # the list of modules to compile on any given build of the library
58 # by default, this will contain _all_ modules defined in FT2_SRC_DIR
59 #
60 # IMPORTANT: You'll need to change the content of "ftmodule.h" as well
61 #            if you modify this list or provide your own.
62 #
63 FT2_COMPONENTS ?= gzip       # support for gzip-compressed files.
64                   autohint   # auto-hinter
65                   base       # base component (public APIs)
66                   bdf        # BDF font driver
67                   cache      # cache sub-system
68                   cff        # CFF/CEF font driver
69                   cid        # Postscript CID-keyed font driver
70                   pcf        # PCF font driver
71                   pfr        # PFR/TrueDoc font driver
72                   psaux      # Common Postscript routines module
73                   pshinter   # Postscript hinter module
74                   psnames    # Postscript names handling
75                   raster     # Monochrome rasterizer
76                   smooth     # Anti-aliased rasterizer
77                   sfnt       # SFNT-based format support routines
78                   truetype   # TrueType font driver
79                   type1      # Postscript Type 1 font driver
80                   type42     # Postscript Type 42 (embedded TrueType) driver
81                   winfonts   # Windows FON/FNT font driver
82                   ;
83
84
85 # don't touch
86 #
87 FT2_INCLUDE  = $(FT2_BUILD_INCLUDE)
88                [ FT2_SubDir $(FT2_INCLUDE_DIR) ] ;
89
90 FT2_SRC      = [ FT2_SubDir $(FT2_SRC_DIR) ] ;
91
92 # only used by FreeType developers
93 #
94 if $(DEBUG_HINTER)
95 {
96   CCFLAGS += -DDEBUG_HINTER ;
97 }
98
99
100 # We need "freetype2/include" in the current include path in order to
101 # compile any part of FreeType 2.
102 #
103 HDRS += $(FT2_INCLUDE) ;
104
105
106 # Uncomment the following line if you want to build individual source files
107 # for each FreeType 2 module. this is only useful during development, and
108 # is better defined as an environment variable anyway !
109 #
110 # FT2_MULTI = true ;
111
112 # The file <freetype/config/ftheader.h> is used to define macros that are
113 # later used in #include statements.  It needs to be parsed in order to
114 # record these definitions.
115 #
116 HDRMACRO  [ FT2_SubDir  include freetype config ftheader.h ] ;
117 HDRMACRO  [ FT2_SubDir  include freetype internal internal.h ] ;
118
119 # Now include the Jamfile in "freetype2/src", used to drive the compilation
120 # of each FreeType 2 component and/or module.
121 #
122 SubInclude  FT2_TOP $(FT2_SRC_DIR) ;
123
124
125 # tests files (hinter debugging). only used by FreeType developers
126 #
127 if $(DEBUG_HINTER)
128 {
129   SubInclude FT2_TOP tests ;
130 }
131
132 # end of top Jamfile