2005-06-08 13:56:55 +02:00
|
|
|
|
|
|
|
|
|
README for the builds/amiga subdirectory.
|
|
|
|
|
|
2023-01-17 09:18:25 +01:00
|
|
|
|
Copyright (C) 2005-2023 by
|
2005-06-08 13:56:55 +02:00
|
|
|
|
Werner Lemberg and Detlef W<>rkner.
|
|
|
|
|
|
|
|
|
|
This file is part of the FreeType project, and may only be used, modified,
|
|
|
|
|
and distributed under the terms of the FreeType project license,
|
|
|
|
|
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
|
|
|
|
indicate that you have read the license and understand and accept it
|
|
|
|
|
fully.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
|
2005-03-25 23:18:01 +01:00
|
|
|
|
"make -f makefile.os4", it produces a link library libft2_ppc.a.
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
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.
|
2001-12-22 15:38:40 +01:00
|
|
|
|
|
2001-09-20 13:58:51 +02:00
|
|
|
|
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
|
2005-06-08 13:56:55 +02:00
|
|
|
|
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,
|
2001-09-20 13:58:51 +02:00
|
|
|
|
http://ragriffi.home.sprynet.com).
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
You will also need the latest include files and amiga.lib from the
|
2018-12-25 22:44:05 +01:00
|
|
|
|
Amiga web site (https://os.amigaworld.de/download.php?id=3) for
|
2002-01-19 03:20:45 +01:00
|
|
|
|
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
|
2001-09-20 13:58:51 +02:00
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
To use it, call "smake assign" and then "smake" from the builds/amiga
|
2001-09-20 13:58:51 +02:00
|
|
|
|
directory. The results are:
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- 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
|
2001-09-20 13:58:51 +02:00
|
|
|
|
code.
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- ftsystem.o, an object module containing the standard version of the
|
|
|
|
|
system interface code which uses fopen() fclose() fread() fseek()
|
2001-09-20 13:58:51 +02:00
|
|
|
|
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- 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
|
2001-09-20 13:58:51 +02:00
|
|
|
|
src/base/ftsystem.c.
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- ftdebug.o, an object module containing the standard version of the
|
|
|
|
|
debugging code which uses vprintf() and exit() (not pure).
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
|
Debugging can be turned on in FT:include/freetype/config/ftoption.h
|
Fix Savannah bug #45097.
We no longer `pollute' the namespace of possible header file names;
instead we move `ft2build.h' up by one level so that it gets
installed in the default include directory (e.g.,
/usr/local/include). After this commit, only `ft2build.h' stays in
the compiler's include path.
No visible changes for the user who follows the standard FreeType
header inclusion rules.
* include/*: Move to ...
* include/freetype2/*: This directory, except `ft2build.h'.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/install.mk (install, uninstall),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
Emit -I directory only if it is not `/usr/include'.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-22 06:35:23 +02:00
|
|
|
|
and with FT_SetTraceLevel().
|
2001-09-20 13:58:51 +02:00
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- ftdebugpure.o, an object module containing the pure version of the
|
|
|
|
|
debugging code which uses KVPrintf() from lib:debug.lib and no
|
2007-01-16 07:11:27 +01:00
|
|
|
|
exit(). For debugging of Amiga run-time shared system libraries.
|
2001-09-20 13:58:51 +02:00
|
|
|
|
Source code is in src/base/ftdebug.c.
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- NO ftinit.o. Because linking with a link library should result in
|
|
|
|
|
linking only the needed object modules in it, but standard
|
|
|
|
|
ftsystem.o would force ALL FreeType2 modules to be linked to your
|
|
|
|
|
program, I decided to use a different scheme: You must #include
|
|
|
|
|
FT:src/base/ftinit.c in your sourcecode and specify with #define
|
Fix Savannah bug #45097.
We no longer `pollute' the namespace of possible header file names;
instead we move `ft2build.h' up by one level so that it gets
installed in the default include directory (e.g.,
/usr/local/include). After this commit, only `ft2build.h' stays in
the compiler's include path.
No visible changes for the user who follows the standard FreeType
header inclusion rules.
* include/*: Move to ...
* include/freetype2/*: This directory, except `ft2build.h'.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/install.mk (install, uninstall),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
Emit -I directory only if it is not `/usr/include'.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-22 06:35:23 +02:00
|
|
|
|
statements which modules you need. See
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
|
include/freetype/config/ftmodule.h.
|
2001-09-20 13:58:51 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To use in your own programs:
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- Insert the #define and #include statements from top of
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
|
include/freetype/config/ftmodule.h in your source code and
|
Fix Savannah bug #45097.
We no longer `pollute' the namespace of possible header file names;
instead we move `ft2build.h' up by one level so that it gets
installed in the default include directory (e.g.,
/usr/local/include). After this commit, only `ft2build.h' stays in
the compiler's include path.
No visible changes for the user who follows the standard FreeType
header inclusion rules.
* include/*: Move to ...
* include/freetype2/*: This directory, except `ft2build.h'.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/install.mk (install, uninstall),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
Emit -I directory only if it is not `/usr/include'.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-22 06:35:23 +02:00
|
|
|
|
uncomment the #define statements for the FreeType2 modules you need.
|
2001-09-20 13:58:51 +02:00
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
|
|
|
|
|
calling the FreeType2 functions, because the link library and the
|
2001-09-20 13:58:51 +02:00
|
|
|
|
object files are compiled with PARAMETERS=BOTH.
|
|
|
|
|
|
|
|
|
|
- "smake assign" (assign "FT:" to the FreeType2 main directory).
|
|
|
|
|
|
|
|
|
|
- Compile your program.
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
|
2001-09-20 13:58:51 +02:00
|
|
|
|
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
|
|
|
|
|
ft2_680x0.lib as link library.
|
|
|
|
|
|
|
|
|
|
|
2002-01-19 03:20:45 +01:00
|
|
|
|
To adapt to other compilers:
|
2001-09-20 13:58:51 +02:00
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- The standard ANSI C maximum length of 31 significant characters in
|
2001-09-20 13:58:51 +02:00
|
|
|
|
identifiers is not enough for FreeType2. Check if your compiler has
|
2005-06-08 13:56:55 +02:00
|
|
|
|
a minimum length of 40 significant characters or can be switched to
|
|
|
|
|
it. "idlen=40" is the option for SAS/C. Setting #define
|
2001-09-20 13:58:51 +02:00
|
|
|
|
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- Make sure that the include directory in builds/amiga is searched
|
|
|
|
|
before the normal FreeType2 include directory, so you are able to
|
2001-09-20 13:58:51 +02:00
|
|
|
|
replace problematic include files with your own version (same may be
|
|
|
|
|
useful for the src directory).
|
|
|
|
|
|
2005-06-08 13:56:55 +02:00
|
|
|
|
- An example of how to replace/workaround a problematic include file
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
|
is include/freetype/config/ftconfig.h; it changes a #define that
|
Fix Savannah bug #45097.
We no longer `pollute' the namespace of possible header file names;
instead we move `ft2build.h' up by one level so that it gets
installed in the default include directory (e.g.,
/usr/local/include). After this commit, only `ft2build.h' stays in
the compiler's include path.
No visible changes for the user who follows the standard FreeType
header inclusion rules.
* include/*: Move to ...
* include/freetype2/*: This directory, except `ft2build.h'.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/install.mk (install, uninstall),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
Emit -I directory only if it is not `/usr/include'.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-22 06:35:23 +02:00
|
|
|
|
would prevent SAS/C from generating XDEF's where it should do that and
|
2001-09-20 13:58:51 +02:00
|
|
|
|
then includes the standard FreeType2 include file.
|
2005-06-08 13:56:55 +02:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
coding: latin-1
|
|
|
|
|
End:
|