update files for classic MacOS support

This commit is contained in:
Suzuki, Toshiya (鈴木俊哉) 2005-10-28 16:03:06 +00:00
parent 4511576ba7
commit 69d45172b6
10 changed files with 1969 additions and 116 deletions

View File

@ -1,3 +1,24 @@
2005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
ftlib.prj is unmaintained and incompatible with current tree.
freetype.mak is unrecoverably broken.
* builds/mac/ftlib.prj.xml: Added.
generated by Metrowerks CodeWarrior 9.0.
* builds/mac/FreeType.m68k_far.make.txt,
builds/mac/FreeType.m68k_cfm.make.txt,
builds/mac/FreeType.ppc_classic.make.txt,
builds/mac/FreeType.ppc_carbon.make.txt: Added.
skelton files of MPW makefiles.
* builds/mac/ascii2mpw.py: Added.
Python script to make MPW makefile from skelton.
* builds/mac/README: Updated.
Almost rewritten to use new files.
2005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* src/base/ftmac.c: fix invalid casts from NULL to integer typed

View File

@ -0,0 +1,129 @@
# File: FreeType.m68k_cfm.make
# Target: FreeType.m68k_cfm
# Created: Thursday, October 27, 2005 09:23:25 PM
MAKEFILE = FreeType.m68k_cfm.make
\xA5MondoBuild\xA5 = {MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
ObjDir = :objs:
Includes = \xB6
-ansi strict \xB6
-includes unix \xB6
-i :include: \xB6
-i :src:
Sym-68K = -sym off
COptions = {Includes} {Sym-68K} -model cfmseg
### Source Files ###
SrcFiles = \xB6
:src:base:ftsystem.c \xB6
:src:base:ftdebug.c \xB6
:src:base:ftinit.c \xB6
:src:base:ftbase.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftmm.c \xB6
:src:base:ftbbox.c \xB6
:src:cache:ftcache.c \xB6
:src:cff:cff.c \xB6
:src:cid:type1cid.c \xB6
:src:pcf:pcf.c \xB6
:src:psaux:psaux.c \xB6
:src:psnames:psmodule.c \xB6
:src:sfnt:sfnt.c \xB6
:src:smooth:smooth.c \xB6
:src:truetype:truetype.c \xB6
:src:type1:type1.c \xB6
:src:winfonts:winfnt.c \xB6
:src:base:ftmac.c
### Object Files ###
ObjFiles-68K = \xB6
"{ObjDir}ftsystem.c.o" \xB6
"{ObjDir}ftdebug.c.o" \xB6
"{ObjDir}ftinit.c.o" \xB6
"{ObjDir}ftbase.c.o" \xB6
"{ObjDir}ftglyph.c.o" \xB6
"{ObjDir}ftmm.c.o" \xB6
"{ObjDir}ftbbox.c.o" \xB6
"{ObjDir}ftcache.c.o" \xB6
"{ObjDir}cff.c.o" \xB6
"{ObjDir}type1cid.c.o" \xB6
"{ObjDir}pcf.c.o" \xB6
"{ObjDir}psaux.c.o" \xB6
"{ObjDir}psmodule.c.o" \xB6
"{ObjDir}sfnt.c.o" \xB6
"{ObjDir}smooth.c.o" \xB6
"{ObjDir}truetype.c.o" \xB6
"{ObjDir}type1.c.o" \xB6
"{ObjDir}winfnt.c.o" \xB6
"{ObjDir}ftmac.c.o"
### Libraries ###
LibFiles-68K =
### Default Rules ###
.c.o \xC4 .c {\xA5MondoBuild\xA5}
{C} {depDir}{default}.c -o {targDir}{default}.c.o {COptions}
### Build Rules ###
FreeType.m68k_cfm \xC4\xC4 FreeType.m68k_cfm.o
FreeType.m68k_cfm.o \xC4\xC4 {ObjFiles-68K} {LibFiles-68K} {\xA5MondoBuild\xA5}
Lib \xB6
-o {Targ} \xB6
{ObjFiles-68K} \xB6
{LibFiles-68K} \xB6
{Sym-68K} \xB6
-mf -d
### Required Dependencies ###
"{ObjDir}ftsystem.c.o" \xC4 :src:base:ftsystem.c
"{ObjDir}ftdebug.c.o" \xC4 :src:base:ftdebug.c
"{ObjDir}ftinit.c.o" \xC4 :src:base:ftinit.c
"{ObjDir}ftbase.c.o" \xC4 :src:base:ftbase.c
"{ObjDir}ftglyph.c.o" \xC4 :src:base:ftglyph.c
"{ObjDir}ftmm.c.o" \xC4 :src:base:ftmm.c
"{ObjDir}ftbbox.c.o" \xC4 :src:base:ftbbox.c
"{ObjDir}ftcache.c.o" \xC4 :src:cache:ftcache.c
"{ObjDir}cff.c.o" \xC4 :src:cff:cff.c
"{ObjDir}type1cid.c.o" \xC4 :src:cid:type1cid.c
"{ObjDir}pcf.c.o" \xC4 :src:pcf:pcf.c
"{ObjDir}psaux.c.o" \xC4 :src:psaux:psaux.c
"{ObjDir}psmodule.c.o" \xC4 :src:psnames:psmodule.c
"{ObjDir}sfnt.c.o" \xC4 :src:sfnt:sfnt.c
"{ObjDir}smooth.c.o" \xC4 :src:smooth:smooth.c
"{ObjDir}truetype.c.o" \xC4 :src:truetype:truetype.c
"{ObjDir}type1.c.o" \xC4 :src:type1:type1.c
"{ObjDir}winfnt.c.o" \xC4 :src:winfonts:winfnt.c
"{ObjDir}ftmac.c.o" \xC4 :src:base:ftmac.c
### Optional Dependencies ###
### Build this target to generate "include file" dependencies. ###
Dependencies \xC4 $OutOfDate
MakeDepend \xB6
-append {MAKEFILE} \xB6
-ignore "{CIncludes}" \xB6
-objdir "{ObjDir}" \xB6
-objext .o \xB6
{Includes} \xB6
{SrcFiles}

View File

@ -0,0 +1,128 @@
# File: FreeType.m68k_far.make
# Target: FreeType.m68k_far
# Created: Tuesday, October 25, 2005 03:34:05 PM
MAKEFILE = FreeType.m68k_far.make
\xA5MondoBuild\xA5 = {MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
ObjDir = :objs:
Includes = \xB6
-ansi strict \xB6
-includes unix \xB6
-i :include: \xB6
-i :src:
Sym-68K = -sym off
COptions = {Includes} {Sym-68K} -model far
### Source Files ###
SrcFiles = \xB6
:src:base:ftsystem.c \xB6
:src:base:ftdebug.c \xB6
:src:base:ftinit.c \xB6
:src:base:ftbase.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftmm.c \xB6
:src:base:ftbbox.c \xB6
:src:cache:ftcache.c \xB6
:src:cff:cff.c \xB6
:src:cid:type1cid.c \xB6
:src:pcf:pcf.c \xB6
:src:psaux:psaux.c \xB6
:src:psnames:psmodule.c \xB6
:src:sfnt:sfnt.c \xB6
:src:smooth:smooth.c \xB6
:src:truetype:truetype.c \xB6
:src:type1:type1.c \xB6
:src:winfonts:winfnt.c \xB6
:src:base:ftmac.c
### Object Files ###
ObjFiles-68K = \xB6
"{ObjDir}ftsystem.c.o" \xB6
"{ObjDir}ftdebug.c.o" \xB6
"{ObjDir}ftinit.c.o" \xB6
"{ObjDir}ftbase.c.o" \xB6
"{ObjDir}ftglyph.c.o" \xB6
"{ObjDir}ftmm.c.o" \xB6
"{ObjDir}ftbbox.c.o" \xB6
"{ObjDir}ftcache.c.o" \xB6
"{ObjDir}cff.c.o" \xB6
"{ObjDir}type1cid.c.o" \xB6
"{ObjDir}pcf.c.o" \xB6
"{ObjDir}psaux.c.o" \xB6
"{ObjDir}psmodule.c.o" \xB6
"{ObjDir}sfnt.c.o" \xB6
"{ObjDir}smooth.c.o" \xB6
"{ObjDir}truetype.c.o" \xB6
"{ObjDir}type1.c.o" \xB6
"{ObjDir}winfnt.c.o" \xB6
"{ObjDir}ftmac.c.o"
### Libraries ###
LibFiles-68K =
### Default Rules ###
.c.o \xC4 .c {\xA5MondoBuild\xA5}
{C} {depDir}{default}.c -o {targDir}{default}.c.o {COptions}
### Build Rules ###
FreeType.m68k_far \xC4\xC4 FreeType.m68k_far.o
FreeType.m68k_far.o \xC4\xC4 {ObjFiles-68K} {LibFiles-68K} {\xA5MondoBuild\xA5}
Lib \xB6
-o {Targ} \xB6
{ObjFiles-68K} \xB6
{LibFiles-68K} \xB6
{Sym-68K} \xB6
-mf -d
### Required Dependencies ###
"{ObjDir}ftsystem.c.o" \xC4 :src:base:ftsystem.c
"{ObjDir}ftdebug.c.o" \xC4 :src:base:ftdebug.c
"{ObjDir}ftinit.c.o" \xC4 :src:base:ftinit.c
"{ObjDir}ftbase.c.o" \xC4 :src:base:ftbase.c
"{ObjDir}ftglyph.c.o" \xC4 :src:base:ftglyph.c
"{ObjDir}ftmm.c.o" \xC4 :src:base:ftmm.c
"{ObjDir}ftbbox.c.o" \xC4 :src:base:ftbbox.c
"{ObjDir}ftcache.c.o" \xC4 :src:cache:ftcache.c
"{ObjDir}cff.c.o" \xC4 :src:cff:cff.c
"{ObjDir}type1cid.c.o" \xC4 :src:cid:type1cid.c
"{ObjDir}pcf.c.o" \xC4 :src:pcf:pcf.c
"{ObjDir}psaux.c.o" \xC4 :src:psaux:psaux.c
"{ObjDir}psmodule.c.o" \xC4 :src:psnames:psmodule.c
"{ObjDir}sfnt.c.o" \xC4 :src:sfnt:sfnt.c
"{ObjDir}smooth.c.o" \xC4 :src:smooth:smooth.c
"{ObjDir}truetype.c.o" \xC4 :src:truetype:truetype.c
"{ObjDir}type1.c.o" \xC4 :src:type1:type1.c
"{ObjDir}winfnt.c.o" \xC4 :src:winfonts:winfnt.c
"{ObjDir}ftmac.c.o" \xC4 :src:base:ftmac.c
### Optional Dependencies ###
### Build this target to generate "include file" dependencies. ###
Dependencies \xC4 $OutOfDate
MakeDepend \xB6
-append {MAKEFILE} \xB6
-ignore "{CIncludes}" \xB6
-objdir "{ObjDir}" \xB6
-objext .o \xB6
{Includes} \xB6
{SrcFiles}

View File

@ -0,0 +1,132 @@
# File: FreeType.ppc_carbon.make
# Target: FreeType.ppc_carbon
# Created: Friday, October 28, 2005 03:40:06 PM
MAKEFILE = FreeType.ppc_carbon.make
\xA5MondoBuild\xA5 = {MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
ObjDir = :objs:
Includes = \xB6
-ansi strict \xB6
-includes unix \xB6
-i :include: \xB6
-i :src:
Sym-PPC = -sym off
PPCCOptions = {Includes} {Sym-PPC} -d TARGET_API_MAC_CARBON=1
### Source Files ###
SrcFiles = \xB6
:src:base:ftsystem.c \xB6
:src:base:ftdebug.c \xB6
:src:base:ftinit.c \xB6
:src:base:ftbase.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftmm.c \xB6
:src:base:ftbbox.c \xB6
:src:cache:ftcache.c \xB6
:src:cff:cff.c \xB6
:src:cid:type1cid.c \xB6
:src:pcf:pcf.c \xB6
:src:psaux:psaux.c \xB6
:src:psnames:psmodule.c \xB6
:src:sfnt:sfnt.c \xB6
:src:smooth:smooth.c \xB6
:src:truetype:truetype.c \xB6
:src:type1:type1.c \xB6
:src:winfonts:winfnt.c \xB6
:src:base:ftmac.c
### Object Files ###
ObjFiles-PPC = \xB6
"{ObjDir}ftsystem.c.x" \xB6
"{ObjDir}ftdebug.c.x" \xB6
"{ObjDir}ftinit.c.x" \xB6
"{ObjDir}ftbase.c.x" \xB6
"{ObjDir}ftglyph.c.x" \xB6
"{ObjDir}ftmm.c.x" \xB6
"{ObjDir}ftbbox.c.x" \xB6
"{ObjDir}ftcache.c.x" \xB6
"{ObjDir}cff.c.x" \xB6
"{ObjDir}type1cid.c.x" \xB6
"{ObjDir}pcf.c.x" \xB6
"{ObjDir}psaux.c.x" \xB6
"{ObjDir}psmodule.c.x" \xB6
"{ObjDir}sfnt.c.x" \xB6
"{ObjDir}smooth.c.x" \xB6
"{ObjDir}truetype.c.x" \xB6
"{ObjDir}type1.c.x" \xB6
"{ObjDir}winfnt.c.x" \xB6
"{ObjDir}ftmac.c.x"
### Libraries ###
LibFiles-PPC =
### Default Rules ###
.c.x \xC4 .c {\xA5MondoBuild\xA5}
{PPCC} {depDir}{default}.c -o {targDir}{default}.c.x {PPCCOptions}
### Build Rules ###
FreeType.ppc_carbon \xC4\xC4 FreeType.ppc_carbon.o
FreeType.ppc_carbon.o \xC4\xC4 {ObjFiles-PPC} {LibFiles-PPC} {\xA5MondoBuild\xA5}
PPCLink \xB6
-o {Targ} \xB6
{ObjFiles-PPC} \xB6
{LibFiles-PPC} \xB6
{Sym-PPC} \xB6
-mf -d \xB6
-t 'XCOF' \xB6
-c 'MPS ' \xB6
-xm l
### Required Dependencies ###
"{ObjDir}ftsystem.c.x" \xC4 :src:base:ftsystem.c
"{ObjDir}ftdebug.c.x" \xC4 :src:base:ftdebug.c
"{ObjDir}ftinit.c.x" \xC4 :src:base:ftinit.c
"{ObjDir}ftbase.c.x" \xC4 :src:base:ftbase.c
"{ObjDir}ftglyph.c.x" \xC4 :src:base:ftglyph.c
"{ObjDir}ftmm.c.x" \xC4 :src:base:ftmm.c
"{ObjDir}ftbbox.c.x" \xC4 :src:base:ftbbox.c
"{ObjDir}ftcache.c.x" \xC4 :src:cache:ftcache.c
"{ObjDir}cff.c.x" \xC4 :src:cff:cff.c
"{ObjDir}type1cid.c.x" \xC4 :src:cid:type1cid.c
"{ObjDir}pcf.c.x" \xC4 :src:pcf:pcf.c
"{ObjDir}psaux.c.x" \xC4 :src:psaux:psaux.c
"{ObjDir}psmodule.c.x" \xC4 :src:psnames:psmodule.c
"{ObjDir}sfnt.c.x" \xC4 :src:sfnt:sfnt.c
"{ObjDir}smooth.c.x" \xC4 :src:smooth:smooth.c
"{ObjDir}truetype.c.x" \xC4 :src:truetype:truetype.c
"{ObjDir}type1.c.x" \xC4 :src:type1:type1.c
"{ObjDir}winfnt.c.x" \xC4 :src:winfonts:winfnt.c
"{ObjDir}ftmac.c.x" \xC4 :src:base:ftmac.c
### Optional Dependencies ###
### Build this target to generate "include file" dependencies. ###
Dependencies \xC4 $OutOfDate
MakeDepend \xB6
-append {MAKEFILE} \xB6
-ignore "{CIncludes}" \xB6
-objdir "{ObjDir}" \xB6
-objext .x \xB6
{Includes} \xB6
{SrcFiles}

View File

@ -0,0 +1,133 @@
# File: FreeType.ppc_classic.make
# Target: FreeType.ppc_classic
# Created: Thursday, October 27, 2005 07:42:43 PM
MAKEFILE = FreeType.ppc_classic.make
\xA5MondoBuild\xA5 = {MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
ObjDir = :objs:
Includes = \xB6
-ansi strict \xB6
-includes unix \xB6
-i :include: \xB6
-i :src:
Sym-PPC = -sym off
PPCCOptions = {Includes} {Sym-PPC}
### Source Files ###
SrcFiles = \xB6
:src:base:ftsystem.c \xB6
:src:base:ftdebug.c \xB6
:src:base:ftinit.c \xB6
:src:base:ftbase.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftmm.c \xB6
:src:base:ftbbox.c \xB6
:src:cache:ftcache.c \xB6
:src:cff:cff.c \xB6
:src:cid:type1cid.c \xB6
:src:pcf:pcf.c \xB6
:src:psaux:psaux.c \xB6
:src:psnames:psmodule.c \xB6
:src:sfnt:sfnt.c \xB6
:src:smooth:smooth.c \xB6
:src:truetype:truetype.c \xB6
:src:type1:type1.c \xB6
:src:winfonts:winfnt.c \xB6
:src:base:ftmac.c
### Object Files ###
ObjFiles-PPC = \xB6
"{ObjDir}ftsystem.c.x" \xB6
"{ObjDir}ftdebug.c.x" \xB6
"{ObjDir}ftinit.c.x" \xB6
"{ObjDir}ftbase.c.x" \xB6
"{ObjDir}ftglyph.c.x" \xB6
"{ObjDir}ftmm.c.x" \xB6
"{ObjDir}ftbbox.c.x" \xB6
"{ObjDir}ftcache.c.x" \xB6
"{ObjDir}cff.c.x" \xB6
"{ObjDir}type1cid.c.x" \xB6
"{ObjDir}pcf.c.x" \xB6
"{ObjDir}psaux.c.x" \xB6
"{ObjDir}psmodule.c.x" \xB6
"{ObjDir}sfnt.c.x" \xB6
"{ObjDir}smooth.c.x" \xB6
"{ObjDir}truetype.c.x" \xB6
"{ObjDir}type1.c.x" \xB6
"{ObjDir}winfnt.c.x" \xB6
"{ObjDir}ftmac.c.x"
### Libraries ###
LibFiles-PPC =
### Default Rules ###
.c.x \xC4 .c {\xA5MondoBuild\xA5}
{PPCC} {depDir}{default}.c -o {targDir}{default}.c.x {PPCCOptions}
### Build Rules ###
FreeType.ppc_classic \xC4\xC4 FreeType.ppc_classic.o
FreeType.ppc_classic.o \xC4\xC4 {ObjFiles-PPC} {LibFiles-PPC} {\xA5MondoBuild\xA5}
PPCLink \xB6
-o {Targ} \xB6
{ObjFiles-PPC} \xB6
{LibFiles-PPC} \xB6
{Sym-PPC} \xB6
-mf -d \xB6
-t 'XCOF' \xB6
-c 'MPS ' \xB6
-xm l
### Required Dependencies ###
"{ObjDir}ftsystem.c.x" \xC4 :src:base:ftsystem.c
"{ObjDir}ftdebug.c.x" \xC4 :src:base:ftdebug.c
"{ObjDir}ftinit.c.x" \xC4 :src:base:ftinit.c
"{ObjDir}ftbase.c.x" \xC4 :src:base:ftbase.c
"{ObjDir}ftglyph.c.x" \xC4 :src:base:ftglyph.c
"{ObjDir}ftmm.c.x" \xC4 :src:base:ftmm.c
"{ObjDir}ftbbox.c.x" \xC4 :src:base:ftbbox.c
"{ObjDir}ftcache.c.x" \xC4 :src:cache:ftcache.c
"{ObjDir}cff.c.x" \xC4 :src:cff:cff.c
"{ObjDir}type1cid.c.x" \xC4 :src:cid:type1cid.c
"{ObjDir}pcf.c.x" \xC4 :src:pcf:pcf.c
"{ObjDir}psaux.c.x" \xC4 :src:psaux:psaux.c
"{ObjDir}psmodule.c.x" \xC4 :src:psnames:psmodule.c
"{ObjDir}sfnt.c.x" \xC4 :src:sfnt:sfnt.c
"{ObjDir}smooth.c.x" \xC4 :src:smooth:smooth.c
"{ObjDir}truetype.c.x" \xC4 :src:truetype:truetype.c
"{ObjDir}type1.c.x" \xC4 :src:type1:type1.c
"{ObjDir}winfnt.c.x" \xC4 :src:winfonts:winfnt.c
"{ObjDir}ftmac.c.x" \xC4 :src:base:ftmac.c
### Optional Dependencies ###
### Build this target to generate "include file" dependencies. ###
Dependencies \xC4 $OutOfDate
MakeDepend \xB6
-append {MAKEFILE} \xB6
-ignore "{CIncludes}" \xB6
-objdir "{ObjDir}" \xB6
-objext .x \xB6
{Includes} \xB6
{SrcFiles}

View File

@ -1,14 +1,217 @@
This folder contains
. a Makefile for Apple MPW build environment (currently PPC only)
* Makefile skeltons for Apple MPW (Macintosh's Programmers Workshop)
. supporting code and CodeWarrior Pro 7 project files to build the
FreeType library.
* Python script to generate MPW makefile from skelton
Notes:
The library will be built as a static lib in the obj/ folder.
* Metrowerks CodeWarrior 9.0 project file in XML format
Current maintainer: Leonard Rosenthol, <leonardr@lazerware.com>
Originally prepared by Just van Rossum, <just@letterror.com>
------------------------------------------------------------
1. What is this
---------------
Files in this directory are designed to build FreeType
running on classic MacOS. To build FreeType running on
Mac OS X, build as the system is UNIX.
However, Mac OS X is most useful to manipulate files in
vanilla FreeType to fit classic MacOS.
2. Requirement
--------------
You can use MPW: a free-charged developer environment
by Apple, or CodeWarrior: a commercial developer
environment by Metrowerks. GCC for MPW and Symantec
"Think C" are not tested at present.
2-1. Apple MPW
--------------
Following C compilers are tested:
m68k target: Apple SC 8.9.0d3e1
ppc target: Apple MrC 5.0.0d3c1
The final MPW-GM (official release on 1999/Dec) is too
old and cannot compile FreeType, because bundled C
compilers cannot search header files in sub directories.
Updating by the final MPW-PR (pre-release on 2001/Feb)
is required.
Required files are downloadable from:
http://developer.apple.com/tools/mpw-tools/index.html
Also you can find documents how to update by MPW-PR.
Python is required to restore MPW makefiles from the
skeltons. Python bundled to Mac OS X is enough. For
classic MacOS, MacPython is available:
http://homepages.cwi.nl/~jack/macpython/
MPW requires all files are typed by resource fork.
ResEdit bundled to MPW is enough. In Mac OS X,
/Developer/Tools/SetFile of DevTool is useful to
manipulate from commandline.
2-2. Metrowerks CodeWarriror
----------------------------
XML project file is generated and tested by
CodeWarriror 9.0. Older versions are not tested
at all. At present, static library for ppc target
is available in the project file.
3. How to build
---------------
3-1. Apple MPW
--------------
Detailed building procedure by Apple MPW is
described in following.
3-1-1. Generate MPW makefiles from the skeltons
------------------------------------------------
Here are 4 skeltons for following targets are
included.
- FreeType.m68k_far.make.txt
Ancient 32bit binary executable format for
m68k MacOS: System 6, with 32bit addressing
mode (far-pointer-model) So-called "Toolbox"
API is used.
- FreeType.m68k_cfm.make.txt
CFM binary executable format for m68k MacOS:
System 7. So-called "Toolbox" API is used.
- FreeType.ppc_classic.make.txt
CFM binary executable format for ppc MacOS:
System 7, MacOS 8, MacOS 9. So-called "Toolbox"
API is used.
- FreeType.ppc_classic.make.txt
CFM binary executable format for ppc MacOS:
MacOS 9. Carbon API is used.
At present, static library is only supported,
although targets except of m68k_far are capatble
to use shared library.
MPW makefile syntax uses 8bit characters. To keep
from violating them during version control, here
we store skeltons in pure ASCII format. You must
generate MPW makefile by Python script ascii2mpw.py.
In Mac OS X terminal, you can convert as:
python builds/mac/ascii2mpw.py \
< builds/mac/FreeType.m68k_far.make.txt \
> FreeType.m68k_far.make
The skeltons are designed to use in the top
directory where there are builds, include, src etc.
You must name the generated MPW makefile by removing
".txt" from source skelton name.
3-1-2. Add resource forks to related files
------------------------------------------
MPW's Make and C compilers cannot recognize files
without resource fork. You have to add resource
fork to the files that MPW uses. In Mac OS X
terminal of the system, you can do as:
find . -name '*.[ch]' -exec \
/Developer/Tools/SetFile -a l -c "MPS " -t TEXT \{\} \;
find . -name '*.make' -exec \
/Developer/Tools/SetFile -a l -c "MPS " -t TEXT \{\} \;
3-1-3. Open MPW shell and build
-------------------------------
Open MPW shell and go to the top directory that
FreeType sources are extracted (MPW makefile must
be located in there), from "Set Directory" in
"Directory" menu.
Choose "Build" from "Build" menu, and type the
name of project by removing ".make" from MPW
makefile, as: FreeType.m68k_far
If building is successfully finished, you can find
built library in objs/ directory.
3-2. Metrowerks CodeWarrior
---------------------------
Detailed building procedure by Metrowerks
CodeWarrior (CW) 9.0 is described in following.
3-2-1. Import XML project file
------------------------------
CW XML project file is not ready for double-
click. Start CodeWarrior IDE, and choose
"Import project" in "File" menu. Choose XML
project file: builds/mac/ftlib.prj.xml.
In next, you will be asked where to save CW
native project file: you must choose
"builds/mac/ftlib.prj". The project file is
designed with relative path from there. After
CW native project file is generated, it is
automatically loaded, small project window
titled "ftlib.prj" is displayed.
3-2-2. Building
---------------
Choose "Make" from "Project" menu. If building
is successfully finished, you can find built
library at objs/FreeTypeLib.
4. TODO
-------
4-1. All modules should be included
-----------------------------------
At present, MPW makefiles and CW project file are
just updated versions of these by Leonard. Some
modules are added after the last maintainance, they
are not included.
4-2. Working test with ftdemos
------------------------------
At present, MPW makefiles and CW project file can
build FreeType for classic MacOS. But their working
behaviours are not tested at all. Buidling ftdemos
for classic MacOS and working test is required.
4-3. Porting Jam onto MPW
-------------------------
FreeType uses Jam (and FT-Jam) for unified cross-
platform building tool. At present, Jam is not ported
to MPW. To update classic MacOS support easily,
building by Jam is expected on MPW.
------------------------------------------------------------
Last update: 2005/10/28, by suzuki toshiya
Currently maintained by
suzuki toshiya, <mpsuzuki@hiroshima-u.ac.jp>
Originally prepared by
Leonard Rosenthol, <leonardr@lazerware.com>
Just van Rossum, <just@letterror.com>
This directory is now actively maintained as part of the FreeType Project.

22
builds/mac/ascii2mpw.py Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env python
import sys
import string
if len( sys.argv ) == 1 :
for asc_line in sys.stdin.readlines():
mpw_line = string.replace(asc_line, "\\xA5", "\245")
mpw_line = string.replace(mpw_line, "\\xB6", "\266")
mpw_line = string.replace(mpw_line, "\\xC4", "\304")
mpw_line = string.replace(mpw_line, "\\xFF", "\377")
mpw_line = string.replace(mpw_line, "\n", "\r")
mpw_line = string.replace(mpw_line, "\\n", "\n")
sys.stdout.write(mpw_line)
elif sys.argv[1] == "-r" :
for mpw_line in sys.stdin.readlines():
asc_line = string.replace(mpw_line, "\n", "\\n")
asc_line = string.replace(asc_line, "\r", "\n")
asc_line = string.replace(asc_line, "\245", "\\xA5")
asc_line = string.replace(asc_line, "\266", "\\xB6")
asc_line = string.replace(asc_line, "\304", "\\xC4")
asc_line = string.replace(asc_line, "\377", "\\xFF")
sys.stdout.write(asc_line)

View File

@ -1,109 +0,0 @@
# Makefile for Apple MPW build environment (currently PPC only)
MAKEFILE = Makefile
ÿMondoBuildÿ = #{MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
SymÿPPC = #-sym on
ObjDirÿPPC = :obj:
CFLAGS = -i :include -i :src -includes unix {SymÿPPC}
OBJS = ÿ
"{ObjDirÿPPC}ftsystem.c.x" ÿ
"{ObjDirÿPPC}ftdebug.c.x" ÿ
"{ObjDirÿPPC}ftinit.c.x" ÿ
"{ObjDirÿPPC}ftbase.c.x" ÿ
"{ObjDirÿPPC}ftglyph.c.x" ÿ
"{ObjDirÿPPC}ftmm.c.x" ÿ
"{ObjDirÿPPC}ftbbox.c.x" ÿ
"{ObjDirÿPPC}autohint.c.x" ÿ
"{ObjDirÿPPC}ftcache.c.x" ÿ
"{ObjDirÿPPC}cff.c.x" ÿ
"{ObjDirÿPPC}type1cid.c.x" ÿ
"{ObjDirÿPPC}pcf.c.x" ÿ
"{ObjDirÿPPC}psaux.c.x" ÿ
"{ObjDirÿPPC}psmodule.c.x" ÿ
"{ObjDirÿPPC}raster.c.x" ÿ
"{ObjDirÿPPC}sfnt.c.x" ÿ
"{ObjDirÿPPC}smooth.c.x" ÿ
"{ObjDirÿPPC}truetype.c.x" ÿ
"{ObjDirÿPPC}type1.c.x" ÿ
"{ObjDirÿPPC}winfnt.c.x" ÿ
"{ObjDirÿPPC}ftmac.c.x" ÿ
# Main target - build a library
freetype ÿÿ {ÿMondoBuildÿ} directories freetype.o
# This is used to build the library
freetype.o ÿÿ {ÿMondoBuildÿ} {OBJS}
PPCLink ÿ
-o :lib:{Targ} {SymÿPPC} ÿ
{OBJS} -c '????' -xm l
# This is used to create the directories needed for build
directories ÿ
if !`Exists obj` ; NewFolder obj ; end
if !`Exists lib` ; NewFolder lib ; end
"{ObjDirÿPPC}ftsystem.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftsystem.c"
{PPCC} ":src:base:ftsystem.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftdebug.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftdebug.c"
{PPCC} ":src:base:ftdebug.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftinit.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftinit.c"
{PPCC} ":src:base:ftinit.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftbase.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftbase.c"
{PPCC} ":src:base:ftbase.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftglyph.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftglyph.c"
{PPCC} ":src:base:ftglyph.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftmm.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftmm.c"
{PPCC} ":src:base:ftmm.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftbbox.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftbbox.c"
{PPCC} ":src:base:ftbbox.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}autohint.c.x" ÿ {ÿMondoBuildÿ} ":src:autohint:autohint.c"
{PPCC} ":src:autohint:autohint.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftcache.c.x" ÿ {ÿMondoBuildÿ} ":src:cache:ftcache.c"
{PPCC} ":src:cache:ftcache.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}cff.c.x" ÿ {ÿMondoBuildÿ} ":src:cff:cff.c"
{PPCC} ":src:cff:cff.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}type1cid.c.x" ÿ {ÿMondoBuildÿ} ":src:cid:type1cid.c"
{PPCC} ":src:cid:type1cid.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}pcf.c.x" ÿ {ÿMondoBuildÿ} ":src:pcf:pcf.c"
{PPCC} ":src:pcf:pcf.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}psaux.c.x" ÿ {ÿMondoBuildÿ} ":src:psaux:psaux.c"
{PPCC} ":src:psaux:psaux.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}psmodule.c.x" ÿ {ÿMondoBuildÿ} ":src:psnames:psmodule.c"
{PPCC} ":src:psnames:psmodule.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}raster.c.x" ÿ {ÿMondoBuildÿ} ":src:raster:raster.c"
{PPCC} ":src:raster:raster.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}sfnt.c.x" ÿ {ÿMondoBuildÿ} ":src:sfnt:sfnt.c"
{PPCC} ":src:sfnt:sfnt.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}smooth.c.x" ÿ {ÿMondoBuildÿ} ":src:smooth:smooth.c"
{PPCC} ":src:smooth:smooth.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}truetype.c.x" ÿ {ÿMondoBuildÿ} ":src:truetype:truetype.c"
{PPCC} ":src:truetype:truetype.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}type1.c.x" ÿ {ÿMondoBuildÿ} ":src:type1:type1.c"
{PPCC} ":src:type1:type1.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}winfnt.c.x" ÿ {ÿMondoBuildÿ} ":src:winfonts:winfnt.c"
{PPCC} ":src:winfonts:winfnt.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftmac.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftmac.c"
{PPCC} ":src:base:ftmac.c" -o {Targ} {CFLAGS}

Binary file not shown.

1194
builds/mac/ftlib.prj.xml Normal file

File diff suppressed because it is too large Load Diff