FreeType 1.31.1
This commit is contained in:
20
lib/arch/vms/README
Normal file
20
lib/arch/vms/README
Normal file
@@ -0,0 +1,20 @@
|
||||
This directory contains two files for compiling the FreeType library under
|
||||
VMS:
|
||||
|
||||
ft_conf.h the configuration file for the FreeType library
|
||||
descrip.mms a makefile to be used with either MMS or MMK
|
||||
|
||||
The files are such designed that after unpacking of freetype-1.2 one can
|
||||
give the command
|
||||
|
||||
MMS/DESCR=[.LIB.ARCH.VMS]
|
||||
|
||||
to build the libraries. (Of course, for MMK use `MMK' on the command line
|
||||
instead of `MMS'.) The makefile contains a `clean' target, but no `install'
|
||||
target since I'm note sure where to install the library and the include
|
||||
files.
|
||||
|
||||
I did NOT do the test programs but I tested it with my own programs.
|
||||
|
||||
|
||||
Jouk Jansen <joukj@hrem.stm.tudelft.nl>
|
||||
155
lib/arch/vms/descrip.mms
Normal file
155
lib/arch/vms/descrip.mms
Normal file
@@ -0,0 +1,155 @@
|
||||
# This file is part of the FreeType project.
|
||||
#
|
||||
# DESCRIP.MMS: Make file for VMS using MMS or MMK
|
||||
# Created by Jouk Jansen (joukj@hrem.stm.tudelft.nl)
|
||||
|
||||
ARCH = arch.unix
|
||||
|
||||
CC = cc
|
||||
|
||||
############### PORTABILITY COMPONENTS ########################
|
||||
|
||||
# location of memory component
|
||||
MEMSRC = ttmemory.c
|
||||
|
||||
# location of file component
|
||||
FILESRC = ttfile.c
|
||||
|
||||
# location of mutex component
|
||||
MUTEXSRC = ttmutex.c
|
||||
|
||||
# location of default extensions
|
||||
FTEXTDIR = [.lib.extend]
|
||||
|
||||
# default extensions sources
|
||||
EXTSRC = $(FTEXTDIR)ftxkern.c \
|
||||
$(FTEXTDIR)ftxgasp.c \
|
||||
$(FTEXTDIR)ftxpost.c \
|
||||
$(FTEXTDIR)ftxcmap.c \
|
||||
$(FTEXTDIR)ftxsbit.c \
|
||||
$(FTEXTDIR)ftxwidth.c \
|
||||
$(FTEXTDIR)ftxerr18.c \
|
||||
$(FTEXTDIR)ftxgsub.c \
|
||||
$(FTEXTDIR)ftxgpos.c \
|
||||
$(FTEXTDIR)ftxopen.c \
|
||||
$(FTEXTDIR)ftxgdef.c
|
||||
|
||||
EXTOBJ = [.lib]ftxkern.obj, \
|
||||
[.lib]ftxgasp.obj, \
|
||||
[.lib]ftxpost.obj, \
|
||||
[.lib]ftxcmap.obj, \
|
||||
[.lib]ftxsbit.obj, \
|
||||
[.lib]ftxwidth.obj, \
|
||||
[.lib]ftxerr18.obj, \
|
||||
[.lib]ftxgsub.obj, \
|
||||
[.lib]ftxgpos.obj, \
|
||||
[.lib]ftxopen.obj, \
|
||||
[.lib]ftxgdef.obj
|
||||
|
||||
# all engine sources
|
||||
SRC_M = [.lib]ttapi.c \
|
||||
[.lib]ttcache.c \
|
||||
[.lib]ttcalc.c \
|
||||
[.lib]ttcmap.c \
|
||||
[.lib]ttdebug.c \
|
||||
[.lib]ttextend.c \
|
||||
[.lib]ttgload.c \
|
||||
[.lib]ttinterp.c \
|
||||
[.lib]ttload.c \
|
||||
[.lib]ttobjs.c \
|
||||
[.lib]ttraster.c \
|
||||
[.lib]$(FILESRC) \
|
||||
[.lib]$(MEMSRC) \
|
||||
[.lib]$(MUTEXSRC)
|
||||
SRC_S = [.lib.$(ARCH)]freetype.c
|
||||
|
||||
# all header files with path
|
||||
HEADERS = [.lib]freetype.h \
|
||||
[.lib]fterrid.h \
|
||||
[.lib]ftnameid.h \
|
||||
$(FTEXTDIR)ftxkern.h \
|
||||
$(FTEXTDIR)ftxgasp.h \
|
||||
$(FTEXTDIR)ftxcmap.h \
|
||||
$(FTEXTDIR)ftxsbit.h \
|
||||
$(FTEXTDIR)ftxpost.h \
|
||||
$(FTEXTDIR)ftxwidth.h \
|
||||
$(FTEXTDIR)ftxerr18.h \
|
||||
$(FTEXTDIR)ftxgsub.h \
|
||||
$(FTEXTDIR)ftxgpos.h \
|
||||
$(FTEXTDIR)ftxgdef.h \
|
||||
$(FTEXTDIR)ftxopen.h
|
||||
|
||||
# all engine objects
|
||||
OBJ_M = [.lib]ttapi.obj, \
|
||||
[.lib]ttcache.obj, \
|
||||
[.lib]ttcalc.obj, \
|
||||
[.lib]ttcmap.obj, \
|
||||
[.lib]ttdebug.obj, \
|
||||
[.lib]ttextend.obj, \
|
||||
[.lib]ttgload.obj, \
|
||||
[.lib]ttinterp.obj, \
|
||||
[.lib]ttload.obj, \
|
||||
[.lib]ttobjs.obj, \
|
||||
[.lib]ttraster.obj, \
|
||||
[.lib]file.obj, \
|
||||
[.lib]memory.obj, \
|
||||
[.lib]mutex.obj, \
|
||||
$(EXTOBJ)
|
||||
OBJ_S = [.lib]freetype.obj
|
||||
|
||||
|
||||
# include paths
|
||||
INCLUDES = /include=([.lib],[],$(FTEXTDIR))
|
||||
|
||||
# C flags
|
||||
CFLAGS = $(INCLUDES)/obj=[.lib]
|
||||
|
||||
all : do_link [.lib]libttf.olb
|
||||
library/compress [.lib]libttf.olb
|
||||
|
||||
do_link :
|
||||
if f$search( "[.lib]memory.c" ) .nes. "" then set file/remove [.lib]memory.c;
|
||||
if f$search( "[.lib]file.c" ) .nes. "" then set file/remove [.lib]file.c;
|
||||
if f$search( "[.lib]mutex.c" ) .nes. "" then set file/remove [.lib]mutex.c;
|
||||
if f$search( "[.lib]ft_conf.h" ) .nes. "" then set file/remove [.lib]ft_conf.h;
|
||||
set file/enter=[.lib]memory.c [.lib]$(MEMSRC)
|
||||
set file/enter=[.lib]file.c [.lib]$(FILESRC)
|
||||
set file/enter=[.lib]mutex.c [.lib]$(MUTEXSRC)
|
||||
set file/enter=[.lib]ft_conf.h [.lib.arch.vms]ft_conf.h
|
||||
|
||||
[.lib]ftxkern.obj : $(FTEXTDIR)ftxkern.c
|
||||
|
||||
[.lib]ftxgasp.obj : $(FTEXTDIR)ftxgasp.c
|
||||
|
||||
[.lib]ftxpost.obj : $(FTEXTDIR)ftxpost.c
|
||||
|
||||
[.lib]ftxcmap.obj : $(FTEXTDIR)ftxcmap.c
|
||||
|
||||
[.lib]ftxsbit.obj : $(FTEXTDIR)ftxsbit.c
|
||||
|
||||
[.lib]ftxwidth.obj : $(FTEXTDIR)ftxwidth.c
|
||||
|
||||
[.lib]ftxerr18.obj : $(FTEXTDIR)ftxerr18.c
|
||||
|
||||
[.lib]ftxgsub.obj : $(FTEXTDIR)ftxgsub.c
|
||||
|
||||
[.lib]ftxgpos.obj : $(FTEXTDIR)ftxgpos.c
|
||||
|
||||
[.lib]ftxgdef.obj : $(FTEXTDIR)ftxgdef.c
|
||||
|
||||
[.lib]ftxopen.obj : $(FTEXTDIR)ftxopen.c
|
||||
|
||||
[.lib]freetype.obj : $(SRC_S) $(SRC_M)
|
||||
|
||||
|
||||
[.lib]libttf.olb : $(OBJ_M)
|
||||
library/create [.lib]libttf.olb $(OBJ_M)
|
||||
|
||||
|
||||
clean :
|
||||
delete [.lib]*.obj;*
|
||||
delete [.lib]*.olb;*
|
||||
if f$search( "[.lib]memory.c" ) .nes. "" then set file/remove [.lib]memory.c;
|
||||
if f$search( "[.lib]file.c" ) .nes. "" then set file/remove [.lib]file.c;
|
||||
if f$search( "[.lib]mutex.c" ) .nes. "" then set file/remove [.lib]mutex.c;
|
||||
if f$search( "[.lib]ft_conf.h" ) .nes. "" then set file/remove [.lib]ft_conf.h;
|
||||
215
lib/arch/vms/ft_conf.h
Normal file
215
lib/arch/vms/ft_conf.h
Normal file
@@ -0,0 +1,215 @@
|
||||
/* This file is part of the FreeType project */
|
||||
|
||||
/* ft_conf.h for VMS using MMS or MMK */
|
||||
|
||||
|
||||
/* we need the following because there are some typedefs in this file */
|
||||
|
||||
#ifndef FT_CONF_H
|
||||
#define FT_CONF_H
|
||||
|
||||
/* Define to empty if the keyword does not work. */
|
||||
/* #undef const */
|
||||
|
||||
/* Define if you have a working `mmap' system call. */
|
||||
/* #undef HAVE_MMAP */
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
/* Define if the X Window System is missing or not being used. */
|
||||
/* #undef X_DISPLAY_MISSING */
|
||||
|
||||
/* The number of bytes in a int. */
|
||||
#define SIZEOF_INT 4
|
||||
|
||||
/* The number of bytes in a long. */
|
||||
#define SIZEOF_LONG 4
|
||||
|
||||
/* Define if you have the getpagesize function. */
|
||||
#define HAVE_GETPAGESIZE 1
|
||||
|
||||
/* Define if you have the memcpy function. */
|
||||
#define HAVE_MEMCPY 1
|
||||
|
||||
/* Define if you have the memmove function. */
|
||||
#define HAVE_MEMMOVE 1
|
||||
|
||||
/* Define if you have the <fcntl.h> header file. */
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H 1
|
||||
|
||||
/* Define if you have the <locale.h> header file. */
|
||||
#define HAVE_LOCALE_H 1
|
||||
|
||||
/* Define if you have the <libintl.h> header file. */
|
||||
/* #undef HAVE_LIBINTL_H */
|
||||
|
||||
/* Define if you have the libintl library. */
|
||||
/* #undef HAVE_LIBINTL */
|
||||
|
||||
/**********************************************************************/
|
||||
/* */
|
||||
/* The following configuration macros can be tweaked manually by */
|
||||
/* a developer to turn on or off certain features or options in the */
|
||||
/* TrueType engine. This may be useful to tune it for specific */
|
||||
/* purposes.. */
|
||||
/* */
|
||||
/**********************************************************************/
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define this if the underlying operating system uses a different */
|
||||
/* character width than 8bit for file names. You must then also supply */
|
||||
/* a typedef declaration for defining 'TT_Text'. Default is off. */
|
||||
|
||||
/* #undef HAVE_TT_TEXT */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define this if you want to generate code to support engine extensions */
|
||||
/* Default is on, but if you're satisfied by the basic services provided */
|
||||
/* by the engine and need no extensions, undefine this configuration */
|
||||
/* macro to save a few more bytes. */
|
||||
|
||||
#define TT_CONFIG_OPTION_EXTEND_ENGINE
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define this if you want to generate code to support gray-scaling, */
|
||||
/* a.k.a. font-smoothing or anti-aliasing. Default is on, but you can */
|
||||
/* disable it if you don't need it. */
|
||||
|
||||
#define TT_CONFIG_OPTION_GRAY_SCALING
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define this if you want to completely disable the use of the bytecode */
|
||||
/* interpreter. Doing so will produce a much smaller library, but the */
|
||||
/* quality of the rendered glyphs will enormously suffer from this. */
|
||||
/* */
|
||||
/* This switch was introduced due to the Apple patents issue which */
|
||||
/* emerged recently on the FreeType lists. We still do not have Apple's */
|
||||
/* opinion on the subject and will change this as soon as we have. */
|
||||
|
||||
#undef TT_CONFIG_OPTION_NO_INTERPRETER
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define this if you want to use a big 'switch' statement within the */
|
||||
/* bytecode interpreter. Because some non-optimizing compilers are not */
|
||||
/* able to produce jump tables from such statements, undefining this */
|
||||
/* configuration macro will generate the appropriate C jump table in */
|
||||
/* ttinterp.c. If you use an optimizing compiler, you should leave it */
|
||||
/* defined for better performance and code compactness.. */
|
||||
|
||||
#define TT_CONFIG_OPTION_INTERPRETER_SWITCH
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define this if you want to build a 'static' version of the TrueType */
|
||||
/* bytecode interpreter. This will produce much bigger code, which */
|
||||
/* _may_ be faster on some architectures.. */
|
||||
/* */
|
||||
/* Do NOT DEFINE THIS is you build a thread-safe version of the engine */
|
||||
/* */
|
||||
#undef TT_CONFIG_OPTION_STATIC_INTERPRETER
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define this if you want to build a 'static' version of the scan-line */
|
||||
/* converter (the component which in charge of converting outlines into */
|
||||
/* bitmaps). This will produce a bigger object file for "ttraster.c", */
|
||||
/* which _may_ be faster on some architectures.. */
|
||||
/* */
|
||||
/* Do NOT DEFINE THIS is you build a thread-safe version of the engine */
|
||||
/* */
|
||||
#undef TT_CONFIG_OPTION_STATIC_RASTER
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Define TT_CONFIG_THREAD_SAFE if you want to build a thread-safe */
|
||||
/* version of the library. */
|
||||
|
||||
/* #undef TT_CONFIG_OPTION_THREAD_SAFE */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* */
|
||||
/* The following macros are used to define the debug level, as well */
|
||||
/* as individual tracing levels for each component. There are */
|
||||
/* currently three modes of operation : */
|
||||
/* */
|
||||
/* - trace mode (define DEBUG_LEVEL_TRACE) */
|
||||
/* */
|
||||
/* The engine prints all error messages, as well as tracing */
|
||||
/* ones, filtered by each component's level */
|
||||
/* */
|
||||
/* - debug mode (define DEBUG_LEVEL_ERROR) */
|
||||
/* */
|
||||
/* Disable tracing, but keeps error output and assertion */
|
||||
/* checks. */
|
||||
/* */
|
||||
/* - release mode (don't define anything) */
|
||||
/* */
|
||||
/* Don't include error-checking or tracing code in the */
|
||||
/* engine's code. Ideal for releases. */
|
||||
/* */
|
||||
/* NOTE : */
|
||||
/* */
|
||||
/* Each component's tracing level is defined in its own source. */
|
||||
/* */
|
||||
/**********************************************************************/
|
||||
|
||||
/* Define if you want to use the tracing debug mode */
|
||||
/* #undef DEBUG_LEVEL_TRACE */
|
||||
|
||||
/* Define if you want to use the error debug mode - ignored if */
|
||||
/* DEBUG_LEVEL_TRACE is defined */
|
||||
/* #undef DEBUG_LEVEL_ERROR */
|
||||
|
||||
|
||||
/**************************************************************************/
|
||||
/* Definition of various integer sizes. These types are used by ttcalc */
|
||||
/* and ttinterp (for the 64-bit integers) only.. */
|
||||
|
||||
#if SIZEOF_INT == 4
|
||||
|
||||
typedef signed int TT_Int32;
|
||||
typedef unsigned int TT_Word32;
|
||||
|
||||
#elif SIZEOF_LONG == 4
|
||||
|
||||
typedef signed long TT_Int32;
|
||||
typedef unsigned long TT_Word32;
|
||||
|
||||
#else
|
||||
#error "no 32bit type found"
|
||||
#endif
|
||||
|
||||
#if SIZEOF_LONG == 8
|
||||
|
||||
/* LONG64 must be defined when a 64-bit type is available */
|
||||
/* INT64 must then be defined to this type.. */
|
||||
#define LONG64
|
||||
#define INT64 long
|
||||
|
||||
#else
|
||||
|
||||
/* GCC provides the non-ANSI 'long long' 64-bit type. You can activate */
|
||||
/* by defining the TT_USE_LONG_LONG macro in 'ft_conf.h'. Note that this */
|
||||
/* will produce many -ansi warnings during library compilation. */
|
||||
#ifdef TT_USE_LONG_LONG
|
||||
|
||||
#define LONG64
|
||||
#define INT64 long long
|
||||
|
||||
#endif /* TT_USE_LONG_LONG */
|
||||
#endif
|
||||
|
||||
#endif /* FT_CONF_H */
|
||||
|
||||
|
||||
/* END */
|
||||
Reference in New Issue
Block a user