mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
FreeType 2.1.3 import
svn path=/trunk/; revision=4465
This commit is contained in:
parent
fbc6b77b36
commit
fa1f8db542
520 changed files with 169225 additions and 0 deletions
2
reactos/lib/freetype/.cvsignore
Normal file
2
reactos/lib/freetype/.cvsignore
Normal file
|
@ -0,0 +1,2 @@
|
|||
.*.d
|
||||
*.o
|
5415
reactos/lib/freetype/ChangeLog
Normal file
5415
reactos/lib/freetype/ChangeLog
Normal file
File diff suppressed because it is too large
Load diff
130
reactos/lib/freetype/Jamfile
Normal file
130
reactos/lib/freetype/Jamfile
Normal file
|
@ -0,0 +1,130 @@
|
|||
# FreeType 2 top Jamfile (c) 2001-2002 David Turner
|
||||
#
|
||||
|
||||
# The HDRMACRO is already defined in FTJam and is used to add
|
||||
# the content of certain macros to the list of included header
|
||||
# files.
|
||||
#
|
||||
# we can compile FreeType 2 with classic Jam however thanks to
|
||||
# the following code
|
||||
#
|
||||
if ! $(JAM_TOOLSET)
|
||||
{
|
||||
rule HDRMACRO
|
||||
{
|
||||
# nothing !!
|
||||
}
|
||||
}
|
||||
|
||||
# We need to invoke a SubDir rule if the FT2 source directory top is not the
|
||||
# current directory. This allows us to build FreeType 2 as part of a larger
|
||||
# project easily.
|
||||
#
|
||||
if $(FT2_TOP) != $(DOT)
|
||||
{
|
||||
SubDir FT2_TOP ;
|
||||
}
|
||||
|
||||
#
|
||||
# The following macros define the include directory, the source directory
|
||||
# and the final library name (without library extensions). They can be
|
||||
# replaced by other definitions when the library is compiled as part of
|
||||
# a larger project.
|
||||
#
|
||||
|
||||
# name of FreeType include directory during compilation.
|
||||
# relative to FT2_TOP
|
||||
#
|
||||
FT2_INCLUDE_DIR ?= include ;
|
||||
|
||||
# name of FreeType source directory during compilation.
|
||||
# relative to FT2_TOP
|
||||
#
|
||||
FT2_SRC_DIR ?= src ;
|
||||
|
||||
# name of final library, without extension
|
||||
#
|
||||
FT2_LIB ?= $(LIBPREFIX)freetype ;
|
||||
|
||||
|
||||
# define FT2_BUILD_INCLUDE to point to your build-specific directory
|
||||
# this is prepended to FT2_INCLUDE_DIR. This can be used to specify
|
||||
# the location of a custom <ft2build.h> which will point to custom
|
||||
# versions of "ftmodule.h" and "ftoption.h", for example
|
||||
#
|
||||
FT2_BUILD_INCLUDE ?= ;
|
||||
|
||||
# the list of modules to compile on any given build of the library
|
||||
# by default, this will contain _all_ modules defined in FT2_SRC_DIR
|
||||
#
|
||||
# IMPORTANT: You'll need to change the content of "ftmodule.h" as well
|
||||
# if you modify this list or provide your own.
|
||||
#
|
||||
FT2_COMPONENTS ?= gzip # support for gzip-compressed files.
|
||||
autohint # auto-hinter
|
||||
base # base component (public APIs)
|
||||
bdf # BDF font driver
|
||||
cache # cache sub-system
|
||||
cff # CFF/CEF font driver
|
||||
cid # Postscript CID-keyed font driver
|
||||
pcf # PCF font driver
|
||||
pfr # PFR/TrueDoc font driver
|
||||
psaux # Common Postscript routines module
|
||||
pshinter # Postscript hinter module
|
||||
psnames # Postscript names handling
|
||||
raster # Monochrome rasterizer
|
||||
smooth # Anti-aliased rasterizer
|
||||
sfnt # SFNT-based format support routines
|
||||
truetype # TrueType font driver
|
||||
type1 # Postscript Type 1 font driver
|
||||
type42 # Postscript Type 42 (embedded TrueType) driver
|
||||
winfonts # Windows FON/FNT font driver
|
||||
;
|
||||
|
||||
|
||||
# don't touch
|
||||
#
|
||||
FT2_INCLUDE = $(FT2_BUILD_INCLUDE)
|
||||
[ FT2_SubDir $(FT2_INCLUDE_DIR) ] ;
|
||||
|
||||
FT2_SRC = [ FT2_SubDir $(FT2_SRC_DIR) ] ;
|
||||
|
||||
# only used by FreeType developers
|
||||
#
|
||||
if $(DEBUG_HINTER)
|
||||
{
|
||||
CCFLAGS += -DDEBUG_HINTER ;
|
||||
}
|
||||
|
||||
|
||||
# We need "freetype2/include" in the current include path in order to
|
||||
# compile any part of FreeType 2.
|
||||
#
|
||||
SubDirHdr += $(FT2_INCLUDE) ;
|
||||
|
||||
# Uncomment the following line if you want to build individual source files
|
||||
# for each FreeType 2 module.
|
||||
#
|
||||
# FT2_MULTI = true ;
|
||||
|
||||
# The file <freetype/config/ftheader.h> is used to define macros that are
|
||||
# later used in #include statements. It needs to be parsed in order to
|
||||
# record these definitions.
|
||||
#
|
||||
HDRMACRO [ FT2_SubDir include freetype config ftheader.h ] ;
|
||||
HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ;
|
||||
|
||||
# Now include the Jamfile in "freetype2/src", used to drive the compilation
|
||||
# of each FreeType 2 component and/or module.
|
||||
#
|
||||
SubInclude FT2_TOP $(FT2_SRC_DIR) ;
|
||||
|
||||
|
||||
# tests files (hinter debugging). only used by FreeType developers
|
||||
#
|
||||
if $(DEBUG_HINTER)
|
||||
{
|
||||
SubInclude FT2_TOP tests ;
|
||||
}
|
||||
|
||||
# end of top Jamfile
|
61
reactos/lib/freetype/Jamfile.in
Normal file
61
reactos/lib/freetype/Jamfile.in
Normal file
|
@ -0,0 +1,61 @@
|
|||
# FreeType 2 top Jamfile (c) 2001, 2002 David Turner
|
||||
#
|
||||
|
||||
# We need to invoke a SubDir rule if the FT2 source directory top is not the
|
||||
# current directory. This allows us to build FreeType 2 as part of a larger
|
||||
# project easily.
|
||||
#
|
||||
if $(FT2_TOP) != $(DOT)
|
||||
{
|
||||
SubDir FT2_TOP ;
|
||||
}
|
||||
|
||||
FT2_INCLUDE = [ FT2_SubDir include ] ;
|
||||
FT2_SRC = [ FT2_SubDir src ] ;
|
||||
|
||||
FT2_LIB = $(LIBPREFIX)freetype ;
|
||||
|
||||
|
||||
# We don't support libtool just yet. It seems that this is not
|
||||
# so simple with Jam, but I'll study this topic later.
|
||||
#
|
||||
|
||||
# used only when trying to debug the hinter(s)
|
||||
#
|
||||
if $(DEBUG_HINTER)
|
||||
{
|
||||
CCFLAGS += -DDEBUG_HINTER ;
|
||||
}
|
||||
|
||||
|
||||
# We need "freetype2/include" in the current include path in order to
|
||||
# compile any part of FreeType 2.
|
||||
#
|
||||
SubDirHdr += $(FT2_INCLUDE) ;
|
||||
|
||||
# Uncomment the following line if you want to build individual source files
|
||||
# for each FreeType 2 module.
|
||||
#
|
||||
# FT2_MULTI = true ;
|
||||
|
||||
# The file <freetype/config/ftheader.h> is used to define macros that are
|
||||
# later used in #include statements. It needs to be parsed in order to
|
||||
# record these definitions.
|
||||
#
|
||||
HDRMACRO [ FT2_SubDir include freetype config ftheader.h ] ;
|
||||
HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ;
|
||||
|
||||
# Now include the Jamfile in "freetype2/src", used to drive the compilation
|
||||
# of each FreeType 2 component and/or module.
|
||||
#
|
||||
SubInclude FT2_TOP $(FT2_SRC_DIR) ;
|
||||
|
||||
|
||||
# tests files (hinter debugging)
|
||||
#
|
||||
if $(DEBUG_HINTER)
|
||||
{
|
||||
SubInclude FT2_TOP tests ;
|
||||
}
|
||||
|
||||
# end of top Jamfile
|
53
reactos/lib/freetype/Jamrules
Normal file
53
reactos/lib/freetype/Jamrules
Normal file
|
@ -0,0 +1,53 @@
|
|||
# FreeType 2 JamRules (c) 2001 David Turner
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
|
||||
# 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) $(<) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
# The directory "include" must be in the current include path when compiling
|
||||
# any part of FreeType. We thus update the HDRS variable there.
|
||||
#
|
||||
HDRS += [ FT2_SubDir include ] ;
|
||||
|
||||
# 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
|
53
reactos/lib/freetype/Makefile
Normal file
53
reactos/lib/freetype/Makefile
Normal file
|
@ -0,0 +1,53 @@
|
|||
# $Id: Makefile,v 1.1 2003/04/01 08:38:28 gvg Exp $
|
||||
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
TARGET_TYPE = kmdll
|
||||
|
||||
TARGET_NAME = freetype
|
||||
|
||||
TARGET_NORC = yes
|
||||
|
||||
TARGET_DEFONLY = yes
|
||||
|
||||
include $(PATH_TO_TOP)/config
|
||||
|
||||
ifeq ($(DBG), 1)
|
||||
CFLAGS_DBG := -g
|
||||
else
|
||||
CFLAGS_DBG :=
|
||||
endif
|
||||
|
||||
TARGET_CFLAGS = $(CFLAGS_DBG) -Iinclude -Wall
|
||||
|
||||
ROS_OBJECTS = rosglue.o i386/setjmplongjmp.o
|
||||
|
||||
TARGET_OBJECTS = objs/*.o $(ROS_OBJECTS)
|
||||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
||||
include $(TOOLS_PATH)/helper.mk
|
||||
|
||||
unexport CFLAGS
|
||||
|
||||
all: $(MK_FULLNAME) $(MK_NOSTRIPNAME)
|
||||
|
||||
objs/*.o objs/libfreetype.a:
|
||||
@$(MAKE) -f Makefile.freetype
|
||||
|
||||
# Automatic dependency tracking
|
||||
DEP_OBJECTS := $(ROS_OBJECTS)
|
||||
include $(PATH_TO_TOP)/tools/depend.mk
|
||||
|
||||
freetype_def: objs/libfreetype.a
|
||||
nm objs/libfreetype.a | gawk 'BEGIN { printf "LIBRARY freetype\r\nEXPORTS\r\n"; } 3 == NF && $$2 == "T" { printf "%s\r\n", substr($$3, 2, length($$3) - 2); }' > freetype.def
|
||||
|
||||
.dummy:
|
||||
|
||||
%/TAGS: .dummy
|
||||
etags $(@D)/\*.c -o $(@D)/TAGS
|
||||
|
||||
etags: TAGS
|
||||
TAGS: i386/TAGS
|
||||
|
||||
# EOF
|
32
reactos/lib/freetype/Makefile.freetype
Normal file
32
reactos/lib/freetype/Makefile.freetype
Normal file
|
@ -0,0 +1,32 @@
|
|||
#
|
||||
# FreeType 2 build system -- top-level Makefile
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Project names
|
||||
#
|
||||
PROJECT := freetype
|
||||
PROJECT_TITLE := FreeType
|
||||
|
||||
USE_MODULES := 1
|
||||
|
||||
# The variable TOP_DIR holds the path to the topmost directory in the project
|
||||
# engine source hierarchy. If it is not defined, default it to `.'.
|
||||
#
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
include $(TOP_DIR)/builds/toplevel.mk
|
||||
|
||||
# EOF
|
43
reactos/lib/freetype/README
Normal file
43
reactos/lib/freetype/README
Normal file
|
@ -0,0 +1,43 @@
|
|||
|
||||
Special notes to Unix users
|
||||
===========================
|
||||
|
||||
Please read the file "README.UNX", 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.1.3
|
||||
==============
|
||||
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT
|
||||
INFORMATION.
|
||||
|
||||
Read the files "docs/INSTALL" or "docs/BUILD" for installation
|
||||
instructions.
|
||||
|
||||
Note that the FreeType 2 documentation is now available as a
|
||||
separate package from our sites. See:
|
||||
|
||||
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.3.tar.bz2
|
||||
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.3.tar.gz
|
||||
ftp://ftp.freetype.org/pub/freetype2/ftdoc213.zip
|
||||
|
||||
|
||||
Reports
|
||||
=======
|
||||
|
||||
Please report bugs by e-mail to `devel@freetype.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".
|
||||
|
||||
|
||||
|
||||
Enjoy!
|
||||
|
||||
|
||||
The FreeType Team
|
68
reactos/lib/freetype/README.ROS
Normal file
68
reactos/lib/freetype/README.ROS
Normal file
|
@ -0,0 +1,68 @@
|
|||
CREDITS
|
||||
|
||||
The code in this tree is based (it is actually an exact copy with some
|
||||
ReactOS specific extra files) on the FreeType library, version 2.1.3.
|
||||
It was written and is being maintained by the FreeType team. The projects
|
||||
website is http://www.freetype.org.
|
||||
|
||||
|
||||
NOTES
|
||||
|
||||
Please note that there are two Makefiles in the freetype directory:
|
||||
- Makefile.freetype which is the original Makefile from the FreeType
|
||||
distribution
|
||||
- Makefile which is the ReactOS specific Makefile. It will use the
|
||||
original Makefile.freetype when needed.
|
||||
Normally you will just use Makefile and not worry about Makefile.freetype.
|
||||
There will also be 2 FreeType libraries, lib/freetype/objs/libfreetype.a
|
||||
and dk/nkm/lib/freetype.a. The second one is the import library for
|
||||
freetype.dll and is the one that is used in the rest of ReactOS.
|
||||
lib/freetype/objs/libfreetype.a is a static library which is used to
|
||||
create the DLL.
|
||||
|
||||
|
||||
PORTING A NEW VERSION
|
||||
|
||||
Please note that the procedure below is a one-time only procedure, to be
|
||||
performed by whoever imports a new FreeType version into the ReactOS
|
||||
source tree. Once the new version has been committed to CVS all other
|
||||
developers can just use the normal build procedure.
|
||||
|
||||
First, save the old version:
|
||||
|
||||
move lib\freetype lib\freetype.old
|
||||
|
||||
Unpack the FreeType distribution and copy the files to lib/freetype
|
||||
(note: without the version number which is present in the pathnames in
|
||||
the distribution archive).
|
||||
Setup the FreeType build by copying the correct configuration file:
|
||||
|
||||
copy lib\freetype\builds\win32\w32-mingw32.mk lib\freetype\config.mk
|
||||
|
||||
Copy the ReactOS specific files from the old directory to the new:
|
||||
|
||||
move lib\freetype\Makefile lib\freetype\Makefile.freetype
|
||||
mkdir lib\freetype\i386
|
||||
copy lib\freetype.old\rosglue.c lib\freetype
|
||||
copy lib\freetype.old\i386\setjmplongjmp.s lib\freetype\i386
|
||||
copy lib\freetype.old\Makefile lib\freetype
|
||||
copy lib\freetype.old\README.ROS lib\freetype
|
||||
copy lib\freetype.old\.cvsignore lib\freetype
|
||||
copy lib\freetype.old\objs\.cvsignore lib\freetype\objs
|
||||
copy lib\freetype.old\i386\.cvsignore lib\freetype\i386
|
||||
|
||||
Next you need to create the freetype.def file. Since this depends on the
|
||||
"gawk" command, you'll need to have MSYS installed, which is not one of
|
||||
the normally required packages to build ReactOS. You can get MSYS from the
|
||||
MinGW site at http://sourceforge.net/projects/mingw. Once you have MSYS
|
||||
installed you can create the new freetype.def file:
|
||||
|
||||
make freetype_def
|
||||
|
||||
Well, that's all there is to it. You can delete the old version in
|
||||
lib\freetype.old. Please adjust the version number in the heading of this
|
||||
file, so it is obvious to everyone which FreeType version we're using.
|
||||
After testing, you can commit the new/changed files to CVS. ALthough files
|
||||
config.mk and freetype.def are generated, they should be included in CVS.
|
||||
|
||||
$Id: README.ROS,v 1.1 2003/04/01 08:38:28 gvg Exp $
|
141
reactos/lib/freetype/README.UNX
Normal file
141
reactos/lib/freetype/README.UNX
Normal file
|
@ -0,0 +1,141 @@
|
|||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
I. Enable the TrueType bytecode 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:
|
||||
|
||||
#undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
- change it to:
|
||||
|
||||
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
of course, this must be done _before_ compiling the library
|
||||
|
||||
|
||||
|
||||
II. Determine the correct installation path
|
||||
--------------------------------------------
|
||||
|
||||
By default, the source package will install 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 to
|
||||
use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use
|
||||
"/usr" (or what you think is adequate for your installation).
|
||||
|
||||
|
||||
|
||||
III. 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).
|
||||
|
||||
Trying to compile the library with a different Make tool will
|
||||
print a message like:
|
||||
|
||||
Sorry, GNU make is required to build FreeType2.
|
||||
|
||||
and the build process will be aborted. If this happens, install
|
||||
GNU Make on your system, and use the GNUMAKE environment variable
|
||||
to name it.
|
||||
|
||||
|
||||
|
||||
IV. 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)
|
||||
|
||||
If this still doesn't work, read the detailed compilation
|
||||
procedure available in the file "docs/BUILD" for troubleshooting.
|
||||
|
||||
|
||||
V. Take care of XFree86 version 4
|
||||
---------------------------------
|
||||
|
||||
Certain recent Linux distributions will 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
|
||||
irremediably 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 will not benefit from the bug fixes and
|
||||
rendering improvements you'd 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.
|
90
reactos/lib/freetype/builds/amiga/README
Normal file
90
reactos/lib/freetype/builds/amiga/README
Normal file
|
@ -0,0 +1,90 @@
|
|||
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. Since 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, since 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.
|
|
@ -0,0 +1,20 @@
|
|||
// TetiSoft: We must change FT_BASE_DEF and FT_EXPORT_DEF
|
||||
|
||||
//#define FT_BASE_DEF( x ) extern x // SAS/C wouldn't generate an XDEF
|
||||
//#define FT_EXPORT_DEF( x ) extern x // SAS/C wouldn't generate an XDEF
|
||||
#undef FT_BASE_DEF
|
||||
#define FT_BASE_DEF( x ) x
|
||||
#undef FT_EXPORT_DEF
|
||||
#define FT_EXPORT_DEF( x ) x
|
||||
|
||||
// TetiSoft: now include original file
|
||||
#ifndef __MORPHOS__
|
||||
#include "FT:include/freetype/config/ftconfig.h"
|
||||
#else
|
||||
// We must define that, it seems that
|
||||
// lib/gcc-lib/ppc-morphos/2.95.3/include/syslimits.h is missing in
|
||||
// ppc-morphos-gcc-2.95.3-bin.tgz (gcc for 68k producing MorphOS PPC elf
|
||||
// binaries from http://www.morphos.de)
|
||||
#define _LIBC_LIMITS_H_
|
||||
#include "/FT/include/freetype/config/ftconfig.h"
|
||||
#endif
|
|
@ -0,0 +1,123 @@
|
|||
// TetiSoft: To specify which modules you need,
|
||||
// insert the following in your source file and uncomment as needed:
|
||||
|
||||
/*
|
||||
//#define FT_USE_AUTOHINT // autohinter
|
||||
//#define FT_USE_RASTER // monochrome rasterizer
|
||||
//#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||
//#define FT_USE_TT // truetype font driver
|
||||
//#define FT_USE_T1 // type1 font driver
|
||||
//#define FT_USE_T42 // type42 font driver
|
||||
//#define FT_USE_T1CID // cid-keyed type1 font driver // no cmap support
|
||||
//#define FT_USE_CFF // opentype font driver
|
||||
//#define FT_USE_BDF // bdf bitmap font driver
|
||||
//#define FT_USE_PCF // pcf bitmap font driver
|
||||
//#define FT_USE_PFR // pfr font driver
|
||||
//#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||
#include "FT:src/base/ftinit.c"
|
||||
*/
|
||||
|
||||
// TetiSoft: make sure that needed support modules are built in.
|
||||
// Dependencies can be found by searching for FT_Get_Module.
|
||||
|
||||
#ifdef FT_USE_T42
|
||||
#define FT_USE_TT
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_TT
|
||||
#define FT_USE_SFNT
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_CFF
|
||||
#define FT_USE_SFNT
|
||||
#define FT_USE_PSHINT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1
|
||||
#define FT_USE_PSAUX
|
||||
#define FT_USE_PSHINT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1CID
|
||||
#define FT_USE_PSAUX
|
||||
#define FT_USE_PSHINT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSAUX
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_SFNT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
// TetiSoft: Now include the modules
|
||||
|
||||
#ifdef FT_USE_AUTOHINT
|
||||
FT_USE_MODULE(autohint_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSHINT
|
||||
FT_USE_MODULE(pshinter_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_CFF
|
||||
FT_USE_MODULE(cff_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1CID
|
||||
FT_USE_MODULE(t1cid_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_BDF
|
||||
FT_USE_MODULE(bdf_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PCF
|
||||
FT_USE_MODULE(pcf_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PFR
|
||||
FT_USE_MODULE(pfr_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSAUX
|
||||
FT_USE_MODULE(psaux_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSNAMES
|
||||
FT_USE_MODULE(psnames_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_RASTER
|
||||
FT_USE_MODULE(ft_raster1_renderer_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_SFNT
|
||||
FT_USE_MODULE(sfnt_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_SMOOTH
|
||||
FT_USE_MODULE(ft_smooth_renderer_class)
|
||||
FT_USE_MODULE(ft_smooth_lcd_renderer_class)
|
||||
FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_TT
|
||||
FT_USE_MODULE(tt_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1
|
||||
FT_USE_MODULE(t1_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T42
|
||||
FT_USE_MODULE(t42_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_WINFNT
|
||||
FT_USE_MODULE(winfnt_driver_class)
|
||||
#endif
|
207
reactos/lib/freetype/builds/amiga/makefile
Normal file
207
reactos/lib/freetype/builds/amiga/makefile
Normal file
|
@ -0,0 +1,207 @@
|
|||
#
|
||||
# Makefile for FreeType2 link library using 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 build from the builds/amiga directory call
|
||||
#
|
||||
# make assign
|
||||
# make
|
||||
#
|
||||
# Your programs source code should start with this
|
||||
# (uncomment the parts you do not need to keep the program small):
|
||||
# ---8<---
|
||||
#define FT_USE_AUTOHINT // autohinter
|
||||
#define FT_USE_RASTER // monochrome rasterizer
|
||||
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||
#define FT_USE_TT // truetype font driver
|
||||
#define FT_USE_T1 // type1 font driver
|
||||
#define FT_USE_T42 // type42 font driver
|
||||
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||
#define FT_USE_CFF // opentype font driver
|
||||
#define FT_USE_BDF // bdf bitmap font driver
|
||||
#define FT_USE_PCF // pcf bitmap font driver
|
||||
#define FT_USE_PFR // pfr font driver
|
||||
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||
#include "FT:src/base/ftinit.c"
|
||||
# ---8<---
|
||||
#
|
||||
# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
|
||||
# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||
|
||||
all: libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
|
||||
|
||||
assign:
|
||||
assign FT: //
|
||||
|
||||
FTSRC = /FT/src
|
||||
|
||||
CC = ppc-morphos-gcc
|
||||
AR = ppc-morphos-ar rc
|
||||
RANLIB = ppc-morphos-ranlib
|
||||
LD = ppc-morphos-ld
|
||||
CFLAGS = -O2 -I/emu/emulinclude/includegcc -I/emu/include -Iinclude -I$(FTSRC) -I/FT/include
|
||||
|
||||
#
|
||||
# FreeType2 library base
|
||||
#
|
||||
ftbase.ppc.o: $(FTSRC)/base/ftbase.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftinit.ppc.o: $(FTSRC)/base/ftinit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftsystem.ppc.o: $(FTSRC)/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftsystempure.ppc.o: src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftdebug.ppc.o: $(FTSRC)/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftdebugpure.ppc.o: src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library base extensions
|
||||
#
|
||||
ftglyph.ppc.o: $(FTSRC)/base/ftglyph.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftbbox.ppc.o: $(FTSRC)/base/ftbbox.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftmm.ppc.o: $(FTSRC)/base/ftmm.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftsynth.ppc.o: $(FTSRC)/base/ftsynth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library autohinting module
|
||||
#
|
||||
autohint.ppc.o: $(FTSRC)/autohint/autohint.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library autohinting module extensions
|
||||
#
|
||||
ahoptim.ppc.o: $(FTSRC)/autohint/ahoptim.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library postscript hinting module
|
||||
#
|
||||
pshinter.ppc.o: $(FTSRC)/pshinter/pshinter.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PS support module
|
||||
#
|
||||
psaux.ppc.o: $(FTSRC)/psaux/psaux.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PS glyph names module
|
||||
#
|
||||
psnames.ppc.o: $(FTSRC)/psnames/psnames.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library monochrome raster module
|
||||
#
|
||||
raster.ppc.o: $(FTSRC)/raster/raster.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library anti-aliasing raster module
|
||||
#
|
||||
smooth.ppc.o: $(FTSRC)/smooth/smooth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library 'sfnt' module
|
||||
#
|
||||
sfnt.ppc.o: $(FTSRC)/sfnt/sfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library glyph and image caching system (still experimental)
|
||||
#
|
||||
ftcache.ppc.o: $(FTSRC)/cache/ftcache.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType font driver
|
||||
#
|
||||
cff.ppc.o: $(FTSRC)/cff/cff.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library TrueType font driver
|
||||
#
|
||||
truetype.ppc.o: $(FTSRC)/truetype/truetype.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Type1 font driver
|
||||
#
|
||||
type1.ppc.o: $(FTSRC)/type1/type1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Type42 font driver
|
||||
#
|
||||
type42.ppc.o: $(FTSRC)/type42/type42.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library CID-keyed Type1 font driver
|
||||
#
|
||||
type1cid.ppc.o: $(FTSRC)/cid/type1cid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library BDF bitmap font driver
|
||||
#
|
||||
bdf.ppc.o: $(FTSRC)/bdf/bdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PCF bitmap font driver
|
||||
#
|
||||
pcf.ppc.o: $(FTSRC)/pcf/pcf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PFR font driver
|
||||
#
|
||||
pfr.ppc.o: $(FTSRC)/pfr/pfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Windows FNT/FON bitmap font driver
|
||||
#
|
||||
winfnt.ppc.o: $(FTSRC)/winfonts/winfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
BASEPPC = ftbase.ppc.o ftglyph.ppc.o ftbbox.ppc.o ftmm.ppc.o ftsynth.ppc.o
|
||||
|
||||
DEBUGPPC = ftdebug.ppc.o ftdebugpure.ppc.o
|
||||
|
||||
AHINTPPC = autohint.ppc.o ahoptim.ppc.o
|
||||
|
||||
PSPPC = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
|
||||
|
||||
RASTERPPC = raster.ppc.o smooth.ppc.o
|
||||
|
||||
FONTDPPC = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
|
||||
bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o
|
||||
|
||||
libft2_ppc.a: $(BASEPPC) $(AHINTPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC)
|
||||
$(AR) $@ $(BASEPPC) $(AHINTPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC)
|
||||
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
236
reactos/lib/freetype/builds/amiga/smakefile
Normal file
236
reactos/lib/freetype/builds/amiga/smakefile
Normal file
|
@ -0,0 +1,236 @@
|
|||
#
|
||||
# Makefile for FreeType2 link library using Amiga SAS/C 6.58
|
||||
#
|
||||
# to build from the builds/amiga directory call
|
||||
#
|
||||
# smake assign
|
||||
# smake
|
||||
#
|
||||
# Your programs source code should start with this
|
||||
# (uncomment the parts you do not need to keep the program small):
|
||||
# ---8<---
|
||||
#define FT_USE_AUTOHINT // autohinter
|
||||
#define FT_USE_RASTER // monochrome rasterizer
|
||||
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||
#define FT_USE_TT // truetype font driver
|
||||
#define FT_USE_T1 // type1 font driver
|
||||
#define FT_USE_T42 // type42 font driver
|
||||
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||
#define FT_USE_CFF // opentype font driver
|
||||
#define FT_USE_BDF // bdf bitmap font driver
|
||||
#define FT_USE_PCF // pcf bitmap font driver
|
||||
#define FT_USE_PFR // pfr font driver
|
||||
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||
#include "FT:src/base/ftinit.c"
|
||||
# ---8<---
|
||||
#
|
||||
# link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
|
||||
# (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||
|
||||
OBJBASE = ftbase.o ftglyph.o ftbbox.o ftmm.o ftsynth.o
|
||||
|
||||
OBJSYSTEM = ftsystem.o ftsystempure.o
|
||||
|
||||
OBJDEBUG = ftdebug.o ftdebugpure.o
|
||||
|
||||
OBJAHINT = autohint.o ahoptim.o
|
||||
|
||||
OBJPSHINT = pshinter.o
|
||||
|
||||
OBJPSAUX = psaux.o
|
||||
|
||||
OBJPSNAM = psnames.o
|
||||
|
||||
OBJRAST = raster.o
|
||||
|
||||
OBJSMOOTH = smooth.o
|
||||
|
||||
OBJSFNT = sfnt.o
|
||||
|
||||
OBJCACHE = ftcache.o
|
||||
|
||||
OBJPS = $(OBJPSAUX) $(OBJPSNAM) $(OBJPSHINT)
|
||||
|
||||
OBJRASTER = $(OBJRAST) $(OBJSMOOTH)
|
||||
|
||||
OBJFONTD = cff.o type1.o type42.o type1cid.o\
|
||||
truetype.o winfnt.o bdf.o pcf.o pfr.o
|
||||
|
||||
CORE = FT:src/
|
||||
|
||||
CPU = 68000
|
||||
#CPU = 68020
|
||||
#CPU = 68030
|
||||
#CPU = 68040
|
||||
#CPU = 68060
|
||||
|
||||
OPTIMIZER = optinlocal
|
||||
|
||||
SCFLAGS = optimize opttime optsched strmerge strsect=near idlen=40 cpu=$(CPU)\
|
||||
idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
|
||||
noicons ignore=79,85,110,306 parameters=both
|
||||
|
||||
LIB = ft2_$(CPU).lib
|
||||
|
||||
# sample linker options
|
||||
OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
|
||||
smallcode smalldata noicons utillib
|
||||
|
||||
# sample program entry
|
||||
#myprog: myprog.c ftsystem.o $(LIB)
|
||||
# sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
|
||||
|
||||
all: $(LIB) $(OBJSYSTEM) $(OBJDEBUG)
|
||||
|
||||
assign:
|
||||
assign FT: //
|
||||
|
||||
# uses separate object modules in lib to make for easier debugging
|
||||
# also, can make smaller programs if entire engine is not used
|
||||
ft2_$(CPU).lib: $(OBJBASE) $(OBJAHINT) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD)
|
||||
oml $@ r $(OBJBASE) $(OBJAHINT) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD)
|
||||
|
||||
clean:
|
||||
-delete \#?.o
|
||||
|
||||
realclean: clean
|
||||
-delete ft2$(CPU).lib
|
||||
|
||||
#
|
||||
# freetype library base
|
||||
#
|
||||
ftbase.o: $(CORE)base/ftbase.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftinit.o: $(CORE)base/ftinit.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsystem.o: $(CORE)base/ftsystem.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsystempure.o: src/base/ftsystem.c ## pure version for use in run-time library etc
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftdebug.o: $(CORE)base/ftdebug.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftdebugpure.o: src/base/ftdebug.c ## pure version for use in run-time library etc
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
#
|
||||
# freetype library base extensions
|
||||
#
|
||||
ftglyph.o: $(CORE)base/ftglyph.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftbbox.o: $(CORE)base/ftbbox.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftmm.o: $(CORE)base/ftmm.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsynth.o: $(CORE)base/ftsynth.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library autohinting module
|
||||
#
|
||||
autohint.o: $(CORE)autohint/autohint.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
#
|
||||
# freetype library autohinting module extensions
|
||||
#
|
||||
ahoptim.o: $(CORE)autohint/ahoptim.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PS hinting module
|
||||
#
|
||||
pshinter.o: $(CORE)pshinter/pshinter.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
#
|
||||
# freetype library PS support module
|
||||
#
|
||||
psaux.o: $(CORE)psaux/psaux.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PS glyph names module
|
||||
#
|
||||
psnames.o: $(CORE)psnames/psnames.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library monochrome raster module
|
||||
#
|
||||
raster.o: $(CORE)raster/raster.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library anti-aliasing raster module
|
||||
#
|
||||
smooth.o: $(CORE)smooth/smooth.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library 'sfnt' module
|
||||
#
|
||||
sfnt.o: $(CORE)sfnt/sfnt.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library glyph and image caching system (still experimental)
|
||||
#
|
||||
ftcache.o: $(CORE)cache/ftcache.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library OpenType font driver
|
||||
#
|
||||
cff.o: $(CORE)cff/cff.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library TrueType font driver
|
||||
#
|
||||
truetype.o: $(CORE)truetype/truetype.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library Type1 font driver
|
||||
#
|
||||
type1.o: $(CORE)type1/type1.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Type42 font driver
|
||||
#
|
||||
type42.o: $(CORE)type42/type42.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library CID-keyed Type1 font driver
|
||||
#
|
||||
type1cid.o: $(CORE)cid/type1cid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
#
|
||||
# freetype library CID-keyed Type1 font driver extensions
|
||||
#
|
||||
#cidafm.o: $(CORE)cid/cidafm.c
|
||||
# sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library BDF bitmap font driver
|
||||
#
|
||||
bdf.o: $(CORE)bdf/bdf.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PCF bitmap font driver
|
||||
#
|
||||
pcf.o: $(CORE)pcf/pcf.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PFR font driver
|
||||
#
|
||||
pfr.o: $(CORE)pfr/pfr.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library Windows FNT/FON bitmap font driver
|
||||
#
|
||||
winfnt.o: $(CORE)winfonts/winfnt.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
185
reactos/lib/freetype/builds/amiga/src/base/ftdebug.c
Normal file
185
reactos/lib/freetype/builds/amiga/src/base/ftdebug.c
Normal file
|
@ -0,0 +1,185 @@
|
|||
// TetiSoft: replaced vprintf() with KVPrintF() and commented out exit()
|
||||
extern void __stdargs KVPrintF( const char *formatString, const void *values );
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftdebug.c */
|
||||
/* */
|
||||
/* Debugging and logging component (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001 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 component contains various macros and functions used to ease the */
|
||||
/* debugging of the FreeType engine. Its main purpose is in assertion */
|
||||
/* checking, tracing, and error detection. */
|
||||
/* */
|
||||
/* There are now three debugging modes: */
|
||||
/* */
|
||||
/* - trace mode */
|
||||
/* */
|
||||
/* Error and trace messages are sent to the log file (which can be the */
|
||||
/* standard error output). */
|
||||
/* */
|
||||
/* - error mode */
|
||||
/* */
|
||||
/* Only error messages are generated. */
|
||||
/* */
|
||||
/* - release mode: */
|
||||
/* */
|
||||
/* No error message is sent or generated. The code is free from any */
|
||||
/* debugging parts. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_LEVEL_TRACE
|
||||
char ft_trace_levels[trace_max];
|
||||
#endif
|
||||
|
||||
|
||||
#if defined( FT_DEBUG_LEVEL_ERROR ) || defined( FT_DEBUG_LEVEL_TRACE )
|
||||
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Message( const char* fmt, ... )
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
// vprintf( fmt, ap );
|
||||
KVPrintF( fmt, ap );
|
||||
va_end( ap );
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Panic( const char* fmt, ... )
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
// vprintf( fmt, ap );
|
||||
KVPrintF( fmt, ap );
|
||||
va_end( ap );
|
||||
|
||||
// exit( EXIT_FAILURE );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* since I don't know wether "getenv" is available on the Amiga */
|
||||
/* I prefer to simply disable this code for now in all builds */
|
||||
/* */
|
||||
|
||||
/* #ifdef FT_DEBUG_LEVEL_TRACE */
|
||||
#if 0
|
||||
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
const char* ft2_debug = getenv( "FT2_DEBUG" );
|
||||
|
||||
|
||||
if ( ft2_debug )
|
||||
{
|
||||
const char* p = ft2_debug;
|
||||
const char* q;
|
||||
|
||||
|
||||
for ( ; *p; p++ )
|
||||
{
|
||||
/* skip leading whitespace and separators */
|
||||
if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' )
|
||||
continue;
|
||||
|
||||
/* read toggle name, followed by '=' */
|
||||
q = p;
|
||||
while ( *p && *p != ':' )
|
||||
p++;
|
||||
|
||||
if ( *p == ':' && p > q )
|
||||
{
|
||||
int n, i, len = p - q;
|
||||
int level = -1, found = -1;
|
||||
|
||||
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
{
|
||||
const char* toggle = ft_trace_toggles[n];
|
||||
|
||||
|
||||
for ( i = 0; i < len; i++ )
|
||||
{
|
||||
if ( toggle[i] != q[i] )
|
||||
break;
|
||||
}
|
||||
|
||||
if ( i == len && toggle[i] == 0 )
|
||||
{
|
||||
found = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* read level */
|
||||
p++;
|
||||
if ( *p )
|
||||
{
|
||||
level = *p++ - '0';
|
||||
if ( level < 0 || level > 6 )
|
||||
level = -1;
|
||||
}
|
||||
|
||||
if ( found >= 0 && level >= 0 )
|
||||
{
|
||||
if ( found == trace_any )
|
||||
{
|
||||
/* special case for "any" */
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
ft_trace_levels[n] = level;
|
||||
}
|
||||
else
|
||||
ft_trace_levels[found] = level;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#else /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
|
||||
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
|
||||
/* END */
|
450
reactos/lib/freetype/builds/amiga/src/base/ftsystem.c
Normal file
450
reactos/lib/freetype/builds/amiga/src/base/ftsystem.c
Normal file
|
@ -0,0 +1,450 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsystem.c */
|
||||
/* */
|
||||
/* Amiga-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 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 Amiga interface used by FreeType to access */
|
||||
/* low-level, i.e. memory management, i/o access as well as thread */
|
||||
/* synchronisation. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
// Maintained by Detlef Würkner <TetiSoft@apg.lahn.de>
|
||||
|
||||
// TetiSoft: Modified to avoid fopen() fclose() fread() fseek() ftell()
|
||||
// malloc() realloc() and free() which can't be used in an amiga
|
||||
// shared run-time library linked with libinit.o
|
||||
|
||||
#include <exec/memory.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
// Avoid warnings "struct X declared inside parameter list"
|
||||
#include <exec/devices.h>
|
||||
#include <exec/io.h>
|
||||
#include <exec/semaphores.h>
|
||||
#include <dos/exall.h>
|
||||
#endif
|
||||
|
||||
// Necessary with OS3.9 includes
|
||||
#define __USE_SYSBASE
|
||||
|
||||
#include <proto/exec.h>
|
||||
#include <proto/dos.h>
|
||||
|
||||
#ifndef __GNUC__
|
||||
/* TetiSoft: Missing in alib_protos.h, see amiga.lib autodoc
|
||||
* (These amiga.lib functions work under AmigaOS V33 and up)
|
||||
*/
|
||||
extern APTR __asm
|
||||
AsmCreatePool( register __d0 ULONG memFlags,
|
||||
register __d1 ULONG puddleSize,
|
||||
register __d2 ULONG threshSize,
|
||||
register __a6 struct ExecBase* SysBase );
|
||||
|
||||
extern VOID __asm
|
||||
AsmDeletePool( register __a0 APTR poolHeader,
|
||||
register __a6 struct ExecBase* SysBase );
|
||||
|
||||
extern APTR __asm
|
||||
AsmAllocPooled( register __a0 APTR poolHeader,
|
||||
register __d0 ULONG memSize,
|
||||
register __a6 struct ExecBase* SysBase );
|
||||
|
||||
extern VOID __asm
|
||||
AsmFreePooled( register __a0 APTR poolHeader,
|
||||
register __a1 APTR memory,
|
||||
register __d0 ULONG memSize,
|
||||
register __a6 struct ExecBase* SysBase);
|
||||
#endif
|
||||
|
||||
|
||||
// TetiSoft: C implementation of AllocVecPooled (see autodoc exec/AllocPooled)
|
||||
APTR
|
||||
AllocVecPooled( APTR poolHeader,
|
||||
ULONG memSize )
|
||||
{
|
||||
ULONG newSize = memSize + sizeof ( ULONG );
|
||||
#ifdef __GNUC__
|
||||
ULONG *mem = AllocPooled( poolHeader, newSize );
|
||||
#else
|
||||
ULONG *mem = AsmAllocPooled( poolHeader, newSize, SysBase );
|
||||
#endif
|
||||
|
||||
if ( !mem )
|
||||
return NULL;
|
||||
*mem = newSize;
|
||||
return mem + 1;
|
||||
}
|
||||
|
||||
|
||||
// TetiSoft: C implementation of FreeVecPooled (see autodoc exec/AllocPooled)
|
||||
void
|
||||
FreeVecPooled( APTR poolHeader,
|
||||
APTR memory )
|
||||
{
|
||||
ULONG *realmem = (ULONG *)memory - 1;
|
||||
|
||||
#ifdef __GNUC__
|
||||
FreePooled( poolHeader, realmem, *realmem );
|
||||
#else
|
||||
AsmFreePooled( poolHeader, realmem, *realmem, SysBase );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_CONFIG_CONFIG_H
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
#include FT_SYSTEM_H
|
||||
#include FT_ERRORS_H
|
||||
#include FT_TYPES_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* MEMORY MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* It is not necessary to do any error checking for the */
|
||||
/* allocation-related functions. This will be done by the higher level */
|
||||
/* routines like FT_Alloc() or FT_Realloc(). */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_alloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory allocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* size :: The requested size in bytes. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
// FT_UNUSED( memory );
|
||||
|
||||
// return malloc( size );
|
||||
return AllocVecPooled( memory->user, size );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_realloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory reallocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* cur_size :: The current size of the allocated memory block. */
|
||||
/* */
|
||||
/* new_size :: The newly requested size in bytes. */
|
||||
/* */
|
||||
/* block :: The current address of the block in memory. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
void* block )
|
||||
{
|
||||
// FT_UNUSED( memory );
|
||||
// FT_UNUSED( cur_size );
|
||||
|
||||
// return realloc( block, new_size );
|
||||
|
||||
void* new_block;
|
||||
|
||||
new_block = AllocVecPooled ( memory->user, new_size );
|
||||
if ( new_block != NULL )
|
||||
{
|
||||
CopyMem ( block, new_block,
|
||||
( new_size > cur_size ) ? cur_size : new_size );
|
||||
FreeVecPooled ( memory->user, block );
|
||||
}
|
||||
return new_block;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_free */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory release function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
// FT_UNUSED( memory );
|
||||
|
||||
// free( block );
|
||||
|
||||
FreeVecPooled( memory->user, block );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* RESOURCE MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
/* We use the macro STREAM_FILE for convenience to extract the */
|
||||
/* system-specific stream handle from a given FreeType stream object */
|
||||
// #define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer )
|
||||
#define STREAM_FILE( stream ) ( (BPTR)stream->descriptor.pointer ) // TetiSoft
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_close_stream */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to close a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream( FT_Stream stream )
|
||||
{
|
||||
// fclose( STREAM_FILE( stream ) );
|
||||
Close( STREAM_FILE( stream ) ); // TetiSoft
|
||||
|
||||
stream->descriptor.pointer = NULL;
|
||||
stream->size = 0;
|
||||
stream->base = 0;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_io_stream */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to open a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
/* offset :: The position in the data stream to start reading. */
|
||||
/* */
|
||||
/* buffer :: The address of buffer to store the read data. */
|
||||
/* */
|
||||
/* count :: The number of bytes to read from the stream. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The number of bytes actually read. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( unsigned long )
|
||||
ft_io_stream( FT_Stream stream,
|
||||
unsigned long offset,
|
||||
unsigned char* buffer,
|
||||
unsigned long count )
|
||||
{
|
||||
// FILE* file;
|
||||
BPTR file; // TetiSoft
|
||||
|
||||
|
||||
file = STREAM_FILE( stream );
|
||||
|
||||
// fseek( file, offset, SEEK_SET );
|
||||
Seek( file, offset, OFFSET_BEGINNING ); // TetiSoft
|
||||
|
||||
// return (unsigned long)fread( buffer, 1, count, file );
|
||||
return (unsigned long)FRead( file, buffer, 1, count);
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Stream_Open( FT_Stream stream,
|
||||
const char* filepathname )
|
||||
{
|
||||
// FILE* file;
|
||||
BPTR file; // TetiSoft
|
||||
struct FileInfoBlock* fib; // TetiSoft
|
||||
|
||||
|
||||
if ( !stream )
|
||||
return FT_Err_Invalid_Stream_Handle;
|
||||
|
||||
// file = fopen( filepathname, "rb" );
|
||||
file = Open( filepathname, MODE_OLDFILE ); // TetiSoft
|
||||
if ( !file )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
|
||||
// fseek( file, 0, SEEK_END );
|
||||
// astream->size = ftell( file );
|
||||
// fseek( file, 0, SEEK_SET );
|
||||
fib = AllocDosObject( DOS_FIB, NULL );
|
||||
if ( !fib )
|
||||
{
|
||||
Close ( file );
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
if ( !( ExamineFH( file, fib ) ) )
|
||||
{
|
||||
FreeDosObject( DOS_FIB, fib );
|
||||
Close ( file );
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
stream->size = fib->fib_Size;
|
||||
FreeDosObject( DOS_FIB, fib );
|
||||
|
||||
// stream->descriptor.pointer = file;
|
||||
stream->descriptor.pointer = (void *)file;
|
||||
|
||||
stream->pathname.pointer = (char*)filepathname;
|
||||
stream->pos = 0;
|
||||
|
||||
stream->read = ft_io_stream;
|
||||
stream->close = ft_close_stream;
|
||||
|
||||
FT_TRACE1(( "FT_Stream_Open:" ));
|
||||
FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
|
||||
filepathname, stream->size ));
|
||||
|
||||
return FT_Err_Ok;
|
||||
}
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
|
||||
extern FT_Int
|
||||
ft_mem_debug_init( FT_Memory memory );
|
||||
|
||||
extern void
|
||||
ft_mem_debug_done( FT_Memory memory );
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Memory )
|
||||
FT_New_Memory( void )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
||||
|
||||
// memory = (FT_Memory)malloc( sizeof ( *memory ) );
|
||||
memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_PUBLIC );
|
||||
if ( memory )
|
||||
{
|
||||
// memory->user = 0;
|
||||
#ifdef __GNUC__
|
||||
memory->user = CreatePool( MEMF_PUBLIC, 2048, 2048 );
|
||||
#else
|
||||
memory->user = AsmCreatePool( MEMF_PUBLIC, 2048, 2048, SysBase );
|
||||
#endif
|
||||
if ( memory->user == NULL )
|
||||
{
|
||||
FreeVec( memory );
|
||||
memory = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
memory->alloc = ft_alloc;
|
||||
memory->realloc = ft_realloc;
|
||||
memory->free = ft_free;
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_init( memory );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
return memory;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Done_Memory( FT_Memory memory )
|
||||
{
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_done( memory );
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
DeletePool( memory->user );
|
||||
#else
|
||||
AsmDeletePool( memory->user, SysBase );
|
||||
#endif
|
||||
FreeVec( memory );
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
94
reactos/lib/freetype/builds/ansi/ansi-def.mk
Normal file
94
reactos/lib/freetype/builds/ansi/ansi-def.mk
Normal file
|
@ -0,0 +1,94 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a `normal' ANSI system
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
HOSTSEP := $(SEP)
|
||||
BUILD := $(TOP_DIR)/builds/ansi
|
||||
PLATFORM := ansi
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f $TOP_DIR/Makefile setup [options]
|
||||
# make -f $TOP_DIR/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)$(SEP)objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# EOF
|
20
reactos/lib/freetype/builds/ansi/ansi.mk
Normal file
20
reactos/lib/freetype/builds/ansi/ansi.mk
Normal file
|
@ -0,0 +1,20 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a `normal' pseudo ANSI compiler/system
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/ansi/ansi-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/ansi-cc.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
# EOF
|
96
reactos/lib/freetype/builds/beos/beos-def.mk
Normal file
96
reactos/lib/freetype/builds/beos/beos-def.mk
Normal file
|
@ -0,0 +1,96 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a BeOS system
|
||||
#
|
||||
# this is similar to the "ansi-def.mk" file, except for BUILD and PLATFORM
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
HOSTSEP := $(SEP)
|
||||
BUILD := $(TOP_DIR)/builds/neos
|
||||
PLATFORM := beos
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f $TOP_DIR/Makefile setup [options]
|
||||
# make -f $TOP_DIR/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)$(SEP)objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# EOF
|
19
reactos/lib/freetype/builds/beos/beos.mk
Normal file
19
reactos/lib/freetype/builds/beos/beos.mk
Normal file
|
@ -0,0 +1,19 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a BeOS system
|
||||
#
|
||||
|
||||
# Copyright 1996-2000, 2002 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.
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/ansi-cc.mk
|
||||
include $(TOP_DIR)/builds/beos/beos-def.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
# EOF
|
||||
|
41
reactos/lib/freetype/builds/beos/detect.mk
Normal file
41
reactos/lib/freetype/builds/beos/detect.mk
Normal file
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# FreeType 2 configuration file to detect an BeOS host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
ifdef BE_HOST_CPU
|
||||
|
||||
PLATFORM := beos
|
||||
|
||||
endif # test MACHTYPE beos
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),beos)
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
HOSTSEP := $(SEP)
|
||||
BUILD := $(TOP_DIR)/builds/beos
|
||||
CONFIG_FILE := beos.mk
|
||||
|
||||
setup: std_setup
|
||||
|
||||
endif # test PLATFORM beos
|
||||
|
||||
# EOF
|
||||
|
81
reactos/lib/freetype/builds/compiler/ansi-cc.mk
Normal file
81
reactos/lib/freetype/builds/compiler/ansi-cc.mk
Normal file
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# FreeType 2 generic pseudo ANSI compiler
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := cc
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
# we assume the compiler is already strictly ANSI
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
80
reactos/lib/freetype/builds/compiler/bcc-dev.mk
Normal file
80
reactos/lib/freetype/builds/compiler/bcc-dev.mk
Normal file
|
@ -0,0 +1,80 @@
|
|||
#
|
||||
# FreeType 2 Borland C++-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := bcc32
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L :=
|
||||
|
||||
|
||||
# Target flag -- no trailing space.
|
||||
#
|
||||
T := -o
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -q -c -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -A
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
|
||||
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
|
||||
|
||||
# EOF
|
80
reactos/lib/freetype/builds/compiler/bcc.mk
Normal file
80
reactos/lib/freetype/builds/compiler/bcc.mk
Normal file
|
@ -0,0 +1,80 @@
|
|||
#
|
||||
# FreeType 2 Borland C++-specific rules
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := bcc32
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L :=
|
||||
|
||||
|
||||
# Target flag -- no trailing space.
|
||||
#
|
||||
T := -o
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -q -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -A
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
|
||||
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
|
||||
|
||||
# EOF
|
89
reactos/lib/freetype/builds/compiler/gcc-dev.mk
Normal file
89
reactos/lib/freetype/builds/compiler/gcc-dev.mk
Normal file
|
@ -0,0 +1,89 @@
|
|||
#
|
||||
# FreeType 2 gcc-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := gcc
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O0 \
|
||||
-Wall \
|
||||
-W \
|
||||
-Wundef \
|
||||
-Wshadow \
|
||||
-Wpointer-arith \
|
||||
-Wwrite-strings \
|
||||
-Wstrict-prototypes \
|
||||
-Wredundant-decls \
|
||||
-Wnested-externs \
|
||||
-Wno-long-long
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
78
reactos/lib/freetype/builds/compiler/gcc.mk
Normal file
78
reactos/lib/freetype/builds/compiler/gcc.mk
Normal file
|
@ -0,0 +1,78 @@
|
|||
#
|
||||
# FreeType 2 gcc-specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := gcc
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
84
reactos/lib/freetype/builds/compiler/intelc.mk
Normal file
84
reactos/lib/freetype/builds/compiler/intelc.mk
Normal file
|
@ -0,0 +1,84 @@
|
|||
#
|
||||
# FreeType 2 Intel C/C++ definitions (VC++ compatibility mode)
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# compiler command line name
|
||||
#
|
||||
CC := icl
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := /I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := /D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := /Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := /Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
# Note that the Intel C/C++ compiler version 4.5 complains about
|
||||
# the use of FT_FIELD_OFFSET with "value must be arithmetic type"!
|
||||
# This really looks like a bug in the compiler because the macro
|
||||
# _does_ compute an arithmetic value, so we disable this warning
|
||||
# with "/Qwd32".
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := /nologo /c /Ox /G5 /W3 /Qwd32
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := /Qansi /Za
|
||||
|
||||
# Library linking
|
||||
#
|
||||
#CLEAN_LIBRARY =
|
||||
LINK_LIBRARY = lib /nologo /out:$@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
85
reactos/lib/freetype/builds/compiler/unix-lcc.mk
Normal file
85
reactos/lib/freetype/builds/compiler/unix-lcc.mk
Normal file
|
@ -0,0 +1,85 @@
|
|||
#
|
||||
# FreeType 2 Unix LCC specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Command line name
|
||||
#
|
||||
CC := lcc
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
# LCC is pure ANSI anyway!
|
||||
#
|
||||
# the "-A" flag simply increments verbosity about non ANSI code
|
||||
#
|
||||
ANSIFLAGS := -A
|
||||
|
||||
|
||||
# library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
76
reactos/lib/freetype/builds/compiler/visualage.mk
Normal file
76
reactos/lib/freetype/builds/compiler/visualage.mk
Normal file
|
@ -0,0 +1,76 @@
|
|||
#
|
||||
# FreeType 2 Visual Age C++ specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# command line compiler name
|
||||
#
|
||||
CC := icc
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := /I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := /D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := /Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := /Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := /Q- /Gd+ /O2 /G5 /W3 /C
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSI_FLAGS := /Sa
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
#CLEAN_LIBRARY :=
|
||||
LINK_LIBRARY = lib /nologo /out:$@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
79
reactos/lib/freetype/builds/compiler/visualc.mk
Normal file
79
reactos/lib/freetype/builds/compiler/visualc.mk
Normal file
|
@ -0,0 +1,79 @@
|
|||
#
|
||||
# FreeType 2 Visual C++ definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# compiler command line name
|
||||
#
|
||||
CC := cl
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := /I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := /D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := /Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := /Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := /nologo /c /Ox /G5 /W3 /WX
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := /Za
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
#CLEAN_LIBRARY =
|
||||
LINK_LIBRARY = lib /nologo /out:$@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
81
reactos/lib/freetype/builds/compiler/watcom.mk
Normal file
81
reactos/lib/freetype/builds/compiler/watcom.mk
Normal file
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# FreeType 2 Watcom-specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := wcc386
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I=
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -FO=
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -zq
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -za
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = wlib -q -o = $@ $(OBJECTS_LIST)
|
||||
|
||||
# EOF
|
81
reactos/lib/freetype/builds/compiler/win-lcc.mk
Normal file
81
reactos/lib/freetype/builds/compiler/win-lcc.mk
Normal file
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# FreeType 2 Win32-LCC specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# Command line name
|
||||
#
|
||||
CC := lcc
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g2 -O
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
# LCC is pure ANSI anyway!
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# library linking
|
||||
#
|
||||
#CLEAN_LIBRARY :=
|
||||
LINK_LIBRARY = lcclib /out:$(subst $(SEP),\\,$@) $(subst $(SEP),\\,$(OBJECTS_LIST))
|
||||
|
||||
# EOF
|
143
reactos/lib/freetype/builds/detect.mk
Normal file
143
reactos/lib/freetype/builds/detect.mk
Normal file
|
@ -0,0 +1,143 @@
|
|||
#
|
||||
# FreeType 2 host platform detection rules
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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 sub-Makefile is in charge of detecting the current platform. It sets
|
||||
# the following variables:
|
||||
#
|
||||
# BUILD The configuration and system-specific directory. Usually
|
||||
# `freetype/builds/$(PLATFORM)' but can be different for
|
||||
# custom builds of the library.
|
||||
#
|
||||
# The following variables must be defined in system specific `detect.mk'
|
||||
# files:
|
||||
#
|
||||
# PLATFORM The detected platform. This will default to `ansi' if
|
||||
# auto-detection fails.
|
||||
# CONFIG_FILE The configuration sub-makefile to use. This usually depends
|
||||
# on the compiler defined in the `CC' environment variable.
|
||||
# DELETE The shell command used to remove a given file.
|
||||
# COPY The shell command used to copy one file.
|
||||
# SEP The platform-specific directory separator.
|
||||
# CC The compiler to use.
|
||||
#
|
||||
# You need to set the following variable(s) before calling it:
|
||||
#
|
||||
# TOP_DIR The top-most directory in the FreeType library source
|
||||
# hierarchy. If not defined, it will default to `.'.
|
||||
|
||||
# If TOP_DIR is not defined, default it to `.'
|
||||
#
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
# Set auto-detection default to `ansi' resp. UNIX-like operating systems.
|
||||
# Note that we delay evaluation of $(BUILD_CONFIG_), $(BUILD), and
|
||||
# $(CONFIG_RULES).
|
||||
#
|
||||
PLATFORM := ansi
|
||||
DELETE := $(RM)
|
||||
COPY := cp
|
||||
SEP := /
|
||||
|
||||
BUILD_CONFIG_ = $(TOP_DIR)$(SEP)builds$(SEP)
|
||||
BUILD = $(BUILD_CONFIG_)$(PLATFORM)
|
||||
CONFIG_RULES = $(BUILD)$(SEP)$(CONFIG_FILE)
|
||||
|
||||
# We define the BACKSLASH variable to hold a single back-slash character.
|
||||
# This is needed because a line like
|
||||
#
|
||||
# SEP := \
|
||||
#
|
||||
# does not work with GNU Make (the backslash is interpreted as a line
|
||||
# continuation). While a line like
|
||||
#
|
||||
# SEP := \\
|
||||
#
|
||||
# really defines $(SEP) as `\' on Unix, and `\\' on Dos and Windows!
|
||||
#
|
||||
BACKSLASH := $(strip \ )
|
||||
|
||||
# Find all auto-detectable platforms.
|
||||
#
|
||||
PLATFORMS_ := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG_)*/detect.mk)))
|
||||
.PHONY: $(PLATFORMS_) ansi
|
||||
|
||||
# Filter out platform specified as setup target.
|
||||
#
|
||||
PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS_)))
|
||||
|
||||
# If no setup target platform was specified, enable auto-detection/
|
||||
# default platform.
|
||||
#
|
||||
ifeq ($(PLATFORM),)
|
||||
PLATFORM := ansi
|
||||
endif
|
||||
|
||||
# If the user has explicitly asked for `ansi' on the command line,
|
||||
# disable auto-detection.
|
||||
#
|
||||
ifeq ($(findstring ansi,$(MAKECMDGOALS)),)
|
||||
# Now, include all detection rule files found in the `builds/<system>'
|
||||
# directories. Note that the calling order of the various `detect.mk'
|
||||
# files isn't predictable.
|
||||
#
|
||||
include $(wildcard $(BUILD_CONFIG_)*/detect.mk)
|
||||
endif
|
||||
|
||||
# In case no detection rule file was successful, use the default.
|
||||
#
|
||||
ifndef CONFIG_FILE
|
||||
CONFIG_FILE := ansi.mk
|
||||
setup: std_setup
|
||||
.PHONY: setup
|
||||
endif
|
||||
|
||||
# The following targets are equivalent, with the exception that they use
|
||||
# a slightly different syntax for the `echo' command.
|
||||
#
|
||||
# std_setup: defined for most (i.e. Unix-like) platforms
|
||||
# dos_setup: defined for Dos-ish platforms like Dos, Windows & OS/2
|
||||
#
|
||||
.PHONY: std_setup dos_setup
|
||||
|
||||
std_setup:
|
||||
@echo ""
|
||||
@echo "$(PROJECT_TITLE) build system -- automatic system detection"
|
||||
@echo ""
|
||||
@echo "The following settings are used:"
|
||||
@echo ""
|
||||
@echo " platform $(PLATFORM)"
|
||||
@echo " compiler $(CC)"
|
||||
@echo " configuration directory $(BUILD)"
|
||||
@echo " configuration rules $(CONFIG_RULES)"
|
||||
@echo ""
|
||||
@echo "If this does not correspond to your system or settings please remove the file"
|
||||
@echo "\`$(CONFIG_MK)' from this directory then read the INSTALL file for help."
|
||||
@echo ""
|
||||
@echo "Otherwise, simply type \`$(MAKE)' again to build the library."
|
||||
@echo ""
|
||||
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)
|
||||
|
||||
|
||||
# Special case for Dos, Windows, OS/2, where echo "" doesn't work correctly!
|
||||
#
|
||||
dos_setup:
|
||||
@type builds\newline
|
||||
@echo $(PROJECT_TITLE) build system -- automatic system detection
|
||||
@type builds\newline
|
||||
@echo The following settings are used:
|
||||
@type builds\newline
|
||||
@echo platform
|
111
reactos/lib/freetype/builds/dos/detect.mk
Normal file
111
reactos/lib/freetype/builds/dos/detect.mk
Normal file
|
@ -0,0 +1,111 @@
|
|||
#
|
||||
# FreeType 2 configuration file to detect a DOS host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
# Test for DJGPP by checking the DJGPP environment variable, which must be
|
||||
# set in order to use the system (ie. it will always be present when the
|
||||
# `make' utility is run).
|
||||
#
|
||||
# We test for the COMSPEC environment variable, then run the `ver'
|
||||
# command-line program to see if its output contains the word `Dos'.
|
||||
#
|
||||
# If this is true, we are running a Dos-ish platform (or an emulation).
|
||||
#
|
||||
ifdef DJGPP
|
||||
PLATFORM := dos
|
||||
else
|
||||
ifdef COMSPEC
|
||||
is_dos := $(findstring Dos,$(shell ver))
|
||||
|
||||
# We try to recognize a Dos session under OS/2. The `ver' command
|
||||
# returns `Operating System/2 ...' there, so `is_dos' should be empty.
|
||||
#
|
||||
# To recognize a Dos session under OS/2, we check COMSPEC for the
|
||||
# substring `MDOS\COMMAND'
|
||||
#
|
||||
ifeq ($(is_dos),)
|
||||
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
||||
endif
|
||||
endif # test COMSPEC
|
||||
|
||||
ifneq ($(is_dos),)
|
||||
|
||||
PLATFORM := dos
|
||||
|
||||
endif # test Dos
|
||||
endif # test DJGPP
|
||||
endif # test PLATFORM ansi
|
||||
|
||||
ifeq ($(PLATFORM),dos)
|
||||
|
||||
# Use DJGPP (i.e. gcc) by default.
|
||||
#
|
||||
CONFIG_FILE := dos-gcc.mk
|
||||
SEP := /
|
||||
ifndef CC
|
||||
CC := gcc
|
||||
endif
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
|
||||
CONFIG_FILE := dos-tcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := tcc
|
||||
turboc: setup
|
||||
.PHONY: turboc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := dos-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
borlandc: setup
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc
|
||||
borlandc16: setup
|
||||
.PHONY: borlandc16
|
||||
endif
|
||||
|
||||
ifneq ($(findstring bash,$(SHELL)),) # check for bash
|
||||
DELETE := rm
|
||||
COPY := cp
|
||||
setup: std_setup
|
||||
else
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
setup: dos_setup
|
||||
endif
|
||||
|
||||
endif # test PLATFORM dos
|
||||
|
||||
# EOF
|
59
reactos/lib/freetype/builds/dos/dos-def.mk
Normal file
59
reactos/lib/freetype/builds/dos/dos-def.mk
Normal file
|
@ -0,0 +1,59 @@
|
|||
#
|
||||
# FreeType 2 DOS specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
DELETE := del
|
||||
HOSTSEP := $(strip \ )
|
||||
BUILD := $(TOP_DIR)$(SEP)builds$(SEP)dos
|
||||
PLATFORM := dos
|
||||
|
||||
# except for DJGPP/GCC on Dos
|
||||
ifndef SEP
|
||||
SEP := $(HOSTSEP)
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f %TOP_DIR%/Makefile setup [options]
|
||||
# make -f %TOP_DIR%/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)$(SEP)objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := $(PROJECT)
|
||||
|
||||
|
||||
# The NO_OUTPUT macro is used to ignore the output of commands.
|
||||
#
|
||||
NO_OUTPUT = > nul
|
||||
|
||||
|
||||
# EOF
|
22
reactos/lib/freetype/builds/dos/dos-gcc.mk
Normal file
22
reactos/lib/freetype/builds/dos/dos-gcc.mk
Normal file
|
@ -0,0 +1,22 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for the DJGPP compiler
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
|
||||
include $(TOP_DIR)/builds/dos/dos-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/gcc.mk
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
307
reactos/lib/freetype/builds/freetype.mk
Normal file
307
reactos/lib/freetype/builds/freetype.mk
Normal file
|
@ -0,0 +1,307 @@
|
|||
#
|
||||
# FreeType 2 library sub-Makefile
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002 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.
|
||||
|
||||
|
||||
# DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY
|
||||
# OTHER MAKEFILES.
|
||||
|
||||
|
||||
# The following variables (set by other Makefile components, in the
|
||||
# environment, or on the command line) are used:
|
||||
#
|
||||
# BUILD The architecture dependent directory,
|
||||
# e.g. `$(TOP_DIR)/builds/unix'.
|
||||
#
|
||||
# OBJ_DIR The directory in which object files are created.
|
||||
#
|
||||
# LIB_DIR The directory in which the library is created.
|
||||
#
|
||||
# INCLUDES A list of directories to be included additionally.
|
||||
# Usually empty.
|
||||
#
|
||||
# CFLAGS Compilation flags. This overrides the default settings
|
||||
# in the platform-specific configuration files.
|
||||
#
|
||||
# FTSYS_SRC If set, its value is used as the name of a replacement
|
||||
# file for `src/base/ftsystem.c'.
|
||||
#
|
||||
# FTDEBUG_SRC If set, its value is used as the name of a replacement
|
||||
# file for `src/base/ftdebug.c'. [For a normal build, this
|
||||
# file does nothing.]
|
||||
#
|
||||
# FT_MODULE_LIST The file which contains the list of modules for the
|
||||
# current build. Usually, this is automatically created by
|
||||
# `modules.mk'.
|
||||
#
|
||||
# BASE_OBJ_S
|
||||
# BASE_OBJ_M A list of base objects (for single object and multiple
|
||||
# object builds, respectively). Set up in
|
||||
# `src/base/rules.mk'.
|
||||
#
|
||||
# BASE_EXT_OBJ A list of base extension objects. Set up in
|
||||
# `src/base/rules.mk'.
|
||||
#
|
||||
# DRV_OBJ_S
|
||||
# DRV_OBJ_M A list of driver objects (for single object and multiple
|
||||
# object builds, respectively). Set up cumulatively in
|
||||
# `src/<driver>/rules.mk'.
|
||||
#
|
||||
# CLEAN
|
||||
# DISTCLEAN The sub-makefiles can append additional stuff to these two
|
||||
# variables which is to be removed for the `clean' resp.
|
||||
# `distclean' target.
|
||||
#
|
||||
# TOP_DIR, SEP,
|
||||
# LIBRARY, CC,
|
||||
# A, I, O, T Check `config.mk' for details.
|
||||
|
||||
|
||||
# The targets `objects' and `library' are defined at the end of this
|
||||
# Makefile after all other rules have been included.
|
||||
#
|
||||
.PHONY: single multi objects library
|
||||
|
||||
# default target -- build single objects and library
|
||||
#
|
||||
single: objects library
|
||||
|
||||
# `multi' target -- build multiple objects and library
|
||||
#
|
||||
multi: objects library
|
||||
|
||||
|
||||
# The FreeType source directory, usually `./src'.
|
||||
#
|
||||
SRC := $(TOP_DIR)$(SEP)src
|
||||
|
||||
|
||||
# The directory where the base layer components are placed, usually
|
||||
# `./src/base'.
|
||||
#
|
||||
BASE_DIR := $(SRC)$(SEP)base
|
||||
|
||||
# The build header file used to define all public header file names
|
||||
# as macro.
|
||||
#
|
||||
ifndef FT_BUILD_H
|
||||
FT_BUILD_H := $(TOP_DIR)$(SEP)include$(SEP)ft2build.h
|
||||
FTBUILD_CMD :=
|
||||
else
|
||||
FTBUILD_CMD = $(D)FT_BUILD_H=$(FT_BUILD_H)
|
||||
endif
|
||||
|
||||
# A few short-cuts in order to avoid typing $(SEP) all the time for the
|
||||
# directory separator.
|
||||
#
|
||||
# For example: $(SRC_) equals to `./src/' where `.' is $(TOP_DIR).
|
||||
#
|
||||
#
|
||||
SRC_ := $(SRC)$(SEP)
|
||||
BASE_ := $(BASE_DIR)$(SEP)
|
||||
OBJ_ := $(OBJ_DIR)$(SEP)
|
||||
LIB_ := $(LIB_DIR)$(SEP)
|
||||
PUBLIC_ := $(TOP_DIR)$(SEP)include$(SEP)freetype$(SEP)
|
||||
INTERNAL_ := $(PUBLIC_)internal$(SEP)
|
||||
CONFIG_ := $(PUBLIC_)config$(SEP)
|
||||
CACHE_ := $(PUBLIC_)cache$(SEP)
|
||||
|
||||
|
||||
# The final name of the library file.
|
||||
#
|
||||
PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
||||
|
||||
|
||||
# include paths
|
||||
#
|
||||
# IMPORTANT NOTE: The architecture-dependent directory must ALWAYS be placed
|
||||
# in front of the include list. Porters are then able to
|
||||
# put their own version of some of the FreeType components
|
||||
# in the `freetype/builds/<system>' directory, as these
|
||||
# files will override the default sources.
|
||||
#
|
||||
INCLUDES := $(OBJ_DIR) $(BUILD) $(TOP_DIR)$(SEP)include
|
||||
|
||||
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
||||
|
||||
|
||||
# C flags used for the compilation of an object file. This must include at
|
||||
# least the paths for the `base' and `builds/<system>' directories;
|
||||
# debug/optimization/warning flags + ansi compliance if needed.
|
||||
#
|
||||
# $(INCLUDE_FLAGS) should come before $(CFLAGS) to avoid problems with
|
||||
# old FreeType versions.
|
||||
#
|
||||
FT_CFLAGS = $(INCLUDE_FLAGS) $(CFLAGS)
|
||||
FT_CC = $(CC) $(FT_CFLAGS)
|
||||
FT_COMPILE = $(CC) $(ANSIFLAGS) $(FT_CFLAGS)
|
||||
|
||||
|
||||
# Include the `modules' rules file.
|
||||
#
|
||||
include $(TOP_DIR)/builds/modules.mk
|
||||
|
||||
|
||||
# Initialize the list of objects.
|
||||
#
|
||||
OBJECTS_LIST :=
|
||||
|
||||
|
||||
# Define $(PUBLIC_H) as the list of all public header files located in
|
||||
# `$(TOP_DIR)/include/freetype'. $(BASE_H), $(CACHE_H), and $(CONFIG_H) are
|
||||
# defined similarly.
|
||||
#
|
||||
# This is used to simplify the dependency rules -- if one of these files
|
||||
# changes, the whole library is recompiled.
|
||||
#
|
||||
PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
|
||||
BASE_H := $(wildcard $(INTERNAL_)*.h)
|
||||
CONFIG_H := $(wildcard $(CONFIG_)*.h) \
|
||||
$(wildcard $(BUILD)$(SEP)freetype$(SEP)config$(SEP)*.h)
|
||||
CACHE_H := $(wildcard $(CACHE_)*.h)
|
||||
|
||||
FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H)
|
||||
|
||||
|
||||
# ftsystem component
|
||||
#
|
||||
ifndef FTSYS_SRC
|
||||
FTSYS_SRC = $(BASE_)ftsystem.c
|
||||
endif
|
||||
|
||||
FTSYS_OBJ = $(OBJ_)ftsystem.$O
|
||||
|
||||
OBJECTS_LIST += $(FTSYS_OBJ)
|
||||
|
||||
$(FTSYS_OBJ): $(FTSYS_SRC) $(FREETYPE_H)
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
# ftdebug component
|
||||
#
|
||||
ifndef FTDEBUG_SRC
|
||||
FTDEBUG_SRC = $(BASE_)ftdebug.c
|
||||
endif
|
||||
|
||||
FTDEBUG_OBJ = $(OBJ_)ftdebug.$O
|
||||
|
||||
OBJECTS_LIST += $(FTDEBUG_OBJ)
|
||||
|
||||
$(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(FREETYPE_H)
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
# Include all rule files from FreeType components.
|
||||
#
|
||||
include $(wildcard $(SRC)/*/rules.mk)
|
||||
|
||||
|
||||
# ftinit component
|
||||
#
|
||||
# The C source `ftinit.c' contains the FreeType initialization routines.
|
||||
# It is able to automatically register one or more drivers when the API
|
||||
# function FT_Init_FreeType() is called.
|
||||
#
|
||||
# The set of initial drivers is determined by the driver Makefiles
|
||||
# includes above. Each driver Makefile updates the FTINIT_xxx lists
|
||||
# which contain additional include paths and macros used to compile the
|
||||
# single `ftinit.c' source.
|
||||
#
|
||||
FTINIT_SRC := $(BASE_)ftinit.c
|
||||
FTINIT_OBJ := $(OBJ_)ftinit.$O
|
||||
|
||||
OBJECTS_LIST += $(FTINIT_OBJ)
|
||||
|
||||
$(FTINIT_OBJ): $(FTINIT_SRC) $(FREETYPE_H) $(FT_MODULE_LIST)
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
# All FreeType library objects
|
||||
#
|
||||
# By default, we include the base layer extensions. These could be
|
||||
# omitted on builds which do not want them.
|
||||
#
|
||||
OBJ_M = $(BASE_OBJ_M) $(BASE_EXT_OBJ) $(DRV_OBJS_M)
|
||||
OBJ_S = $(BASE_OBJ_S) $(BASE_EXT_OBJ) $(DRV_OBJS_S)
|
||||
|
||||
|
||||
# The target `multi' on the Make command line indicates that we want to
|
||||
# compile each source file independently.
|
||||
#
|
||||
# Otherwise, each module/driver is compiled in a single object file through
|
||||
# source file inclusion (see `src/base/ftbase.c' or
|
||||
# `src/truetype/truetype.c' for examples).
|
||||
#
|
||||
BASE_OBJECTS := $(OBJECTS_LIST)
|
||||
|
||||
ifneq ($(findstring multi,$(MAKECMDGOALS)),)
|
||||
OBJECTS_LIST += $(OBJ_M)
|
||||
else
|
||||
OBJECTS_LIST += $(OBJ_S)
|
||||
endif
|
||||
|
||||
objects: $(OBJECTS_LIST)
|
||||
|
||||
library: $(PROJECT_LIBRARY)
|
||||
|
||||
.c.$O:
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
.PHONY: clean_project_std distclean_project_std
|
||||
|
||||
# Standard cleaning and distclean rules. These are not accepted
|
||||
# on all systems though.
|
||||
#
|
||||
clean_project_std:
|
||||
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S) $(CLEAN)
|
||||
|
||||
distclean_project_std: clean_project_std
|
||||
-$(DELETE) $(PROJECT_LIBRARY)
|
||||
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
||||
|
||||
|
||||
.PHONY: clean_project_dos distclean_project_dos
|
||||
|
||||
# The Dos command shell does not support very long list of arguments, so
|
||||
# we are stuck with wildcards.
|
||||
#
|
||||
# Don't break the command lines with \; this prevents the "del" command from
|
||||
# working correctly on Win9x.
|
||||
#
|
||||
clean_project_dos:
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) $(NO_OUTPUT)
|
||||
|
||||
distclean_project_dos: clean_project_dos
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(DISTCLEAN) $(NO_OUTPUT)
|
||||
|
||||
|
||||
.PHONY: remove_config_mk
|
||||
|
||||
# Remove configuration file (used for distclean).
|
||||
#
|
||||
remove_config_mk:
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK)) $(NO_OUTPUT)
|
||||
|
||||
|
||||
.PHONY: clean distclean
|
||||
|
||||
# The `config.mk' file must define `clean_freetype' and
|
||||
# `distclean_freetype'. Implementations may use to relay these to either
|
||||
# the `std' or `dos' versions from above, or simply provide their own
|
||||
# implementation.
|
||||
#
|
||||
clean: clean_project
|
||||
distclean: distclean_project remove_config_mk
|
||||
|
||||
# EOF
|
41
reactos/lib/freetype/builds/link_dos.mk
Normal file
41
reactos/lib/freetype/builds/link_dos.mk
Normal file
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# Link instructions for Dos-like systems (Dos, Win32, OS/2)
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifdef BUILD_PROJECT
|
||||
|
||||
.PHONY: clean_project distclean_project
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP_DIR)/builds/$(PROJECT).mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_project: clean_project_dos
|
||||
distclean_project: distclean_project_dos
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# this is compiler-specific
|
||||
#
|
||||
$(PROJECT_LIBRARY): $(OBJECTS_LIST)
|
||||
ifdef CLEAN_LIBRARY
|
||||
-$(CLEAN_LIBRARY) $(NO_OUTPUT)
|
||||
endif
|
||||
$(LINK_LIBRARY)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
41
reactos/lib/freetype/builds/link_std.mk
Normal file
41
reactos/lib/freetype/builds/link_std.mk
Normal file
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# Link instructions for standard systems
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifdef BUILD_PROJECT
|
||||
|
||||
.PHONY: clean_project distclean_project
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP_DIR)/builds/$(PROJECT).mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_project: clean_project_std
|
||||
distclean_project: distclean_project_std
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# this is compiler-specific
|
||||
#
|
||||
$(PROJECT_LIBRARY): $(OBJECTS_LIST)
|
||||
ifdef CLEAN_LIBRARY
|
||||
-$(CLEAN_LIBRARY) $(NO_OUTPUT)
|
||||
endif
|
||||
$(LINK_LIBRARY)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
14
reactos/lib/freetype/builds/mac/README
Normal file
14
reactos/lib/freetype/builds/mac/README
Normal file
|
@ -0,0 +1,14 @@
|
|||
This folder contains
|
||||
|
||||
. a Makefile for Apple MPW build environment (currently PPC only)
|
||||
|
||||
. supporting code and CodeWarrior Pro 7 project files to build the
|
||||
FreeType library.
|
||||
|
||||
Notes:
|
||||
The library will be built as a static lib in the obj/ folder.
|
||||
|
||||
Current maintainer: Leonard Rosenthol, <leonardr@lazerware.com>
|
||||
Originally prepared by Just van Rossum, <just@letterror.com>
|
||||
|
||||
This directory is now actively maintained as part of the FreeType Project.
|
3
reactos/lib/freetype/builds/mac/freetype.make
Normal file
3
reactos/lib/freetype/builds/mac/freetype.make
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Makefile for Apple MPW build environment (currently PPC only)
|
||||
|
||||
MAKEFILE = Makefile
|
BIN
reactos/lib/freetype/builds/mac/ftlib.prj
Normal file
BIN
reactos/lib/freetype/builds/mac/ftlib.prj
Normal file
Binary file not shown.
76
reactos/lib/freetype/builds/modules.mk
Normal file
76
reactos/lib/freetype/builds/modules.mk
Normal file
|
@ -0,0 +1,76 @@
|
|||
#
|
||||
# FreeType 2 modules sub-Makefile
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY
|
||||
# OTHER MAKEFILES.
|
||||
|
||||
|
||||
# This file is in charge of handling the generation of the modules list
|
||||
# file.
|
||||
|
||||
.PHONY: make_module_list clean_module_list
|
||||
|
||||
# MODULE_LIST, as its name suggests, indicates where the modules list
|
||||
# resides. For now, it is in `include/freetype/config/ftmodule.h'.
|
||||
#
|
||||
ifndef MODULE_LIST
|
||||
MODULE_LIST := $(TOP_DIR)$(SEP)include$(SEP)$(PROJECT)$(SEP)config$(SEP)ftmodule.h
|
||||
endif
|
||||
|
||||
# To build the modules list, we invoke the `make_module_list' target.
|
||||
#
|
||||
# This rule is commented out by default since FreeType comes already with
|
||||
# an ftmodule.h file.
|
||||
#
|
||||
#$(MODULE_LIST): make_module_list
|
||||
|
||||
|
||||
ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
|
||||
OPEN_MODULE := @echo$(space)
|
||||
CLOSE_MODULE := >> $(subst $(SEP),$(HOSTSEP),$(MODULE_LIST))
|
||||
REMOVE_MODULE := @-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(MODULE_LIST))
|
||||
else
|
||||
OPEN_MODULE := @echo "
|
||||
CLOSE_MODULE := " >> $(MODULE_LIST)
|
||||
REMOVE_MODULE := @-$(DELETE) $(MODULE_LIST)
|
||||
endif
|
||||
|
||||
|
||||
# Before the modules list file can be generated, we must remove the file in
|
||||
# order to `clean' the list.
|
||||
#
|
||||
clean_module_list:
|
||||
$(REMOVE_MODULE)
|
||||
@-echo Regenerating the modules list in $(MODULE_LIST)...
|
||||
|
||||
make_module_list: clean_module_list
|
||||
@echo done.
|
||||
|
||||
# $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver
|
||||
# in the `module.mk' rules file.
|
||||
#
|
||||
OPEN_DRIVER := $(OPEN_MODULE)FT_USE_MODULE(
|
||||
CLOSE_DRIVER := )$(CLOSE_MODULE)
|
||||
|
||||
ECHO_DRIVER := @echo "* module:$(space)
|
||||
ECHO_DRIVER_DESC := (
|
||||
ECHO_DRIVER_DONE := )"
|
||||
|
||||
# Each `module.mk' in the `src' sub-dirs is used to add one rule to the
|
||||
# target `make_module_list'.
|
||||
#
|
||||
include $(wildcard $(TOP_DIR)/src/*/module.mk)
|
||||
|
||||
# EOF
|
1
reactos/lib/freetype/builds/newline
Normal file
1
reactos/lib/freetype/builds/newline
Normal file
|
@ -0,0 +1 @@
|
|||
|
75
reactos/lib/freetype/builds/os2/detect.mk
Normal file
75
reactos/lib/freetype/builds/os2/detect.mk
Normal file
|
@ -0,0 +1,75 @@
|
|||
#
|
||||
# FreeType 2 configuration file to detect an OS/2 host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
ifdef OS2_SHELL
|
||||
|
||||
PLATFORM := os2
|
||||
|
||||
endif # test OS2_SHELL
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),os2)
|
||||
|
||||
COPY := copy
|
||||
DELETE := del
|
||||
|
||||
# gcc-emx by default
|
||||
CONFIG_FILE := os2-gcc.mk
|
||||
SEP := /
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := os2-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
visualage: setup
|
||||
.PHONY: visualage
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := os2-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C++ 32-bit
|
||||
CONFIG_FILE := os2-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
borlandc: setup
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := os2-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel: setup
|
||||
.PHONY: devel
|
||||
endif
|
||||
|
||||
setup: dos_setup
|
||||
|
||||
endif # test PLATFORM os2
|
||||
|
||||
# EOF
|
58
reactos/lib/freetype/builds/os2/os2-def.mk
Normal file
58
reactos/lib/freetype/builds/os2/os2-def.mk
Normal file
|
@ -0,0 +1,58 @@
|
|||
#
|
||||
# FreeType 2 OS/2 specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
DELETE := del
|
||||
HOSTSEP := $(strip \ )
|
||||
BUILD := $(TOP_DIR)$(SEP)builds$(SEP)os2
|
||||
PLATFORM := os2
|
||||
|
||||
# except for GCC+emx on OS/2
|
||||
ifndef SEP
|
||||
SEP := $(HOSTSEP)
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f %TOP_DIR%/Makefile setup [options]
|
||||
# make -f %TOP_DIR%/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)$(SEP)objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := $(PROJECT)
|
||||
|
||||
|
||||
# The NO_OUTPUT macro is used to ignore the output of commands.
|
||||
#
|
||||
NO_OUTPUT = 2> nul
|
||||
|
||||
# EOF
|
33
reactos/lib/freetype/builds/os2/os2-dev.mk
Normal file
33
reactos/lib/freetype/builds/os2/os2-dev.mk
Normal file
|
@ -0,0 +1,33 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for OS/2 + GCC
|
||||
#
|
||||
# Development version without optimizations.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
SEP := /
|
||||
|
||||
include $(TOP_DIR)/builds/os2/os2-def.mk
|
||||
BUILD := $(TOP_DIR)/builds/devel
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
# EOF
|
27
reactos/lib/freetype/builds/os2/os2-gcc.mk
Normal file
27
reactos/lib/freetype/builds/os2/os2-gcc.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for the OS/2 + gcc
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
|
||||
# include OS/2-specific definitions
|
||||
include $(TOP_DIR)/builds/os2/os2-def.mk
|
||||
|
||||
# include gcc-specific definitions
|
||||
include $(TOP_DIR)/builds/compiler/gcc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
135
reactos/lib/freetype/builds/toplevel.mk
Normal file
135
reactos/lib/freetype/builds/toplevel.mk
Normal file
|
@ -0,0 +1,135 @@
|
|||
#
|
||||
# FreeType build system -- top-level sub-Makefile
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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 is designed for GNU Make, do not use it with another Make tool!
|
||||
#
|
||||
# It works as follows:
|
||||
#
|
||||
# - When invoked for the first time, this Makefile will include the rules
|
||||
# found in `PROJECT/builds/detect.mk'. They are in charge of detecting
|
||||
# the current platform.
|
||||
#
|
||||
# A summary of the detection will be displayed, and the file `config.mk'
|
||||
# will be created in the current directory.
|
||||
#
|
||||
# - When invoked later, this Makefile will include the rules found in
|
||||
# `config.mk'. This sub-Makefile will define some system-specific
|
||||
# variables (like compiler, compilation flags, object suffix, etc.), then
|
||||
# include the rules found in `PROJECT/builds/PROJECT.mk', used to build
|
||||
# the library.
|
||||
#
|
||||
# See the comments in `builds/detect.mk' and `builds/PROJECT.mk' for more
|
||||
# details on host platform detection and library builds.
|
||||
|
||||
|
||||
.PHONY: all setup distclean modules
|
||||
|
||||
# The `space' variable is used to avoid trailing spaces in defining the
|
||||
# `T' variable later.
|
||||
#
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
|
||||
|
||||
ifndef CONFIG_MK
|
||||
CONFIG_MK := config.mk
|
||||
endif
|
||||
|
||||
# If no configuration sub-makefile is present, or if `setup' is the target
|
||||
# to be built, run the auto-detection rules to figure out which
|
||||
# configuration rules file to use.
|
||||
#
|
||||
# Note that the configuration file is put in the current directory, which is
|
||||
# not necessarily $(TOP_DIR).
|
||||
|
||||
# If `config.mk' is not present, set `check_platform'.
|
||||
#
|
||||
ifeq ($(wildcard $(CONFIG_MK)),)
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
# If `setup' is one of the targets requested, set `check_platform'.
|
||||
#
|
||||
ifneq ($(findstring setup,$(MAKECMDGOALS)),)
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
# Include the automatic host platform detection rules when we need to
|
||||
# check the platform.
|
||||
#
|
||||
ifdef check_platform
|
||||
|
||||
# This is the first rule `make' sees.
|
||||
#
|
||||
all: setup
|
||||
|
||||
ifdef USE_MODULES
|
||||
# If the module list $(MODULE_LIST) file is not present, generate it.
|
||||
#
|
||||
#modules: make_module_list setup
|
||||
endif
|
||||
|
||||
include $(TOP_DIR)/builds/detect.mk
|
||||
|
||||
ifdef USE_MODULES
|
||||
include $(TOP_DIR)/builds/modules.mk
|
||||
|
||||
ifeq ($(wildcard $(MODULE_LIST)),)
|
||||
setup: make_module_list
|
||||
endif
|
||||
endif
|
||||
|
||||
# This rule makes sense for Unix only to remove files created by a run
|
||||
# of the configure script which hasn't been successful (so that no
|
||||
# `config.mk' has been created). It uses the built-in $(RM) command of
|
||||
# GNU make. Similarly, `nul' is created if e.g. `make setup win32' has
|
||||
# been erroneously used.
|
||||
#
|
||||
# note: This test is duplicated in "builds/toplevel.mk".
|
||||
#
|
||||
is_unix := $(strip $(wildcard /sbin/init) $(wildcard /usr/sbin/init) $(wildcard /hurd/auth))
|
||||
ifneq ($(is_unix),)
|
||||
|
||||
distclean:
|
||||
$(RM) builds/unix/config.cache
|
||||
$(RM) builds/unix/config.log
|
||||
$(RM) builds/unix/config.status
|
||||
$(RM) builds/unix/unix-def.mk
|
||||
$(RM) builds/unix/unix-cc.mk
|
||||
$(RM) nul
|
||||
|
||||
endif # test is_unix
|
||||
|
||||
# IMPORTANT:
|
||||
#
|
||||
# `setup' must be defined by the host platform detection rules to create
|
||||
# the `config.mk' file in the current directory.
|
||||
|
||||
else
|
||||
|
||||
# A configuration sub-Makefile is present -- simply run it.
|
||||
#
|
||||
all: single
|
||||
|
||||
ifdef USE_MODULES
|
||||
modules: make_module_list
|
||||
endif
|
||||
|
||||
BUILD_PROJECT := yes
|
||||
include $(CONFIG_MK)
|
||||
|
||||
endif # test check_platform
|
||||
|
||||
# EOF
|
8
reactos/lib/freetype/builds/unix/.cvsignore
Normal file
8
reactos/lib/freetype/builds/unix/.cvsignore
Normal file
|
@ -0,0 +1,8 @@
|
|||
unix-def.mk
|
||||
unix-cc.mk
|
||||
config.status
|
||||
config.cache
|
||||
config.log
|
||||
libtool
|
||||
ftconfig.h
|
||||
freetype-config
|
3601
reactos/lib/freetype/builds/unix/aclocal.m4
vendored
Normal file
3601
reactos/lib/freetype/builds/unix/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
1363
reactos/lib/freetype/builds/unix/config.guess
vendored
Normal file
1363
reactos/lib/freetype/builds/unix/config.guess
vendored
Normal file
File diff suppressed because it is too large
Load diff
1470
reactos/lib/freetype/builds/unix/config.sub
vendored
Normal file
1470
reactos/lib/freetype/builds/unix/config.sub
vendored
Normal file
File diff suppressed because it is too large
Load diff
9706
reactos/lib/freetype/builds/unix/configure
vendored
Normal file
9706
reactos/lib/freetype/builds/unix/configure
vendored
Normal file
File diff suppressed because it is too large
Load diff
97
reactos/lib/freetype/builds/unix/configure.ac
Normal file
97
reactos/lib/freetype/builds/unix/configure.ac
Normal file
|
@ -0,0 +1,97 @@
|
|||
dnl This file is part of the FreeType project.
|
||||
dnl
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR([ftconfig.in])
|
||||
|
||||
dnl configuration file -- stay in 8.3 limit
|
||||
AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
|
||||
|
||||
dnl Don't forget to update VERSION.DLL!
|
||||
version_info='9:2:3'
|
||||
AC_SUBST(version_info)
|
||||
ft_version=`echo $version_info | tr : .`
|
||||
AC_SUBST(ft_version)
|
||||
|
||||
dnl checks for system type
|
||||
AC_CANONICAL_TARGET([])
|
||||
|
||||
dnl checks for programs
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
|
||||
dnl get Compiler flags right.
|
||||
if test "x$CC" = xgcc; then
|
||||
XX_CFLAGS="-Wall"
|
||||
XX_ANSIFLAGS="-pedantic -ansi"
|
||||
else
|
||||
case "$host" in
|
||||
*-dec-osf*)
|
||||
CFLAGS=
|
||||
XX_CFLAGS="-std1 -g3"
|
||||
XX_ANSIFLAGS=
|
||||
;;
|
||||
*)
|
||||
XX_CFLAGS=
|
||||
XX_ANSIFLAGS=
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST(XX_CFLAGS)
|
||||
AC_SUBST(XX_ANSIFLAGS)
|
||||
|
||||
AC_CHECK_PROG(RMF, rm, rm -f)
|
||||
AC_CHECK_PROG(RMDIR, rmdir, rmdir)
|
||||
|
||||
dnl Since this file will be finally moved to another directory we make
|
||||
dnl the path of the install script absolute. This small code snippet has
|
||||
dnl been taken from automake's `ylwrap' script.
|
||||
AC_PROG_INSTALL
|
||||
case "$INSTALL" in
|
||||
/*)
|
||||
;;
|
||||
*/*)
|
||||
INSTALL="`pwd`/$INSTALL" ;;
|
||||
esac
|
||||
|
||||
dnl checks for header files
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS(fcntl.h unistd.h)
|
||||
|
||||
dnl checks for typedefs, structures, and compiler characteristics
|
||||
AC_C_CONST
|
||||
AC_CHECK_SIZEOF(int)
|
||||
AC_CHECK_SIZEOF(long)
|
||||
|
||||
dnl checks for library functions
|
||||
|
||||
dnl Here we check whether we can use our mmap file component.
|
||||
AC_FUNC_MMAP
|
||||
if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
|
||||
FTSYS_SRC='$(BASE_)ftsystem.c'
|
||||
else
|
||||
FTSYS_SRC='$(BUILD)/ftsystem.c'
|
||||
|
||||
FT_MUNMAP_DECL
|
||||
FT_MUNMAP_PARAM
|
||||
fi
|
||||
AC_SUBST(FTSYS_SRC)
|
||||
|
||||
AC_CHECK_FUNCS(memcpy memmove)
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
dnl create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
|
||||
dnl and 'builds/unix/unix-cc.mk' that will be used by the build system
|
||||
dnl
|
||||
AC_CONFIG_FILES([unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config])
|
||||
|
||||
dnl re-generate the Jamfile to use libtool now
|
||||
dnl
|
||||
dnl AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
dnl end of configure.ac
|
87
reactos/lib/freetype/builds/unix/detect.mk
Normal file
87
reactos/lib/freetype/builds/unix/detect.mk
Normal file
|
@ -0,0 +1,87 @@
|
|||
#
|
||||
# FreeType 2 configuration file to detect a UNIX host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002 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.
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
# Note: this test is duplicated in "builds/toplevel.mk".
|
||||
#
|
||||
is_unix := $(strip $(wildcard /sbin/init) $(wildcard /usr/sbin/init) $(wildcard /hurd/auth))
|
||||
ifneq ($(is_unix),)
|
||||
|
||||
PLATFORM := unix
|
||||
|
||||
endif # test is_unix
|
||||
endif # test PLATFORM ansi
|
||||
|
||||
ifeq ($(PLATFORM),unix)
|
||||
COPY := cp
|
||||
DELETE := rm -f
|
||||
|
||||
# If `devel' is the requested target, we use a special configuration
|
||||
# file named `unix-dev.mk'. It disables optimization and libtool.
|
||||
#
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := unix-dev.mk
|
||||
CC := gcc
|
||||
devel: setup
|
||||
.PHONY: devel
|
||||
else
|
||||
|
||||
# If `lcc' is the requested target, we use a special configuration
|
||||
# file named `unix-lcc.mk'. It disables libtool for LCC.
|
||||
#
|
||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := unix-lcc.mk
|
||||
CC := lcc
|
||||
lcc: setup
|
||||
.PHONY: lcc
|
||||
else
|
||||
|
||||
# If a Unix platform is detected, the configure script is called and
|
||||
# `unix-def.mk' together with `unix-cc.mk' is created.
|
||||
#
|
||||
# Arguments to `configure' should be in the CFG variable. Example:
|
||||
#
|
||||
# make CFG="--prefix=/usr --disable-static"
|
||||
#
|
||||
# If you need to set CFLAGS or LDFLAGS, do it here also.
|
||||
#
|
||||
# Feel free to add support for other platform specific compilers in
|
||||
# this directory (e.g. solaris.mk + changes here to detect the
|
||||
# platform).
|
||||
#
|
||||
CONFIG_FILE := unix.mk
|
||||
setup: unix-def.mk
|
||||
unix: setup
|
||||
.PHONY: unix
|
||||
endif
|
||||
endif
|
||||
|
||||
setup: std_setup
|
||||
|
||||
have_mk := $(strip $(wildcard $(OBJ_DIR)/Makefile))
|
||||
ifneq ($(have_mk),)
|
||||
# we are building FT2 not in the src tree
|
||||
unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in
|
||||
$(TOP_DIR)/builds/unix/configure $(CFG)
|
||||
else
|
||||
unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in
|
||||
cd builds/unix; ./configure $(CFG)
|
||||
endif
|
||||
|
||||
endif # test PLATFORM unix
|
||||
|
||||
# EOF
|
104
reactos/lib/freetype/builds/unix/freetype-config.in
Normal file
104
reactos/lib/freetype/builds/unix/freetype-config.in
Normal file
|
@ -0,0 +1,104 @@
|
|||
#! /bin/sh
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: freetype-config [OPTIONS] [LIBRARIES]
|
||||
Options:
|
||||
[--prefix[=DIR]]
|
||||
[--exec-prefix[=DIR]]
|
||||
[--version]
|
||||
[--libs]
|
||||
[--libtool]
|
||||
[--cflags]
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
if test $# -eq 0 ; then
|
||||
usage 1 1>&2
|
||||
fi
|
||||
|
||||
while test $# -gt 0 ; do
|
||||
case "$1" in
|
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) optarg= ;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
local_prefix=yes
|
||||
;;
|
||||
--prefix)
|
||||
echo_prefix=yes
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
exec_prefix_set=yes
|
||||
local_prefix=yes
|
||||
;;
|
||||
--exec-prefix)
|
||||
echo_exec_prefix=yes
|
||||
;;
|
||||
--version)
|
||||
echo @ft_version@
|
||||
exit 0
|
||||
;;
|
||||
--cflags)
|
||||
echo_cflags=yes
|
||||
;;
|
||||
--libs)
|
||||
echo_libs=yes
|
||||
;;
|
||||
--libtool)
|
||||
echo_libtool=yes
|
||||
;;
|
||||
*)
|
||||
usage 1 1>&2
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test "$local_prefix" = "yes" ; then
|
||||
if test "$exec_prefix_set" != "yes" ; then
|
||||
exec_prefix=$prefix
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$echo_prefix" = "yes" ; then
|
||||
echo $prefix
|
||||
fi
|
||||
|
||||
if test "$echo_exec_prefix" = "yes" ; then
|
||||
echo $exec_prefix
|
||||
fi
|
||||
|
||||
if test "$echo_cflags" = "yes" ; then
|
||||
cflags="-I@includedir@/freetype2"
|
||||
if test "@includedir@" != "/usr/include" ; then
|
||||
echo -I@includedir@ $cflags
|
||||
else
|
||||
echo $cflags
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes" ; then
|
||||
libs="-lfreetype"
|
||||
if test "@libdir@" != "/usr/lib" ; then
|
||||
echo -L@libdir@ $libs
|
||||
else
|
||||
echo $libs
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$echo_libtool" = "yes" ; then
|
||||
convlib="libfreetype.la"
|
||||
echo @libdir@/$convlib
|
||||
fi
|
||||
|
||||
# EOF
|
143
reactos/lib/freetype/builds/unix/freetype2.m4
Normal file
143
reactos/lib/freetype/builds/unix/freetype2.m4
Normal file
|
@ -0,0 +1,143 @@
|
|||
# Configure paths for FreeType2
|
||||
# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
|
||||
|
||||
dnl AC_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
|
||||
dnl
|
||||
AC_DEFUN(AC_CHECK_FT2,
|
||||
[dnl
|
||||
dnl Get the cflags and libraries from the freetype-config script
|
||||
dnl
|
||||
AC_ARG_WITH(ft-prefix,
|
||||
[ --with-ft-prefix=PREFIX
|
||||
Prefix where FreeType is installed (optional)],
|
||||
ft_config_prefix="$withval", ft_config_prefix="")
|
||||
AC_ARG_WITH(ft-exec-prefix,
|
||||
[ --with-ft-exec-prefix=PREFIX
|
||||
Exec prefix where FreeType is installed (optional)],
|
||||
ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
|
||||
AC_ARG_ENABLE(freetypetest,
|
||||
[ --disable-freetypetest Do not try to compile and run
|
||||
a test FreeType program],
|
||||
[], enable_fttest=yes)
|
||||
|
||||
if test x$ft_config_exec_prefix != x ; then
|
||||
ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
|
||||
if test x${FT2_CONFIG+set} != xset ; then
|
||||
FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
|
||||
fi
|
||||
fi
|
||||
if test x$ft_config_prefix != x ; then
|
||||
ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
|
||||
if test x${FT2_CONFIG+set} != xset ; then
|
||||
FT2_CONFIG=$ft_config_prefix/bin/freetype-config
|
||||
fi
|
||||
fi
|
||||
AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
|
||||
|
||||
min_ft_version=ifelse([$1], ,6.1.0,$1)
|
||||
AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
|
||||
no_ft=""
|
||||
if test "$FT2_CONFIG" = "no" ; then
|
||||
no_ft=yes
|
||||
else
|
||||
FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
|
||||
FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
|
||||
ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
ft_min_major_version=`echo $min_ft_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
ft_min_minor_version=`echo $min_ft_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
ft_min_micro_version=`echo $min_ft_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test x$enable_fttest = xyes ; then
|
||||
ft_config_is_lt=""
|
||||
if test $ft_config_major_version -lt $ft_min_major_version ; then
|
||||
ft_config_is_lt=yes
|
||||
else
|
||||
if test $ft_config_major_version -eq $ft_min_major_version ; then
|
||||
if test $ft_config_minor_version -lt $ft_min_minor_version ; then
|
||||
ft_config_is_lt=yes
|
||||
else
|
||||
if test $ft_config_minor_version -eq $ft_min_minor_version ; then
|
||||
if test $ft_config_micro_version -lt $ft_min_micro_version ; then
|
||||
ft_config_is_lt=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test x$ft_config_is_lt = xyes ; then
|
||||
no_ft=yes
|
||||
else
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $FT2_CFLAGS"
|
||||
LIBS="$FT2_LIBS $LIBS"
|
||||
dnl
|
||||
dnl Sanity checks for the results of freetype-config to some extent
|
||||
dnl
|
||||
AC_TRY_RUN([
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
FT_Library library;
|
||||
FT_Error error;
|
||||
|
||||
error = FT_Init_FreeType(&library);
|
||||
|
||||
if (error)
|
||||
return 1;
|
||||
else
|
||||
{
|
||||
FT_Done_FreeType(library);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi # test $ft_config_version -lt $ft_min_version
|
||||
fi # test x$enable_fttest = xyes
|
||||
fi # test "$FT2_CONFIG" = "no"
|
||||
if test x$no_ft = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$FT2_CONFIG" = "no" ; then
|
||||
echo "*** The freetype-config script installed by FreeType 2 could not be found."
|
||||
echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the FT2_CONFIG environment variable to the"
|
||||
echo "*** full path to freetype-config."
|
||||
else
|
||||
if test x$ft_config_is_lt = xyes ; then
|
||||
echo "*** Your installed version of the FreeType 2 library is too old."
|
||||
echo "*** If you have different versions of FreeType 2, make sure that"
|
||||
echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix"
|
||||
echo "*** are used, or set the FT2_CONFIG environment variable to the"
|
||||
echo "*** full path to freetype-config."
|
||||
else
|
||||
echo "*** The FreeType test program failed to run. If your system uses"
|
||||
echo "*** shared libraries and they are installed outside the normal"
|
||||
echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
|
||||
echo "*** (or whatever is appropiate for your system) is correctly set."
|
||||
fi
|
||||
fi
|
||||
FT2_CFLAGS=""
|
||||
FT2_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(FT2_CFLAGS)
|
||||
AC_SUBST(FT2_LIBS)
|
||||
])
|
31
reactos/lib/freetype/builds/unix/ft-munmap.m4
Normal file
31
reactos/lib/freetype/builds/unix/ft-munmap.m4
Normal file
|
@ -0,0 +1,31 @@
|
|||
## FreeType specific autoconf tests
|
||||
|
||||
# serial 1 FT_MUNMAP_DECL
|
||||
|
||||
AC_DEFUN(FT_MUNMAP_DECL,
|
||||
[AC_MSG_CHECKING([whether munmap must be declared])
|
||||
AC_CACHE_VAL(ft_cv_munmap_decl,
|
||||
[AC_TRY_COMPILE([
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <sys/mman.h>],
|
||||
[char *(*pfn) = (char *(*))munmap],
|
||||
ft_cv_munmap_decl=no,
|
||||
ft_cv_munmap_decl=yes)])
|
||||
AC_MSG_RESULT($ft_cv_munmap_decl)
|
||||
if test $ft_cv_munmap_decl = yes; then
|
||||
AC_DEFINE(NEED_MUNMAP_DECL,,
|
||||
[Define to 1 if munmap() is not defined in <sys/mman.h>])
|
||||
fi])
|
||||
|
||||
AC_DEFUN(FT_MUNMAP_PARAM,
|
||||
[AC_MSG_CHECKING([for munmap's first parameter type])
|
||||
AC_TRY_COMPILE([
|
||||
#include <unistd.h>
|
||||
#include <sys/mman.h>
|
||||
int munmap(void *, size_t);],,
|
||||
AC_MSG_RESULT([void *]);AC_DEFINE(MUNMAP_USES_VOIDP,,
|
||||
[Define to 1 if the first argument of munmap is of type void *]),
|
||||
AC_MSG_RESULT([char *]))
|
||||
])
|
60
reactos/lib/freetype/builds/unix/ft2unix.h
Normal file
60
reactos/lib/freetype/builds/unix/ft2unix.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ft2build.h */
|
||||
/* */
|
||||
/* Build macros of the FreeType 2 library. */
|
||||
/* */
|
||||
/* Copyright 1996-2001 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 is a Unix-specific version of <ft2build.h> that should be used */
|
||||
/* exclusively *after* installation of the library. */
|
||||
/* */
|
||||
/* It assumes that "/usr/local/include/freetype2" (or wathever is */
|
||||
/* returned by the "freetype-config --cflags" command) is in your */
|
||||
/* compilation include path. */
|
||||
/* */
|
||||
/* We don't need to do anything special in this release. However, for */
|
||||
/* FreeType 2.1, the following installation changes will be performed: */
|
||||
/* */
|
||||
/* - The contents of "freetype-2.1/include/freetype" will be installed */
|
||||
/* to "/usr/local/include/freetype2" instead of */
|
||||
/* "/usr/local/include/freetype2/freetype". */
|
||||
/* */
|
||||
/* - This file will #include <freetype2/config/ftheader.h>, instead */
|
||||
/* of <freetype/config/ftheader.h>. */
|
||||
/* */
|
||||
/* - The contents of "ftheader.h" will be processed with `sed' to */
|
||||
/* replace all "<freetype/xxx>" with "<freetype2/xxx>". */
|
||||
/* */
|
||||
/* - Adding "/usr/local/include/freetype2" to your compilation include */
|
||||
/* path will not be necessary anymore. The command */
|
||||
/* "freetype-config --cflags" will return an empty string. */
|
||||
/* */
|
||||
/* - Client applications which adhere to the new inclusion scheme */
|
||||
/* WILL NOT NEED TO BE MODIFIED to compile with FT 2.1! */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#ifndef __FT2_BUILD_UNIX_H__
|
||||
#define __FT2_BUILD_UNIX_H__
|
||||
|
||||
/* "/usr/local/include/freetype2" must be in your current inclusion path */
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2_BUILD_UNIX_H__ */
|
||||
|
||||
|
||||
/* END */
|
261
reactos/lib/freetype/builds/unix/ftconfig.in
Normal file
261
reactos/lib/freetype/builds/unix/ftconfig.in
Normal file
|
@ -0,0 +1,261 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftconfig.in */
|
||||
/* */
|
||||
/* UNIX-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2000, 2002 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 header file contains a number of macro definitions that are used */
|
||||
/* by the rest of the engine. Most of the macros here are automatically */
|
||||
/* determined at compile time, and you should not need to change it to */
|
||||
/* port FreeType, except to compile the library with a non-ANSI */
|
||||
/* compiler. */
|
||||
/* */
|
||||
/* Note however that if some specific modifications are needed, we */
|
||||
/* advise you to place a modified copy in your build directory. */
|
||||
/* */
|
||||
/* The build directory is usually `freetype/builds/<system>', and */
|
||||
/* contains system-specific files that are always included first when */
|
||||
/* building the library. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#ifndef __FTCONFIG_H__
|
||||
#define __FTCONFIG_H__
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_STANDARD_LIBRARY_H
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* PLATFORM-SPECIFIC CONFIGURATION MACROS */
|
||||
/* */
|
||||
/* These macros can be toggled to suit a specific system. The current */
|
||||
/* ones are defaults used to compile FreeType in an ANSI C environment */
|
||||
/* (16bit compilers are also supported). Copy this file to your own */
|
||||
/* `freetype/builds/<system>' directory, and edit it to port the engine. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define HAVE_FCNTL_H 0
|
||||
|
||||
#define SIZEOF_INT 2
|
||||
#define SIZEOF_LONG 2
|
||||
|
||||
#define FT_SIZEOF_INT SIZEOF_INT
|
||||
#define FT_SIZEOF_LONG SIZEOF_LONG
|
||||
|
||||
|
||||
/* Preferred alignment of data */
|
||||
#define FT_ALIGNMENT 8
|
||||
|
||||
|
||||
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
|
||||
/* used -- this is only used to get rid of unpleasant compiler warnings */
|
||||
#ifndef FT_UNUSED
|
||||
#define FT_UNUSED( arg ) ( (arg) = (arg) )
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* AUTOMATIC CONFIGURATION MACROS */
|
||||
/* */
|
||||
/* These macros are computed from the ones defined above. Don't touch */
|
||||
/* their definition, unless you know precisely what you are doing. No */
|
||||
/* porter should need to mess with them. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* IntN types */
|
||||
/* */
|
||||
/* Used to guarantee the size of some specific integers. */
|
||||
/* */
|
||||
typedef signed short FT_Int16;
|
||||
typedef unsigned short FT_UInt16;
|
||||
|
||||
#if FT_SIZEOF_INT == 4
|
||||
|
||||
typedef signed int FT_Int32;
|
||||
typedef unsigned int FT_UInt32;
|
||||
|
||||
#elif FT_SIZEOF_LONG == 4
|
||||
|
||||
typedef signed long FT_Int32;
|
||||
typedef unsigned long FT_UInt32;
|
||||
|
||||
#else
|
||||
#error "no 32bit type found -- please check your configuration files"
|
||||
#endif
|
||||
|
||||
#if FT_SIZEOF_LONG == 8
|
||||
|
||||
/* FT_LONG64 must be defined if a 64-bit type is available */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long
|
||||
|
||||
#else
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
|
||||
/* activate it by defining the FTCALC_USE_LONG_LONG macro in */
|
||||
/* `ftoption.h'. */
|
||||
/* */
|
||||
/* Note that this will produce many -ansi warnings during library */
|
||||
/* compilation, and that in many cases, the generated code will be */
|
||||
/* neither smaller nor faster! */
|
||||
/* */
|
||||
#ifdef FTCALC_USE_LONG_LONG
|
||||
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long
|
||||
|
||||
#endif /* FTCALC_USE_LONG_LONG */
|
||||
#endif /* FT_SIZEOF_LONG == 8 */
|
||||
|
||||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
||||
#define FT_LOCAL( x ) static x
|
||||
#define FT_LOCAL_DEF( x ) static x
|
||||
|
||||
#else
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_LOCAL( x ) extern "C" x
|
||||
#define FT_LOCAL_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_LOCAL( x ) extern x
|
||||
#define FT_LOCAL_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
|
||||
|
||||
|
||||
#ifndef FT_BASE
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_BASE( x ) extern "C" x
|
||||
#else
|
||||
#define FT_BASE( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_BASE */
|
||||
|
||||
|
||||
#ifndef FT_BASE_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_BASE_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_BASE_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_BASE_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT_VAR
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_VAR( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_VAR( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_VAR */
|
||||
|
||||
/* The following macros are needed to compile the library with a */
|
||||
/* C++ compiler and with 16bit compilers. */
|
||||
/* */
|
||||
|
||||
/* This is special. Within C++, you must specify `extern "C"' for */
|
||||
/* functions which are used via function pointers, and you also */
|
||||
/* must do that for structures which contain function pointers to */
|
||||
/* assure C linkage -- it's not possible to have (local) anonymous */
|
||||
/* functions which are accessed by (global) function pointers. */
|
||||
/* */
|
||||
/* */
|
||||
/* FT_CALLBACK_DEF is used to _define_ a callback function. */
|
||||
/* */
|
||||
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
|
||||
/* contains pointers to callback functions. */
|
||||
/* */
|
||||
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
|
||||
/* that contains pointers to callback functions. */
|
||||
/* */
|
||||
/* */
|
||||
/* Some 16bit compilers have to redefine these macros to insert */
|
||||
/* the infamous `_cdecl' or `__fastcall' declarations. */
|
||||
/* */
|
||||
#ifndef FT_CALLBACK_DEF
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_CALLBACK_DEF( x ) static x
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_DEF */
|
||||
|
||||
#ifndef FT_CALLBACK_TABLE
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_TABLE extern "C"
|
||||
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
#else
|
||||
#define FT_CALLBACK_TABLE extern
|
||||
#define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_TABLE */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
#endif /* __FTCONFIG_H__ */
|
||||
|
||||
|
||||
/* END */
|
334
reactos/lib/freetype/builds/unix/ftsystem.c
Normal file
334
reactos/lib/freetype/builds/unix/ftsystem.c
Normal file
|
@ -0,0 +1,334 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsystem.c */
|
||||
/* */
|
||||
/* Unix-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
/* we use our special ftconfig.h file, not the standard one */
|
||||
#include <ftconfig.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
#include FT_SYSTEM_H
|
||||
#include FT_ERRORS_H
|
||||
#include FT_TYPES_H
|
||||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
||||
/* memory-mapping includes and definitions */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <sys/mman.h>
|
||||
#ifndef MAP_FILE
|
||||
#define MAP_FILE 0x00
|
||||
#endif
|
||||
|
||||
#ifdef MUNMAP_USES_VOIDP
|
||||
#define MUNMAP_ARG_CAST void *
|
||||
#else
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
#endif
|
||||
|
||||
#ifdef NEED_MUNMAP_DECL
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#else
|
||||
extern
|
||||
#endif
|
||||
int
|
||||
munmap( char* addr,
|
||||
int len );
|
||||
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
|
||||
#endif /* NEED_DECLARATION_MUNMAP */
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* MEMORY MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_alloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory allocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* size :: The requested size in bytes. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
return malloc( size );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_realloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory reallocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* cur_size :: The current size of the allocated memory block. */
|
||||
/* */
|
||||
/* new_size :: The newly requested size in bytes. */
|
||||
/* */
|
||||
/* block :: The current address of the block in memory. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
FT_UNUSED( cur_size );
|
||||
|
||||
return realloc( block, new_size );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_free */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory release function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
free( block );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* RESOURCE MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
/* We use the macro STREAM_FILE for convenience to extract the */
|
||||
/* system-specific stream handle from a given FreeType stream object */
|
||||
#define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_close_stream */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to close a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream( FT_Stream stream )
|
||||
{
|
||||
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
|
||||
|
||||
stream->descriptor.pointer = NULL;
|
||||
stream->size = 0;
|
||||
stream->base = 0;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Stream_Open( FT_Stream stream,
|
||||
const char* filepathname )
|
||||
{
|
||||
int file;
|
||||
struct stat stat_buf;
|
||||
|
||||
|
||||
if ( !stream )
|
||||
return FT_Err_Invalid_Stream_Handle;
|
||||
|
||||
/* open the file */
|
||||
file = open( filepathname, O_RDONLY );
|
||||
if ( file < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
|
||||
/* Here we ensure that a "fork" will _not_ duplicate */
|
||||
/* our opened input streams on Unix. This is critical */
|
||||
/* since it avoids some (possible) access control */
|
||||
/* issues and cleans up the kernel file table a bit. */
|
||||
/* */
|
||||
#ifdef F_SETFD
|
||||
#ifdef FD_CLOEXEC
|
||||
(void)fcntl( file, F_SETFD, FD_CLOEXEC );
|
||||
#else
|
||||
(void)fcntl( file, F_SETFD, 1 );
|
||||
#endif /* FD_CLOEXEC */
|
||||
#endif /* F_SETFD */
|
||||
|
||||
if ( fstat( file, &stat_buf ) < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `fstat' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
stream->size = stat_buf.st_size;
|
||||
stream->pos = 0;
|
||||
stream->base = (unsigned char *)mmap( NULL,
|
||||
stream->size,
|
||||
PROT_READ,
|
||||
MAP_FILE | MAP_PRIVATE,
|
||||
file,
|
||||
0 );
|
||||
|
||||
if ( (long)stream->base == -1 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `mmap' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
close( file );
|
||||
|
||||
stream->descriptor.pointer = stream->base;
|
||||
stream->pathname.pointer = (char*)filepathname;
|
||||
|
||||
stream->close = ft_close_stream;
|
||||
stream->read = 0;
|
||||
|
||||
FT_TRACE1(( "FT_Stream_Open:" ));
|
||||
FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
|
||||
filepathname, stream->size ));
|
||||
|
||||
return FT_Err_Ok;
|
||||
|
||||
Fail_Map:
|
||||
close( file );
|
||||
|
||||
stream->base = NULL;
|
||||
stream->size = 0;
|
||||
stream->pos = 0;
|
||||
|
||||
return FT_Err_Cannot_Open_Stream;
|
||||
}
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
|
||||
extern FT_Int
|
||||
ft_mem_debug_init( FT_Memory memory );
|
||||
|
||||
extern void
|
||||
ft_mem_debug_done( FT_Memory memory );
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Memory )
|
||||
FT_New_Memory( void )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
||||
|
||||
memory = (FT_Memory)malloc( sizeof ( *memory ) );
|
||||
if ( memory )
|
||||
{
|
||||
memory->user = 0;
|
||||
memory->alloc = ft_alloc;
|
||||
memory->realloc = ft_realloc;
|
||||
memory->free = ft_free;
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_init( memory );
|
||||
#endif
|
||||
}
|
||||
|
||||
return memory;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Done_Memory( FT_Memory memory )
|
||||
{
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_done( memory );
|
||||
#endif
|
||||
memory->free( memory, memory );
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
250
reactos/lib/freetype/builds/unix/install-sh
Normal file
250
reactos/lib/freetype/builds/unix/install-sh
Normal file
|
@ -0,0 +1,250 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||
#
|
||||
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. M.I.T. makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
else
|
||||
instcmd=mkdir
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
then
|
||||
true
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
|
||||
fi &&
|
||||
|
||||
|
||||
exit 0
|
93
reactos/lib/freetype/builds/unix/install.mk
Normal file
93
reactos/lib/freetype/builds/unix/install.mk
Normal file
|
@ -0,0 +1,93 @@
|
|||
#
|
||||
# FreeType 2 installation instructions for Unix systems
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002 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.
|
||||
|
||||
# If you say
|
||||
#
|
||||
# make install DESTDIR=/tmp/somewhere/
|
||||
#
|
||||
# don't forget the final backslash (this command is mainly for package
|
||||
# maintainers).
|
||||
|
||||
|
||||
.PHONY: install uninstall check
|
||||
|
||||
# Unix installation and deinstallation targets.
|
||||
install: $(PROJECT_LIBRARY)
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
|
||||
$(DESTDIR)$(includedir)/freetype2/freetype/config \
|
||||
$(DESTDIR)$(includedir)/freetype2/freetype/internal \
|
||||
$(DESTDIR)$(includedir)/freetype2/freetype/cache \
|
||||
$(DESTDIR)$(bindir) \
|
||||
$(DESTDIR)$(datadir)/aclocal
|
||||
$(LIBTOOL) --mode=install $(INSTALL) \
|
||||
$(PROJECT_LIBRARY) $(DESTDIR)$(libdir)
|
||||
-for P in $(PUBLIC_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype ; \
|
||||
done
|
||||
-for P in $(BASE_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype/internal ; \
|
||||
done
|
||||
-for P in $(CONFIG_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype/config ; \
|
||||
done
|
||||
-for P in $(CACHE_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype/cache ; \
|
||||
done
|
||||
$(INSTALL_DATA) $(BUILD)/ft2unix.h $(DESTDIR)$(includedir)/ft2build.h
|
||||
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
|
||||
$(DESTDIR)$(bindir)/freetype-config
|
||||
$(INSTALL_SCRIPT) -m 644 $(BUILD)/freetype2.m4 \
|
||||
$(DESTDIR)$(datadir)/aclocal/freetype2.m4
|
||||
|
||||
|
||||
uninstall:
|
||||
-$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY).$A
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/cache/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/cache
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/config/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/config
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/internal/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/internal
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/ft2build.h
|
||||
-$(DELETE) $(DESTDIR)$(bindir)/freetype-config
|
||||
-$(DELETE) $(DESTDIR)$(datadir)/aclocal/freetype2.m4
|
||||
|
||||
|
||||
check:
|
||||
@echo There is no validation suite for this package.
|
||||
|
||||
|
||||
.PHONY: clean_project_unix distclean_project_unix
|
||||
|
||||
# Unix cleaning and distclean rules.
|
||||
#
|
||||
clean_project_unix:
|
||||
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)
|
||||
-$(DELETE) $(patsubst %.$O,%.$(SO),$(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)) \
|
||||
$(CLEAN)
|
||||
|
||||
distclean_project_unix: clean_project_unix
|
||||
-$(DELETE) $(PROJECT_LIBRARY)
|
||||
-$(DELETE) $(OBJ_DIR)/.libs/*
|
||||
-$(DELDIR) $(OBJ_DIR)/.libs
|
||||
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
||||
|
||||
# EOF
|
4984
reactos/lib/freetype/builds/unix/ltmain.sh
Normal file
4984
reactos/lib/freetype/builds/unix/ltmain.sh
Normal file
File diff suppressed because it is too large
Load diff
40
reactos/lib/freetype/builds/unix/mkinstalldirs
Normal file
40
reactos/lib/freetype/builds/unix/mkinstalldirs
Normal file
|
@ -0,0 +1,40 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain
|
||||
|
||||
# $Id: mkinstalldirs,v 1.1 2003/04/01 08:38:30 gvg Exp $
|
||||
|
||||
errstatus=0
|
||||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
case "$pathcomp" in
|
||||
-* ) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp" 1>&2
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# mkinstalldirs ends here
|
83
reactos/lib/freetype/builds/unix/unix-cc.in
Normal file
83
reactos/lib/freetype/builds/unix/unix-cc.in
Normal file
|
@ -0,0 +1,83 @@
|
|||
# template for Unix-specific compiler definitions
|
||||
#
|
||||
|
||||
CC := @CC@
|
||||
|
||||
ifndef LIBTOOL
|
||||
LIBTOOL := $(BUILD)/libtool
|
||||
endif
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := lo
|
||||
SO := o
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := la
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
CFLAGS := -c @XX_CFLAGS@ @CFLAGS@
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := @XX_ANSIFLAGS@
|
||||
|
||||
# C compiler to use -- we use libtool!
|
||||
#
|
||||
#
|
||||
CCraw := $(CC)
|
||||
CC := $(LIBTOOL) --mode=compile $(CCraw)
|
||||
|
||||
# Linker flags.
|
||||
#
|
||||
LDFLAGS := @LDFLAGS@
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \
|
||||
-rpath $(libdir) -version-info $(version_info)
|
||||
|
||||
# EOF
|
93
reactos/lib/freetype/builds/unix/unix-def.in
Normal file
93
reactos/lib/freetype/builds/unix/unix-def.in
Normal file
|
@ -0,0 +1,93 @@
|
|||
#
|
||||
# FreeType 2 configuration rules templates for Unix + configure
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002 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.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
|
||||
|
||||
DELETE := @RMF@
|
||||
DELDIR := @RMDIR@
|
||||
SEP := /
|
||||
HOSTSEP := $(SEP)
|
||||
BUILD := $(TOP_DIR)/builds/unix
|
||||
PLATFORM := unix
|
||||
|
||||
# this is used for `make distclean' and `make install'
|
||||
ifndef OBJ_BUILD
|
||||
OBJ_BUILD := $(BUILD)
|
||||
endif
|
||||
|
||||
# don't use `:=' here since the path stuff will be included after this file
|
||||
#
|
||||
FTSYS_SRC = @FTSYS_SRC@
|
||||
|
||||
INSTALL := @INSTALL@
|
||||
INSTALL_DATA := @INSTALL_DATA@
|
||||
INSTALL_PROGRAM := @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT := @INSTALL_SCRIPT@
|
||||
MKINSTALLDIRS := $(BUILD)/mkinstalldirs
|
||||
|
||||
DISTCLEAN += $(OBJ_BUILD)/config.cache \
|
||||
$(OBJ_BUILD)/config.log \
|
||||
$(OBJ_BUILD)/config.status \
|
||||
$(OBJ_BUILD)/unix-def.mk \
|
||||
$(OBJ_BUILD)/unix-cc.mk \
|
||||
$(OBJ_BUILD)/ftconfig.h \
|
||||
$(OBJ_BUILD)/freetype-config \
|
||||
$(LIBTOOL) \
|
||||
$(OBJ_BUILD)/Makefile
|
||||
|
||||
|
||||
# Standard installation variables.
|
||||
#
|
||||
prefix := @prefix@
|
||||
exec_prefix := @exec_prefix@
|
||||
libdir := @libdir@
|
||||
bindir := @bindir@
|
||||
includedir := @includedir@
|
||||
datadir := @datadir@
|
||||
|
||||
version_info := @version_info@
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f $TOP_DIR/Makefile setup [options]
|
||||
# make -f $TOP_DIR/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(shell cd $(TOP_DIR)/objs; pwd)
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The NO_OUTPUT macro is appended to command lines in order to ignore
|
||||
# the output of some programs.
|
||||
#
|
||||
NO_OUTPUT := 2> /dev/null
|
||||
|
||||
# EOF
|
25
reactos/lib/freetype/builds/unix/unix-dev.mk
Normal file
25
reactos/lib/freetype/builds/unix/unix-dev.mk
Normal file
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# FreeType 2 Configuration rules for Unix + GCC
|
||||
#
|
||||
# Development version without optimizations & libtool
|
||||
# and no installation.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/unix/unixddef.mk
|
||||
BUILD := $(TOP_DIR)/builds/devel
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
# EOF
|
23
reactos/lib/freetype/builds/unix/unix-lcc.mk
Normal file
23
reactos/lib/freetype/builds/unix/unix-lcc.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# FreeType 2 Configuration rules for Unix + LCC
|
||||
#
|
||||
# Development version without optimizations & libtool
|
||||
# and no installation.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/unix/unixddef.mk
|
||||
include $(TOP_DIR)/builds/compiler/unix-lcc.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
# EOF
|
57
reactos/lib/freetype/builds/unix/unix.mk
Normal file
57
reactos/lib/freetype/builds/unix/unix.mk
Normal file
|
@ -0,0 +1,57 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for UNIX platforms
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002 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.
|
||||
|
||||
have_mk := $(strip $(wildcard $(TOP_DIR)/builds/unix/unix-def.mk))
|
||||
ifneq ($(have_mk),)
|
||||
include $(TOP_DIR)/builds/unix/unix-def.mk
|
||||
include $(TOP_DIR)/builds/unix/unix-cc.mk
|
||||
else
|
||||
# we are building FT2 not in the src tree
|
||||
include $(OBJ_DIR)/unix-def.mk
|
||||
include $(OBJ_DIR)/unix-cc.mk
|
||||
endif
|
||||
|
||||
ifdef BUILD_PROJECT
|
||||
|
||||
.PHONY: clean_project distclean_project
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP_DIR)/builds/$(PROJECT).mk
|
||||
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_project: clean_project_unix
|
||||
distclean_project: distclean_project_unix
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(PROJECT_LIBRARY): $(OBJECTS_LIST)
|
||||
ifdef CLEAN_LIBRARY
|
||||
-$(CLEAN_LIBRARY) $(NO_OUTPUT)
|
||||
endif
|
||||
$(LINK_LIBRARY)
|
||||
|
||||
endif
|
||||
|
||||
include $(TOP_DIR)/builds/unix/install.mk
|
||||
|
||||
# EOF
|
56
reactos/lib/freetype/builds/unix/unixddef.mk
Normal file
56
reactos/lib/freetype/builds/unix/unixddef.mk
Normal file
|
@ -0,0 +1,56 @@
|
|||
#
|
||||
# FreeType 2 configuration rules templates for
|
||||
# development under Unix with no configure script (gcc only)
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
HOSTSEP := $(SEP)
|
||||
|
||||
# we use a special devel ftoption.h
|
||||
BUILD := $(TOP_DIR)/builds/devel
|
||||
|
||||
# do not set the platform to `unix', or libtool will trick you
|
||||
PLATFORM := unixdev
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(shell cd $(TOP_DIR)/objs; pwd)
|
||||
endif
|
||||
|
||||
|
||||
# library file name
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
#
|
||||
NO_OUTPUT := 2> /dev/null
|
||||
|
||||
# EOF
|
25
reactos/lib/freetype/builds/vms/descrip.mms
Normal file
25
reactos/lib/freetype/builds/vms/descrip.mms
Normal file
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# FreeType 2 system rules for VMS
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2001 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.
|
||||
|
||||
|
||||
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([],[--.include],[--.src.base])
|
||||
|
||||
OBJS=ftsystem.obj
|
||||
|
||||
all : $(OBJS)
|
||||
library/create [--.lib]freetype.olb $(OBJS)
|
||||
|
||||
ftsystem.obj : ftsystem.c ftconfig.h
|
||||
|
||||
# EOF
|
238
reactos/lib/freetype/builds/vms/ftconfig.h
Normal file
238
reactos/lib/freetype/builds/vms/ftconfig.h
Normal file
|
@ -0,0 +1,238 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftconfig.h */
|
||||
/* */
|
||||
/* VMS-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 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 header file contains a number of macro definitions that are used */
|
||||
/* by the rest of the engine. Most of the macros here are automatically */
|
||||
/* determined at compile time, and you should not need to change it to */
|
||||
/* port FreeType, except to compile the library with a non-ANSI */
|
||||
/* compiler. */
|
||||
/* */
|
||||
/* Note however that if some specific modifications are needed, we */
|
||||
/* advise you to place a modified copy in your build directory. */
|
||||
/* */
|
||||
/* The build directory is usually `freetype/builds/<system>', and */
|
||||
/* contains system-specific files that are always included first when */
|
||||
/* building the library. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#ifndef FTCONFIG_H
|
||||
#define FTCONFIG_H
|
||||
|
||||
|
||||
/* Include the header file containing all developer build options */
|
||||
#include <ft2build.h>
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_STANDARD_LIBRARY_H
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* PLATFORM-SPECIFIC CONFIGURATION MACROS */
|
||||
/* */
|
||||
/* These macros can be toggled to suit a specific system. The current */
|
||||
/* ones are defaults used to compile FreeType in an ANSI C environment */
|
||||
/* (16bit compilers are also supported). Copy this file to your own */
|
||||
/* `freetype/builds/<system>' directory, and edit it to port the engine. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#define HAVE_UNISTD_H 1
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
||||
#define SIZEOF_INT 4
|
||||
#define SIZEOF_LONG 4
|
||||
|
||||
#define FT_SIZEOF_INT 4
|
||||
#define FT_SIZEOF_LONG 4
|
||||
|
||||
|
||||
/* Preferred alignment of data */
|
||||
#define FT_ALIGNMENT 8
|
||||
|
||||
|
||||
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
|
||||
/* used -- this is only used to get rid of unpleasant compiler warnings */
|
||||
#ifndef FT_UNUSED
|
||||
#define FT_UNUSED( arg ) ( (arg) = (arg) )
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* AUTOMATIC CONFIGURATION MACROS */
|
||||
/* */
|
||||
/* These macros are computed from the ones defined above. Don't touch */
|
||||
/* their definition, unless you know precisely what you are doing. No */
|
||||
/* porter should need to mess with them. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* IntN types */
|
||||
/* */
|
||||
/* Used to guarantee the size of some specific integers. */
|
||||
/* */
|
||||
typedef signed short FT_Int16;
|
||||
typedef unsigned short FT_UInt16;
|
||||
|
||||
#if FT_SIZEOF_INT == 4
|
||||
|
||||
typedef signed int FT_Int32;
|
||||
typedef unsigned int FT_UInt32;
|
||||
|
||||
#elif FT_SIZEOF_LONG == 4
|
||||
|
||||
typedef signed long FT_Int32;
|
||||
typedef unsigned long FT_UInt32;
|
||||
|
||||
#else
|
||||
#error "no 32bit type found -- please check your configuration files"
|
||||
#endif
|
||||
|
||||
#if FT_SIZEOF_LONG == 8
|
||||
|
||||
/* FT_LONG64 must be defined if a 64-bit type is available */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long
|
||||
|
||||
#else
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
|
||||
/* activate it by defining the FTCALC_USE_LONG_LONG macro in */
|
||||
/* `ftoption.h'. */
|
||||
/* */
|
||||
/* Note that this will produce many -ansi warnings during library */
|
||||
/* compilation, and that in many cases, the generated code will be */
|
||||
/* neither smaller nor faster! */
|
||||
/* */
|
||||
#ifdef FTCALC_USE_LONG_LONG
|
||||
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long
|
||||
|
||||
#endif /* FTCALC_USE_LONG_LONG */
|
||||
|
||||
#endif /* FT_SIZEOF_LONG == 8 */
|
||||
|
||||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
||||
#define FT_LOCAL( x ) static x
|
||||
#define FT_LOCAL_DEF( x ) static x
|
||||
|
||||
#else
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_LOCAL( x ) extern "C" x
|
||||
#define FT_LOCAL_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_LOCAL( x ) extern x
|
||||
#define FT_LOCAL_DEF( x ) x
|
||||
#endif
|
||||
|
||||
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
|
||||
|
||||
#ifndef FT_BASE
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_BASE( x ) extern "C" x
|
||||
#else
|
||||
#define FT_BASE( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_BASE */
|
||||
|
||||
#ifndef BASE_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define BASE_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define BASE_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !BASE_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT */
|
||||
|
||||
#ifndef FT_EXPORT_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT_VAR
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_VAR( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_VAR( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_VAR */
|
||||
|
||||
|
||||
/* This is special. Within C++, you must specify `extern "C"' for */
|
||||
/* functions which are used via function pointers, and you also */
|
||||
/* must do that for structures which contain function pointers to */
|
||||
/* assure C linkage -- it's not possible to have (local) anonymous */
|
||||
/* functions which are accessed by (global) function pointers. */
|
||||
/* */
|
||||
#ifdef __cplusplus
|
||||
|
||||
#define FT_CALLBACK_DEF( x ) extern "C" x
|
||||
#define FT_CALLBACK_TABLE extern "C"
|
||||
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
|
||||
#else
|
||||
|
||||
#define FT_CALLBACK_DEF( x ) static x
|
||||
#define FT_CALLBACK_TABLE extern
|
||||
#define FT_CALLBACK_TABLE_DEF
|
||||
|
||||
#endif /* __cplusplus */
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
#endif /* FTCONFIG_H */
|
||||
|
||||
|
||||
/* END */
|
321
reactos/lib/freetype/builds/vms/ftsystem.c
Normal file
321
reactos/lib/freetype/builds/vms/ftsystem.c
Normal file
|
@ -0,0 +1,321 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsystem.c */
|
||||
/* */
|
||||
/* VMS-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
/* we use our special ftconfig.h file, not the standard one */
|
||||
#include <ftconfig.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
#include FT_SYSTEM_H
|
||||
#include FT_ERRORS_H
|
||||
#include FT_TYPES_H
|
||||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
||||
/* memory-mapping includes and definitions */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <sys/mman.h>
|
||||
#ifndef MAP_FILE
|
||||
#define MAP_FILE 0x00
|
||||
#endif
|
||||
|
||||
#ifdef MUNMAP_USES_VOIDP
|
||||
#define MUNMAP_ARG_CAST void *
|
||||
#else
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
#endif
|
||||
|
||||
#ifdef NEED_MUNMAP_DECL
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#else
|
||||
extern
|
||||
#endif
|
||||
int
|
||||
munmap( char* addr,
|
||||
int len );
|
||||
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
|
||||
#endif /* NEED_DECLARATION_MUNMAP */
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* MEMORY MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_alloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory allocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* size :: The requested size in bytes. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
return malloc( size );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_realloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory reallocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* cur_size :: The current size of the allocated memory block. */
|
||||
/* */
|
||||
/* new_size :: The newly requested size in bytes. */
|
||||
/* */
|
||||
/* block :: The current address of the block in memory. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
FT_UNUSED( cur_size );
|
||||
|
||||
return realloc( block, new_size );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_free */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory release function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
free( block );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* RESOURCE MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
/* We use the macro STREAM_FILE for convenience to extract the */
|
||||
/* system-specific stream handle from a given FreeType stream object */
|
||||
#define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_close_stream */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to close a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream( FT_Stream stream )
|
||||
{
|
||||
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
|
||||
|
||||
stream->descriptor.pointer = NULL;
|
||||
stream->size = 0;
|
||||
stream->base = 0;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Stream_Open( FT_Stream stream,
|
||||
const char* filepathname )
|
||||
{
|
||||
int file;
|
||||
struct stat stat_buf;
|
||||
|
||||
|
||||
if ( !stream )
|
||||
return FT_Err_Invalid_Stream_Handle;
|
||||
|
||||
/* open the file */
|
||||
file = open( filepathname, O_RDONLY );
|
||||
if ( file < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
|
||||
if ( fstat( file, &stat_buf ) < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `fstat' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
stream->size = stat_buf.st_size;
|
||||
stream->pos = 0;
|
||||
stream->base = (unsigned char *)mmap( NULL,
|
||||
stream->size,
|
||||
PROT_READ,
|
||||
MAP_FILE | MAP_PRIVATE,
|
||||
file,
|
||||
0 );
|
||||
|
||||
if ( (long)stream->base == -1 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `mmap' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
close( file );
|
||||
|
||||
stream->descriptor.pointer = stream->base;
|
||||
stream->pathname.pointer = (char*)filepathname;
|
||||
|
||||
stream->close = ft_close_stream;
|
||||
stream->read = 0;
|
||||
|
||||
FT_TRACE1(( "FT_Stream_Open:" ));
|
||||
FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
|
||||
filepathname, stream->size ));
|
||||
|
||||
return FT_Err_Ok;
|
||||
|
||||
Fail_Map:
|
||||
close( file );
|
||||
|
||||
stream->base = NULL;
|
||||
stream->size = 0;
|
||||
stream->pos = 0;
|
||||
|
||||
return FT_Err_Cannot_Open_Stream;
|
||||
}
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
|
||||
extern FT_Int
|
||||
ft_mem_debug_init( FT_Memory memory );
|
||||
|
||||
extern void
|
||||
ft_mem_debug_done( FT_Memory memory );
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Memory )
|
||||
FT_New_Memory( void )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
||||
|
||||
memory = (FT_Memory)malloc( sizeof ( *memory ) );
|
||||
if ( memory )
|
||||
{
|
||||
memory->user = 0;
|
||||
memory->alloc = ft_alloc;
|
||||
memory->realloc = ft_realloc;
|
||||
memory->free = ft_free;
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_init( memory );
|
||||
#endif
|
||||
}
|
||||
|
||||
return memory;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Done_Memory( FT_Memory memory )
|
||||
{
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_done( memory );
|
||||
#endif
|
||||
memory->free( memory, memory );
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
155
reactos/lib/freetype/builds/win32/detect.mk
Normal file
155
reactos/lib/freetype/builds/win32/detect.mk
Normal file
|
@ -0,0 +1,155 @@
|
|||
#
|
||||
# FreeType 2 configuration file to detect a Win32 host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
# Detecting Windows NT is easy, as the OS variable must be defined and
|
||||
# contains `Windows_NT'. Untested with Windows 2K, but I guess it should
|
||||
# work...
|
||||
#
|
||||
ifeq ($(OS),Windows_NT)
|
||||
|
||||
is_windows := 1
|
||||
|
||||
# We test for the COMSPEC environment variable, then run the `ver'
|
||||
# command-line program to see if its output contains the word `Windows'.
|
||||
#
|
||||
# If this is true, we are running a win32 platform (or an emulation).
|
||||
#
|
||||
else
|
||||
ifdef COMSPEC
|
||||
is_windows := $(findstring Windows,$(strip $(shell ver)))
|
||||
endif
|
||||
endif # test NT
|
||||
|
||||
ifdef is_windows
|
||||
|
||||
PLATFORM := win32
|
||||
|
||||
endif
|
||||
endif # test PLATFORM ansi
|
||||
|
||||
ifeq ($(PLATFORM),win32)
|
||||
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
|
||||
# gcc Makefile by default
|
||||
CONFIG_FILE := w32-gcc.mk
|
||||
SEP := /
|
||||
ifeq ($(firstword $(CC)),cc)
|
||||
CC := gcc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring list,$(MAKECMDGOALS)),) # test for the "list" target
|
||||
dump_target_list:
|
||||
@echo ÿ
|
||||
@echo $(PROJECT_TITLE) build system -- supported compilers
|
||||
@echo ÿ
|
||||
@echo Several command-line compilers are supported on Win32:
|
||||
@echo ÿ
|
||||
@echo ÿÿmake setupÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿgcc (with Mingw)
|
||||
@echo ÿÿmake setup visualcÿÿÿÿÿÿÿÿÿÿÿÿÿMicrosoft Visual C++
|
||||
@echo ÿÿmake setup bcc32ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBorland C/C++
|
||||
@echo ÿÿmake setup lccÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿWin32-LCC
|
||||
@echo ÿÿmake setup intelcÿÿÿÿÿÿÿÿÿÿÿÿÿÿIntel C/C++
|
||||
@echo ÿ
|
||||
|
||||
setup: dump_target_list
|
||||
.PHONY: dump_target_list list
|
||||
else
|
||||
setup: dos_setup
|
||||
endif
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
|
||||
CONFIG_FILE := w32-vcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := cl
|
||||
visualc: setup
|
||||
.PHONY: visualc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++
|
||||
CONFIG_FILE := w32-intl.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := cl
|
||||
visualc: setup
|
||||
.PHONY: intelc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := w32-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := w32-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
visualage: setup
|
||||
.PHONY: visualage
|
||||
endif
|
||||
|
||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
|
||||
CONFIG_FILE := w32-lcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := lcc
|
||||
lcc: setup
|
||||
.PHONY: lcc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring mingw32,$(MAKECMDGOALS)),) # mingw32
|
||||
CONFIG_FILE := w32-mingw32.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := gcc
|
||||
mingw32: setup
|
||||
.PHONY: mingw32
|
||||
endif
|
||||
|
||||
ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++
|
||||
CONFIG_FILE := w32-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
bcc32: setup
|
||||
.PHONY: bcc32
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel-bcc,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := w32-bccd.mk
|
||||
CC := bcc32
|
||||
SEP := /
|
||||
devel-bcc: setup
|
||||
.PHONY: devel-bcc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel-gcc,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := w32-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel-gcc: setup
|
||||
.PHONY: devel-gcc
|
||||
endif
|
||||
|
||||
endif # test PLATFORM win32
|
||||
|
||||
# EOF
|
211
reactos/lib/freetype/builds/win32/ftdebug.c
Normal file
211
reactos/lib/freetype/builds/win32/ftdebug.c
Normal file
|
@ -0,0 +1,211 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftdebug.c */
|
||||
/* */
|
||||
/* Debugging and logging component for Win32 (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 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 component contains various macros and functions used to ease the */
|
||||
/* debugging of the FreeType engine. Its main purpose is in assertion */
|
||||
/* checking, tracing, and error detection. */
|
||||
/* */
|
||||
/* There are now three debugging modes: */
|
||||
/* */
|
||||
/* - trace mode */
|
||||
/* */
|
||||
/* Error and trace messages are sent to the log file (which can be the */
|
||||
/* standard error output). */
|
||||
/* */
|
||||
/* - error mode */
|
||||
/* */
|
||||
/* Only error messages are generated. */
|
||||
/* */
|
||||
/* - release mode: */
|
||||
/* */
|
||||
/* No error message is sent or generated. The code is free from any */
|
||||
/* debugging parts. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_LEVEL_ERROR
|
||||
|
||||
|
||||
# include <stdarg.h>
|
||||
# include <stdlib.h>
|
||||
# include <string.h>
|
||||
|
||||
# include <windows.h>
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Message( const char* fmt, ... )
|
||||
{
|
||||
static char buf[8192];
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
vsprintf( buf, fmt, ap );
|
||||
OutputDebugStringA( buf );
|
||||
va_end( ap );
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Panic( const char* fmt, ... )
|
||||
{
|
||||
static char buf[8192];
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
vsprintf( buf, fmt, ap );
|
||||
OutputDebugStringA( buf );
|
||||
va_end( ap );
|
||||
|
||||
exit( EXIT_FAILURE );
|
||||
}
|
||||
|
||||
|
||||
# ifdef FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
|
||||
/* array of trace levels, initialized to 0 */
|
||||
int ft_trace_levels[trace_count];
|
||||
|
||||
/* define array of trace toggle names */
|
||||
# define FT_TRACE_DEF( x ) #x ,
|
||||
|
||||
static const char* ft_trace_toggles[trace_count + 1] =
|
||||
{
|
||||
# include FT_INTERNAL_TRACE_H
|
||||
NULL
|
||||
};
|
||||
|
||||
# undef FT_TRACE_DEF
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Initialize the tracing sub-system. This is done by retrieving the */
|
||||
/* value of the "FT2_DEBUG" environment variable. It must be a list of */
|
||||
/* toggles, separated by spaces, `;' or `,'. Example: */
|
||||
/* */
|
||||
/* "any:3 memory:6 stream:5" */
|
||||
/* */
|
||||
/* This will request that all levels be set to 3, except the trace level */
|
||||
/* for the memory and stream components which are set to 6 and 5, */
|
||||
/* respectively. */
|
||||
/* */
|
||||
/* See the file <freetype/internal/fttrace.h> for details of the */
|
||||
/* available toggle names. */
|
||||
/* */
|
||||
/* The level must be between 0 and 6; 0 means quiet (except for serious */
|
||||
/* runtime errors), and 6 means _very_ verbose. */
|
||||
/* */
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
const char* ft2_debug = getenv( "FT2_DEBUG" );
|
||||
|
||||
|
||||
if ( ft2_debug )
|
||||
{
|
||||
const char* p = ft2_debug;
|
||||
const char* q;
|
||||
|
||||
|
||||
for ( ; *p; p++ )
|
||||
{
|
||||
/* skip leading whitespace and separators */
|
||||
if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' )
|
||||
continue;
|
||||
|
||||
/* read toggle name, followed by ':' */
|
||||
q = p;
|
||||
while ( *p && *p != ':' )
|
||||
p++;
|
||||
|
||||
if ( *p == ':' && p > q )
|
||||
{
|
||||
int n, i, len = p - q;
|
||||
int level = -1, found = -1;
|
||||
|
||||
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
{
|
||||
const char* toggle = ft_trace_toggles[n];
|
||||
|
||||
|
||||
for ( i = 0; i < len; i++ )
|
||||
{
|
||||
if ( toggle[i] != q[i] )
|
||||
break;
|
||||
}
|
||||
|
||||
if ( i == len && toggle[i] == 0 )
|
||||
{
|
||||
found = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* read level */
|
||||
p++;
|
||||
if ( *p )
|
||||
{
|
||||
level = *p++ - '0';
|
||||
if ( level < 0 || level > 6 )
|
||||
level = -1;
|
||||
}
|
||||
|
||||
if ( found >= 0 && level >= 0 )
|
||||
{
|
||||
if ( found == trace_any )
|
||||
{
|
||||
/* special case for "any" */
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
ft_trace_levels[n] = level;
|
||||
}
|
||||
else
|
||||
ft_trace_levels[found] = level;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# else /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
|
||||
# endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
#endif /* FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
/* END */
|
341
reactos/lib/freetype/builds/win32/visualc/freetype.dsp
Normal file
341
reactos/lib/freetype/builds/win32/visualc/freetype.dsp
Normal file
|
@ -0,0 +1,341 @@
|
|||
# Microsoft Developer Studio Project File - Name="freetype" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=freetype - Win32 Debug Singlethreaded
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "freetype.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "freetype.mak" CFG="freetype - Win32 Debug Singlethreaded"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "freetype - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Debug Multithreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Release Multithreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Release Singlethreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Debug Singlethreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "freetype - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\objs\release"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /nologo /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype211.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\objs\debug"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /MDd /Za /W4 /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT CPP /nologo /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype211_D.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\objs\debug_mt"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\debug_mt"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /Za /W3 /Gm /GX /ZI /Od /I "..\freetype\include\\" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /X
|
||||
# ADD CPP /MTd /Za /W4 /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT CPP /nologo /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8_D.lib"
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype211MT_D.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\objs\release_mt"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\release_mt"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /Za /W3 /GX /O2 /I "..\freetype\include\\" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /c
|
||||
# ADD CPP /MT /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /nologo /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8.lib"
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype211MT.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\objs\release_st"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\release_st"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT BASE CPP /YX
|
||||
# ADD CPP /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /nologo /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206.lib"
|
||||
# ADD LIB32 /out:"..\..\..\objs\freetype211ST.lib"
|
||||
# SUBTRACT LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Singlethreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\objs\debug_st"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\debug_st"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /Za /W4 /Gm /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /X /YX
|
||||
# ADD CPP /Za /W4 /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT CPP /nologo /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206_D.lib"
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype211ST_D.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "freetype - Win32 Release"
|
||||
# Name "freetype - Win32 Debug"
|
||||
# Name "freetype - Win32 Debug Multithreaded"
|
||||
# Name "freetype - Win32 Release Multithreaded"
|
||||
# Name "freetype - Win32 Release Singlethreaded"
|
||||
# Name "freetype - Win32 Debug Singlethreaded"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\autohint\autohint.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\bdf\bdf.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\cff\cff.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftbase.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\cache\ftcache.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\ftdebug.c
|
||||
# ADD CPP /Ze
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftglyph.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftinit.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftmm.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftsystem.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\pcf\pcf.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\pfr\pfr.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\psaux\psaux.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\pshinter\pshinter.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\psnames\psmodule.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\raster\raster.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\sfnt\sfnt.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\smooth\smooth.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\truetype\truetype.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\type1\type1.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\cid\type1cid.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\type42\type42.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\winfonts\winfnt.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\ft2build.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftconfig.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftheader.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftmodule.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftoption.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftstdlib.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
29
reactos/lib/freetype/builds/win32/visualc/freetype.dsw
Normal file
29
reactos/lib/freetype/builds/win32/visualc/freetype.dsw
Normal file
|
@ -0,0 +1,29 @@
|
|||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "freetype"=.\freetype.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
27
reactos/lib/freetype/builds/win32/visualc/index.html
Normal file
27
reactos/lib/freetype/builds/win32/visualc/index.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
<html>
|
||||
<header>
|
||||
<title>FreeType 2 Project Files for Visual C++</title>
|
||||
</header>
|
||||
<body>
|
||||
|
||||
<h1>FreeType 2 Project Files for Visual C++</h1>
|
||||
|
||||
<p>This directory contains a project file for Visual C++, named
|
||||
<tt>freetype.dsp</tt>. It will compile the following libraries
|
||||
from the FreeType 2.0.4 sources:</p>
|
||||
|
||||
<ul>
|
||||
<pre>
|
||||
freetype204.lib - release build; single threaded
|
||||
freetype204_D.lib - debug build; single threaded
|
||||
freetype204MT.lib - release build; multi-threaded
|
||||
freetype204MT_D.lib - debug build; multi-threaded
|
||||
</pre>
|
||||
</ul>
|
||||
|
||||
<p>Build directories are placed in the top-level "objs" directory</p>
|
||||
|
||||
<p>Enjoy :-)</p>
|
||||
|
||||
</body>
|
||||
</html>
|
23
reactos/lib/freetype/builds/win32/w32-bcc.mk
Normal file
23
reactos/lib/freetype/builds/win32/w32-bcc.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# FreeType 2 Borland C++ on Win32
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/bcc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
26
reactos/lib/freetype/builds/win32/w32-bccd.mk
Normal file
26
reactos/lib/freetype/builds/win32/w32-bccd.mk
Normal file
|
@ -0,0 +1,26 @@
|
|||
#
|
||||
# FreeType 2 Borland C++ on Win32 + debugging
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
BUILD := $(TOP_DIR)/builds/devel
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/bcc-dev.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
38
reactos/lib/freetype/builds/win32/w32-dev.mk
Normal file
38
reactos/lib/freetype/builds/win32/w32-dev.mk
Normal file
|
@ -0,0 +1,38 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for Win32 + GCC
|
||||
#
|
||||
# Development version without optimizations.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# NOTE: This version requires that GNU Make is invoked from the Windows
|
||||
# Shell (_not_ Cygwin BASH)!
|
||||
#
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
SEP := /
|
||||
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
BUILD := $(TOP_DIR)/builds/devel
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
|
||||
# EOF
|
29
reactos/lib/freetype/builds/win32/w32-gcc.mk
Normal file
29
reactos/lib/freetype/builds/win32/w32-gcc.mk
Normal file
|
@ -0,0 +1,29 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for Win32 + GCC
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# the separator must be set before including win32-def
|
||||
# as it defaults to "\" on Win32
|
||||
SEP := /
|
||||
|
||||
# include Win32-specific definitions
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
|
||||
# include gcc-specific definitions
|
||||
include $(TOP_DIR)/builds/compiler/gcc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
22
reactos/lib/freetype/builds/win32/w32-icc.mk
Normal file
22
reactos/lib/freetype/builds/win32/w32-icc.mk
Normal file
|
@ -0,0 +1,22 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for Win32 + IBM Visual Age C++
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/visualage.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
23
reactos/lib/freetype/builds/win32/w32-intl.mk
Normal file
23
reactos/lib/freetype/builds/win32/w32-intl.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for Intel C/C++ on Win32
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/intelc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
24
reactos/lib/freetype/builds/win32/w32-lcc.mk
Normal file
24
reactos/lib/freetype/builds/win32/w32-lcc.mk
Normal file
|
@ -0,0 +1,24 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for Win32 + LCC
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/win-lcc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
||||
|
31
reactos/lib/freetype/builds/win32/w32-mingw32.mk
Normal file
31
reactos/lib/freetype/builds/win32/w32-mingw32.mk
Normal file
|
@ -0,0 +1,31 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for mingw32
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# the separator must be set before including win32-def
|
||||
# as it defaults to "\" on Win32
|
||||
SEP := /
|
||||
|
||||
# include Win32-specific definitions
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
# include gcc-specific definitions
|
||||
include $(TOP_DIR)/builds/compiler/gcc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
23
reactos/lib/freetype/builds/win32/w32-vcc.mk
Normal file
23
reactos/lib/freetype/builds/win32/w32-vcc.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# FreeType 2 Visual C++ on Win32
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/visualc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
26
reactos/lib/freetype/builds/win32/w32-wat.mk
Normal file
26
reactos/lib/freetype/builds/win32/w32-wat.mk
Normal file
|
@ -0,0 +1,26 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for Watcom C/C++
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
SEP := /
|
||||
ISEP := $(strip \ )
|
||||
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/watcom.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
||||
|
61
reactos/lib/freetype/builds/win32/win32-def.mk
Normal file
61
reactos/lib/freetype/builds/win32/win32-def.mk
Normal file
|
@ -0,0 +1,61 @@
|
|||
#
|
||||
# FreeType 2 Win32 specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
DELETE := del
|
||||
HOSTSEP := $(strip \ )
|
||||
BUILD := $(TOP_DIR)$(SEP)builds$(SEP)win32
|
||||
PLATFORM := win32
|
||||
|
||||
# by default, we use "\" as a separator on Win32
|
||||
# but certain compilers accept "/" as well
|
||||
#
|
||||
ifndef SEP
|
||||
SEP := $(HOSTSEP)
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f %TOP_DIR%/Makefile setup [options]
|
||||
# make -f %TOP_DIR%/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)$(SEP)objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := $(PROJECT)
|
||||
|
||||
|
||||
# The NO_OUTPUT macro is used to ignore the output of commands.
|
||||
#
|
||||
NO_OUTPUT = 2> nul
|
||||
|
||||
# EOF
|
31
reactos/lib/freetype/config.mk
Normal file
31
reactos/lib/freetype/config.mk
Normal file
|
@ -0,0 +1,31 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for mingw32
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# the separator must be set before including win32-def
|
||||
# as it defaults to "\" on Win32
|
||||
SEP := /
|
||||
|
||||
# include Win32-specific definitions
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
# include gcc-specific definitions
|
||||
include $(TOP_DIR)/builds/compiler/gcc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# EOF
|
60
reactos/lib/freetype/configure
vendored
Normal file
60
reactos/lib/freetype/configure
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Call the 'configure' script located in 'builds/unix'.
|
||||
#
|
||||
# This should re-generate the following files:
|
||||
#
|
||||
# config.mk
|
||||
# Jamfile
|
||||
# install
|
||||
#
|
||||
|
||||
if test "x$GNUMAKE" = x; then
|
||||
GNUMAKE=make
|
||||
fi
|
||||
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
|
||||
echo "Sorry, GNU make is required to build FreeType2." >&2
|
||||
echo "Please try \`GNUMAKE=<GNU make command name> $0'." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Uh, oh. This is taken from autoconf. They know what they are doing...
|
||||
|
||||
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`
|
||||
|
||||
# build a dummy Makefile if we are not building in the source tree
|
||||
|
||||
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
||||
echo "OBJ_DIR=$abs_curr_dir" > Makefile
|
||||
echo "TOP_DIR=$abs_ft2_dir" >> Makefile
|
||||
echo "OBJ_BUILD=$abs_curr_dir" >> Makefile
|
||||
echo "LIBTOOL=$abs_curr_dir/libtool" >> Makefile
|
||||
echo "include $abs_ft2_dir/Makefile" >> Makefile
|
||||
fi
|
||||
|
||||
# call make
|
||||
|
||||
CFG="$@" $GNUMAKE setup unix
|
||||
|
||||
# eof
|
73
reactos/lib/freetype/descrip.mms
Normal file
73
reactos/lib/freetype/descrip.mms
Normal file
|
@ -0,0 +1,73 @@
|
|||
#
|
||||
# FreeType 2 build system -- top-level Makefile for OpenVMS
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2001 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.
|
||||
|
||||
|
||||
all :
|
||||
define freetype [--.include.freetype]
|
||||
define psaux [-.psaux]
|
||||
define autohint [-.autohint]
|
||||
define base [-.base]
|
||||
define cache [-.cache]
|
||||
define cff [-.cff]
|
||||
define cid [-.cid]
|
||||
define pcf [-.pcf]
|
||||
define psnames [-.psnames]
|
||||
define raster [-.raster]
|
||||
define sfnt [-.sfnt]
|
||||
define smooth [-.smooth]
|
||||
define truetype [-.truetype]
|
||||
define type1 [-.type1]
|
||||
define winfonts [-.winfonts]
|
||||
if f$search("lib.dir") .eqs. "" then create/directory [.lib]
|
||||
set default [.builds.vms]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [--.src.autohint]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.base]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.bdf]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.cache]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.cff]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.cid]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.pcf]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.pfr]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.psaux]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.pshinter]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.psnames]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.raster]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.sfnt]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.smooth]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.truetype]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.type1]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.type42]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.winfonts]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [--]
|
||||
|
||||
# EOF
|
275
reactos/lib/freetype/docs/BUGS
Normal file
275
reactos/lib/freetype/docs/BUGS
Normal file
|
@ -0,0 +1,275 @@
|
|||
List of known FreeType 2 Bugs
|
||||
-----------------------------
|
||||
|
||||
"Identifier" is a string to uniquely identify the bug. A more detailed
|
||||
description of the bug is found below the table of opened bugs.
|
||||
|
||||
"Date" is the date when the bug was first reported or entered in this
|
||||
document. Dates are in _European_ format, i.e day/month/year.
|
||||
|
||||
"Opened By" is the name of the person who first spotted the bug. Note that
|
||||
we can use abbreviations here, like:
|
||||
|
||||
"David" for David Turner
|
||||
"Werner" for Werner Lemberg
|
||||
etc.
|
||||
|
||||
"Reproduceable" indicates whether the bug could be reproduced by the
|
||||
development team or not (it can be specific to a given platform), whether it
|
||||
always happens, or only sporadically, etc.
|
||||
|
||||
|
||||
|
||||
I. Open bugs
|
||||
============
|
||||
|
||||
|
||||
Identifier Date Opened by Reproduceable
|
||||
------------------------------------------------------------------------------
|
||||
NO-CID-CMAPS 13-09-2001 David always
|
||||
BAD-TT-RENDERING 12-09-2001 Paul Pedriana ?
|
||||
BAD-THIN-LINES 13-09-2001 David ?
|
||||
NOT-WINDOWS-METRICS 07-10-2001 David always
|
||||
ADVANCED-COMPOSITES 25-10-2001 George Williams always
|
||||
|
||||
--------------------END-OF-OPENED-BUGS-TABLE----------------------------------
|
||||
|
||||
|
||||
|
||||
II. Closed bugs
|
||||
===============
|
||||
|
||||
|
||||
Identifier Date Closed by Closure date
|
||||
------------------------------------------------------------------------------
|
||||
BAD-TTNAMEID.H 12-09-2001 Antoine N/A
|
||||
BAD-T1-CHARMAP 15-06-2001 David 2.0.5
|
||||
BAD-UNIXXXX-NAMES 30-07-2001 David 2.0.5
|
||||
GLYPH_TO_BITMAP-BUG 05-12-2001 David 05-12-2001
|
||||
AUTOHINT-NO-SBITS 13-09-2001 David 2.0.6
|
||||
TT-GLYPH-CRASH 01-01-2002 David 2.0.6
|
||||
T1-FONT-CRASH 01-01-2002 David 2.0.6
|
||||
BAD-ADVANCES 30-11-2001 David 2.0.6
|
||||
GLYPH-TO-BITMAP-BUG 15-12-2001 David 2.0.6
|
||||
--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
|
||||
|
||||
|
||||
|
||||
III. Bug descriptions
|
||||
=====================
|
||||
|
||||
|
||||
--- START OF OPEN BUGS ---
|
||||
|
||||
|
||||
NO-CID-CMAPS
|
||||
|
||||
Not exactly a bug, but the CFF font driver doesn't build a Unicode charmap
|
||||
from the contents of font files, which prevents efficiently using fonts in
|
||||
this format.
|
||||
|
||||
|
||||
|
||||
BAD-TT-RENDERING
|
||||
|
||||
According to Paul Pedriana <PPedriana@maxis.com>, there is a rather
|
||||
important difference between the rendering of TrueType-hinted glyphs of
|
||||
current FT2 and old betas.
|
||||
|
||||
Tests and comparisons show a _major_ discrepancy of monochrome truetype
|
||||
bytecode-hinted glyphs! Something seems to be really broken here!
|
||||
|
||||
Some of this has been fixed in 2.0.6; there was a bug in the TrueType
|
||||
loader that prevented it from loading composites correctly. However,
|
||||
there are still _subtle_ differences between FT1 and FT2 when it comes to
|
||||
monochrome TrueType-hinted glyphs (the major differences are gone though).
|
||||
|
||||
|
||||
|
||||
BAD-THIN-LINES
|
||||
|
||||
It seems that the anti-aliased renderer in FreeType has problems rendering
|
||||
extremely thin straight lines correctly, at least when using the
|
||||
FT_Outline_Render() function.
|
||||
|
||||
|
||||
|
||||
NOT-WINDOWS-METRICS
|
||||
|
||||
FreeType doesn't always return the same metrics as Windows for ascender,
|
||||
descender, and text height, depending on character pixel sizes. A lot of
|
||||
testing on Windows is needed to debug this properly. It might be due to a
|
||||
rounding bug when computing the "x_scale" and "y_scale" values.
|
||||
|
||||
|
||||
|
||||
ADVANCED-COMPOSITES
|
||||
|
||||
Provided by George Williams <pfaedit@users.sourceforge.net>:
|
||||
|
||||
I notice that truetype/ttgload.c only supports Apple's definition of
|
||||
offsets for composite glyphs. Apple and Microsoft behave differently if
|
||||
there is a scale factor. OpenType defines some bits to disambiguate.
|
||||
|
||||
(A problem in both 2.0.4 and 2.0.5.)
|
||||
|
||||
Apple says (http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html) that if
|
||||
flags&ARGS_ARE_XY is set then the offsets should be scaled by the scale
|
||||
factors (as you have done), but they also say something very cryptic
|
||||
about what happens when the component is rotated at 45° (which you do
|
||||
not support) -- See the "Important" note at the bottom.
|
||||
|
||||
The old truetype spec from Microsoft did not mention this. The OpenType
|
||||
spec (http://www.microsoft.com/typography/otspec/glyf.htm,
|
||||
http://partners.adobe.com/asn/developer/opentype/glyf.html) defines two
|
||||
new bits to disambiguate:
|
||||
|
||||
SCALED_COMPONENT_OFFSET 11
|
||||
Composite designed to have the component offset scaled (designed for
|
||||
Apple rasterizer)
|
||||
|
||||
UNSCALED_COMPONENT_OFFSET 12
|
||||
Composite designed not to have the component offset scaled (designed
|
||||
for the Microsoft TrueType rasterizer)
|
||||
|
||||
Perhaps you could add a load_flag to allow the user to define the
|
||||
default setting?
|
||||
|
||||
David says:
|
||||
|
||||
Wow, I was not even aware of this, it will probably take a little time
|
||||
to implement since I don't have any font that implement these
|
||||
"features", and also because I believe that we're running out of bits
|
||||
for "load_flag", some other way to set preferences is probably needed.
|
||||
|
||||
|
||||
|
||||
--- END OF OPEN BUGS ---
|
||||
|
||||
|
||||
|
||||
BAD-TTNAMEID.H
|
||||
|
||||
The file "ttnameid.h" contains various constant macro definitions
|
||||
corresponding to important values defined by the TrueType specification.
|
||||
|
||||
Joe Man <trmetal@yahoo.com.hk> reports that:
|
||||
|
||||
According to the information from TrueType v1.66:
|
||||
|
||||
Platform ID = 3 (Microsoft)
|
||||
the Encoding ID of GB2312 = 4
|
||||
the Encoding ID of big5 = 3
|
||||
|
||||
However, I have found that in ttnameid.h:
|
||||
|
||||
TT_MS_ID_GB2312 = 3
|
||||
TT_MS_ID_BIG_5 = 4
|
||||
|
||||
Which one is correct?
|
||||
|
||||
Antoine replied that this was a bug in the TT 1.66 specification, and that
|
||||
FreeType followed the most recent TrueType/OpenType specification here.
|
||||
|
||||
|
||||
|
||||
AUTOHINT-SBITS
|
||||
|
||||
When trying to load a glyph, with the auto-hinter activated (i.e., when
|
||||
using FT_LOAD_FORCE_AUTOHINT, or when the font driver doesn't provide its
|
||||
own hinter), embedded bitmaps are _never_ loaded, unlike the default
|
||||
behaviour described by the API specification.
|
||||
|
||||
This seems to be a bug in FT_Load_Glyph(), but there is no way to solve it
|
||||
efficiently without making a few important internal changes to the
|
||||
library's design (more importantly, to the font driver interface).
|
||||
|
||||
This has been corrected with a hack in FT_Load_Glyph(). More important
|
||||
internal changes should help get rid of it with a clean solution in a
|
||||
further release like FreeType 2.1.
|
||||
|
||||
|
||||
|
||||
BAD-T1-CHARMAP
|
||||
|
||||
Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
|
||||
charset. Those characters are mapped as MAC-one in glnames.py, so they
|
||||
cannot be shown in Adobe Type1 fonts.
|
||||
|
||||
(This was due to a bug in the "glnames.py" script used to generate the
|
||||
table of glyph names in 'src/psaux/pstables.h'.)
|
||||
|
||||
|
||||
|
||||
BAD-UNIXXXX-NAMES
|
||||
|
||||
Glyph names like uniXXXX are not recognized as they should be. It seems
|
||||
that code in psmodule.c for uniXXXX glyph names was never tested. The
|
||||
patch is very simple.
|
||||
|
||||
(A simple bug that was left un-noticed due to the fact that I don't have
|
||||
any Postscript font that use this convention, unfortunately.)
|
||||
|
||||
|
||||
|
||||
GLYPH_TO_BITMAP-BUG
|
||||
|
||||
Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
|
||||
outline, creating weird alignment artefacts.
|
||||
|
||||
This subtle bug was really in the file `src/smooth/ftsmooth.c'.
|
||||
Basically, the outline was shifted before rendering it into a new bitmap
|
||||
buffer. However, it wasn't properly un-shifted after that operation.
|
||||
|
||||
This was only noticeable with certain glyphs or certain fonts; it crept in
|
||||
a long time ago.
|
||||
|
||||
The same bug has been fixed in src/raster/ftrender1.c also.
|
||||
|
||||
|
||||
|
||||
TT-GLYPH-CRASH
|
||||
|
||||
The library crashed when trying to load certain glyphs from an
|
||||
automatically generated TrueType file (tt1095m_.ttf submitted by Scott
|
||||
Long).
|
||||
|
||||
It turned out that the font contained invalid glyph data (i.e. was
|
||||
broken), but the TrueType glyph loader in FreeType wasn't paranoid enough,
|
||||
which resulted in nasty memory overwrites all over the place.
|
||||
|
||||
|
||||
|
||||
T1-FONT-CRASH
|
||||
|
||||
The library crashed when trying to load the "Stalingrad Regular" face from
|
||||
the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print team
|
||||
I believe).
|
||||
|
||||
This was due to the fact that the font missed a full font name entry,
|
||||
though boasted a family name and postscript name. The Type 1 face loader
|
||||
didn't check for these pathetic cases and seg-faulted.
|
||||
|
||||
|
||||
|
||||
BAD-ADVANCES
|
||||
|
||||
All scalable font drivers returned un-fitted glyph advances when
|
||||
FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
|
||||
old but hadn't been spotted because all test programs actually explicitly
|
||||
or implicitly (i.e. through the cache) rounded the advance widths of
|
||||
glyphs.
|
||||
|
||||
This resulted in poor rendering of a number of client applications however
|
||||
(it is strange to see they took so long to notify the FreeType team).
|
||||
|
||||
|
||||
|
||||
GLYPH-TO-BITMAP-BUG
|
||||
|
||||
FT_Glyph_To_Bitmap() did incorrectly modify the source glyph in certain
|
||||
cases, which resulted in random behaviour and bad text rendering. This
|
||||
was spotted to bugs in both the monochrome and smooth rasterizer.
|
||||
|
||||
|
||||
=== end of file ===
|
276
reactos/lib/freetype/docs/BUILD
Normal file
276
reactos/lib/freetype/docs/BUILD
Normal file
|
@ -0,0 +1,276 @@
|
|||
|
||||
FreeType 2 compilation how-to
|
||||
=============================
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
Welcome to the FreeType 2 library. You'll find in this document
|
||||
instructions on how to compile the library on your favorite platform.
|
||||
|
||||
|
||||
I. QUICK COMMAND-LINE GUIDE
|
||||
---------------------------
|
||||
|
||||
THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY
|
||||
WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE".
|
||||
|
||||
Install GNU Make (version 3.78.1 or newer), then try the following
|
||||
on Unix or any system with gcc:
|
||||
|
||||
make // this will setup the build
|
||||
make // this will build the library
|
||||
|
||||
On Win32 + Visual C++:
|
||||
|
||||
make setup visualc // setup the build for VisualC++ on Win32
|
||||
make // build the library
|
||||
|
||||
Then, go to the `demos' directory and type
|
||||
|
||||
make
|
||||
|
||||
|
||||
Note that on Unix, the first `make' invocation will run a configure
|
||||
script (which is located in `freetype2/builds/unix/'. You can also
|
||||
pass parameters to this script with the CFG variable, as in:
|
||||
|
||||
make CFG="--prefix=/usr/local"
|
||||
make
|
||||
|
||||
|
||||
If this doesn't work, read the following.
|
||||
|
||||
|
||||
II. COMMAND-LINE COMPILATION
|
||||
----------------------------
|
||||
|
||||
Note that if you do not want to compile FreeType 2 from a command
|
||||
line shell, please skip to section III below (DETAILED COMPILATION).
|
||||
|
||||
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:
|
||||
|
||||
a. 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 -- trying to build the library with any other Make tool will
|
||||
*fail*.
|
||||
|
||||
NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
|
||||
REALLY INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
|
||||
|
||||
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.78.1 OR NEWER IS NEEDED!
|
||||
|
||||
b. 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.
|
||||
=============================================================
|
||||
|
||||
|
||||
If the detected settings correspond to your platform and compiler,
|
||||
skip to step e. Note that if your platform is completely alien to
|
||||
the build system, the detected platform will be `ansi'.
|
||||
|
||||
c. 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 defaut compiler), invoke GNU Make
|
||||
with
|
||||
|
||||
make setup <compiler>
|
||||
|
||||
For example:
|
||||
|
||||
to use Visual C++ on Win32, type: "make setup visualc"
|
||||
to use LCC-Win32 on Win32, type: "make setup lcc"
|
||||
|
||||
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' (note that we hope to make the list
|
||||
displayed at user demand in the final release).
|
||||
|
||||
If you are satisfied by the new configuration summary, skip to
|
||||
step e.
|
||||
|
||||
d. 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 e.
|
||||
|
||||
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'.
|
||||
|
||||
e. 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.
|
||||
|
||||
To launch the build, simply invoke GNU Make again: The top
|
||||
Makefile will detect the configuration file and run the build with
|
||||
it.
|
||||
|
||||
f. Build the demonstration programs
|
||||
|
||||
|
||||
III. DETAILED COMPILATION PROCEDURE
|
||||
-----------------------------------
|
||||
|
||||
If you don't want to compile FreeType 2 from the command-line (for
|
||||
example if you use a graphical IDE on a Mac or Windows), you will
|
||||
need to understand how the FreeType files are organized.
|
||||
|
||||
FreeType 2 has a very modular design, and it is made of several
|
||||
components. Each component must be compiled as a stand-alone object
|
||||
file, even if it is really made of several C source files. For
|
||||
example, the `base layer' component is made of the following C
|
||||
files:
|
||||
|
||||
src/
|
||||
base/
|
||||
ftcalc.c - computations
|
||||
ftextend.c - extensions support
|
||||
ftlist.c - simple list management
|
||||
ftobjs.c - object management
|
||||
ftoutln.c - simple outline processing
|
||||
ftstream.c - stream input
|
||||
|
||||
However, you can create a single object file by compiling the file
|
||||
`src/base/ftbase.c', which basically contains
|
||||
|
||||
#include "ftcalc.c"
|
||||
#include "ftobjs.c"
|
||||
#include "ftstream.c"
|
||||
#include "ftlist.c"
|
||||
#include "ftoutln.c"
|
||||
#include "ftextend.c"
|
||||
|
||||
Similarly, each component has a single `englobing' C file to compile
|
||||
it as a stand-alone object:
|
||||
|
||||
src/autohint/autohint.c - the autohinting module
|
||||
src/base/ftbase.c - the base layer, high-level interface
|
||||
src/cache/ftcache.c - a glyph and image caching system
|
||||
(still experimental)
|
||||
src/cff/cff.c - the OpenType font driver
|
||||
src/cid/type1cid.c - the CID-keyed font driver
|
||||
src/psaux/psaux.c - the PS support module
|
||||
src/psnames/psnames.c - a support module to handle PS glyph
|
||||
names
|
||||
src/raster1/raster1.c - the monochrome raster module
|
||||
src/sfnt/sfnt.c - the `sfnt' module
|
||||
src/smooth/smooth.c - the anti-aliasing raster module
|
||||
src/truetype/truetype.c - the TrueType font driver
|
||||
src/type1/type1.c - the Type 1 font driver
|
||||
|
||||
The last module of FreeType 2, `winfonts' (implementing support for
|
||||
Windows FNT format), is a single file.
|
||||
|
||||
To compile one component, do the following:
|
||||
|
||||
- Add the top-level `include' directory to your compilation
|
||||
include path
|
||||
|
||||
- Add the `src/<component>' directory to your compilation include
|
||||
path, or simply `cd' to the component's source directory.
|
||||
|
||||
- Compile the component `source' file (see list below); you don't
|
||||
need to be in the component's directory if you added
|
||||
`src/<component>' to your include path.
|
||||
|
||||
For example, the following line can be used to compile the truetype
|
||||
driver on Unix:
|
||||
|
||||
cd freetype2/
|
||||
cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c
|
||||
|
||||
Alternatively:
|
||||
|
||||
cd freetype2/src/truetype
|
||||
cc -c -I../../include truetype.c
|
||||
|
||||
Finally, FreeType 2 contains some other components:
|
||||
|
||||
src/base/ftsystem.c - system-specific memory and i/o support
|
||||
src/base/ftinit.c - initialization layer
|
||||
src/base/ftdebug.c - debugging component (empty in release
|
||||
build)
|
||||
src/base/ftglyph.c - optional convenience functions
|
||||
|
||||
All font drivers are optional. The `sfnt', `psaux', and `psnames'
|
||||
modules are mandatory for certain drivers. However, you may need to
|
||||
update the list of drivers that are statically linked to the
|
||||
library, which is located in the configuration file
|
||||
`include/freetype/config/ftmodule.h'.
|
||||
|
||||
|
||||
IV. 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 ftsystem.c
|
||||
cc -c -Ifreetype2/include ftinit.c
|
||||
cc -c -Ifreetype2/include ftdebug.c
|
||||
cc -c -Ifreetype2/include ftbase.c
|
||||
etc.
|
||||
|
||||
You don't need to define the FT_FLAT_COMPILATION macro (as this was
|
||||
required in previous releases of FreeType 2).
|
||||
|
||||
End of file
|
1953
reactos/lib/freetype/docs/CHANGES
Normal file
1953
reactos/lib/freetype/docs/CHANGES
Normal file
File diff suppressed because it is too large
Load diff
162
reactos/lib/freetype/docs/DEBUG.TXT
Normal file
162
reactos/lib/freetype/docs/DEBUG.TXT
Normal file
|
@ -0,0 +1,162 @@
|
|||
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
|
||||
used to print error messages during program execution. This will
|
||||
not stop the program, but is very useful to spot invalid fonts
|
||||
during development and code wordarounds for them.
|
||||
|
||||
FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
#define this macro if you want to compile both the FT_ERROR macro
|
||||
and the FT_TRACE one. This also includes the variants FT_TRACE0,
|
||||
FT_TRACE1, FT_TRACE2, ..., FT_TRACE6.
|
||||
|
||||
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 engines 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's 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 un-affected.
|
||||
|
||||
|
||||
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 must use with 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>.
|
||||
|
||||
Each such component is assigned a "debug level", ranging from 0 to 6
|
||||
when a program linked with FreeType starts, through the use of the
|
||||
FT2_DEBUG environment variable, described later.
|
||||
|
||||
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 print-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_TRACE6
|
||||
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, and "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)
|
||||
|
||||
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 leaked memory blocks as
|
||||
well as other common errors like double frees. It is also capable
|
||||
of reporting _where_ the leaked 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.
|
||||
|
||||
|
||||
End of file
|
174
reactos/lib/freetype/docs/FTL.txt
Normal file
174
reactos/lib/freetype/docs/FTL.txt
Normal file
|
@ -0,0 +1,174 @@
|
|||
The FreeType Project LICENSE
|
||||
----------------------------
|
||||
|
||||
2002-Apr-11
|
||||
|
||||
Copyright 1996-2002 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg
|
||||
|
||||
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
The FreeType Project is distributed in several archive packages;
|
||||
some of them may contain, in addition to the FreeType font engine,
|
||||
various tools and contributions which rely on, or relate to, the
|
||||
FreeType Project.
|
||||
|
||||
This license applies to all files found in such packages, and
|
||||
which do not fall under their own explicit license. The license
|
||||
affects thus the FreeType font engine, the test programs,
|
||||
documentation and makefiles, at the very least.
|
||||
|
||||
This license was inspired by the BSD, Artistic, and IJG
|
||||
(Independent JPEG Group) licenses, which all encourage inclusion
|
||||
and use of free software in commercial and freeware products
|
||||
alike. As a consequence, its main points are that:
|
||||
|
||||
o We don't promise that this software works. However, we will be
|
||||
interested in any kind of bug reports. (`as is' distribution)
|
||||
|
||||
o You can use this software for whatever you want, in parts or
|
||||
full form, without having to pay us. (`royalty-free' usage)
|
||||
|
||||
o You may not pretend that you wrote this software. If you use
|
||||
it, or only parts of it, in a program, you must acknowledge
|
||||
somewhere in your documentation that you have used the
|
||||
FreeType code. (`credits')
|
||||
|
||||
We specifically permit and encourage the inclusion of this
|
||||
software, with or without modifications, in commercial products.
|
||||
We disclaim all warranties covering The FreeType Project and
|
||||
assume no liability related to The FreeType Project.
|
||||
|
||||
|
||||
Finally, many people asked us for a preferred form for a
|
||||
credit/disclaimer to use in compliance with this license. We thus
|
||||
encourage you to use the following text:
|
||||
|
||||
"""
|
||||
Portions of this software are copyright © 1996-2002 The FreeType
|
||||
Project (www.freetype.org). All rights reserved.
|
||||
"""
|
||||
|
||||
|
||||
Legal Terms
|
||||
===========
|
||||
|
||||
0. Definitions
|
||||
--------------
|
||||
|
||||
Throughout this license, the terms `package', `FreeType Project',
|
||||
and `FreeType archive' refer to the set of files originally
|
||||
distributed by the authors (David Turner, Robert Wilhelm, and
|
||||
Werner Lemberg) as the `FreeType Project', be they named as alpha,
|
||||
beta or final release.
|
||||
|
||||
`You' refers to the licensee, or person using the project, where
|
||||
`using' is a generic term including compiling the project's source
|
||||
code as well as linking it to form a `program' or `executable'.
|
||||
This program is referred to as `a program using the FreeType
|
||||
engine'.
|
||||
|
||||
This license applies to all files distributed in the original
|
||||
FreeType Project, including all source code, binaries and
|
||||
documentation, unless otherwise stated in the file in its
|
||||
original, unmodified form as distributed in the original archive.
|
||||
If you are unsure whether or not a particular file is covered by
|
||||
this license, you must contact us to verify this.
|
||||
|
||||
The FreeType Project is copyright (C) 1996-2000 by David Turner,
|
||||
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
|
||||
specified below.
|
||||
|
||||
1. No Warranty
|
||||
--------------
|
||||
|
||||
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
|
||||
USE, OF THE FREETYPE PROJECT.
|
||||
|
||||
2. Redistribution
|
||||
-----------------
|
||||
|
||||
This license grants a worldwide, royalty-free, perpetual and
|
||||
irrevocable right and license to use, execute, perform, compile,
|
||||
display, copy, create derivative works of, distribute and
|
||||
sublicense the FreeType Project (in both source and object code
|
||||
forms) and derivative works thereof for any purpose; and to
|
||||
authorize others to exercise some or all of the rights granted
|
||||
herein, subject to the following conditions:
|
||||
|
||||
o Redistribution of source code must retain this license file
|
||||
(`FTL.TXT') unaltered; any additions, deletions or changes to
|
||||
the original files must be clearly indicated in accompanying
|
||||
documentation. The copyright notices of the unaltered,
|
||||
original files must be preserved in all copies of source
|
||||
files.
|
||||
|
||||
o Redistribution in binary form must provide a disclaimer that
|
||||
states that the software is based in part of the work of the
|
||||
FreeType Team, in the distribution documentation. We also
|
||||
encourage you to put an URL to the FreeType web page in your
|
||||
documentation, though this isn't mandatory.
|
||||
|
||||
These conditions apply to any software derived from or based on
|
||||
the FreeType Project, not just the unmodified files. If you use
|
||||
our work, you must acknowledge us. However, no fee need be paid
|
||||
to us.
|
||||
|
||||
3. Advertising
|
||||
--------------
|
||||
|
||||
Neither the FreeType authors and contributors nor you shall use
|
||||
the name of the other for commercial, advertising, or promotional
|
||||
purposes without specific prior written permission.
|
||||
|
||||
We suggest, but do not require, that you use one or more of the
|
||||
following phrases to refer to this software in your documentation
|
||||
or advertising materials: `FreeType Project', `FreeType Engine',
|
||||
`FreeType library', or `FreeType Distribution'.
|
||||
|
||||
As you have not signed this license, you are not required to
|
||||
accept it. However, as the FreeType Project is copyrighted
|
||||
material, only this license, or another one contracted with the
|
||||
authors, grants you the right to use, distribute, and modify it.
|
||||
Therefore, by using, distributing, or modifying the FreeType
|
||||
Project, you indicate that you understand and accept all the terms
|
||||
of this license.
|
||||
|
||||
4. Contacts
|
||||
-----------
|
||||
|
||||
There are two mailing lists related to FreeType:
|
||||
|
||||
o freetype@freetype.org
|
||||
|
||||
Discusses general use and applications of FreeType, as well as
|
||||
future and wanted additions to the library and distribution.
|
||||
If you are looking for support, start in this list if you
|
||||
haven't found anything to help you in the documentation.
|
||||
|
||||
o devel@freetype.org
|
||||
|
||||
Discusses bugs, as well as engine internals, design issues,
|
||||
specific licenses, porting, etc.
|
||||
|
||||
o http://www.freetype.org
|
||||
|
||||
Holds the current FreeType web page, which will allow you to
|
||||
download our latest development version and read online
|
||||
documentation.
|
||||
|
||||
You can also contact us individually at:
|
||||
|
||||
David Turner <david.turner@freetype.org>
|
||||
Robert Wilhelm <robert.wilhelm@freetype.org>
|
||||
Werner Lemberg <werner.lemberg@freetype.org>
|
||||
|
||||
|
||||
--- end of LICENSE.TXT ---
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue