src/base/rules.mk


Log

Author Commit Date CI Message
Werner Lemberg 858f310b 2003-06-09T04:46:30 Completely revised FreeType's make management. . In all makefiles `/' is used as the path separator. The conversion to the real path separators is done as late as possible using $(subst ...). . $(HOSTSEP) no longer exists. Now, $(SEP) gives the path separator for the operating system, and the new $(COMPILER_SEP) the path separator for the compiler tools. . $(BUILD) has been renamed to $(BUILD_DIR). In general, all directory variables end with `_DIR'. The variants ending in `_' (like `BASE_' have been removed). The following ChangeLog entries only describe changes which are not related to the redesign. * builds/beos/beos-def.mk (BUILD_DIR): Fix typo. * builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid overlong arguments as suggested by J. Ali Harlow <ali@avrc.city.ac.uk>. * builds/dos/dos-wat.mk: New file. * builds/freetype.mk (FREETYPE_H): Include header files from the `devel' subdirectory. * builds/os2/os2-dev.mk, builds/unix/unixddef.mk, builds/unix/unixddef.mk, builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk (BUILD_DIR): Fix path. * builds/unix/configure.ac, builds/unic/configure: Updated. * builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'. * devel/ftoption.h: Updated.
Werner Lemberg 499053c1 2003-06-07T04:02:21 * include/freetype/ftstroker.h: Renamed to... * include/freetype/ftstroke.h: This. * src/base/ftstroker.c: Renamed to... * src/base/ftstroke.c: This. * include/freetype/config/ftheader.h (FT_STROKER_H): Updated. * src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk: Updated. * src/pcf/pcfdriver.c: Renamed to... * src/pcf/pcfdrivr.c: This. * src/pcf/pcfdriver.h: Renamed to... * src/pcf/pcfdrivr.h: This. * src/pcf/Jamfile, src/pcf/rules.mk: Updated.
David Turner 12d09050 2003-01-15T22:48:27 * include/freetype/config/ftheader.h, include/freetype/internal/fnttypes.h, include/freetype/ftwinfnt.h, src/base/winfnt.c, src/winfonts/winfnt.c, src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: added a Windows .FNT specific API (mostly for Wine). Also fixed a nasty bug in the header loader which would cause invalid memory overwrites
David Turner 20e33158 2003-01-07T22:54:02 * src/base/ftstroker.c: probably the last bug-fixes to the stroker, the API is likely to change however. * src/base/fttrigon.c (FT_Angle_Diff): fixing function, it returned invalid values for large negative angle differences (resulting in incorrect stroker computations, among other things) * src/cache/ftccache.c (ftc_node_unlink): removing incorrect assertion, and changing code to avoid hash table size contraction * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: adding "ftstroker.obj" to default build, as optional component
David Turner 3249c625 2002-10-31T08:30:19 * include/freetype/internal/internal.h, include/freetype/ftpfr.h, src/base/ftpfr.c, src/base/Jamfile, src/descrip.mms, src/rules.mk, src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfsobjs.h: added PFR-specific public API. Fixed the kerning retrievel routine (it returned invalid values when the outline and metrics resolution differ) * src/base/ftsynth.c: fixed the synthetic emboldener. at last. * src/base/ftobjs.c: small internal fix to better support bitmap-based font formats
David Turner 2a4fa134 2002-05-28T22:07:49 * include/freetype/ftxf86.h, src/base/ftxf86.c: added a new API named FT_Get_X11_Font_Format to return an X11-compatible string describing the font format of a given face. This was put in a new optional base source file, corresponding to a new public header (named FT_XFREE86_H since this function should only be used within the XFree86 font server IMO). * include/freetype/config/ftheader.h: adding FT_XFREE86_H, though it's not documented yet. * include/freetype/t1tables.h, src/base/fttype1.c: adding two new APIs named "FT_Get_PS_Font_Info" and "FT_Has_PS_Glyph_Names". This required a new optional source in 'src/base' named "fttype1.c" * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: updating build control files for the new files "ftxf86.c" and "fttype1.c" in src/base
David Turner 9e883cf6 2002-05-21T20:50:53 * include/freetype/internal/ftbdf.h, src/base/ftbdf.c, src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk: Adding a new API called "FT_Get_BDF_Charset_ID" to retrieve BDF-specific strings from a face. This is much cleaner than accessing the internal types "BDF_Public_Face" defined in FT_INTERNAL_BDF_TYPES_H
Werner Lemberg f8ba2005 2002-03-30T13:16:35 * include/freetype/t1tables.h (t1_blend_max): Fix typo. * src/base/ftstream.c: Simplify FT_ERROR calls. formatting, copyright update
David Turner 7d3a2642 2002-03-20T10:49:31 * renaming stream macros. Examples: FILE_Skip => FT_STREAM_SKIP FILE_Read => FT_STREAM_READ ACCESS_Frame => FT_FRAME_ENTER FORGET_Frame => FT_FRAME_EXIT etc...
David Turner 53b3fa1d 2002-02-24T05:26:57 * renaming stream functions to the FT_Subject_Action scheme: FT_Seek_Stream => FT_Stream_Seek FT_Skip_Stream => FT_Stream_Skip FT_Read_Stream => FT_Stream_Read FT_Read_Stream_At => FT_Stream_Read_At FT_Access_Frame => FT_Stream_Enter_Frame FT_Forget_Frame => FT_Stream_Exit_Frame FT_Extract_Frame => FT_Stream_Extract_Frame FT_Release_Frame => FT_Stream_Release_Frame FT_Get_XXXX => FT_Stream_Get_XXXX FT_Read_XXXX => FT_Stream_Read_XXXX note also that: FT_New_Stream( filename, stream ) => FT_Stream_Open( stream, filename ) (the function doesn't create the FT_Stream structure, it simply initializes it for reading) FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) => FT_Stream_Open_Memory( stream, const FT_Byte* base, size ) FT_Done_Stream => FT_Stream_Close note that the name of the stream methods, defined in "include/freetype/ftsystem.h" have also been changed without problems: FT_Stream_IO => FT_Stream_IOFunc FT_Stream_Close => FT_Stream_CloseFunc
David Turner 4d57024d 2002-02-24T02:59:24 * moving all code related to glyph loaders to "internal/ftgloadr.h" and "src/base/ftgloadr.c". Note also that the type "FT_GlyphLoader" is now a pointer to the structure "FT_GlyphLoaderRec"..
David Turner 222cec8c 2002-02-21T11:48:48 * include/freetype/internal/ftdebug.h, src/base/ftdebug.c: modified the debug sub-system initialization. trace levels can now be specified within the "FT2_DEBUG" environment variable. See the comments within "ftdebug.c" for more details * include/freetype/internal/fttrace.h: new file to define the trace levels used for debugging. it is used both to define enums and toggle names for FT2_DEBUG * src/base/ftobjs.c, src/base/ftstream.c: FT_Assert renamed to FT_ASSERT * include/freetype/internal/ftextend.h, src/base/ftextend.c, src/base/Jamfile, src/base/rules.mk: removing "ftextend" from the library, since it is now completely obsolete..
David Turner 869fc490 2001-10-22T08:32:21 Added a new debugging memory manager implementation. See the FT_DEBUG_MEMORY macro definition in "ftoption.h", as well as the file "src/base/ftdbgmem.c"
David Turner ebe85f59 2001-05-11T14:25:57 * include/freetype/fttrigon.h, src/base/fttrigon.c, src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: adding trigonometric functions to the core API (using Cordic algorithms). * builds/top_level.mk, builds/newline, builds/detect.mk: fixed problems with Make on Windows 2000, as well as problems when "make distclean" is invoked on a non-Unix platform when there is no "config.mk" in the current directory.. * builds/freetype.mk: fixed a problem with object deletions under Dos/Windows/OS/2 systems * src/tools: added new directory to hold tools and test programs moved docmaker.py, glnames.py to it.. * src/tools/docmaker.py: improved the script to add the current date at the footer of each web page (useful to distinguish between versions) * Jamfile: fixed incorrect HDRMACRO argument. * TODO: removed the cubic arc bbox computation note, since it has been fixed recently.. * include/freetype/t1tables.h, include/freetype/config/ftoption.h: formatting
Werner Lemberg ddbb8e7b 2000-10-26T10:04:16 Some formatting. Fixed some data types/added header files to remove compiler warnings. Added trivial input data check to FT_Outline_Get_BBox(). Fixed type1z -> type1 file inclusions.
David Turner 3a3ffedc 2000-10-26T00:08:15 adding "ftbbox" to build rules
Werner Lemberg c1635d44 2000-10-15T23:32:01 ftnames.c has been erroneously included twice.
Werner Lemberg a7096374 2000-10-11T23:31:12 Added new `ft_glyph_bbox_unscaled' enum; fixing documentation of FT_Glyph_Get_CBox(). ftnames.c has been omitted from the Makefile.
David Turner f0df85ba 2000-06-22T00:17:42 - MAJOR INTERNAL REDESIGN: A lot of internal modifications have been performed lately on the source in order to provide the following enhancements: - more generic module support: The FT_Module type is now defined to represent a handle to a given module. The file <freetype/ftmodule.h> contains the FT_Module_Class definition, as well as the module-loading public API The FT_Driver type is still defined, and still represents a pointer to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module, FT_Get_Driver by FT_Get_Module, etc.. - support for generic glyph image types: The FT_Renderer type is a pointer to a module used to perform various operations on glyph image. Each renderer is capable of handling images in a single format (e.g. ft_glyph_format_outline). Its functions are used to: - transform an glyph image - render a glyph image into a bitmap - return the control box (dimensions) of a given glyph image The scan converters "ftraster.c" and "ftgrays.c" have been moved to the new directory "src/renderer", and are used to provide two default renderer modules. One corresponds to the "standard" scan-converter, the other to the "smooth" one. The current renderer can be set through the new function FT_Set_Renderer. The old raster-related function FT_Set_Raster, FT_Get_Raster and FT_Set_Raster_Mode have now disappeared, in favor of the new: FT_Get_Renderer FT_Set_Renderer see the file <freetype/ftrender.h> for more details.. These changes were necessary to properly support different scalable formats in the future, like bi-color glyphs, etc.. - glyph loader object: A new internal object, called a 'glyph loader' has been introduced in the base layer. It is used by all scalable format font drivers to load glyphs and composites. This object has been created to reduce the code size of each driver, as each one of them basically re-implemented its functionality. See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for more information.. - FT_GlyphSlot had new fields: In order to support extended features (see below), the FT_GlyphSlot structure has a few new fields: linearHoriAdvance: this field gives the linearly scaled (i.e. scaled but unhinted) advance width for the glyph, expressed as a 16.16 fixed pixel value. This is useful to perform WYSIWYG text. linearVertAdvance: this field gives the linearly scaled advance height for the glyph (relevant in vertical glyph layouts only). This is useful to perform WYSIWYG text. Note that the two above field replace the removed "metrics2" field in the glyph slot. advance: this field is a vector that gives the transformed advance for the glyph. By default, it corresponds to the advance width, unless FT_LOAD_VERTICAL_LAYOUT was specified when calling FT_Load_Glyph or FT_Load_Char bitmap_left: this field gives the distance in integer pixels from the current pen position to the left-most pixel of a glyph image WHEN IT IS A BITMAP. It is only valid when the "format" field is set to "ft_glyph_format_bitmap", for example, after calling the new function FT_Render_Glyph. bitmap_top: this field gives the distance in integer pixels from the current pen position (located on the baseline) to the top-most pixel of the glyph image WHEN IT IS A BITMAP. Positive values correspond to upwards Y. loader: this is a new private field for the glyph slot. Client applications should not touch it.. - support for transforms and direct rendering in FT_Load_Glyph: Most of the functionality found in <freetype/ftglyph.h> has been moved to the core library. Hence, the following: - a transform can be specified for a face through FT_Set_Transform. this transform is applied by FT_Load_Glyph to scalable glyph images (i.e. NOT TO BITMAPS) before the function returns, unless the bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags.. - once a glyph image has been loaded, it can be directly converted to a bitmap by using the new FT_Render_Glyph function. Note that this function takes the glyph image from the glyph slot, and converts it to a bitmap whose properties are returned in "face.glyph.bitmap", "face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original native image might be lost after the conversion. - when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph and FT_Load_Char functions will call FT_Render_Glyph automatically when needed.
Werner Lemberg e35cac66 2000-06-11T03:46:57 A complete revision of FreeType 2's GNU makefiles (of the library): Tons of unnecessary stuff have been removed; only the essential rules have been retained. The source files now depend on all header files in include/freetype, include/freetype/config, and include/freetype/internal. This is not optimal, I know, and I'll try to improve this, but it is better than before (namely no dependencies on `internal'). FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know exactly whether this is really useful, but it doesn't harm. There is now more documentation in the makefiles itself. io-frames.html: Use of <th>, <code>, and <var> for better tagging. Reactivating of FT_DEBUG_LEVEL_xxx macros. Added a lot of #include directives to make `multi' builds possible -- note that currently the modules cid, t1, and t1z have clashing structures and functions which means that you can only use one of these three modules for a multi build. Added some missing function declarations to (local) header files. Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot of other functions should be renamed also... Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished yet... Fixed FT_Free() to allow a NULL pointer without an assertion (this has always been a valid assumption in FreeType, at least in FT 1.x). A lot of other, minor fixes (mostly documentation).
Werner Lemberg 4e6dd858 2000-06-05T05:26:15 freetype.h: Adding ft_encoding_xxx values for some CJK encodings. Fixing copyright notice on many files. Changed some tracing levels. A lot of formatting, fixing documentation etc. as usual.
Werner Lemberg 91e52d41 2000-06-02T14:30:38 Finishing first formatting/documenting etc. of the `base' dir. Some modules are still badly documented, though...
David Turner 11187206 2000-05-26T17:13:23 finalised the multiple masters support fixed some nasty little bugs too
David Turner 2561b245 2000-05-11T18:47:39 I knew the first CVS commit wouldn't be good :o) Here, the build system seems to be cured now.. (I'll need to try it on Unix too though..)
David Turner efce08d6 2000-05-11T18:23:52 major re-organisation of the FreeType 2 directory hierarchy
David Turner e608a3e0 2000-05-02T10:53:11 moved the smooth renderer to the base layer directory it is compiled as a separate object, and its interface is available in "include/ftgrays.h"
David Turner 37379e21 2000-03-28T11:22:31 major changes to the library: - there is now a "convenience" API to manage glyphs in "include/ftglyph.h". See the demo program "ftstring" for an example.. - the raster interface has been changed in order to allow direct composition through user-provided callbacks. This has been tested but isn't demonstrated for now in "demos" - the FT_LOAD_NO_RECURSE flag is supported, as this is required by some new code in the auto-hinting engine - some bug fixed in FT_MulFix which made FT_xxx_Transform return incorrect results..
David Turner 06d508c1 2000-03-13T11:52:44 removed the unused/obsolete "ftbbox.c"
Werner Lemberg febe3fbe 2000-03-05T01:14:19 A first check of FT2's Make system. Many smaller and larger bugs have been fixed: . Removing unused variables. . detect.mk files now must provide $(CONFIG_FILE) and not $(CONFIG_RULE). . ansi.mk will now be really used as a fallback if the detect mechanism fails. . ANSIFLAGS will now be really used (fixing a typo). . `make clean' now works (again two typos). . Detection of gcc on Unix has been fixed (using the `-v' option instead of `--version'). . `make devel' now works (on Unix). . Fixing *again* a bug in demos/graph/x11/rules.mk to allow multiple use of `-L' compiler options. . $(BASE_H) now contains a few more header files. As usual, a lot of formatting (not finished yet).
David Turner 3ba47068 2000-01-17T11:25:57 some updates to the "rules.mk" files. Basically, we now use "$(FT_COMPILE)" instead of "$(FT_CC)" in order to compile the library. $(FT_COMPILE) uses the $(ANSI_FLAGS) variable used to define ANSI-compliance flags for the current compiler. It is used to compile the library exclusively (some demo programs will _not_ compile properly with these flags set).
David Turner d2b1f357 1999-12-16T23:11:37 Initial revision