mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-09-22 03:09:16 +08:00
Update CRLF
This commit is contained in:
@@ -1 +1 @@
|
||||
config.mk
|
||||
config.mk
|
||||
|
||||
+7948
-7948
File diff suppressed because it is too large
Load Diff
+2613
-2613
File diff suppressed because it is too large
Load Diff
+9439
-9439
File diff suppressed because it is too large
Load Diff
+2837
-2837
File diff suppressed because it is too large
Load Diff
+71
-71
@@ -1,71 +1,71 @@
|
||||
# FreeType 2 JamRules.
|
||||
#
|
||||
# Copyright 2001, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# This file contains the Jam rules needed to build the FreeType 2 library.
|
||||
# It is shared by all Jamfiles and is included only once in the build
|
||||
# process.
|
||||
#
|
||||
|
||||
|
||||
# Call SubDirHdrs on a list of directories.
|
||||
#
|
||||
rule AddSubDirHdrs
|
||||
{
|
||||
local x ;
|
||||
|
||||
for x in $(<)
|
||||
{
|
||||
SubDirHdrs $(x) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Determine prefix of library file. We must use "libxxxxx" on Unix systems,
|
||||
# while all other simply use the real name.
|
||||
#
|
||||
if $(UNIX)
|
||||
{
|
||||
LIBPREFIX ?= lib ;
|
||||
}
|
||||
else
|
||||
{
|
||||
LIBPREFIX ?= "" ;
|
||||
}
|
||||
|
||||
# FT2_TOP contains the location of the FreeType source directory. You can
|
||||
# set it to a specific value if you want to compile the library as part of a
|
||||
# larger project.
|
||||
#
|
||||
FT2_TOP ?= $(DOT) ;
|
||||
|
||||
# Define a new rule used to declare a sub directory of the Nirvana source
|
||||
# tree.
|
||||
#
|
||||
rule FT2_SubDir
|
||||
{
|
||||
if $(FT2_TOP) = $(DOT)
|
||||
{
|
||||
return [ FDirName $(<) ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
return [ FDirName $(FT2_TOP) $(<) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
# We also set ALL_LOCATE_TARGET in order to place all object and library
|
||||
# files in "objs".
|
||||
#
|
||||
ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ;
|
||||
|
||||
|
||||
# end of Jamrules
|
||||
# FreeType 2 JamRules.
|
||||
#
|
||||
# Copyright 2001, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# This file contains the Jam rules needed to build the FreeType 2 library.
|
||||
# It is shared by all Jamfiles and is included only once in the build
|
||||
# process.
|
||||
#
|
||||
|
||||
|
||||
# Call SubDirHdrs on a list of directories.
|
||||
#
|
||||
rule AddSubDirHdrs
|
||||
{
|
||||
local x ;
|
||||
|
||||
for x in $(<)
|
||||
{
|
||||
SubDirHdrs $(x) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Determine prefix of library file. We must use "libxxxxx" on Unix systems,
|
||||
# while all other simply use the real name.
|
||||
#
|
||||
if $(UNIX)
|
||||
{
|
||||
LIBPREFIX ?= lib ;
|
||||
}
|
||||
else
|
||||
{
|
||||
LIBPREFIX ?= "" ;
|
||||
}
|
||||
|
||||
# FT2_TOP contains the location of the FreeType source directory. You can
|
||||
# set it to a specific value if you want to compile the library as part of a
|
||||
# larger project.
|
||||
#
|
||||
FT2_TOP ?= $(DOT) ;
|
||||
|
||||
# Define a new rule used to declare a sub directory of the Nirvana source
|
||||
# tree.
|
||||
#
|
||||
rule FT2_SubDir
|
||||
{
|
||||
if $(FT2_TOP) = $(DOT)
|
||||
{
|
||||
return [ FDirName $(<) ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
return [ FDirName $(FT2_TOP) $(<) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
# We also set ALL_LOCATE_TARGET in order to place all object and library
|
||||
# files in "objs".
|
||||
#
|
||||
ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ;
|
||||
|
||||
|
||||
# end of Jamrules
|
||||
|
||||
Vendored
+64
-64
@@ -1,64 +1,64 @@
|
||||
Special notes to Unix users
|
||||
===========================
|
||||
|
||||
Please read the file `docs/UPGRADE.UNIX'. It contains important
|
||||
information regarding the installation of FreeType on Unix systems,
|
||||
especially GNU based operating systems like GNU/Linux.
|
||||
|
||||
FreeType 2's library is called `libfreetype', FreeType 1's library
|
||||
is called `libttf'. They are *not* compatible!
|
||||
|
||||
|
||||
FreeType 2.3.12
|
||||
===============
|
||||
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT
|
||||
INFORMATION.
|
||||
|
||||
Read the files `docs/INSTALL' for installation instructions.
|
||||
|
||||
The FreeType 2 API reference is located in `docs/reference'; use the
|
||||
file `ft2-doc.html' as the top entry point. Additional
|
||||
documentation is available as a separate package from our sites. Go
|
||||
to
|
||||
|
||||
http://download.savannah.gnu.org/releases/freetype/
|
||||
|
||||
and download one of the following files.
|
||||
|
||||
freetype-doc-2.3.12.tar.bz2
|
||||
freetype-doc-2.3.12.tar.gz
|
||||
ftdoc2312.zip
|
||||
|
||||
|
||||
Bugs
|
||||
====
|
||||
|
||||
Please report bugs by e-mail to `freetype-devel@nongnu.org'. Don't
|
||||
forget to send a detailed explanation of the problem -- there is
|
||||
nothing worse than receiving a terse message that only says `it
|
||||
doesn't work'.
|
||||
|
||||
Alternatively, you may submit a bug report at
|
||||
|
||||
https://savannah.nongnu.org/bugs/?group=freetype
|
||||
|
||||
|
||||
Enjoy!
|
||||
|
||||
|
||||
The FreeType Team
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README ---
|
||||
Special notes to Unix users
|
||||
===========================
|
||||
|
||||
Please read the file `docs/UPGRADE.UNIX'. It contains important
|
||||
information regarding the installation of FreeType on Unix systems,
|
||||
especially GNU based operating systems like GNU/Linux.
|
||||
|
||||
FreeType 2's library is called `libfreetype', FreeType 1's library
|
||||
is called `libttf'. They are *not* compatible!
|
||||
|
||||
|
||||
FreeType 2.3.12
|
||||
===============
|
||||
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT
|
||||
INFORMATION.
|
||||
|
||||
Read the files `docs/INSTALL' for installation instructions.
|
||||
|
||||
The FreeType 2 API reference is located in `docs/reference'; use the
|
||||
file `ft2-doc.html' as the top entry point. Additional
|
||||
documentation is available as a separate package from our sites. Go
|
||||
to
|
||||
|
||||
http://download.savannah.gnu.org/releases/freetype/
|
||||
|
||||
and download one of the following files.
|
||||
|
||||
freetype-doc-2.3.12.tar.bz2
|
||||
freetype-doc-2.3.12.tar.gz
|
||||
ftdoc2312.zip
|
||||
|
||||
|
||||
Bugs
|
||||
====
|
||||
|
||||
Please report bugs by e-mail to `freetype-devel@nongnu.org'. Don't
|
||||
forget to send a detailed explanation of the problem -- there is
|
||||
nothing worse than receiving a terse message that only says `it
|
||||
doesn't work'.
|
||||
|
||||
Alternatively, you may submit a bug report at
|
||||
|
||||
https://savannah.nongnu.org/bugs/?group=freetype
|
||||
|
||||
|
||||
Enjoy!
|
||||
|
||||
|
||||
The FreeType Team
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README ---
|
||||
|
||||
+46
-46
@@ -1,46 +1,46 @@
|
||||
The git archive doesn't contain pre-built configuration scripts for
|
||||
UNIXish platforms. To generate them say
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
which in turn depends on the following packages:
|
||||
|
||||
automake (1.10.1)
|
||||
libtool (2.2.4)
|
||||
autoconf (2.62)
|
||||
|
||||
The versions given in parentheses are known to work. Newer versions
|
||||
should work too, of course. Note that autogen.sh also sets up proper
|
||||
file permissions for the `configure' and auxiliary scripts.
|
||||
|
||||
The autogen.sh script now checks the version of above three packages
|
||||
whether they match the numbers above. Otherwise it will complain and
|
||||
suggest either upgrading or using an environment variable to point to
|
||||
a more recent version of the required tool(s).
|
||||
|
||||
Note that `aclocal' is provided by the `automake' package on Linux,
|
||||
and that `libtoolize' is called `glibtoolize' on Darwin (OS X).
|
||||
|
||||
|
||||
For static builds which don't use platform specific optimizations, no
|
||||
configure script is necessary at all; saying
|
||||
|
||||
make setup ansi
|
||||
make
|
||||
|
||||
should work on all platforms which have GNU make (or makepp).
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2005, 2006, 2007, 2008, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README.CVS ---
|
||||
The git archive doesn't contain pre-built configuration scripts for
|
||||
UNIXish platforms. To generate them say
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
which in turn depends on the following packages:
|
||||
|
||||
automake (1.10.1)
|
||||
libtool (2.2.4)
|
||||
autoconf (2.62)
|
||||
|
||||
The versions given in parentheses are known to work. Newer versions
|
||||
should work too, of course. Note that autogen.sh also sets up proper
|
||||
file permissions for the `configure' and auxiliary scripts.
|
||||
|
||||
The autogen.sh script now checks the version of above three packages
|
||||
whether they match the numbers above. Otherwise it will complain and
|
||||
suggest either upgrading or using an environment variable to point to
|
||||
a more recent version of the required tool(s).
|
||||
|
||||
Note that `aclocal' is provided by the `automake' package on Linux,
|
||||
and that `libtoolize' is called `glibtoolize' on Darwin (OS X).
|
||||
|
||||
|
||||
For static builds which don't use platform specific optimizations, no
|
||||
configure script is necessary at all; saying
|
||||
|
||||
make setup ansi
|
||||
make
|
||||
|
||||
should work on all platforms which have GNU make (or makepp).
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2005, 2006, 2007, 2008, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README.CVS ---
|
||||
|
||||
+110
-110
@@ -1,110 +1,110 @@
|
||||
|
||||
README for the builds/amiga subdirectory.
|
||||
|
||||
Copyright 2005 by
|
||||
Werner Lemberg and Detlef Würkner.
|
||||
|
||||
This file is part of the FreeType project, and may only be used, modified,
|
||||
and distributed under the terms of the FreeType project license,
|
||||
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
indicate that you have read the license and understand and accept it
|
||||
fully.
|
||||
|
||||
|
||||
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
|
||||
"make -f makefile.os4", it produces a link library libft2_ppc.a.
|
||||
|
||||
The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
|
||||
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
|
||||
To use it, type "make assign", then "make"; it produces a link library
|
||||
libft2_ppc.a.
|
||||
|
||||
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
|
||||
latest sold version was 6.50, updates can be found in Aminet). It is
|
||||
based on the version found in the sourcecode of ttf.library 0.83b for
|
||||
FreeType 1.3.1 from Richard Griffith (ragriffi@sprynet.com,
|
||||
http://ragriffi.home.sprynet.com).
|
||||
|
||||
You will also need the latest include files and amiga.lib from the
|
||||
Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
|
||||
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
|
||||
|
||||
To use it, call "smake assign" and then "smake" from the builds/amiga
|
||||
directory. The results are:
|
||||
|
||||
- A link library "ft2_680x0.lib" (where x depends on the setting of
|
||||
the CPU entry in the smakefile) containing all FreeType2 parts
|
||||
except of the init code, debugging code, and the system interface
|
||||
code.
|
||||
|
||||
- ftsystem.o, an object module containing the standard version of the
|
||||
system interface code which uses fopen() fclose() fread() fseek()
|
||||
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
|
||||
|
||||
- ftsystempure.o, an object module containing the pure version of the
|
||||
system interface code which uses Open() Close() Read() Seek()
|
||||
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
|
||||
be used in both normal programs and in Amiga run-time shared system
|
||||
librarys (can be linked with lib:libinit.o, no copying of DATA and
|
||||
BSS hunks for each OpenLibrary() necessary). Source code is in
|
||||
src/base/ftsystem.c.
|
||||
|
||||
- ftdebug.o, an object module containing the standard version of the
|
||||
debugging code which uses vprintf() and exit() (not pure).
|
||||
Debugging can be turned on in FT:include/freetype/config/ftoption.h
|
||||
and with FT_SetTraceLevel().
|
||||
|
||||
- ftdebugpure.o, an object module containing the pure version of the
|
||||
debugging code which uses KVPrintf() from lib:debug.lib and no
|
||||
exit(). For debugging of Amiga run-time shared system libraries.
|
||||
Source code is in src/base/ftdebug.c.
|
||||
|
||||
- NO ftinit.o. Because linking with a link library should result in
|
||||
linking only the needed object modules in it, but standard
|
||||
ftsystem.o would force ALL FreeType2 modules to be linked to your
|
||||
program, I decided to use a different scheme: You must #include
|
||||
FT:src/base/ftinit.c in your sourcecode and specify with #define
|
||||
statements which modules you need. See
|
||||
include/freetype/config/ftmodule.h.
|
||||
|
||||
|
||||
To use in your own programs:
|
||||
|
||||
- Insert the #define and #include statements from top of
|
||||
include/freetype/config/ftmodule.h in your source code and uncomment
|
||||
the #define statements for the FreeType2 modules you need.
|
||||
|
||||
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
|
||||
calling the FreeType2 functions, because the link library and the
|
||||
object files are compiled with PARAMETERS=BOTH.
|
||||
|
||||
- "smake assign" (assign "FT:" to the FreeType2 main directory).
|
||||
|
||||
- Compile your program.
|
||||
|
||||
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
|
||||
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
|
||||
ft2_680x0.lib as link library.
|
||||
|
||||
|
||||
To adapt to other compilers:
|
||||
|
||||
- The standard ANSI C maximum length of 31 significant characters in
|
||||
identifiers is not enough for FreeType2. Check if your compiler has
|
||||
a minimum length of 40 significant characters or can be switched to
|
||||
it. "idlen=40" is the option for SAS/C. Setting #define
|
||||
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
|
||||
|
||||
- Make sure that the include directory in builds/amiga is searched
|
||||
before the normal FreeType2 include directory, so you are able to
|
||||
replace problematic include files with your own version (same may be
|
||||
useful for the src directory).
|
||||
|
||||
- An example of how to replace/workaround a problematic include file
|
||||
is include/config/ftconfig.h; it changes a #define that would
|
||||
prevent SAS/C from generating XDEF's where it should do that and
|
||||
then includes the standard FreeType2 include file.
|
||||
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
|
||||
README for the builds/amiga subdirectory.
|
||||
|
||||
Copyright 2005 by
|
||||
Werner Lemberg and Detlef Würkner.
|
||||
|
||||
This file is part of the FreeType project, and may only be used, modified,
|
||||
and distributed under the terms of the FreeType project license,
|
||||
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
indicate that you have read the license and understand and accept it
|
||||
fully.
|
||||
|
||||
|
||||
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
|
||||
"make -f makefile.os4", it produces a link library libft2_ppc.a.
|
||||
|
||||
The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
|
||||
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
|
||||
To use it, type "make assign", then "make"; it produces a link library
|
||||
libft2_ppc.a.
|
||||
|
||||
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
|
||||
latest sold version was 6.50, updates can be found in Aminet). It is
|
||||
based on the version found in the sourcecode of ttf.library 0.83b for
|
||||
FreeType 1.3.1 from Richard Griffith (ragriffi@sprynet.com,
|
||||
http://ragriffi.home.sprynet.com).
|
||||
|
||||
You will also need the latest include files and amiga.lib from the
|
||||
Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
|
||||
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
|
||||
|
||||
To use it, call "smake assign" and then "smake" from the builds/amiga
|
||||
directory. The results are:
|
||||
|
||||
- A link library "ft2_680x0.lib" (where x depends on the setting of
|
||||
the CPU entry in the smakefile) containing all FreeType2 parts
|
||||
except of the init code, debugging code, and the system interface
|
||||
code.
|
||||
|
||||
- ftsystem.o, an object module containing the standard version of the
|
||||
system interface code which uses fopen() fclose() fread() fseek()
|
||||
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
|
||||
|
||||
- ftsystempure.o, an object module containing the pure version of the
|
||||
system interface code which uses Open() Close() Read() Seek()
|
||||
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
|
||||
be used in both normal programs and in Amiga run-time shared system
|
||||
librarys (can be linked with lib:libinit.o, no copying of DATA and
|
||||
BSS hunks for each OpenLibrary() necessary). Source code is in
|
||||
src/base/ftsystem.c.
|
||||
|
||||
- ftdebug.o, an object module containing the standard version of the
|
||||
debugging code which uses vprintf() and exit() (not pure).
|
||||
Debugging can be turned on in FT:include/freetype/config/ftoption.h
|
||||
and with FT_SetTraceLevel().
|
||||
|
||||
- ftdebugpure.o, an object module containing the pure version of the
|
||||
debugging code which uses KVPrintf() from lib:debug.lib and no
|
||||
exit(). For debugging of Amiga run-time shared system libraries.
|
||||
Source code is in src/base/ftdebug.c.
|
||||
|
||||
- NO ftinit.o. Because linking with a link library should result in
|
||||
linking only the needed object modules in it, but standard
|
||||
ftsystem.o would force ALL FreeType2 modules to be linked to your
|
||||
program, I decided to use a different scheme: You must #include
|
||||
FT:src/base/ftinit.c in your sourcecode and specify with #define
|
||||
statements which modules you need. See
|
||||
include/freetype/config/ftmodule.h.
|
||||
|
||||
|
||||
To use in your own programs:
|
||||
|
||||
- Insert the #define and #include statements from top of
|
||||
include/freetype/config/ftmodule.h in your source code and uncomment
|
||||
the #define statements for the FreeType2 modules you need.
|
||||
|
||||
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
|
||||
calling the FreeType2 functions, because the link library and the
|
||||
object files are compiled with PARAMETERS=BOTH.
|
||||
|
||||
- "smake assign" (assign "FT:" to the FreeType2 main directory).
|
||||
|
||||
- Compile your program.
|
||||
|
||||
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
|
||||
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
|
||||
ft2_680x0.lib as link library.
|
||||
|
||||
|
||||
To adapt to other compilers:
|
||||
|
||||
- The standard ANSI C maximum length of 31 significant characters in
|
||||
identifiers is not enough for FreeType2. Check if your compiler has
|
||||
a minimum length of 40 significant characters or can be switched to
|
||||
it. "idlen=40" is the option for SAS/C. Setting #define
|
||||
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
|
||||
|
||||
- Make sure that the include directory in builds/amiga is searched
|
||||
before the normal FreeType2 include directory, so you are able to
|
||||
replace problematic include files with your own version (same may be
|
||||
useful for the src directory).
|
||||
|
||||
- An example of how to replace/workaround a problematic include file
|
||||
is include/config/ftconfig.h; it changes a #define that would
|
||||
prevent SAS/C from generating XDEF's where it should do that and
|
||||
then includes the standard FreeType2 include file.
|
||||
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
|
||||
+297
-297
File diff suppressed because it is too large
Load Diff
+297
-297
File diff suppressed because it is too large
Load Diff
+37
-37
@@ -1,37 +1,37 @@
|
||||
/* the following changes file names for PureC projects */
|
||||
|
||||
if (argc > 0)
|
||||
{
|
||||
ordner = argv[0];
|
||||
if (basename(ordner) == "") /* ist Ordner */
|
||||
{
|
||||
ChangeFilenames(ordner);
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilenames(folder)
|
||||
local i,entries,directory,file;
|
||||
{
|
||||
entries = filelist(directory,folder);
|
||||
for (i = 0; i < entries; ++i)
|
||||
{
|
||||
file = directory[i,0];
|
||||
if ((directory[i,3]&16) > 0) /* subdirectory */
|
||||
{
|
||||
ChangeFilenames(folder+file+"\\");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
|
||||
ChangeFilename(folder,file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilename(path,datei)
|
||||
local newfile,err;
|
||||
{
|
||||
newfile=datei;
|
||||
newfile[0]=(newfile[0] | 32) ^ 32;
|
||||
err=files.rename("-q",path+datei,newfile);
|
||||
}
|
||||
/* the following changes file names for PureC projects */
|
||||
|
||||
if (argc > 0)
|
||||
{
|
||||
ordner = argv[0];
|
||||
if (basename(ordner) == "") /* ist Ordner */
|
||||
{
|
||||
ChangeFilenames(ordner);
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilenames(folder)
|
||||
local i,entries,directory,file;
|
||||
{
|
||||
entries = filelist(directory,folder);
|
||||
for (i = 0; i < entries; ++i)
|
||||
{
|
||||
file = directory[i,0];
|
||||
if ((directory[i,3]&16) > 0) /* subdirectory */
|
||||
{
|
||||
ChangeFilenames(folder+file+"\\");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
|
||||
ChangeFilename(folder,file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilename(path,datei)
|
||||
local newfile,err;
|
||||
{
|
||||
newfile=datei;
|
||||
newfile[0]=(newfile[0] | 32) ^ 32;
|
||||
err=files.rename("-q",path+datei,newfile);
|
||||
}
|
||||
|
||||
+32
-32
@@ -1,32 +1,32 @@
|
||||
;FreeType project file
|
||||
|
||||
FREETYPE.LIB
|
||||
|
||||
.C [-K -P -R -A]
|
||||
.L [-J -V]
|
||||
.S
|
||||
|
||||
=
|
||||
|
||||
..\..\src\base\ftsystem.c
|
||||
..\..\src\base\ftdebug.c
|
||||
|
||||
..\..\src\base\ftinit.c
|
||||
..\..\src\base\ftglyph.c
|
||||
..\..\src\base\ftmm
|
||||
..\..\src\base\ftbbox
|
||||
|
||||
..\..\src\base\ftbase.c
|
||||
..\..\src\autohint\autohint.c
|
||||
;..\..\src\cache\ftcache.c
|
||||
..\..\src\cff\cff.c
|
||||
..\..\src\cid\type1cid.c
|
||||
..\..\src\psaux\psaux.c
|
||||
..\..\src\pshinter\pshinter.c
|
||||
..\..\src\psnames\psnames.c
|
||||
..\..\src\raster\raster.c
|
||||
..\..\src\sfnt\sfnt.c
|
||||
..\..\src\smooth\smooth.c
|
||||
..\..\src\truetype\truetype.c
|
||||
..\..\src\type1\type1.c
|
||||
..\..\src\type42\type42.c
|
||||
;FreeType project file
|
||||
|
||||
FREETYPE.LIB
|
||||
|
||||
.C [-K -P -R -A]
|
||||
.L [-J -V]
|
||||
.S
|
||||
|
||||
=
|
||||
|
||||
..\..\src\base\ftsystem.c
|
||||
..\..\src\base\ftdebug.c
|
||||
|
||||
..\..\src\base\ftinit.c
|
||||
..\..\src\base\ftglyph.c
|
||||
..\..\src\base\ftmm
|
||||
..\..\src\base\ftbbox
|
||||
|
||||
..\..\src\base\ftbase.c
|
||||
..\..\src\autohint\autohint.c
|
||||
;..\..\src\cache\ftcache.c
|
||||
..\..\src\cff\cff.c
|
||||
..\..\src\cid\type1cid.c
|
||||
..\..\src\psaux\psaux.c
|
||||
..\..\src\pshinter\pshinter.c
|
||||
..\..\src\psnames\psnames.c
|
||||
..\..\src\raster\raster.c
|
||||
..\..\src\sfnt\sfnt.c
|
||||
..\..\src\smooth\smooth.c
|
||||
..\..\src\truetype\truetype.c
|
||||
..\..\src\type1\type1.c
|
||||
..\..\src\type42\type42.c
|
||||
|
||||
+181
-181
@@ -1,181 +1,181 @@
|
||||
#!/usr/bin/env awk
|
||||
|
||||
|
||||
function shift( array, \
|
||||
junk, elm0, l )
|
||||
{
|
||||
elm0 = array[0]
|
||||
for ( l = 0; l < asorti( array, junk ) - 1; l++ )
|
||||
array[l] = array[l+1];
|
||||
delete array[l]
|
||||
return elm0
|
||||
}
|
||||
|
||||
|
||||
function init_cpp_src_line()
|
||||
{
|
||||
logical_line = ""
|
||||
delete break_pos
|
||||
}
|
||||
|
||||
|
||||
function shift_valid_bp( array, \
|
||||
junk, elm )
|
||||
{
|
||||
elm = -1
|
||||
|
||||
if ( 0 < asorti( array, junk ) )
|
||||
do {
|
||||
elm = shift( array )
|
||||
} while ( 0 > elm );
|
||||
|
||||
return elm
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line_break_pos( \
|
||||
i, junk )
|
||||
{
|
||||
printf( "break_pos:" )
|
||||
for ( i = 0; i < asorti( break_pos, junk ); i++ )
|
||||
printf( " %d", break_pos[i] );
|
||||
printf( "\n" )
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line()
|
||||
{
|
||||
printf( "logical_line[%s]\n", logical_line )
|
||||
check_cpp_src_line_break_pos()
|
||||
}
|
||||
|
||||
|
||||
function append_line( phys_line, \
|
||||
filt_line, bp_len )
|
||||
{
|
||||
filt_line = phys_line
|
||||
sub( /\\$/, " ", filt_line )
|
||||
logical_line = logical_line filt_line
|
||||
bp_len = asorti( break_pos, junk )
|
||||
break_pos[bp_len] = length( logical_line ) - 1
|
||||
}
|
||||
|
||||
|
||||
function print_line( \
|
||||
c0, c1, i, junk, part_str )
|
||||
{
|
||||
c0 = 0
|
||||
|
||||
while( asorti( break_pos, junk ) > 1 )
|
||||
{
|
||||
if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 )
|
||||
{
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
return
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 )
|
||||
gsub( / $/, "\\", part_str )
|
||||
printf( "%s\n", part_str )
|
||||
c0 = c1 + 1
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces( pos, \
|
||||
tail, removed_length, k )
|
||||
{
|
||||
tail = substr( logical_line, pos )
|
||||
sub( /^[ \t]+/, " ", tail )
|
||||
removed_length = length( logical_line ) - pos - length( tail ) + 1
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( ( pos + removed_length ) <= break_pos[k] )
|
||||
break_pos[k] = break_pos[k] - removed_length;
|
||||
else if ( pos <= break_pos[k] )
|
||||
break_pos[k] = -1;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces_to_linebreak( pos, \
|
||||
junk, part_str, removed_length, i )
|
||||
{
|
||||
for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ )
|
||||
;
|
||||
|
||||
if ( break_pos[i] < 1 )
|
||||
return;
|
||||
|
||||
part_str = substr( logical_line, pos, break_pos[i] - pos + 1 )
|
||||
sub( /^[ \t]+/, " ", part_str )
|
||||
removed_length = ( break_pos[i] - pos + 1 ) - length( part_str )
|
||||
|
||||
tail = substr( logical_line, pos + removed_length )
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
for ( ; i < asorti( break_pos, junk ); i++ )
|
||||
break_pos[i] -= removed_length;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function delete_linebreaks_in_2nd_token( \
|
||||
tail, paren_depth, junk, i, j, k, l )
|
||||
{
|
||||
if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ )
|
||||
{
|
||||
tail = logical_line
|
||||
sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail )
|
||||
|
||||
paren_depth = 0
|
||||
l = 0
|
||||
i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren
|
||||
j = i
|
||||
do {
|
||||
if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ )
|
||||
l = shrink_spaces( j );
|
||||
else if ( substr( logical_line, j, 1 ) == "(" )
|
||||
paren_depth += 1;
|
||||
else if ( substr( logical_line, j, 1 ) == ")" )
|
||||
paren_depth -= 1;
|
||||
j += 1
|
||||
} while ( j < length( logical_line ) && paren_depth != 0 )
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( i <= break_pos[k] && break_pos[k] < j )
|
||||
break_pos[k] = -1;
|
||||
|
||||
if ( l > 0 )
|
||||
shrink_spaces_to_linebreak( j );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BEGIN{
|
||||
init_cpp_src_line()
|
||||
}
|
||||
{
|
||||
append_line( $0 )
|
||||
if ( $0 !~ /\\$/ )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
init_cpp_src_line()
|
||||
}
|
||||
}
|
||||
END{
|
||||
if ( 0 < length( logical_line ) )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
}
|
||||
}
|
||||
#!/usr/bin/env awk
|
||||
|
||||
|
||||
function shift( array, \
|
||||
junk, elm0, l )
|
||||
{
|
||||
elm0 = array[0]
|
||||
for ( l = 0; l < asorti( array, junk ) - 1; l++ )
|
||||
array[l] = array[l+1];
|
||||
delete array[l]
|
||||
return elm0
|
||||
}
|
||||
|
||||
|
||||
function init_cpp_src_line()
|
||||
{
|
||||
logical_line = ""
|
||||
delete break_pos
|
||||
}
|
||||
|
||||
|
||||
function shift_valid_bp( array, \
|
||||
junk, elm )
|
||||
{
|
||||
elm = -1
|
||||
|
||||
if ( 0 < asorti( array, junk ) )
|
||||
do {
|
||||
elm = shift( array )
|
||||
} while ( 0 > elm );
|
||||
|
||||
return elm
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line_break_pos( \
|
||||
i, junk )
|
||||
{
|
||||
printf( "break_pos:" )
|
||||
for ( i = 0; i < asorti( break_pos, junk ); i++ )
|
||||
printf( " %d", break_pos[i] );
|
||||
printf( "\n" )
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line()
|
||||
{
|
||||
printf( "logical_line[%s]\n", logical_line )
|
||||
check_cpp_src_line_break_pos()
|
||||
}
|
||||
|
||||
|
||||
function append_line( phys_line, \
|
||||
filt_line, bp_len )
|
||||
{
|
||||
filt_line = phys_line
|
||||
sub( /\\$/, " ", filt_line )
|
||||
logical_line = logical_line filt_line
|
||||
bp_len = asorti( break_pos, junk )
|
||||
break_pos[bp_len] = length( logical_line ) - 1
|
||||
}
|
||||
|
||||
|
||||
function print_line( \
|
||||
c0, c1, i, junk, part_str )
|
||||
{
|
||||
c0 = 0
|
||||
|
||||
while( asorti( break_pos, junk ) > 1 )
|
||||
{
|
||||
if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 )
|
||||
{
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
return
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 )
|
||||
gsub( / $/, "\\", part_str )
|
||||
printf( "%s\n", part_str )
|
||||
c0 = c1 + 1
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces( pos, \
|
||||
tail, removed_length, k )
|
||||
{
|
||||
tail = substr( logical_line, pos )
|
||||
sub( /^[ \t]+/, " ", tail )
|
||||
removed_length = length( logical_line ) - pos - length( tail ) + 1
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( ( pos + removed_length ) <= break_pos[k] )
|
||||
break_pos[k] = break_pos[k] - removed_length;
|
||||
else if ( pos <= break_pos[k] )
|
||||
break_pos[k] = -1;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces_to_linebreak( pos, \
|
||||
junk, part_str, removed_length, i )
|
||||
{
|
||||
for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ )
|
||||
;
|
||||
|
||||
if ( break_pos[i] < 1 )
|
||||
return;
|
||||
|
||||
part_str = substr( logical_line, pos, break_pos[i] - pos + 1 )
|
||||
sub( /^[ \t]+/, " ", part_str )
|
||||
removed_length = ( break_pos[i] - pos + 1 ) - length( part_str )
|
||||
|
||||
tail = substr( logical_line, pos + removed_length )
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
for ( ; i < asorti( break_pos, junk ); i++ )
|
||||
break_pos[i] -= removed_length;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function delete_linebreaks_in_2nd_token( \
|
||||
tail, paren_depth, junk, i, j, k, l )
|
||||
{
|
||||
if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ )
|
||||
{
|
||||
tail = logical_line
|
||||
sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail )
|
||||
|
||||
paren_depth = 0
|
||||
l = 0
|
||||
i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren
|
||||
j = i
|
||||
do {
|
||||
if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ )
|
||||
l = shrink_spaces( j );
|
||||
else if ( substr( logical_line, j, 1 ) == "(" )
|
||||
paren_depth += 1;
|
||||
else if ( substr( logical_line, j, 1 ) == ")" )
|
||||
paren_depth -= 1;
|
||||
j += 1
|
||||
} while ( j < length( logical_line ) && paren_depth != 0 )
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( i <= break_pos[k] && break_pos[k] < j )
|
||||
break_pos[k] = -1;
|
||||
|
||||
if ( l > 0 )
|
||||
shrink_spaces_to_linebreak( j );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BEGIN{
|
||||
init_cpp_src_line()
|
||||
}
|
||||
{
|
||||
append_line( $0 )
|
||||
if ( $0 !~ /\\$/ )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
init_cpp_src_line()
|
||||
}
|
||||
}
|
||||
END{
|
||||
if ( 0 < length( logical_line ) )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
}
|
||||
}
|
||||
|
||||
+403
-403
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1 +1 @@
|
||||
|
||||
|
||||
|
||||
+142
-142
@@ -1,142 +1,142 @@
|
||||
//
|
||||
// FreeType 2 makefile for the symbian platform
|
||||
//
|
||||
|
||||
// Copyright 2008, 2009 by
|
||||
// David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
//
|
||||
// This file is part of the FreeType project, and may only be used, modified,
|
||||
// and distributed under the terms of the FreeType project license,
|
||||
// LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
// indicate that you have read the license and understand and accept it
|
||||
// fully.
|
||||
|
||||
target freetype.lib
|
||||
targettype lib
|
||||
|
||||
macro NDEBUG
|
||||
macro FT2_BUILD_LIBRARY
|
||||
|
||||
sourcepath ..\..\src\autofit
|
||||
|
||||
source autofit.c
|
||||
|
||||
sourcepath ..\..\src\base
|
||||
|
||||
source ftbase.c
|
||||
source ftbbox.c
|
||||
source ftbdf.c
|
||||
source ftbitmap.c
|
||||
source ftcid.c
|
||||
source ftfstype.c
|
||||
source ftgasp.c
|
||||
source ftglyph.c
|
||||
source ftgxval.c
|
||||
source ftinit.c
|
||||
source ftlcdfil.c
|
||||
source ftmm.c
|
||||
source ftotval.c
|
||||
source ftpatent.c
|
||||
source ftpfr.c
|
||||
source ftstroke.c
|
||||
source ftsynth.c
|
||||
source ftsystem.c
|
||||
source fttype1.c
|
||||
source ftwinfnt.c
|
||||
|
||||
sourcepath ..\..\src\bdf
|
||||
|
||||
source bdf.c
|
||||
|
||||
sourcepath ..\..\src\cache
|
||||
|
||||
source ftcache.c
|
||||
|
||||
sourcepath ..\..\src\cff
|
||||
|
||||
source cff.c
|
||||
|
||||
sourcepath ..\..\src\cid
|
||||
|
||||
source type1cid.c
|
||||
|
||||
sourcepath ..\..\src\gzip
|
||||
|
||||
source ftgzip.c
|
||||
|
||||
sourcepath ..\..\src\lzw
|
||||
|
||||
source ftlzw.c
|
||||
|
||||
sourcepath ..\..\src\pcf
|
||||
|
||||
source pcf.c
|
||||
|
||||
sourcepath ..\..\src\pfr
|
||||
|
||||
source pfr.c
|
||||
|
||||
sourcepath ..\..\src\psaux
|
||||
|
||||
source psaux.c
|
||||
|
||||
sourcepath ..\..\src\pshinter
|
||||
|
||||
source pshinter.c
|
||||
|
||||
sourcepath ..\..\src\psnames
|
||||
|
||||
source psmodule.c
|
||||
|
||||
sourcepath ..\..\src\raster
|
||||
|
||||
source raster.c
|
||||
|
||||
sourcepath ..\..\src\sfnt
|
||||
|
||||
source sfnt.c
|
||||
|
||||
sourcepath ..\..\src\smooth
|
||||
|
||||
source smooth.c
|
||||
|
||||
sourcepath ..\..\src\truetype
|
||||
|
||||
source truetype.c
|
||||
|
||||
sourcepath ..\..\src\type1
|
||||
|
||||
source type1.c
|
||||
|
||||
sourcepath ..\..\src\type42
|
||||
|
||||
source type42.c
|
||||
|
||||
sourcepath ..\..\src\winfonts
|
||||
|
||||
source winfnt.c
|
||||
|
||||
|
||||
systeminclude ..\..\include
|
||||
systeminclude \epoc32\include\stdapis
|
||||
userinclude ..\..\src\autofit
|
||||
userinclude ..\..\src\bdf
|
||||
userinclude ..\..\src\cache
|
||||
userinclude ..\..\src\cff
|
||||
userinclude ..\..\src\cid
|
||||
userinclude ..\..\src\gxvalid
|
||||
userinclude ..\..\src\gzip
|
||||
userinclude ..\..\src\lzw
|
||||
userinclude ..\..\src\otvalid
|
||||
userinclude ..\..\src\pcf
|
||||
userinclude ..\..\src\pfr
|
||||
userinclude ..\..\src\psaux
|
||||
userinclude ..\..\src\pshinter
|
||||
userinclude ..\..\src\psnames
|
||||
userinclude ..\..\src\raster
|
||||
userinclude ..\..\src\sfnt
|
||||
userinclude ..\..\src\smooth
|
||||
userinclude ..\..\src\truetype
|
||||
userinclude ..\..\src\type1
|
||||
userinclude ..\..\src\type42
|
||||
userinclude ..\..\src\winfonts
|
||||
//
|
||||
// FreeType 2 makefile for the symbian platform
|
||||
//
|
||||
|
||||
// Copyright 2008, 2009 by
|
||||
// David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
//
|
||||
// This file is part of the FreeType project, and may only be used, modified,
|
||||
// and distributed under the terms of the FreeType project license,
|
||||
// LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
// indicate that you have read the license and understand and accept it
|
||||
// fully.
|
||||
|
||||
target freetype.lib
|
||||
targettype lib
|
||||
|
||||
macro NDEBUG
|
||||
macro FT2_BUILD_LIBRARY
|
||||
|
||||
sourcepath ..\..\src\autofit
|
||||
|
||||
source autofit.c
|
||||
|
||||
sourcepath ..\..\src\base
|
||||
|
||||
source ftbase.c
|
||||
source ftbbox.c
|
||||
source ftbdf.c
|
||||
source ftbitmap.c
|
||||
source ftcid.c
|
||||
source ftfstype.c
|
||||
source ftgasp.c
|
||||
source ftglyph.c
|
||||
source ftgxval.c
|
||||
source ftinit.c
|
||||
source ftlcdfil.c
|
||||
source ftmm.c
|
||||
source ftotval.c
|
||||
source ftpatent.c
|
||||
source ftpfr.c
|
||||
source ftstroke.c
|
||||
source ftsynth.c
|
||||
source ftsystem.c
|
||||
source fttype1.c
|
||||
source ftwinfnt.c
|
||||
|
||||
sourcepath ..\..\src\bdf
|
||||
|
||||
source bdf.c
|
||||
|
||||
sourcepath ..\..\src\cache
|
||||
|
||||
source ftcache.c
|
||||
|
||||
sourcepath ..\..\src\cff
|
||||
|
||||
source cff.c
|
||||
|
||||
sourcepath ..\..\src\cid
|
||||
|
||||
source type1cid.c
|
||||
|
||||
sourcepath ..\..\src\gzip
|
||||
|
||||
source ftgzip.c
|
||||
|
||||
sourcepath ..\..\src\lzw
|
||||
|
||||
source ftlzw.c
|
||||
|
||||
sourcepath ..\..\src\pcf
|
||||
|
||||
source pcf.c
|
||||
|
||||
sourcepath ..\..\src\pfr
|
||||
|
||||
source pfr.c
|
||||
|
||||
sourcepath ..\..\src\psaux
|
||||
|
||||
source psaux.c
|
||||
|
||||
sourcepath ..\..\src\pshinter
|
||||
|
||||
source pshinter.c
|
||||
|
||||
sourcepath ..\..\src\psnames
|
||||
|
||||
source psmodule.c
|
||||
|
||||
sourcepath ..\..\src\raster
|
||||
|
||||
source raster.c
|
||||
|
||||
sourcepath ..\..\src\sfnt
|
||||
|
||||
source sfnt.c
|
||||
|
||||
sourcepath ..\..\src\smooth
|
||||
|
||||
source smooth.c
|
||||
|
||||
sourcepath ..\..\src\truetype
|
||||
|
||||
source truetype.c
|
||||
|
||||
sourcepath ..\..\src\type1
|
||||
|
||||
source type1.c
|
||||
|
||||
sourcepath ..\..\src\type42
|
||||
|
||||
source type42.c
|
||||
|
||||
sourcepath ..\..\src\winfonts
|
||||
|
||||
source winfnt.c
|
||||
|
||||
|
||||
systeminclude ..\..\include
|
||||
systeminclude \epoc32\include\stdapis
|
||||
userinclude ..\..\src\autofit
|
||||
userinclude ..\..\src\bdf
|
||||
userinclude ..\..\src\cache
|
||||
userinclude ..\..\src\cff
|
||||
userinclude ..\..\src\cid
|
||||
userinclude ..\..\src\gxvalid
|
||||
userinclude ..\..\src\gzip
|
||||
userinclude ..\..\src\lzw
|
||||
userinclude ..\..\src\otvalid
|
||||
userinclude ..\..\src\pcf
|
||||
userinclude ..\..\src\pfr
|
||||
userinclude ..\..\src\psaux
|
||||
userinclude ..\..\src\pshinter
|
||||
userinclude ..\..\src\psnames
|
||||
userinclude ..\..\src\raster
|
||||
userinclude ..\..\src\sfnt
|
||||
userinclude ..\..\src\smooth
|
||||
userinclude ..\..\src\truetype
|
||||
userinclude ..\..\src\type1
|
||||
userinclude ..\..\src\type42
|
||||
userinclude ..\..\src\winfonts
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.cache
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
configure.ac
|
||||
freetype2.pc
|
||||
freetype-config
|
||||
ftconfig.h
|
||||
libtool
|
||||
ltmain.sh
|
||||
unix-cc.mk
|
||||
unix-def.mk
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.cache
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
configure.ac
|
||||
freetype2.pc
|
||||
freetype-config
|
||||
ftconfig.h
|
||||
libtool
|
||||
ltmain.sh
|
||||
unix-cc.mk
|
||||
unix-def.mk
|
||||
|
||||
+1502
-1502
File diff suppressed because it is too large
Load Diff
+1714
-1714
File diff suppressed because it is too large
Load Diff
+684
-684
File diff suppressed because it is too large
Load Diff
+684
-684
File diff suppressed because it is too large
Load Diff
+520
-520
File diff suppressed because it is too large
Load Diff
+161
-161
@@ -1,161 +1,161 @@
|
||||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2006-05-11.19
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain.
|
||||
#
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
errstatus=0
|
||||
dirmode=
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all
|
||||
leading file name components.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "$0 $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
||||
# one will create a, then the other will try to create a and die with
|
||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
||||
# from a parallel make. We use --version in the probe to restrict
|
||||
# ourselves to GNU mkdir, which is thread-safe.
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
else
|
||||
# On NextStep and OpenStep, the `mkdir' command does not
|
||||
# recognize any option. It will interpret all options as
|
||||
# directories to create, and then abort because `.' already
|
||||
# exists.
|
||||
test -d ./-p && rmdir ./-p
|
||||
test -d ./--version && rmdir ./--version
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||
test ! -d ./--version; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
else
|
||||
# Clean up after NextStep and OpenStep mkdir.
|
||||
for d in ./-m ./-p ./--version "./$dirmode";
|
||||
do
|
||||
test -d $d && rmdir $d
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
case $file in
|
||||
/*) pathcomp=/ ;;
|
||||
*) pathcomp= ;;
|
||||
esac
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set fnord $file
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
for d
|
||||
do
|
||||
test "x$d" = x && continue
|
||||
|
||||
pathcomp=$pathcomp$d
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2006-05-11.19
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain.
|
||||
#
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
errstatus=0
|
||||
dirmode=
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all
|
||||
leading file name components.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "$0 $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
||||
# one will create a, then the other will try to create a and die with
|
||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
||||
# from a parallel make. We use --version in the probe to restrict
|
||||
# ourselves to GNU mkdir, which is thread-safe.
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
else
|
||||
# On NextStep and OpenStep, the `mkdir' command does not
|
||||
# recognize any option. It will interpret all options as
|
||||
# directories to create, and then abort because `.' already
|
||||
# exists.
|
||||
test -d ./-p && rmdir ./-p
|
||||
test -d ./--version && rmdir ./--version
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||
test ! -d ./--version; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
else
|
||||
# Clean up after NextStep and OpenStep mkdir.
|
||||
for d in ./-m ./-p ./--version "./$dirmode";
|
||||
do
|
||||
test -d $d && rmdir $d
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
case $file in
|
||||
/*) pathcomp=/ ;;
|
||||
*) pathcomp= ;;
|
||||
esac
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set fnord $file
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
for d
|
||||
do
|
||||
test "x$d" = x && continue
|
||||
|
||||
pathcomp=$pathcomp$d
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
|
||||
+33
-33
@@ -1,33 +1,33 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Debug Multithreaded = Debug Multithreaded
|
||||
Debug Singlethreaded = Debug Singlethreaded
|
||||
Release = Release
|
||||
Release Multithreaded = Release Multithreaded
|
||||
Release Singlethreaded = Release Singlethreaded
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.ActiveCfg = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.Build.0 = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.ActiveCfg = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.Build.0 = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.ActiveCfg = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.Build.0 = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.ActiveCfg = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.Build.0 = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.ActiveCfg = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.Build.0 = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.ActiveCfg = Release Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.Build.0 = Release Singlethreaded|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Debug Multithreaded = Debug Multithreaded
|
||||
Debug Singlethreaded = Debug Singlethreaded
|
||||
Release = Release
|
||||
Release Multithreaded = Release Multithreaded
|
||||
Release Singlethreaded = Release Singlethreaded
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.ActiveCfg = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.Build.0 = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.ActiveCfg = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.Build.0 = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.ActiveCfg = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.Build.0 = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.ActiveCfg = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.Build.0 = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.ActiveCfg = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.Build.0 = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.ActiveCfg = Release Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.Build.0 = Release Singlethreaded|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
+2412
-2412
File diff suppressed because it is too large
Load Diff
+120
-120
@@ -1,120 +1,120 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
#
|
||||
# Call the `configure' script located in `builds/unix'.
|
||||
#
|
||||
|
||||
rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
|
||||
|
||||
if test "x$GNUMAKE" = x; then
|
||||
GNUMAKE=make
|
||||
fi
|
||||
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
|
||||
echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
|
||||
echo "Please try" >&2
|
||||
echo " \`GNUMAKE=<GNU make command name> $0'." >&2
|
||||
echo "or >&2"
|
||||
echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get `dirname' functionality. This is taken and adapted from autoconf's
|
||||
# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||
ft_expr=expr
|
||||
else
|
||||
ft_expr=false
|
||||
fi
|
||||
|
||||
ft2_dir=`(dirname "$0") 2>/dev/null ||
|
||||
$ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$0" : 'X\(//\)[^/]' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| \
|
||||
. : '\(.\)' 2>/dev/null ||
|
||||
echo X"$0" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
abs_curr_dir=`pwd`
|
||||
abs_ft2_dir=`cd "$ft2_dir" && pwd`
|
||||
|
||||
# `--srcdir=' option can override abs_ft2_dir
|
||||
|
||||
if test $# -gt 0; then
|
||||
for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=*)
|
||||
abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# build a dummy Makefile if we are not building in the source tree
|
||||
|
||||
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
||||
mkdir reference
|
||||
if test ! -r $abs_curr_dir/modules.cfg; then
|
||||
echo "Copying \`modules.cfg'"
|
||||
cp $abs_ft2_dir/modules.cfg $abs_curr_dir
|
||||
fi
|
||||
echo "Generating \`Makefile'"
|
||||
echo "TOP_DIR := $abs_ft2_dir" > Makefile
|
||||
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
|
||||
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
|
||||
echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
|
||||
echo "LIBTOOL := \$(OBJ_DIR)/libtool" >> Makefile
|
||||
echo "ifndef FT2DEMOS" >> Makefile
|
||||
echo " include \$(TOP_DIR)/Makefile" >> Makefile
|
||||
echo "else" >> Makefile
|
||||
echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
|
||||
echo " PROJECT := freetype" >> Makefile
|
||||
echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
|
||||
echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
|
||||
echo "endif" >> Makefile
|
||||
fi
|
||||
|
||||
# call make
|
||||
|
||||
CFG=
|
||||
# work around zsh bug which doesn't like `${1+"$@"}'
|
||||
case $# in
|
||||
0) ;;
|
||||
*) for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
|
||||
*) CFG="$CFG '$x'" ;;
|
||||
esac
|
||||
done ;;
|
||||
esac
|
||||
CFG=$CFG $GNUMAKE setup unix
|
||||
|
||||
# eof
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
#
|
||||
# Call the `configure' script located in `builds/unix'.
|
||||
#
|
||||
|
||||
rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
|
||||
|
||||
if test "x$GNUMAKE" = x; then
|
||||
GNUMAKE=make
|
||||
fi
|
||||
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
|
||||
echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
|
||||
echo "Please try" >&2
|
||||
echo " \`GNUMAKE=<GNU make command name> $0'." >&2
|
||||
echo "or >&2"
|
||||
echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get `dirname' functionality. This is taken and adapted from autoconf's
|
||||
# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||
ft_expr=expr
|
||||
else
|
||||
ft_expr=false
|
||||
fi
|
||||
|
||||
ft2_dir=`(dirname "$0") 2>/dev/null ||
|
||||
$ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$0" : 'X\(//\)[^/]' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| \
|
||||
. : '\(.\)' 2>/dev/null ||
|
||||
echo X"$0" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
abs_curr_dir=`pwd`
|
||||
abs_ft2_dir=`cd "$ft2_dir" && pwd`
|
||||
|
||||
# `--srcdir=' option can override abs_ft2_dir
|
||||
|
||||
if test $# -gt 0; then
|
||||
for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=*)
|
||||
abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# build a dummy Makefile if we are not building in the source tree
|
||||
|
||||
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
||||
mkdir reference
|
||||
if test ! -r $abs_curr_dir/modules.cfg; then
|
||||
echo "Copying \`modules.cfg'"
|
||||
cp $abs_ft2_dir/modules.cfg $abs_curr_dir
|
||||
fi
|
||||
echo "Generating \`Makefile'"
|
||||
echo "TOP_DIR := $abs_ft2_dir" > Makefile
|
||||
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
|
||||
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
|
||||
echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
|
||||
echo "LIBTOOL := \$(OBJ_DIR)/libtool" >> Makefile
|
||||
echo "ifndef FT2DEMOS" >> Makefile
|
||||
echo " include \$(TOP_DIR)/Makefile" >> Makefile
|
||||
echo "else" >> Makefile
|
||||
echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
|
||||
echo " PROJECT := freetype" >> Makefile
|
||||
echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
|
||||
echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
|
||||
echo "endif" >> Makefile
|
||||
fi
|
||||
|
||||
# call make
|
||||
|
||||
CFG=
|
||||
# work around zsh bug which doesn't like `${1+"$@"}'
|
||||
case $# in
|
||||
0) ;;
|
||||
*) for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
|
||||
*) CFG="$CFG '$x'" ;;
|
||||
esac
|
||||
done ;;
|
||||
esac
|
||||
CFG=$CFG $GNUMAKE setup unix
|
||||
|
||||
# eof
|
||||
|
||||
+3396
-3396
File diff suppressed because it is too large
Load Diff
+150
-150
@@ -1,150 +1,150 @@
|
||||
How to customize the compilation of the library
|
||||
===============================================
|
||||
|
||||
FreeType is highly customizable to fit various needs, and this
|
||||
document describes how it is possible to select options and
|
||||
components at compilation time.
|
||||
|
||||
|
||||
I. Configuration macros
|
||||
|
||||
The file found in `include/freetype/config/ftoption.h' contains a
|
||||
list of commented configuration macros that can be toggled by
|
||||
developers to indicate which features should be active while
|
||||
building the library.
|
||||
|
||||
These options range from debug level to availability of certain
|
||||
features, like native TrueType hinting through a bytecode
|
||||
interpreter.
|
||||
|
||||
We invite you to read this file for more information. You can
|
||||
change the file's content to suit your needs, or override it with
|
||||
one of the techniques described below.
|
||||
|
||||
|
||||
II. Modules list
|
||||
|
||||
If you use GNU make please edit the top-level file `modules.cfg'.
|
||||
It contains a list of available FreeType modules and extensions to
|
||||
be compiled. Change it to suit your own preferences. Be aware that
|
||||
certain modules depend on others, as described in the file. GNU
|
||||
make uses `modules.cfg' to generate `ftmodule.h' (in the object
|
||||
directory).
|
||||
|
||||
If you don't use GNU make you have to manually edit the file
|
||||
`include/freetype/config/ftmodule.h' (which is *not* used with if
|
||||
compiled with GNU make) to add or remove the drivers and components
|
||||
you want to compile into the library. See `INSTALL.ANY' for more
|
||||
information.
|
||||
|
||||
|
||||
III. System interface
|
||||
|
||||
FreeType's default interface to the system (i.e., the parts that
|
||||
deal with memory management and i/o streams) is located in
|
||||
`src/base/ftsystem.c'.
|
||||
|
||||
The current implementation uses standard C library calls to manage
|
||||
memory and to read font files. It is however possible to write
|
||||
custom implementations to suit specific systems.
|
||||
|
||||
To tell the GNU Make-based build system to use a custom system
|
||||
interface, you have to define the environment variable FTSYS_SRC to
|
||||
point to the relevant implementation:
|
||||
|
||||
on Unix:
|
||||
|
||||
./configure <your options>
|
||||
export FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
make install
|
||||
|
||||
on Windows:
|
||||
|
||||
make setup <compiler>
|
||||
set FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
|
||||
|
||||
IV. Overriding default configuration and module headers
|
||||
|
||||
It is possible to override the default configuration and module
|
||||
headers without changing the original files. There are three ways
|
||||
to do that:
|
||||
|
||||
|
||||
1. With GNU make
|
||||
|
||||
[This is actually a combination of method 2 and 3.]
|
||||
|
||||
Just put your custom `ftoption.h' file into the objects directory
|
||||
(normally `<topdir>/objs'), which GNU make prefers over the
|
||||
standard location. No action is needed for `ftmodule.h' because
|
||||
it is generated automatically in the objects directory.
|
||||
|
||||
|
||||
2. Using the C include path
|
||||
|
||||
Use the C include path to ensure that your own versions of the
|
||||
files are used at compile time when the lines
|
||||
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_MODULES_H
|
||||
|
||||
are compiled. Their default values being
|
||||
<freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
|
||||
can do something like:
|
||||
|
||||
custom/
|
||||
freetype/
|
||||
config/
|
||||
ftoption.h => custom options header
|
||||
ftmodule.h => custom modules list
|
||||
|
||||
include/ => normal FreeType 2 include
|
||||
freetype/
|
||||
...
|
||||
|
||||
then change the C include path to always give the path to `custom'
|
||||
before the FreeType 2 `include'.
|
||||
|
||||
|
||||
3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
|
||||
|
||||
Another way to do the same thing is to redefine the macros used to
|
||||
name the configuration headers. To do so, you need a custom
|
||||
`ft2build.h' whose content can be as simple as:
|
||||
|
||||
#ifndef __FT2_BUILD_MY_PLATFORM_H__
|
||||
#define __FT2_BUILD_MY_PLATFORM_H__
|
||||
|
||||
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
|
||||
#define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
|
||||
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2_BUILD_MY_PLATFORM_H__ */
|
||||
|
||||
Place those files in a separate directory, e.g.,
|
||||
|
||||
custom/
|
||||
ft2build.h => custom version described above
|
||||
my-ftoption.h => custom options header
|
||||
my-ftmodule.h => custom modules list header
|
||||
|
||||
and change the C include path to ensure that `custom' is always
|
||||
placed before the FT2 `include' during compilation.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of CUSTOMIZE ---
|
||||
How to customize the compilation of the library
|
||||
===============================================
|
||||
|
||||
FreeType is highly customizable to fit various needs, and this
|
||||
document describes how it is possible to select options and
|
||||
components at compilation time.
|
||||
|
||||
|
||||
I. Configuration macros
|
||||
|
||||
The file found in `include/freetype/config/ftoption.h' contains a
|
||||
list of commented configuration macros that can be toggled by
|
||||
developers to indicate which features should be active while
|
||||
building the library.
|
||||
|
||||
These options range from debug level to availability of certain
|
||||
features, like native TrueType hinting through a bytecode
|
||||
interpreter.
|
||||
|
||||
We invite you to read this file for more information. You can
|
||||
change the file's content to suit your needs, or override it with
|
||||
one of the techniques described below.
|
||||
|
||||
|
||||
II. Modules list
|
||||
|
||||
If you use GNU make please edit the top-level file `modules.cfg'.
|
||||
It contains a list of available FreeType modules and extensions to
|
||||
be compiled. Change it to suit your own preferences. Be aware that
|
||||
certain modules depend on others, as described in the file. GNU
|
||||
make uses `modules.cfg' to generate `ftmodule.h' (in the object
|
||||
directory).
|
||||
|
||||
If you don't use GNU make you have to manually edit the file
|
||||
`include/freetype/config/ftmodule.h' (which is *not* used with if
|
||||
compiled with GNU make) to add or remove the drivers and components
|
||||
you want to compile into the library. See `INSTALL.ANY' for more
|
||||
information.
|
||||
|
||||
|
||||
III. System interface
|
||||
|
||||
FreeType's default interface to the system (i.e., the parts that
|
||||
deal with memory management and i/o streams) is located in
|
||||
`src/base/ftsystem.c'.
|
||||
|
||||
The current implementation uses standard C library calls to manage
|
||||
memory and to read font files. It is however possible to write
|
||||
custom implementations to suit specific systems.
|
||||
|
||||
To tell the GNU Make-based build system to use a custom system
|
||||
interface, you have to define the environment variable FTSYS_SRC to
|
||||
point to the relevant implementation:
|
||||
|
||||
on Unix:
|
||||
|
||||
./configure <your options>
|
||||
export FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
make install
|
||||
|
||||
on Windows:
|
||||
|
||||
make setup <compiler>
|
||||
set FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
|
||||
|
||||
IV. Overriding default configuration and module headers
|
||||
|
||||
It is possible to override the default configuration and module
|
||||
headers without changing the original files. There are three ways
|
||||
to do that:
|
||||
|
||||
|
||||
1. With GNU make
|
||||
|
||||
[This is actually a combination of method 2 and 3.]
|
||||
|
||||
Just put your custom `ftoption.h' file into the objects directory
|
||||
(normally `<topdir>/objs'), which GNU make prefers over the
|
||||
standard location. No action is needed for `ftmodule.h' because
|
||||
it is generated automatically in the objects directory.
|
||||
|
||||
|
||||
2. Using the C include path
|
||||
|
||||
Use the C include path to ensure that your own versions of the
|
||||
files are used at compile time when the lines
|
||||
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_MODULES_H
|
||||
|
||||
are compiled. Their default values being
|
||||
<freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
|
||||
can do something like:
|
||||
|
||||
custom/
|
||||
freetype/
|
||||
config/
|
||||
ftoption.h => custom options header
|
||||
ftmodule.h => custom modules list
|
||||
|
||||
include/ => normal FreeType 2 include
|
||||
freetype/
|
||||
...
|
||||
|
||||
then change the C include path to always give the path to `custom'
|
||||
before the FreeType 2 `include'.
|
||||
|
||||
|
||||
3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
|
||||
|
||||
Another way to do the same thing is to redefine the macros used to
|
||||
name the configuration headers. To do so, you need a custom
|
||||
`ft2build.h' whose content can be as simple as:
|
||||
|
||||
#ifndef __FT2_BUILD_MY_PLATFORM_H__
|
||||
#define __FT2_BUILD_MY_PLATFORM_H__
|
||||
|
||||
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
|
||||
#define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
|
||||
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2_BUILD_MY_PLATFORM_H__ */
|
||||
|
||||
Place those files in a separate directory, e.g.,
|
||||
|
||||
custom/
|
||||
ft2build.h => custom version described above
|
||||
my-ftoption.h => custom options header
|
||||
my-ftmodule.h => custom modules list header
|
||||
|
||||
and change the C include path to ensure that `custom' is always
|
||||
placed before the FT2 `include' during compilation.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of CUSTOMIZE ---
|
||||
|
||||
+202
-202
@@ -1,202 +1,202 @@
|
||||
Debugging within the FreeType sources
|
||||
=====================================
|
||||
|
||||
I. Configuration macros
|
||||
-----------------------
|
||||
|
||||
There are several ways to enable debugging features in a FreeType 2
|
||||
builds. This is controlled through the definition of special macros
|
||||
located in the file `ftoptions.h'. The macros are:
|
||||
|
||||
|
||||
FT_DEBUG_LEVEL_ERROR
|
||||
|
||||
#define this macro if you want to compile the FT_ERROR macro calls
|
||||
to print error messages during program execution. This will not
|
||||
stop the program. Very useful to spot invalid fonts during
|
||||
development and to code workarounds for them.
|
||||
|
||||
FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
#define this macro if you want to compile both macros FT_ERROR and
|
||||
FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
|
||||
FT_TRACE2, ..., FT_TRACE7.
|
||||
|
||||
The trace macros are used to send debugging messages when an
|
||||
appropriate `debug level' is configured at runtime through the
|
||||
FT2_DEBUG environment variable (more on this later).
|
||||
|
||||
FT_DEBUG_MEMORY
|
||||
|
||||
If this macro is #defined, the FreeType engine is linked with a
|
||||
small but effective debugging memory manager that tracks all
|
||||
allocations and frees that are performed within the font engine.
|
||||
|
||||
When the FT2_DEBUG_MEMORY environment variable is defined at
|
||||
runtime, a call to FT_Done_FreeType will dump memory statistics,
|
||||
including the list of leaked memory blocks with the source locations
|
||||
where these were allocated. It is always a very good idea to define
|
||||
this in development builds. This works with _any_ program linked to
|
||||
FreeType, but requires a big deal of memory (the debugging memory
|
||||
manager never frees the blocks to the heap in order to detect double
|
||||
frees).
|
||||
|
||||
When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
|
||||
manager is ignored, and performance is unaffected.
|
||||
|
||||
|
||||
II. Debugging macros
|
||||
--------------------
|
||||
|
||||
Several macros can be used within the FreeType sources to help debugging
|
||||
its code:
|
||||
|
||||
|
||||
1. FT_ERROR(( ... ))
|
||||
|
||||
This macro is used to send debug messages that indicate relatively
|
||||
serious errors (like broken font files), but will not stop the
|
||||
execution of the running program. Its code is compiled only when
|
||||
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
|
||||
`ftoption.h'.
|
||||
|
||||
Note that you have to use a printf-like signature, but with double
|
||||
parentheses, like in
|
||||
|
||||
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
2. FT_ASSERT( condition )
|
||||
|
||||
This macro is used to check strong assertions at runtime. If its
|
||||
condition isn't TRUE, the program will abort with a panic message.
|
||||
Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
|
||||
FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses
|
||||
here. For example
|
||||
|
||||
FT_ASSERT( ptr != NULL );
|
||||
|
||||
|
||||
3. FT_TRACE( level, (message...) )
|
||||
|
||||
The FT_TRACE macro is used to send general-purpose debugging
|
||||
messages during program execution. This macro uses an *implicit*
|
||||
macro named FT_COMPONENT used to name the current FreeType component
|
||||
being run.
|
||||
|
||||
The developer should always define FT_COMPONENT as appropriate, for
|
||||
example as in
|
||||
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
The value of the FT_COMPONENT macro is an enumeration named
|
||||
trace_XXXX where XXXX is one of the component names defined in the
|
||||
internal file `freetype/internal/fttrace.h'. If you modify FreeType
|
||||
source and insert new trace_XXXX macro, you must register it in
|
||||
fttrace.h. If you insert or remove many trace macros, you can check
|
||||
the undefined or the unused trace macro by src/tools/chktrcmp.py.
|
||||
|
||||
Each such component is assigned a `debug level', ranging from 0
|
||||
to 7, through the use of the FT2_DEBUG environment variable
|
||||
(described below) when a program linked with FreeType starts.
|
||||
|
||||
When FT_TRACE is called, its level is compared to the one of the
|
||||
corresponding component. Messages with trace levels *higher* than
|
||||
the corresponding component level are filtered and never printed.
|
||||
|
||||
This means that trace messages with level 0 are always printed,
|
||||
those with level 2 are only printed when the component level is *at
|
||||
least* 2.
|
||||
|
||||
The second parameter to FT_TRACE must contain parentheses and
|
||||
correspond to a printf-like call, as in
|
||||
|
||||
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
|
||||
|
||||
The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
|
||||
can be used with constant level indices, and are much cleaner to
|
||||
use, as in
|
||||
|
||||
FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
III. Environment variables
|
||||
--------------------------
|
||||
|
||||
The following environment variables control debugging output and
|
||||
behaviour of FreeType at runtime.
|
||||
|
||||
|
||||
FT2_DEBUG
|
||||
|
||||
This variable is only used when FreeType is built with
|
||||
FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level
|
||||
definitions, following this format:
|
||||
|
||||
component1:level1 component2:level2 component3:level3 ...
|
||||
|
||||
where `componentX' is the name of a tracing component, as defined in
|
||||
`fttrace.h', but without the `trace_' prefix. `levelX' is the
|
||||
corresponding level to use at runtime.
|
||||
|
||||
`any' is a special component name that will be interpreted as
|
||||
`any/all components'. For example, the following definitions
|
||||
|
||||
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
|
||||
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
|
||||
|
||||
both stipulate that all components should have level 2, except for
|
||||
the memory and io components which will be set to trace levels 5 and
|
||||
4, respectively.
|
||||
|
||||
|
||||
FT2_DEBUG_MEMORY
|
||||
|
||||
This environment variable, when defined, tells FreeType to use a
|
||||
debugging memory manager that will track leaking memory blocks as
|
||||
well as other common errors like double frees. It is also capable
|
||||
of reporting _where_ the leaking blocks were allocated, which
|
||||
considerably saves time when debugging new additions to the library.
|
||||
|
||||
This code is only compiled when FreeType is built with the
|
||||
FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
|
||||
ignored in other builds.
|
||||
|
||||
|
||||
FT2_ALLOC_TOTAL_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum heap size for all memory allocations
|
||||
performed by FreeType. This is very useful to test the robustness
|
||||
of the font engine and programs that use it in tight memory
|
||||
conditions.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
|
||||
FT2_ALLOC_COUNT_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum number of memory allocations
|
||||
performed by FreeType before returning the error
|
||||
FT_Err_Out_Of_Memory. This is useful for debugging and testing the
|
||||
engine's robustness.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of DEBUG ---
|
||||
Debugging within the FreeType sources
|
||||
=====================================
|
||||
|
||||
I. Configuration macros
|
||||
-----------------------
|
||||
|
||||
There are several ways to enable debugging features in a FreeType 2
|
||||
builds. This is controlled through the definition of special macros
|
||||
located in the file `ftoptions.h'. The macros are:
|
||||
|
||||
|
||||
FT_DEBUG_LEVEL_ERROR
|
||||
|
||||
#define this macro if you want to compile the FT_ERROR macro calls
|
||||
to print error messages during program execution. This will not
|
||||
stop the program. Very useful to spot invalid fonts during
|
||||
development and to code workarounds for them.
|
||||
|
||||
FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
#define this macro if you want to compile both macros FT_ERROR and
|
||||
FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
|
||||
FT_TRACE2, ..., FT_TRACE7.
|
||||
|
||||
The trace macros are used to send debugging messages when an
|
||||
appropriate `debug level' is configured at runtime through the
|
||||
FT2_DEBUG environment variable (more on this later).
|
||||
|
||||
FT_DEBUG_MEMORY
|
||||
|
||||
If this macro is #defined, the FreeType engine is linked with a
|
||||
small but effective debugging memory manager that tracks all
|
||||
allocations and frees that are performed within the font engine.
|
||||
|
||||
When the FT2_DEBUG_MEMORY environment variable is defined at
|
||||
runtime, a call to FT_Done_FreeType will dump memory statistics,
|
||||
including the list of leaked memory blocks with the source locations
|
||||
where these were allocated. It is always a very good idea to define
|
||||
this in development builds. This works with _any_ program linked to
|
||||
FreeType, but requires a big deal of memory (the debugging memory
|
||||
manager never frees the blocks to the heap in order to detect double
|
||||
frees).
|
||||
|
||||
When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
|
||||
manager is ignored, and performance is unaffected.
|
||||
|
||||
|
||||
II. Debugging macros
|
||||
--------------------
|
||||
|
||||
Several macros can be used within the FreeType sources to help debugging
|
||||
its code:
|
||||
|
||||
|
||||
1. FT_ERROR(( ... ))
|
||||
|
||||
This macro is used to send debug messages that indicate relatively
|
||||
serious errors (like broken font files), but will not stop the
|
||||
execution of the running program. Its code is compiled only when
|
||||
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
|
||||
`ftoption.h'.
|
||||
|
||||
Note that you have to use a printf-like signature, but with double
|
||||
parentheses, like in
|
||||
|
||||
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
2. FT_ASSERT( condition )
|
||||
|
||||
This macro is used to check strong assertions at runtime. If its
|
||||
condition isn't TRUE, the program will abort with a panic message.
|
||||
Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
|
||||
FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses
|
||||
here. For example
|
||||
|
||||
FT_ASSERT( ptr != NULL );
|
||||
|
||||
|
||||
3. FT_TRACE( level, (message...) )
|
||||
|
||||
The FT_TRACE macro is used to send general-purpose debugging
|
||||
messages during program execution. This macro uses an *implicit*
|
||||
macro named FT_COMPONENT used to name the current FreeType component
|
||||
being run.
|
||||
|
||||
The developer should always define FT_COMPONENT as appropriate, for
|
||||
example as in
|
||||
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
The value of the FT_COMPONENT macro is an enumeration named
|
||||
trace_XXXX where XXXX is one of the component names defined in the
|
||||
internal file `freetype/internal/fttrace.h'. If you modify FreeType
|
||||
source and insert new trace_XXXX macro, you must register it in
|
||||
fttrace.h. If you insert or remove many trace macros, you can check
|
||||
the undefined or the unused trace macro by src/tools/chktrcmp.py.
|
||||
|
||||
Each such component is assigned a `debug level', ranging from 0
|
||||
to 7, through the use of the FT2_DEBUG environment variable
|
||||
(described below) when a program linked with FreeType starts.
|
||||
|
||||
When FT_TRACE is called, its level is compared to the one of the
|
||||
corresponding component. Messages with trace levels *higher* than
|
||||
the corresponding component level are filtered and never printed.
|
||||
|
||||
This means that trace messages with level 0 are always printed,
|
||||
those with level 2 are only printed when the component level is *at
|
||||
least* 2.
|
||||
|
||||
The second parameter to FT_TRACE must contain parentheses and
|
||||
correspond to a printf-like call, as in
|
||||
|
||||
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
|
||||
|
||||
The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
|
||||
can be used with constant level indices, and are much cleaner to
|
||||
use, as in
|
||||
|
||||
FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
III. Environment variables
|
||||
--------------------------
|
||||
|
||||
The following environment variables control debugging output and
|
||||
behaviour of FreeType at runtime.
|
||||
|
||||
|
||||
FT2_DEBUG
|
||||
|
||||
This variable is only used when FreeType is built with
|
||||
FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level
|
||||
definitions, following this format:
|
||||
|
||||
component1:level1 component2:level2 component3:level3 ...
|
||||
|
||||
where `componentX' is the name of a tracing component, as defined in
|
||||
`fttrace.h', but without the `trace_' prefix. `levelX' is the
|
||||
corresponding level to use at runtime.
|
||||
|
||||
`any' is a special component name that will be interpreted as
|
||||
`any/all components'. For example, the following definitions
|
||||
|
||||
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
|
||||
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
|
||||
|
||||
both stipulate that all components should have level 2, except for
|
||||
the memory and io components which will be set to trace levels 5 and
|
||||
4, respectively.
|
||||
|
||||
|
||||
FT2_DEBUG_MEMORY
|
||||
|
||||
This environment variable, when defined, tells FreeType to use a
|
||||
debugging memory manager that will track leaking memory blocks as
|
||||
well as other common errors like double frees. It is also capable
|
||||
of reporting _where_ the leaking blocks were allocated, which
|
||||
considerably saves time when debugging new additions to the library.
|
||||
|
||||
This code is only compiled when FreeType is built with the
|
||||
FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
|
||||
ignored in other builds.
|
||||
|
||||
|
||||
FT2_ALLOC_TOTAL_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum heap size for all memory allocations
|
||||
performed by FreeType. This is very useful to test the robustness
|
||||
of the font engine and programs that use it in tight memory
|
||||
conditions.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
|
||||
FT2_ALLOC_COUNT_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum number of memory allocations
|
||||
performed by FreeType before returning the error
|
||||
FT_Err_Out_Of_Memory. This is useful for debugging and testing the
|
||||
engine's robustness.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of DEBUG ---
|
||||
|
||||
+91
-91
@@ -1,91 +1,91 @@
|
||||
|
||||
There are several ways to build the FreeType library, depending on
|
||||
your system and the level of customization you need. Here is a short
|
||||
overview of the documentation available:
|
||||
|
||||
|
||||
I. Normal installation and upgrades
|
||||
===================================
|
||||
|
||||
1. Native TrueType Hinting
|
||||
|
||||
Native TrueType hinting is disabled by default[1]. If you really
|
||||
need it, read the file `TRUETYPE' for information.
|
||||
|
||||
|
||||
2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
|
||||
|
||||
Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
|
||||
upgrade FreeType 2 on a Unix system. Note that you *need* GNU
|
||||
Make for automatic compilation, since other make tools won't work
|
||||
(this includes BSD Make).
|
||||
|
||||
GNU Make VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
3. On VMS with the `mms' build tool
|
||||
|
||||
See `INSTALL.VMS' for installation instructions on this platform.
|
||||
|
||||
|
||||
4. Other systems using GNU Make
|
||||
|
||||
On non-Unix platforms, it is possible to build the library using
|
||||
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
|
||||
This methods supports several compilers on Windows, OS/2, and
|
||||
BeOS, including MinGW, Visual C++, Borland C++, and more.
|
||||
|
||||
Instructions are provided in the file `INSTALL.GNU'.
|
||||
|
||||
|
||||
5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
||||
|
||||
We provide a small number of `project files' for various IDEs to
|
||||
automatically build the library as well. Note that these files
|
||||
are not supported and only sporadically maintained by FreeType
|
||||
developers, so don't expect them to work in each release.
|
||||
|
||||
To find them, have a look at the content of the `builds/<system>'
|
||||
directory, where <system> stands for your OS or environment.
|
||||
|
||||
|
||||
6. From you own IDE, or own Makefiles
|
||||
|
||||
If you want to create your own project file, follow the
|
||||
instructions given in the `INSTALL.ANY' document of this
|
||||
directory.
|
||||
|
||||
|
||||
II. Custom builds of the library
|
||||
================================
|
||||
|
||||
Customizing the compilation of FreeType is easy, and allows you to
|
||||
select only the components of the font engine that you really need.
|
||||
For more details read the file `CUSTOMIZE'.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
[1] More details on: http://www.freetype.org/patents.html
|
||||
|
||||
[2] make++, a make tool written in Perl, has sufficient support of GNU
|
||||
make extensions to build FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL ---
|
||||
|
||||
There are several ways to build the FreeType library, depending on
|
||||
your system and the level of customization you need. Here is a short
|
||||
overview of the documentation available:
|
||||
|
||||
|
||||
I. Normal installation and upgrades
|
||||
===================================
|
||||
|
||||
1. Native TrueType Hinting
|
||||
|
||||
Native TrueType hinting is disabled by default[1]. If you really
|
||||
need it, read the file `TRUETYPE' for information.
|
||||
|
||||
|
||||
2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
|
||||
|
||||
Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
|
||||
upgrade FreeType 2 on a Unix system. Note that you *need* GNU
|
||||
Make for automatic compilation, since other make tools won't work
|
||||
(this includes BSD Make).
|
||||
|
||||
GNU Make VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
3. On VMS with the `mms' build tool
|
||||
|
||||
See `INSTALL.VMS' for installation instructions on this platform.
|
||||
|
||||
|
||||
4. Other systems using GNU Make
|
||||
|
||||
On non-Unix platforms, it is possible to build the library using
|
||||
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
|
||||
This methods supports several compilers on Windows, OS/2, and
|
||||
BeOS, including MinGW, Visual C++, Borland C++, and more.
|
||||
|
||||
Instructions are provided in the file `INSTALL.GNU'.
|
||||
|
||||
|
||||
5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
||||
|
||||
We provide a small number of `project files' for various IDEs to
|
||||
automatically build the library as well. Note that these files
|
||||
are not supported and only sporadically maintained by FreeType
|
||||
developers, so don't expect them to work in each release.
|
||||
|
||||
To find them, have a look at the content of the `builds/<system>'
|
||||
directory, where <system> stands for your OS or environment.
|
||||
|
||||
|
||||
6. From you own IDE, or own Makefiles
|
||||
|
||||
If you want to create your own project file, follow the
|
||||
instructions given in the `INSTALL.ANY' document of this
|
||||
directory.
|
||||
|
||||
|
||||
II. Custom builds of the library
|
||||
================================
|
||||
|
||||
Customizing the compilation of FreeType is easy, and allows you to
|
||||
select only the components of the font engine that you really need.
|
||||
For more details read the file `CUSTOMIZE'.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
[1] More details on: http://www.freetype.org/patents.html
|
||||
|
||||
[2] make++, a make tool written in Perl, has sufficient support of GNU
|
||||
make extensions to build FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL ---
|
||||
|
||||
+151
-151
@@ -1,151 +1,151 @@
|
||||
Instructions on how to build FreeType with your own build tool
|
||||
==============================================================
|
||||
|
||||
See the file `CUSTOMIZE' to learn how to customize FreeType to
|
||||
specific environments.
|
||||
|
||||
|
||||
I. Standard procedure
|
||||
---------------------
|
||||
|
||||
* DISABLE PRE-COMPILED HEADERS! This is very important for Visual
|
||||
C++, because FreeType uses lines like:
|
||||
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
which are not correctly supported by this compiler while being ISO
|
||||
C compliant!
|
||||
|
||||
* You need to add the directories `freetype2/include' to your
|
||||
include path when compiling the library.
|
||||
|
||||
* FreeType 2 is made of several components; each of them is located
|
||||
in a subdirectory of `freetype2/src'. For example,
|
||||
`freetype2/src/truetype/' contains the TrueType font driver.
|
||||
|
||||
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
|
||||
|
||||
-- base components (required)
|
||||
|
||||
src/base/ftsystem.c
|
||||
src/base/ftinit.c
|
||||
src/base/ftdebug.c
|
||||
|
||||
src/base/ftbase.c
|
||||
|
||||
src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
|
||||
src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
|
||||
|
||||
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
|
||||
src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
|
||||
src/base/ftcid.c -- optional, see <freetype/ftcid.h>
|
||||
src/base/ftfstype.c -- optional
|
||||
src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
|
||||
src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
|
||||
src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
|
||||
src/base/ftmm.c -- optional, see <freetype/ftmm.h>
|
||||
src/base/ftotval.c -- optional, see <freetype/ftotval.h>
|
||||
src/base/ftpatent.c -- optional
|
||||
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
|
||||
src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
|
||||
src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
|
||||
src/base/fttype1.c -- optional, see <freetype/t1tables.h>
|
||||
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
|
||||
src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
|
||||
|
||||
src/base/ftmac.c -- only on the Macintosh
|
||||
|
||||
-- font drivers (optional; at least one is needed)
|
||||
|
||||
src/bdf/bdf.c -- BDF font driver
|
||||
src/cff/cff.c -- CFF/OpenType font driver
|
||||
src/cid/type1cid.c -- Type 1 CID-keyed font driver
|
||||
src/pcf/pcf.c -- PCF font driver
|
||||
src/pfr/pfr.c -- PFR/TrueDoc font driver
|
||||
src/sfnt/sfnt.c -- SFNT files support
|
||||
(TrueType & OpenType)
|
||||
src/truetype/truetype.c -- TrueType font driver
|
||||
src/type1/type1.c -- Type 1 font driver
|
||||
src/type42/type42.c -- Type 42 font driver
|
||||
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
|
||||
|
||||
-- rasterizers (optional; at least one is needed for vector
|
||||
formats)
|
||||
|
||||
src/raster/raster.c -- monochrome rasterizer
|
||||
src/smooth/smooth.c -- anti-aliasing rasterizer
|
||||
|
||||
-- auxiliary modules (optional)
|
||||
|
||||
src/autofit/autofit.c -- auto hinting module
|
||||
src/cache/ftcache.c -- cache sub-system (in beta)
|
||||
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
|
||||
src/lzw/ftlzw.c -- support for compressed fonts (.Z)
|
||||
src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
|
||||
src/otvalid/otvalid.c -- OpenType table validation
|
||||
src/psaux/psaux.c -- PostScript Type 1 parsing
|
||||
src/pshinter/pshinter.c -- PS hinting module
|
||||
src/psnames/psnames.c -- PostScript glyph names support
|
||||
|
||||
|
||||
Notes:
|
||||
|
||||
`ftcache.c' needs `ftglyph.c'
|
||||
`ftfstype.c' needs `fttype1.c'
|
||||
`ftglyph.c' needs `ftbitmap.c'
|
||||
`ftstroke.c' needs `ftglyph.c'
|
||||
`ftsynth.c' needs `ftbitmap.c'
|
||||
|
||||
`cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
|
||||
`truetype.c' needs `sfnt.c' and `psnames.c'
|
||||
`type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
|
||||
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
|
||||
`type42.c' needs `truetype.c'
|
||||
|
||||
|
||||
Read the file `CUSTOMIZE' in case you want to compile only a subset
|
||||
of the drivers, renderers, and optional modules; a detailed
|
||||
description of the various base extension is given in the top-level
|
||||
file `modules.cfg'.
|
||||
|
||||
You are done. In case of problems, see the archives of the FreeType
|
||||
development mailing list.
|
||||
|
||||
|
||||
II. Support for flat-directory compilation
|
||||
------------------------------------------
|
||||
|
||||
It is possible to put all FreeType 2 source files into a single
|
||||
directory, with the *exception* of the `include' hierarchy.
|
||||
|
||||
1. Copy all files in current directory
|
||||
|
||||
cp freetype2/src/base/*.[hc] .
|
||||
cp freetype2/src/raster1/*.[hc] .
|
||||
cp freetype2/src/smooth/*.[hc] .
|
||||
etc.
|
||||
|
||||
2. Compile sources
|
||||
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
|
||||
etc.
|
||||
|
||||
You don't need to define the FT_FLAT_COMPILATION macro (as this
|
||||
was required in previous releases of FreeType 2).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.ANY ---
|
||||
Instructions on how to build FreeType with your own build tool
|
||||
==============================================================
|
||||
|
||||
See the file `CUSTOMIZE' to learn how to customize FreeType to
|
||||
specific environments.
|
||||
|
||||
|
||||
I. Standard procedure
|
||||
---------------------
|
||||
|
||||
* DISABLE PRE-COMPILED HEADERS! This is very important for Visual
|
||||
C++, because FreeType uses lines like:
|
||||
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
which are not correctly supported by this compiler while being ISO
|
||||
C compliant!
|
||||
|
||||
* You need to add the directories `freetype2/include' to your
|
||||
include path when compiling the library.
|
||||
|
||||
* FreeType 2 is made of several components; each of them is located
|
||||
in a subdirectory of `freetype2/src'. For example,
|
||||
`freetype2/src/truetype/' contains the TrueType font driver.
|
||||
|
||||
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
|
||||
|
||||
-- base components (required)
|
||||
|
||||
src/base/ftsystem.c
|
||||
src/base/ftinit.c
|
||||
src/base/ftdebug.c
|
||||
|
||||
src/base/ftbase.c
|
||||
|
||||
src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
|
||||
src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
|
||||
|
||||
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
|
||||
src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
|
||||
src/base/ftcid.c -- optional, see <freetype/ftcid.h>
|
||||
src/base/ftfstype.c -- optional
|
||||
src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
|
||||
src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
|
||||
src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
|
||||
src/base/ftmm.c -- optional, see <freetype/ftmm.h>
|
||||
src/base/ftotval.c -- optional, see <freetype/ftotval.h>
|
||||
src/base/ftpatent.c -- optional
|
||||
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
|
||||
src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
|
||||
src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
|
||||
src/base/fttype1.c -- optional, see <freetype/t1tables.h>
|
||||
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
|
||||
src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
|
||||
|
||||
src/base/ftmac.c -- only on the Macintosh
|
||||
|
||||
-- font drivers (optional; at least one is needed)
|
||||
|
||||
src/bdf/bdf.c -- BDF font driver
|
||||
src/cff/cff.c -- CFF/OpenType font driver
|
||||
src/cid/type1cid.c -- Type 1 CID-keyed font driver
|
||||
src/pcf/pcf.c -- PCF font driver
|
||||
src/pfr/pfr.c -- PFR/TrueDoc font driver
|
||||
src/sfnt/sfnt.c -- SFNT files support
|
||||
(TrueType & OpenType)
|
||||
src/truetype/truetype.c -- TrueType font driver
|
||||
src/type1/type1.c -- Type 1 font driver
|
||||
src/type42/type42.c -- Type 42 font driver
|
||||
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
|
||||
|
||||
-- rasterizers (optional; at least one is needed for vector
|
||||
formats)
|
||||
|
||||
src/raster/raster.c -- monochrome rasterizer
|
||||
src/smooth/smooth.c -- anti-aliasing rasterizer
|
||||
|
||||
-- auxiliary modules (optional)
|
||||
|
||||
src/autofit/autofit.c -- auto hinting module
|
||||
src/cache/ftcache.c -- cache sub-system (in beta)
|
||||
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
|
||||
src/lzw/ftlzw.c -- support for compressed fonts (.Z)
|
||||
src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
|
||||
src/otvalid/otvalid.c -- OpenType table validation
|
||||
src/psaux/psaux.c -- PostScript Type 1 parsing
|
||||
src/pshinter/pshinter.c -- PS hinting module
|
||||
src/psnames/psnames.c -- PostScript glyph names support
|
||||
|
||||
|
||||
Notes:
|
||||
|
||||
`ftcache.c' needs `ftglyph.c'
|
||||
`ftfstype.c' needs `fttype1.c'
|
||||
`ftglyph.c' needs `ftbitmap.c'
|
||||
`ftstroke.c' needs `ftglyph.c'
|
||||
`ftsynth.c' needs `ftbitmap.c'
|
||||
|
||||
`cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
|
||||
`truetype.c' needs `sfnt.c' and `psnames.c'
|
||||
`type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
|
||||
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
|
||||
`type42.c' needs `truetype.c'
|
||||
|
||||
|
||||
Read the file `CUSTOMIZE' in case you want to compile only a subset
|
||||
of the drivers, renderers, and optional modules; a detailed
|
||||
description of the various base extension is given in the top-level
|
||||
file `modules.cfg'.
|
||||
|
||||
You are done. In case of problems, see the archives of the FreeType
|
||||
development mailing list.
|
||||
|
||||
|
||||
II. Support for flat-directory compilation
|
||||
------------------------------------------
|
||||
|
||||
It is possible to put all FreeType 2 source files into a single
|
||||
directory, with the *exception* of the `include' hierarchy.
|
||||
|
||||
1. Copy all files in current directory
|
||||
|
||||
cp freetype2/src/base/*.[hc] .
|
||||
cp freetype2/src/raster1/*.[hc] .
|
||||
cp freetype2/src/smooth/*.[hc] .
|
||||
etc.
|
||||
|
||||
2. Compile sources
|
||||
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
|
||||
etc.
|
||||
|
||||
You don't need to define the FT_FLAT_COMPILATION macro (as this
|
||||
was required in previous releases of FreeType 2).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.ANY ---
|
||||
|
||||
+135
-135
@@ -1,135 +1,135 @@
|
||||
This document contains instructions on how to cross-build the FreeType
|
||||
library on Unix systems, for example, building binaries for Linux/MIPS
|
||||
on FreeBSD/i386. Before reading this document, please consult
|
||||
INSTALL.UNIX for required tools and the basic self-building procedure.
|
||||
|
||||
|
||||
1. Required Tools
|
||||
-----------------
|
||||
|
||||
For self-building the FreeType library on a Unix system, GNU Make
|
||||
3.80 or newer is required. INSTALL.UNIX contains hints how to
|
||||
check the installed `make'.
|
||||
|
||||
The GNU C compiler to cross-build the target system is required.
|
||||
At present, using non-GNU cross compiler is not tested. The cross
|
||||
compiler is expected to be installed with a system prefix. For
|
||||
example, if your building system is FreeBSD/i386 and the target
|
||||
system is Linux/MIPS, the cross compiler should be installed with
|
||||
the name `mips-ip22-linuxelf-gcc'.
|
||||
|
||||
A C compiler for a self-build is required also, to build a tool
|
||||
that is executed during the building procedure. Non-GNU self
|
||||
compilers are acceptable, but such a setup is not tested yet.
|
||||
|
||||
|
||||
2. Configuration
|
||||
----------------
|
||||
|
||||
2.1. Building and target system
|
||||
|
||||
To configure for cross-build, the options `--host=<system>' and
|
||||
`--build=<system>' must be passed to configure. For example, if
|
||||
your building system is FreeBSD/i386 and the target system is
|
||||
Linux/MIPS, say
|
||||
|
||||
./configure \
|
||||
--build=i386-unknown-freebsd \
|
||||
--host=mips-ip22-linuxelf \
|
||||
[other options]
|
||||
|
||||
It should be noted that `--host=<system>' specifies the system
|
||||
where the built binaries will be executed, not the system where
|
||||
the build actually happens. Older versions of GNU autoconf use
|
||||
the option pair `--host=' and `--target='. This is broken and
|
||||
doesn't work. Similarly, an explicit CC specification like
|
||||
|
||||
env CC=mips-ip22-linux-gcc ./configure
|
||||
|
||||
or
|
||||
|
||||
env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
|
||||
|
||||
doesn't work either; such a configuration confuses the
|
||||
`configure' script while trying to find the cross and native C
|
||||
compilers.
|
||||
|
||||
|
||||
2.2. The prefix to install FreeType2
|
||||
|
||||
Setting `--prefix=<prefix>' properly is important. The prefix
|
||||
to install FreeType2 is written into the freetype-config script
|
||||
and freetype2.pc configuration file.
|
||||
|
||||
If the built FreeType 2 library is used as a part of the
|
||||
cross-building system, the prefix is expected to be different
|
||||
from the self-building system. For example, configuration with
|
||||
`--prefix=/usr/local' installs binaries into the system wide
|
||||
`/usr/local' directory which then can't be executed. This
|
||||
causes confusion in configuration of all applications which use
|
||||
FreeType2. Instead, use a prefix to install the cross-build
|
||||
into a separate system tree, for example,
|
||||
`--prefix=/usr/local/mips-ip22-linux/'.
|
||||
|
||||
On the other hand, if the built FreeType2 is used as a part of
|
||||
the target system, the prefix to install should reflect the file
|
||||
system structure of the target system.
|
||||
|
||||
|
||||
3. Building command
|
||||
-------------------
|
||||
|
||||
If the configuration finishes successfully, invoking GNU make
|
||||
builds FreeType2. Just say
|
||||
|
||||
make
|
||||
|
||||
or
|
||||
|
||||
gmake
|
||||
|
||||
depending on the name the GNU make binary actually has.
|
||||
|
||||
|
||||
4. Installation
|
||||
---------------
|
||||
|
||||
Saying
|
||||
|
||||
make install
|
||||
|
||||
as usual to install FreeType2 into the directory tree specified by
|
||||
the argument of the `--prefix' option.
|
||||
|
||||
As noted in section 2.2, FreeType2 is sometimes configured to be
|
||||
installed into the system directory of the target system, and
|
||||
should not be installed in the cross-building system. In such
|
||||
cases, the make variable `DESTDIR' is useful to change the root
|
||||
directory in the installation. For example, after
|
||||
|
||||
make DESTDIR=/mnt/target_system_root/ install
|
||||
|
||||
the built FreeType2 library files are installed into the directory
|
||||
`/mnt/target_system_root/<prefix_in_configure>/lib'.
|
||||
|
||||
|
||||
5. TODO
|
||||
-------
|
||||
|
||||
Cross building between Cygwin (or MSys) and Unix must be tested.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2008 by suzuki toshiya
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.CROSS ---
|
||||
This document contains instructions on how to cross-build the FreeType
|
||||
library on Unix systems, for example, building binaries for Linux/MIPS
|
||||
on FreeBSD/i386. Before reading this document, please consult
|
||||
INSTALL.UNIX for required tools and the basic self-building procedure.
|
||||
|
||||
|
||||
1. Required Tools
|
||||
-----------------
|
||||
|
||||
For self-building the FreeType library on a Unix system, GNU Make
|
||||
3.80 or newer is required. INSTALL.UNIX contains hints how to
|
||||
check the installed `make'.
|
||||
|
||||
The GNU C compiler to cross-build the target system is required.
|
||||
At present, using non-GNU cross compiler is not tested. The cross
|
||||
compiler is expected to be installed with a system prefix. For
|
||||
example, if your building system is FreeBSD/i386 and the target
|
||||
system is Linux/MIPS, the cross compiler should be installed with
|
||||
the name `mips-ip22-linuxelf-gcc'.
|
||||
|
||||
A C compiler for a self-build is required also, to build a tool
|
||||
that is executed during the building procedure. Non-GNU self
|
||||
compilers are acceptable, but such a setup is not tested yet.
|
||||
|
||||
|
||||
2. Configuration
|
||||
----------------
|
||||
|
||||
2.1. Building and target system
|
||||
|
||||
To configure for cross-build, the options `--host=<system>' and
|
||||
`--build=<system>' must be passed to configure. For example, if
|
||||
your building system is FreeBSD/i386 and the target system is
|
||||
Linux/MIPS, say
|
||||
|
||||
./configure \
|
||||
--build=i386-unknown-freebsd \
|
||||
--host=mips-ip22-linuxelf \
|
||||
[other options]
|
||||
|
||||
It should be noted that `--host=<system>' specifies the system
|
||||
where the built binaries will be executed, not the system where
|
||||
the build actually happens. Older versions of GNU autoconf use
|
||||
the option pair `--host=' and `--target='. This is broken and
|
||||
doesn't work. Similarly, an explicit CC specification like
|
||||
|
||||
env CC=mips-ip22-linux-gcc ./configure
|
||||
|
||||
or
|
||||
|
||||
env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
|
||||
|
||||
doesn't work either; such a configuration confuses the
|
||||
`configure' script while trying to find the cross and native C
|
||||
compilers.
|
||||
|
||||
|
||||
2.2. The prefix to install FreeType2
|
||||
|
||||
Setting `--prefix=<prefix>' properly is important. The prefix
|
||||
to install FreeType2 is written into the freetype-config script
|
||||
and freetype2.pc configuration file.
|
||||
|
||||
If the built FreeType 2 library is used as a part of the
|
||||
cross-building system, the prefix is expected to be different
|
||||
from the self-building system. For example, configuration with
|
||||
`--prefix=/usr/local' installs binaries into the system wide
|
||||
`/usr/local' directory which then can't be executed. This
|
||||
causes confusion in configuration of all applications which use
|
||||
FreeType2. Instead, use a prefix to install the cross-build
|
||||
into a separate system tree, for example,
|
||||
`--prefix=/usr/local/mips-ip22-linux/'.
|
||||
|
||||
On the other hand, if the built FreeType2 is used as a part of
|
||||
the target system, the prefix to install should reflect the file
|
||||
system structure of the target system.
|
||||
|
||||
|
||||
3. Building command
|
||||
-------------------
|
||||
|
||||
If the configuration finishes successfully, invoking GNU make
|
||||
builds FreeType2. Just say
|
||||
|
||||
make
|
||||
|
||||
or
|
||||
|
||||
gmake
|
||||
|
||||
depending on the name the GNU make binary actually has.
|
||||
|
||||
|
||||
4. Installation
|
||||
---------------
|
||||
|
||||
Saying
|
||||
|
||||
make install
|
||||
|
||||
as usual to install FreeType2 into the directory tree specified by
|
||||
the argument of the `--prefix' option.
|
||||
|
||||
As noted in section 2.2, FreeType2 is sometimes configured to be
|
||||
installed into the system directory of the target system, and
|
||||
should not be installed in the cross-building system. In such
|
||||
cases, the make variable `DESTDIR' is useful to change the root
|
||||
directory in the installation. For example, after
|
||||
|
||||
make DESTDIR=/mnt/target_system_root/ install
|
||||
|
||||
the built FreeType2 library files are installed into the directory
|
||||
`/mnt/target_system_root/<prefix_in_configure>/lib'.
|
||||
|
||||
|
||||
5. TODO
|
||||
-------
|
||||
|
||||
Cross building between Cygwin (or MSys) and Unix must be tested.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2008 by suzuki toshiya
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.CROSS ---
|
||||
|
||||
+159
-159
@@ -1,159 +1,159 @@
|
||||
This document contains instructions how to build the FreeType library
|
||||
on non-Unix systems with the help of GNU Make. Note that if you are
|
||||
running Cygwin or MSys in Windows, you should follow the instructions
|
||||
in the file INSTALL.UNIX instead.
|
||||
|
||||
|
||||
FreeType 2 includes a powerful and flexible build system that allows
|
||||
you to easily compile it on a great variety of platforms from the
|
||||
command line. To do so, just follow these simple instructions.
|
||||
|
||||
1. Install GNU Make
|
||||
-------------------
|
||||
|
||||
Because GNU Make is the only Make tool supported to compile
|
||||
FreeType 2, you should install it on your machine.
|
||||
|
||||
The FreeType 2 build system relies on many features special to GNU
|
||||
Make.
|
||||
|
||||
NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY
|
||||
INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
|
||||
|
||||
Note that make++, a make tool written in Perl, supports enough
|
||||
features of GNU make to compile FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
Make sure that you are invoking GNU Make from the command line, by
|
||||
typing something like:
|
||||
|
||||
make -v
|
||||
|
||||
to display its version number.
|
||||
|
||||
VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
2. Invoke `make'
|
||||
----------------
|
||||
|
||||
Go to the root directory of FreeType 2, then simply invoke GNU
|
||||
Make from the command line. This will launch the FreeType 2 host
|
||||
platform detection routines. A summary will be displayed, for
|
||||
example, on Win32.
|
||||
|
||||
|
||||
==============================================================
|
||||
FreeType build system -- automatic system detection
|
||||
|
||||
The following settings are used:
|
||||
|
||||
platform win32
|
||||
compiler gcc
|
||||
configuration directory .\builds\win32
|
||||
configuration rules .\builds\win32\w32-gcc.mk
|
||||
|
||||
If this does not correspond to your system or settings please
|
||||
remove the file 'config.mk' from this directory then read the
|
||||
INSTALL file for help.
|
||||
|
||||
Otherwise, simply type 'make' again to build the library
|
||||
or 'make refdoc' to build the API reference (the latter needs
|
||||
python).
|
||||
=============================================================
|
||||
|
||||
|
||||
If the detected settings correspond to your platform and compiler,
|
||||
skip to step 5. Note that if your platform is completely alien to
|
||||
the build system, the detected platform will be `ansi'.
|
||||
|
||||
|
||||
3. Configure the build system for a different compiler
|
||||
------------------------------------------------------
|
||||
|
||||
If the build system correctly detected your platform, but you want
|
||||
to use a different compiler than the one specified in the summary
|
||||
(for most platforms, gcc is the default compiler), invoke GNU Make
|
||||
with
|
||||
|
||||
make setup <compiler>
|
||||
|
||||
Examples:
|
||||
|
||||
to use Visual C++ on Win32, type: `make setup visualc'
|
||||
to use Borland C++ on Win32, type `make setup bcc32'
|
||||
to use Watcom C++ on Win32, type `make setup watcom'
|
||||
to use Intel C++ on Win32, type `make setup intelc'
|
||||
to use LCC-Win32 on Win32, type: `make setup lcc'
|
||||
to use Watcom C++ on OS/2, type `make setup watcom'
|
||||
to use VisualAge C++ on OS/2, type `make setup visualage'
|
||||
|
||||
The <compiler> name to use is platform-dependent. The list of
|
||||
available compilers for your system is available in the file
|
||||
`builds/<system>/detect.mk'.
|
||||
|
||||
If you are satisfied by the new configuration summary, skip to
|
||||
step 5.
|
||||
|
||||
|
||||
4. Configure the build system for an unknown platform/compiler
|
||||
--------------------------------------------------------------
|
||||
|
||||
The auto-detection/setup phase of the build system copies a file
|
||||
to the current directory under the name `config.mk'.
|
||||
|
||||
For example, on OS/2+gcc, it would simply copy
|
||||
`builds/os2/os2-gcc.mk' to `./config.mk'.
|
||||
|
||||
If for some reason your platform isn't correctly detected, copy
|
||||
manually the configuration sub-makefile to `./config.mk' and go to
|
||||
step 5.
|
||||
|
||||
Note that this file is a sub-Makefile used to specify Make
|
||||
variables for compiler and linker invocation during the build.
|
||||
You can easily create your own version from one of the existing
|
||||
configuration files, then copy it to the current directory under
|
||||
the name `./config.mk'.
|
||||
|
||||
|
||||
5. Build the library
|
||||
--------------------
|
||||
|
||||
The auto-detection/setup phase should have copied a file in the
|
||||
current directory, called `./config.mk'. This file contains
|
||||
definitions of various Make variables used to invoke the compiler
|
||||
and linker during the build. [It has also generated a file called
|
||||
`ftmodule.h' in the objects directory (which is normally
|
||||
`<toplevel>/objs/'); please read the file `docs/CUSTOMIZE' for
|
||||
customization of FreeType.]
|
||||
|
||||
To launch the build, simply invoke GNU Make again: The top
|
||||
Makefile will detect the configuration file and run the build with
|
||||
it.
|
||||
|
||||
|
||||
Final note
|
||||
|
||||
The build system builds a statically linked library of the font
|
||||
engine in the `objs' directory. It does _not_ support the build
|
||||
of DLLs on Windows and OS/2. If you need these, you have to
|
||||
either use an IDE-specific project file, or follow the
|
||||
instructions in `INSTALL.ANY' to create your own Makefiles.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.GNU ---
|
||||
This document contains instructions how to build the FreeType library
|
||||
on non-Unix systems with the help of GNU Make. Note that if you are
|
||||
running Cygwin or MSys in Windows, you should follow the instructions
|
||||
in the file INSTALL.UNIX instead.
|
||||
|
||||
|
||||
FreeType 2 includes a powerful and flexible build system that allows
|
||||
you to easily compile it on a great variety of platforms from the
|
||||
command line. To do so, just follow these simple instructions.
|
||||
|
||||
1. Install GNU Make
|
||||
-------------------
|
||||
|
||||
Because GNU Make is the only Make tool supported to compile
|
||||
FreeType 2, you should install it on your machine.
|
||||
|
||||
The FreeType 2 build system relies on many features special to GNU
|
||||
Make.
|
||||
|
||||
NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY
|
||||
INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
|
||||
|
||||
Note that make++, a make tool written in Perl, supports enough
|
||||
features of GNU make to compile FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
Make sure that you are invoking GNU Make from the command line, by
|
||||
typing something like:
|
||||
|
||||
make -v
|
||||
|
||||
to display its version number.
|
||||
|
||||
VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
2. Invoke `make'
|
||||
----------------
|
||||
|
||||
Go to the root directory of FreeType 2, then simply invoke GNU
|
||||
Make from the command line. This will launch the FreeType 2 host
|
||||
platform detection routines. A summary will be displayed, for
|
||||
example, on Win32.
|
||||
|
||||
|
||||
==============================================================
|
||||
FreeType build system -- automatic system detection
|
||||
|
||||
The following settings are used:
|
||||
|
||||
platform win32
|
||||
compiler gcc
|
||||
configuration directory .\builds\win32
|
||||
configuration rules .\builds\win32\w32-gcc.mk
|
||||
|
||||
If this does not correspond to your system or settings please
|
||||
remove the file 'config.mk' from this directory then read the
|
||||
INSTALL file for help.
|
||||
|
||||
Otherwise, simply type 'make' again to build the library
|
||||
or 'make refdoc' to build the API reference (the latter needs
|
||||
python).
|
||||
=============================================================
|
||||
|
||||
|
||||
If the detected settings correspond to your platform and compiler,
|
||||
skip to step 5. Note that if your platform is completely alien to
|
||||
the build system, the detected platform will be `ansi'.
|
||||
|
||||
|
||||
3. Configure the build system for a different compiler
|
||||
------------------------------------------------------
|
||||
|
||||
If the build system correctly detected your platform, but you want
|
||||
to use a different compiler than the one specified in the summary
|
||||
(for most platforms, gcc is the default compiler), invoke GNU Make
|
||||
with
|
||||
|
||||
make setup <compiler>
|
||||
|
||||
Examples:
|
||||
|
||||
to use Visual C++ on Win32, type: `make setup visualc'
|
||||
to use Borland C++ on Win32, type `make setup bcc32'
|
||||
to use Watcom C++ on Win32, type `make setup watcom'
|
||||
to use Intel C++ on Win32, type `make setup intelc'
|
||||
to use LCC-Win32 on Win32, type: `make setup lcc'
|
||||
to use Watcom C++ on OS/2, type `make setup watcom'
|
||||
to use VisualAge C++ on OS/2, type `make setup visualage'
|
||||
|
||||
The <compiler> name to use is platform-dependent. The list of
|
||||
available compilers for your system is available in the file
|
||||
`builds/<system>/detect.mk'.
|
||||
|
||||
If you are satisfied by the new configuration summary, skip to
|
||||
step 5.
|
||||
|
||||
|
||||
4. Configure the build system for an unknown platform/compiler
|
||||
--------------------------------------------------------------
|
||||
|
||||
The auto-detection/setup phase of the build system copies a file
|
||||
to the current directory under the name `config.mk'.
|
||||
|
||||
For example, on OS/2+gcc, it would simply copy
|
||||
`builds/os2/os2-gcc.mk' to `./config.mk'.
|
||||
|
||||
If for some reason your platform isn't correctly detected, copy
|
||||
manually the configuration sub-makefile to `./config.mk' and go to
|
||||
step 5.
|
||||
|
||||
Note that this file is a sub-Makefile used to specify Make
|
||||
variables for compiler and linker invocation during the build.
|
||||
You can easily create your own version from one of the existing
|
||||
configuration files, then copy it to the current directory under
|
||||
the name `./config.mk'.
|
||||
|
||||
|
||||
5. Build the library
|
||||
--------------------
|
||||
|
||||
The auto-detection/setup phase should have copied a file in the
|
||||
current directory, called `./config.mk'. This file contains
|
||||
definitions of various Make variables used to invoke the compiler
|
||||
and linker during the build. [It has also generated a file called
|
||||
`ftmodule.h' in the objects directory (which is normally
|
||||
`<toplevel>/objs/'); please read the file `docs/CUSTOMIZE' for
|
||||
customization of FreeType.]
|
||||
|
||||
To launch the build, simply invoke GNU Make again: The top
|
||||
Makefile will detect the configuration file and run the build with
|
||||
it.
|
||||
|
||||
|
||||
Final note
|
||||
|
||||
The build system builds a statically linked library of the font
|
||||
engine in the `objs' directory. It does _not_ support the build
|
||||
of DLLs on Windows and OS/2. If you need these, you have to
|
||||
either use an IDE-specific project file, or follow the
|
||||
instructions in `INSTALL.ANY' to create your own Makefiles.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.GNU ---
|
||||
|
||||
+32
-32
@@ -1,32 +1,32 @@
|
||||
Please follow the instructions in INSTALL.UNIX to install FreeType on
|
||||
Mac OS X.
|
||||
|
||||
Currently FreeType2 functions based on some deprecated Carbon APIs
|
||||
return FT_Err_Unimplemented_Feature always, even if FreeType2 is
|
||||
configured and built on the system that deprecated Carbon APIs are
|
||||
available. To enable deprecated FreeType2 functions as far as possible,
|
||||
replace src/base/ftmac.c by builds/mac/ftmac.c.
|
||||
|
||||
Starting with Mac OS X 10.5, gcc defaults the deployment target
|
||||
to 10.5. In previous versions of Mac OS X, this defaulted to 10.1.
|
||||
If you want your built binaries to run only on 10.5, this change
|
||||
does not concern you. If you want them to also run on older versions
|
||||
of Mac OS X, then you must either set the MACOSX_DEPLOYMENT_TARGET
|
||||
environment variable or pass -mmacosx-version-min to gcc. You should
|
||||
specify the oldest version of Mac OS you want the code to run on.
|
||||
For example, if you use Bourne shell:
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.2
|
||||
|
||||
or, if you use C shell:
|
||||
|
||||
setenv MACOSX_DEPLOYMENT_TARGET 10.2
|
||||
|
||||
Alternatively, you could pass "-mmacosx-version-min=10.2" to gcc.
|
||||
|
||||
Here the number 10.2 is the lowest version that the built binaries
|
||||
can run on. In the cases in above, the built binaries will run on
|
||||
Mac OS X 10.2 and later, but _not_ earlier. If you want to run on
|
||||
earlier, you have to set lower version, e.g. 10.0.
|
||||
|
||||
For classic Mac OS (Mac OS 7, 8, 9) please refer to builds/mac/README.
|
||||
Please follow the instructions in INSTALL.UNIX to install FreeType on
|
||||
Mac OS X.
|
||||
|
||||
Currently FreeType2 functions based on some deprecated Carbon APIs
|
||||
return FT_Err_Unimplemented_Feature always, even if FreeType2 is
|
||||
configured and built on the system that deprecated Carbon APIs are
|
||||
available. To enable deprecated FreeType2 functions as far as possible,
|
||||
replace src/base/ftmac.c by builds/mac/ftmac.c.
|
||||
|
||||
Starting with Mac OS X 10.5, gcc defaults the deployment target
|
||||
to 10.5. In previous versions of Mac OS X, this defaulted to 10.1.
|
||||
If you want your built binaries to run only on 10.5, this change
|
||||
does not concern you. If you want them to also run on older versions
|
||||
of Mac OS X, then you must either set the MACOSX_DEPLOYMENT_TARGET
|
||||
environment variable or pass -mmacosx-version-min to gcc. You should
|
||||
specify the oldest version of Mac OS you want the code to run on.
|
||||
For example, if you use Bourne shell:
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.2
|
||||
|
||||
or, if you use C shell:
|
||||
|
||||
setenv MACOSX_DEPLOYMENT_TARGET 10.2
|
||||
|
||||
Alternatively, you could pass "-mmacosx-version-min=10.2" to gcc.
|
||||
|
||||
Here the number 10.2 is the lowest version that the built binaries
|
||||
can run on. In the cases in above, the built binaries will run on
|
||||
Mac OS X 10.2 and later, but _not_ earlier. If you want to run on
|
||||
earlier, you have to set lower version, e.g. 10.0.
|
||||
|
||||
For classic Mac OS (Mac OS 7, 8, 9) please refer to builds/mac/README.
|
||||
|
||||
+96
-96
@@ -1,96 +1,96 @@
|
||||
This document contains instructions on how to build the FreeType
|
||||
library on Unix systems. This also works for emulations like Cygwin
|
||||
or MSys on Win32:
|
||||
|
||||
|
||||
1. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make. You
|
||||
will not be able to compile the library with the instructions
|
||||
below using any other alternative (including BSD Make).
|
||||
|
||||
Check that you have GNU make by running the command:
|
||||
|
||||
make -v
|
||||
|
||||
This should dump some text that begins with:
|
||||
|
||||
GNU Make <version number>
|
||||
Copyright (C) <year> Free Software Foundation Inc.
|
||||
|
||||
Note that version 3.80 or higher is *required* or the build will
|
||||
fail.
|
||||
|
||||
It is also fine to have GNU Make under another name (e.g. 'gmake')
|
||||
if you use the GNUMAKE variable as described below.
|
||||
|
||||
As a special exception, 'makepp' can also be used to build
|
||||
FreeType 2. See the file docs/MAKEPP for details.
|
||||
|
||||
|
||||
2. Regenerate the configure script if needed
|
||||
--------------------------------------------
|
||||
|
||||
This only applies if you are building a CVS snapshot or checkout,
|
||||
*not* if you grabbed the sources of an official release.
|
||||
|
||||
You need to invoke the `autogen.sh' script in the top-level
|
||||
directory in order to create the `configure' script for your
|
||||
platform. Normally, this simply means typing:
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
In case of problems, you may need to install or upgrade Automake,
|
||||
Autoconf or Libtool. See README.CVS in the top-level directory
|
||||
for more information.
|
||||
|
||||
|
||||
3. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure [options]
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
The default installation path is `/usr/local'. It can be changed
|
||||
with the `--prefix=<path>' option. Example:
|
||||
|
||||
./configure --prefix=/usr
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure [options]
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
If this still doesn't work, there must be a problem with your
|
||||
system (e.g., you are using a very old version of GNU Make).
|
||||
|
||||
It is possible to compile FreeType in a different directory.
|
||||
Assuming the FreeType source files in directory `/src/freetype' a
|
||||
compilation in directory `foo' works as follows:
|
||||
|
||||
cd foo
|
||||
/src/freetype/configure [options]
|
||||
make
|
||||
make install
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.UNIX ---
|
||||
This document contains instructions on how to build the FreeType
|
||||
library on Unix systems. This also works for emulations like Cygwin
|
||||
or MSys on Win32:
|
||||
|
||||
|
||||
1. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make. You
|
||||
will not be able to compile the library with the instructions
|
||||
below using any other alternative (including BSD Make).
|
||||
|
||||
Check that you have GNU make by running the command:
|
||||
|
||||
make -v
|
||||
|
||||
This should dump some text that begins with:
|
||||
|
||||
GNU Make <version number>
|
||||
Copyright (C) <year> Free Software Foundation Inc.
|
||||
|
||||
Note that version 3.80 or higher is *required* or the build will
|
||||
fail.
|
||||
|
||||
It is also fine to have GNU Make under another name (e.g. 'gmake')
|
||||
if you use the GNUMAKE variable as described below.
|
||||
|
||||
As a special exception, 'makepp' can also be used to build
|
||||
FreeType 2. See the file docs/MAKEPP for details.
|
||||
|
||||
|
||||
2. Regenerate the configure script if needed
|
||||
--------------------------------------------
|
||||
|
||||
This only applies if you are building a CVS snapshot or checkout,
|
||||
*not* if you grabbed the sources of an official release.
|
||||
|
||||
You need to invoke the `autogen.sh' script in the top-level
|
||||
directory in order to create the `configure' script for your
|
||||
platform. Normally, this simply means typing:
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
In case of problems, you may need to install or upgrade Automake,
|
||||
Autoconf or Libtool. See README.CVS in the top-level directory
|
||||
for more information.
|
||||
|
||||
|
||||
3. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure [options]
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
The default installation path is `/usr/local'. It can be changed
|
||||
with the `--prefix=<path>' option. Example:
|
||||
|
||||
./configure --prefix=/usr
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure [options]
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
If this still doesn't work, there must be a problem with your
|
||||
system (e.g., you are using a very old version of GNU Make).
|
||||
|
||||
It is possible to compile FreeType in a different directory.
|
||||
Assuming the FreeType source files in directory `/src/freetype' a
|
||||
compilation in directory `foo' works as follows:
|
||||
|
||||
cd foo
|
||||
/src/freetype/configure [options]
|
||||
make
|
||||
make install
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.UNIX ---
|
||||
|
||||
+62
-62
@@ -1,62 +1,62 @@
|
||||
How to build the freetype2 library on VMS
|
||||
-----------------------------------------
|
||||
|
||||
It is actually very straightforward to install the Freetype2 library.
|
||||
Just execute vms_make.com from the toplevel directory to build the
|
||||
library. This procedure currently accepts the following options:
|
||||
|
||||
DEBUG
|
||||
Build the library with debug information and without optimization.
|
||||
|
||||
lopts=<value>
|
||||
Options to pass to the link command e.g. lopts=/traceback
|
||||
|
||||
ccopt=<value>
|
||||
Options to pass to the C compiler e.g. ccopt=/float=ieee
|
||||
|
||||
In case you did download the demos, place them in a separate directory
|
||||
sharing the same toplevel as the directory of Freetype2 and follow the
|
||||
same instructions as above for the demos from there. The build
|
||||
process relies on this to figure the location of the Freetype2 include
|
||||
files.
|
||||
|
||||
|
||||
To rebuild the sources it is necessary to have MMS/MMK installed on
|
||||
the system.
|
||||
|
||||
The library is available in the directory
|
||||
|
||||
[.LIB]
|
||||
|
||||
To compile applications using FreeType 2 you have to define the
|
||||
logical FREETYPE pointing to the directory
|
||||
|
||||
[.INCLUDE.FREETYPE]
|
||||
|
||||
i.e., if the directory in which this INSTALL.VMS file is located is
|
||||
$disk:[freetype] then define the logical with
|
||||
|
||||
define freetype $disk:[freetype.include.freetype]
|
||||
|
||||
This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
|
||||
V7.2-1.
|
||||
|
||||
|
||||
Any problems can be reported to
|
||||
|
||||
Jouk Jansen <joukj@hrem.stm.tudelft.nl> or
|
||||
Martin P.J. Zinser <zinser@zinser.no-ip.info>
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2004 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.VMS ---
|
||||
How to build the freetype2 library on VMS
|
||||
-----------------------------------------
|
||||
|
||||
It is actually very straightforward to install the Freetype2 library.
|
||||
Just execute vms_make.com from the toplevel directory to build the
|
||||
library. This procedure currently accepts the following options:
|
||||
|
||||
DEBUG
|
||||
Build the library with debug information and without optimization.
|
||||
|
||||
lopts=<value>
|
||||
Options to pass to the link command e.g. lopts=/traceback
|
||||
|
||||
ccopt=<value>
|
||||
Options to pass to the C compiler e.g. ccopt=/float=ieee
|
||||
|
||||
In case you did download the demos, place them in a separate directory
|
||||
sharing the same toplevel as the directory of Freetype2 and follow the
|
||||
same instructions as above for the demos from there. The build
|
||||
process relies on this to figure the location of the Freetype2 include
|
||||
files.
|
||||
|
||||
|
||||
To rebuild the sources it is necessary to have MMS/MMK installed on
|
||||
the system.
|
||||
|
||||
The library is available in the directory
|
||||
|
||||
[.LIB]
|
||||
|
||||
To compile applications using FreeType 2 you have to define the
|
||||
logical FREETYPE pointing to the directory
|
||||
|
||||
[.INCLUDE.FREETYPE]
|
||||
|
||||
i.e., if the directory in which this INSTALL.VMS file is located is
|
||||
$disk:[freetype] then define the logical with
|
||||
|
||||
define freetype $disk:[freetype.include.freetype]
|
||||
|
||||
This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
|
||||
V7.2-1.
|
||||
|
||||
|
||||
Any problems can be reported to
|
||||
|
||||
Jouk Jansen <joukj@hrem.stm.tudelft.nl> or
|
||||
Martin P.J. Zinser <zinser@zinser.no-ip.info>
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2004 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.VMS ---
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
As a special exception, FreeType can also be built with the 'makepp'
|
||||
build tool, available from http://makepp.sourceforge.net.
|
||||
|
||||
Note, however. that you will need at least version 1.19 and pass the
|
||||
option --norc-substitution to have it work correctly.
|
||||
As a special exception, FreeType can also be built with the 'makepp'
|
||||
build tool, available from http://makepp.sourceforge.net.
|
||||
|
||||
Note, however. that you will need at least version 1.19 and pass the
|
||||
option --norc-substitution to have it work correctly.
|
||||
|
||||
+27
-27
@@ -1,27 +1,27 @@
|
||||
|
||||
FreeType Patents Disclaimer
|
||||
August 1999
|
||||
|
||||
|
||||
|
||||
WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE
|
||||
RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF
|
||||
FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER
|
||||
COUNTRIES, BE IT IN PROPRIETARY OR FREE SOFTWARE PRODUCTS.
|
||||
|
||||
FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE
|
||||
PATENTS PAGE AT THE FOLLOWING WEB ADDRESS:
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL
|
||||
UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE
|
||||
CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR
|
||||
ANSWER ON THE SUBJECT.
|
||||
|
||||
PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S
|
||||
BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE
|
||||
COST OF RENDERING QUALITY.
|
||||
|
||||
|
||||
--- end of PATENTS ---
|
||||
|
||||
FreeType Patents Disclaimer
|
||||
August 1999
|
||||
|
||||
|
||||
|
||||
WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE
|
||||
RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF
|
||||
FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER
|
||||
COUNTRIES, BE IT IN PROPRIETARY OR FREE SOFTWARE PRODUCTS.
|
||||
|
||||
FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE
|
||||
PATENTS PAGE AT THE FOLLOWING WEB ADDRESS:
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL
|
||||
UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE
|
||||
CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR
|
||||
ANSWER ON THE SUBJECT.
|
||||
|
||||
PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S
|
||||
BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE
|
||||
COST OF RENDERING QUALITY.
|
||||
|
||||
|
||||
--- end of PATENTS ---
|
||||
|
||||
+77
-77
@@ -1,77 +1,77 @@
|
||||
This file describes various problems that have been encountered in
|
||||
compiling, installing and running FreeType 2. Suggestions for
|
||||
additions or other improvements to this file are welcome.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Running Problems
|
||||
================
|
||||
|
||||
|
||||
* Some Type 1, Multiple Masters, and CID-keyed PostScript fonts aren't
|
||||
handled correctly.
|
||||
|
||||
-----
|
||||
|
||||
Of course, there might be bugs in FreeType, but some fonts based on
|
||||
the PostScript format can't behandled indeed. The reason is that
|
||||
FreeType doesn't contain a full PostScript interpreter but applies
|
||||
pattern matching instead. In case a font doesn't follow the standard
|
||||
structure of the given font format, FreeType fails. A typical example
|
||||
is Adobe's `Optima' font family which contains extra code to switch
|
||||
between low and high resolution versions of the glyphs.
|
||||
|
||||
It might be possible to patch FreeType in some situations, though.
|
||||
Please report failing fonts so that we investigate the problem and set
|
||||
up a list of such problematic fonts.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
Compilation Problems
|
||||
====================
|
||||
|
||||
|
||||
* I get an `internal compilation error' (ICE) while compiling FreeType
|
||||
2.2.1 with Intel C++.
|
||||
|
||||
This has been reported for the following compiler version:
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
|
||||
|
||||
-----
|
||||
|
||||
The best solution is to update the compiler to version
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022
|
||||
|
||||
or newer. If this isn't feasible, apply the following patch.
|
||||
|
||||
|
||||
--- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20
|
||||
+++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000
|
||||
@@ -252,7 +252,7 @@
|
||||
*/
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
+ FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
{
|
||||
{
|
||||
sizeof ( FTC_BasicFamilyRec ),
|
||||
@@ -266,7 +266,7 @@
|
||||
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
+ FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
{
|
||||
{
|
||||
ftc_inode_new,
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
--- end of PROBLEMS ---
|
||||
This file describes various problems that have been encountered in
|
||||
compiling, installing and running FreeType 2. Suggestions for
|
||||
additions or other improvements to this file are welcome.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Running Problems
|
||||
================
|
||||
|
||||
|
||||
* Some Type 1, Multiple Masters, and CID-keyed PostScript fonts aren't
|
||||
handled correctly.
|
||||
|
||||
-----
|
||||
|
||||
Of course, there might be bugs in FreeType, but some fonts based on
|
||||
the PostScript format can't behandled indeed. The reason is that
|
||||
FreeType doesn't contain a full PostScript interpreter but applies
|
||||
pattern matching instead. In case a font doesn't follow the standard
|
||||
structure of the given font format, FreeType fails. A typical example
|
||||
is Adobe's `Optima' font family which contains extra code to switch
|
||||
between low and high resolution versions of the glyphs.
|
||||
|
||||
It might be possible to patch FreeType in some situations, though.
|
||||
Please report failing fonts so that we investigate the problem and set
|
||||
up a list of such problematic fonts.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
Compilation Problems
|
||||
====================
|
||||
|
||||
|
||||
* I get an `internal compilation error' (ICE) while compiling FreeType
|
||||
2.2.1 with Intel C++.
|
||||
|
||||
This has been reported for the following compiler version:
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
|
||||
|
||||
-----
|
||||
|
||||
The best solution is to update the compiler to version
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022
|
||||
|
||||
or newer. If this isn't feasible, apply the following patch.
|
||||
|
||||
|
||||
--- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20
|
||||
+++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000
|
||||
@@ -252,7 +252,7 @@
|
||||
*/
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
+ FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
{
|
||||
{
|
||||
sizeof ( FTC_BasicFamilyRec ),
|
||||
@@ -266,7 +266,7 @@
|
||||
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
+ FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
{
|
||||
{
|
||||
ftc_inode_new,
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
--- end of PROBLEMS ---
|
||||
|
||||
+40
-40
@@ -1,40 +1,40 @@
|
||||
Here is a list of items that need to be addressed in FreeType 2
|
||||
---------------------------------------------------------------
|
||||
|
||||
* Implement stem3/counter hints properly in the Postscript hinter.
|
||||
|
||||
* Add CIDCMap support to the CID driver.
|
||||
|
||||
* Add track kerning support to the PFR driver.
|
||||
|
||||
* Add kerning (AFM file) support to the CID driver.
|
||||
|
||||
|
||||
Here is a list of bugs which should be handled
|
||||
----------------------------------------------
|
||||
|
||||
Other bugs have been registered at the savannah bugzilla of FreeType.
|
||||
|
||||
* CID driver:
|
||||
Handle the case where a CID font has a top-level font matrix also
|
||||
(see PLRM, 5.11.3, Type 0 CIDFonts). Since CID_FaceInfoRec lacks
|
||||
a font_matrix entry we have to directly apply it to all subfont
|
||||
matrices.
|
||||
|
||||
* CID driver:
|
||||
Use top-level font matrix entry for setting the upem value, not the
|
||||
entries in the FDarray. If absent, use 1000.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TODO ---
|
||||
Here is a list of items that need to be addressed in FreeType 2
|
||||
---------------------------------------------------------------
|
||||
|
||||
* Implement stem3/counter hints properly in the Postscript hinter.
|
||||
|
||||
* Add CIDCMap support to the CID driver.
|
||||
|
||||
* Add track kerning support to the PFR driver.
|
||||
|
||||
* Add kerning (AFM file) support to the CID driver.
|
||||
|
||||
|
||||
Here is a list of bugs which should be handled
|
||||
----------------------------------------------
|
||||
|
||||
Other bugs have been registered at the savannah bugzilla of FreeType.
|
||||
|
||||
* CID driver:
|
||||
Handle the case where a CID font has a top-level font matrix also
|
||||
(see PLRM, 5.11.3, Type 0 CIDFonts). Since CID_FaceInfoRec lacks
|
||||
a font_matrix entry we have to directly apply it to all subfont
|
||||
matrices.
|
||||
|
||||
* CID driver:
|
||||
Use top-level font matrix entry for setting the upem value, not the
|
||||
entries in the FDarray. If absent, use 1000.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TODO ---
|
||||
|
||||
+40
-40
@@ -1,40 +1,40 @@
|
||||
How to enable the TrueType native hinter if you need it
|
||||
-------------------------------------------------------
|
||||
|
||||
The TrueType bytecode interpreter is disabled in all public releases
|
||||
of the FreeType packages for patents reasons; see
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
for more details.
|
||||
|
||||
However, many Linux distributions do enable the interpreter in the
|
||||
FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
|
||||
you are using TrueType fonts on your system, you most probably want to
|
||||
enable it manually by doing the following:
|
||||
|
||||
- open the file `include/freetype/config/ftoption.h'
|
||||
|
||||
- locate a line that says:
|
||||
|
||||
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||
|
||||
- change it to:
|
||||
|
||||
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
These steps must be done _before_ compiling the library.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TRUETYPE ---
|
||||
How to enable the TrueType native hinter if you need it
|
||||
-------------------------------------------------------
|
||||
|
||||
The TrueType bytecode interpreter is disabled in all public releases
|
||||
of the FreeType packages for patents reasons; see
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
for more details.
|
||||
|
||||
However, many Linux distributions do enable the interpreter in the
|
||||
FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
|
||||
you are using TrueType fonts on your system, you most probably want to
|
||||
enable it manually by doing the following:
|
||||
|
||||
- open the file `include/freetype/config/ftoption.h'
|
||||
|
||||
- locate a line that says:
|
||||
|
||||
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||
|
||||
- change it to:
|
||||
|
||||
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
These steps must be done _before_ compiling the library.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TRUETYPE ---
|
||||
|
||||
+137
-137
@@ -1,137 +1,137 @@
|
||||
|
||||
SPECIAL NOTE FOR UNIX USERS
|
||||
===========================
|
||||
|
||||
If you are installing this release of FreeType on a system that
|
||||
already uses release 2.0.5 (or even an older version), you have to
|
||||
perform a few special steps to ensure that everything goes well.
|
||||
|
||||
|
||||
1. Enable the TrueType bytecode hinter if you need it
|
||||
-----------------------------------------------------
|
||||
|
||||
See the instructions in the file `TRUETYPE' of this directory.
|
||||
|
||||
Note that FreeType supports TrueType fonts without the bytecode
|
||||
interpreter through its auto-hinter, which now generates relatively
|
||||
good results with most fonts.
|
||||
|
||||
|
||||
2. Determine the correct installation path
|
||||
------------------------------------------
|
||||
|
||||
By default, the configure script installs the library in
|
||||
`/usr/local'. However, many Unix distributions now install the
|
||||
library in `/usr', since FreeType is becoming a critical system
|
||||
component.
|
||||
|
||||
If FreeType is already installed on your system, type
|
||||
|
||||
freetype-config --prefix
|
||||
|
||||
on the command line. This should return the installation path
|
||||
(e.g., `/usr' or `/usr/local'). To avoid problems of parallel
|
||||
FreeType versions, use this path for the --prefix option of the
|
||||
configure script.
|
||||
|
||||
Otherwise, simply use `/usr' (or whatever you think is adequate for
|
||||
your installation).
|
||||
|
||||
|
||||
3. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make (as an
|
||||
exception you can use make++ which emulates GNU Make sufficiently;
|
||||
see http://makepp.sourceforge.net). You will not be able to compile
|
||||
the library with the instructions below using any other alternative
|
||||
(including BSD Make).
|
||||
|
||||
Trying to compile the library with a different Make tool prints a
|
||||
message like:
|
||||
|
||||
Sorry, GNU make is required to build FreeType2.
|
||||
|
||||
and the build process is aborted. If this happens, install GNU Make
|
||||
on your system, and use the GNUMAKE environment variable to name it.
|
||||
|
||||
|
||||
4. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure --prefix=<yourprefix>
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
where `<yourprefix>' must be replaced by the prefix returned by the
|
||||
`freetype-config' command.
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure --prefix=<yourprefix>
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
|
||||
5. Take care of XFree86 version 4
|
||||
---------------------------------
|
||||
|
||||
Certain Linux distributions install _several_ versions of FreeType
|
||||
on your system. For example, on a fresh Mandrake 8.1 system, you
|
||||
can find the following files:
|
||||
|
||||
/usr/lib/libfreetype.so which links to
|
||||
/usr/lib/libfreetype.6.1.0.so
|
||||
|
||||
and
|
||||
|
||||
/usr/X11R6/lib/libfreetype.so which links to
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
Note that these files correspond to two distinct versions of the
|
||||
library! It seems that this surprising issue is due to the install
|
||||
scripts of recent XFree86 servers (from 4.1.0) which install their
|
||||
own (dated) version of the library in `/usr/X11R6/lib'.
|
||||
|
||||
In certain _rare_ cases you may experience minor problems if you
|
||||
install this release of the library in `/usr' only, namely, that
|
||||
certain applications do not benefit from the bug fixes and rendering
|
||||
improvements you would expect.
|
||||
|
||||
There are two good ways to deal with this situation:
|
||||
|
||||
- Install the library _twice_, in `/usr' and in `/usr/X11R6' (you
|
||||
have to do that each time you install a new FreeType release
|
||||
though).
|
||||
|
||||
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
|
||||
|
||||
/usr/lib/libfreetype.so,
|
||||
|
||||
and get rid of
|
||||
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
The FreeType Team is not responsible for this problem, so please
|
||||
contact either the XFree86 development team or your Linux
|
||||
distributor to help clear this issue in case the information given
|
||||
here doesn't help.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
---- end of UPGRADE.UNIX ---
|
||||
|
||||
SPECIAL NOTE FOR UNIX USERS
|
||||
===========================
|
||||
|
||||
If you are installing this release of FreeType on a system that
|
||||
already uses release 2.0.5 (or even an older version), you have to
|
||||
perform a few special steps to ensure that everything goes well.
|
||||
|
||||
|
||||
1. Enable the TrueType bytecode hinter if you need it
|
||||
-----------------------------------------------------
|
||||
|
||||
See the instructions in the file `TRUETYPE' of this directory.
|
||||
|
||||
Note that FreeType supports TrueType fonts without the bytecode
|
||||
interpreter through its auto-hinter, which now generates relatively
|
||||
good results with most fonts.
|
||||
|
||||
|
||||
2. Determine the correct installation path
|
||||
------------------------------------------
|
||||
|
||||
By default, the configure script installs the library in
|
||||
`/usr/local'. However, many Unix distributions now install the
|
||||
library in `/usr', since FreeType is becoming a critical system
|
||||
component.
|
||||
|
||||
If FreeType is already installed on your system, type
|
||||
|
||||
freetype-config --prefix
|
||||
|
||||
on the command line. This should return the installation path
|
||||
(e.g., `/usr' or `/usr/local'). To avoid problems of parallel
|
||||
FreeType versions, use this path for the --prefix option of the
|
||||
configure script.
|
||||
|
||||
Otherwise, simply use `/usr' (or whatever you think is adequate for
|
||||
your installation).
|
||||
|
||||
|
||||
3. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make (as an
|
||||
exception you can use make++ which emulates GNU Make sufficiently;
|
||||
see http://makepp.sourceforge.net). You will not be able to compile
|
||||
the library with the instructions below using any other alternative
|
||||
(including BSD Make).
|
||||
|
||||
Trying to compile the library with a different Make tool prints a
|
||||
message like:
|
||||
|
||||
Sorry, GNU make is required to build FreeType2.
|
||||
|
||||
and the build process is aborted. If this happens, install GNU Make
|
||||
on your system, and use the GNUMAKE environment variable to name it.
|
||||
|
||||
|
||||
4. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure --prefix=<yourprefix>
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
where `<yourprefix>' must be replaced by the prefix returned by the
|
||||
`freetype-config' command.
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure --prefix=<yourprefix>
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
|
||||
5. Take care of XFree86 version 4
|
||||
---------------------------------
|
||||
|
||||
Certain Linux distributions install _several_ versions of FreeType
|
||||
on your system. For example, on a fresh Mandrake 8.1 system, you
|
||||
can find the following files:
|
||||
|
||||
/usr/lib/libfreetype.so which links to
|
||||
/usr/lib/libfreetype.6.1.0.so
|
||||
|
||||
and
|
||||
|
||||
/usr/X11R6/lib/libfreetype.so which links to
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
Note that these files correspond to two distinct versions of the
|
||||
library! It seems that this surprising issue is due to the install
|
||||
scripts of recent XFree86 servers (from 4.1.0) which install their
|
||||
own (dated) version of the library in `/usr/X11R6/lib'.
|
||||
|
||||
In certain _rare_ cases you may experience minor problems if you
|
||||
install this release of the library in `/usr' only, namely, that
|
||||
certain applications do not benefit from the bug fixes and rendering
|
||||
improvements you would expect.
|
||||
|
||||
There are two good ways to deal with this situation:
|
||||
|
||||
- Install the library _twice_, in `/usr' and in `/usr/X11R6' (you
|
||||
have to do that each time you install a new FreeType release
|
||||
though).
|
||||
|
||||
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
|
||||
|
||||
/usr/lib/libfreetype.so,
|
||||
|
||||
and get rid of
|
||||
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
The FreeType Team is not responsible for this problem, so please
|
||||
contact either the XFree86 development team or your Linux
|
||||
distributor to help clear this issue in case the information given
|
||||
here doesn't help.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
---- end of UPGRADE.UNIX ---
|
||||
|
||||
+138
-138
@@ -1,138 +1,138 @@
|
||||
Due to our use of `libtool' to generate and install the FreeType 2
|
||||
libraries on Unix systems, as well as other historical events, it is
|
||||
generally very difficult to know precisely which release of the font
|
||||
engine is installed on a given system.
|
||||
|
||||
This file tries to explain why and to document ways to properly detect
|
||||
FreeType on Unix.
|
||||
|
||||
|
||||
1. Version and Release numbers
|
||||
------------------------------
|
||||
|
||||
For each new public release of FreeType 2, there are generally *three*
|
||||
distinct `version' numbers to consider:
|
||||
|
||||
* The official FreeType 2 release number, like 2.0.9 or 2.1.3.
|
||||
|
||||
* The libtool (and Unix) specific version number, like 9.2.3. This is
|
||||
what `freetype-config --version' returns.
|
||||
|
||||
* The platform-specific shared object number, used for example when
|
||||
the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
|
||||
|
||||
The platform-specific number is, unsurprisingly, platform-specific and
|
||||
varies with the operating system you are using (several variants of
|
||||
Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
|
||||
for simple tests.
|
||||
|
||||
The libtool-specific number does not equal the release number but is
|
||||
tied to it.
|
||||
|
||||
The release number is available at *compile* time through the following
|
||||
macros defined in FT_FREETYPE_H:
|
||||
|
||||
- FREETYPE_MAJOR: major release number
|
||||
- FREETYPE_MINOR: minor release number
|
||||
- FREETYPE_PATCH: patch release number
|
||||
|
||||
See below for a small autoconf fragment.
|
||||
|
||||
The release number is also available at *runtime* through the
|
||||
`FT_Library_Version' API. Unfortunately, this one wasn't available or
|
||||
working correctly before the 2.1.3 official release.
|
||||
|
||||
|
||||
2. History
|
||||
----------
|
||||
|
||||
The following table gives, for each official release, the corresponding
|
||||
libtool number, as well as the shared object number found on _most_
|
||||
systems, but not all of them:
|
||||
|
||||
|
||||
release libtool so
|
||||
-------------------------------
|
||||
2.3.12 10.0.4 6.4.0
|
||||
2.3.11 9.22.3 6.3.22
|
||||
2.3.10 9.21.3 6.3.21
|
||||
2.3.9 9.20.3 6.3.20
|
||||
2.3.8 9.19.3 6.3.19
|
||||
2.3.7 9.18.3 6.3.18
|
||||
2.3.6 9.17.3 6.3.17
|
||||
2.3.5 9.16.3 6.3.16
|
||||
2.3.4 9.15.3 6.3.15
|
||||
2.3.3 9.14.3 6.3.14
|
||||
2.3.2 9.13.3 6.3.13
|
||||
2.3.1 9.12.3 6.3.12
|
||||
2.3.0 9.11.3 6.3.11
|
||||
2.2.1 9.10.3 6.3.10
|
||||
2.2.0 9.9.3 6.3.9
|
||||
2.1.10 9.8.3 6.3.8
|
||||
2.1.9 9.7.3 6.3.7
|
||||
2.1.8 9.6.3 6.3.6
|
||||
2.1.7 9.5.3 6.3.5
|
||||
2.1.6 9.5.3 6.3.5
|
||||
2.1.5 9.4.3 6.3.4
|
||||
2.1.4 9.3.3 6.3.3
|
||||
2.1.3 9.2.3 6.3.2
|
||||
2.1.2 9.1.3 6.3.1
|
||||
2.1.1 9.0.3 ?
|
||||
2.1.0 8.0.2 ?
|
||||
2.0.9 9.0.3 ?
|
||||
2.0.8 8.0.2 ?
|
||||
2.0.4 7.0.1 ?
|
||||
2.0.1 6.1.0 ?
|
||||
|
||||
The libtool numbers are a bit inconsistent due to the library's history:
|
||||
|
||||
- 2.1.0 was created as a development branch from 2.0.8 (hence the same
|
||||
libtool numbers).
|
||||
|
||||
- 2.0.9 was a bug-fix release of the `stable' branch, and we
|
||||
incorrectly increased its libtool number.
|
||||
|
||||
- 2.1.4 was a development version, however it was stable enough to be
|
||||
the basis of the 2.2.0 release.
|
||||
|
||||
|
||||
3. Autoconf Code Fragment
|
||||
-------------------------
|
||||
|
||||
Lars Clausen contributed the following autoconf fragment to detect which
|
||||
version of FreeType is installed on a system. This one tests for a
|
||||
version that is at least 2.0.9; you should change it to check against
|
||||
other release numbers.
|
||||
|
||||
|
||||
AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
|
||||
old_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS=`freetype-config --cflags`
|
||||
AC_TRY_CPP([
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
|
||||
#error Freetype version too low.
|
||||
#endif
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
FREETYPE_LIBS=`freetype-config --libs`
|
||||
AC_SUBST(FREETYPE_LIBS)
|
||||
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
|
||||
CPPFLAGS="$old_CPPFLAGS"],
|
||||
[AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of VERSION.DLL ---
|
||||
Due to our use of `libtool' to generate and install the FreeType 2
|
||||
libraries on Unix systems, as well as other historical events, it is
|
||||
generally very difficult to know precisely which release of the font
|
||||
engine is installed on a given system.
|
||||
|
||||
This file tries to explain why and to document ways to properly detect
|
||||
FreeType on Unix.
|
||||
|
||||
|
||||
1. Version and Release numbers
|
||||
------------------------------
|
||||
|
||||
For each new public release of FreeType 2, there are generally *three*
|
||||
distinct `version' numbers to consider:
|
||||
|
||||
* The official FreeType 2 release number, like 2.0.9 or 2.1.3.
|
||||
|
||||
* The libtool (and Unix) specific version number, like 9.2.3. This is
|
||||
what `freetype-config --version' returns.
|
||||
|
||||
* The platform-specific shared object number, used for example when
|
||||
the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
|
||||
|
||||
The platform-specific number is, unsurprisingly, platform-specific and
|
||||
varies with the operating system you are using (several variants of
|
||||
Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
|
||||
for simple tests.
|
||||
|
||||
The libtool-specific number does not equal the release number but is
|
||||
tied to it.
|
||||
|
||||
The release number is available at *compile* time through the following
|
||||
macros defined in FT_FREETYPE_H:
|
||||
|
||||
- FREETYPE_MAJOR: major release number
|
||||
- FREETYPE_MINOR: minor release number
|
||||
- FREETYPE_PATCH: patch release number
|
||||
|
||||
See below for a small autoconf fragment.
|
||||
|
||||
The release number is also available at *runtime* through the
|
||||
`FT_Library_Version' API. Unfortunately, this one wasn't available or
|
||||
working correctly before the 2.1.3 official release.
|
||||
|
||||
|
||||
2. History
|
||||
----------
|
||||
|
||||
The following table gives, for each official release, the corresponding
|
||||
libtool number, as well as the shared object number found on _most_
|
||||
systems, but not all of them:
|
||||
|
||||
|
||||
release libtool so
|
||||
-------------------------------
|
||||
2.3.12 10.0.4 6.4.0
|
||||
2.3.11 9.22.3 6.3.22
|
||||
2.3.10 9.21.3 6.3.21
|
||||
2.3.9 9.20.3 6.3.20
|
||||
2.3.8 9.19.3 6.3.19
|
||||
2.3.7 9.18.3 6.3.18
|
||||
2.3.6 9.17.3 6.3.17
|
||||
2.3.5 9.16.3 6.3.16
|
||||
2.3.4 9.15.3 6.3.15
|
||||
2.3.3 9.14.3 6.3.14
|
||||
2.3.2 9.13.3 6.3.13
|
||||
2.3.1 9.12.3 6.3.12
|
||||
2.3.0 9.11.3 6.3.11
|
||||
2.2.1 9.10.3 6.3.10
|
||||
2.2.0 9.9.3 6.3.9
|
||||
2.1.10 9.8.3 6.3.8
|
||||
2.1.9 9.7.3 6.3.7
|
||||
2.1.8 9.6.3 6.3.6
|
||||
2.1.7 9.5.3 6.3.5
|
||||
2.1.6 9.5.3 6.3.5
|
||||
2.1.5 9.4.3 6.3.4
|
||||
2.1.4 9.3.3 6.3.3
|
||||
2.1.3 9.2.3 6.3.2
|
||||
2.1.2 9.1.3 6.3.1
|
||||
2.1.1 9.0.3 ?
|
||||
2.1.0 8.0.2 ?
|
||||
2.0.9 9.0.3 ?
|
||||
2.0.8 8.0.2 ?
|
||||
2.0.4 7.0.1 ?
|
||||
2.0.1 6.1.0 ?
|
||||
|
||||
The libtool numbers are a bit inconsistent due to the library's history:
|
||||
|
||||
- 2.1.0 was created as a development branch from 2.0.8 (hence the same
|
||||
libtool numbers).
|
||||
|
||||
- 2.0.9 was a bug-fix release of the `stable' branch, and we
|
||||
incorrectly increased its libtool number.
|
||||
|
||||
- 2.1.4 was a development version, however it was stable enough to be
|
||||
the basis of the 2.2.0 release.
|
||||
|
||||
|
||||
3. Autoconf Code Fragment
|
||||
-------------------------
|
||||
|
||||
Lars Clausen contributed the following autoconf fragment to detect which
|
||||
version of FreeType is installed on a system. This one tests for a
|
||||
version that is at least 2.0.9; you should change it to check against
|
||||
other release numbers.
|
||||
|
||||
|
||||
AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
|
||||
old_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS=`freetype-config --cflags`
|
||||
AC_TRY_CPP([
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
|
||||
#error Freetype version too low.
|
||||
#endif
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
FREETYPE_LIBS=`freetype-config --libs`
|
||||
AC_SUBST(FREETYPE_LIBS)
|
||||
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
|
||||
CPPFLAGS="$old_CPPFLAGS"],
|
||||
[AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of VERSION.DLL ---
|
||||
|
||||
@@ -1 +1 @@
|
||||
*.html
|
||||
*.html
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
After saying `make refdoc' this directory contains the FreeType API
|
||||
reference. You need python to make this target.
|
||||
|
||||
This also works with Jam: Just type `jam refdoc' in the main directory.
|
||||
|
||||
After saying `make refdoc' this directory contains the FreeType API
|
||||
reference. You need python to make this target.
|
||||
|
||||
This also works with Jam: Just type `jam refdoc' in the main directory.
|
||||
|
||||
|
||||
+195
-195
@@ -1,195 +1,195 @@
|
||||
How to prepare a new release
|
||||
----------------------------
|
||||
|
||||
. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
|
||||
and FREETYPE_PATCH.
|
||||
|
||||
. Update version numbers in all files where necessary (for example, do
|
||||
a grep for both `2.3.1' and `231' for release 2.3.1).
|
||||
|
||||
. builds/unix/configure.raw: Update `version_info'.
|
||||
|
||||
. docs/CHANGES: Document differences to last release.
|
||||
|
||||
. README: Update.
|
||||
|
||||
. docs/VERSION.DLL: Document changed `version_info'.
|
||||
|
||||
. ChangeLog: Announce new release (both in the freetype2 and
|
||||
freetype2-demos modules).
|
||||
|
||||
. Clone the git archive to another directory with
|
||||
|
||||
git clone -l -s . ../freetype2.test
|
||||
|
||||
or something like this and run
|
||||
|
||||
make distclean; make devel; make
|
||||
make distclean; make devel; make multi
|
||||
make distclean; make devel CC=g++; make CC=g++
|
||||
make distclean; make devel CC=g++; make multi CC=g++
|
||||
|
||||
sh autogen.sh
|
||||
make distclean; ./configure; make
|
||||
make distclean; ./configure CC=g++; make
|
||||
|
||||
in the cloned repository to test compilation with both gcc and g++.
|
||||
|
||||
. Test C++ compilation for freetype2-demos too (using `git clone' as
|
||||
above).
|
||||
|
||||
. Run src/tools/chktrcmp.py and check that there are no undefined
|
||||
trace_XXXX macros.
|
||||
|
||||
. Tag the git repositories (freetype2, freetype2-demos) with
|
||||
|
||||
git tag VER-<version> -m "" -u <committer>
|
||||
|
||||
and push the tags with
|
||||
|
||||
git push --tags
|
||||
|
||||
TODO: Tag the home page CVS on savannah.nongnu.org.
|
||||
|
||||
. Say `make dist' in both the freetype2 and freetype2-demos modules
|
||||
to generate the .tar.gz, .tar.bz2, and .zip files.
|
||||
|
||||
. Create the doc bundles (freetype-doc-<version>.tar.gz,
|
||||
freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
|
||||
everything below
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
|
||||
|
||||
except the `reference' subdirectory. Do *not* use option `-l' from
|
||||
zip!
|
||||
|
||||
. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
|
||||
and $SOURCEFORGE_USER variables) to sign and upload the bundles to
|
||||
both Savannah and SourceForge. The signing code has been taken from
|
||||
the `gnupload' script (part of the automake bundle).
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
VERSION=2.3.11
|
||||
SAVANNAH_USER=wl
|
||||
SOURCEFORGE_USER=wlemb
|
||||
|
||||
#####################################################################
|
||||
|
||||
GPG='/usr/bin/gpg --batch --no-tty'
|
||||
|
||||
version=`echo $VERSION | sed "s/\\.//g"`
|
||||
|
||||
FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
|
||||
freetype-$VERSION.tar.bz2 \
|
||||
ft$version.zip"
|
||||
FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
|
||||
ft2demos-$VERSION.tar.bz2 \
|
||||
ftdmo$version.zip"
|
||||
FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
|
||||
freetype-doc-$VERSION.tar.bz2 \
|
||||
ftdoc$version.zip"
|
||||
|
||||
PACKAGE_LIST="$FREETYPE_PACKAGES \
|
||||
$FT2DEMOS_PACKAGES \
|
||||
$FTDOC_PACKAGES"
|
||||
|
||||
set -e
|
||||
unset passphrase
|
||||
|
||||
PATH=/empty echo -n "Enter GPG passphrase: "
|
||||
stty -echo
|
||||
read -r passphrase
|
||||
stty echo
|
||||
echo
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
if test ! -f $f; then
|
||||
echo "$0: Cannot find \`$f'" 1>&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
done
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
echo "Signing $f..."
|
||||
rm -f $f.sig
|
||||
echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
|
||||
done
|
||||
|
||||
FREETYPE_SIGNATURES=
|
||||
for i in $FREETYPE_PACKAGES; do
|
||||
FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FT2DEMOS_SIGNATURES=
|
||||
for i in $FT2DEMOS_PACKAGES; do
|
||||
FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FTDOC_SIGNATURES=
|
||||
for i in $FTDOC_PACKAGES; do
|
||||
FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
SIGNATURE_LIST="$FREETYPE_SIGNATURES \
|
||||
$FT2DEMOS_SIGNATURES \
|
||||
$FTDOC_SIGNATURES"
|
||||
|
||||
scp $PACKAGE_LIST $SIGNATURE_LIST \
|
||||
$SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
|
||||
|
||||
rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
|
||||
rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
|
||||
rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
|
||||
|
||||
# EOF
|
||||
|
||||
. While files on savannah.gnu.org are automatically moved to the right
|
||||
directory, it must be done manually on SourceForge. Do that now.
|
||||
|
||||
. Update the FreeType release notes on SourceForge.
|
||||
|
||||
. Copy the reference files (generated by `make dist') to
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
|
||||
|
||||
and
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
|
||||
|
||||
TODO: Create FreeType home page CVS on savannah.nongnu.org and
|
||||
update it accordingly.
|
||||
|
||||
Write script to automatically do this.
|
||||
|
||||
Mirror FreeType's savannah home page everywhere.
|
||||
|
||||
. Update
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
|
||||
|
||||
and copy it to
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
|
||||
|
||||
. Announce new release on freetype-announce@nongnu.org and to relevant
|
||||
newsgroups.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2007, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of release ---
|
||||
How to prepare a new release
|
||||
----------------------------
|
||||
|
||||
. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
|
||||
and FREETYPE_PATCH.
|
||||
|
||||
. Update version numbers in all files where necessary (for example, do
|
||||
a grep for both `2.3.1' and `231' for release 2.3.1).
|
||||
|
||||
. builds/unix/configure.raw: Update `version_info'.
|
||||
|
||||
. docs/CHANGES: Document differences to last release.
|
||||
|
||||
. README: Update.
|
||||
|
||||
. docs/VERSION.DLL: Document changed `version_info'.
|
||||
|
||||
. ChangeLog: Announce new release (both in the freetype2 and
|
||||
freetype2-demos modules).
|
||||
|
||||
. Clone the git archive to another directory with
|
||||
|
||||
git clone -l -s . ../freetype2.test
|
||||
|
||||
or something like this and run
|
||||
|
||||
make distclean; make devel; make
|
||||
make distclean; make devel; make multi
|
||||
make distclean; make devel CC=g++; make CC=g++
|
||||
make distclean; make devel CC=g++; make multi CC=g++
|
||||
|
||||
sh autogen.sh
|
||||
make distclean; ./configure; make
|
||||
make distclean; ./configure CC=g++; make
|
||||
|
||||
in the cloned repository to test compilation with both gcc and g++.
|
||||
|
||||
. Test C++ compilation for freetype2-demos too (using `git clone' as
|
||||
above).
|
||||
|
||||
. Run src/tools/chktrcmp.py and check that there are no undefined
|
||||
trace_XXXX macros.
|
||||
|
||||
. Tag the git repositories (freetype2, freetype2-demos) with
|
||||
|
||||
git tag VER-<version> -m "" -u <committer>
|
||||
|
||||
and push the tags with
|
||||
|
||||
git push --tags
|
||||
|
||||
TODO: Tag the home page CVS on savannah.nongnu.org.
|
||||
|
||||
. Say `make dist' in both the freetype2 and freetype2-demos modules
|
||||
to generate the .tar.gz, .tar.bz2, and .zip files.
|
||||
|
||||
. Create the doc bundles (freetype-doc-<version>.tar.gz,
|
||||
freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
|
||||
everything below
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
|
||||
|
||||
except the `reference' subdirectory. Do *not* use option `-l' from
|
||||
zip!
|
||||
|
||||
. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
|
||||
and $SOURCEFORGE_USER variables) to sign and upload the bundles to
|
||||
both Savannah and SourceForge. The signing code has been taken from
|
||||
the `gnupload' script (part of the automake bundle).
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
VERSION=2.3.11
|
||||
SAVANNAH_USER=wl
|
||||
SOURCEFORGE_USER=wlemb
|
||||
|
||||
#####################################################################
|
||||
|
||||
GPG='/usr/bin/gpg --batch --no-tty'
|
||||
|
||||
version=`echo $VERSION | sed "s/\\.//g"`
|
||||
|
||||
FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
|
||||
freetype-$VERSION.tar.bz2 \
|
||||
ft$version.zip"
|
||||
FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
|
||||
ft2demos-$VERSION.tar.bz2 \
|
||||
ftdmo$version.zip"
|
||||
FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
|
||||
freetype-doc-$VERSION.tar.bz2 \
|
||||
ftdoc$version.zip"
|
||||
|
||||
PACKAGE_LIST="$FREETYPE_PACKAGES \
|
||||
$FT2DEMOS_PACKAGES \
|
||||
$FTDOC_PACKAGES"
|
||||
|
||||
set -e
|
||||
unset passphrase
|
||||
|
||||
PATH=/empty echo -n "Enter GPG passphrase: "
|
||||
stty -echo
|
||||
read -r passphrase
|
||||
stty echo
|
||||
echo
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
if test ! -f $f; then
|
||||
echo "$0: Cannot find \`$f'" 1>&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
done
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
echo "Signing $f..."
|
||||
rm -f $f.sig
|
||||
echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
|
||||
done
|
||||
|
||||
FREETYPE_SIGNATURES=
|
||||
for i in $FREETYPE_PACKAGES; do
|
||||
FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FT2DEMOS_SIGNATURES=
|
||||
for i in $FT2DEMOS_PACKAGES; do
|
||||
FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FTDOC_SIGNATURES=
|
||||
for i in $FTDOC_PACKAGES; do
|
||||
FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
SIGNATURE_LIST="$FREETYPE_SIGNATURES \
|
||||
$FT2DEMOS_SIGNATURES \
|
||||
$FTDOC_SIGNATURES"
|
||||
|
||||
scp $PACKAGE_LIST $SIGNATURE_LIST \
|
||||
$SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
|
||||
|
||||
rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
|
||||
rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
|
||||
rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
|
||||
|
||||
# EOF
|
||||
|
||||
. While files on savannah.gnu.org are automatically moved to the right
|
||||
directory, it must be done manually on SourceForge. Do that now.
|
||||
|
||||
. Update the FreeType release notes on SourceForge.
|
||||
|
||||
. Copy the reference files (generated by `make dist') to
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
|
||||
|
||||
and
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
|
||||
|
||||
TODO: Create FreeType home page CVS on savannah.nongnu.org and
|
||||
update it accordingly.
|
||||
|
||||
Write script to automatically do this.
|
||||
|
||||
Mirror FreeType's savannah home page everywhere.
|
||||
|
||||
. Update
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
|
||||
|
||||
and copy it to
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
|
||||
|
||||
. Announce new release on freetype-announce@nongnu.org and to relevant
|
||||
newsgroups.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2007, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of release ---
|
||||
|
||||
+250
-250
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
apinames
|
||||
freetype.def
|
||||
freetype.lib
|
||||
ftexport.sym
|
||||
ftmodule.h
|
||||
ftoption.h
|
||||
libfreetype.la
|
||||
.libs
|
||||
*.lo
|
||||
apinames
|
||||
freetype.def
|
||||
freetype.lib
|
||||
ftexport.sym
|
||||
ftmodule.h
|
||||
ftoption.h
|
||||
libfreetype.la
|
||||
.libs
|
||||
*.lo
|
||||
|
||||
+2
-2
@@ -1,2 +1,2 @@
|
||||
This directory contains all the object files created when building the
|
||||
library.
|
||||
This directory contains all the object files created when building the
|
||||
library.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user