Update CRLF
This commit is contained in:
parent
85d0f41067
commit
86623c945f
@ -1,128 +1,128 @@
|
||||
OUTPUT_ARCH(powerpc)
|
||||
|
||||
/* Do we need any of these for elf?
|
||||
__DYNAMIC = 0; */
|
||||
SECTIONS
|
||||
{
|
||||
.resetvec 0xFFFFFFFC :
|
||||
{
|
||||
*(.resetvec)
|
||||
} = 0xffff
|
||||
|
||||
/* Read-only sections, merged into text segment: */
|
||||
. = + SIZEOF_HEADERS;
|
||||
.interp : { *(.interp) }
|
||||
.hash : { *(.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
.rel.text : { *(.rel.text) }
|
||||
.rela.text : { *(.rela.text) }
|
||||
.rel.data : { *(.rel.data) }
|
||||
.rela.data : { *(.rela.data) }
|
||||
.rel.rodata : { *(.rel.rodata) }
|
||||
.rela.rodata : { *(.rela.rodata) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rel.ctors : { *(.rel.ctors) }
|
||||
.rela.ctors : { *(.rela.ctors) }
|
||||
.rel.dtors : { *(.rel.dtors) }
|
||||
.rela.dtors : { *(.rela.dtors) }
|
||||
.rel.bss : { *(.rel.bss) }
|
||||
.rela.bss : { *(.rela.bss) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
/* .init : { *(.init) } */
|
||||
.plt : { *(.plt) }
|
||||
|
||||
.text :
|
||||
{
|
||||
KEEP(build\libcpu\ppc\ppc405\start_gcc.o (.text))
|
||||
|
||||
*(.text)
|
||||
*(.fixup)
|
||||
*(.got1)
|
||||
}
|
||||
_etext = .;
|
||||
PROVIDE (etext = .);
|
||||
.rodata :
|
||||
{
|
||||
*(.eh_frame)
|
||||
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
|
||||
/* section information for finsh shell */
|
||||
. = ALIGN(4);
|
||||
__fsymtab_start = .;
|
||||
KEEP(*(FSymTab))
|
||||
__fsymtab_end = .;
|
||||
. = ALIGN(4);
|
||||
__vsymtab_start = .;
|
||||
KEEP(*(VSymTab))
|
||||
__vsymtab_end = .;
|
||||
}
|
||||
.fini : { *(.fini) } =0
|
||||
.ctors : { *(.ctors) }
|
||||
.dtors : { *(.dtors) }
|
||||
|
||||
/* Read-write section, merged into data segment: */
|
||||
. = (. + 0x00FF) & 0xFFFFFF00;
|
||||
_erotext = .;
|
||||
PROVIDE (erotext = .);
|
||||
.reloc :
|
||||
{
|
||||
*(.got)
|
||||
_GOT2_TABLE_ = .;
|
||||
*(.got2)
|
||||
_FIXUP_TABLE_ = .;
|
||||
*(.fixup)
|
||||
}
|
||||
__got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
|
||||
__fixup_entries = (. - _FIXUP_TABLE_)>>2;
|
||||
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.data1)
|
||||
*(.sdata)
|
||||
*(.sdata2)
|
||||
*(.dynamic)
|
||||
CONSTRUCTORS
|
||||
}
|
||||
_edata = .;
|
||||
PROVIDE (edata = .);
|
||||
|
||||
. = .;
|
||||
__start___ex_table = .;
|
||||
__ex_table : { *(__ex_table) }
|
||||
__stop___ex_table = .;
|
||||
|
||||
. = ALIGN(256);
|
||||
__init_begin = .;
|
||||
.text.init : { *(.text.init) }
|
||||
.data.init : { *(.data.init) }
|
||||
. = ALIGN(256);
|
||||
__init_end = .;
|
||||
|
||||
__bss_start = .;
|
||||
.bss (NOLOAD) :
|
||||
{
|
||||
*(.sbss) *(.scommon)
|
||||
*(.dynbss)
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
}
|
||||
__bss_end = .;
|
||||
|
||||
. = ALIGN(256);
|
||||
|
||||
PROVIDE(__stack_bottom = .);
|
||||
. += 0x100000; /* 1MB */
|
||||
PROVIDE(__stack_top = .);
|
||||
|
||||
. = ALIGN(256);
|
||||
PROVIDE (__heap_start = .);
|
||||
. += 0x500000; /* 5MB */
|
||||
PROVIDE(__heap_end = .);
|
||||
|
||||
_end = . ;
|
||||
PROVIDE (end = .);
|
||||
}
|
||||
OUTPUT_ARCH(powerpc)
|
||||
|
||||
/* Do we need any of these for elf?
|
||||
__DYNAMIC = 0; */
|
||||
SECTIONS
|
||||
{
|
||||
.resetvec 0xFFFFFFFC :
|
||||
{
|
||||
*(.resetvec)
|
||||
} = 0xffff
|
||||
|
||||
/* Read-only sections, merged into text segment: */
|
||||
. = + SIZEOF_HEADERS;
|
||||
.interp : { *(.interp) }
|
||||
.hash : { *(.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
.rel.text : { *(.rel.text) }
|
||||
.rela.text : { *(.rela.text) }
|
||||
.rel.data : { *(.rel.data) }
|
||||
.rela.data : { *(.rela.data) }
|
||||
.rel.rodata : { *(.rel.rodata) }
|
||||
.rela.rodata : { *(.rela.rodata) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rel.ctors : { *(.rel.ctors) }
|
||||
.rela.ctors : { *(.rela.ctors) }
|
||||
.rel.dtors : { *(.rel.dtors) }
|
||||
.rela.dtors : { *(.rela.dtors) }
|
||||
.rel.bss : { *(.rel.bss) }
|
||||
.rela.bss : { *(.rela.bss) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
/* .init : { *(.init) } */
|
||||
.plt : { *(.plt) }
|
||||
|
||||
.text :
|
||||
{
|
||||
KEEP(build\libcpu\ppc\ppc405\start_gcc.o (.text))
|
||||
|
||||
*(.text)
|
||||
*(.fixup)
|
||||
*(.got1)
|
||||
}
|
||||
_etext = .;
|
||||
PROVIDE (etext = .);
|
||||
.rodata :
|
||||
{
|
||||
*(.eh_frame)
|
||||
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
|
||||
/* section information for finsh shell */
|
||||
. = ALIGN(4);
|
||||
__fsymtab_start = .;
|
||||
KEEP(*(FSymTab))
|
||||
__fsymtab_end = .;
|
||||
. = ALIGN(4);
|
||||
__vsymtab_start = .;
|
||||
KEEP(*(VSymTab))
|
||||
__vsymtab_end = .;
|
||||
}
|
||||
.fini : { *(.fini) } =0
|
||||
.ctors : { *(.ctors) }
|
||||
.dtors : { *(.dtors) }
|
||||
|
||||
/* Read-write section, merged into data segment: */
|
||||
. = (. + 0x00FF) & 0xFFFFFF00;
|
||||
_erotext = .;
|
||||
PROVIDE (erotext = .);
|
||||
.reloc :
|
||||
{
|
||||
*(.got)
|
||||
_GOT2_TABLE_ = .;
|
||||
*(.got2)
|
||||
_FIXUP_TABLE_ = .;
|
||||
*(.fixup)
|
||||
}
|
||||
__got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
|
||||
__fixup_entries = (. - _FIXUP_TABLE_)>>2;
|
||||
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.data1)
|
||||
*(.sdata)
|
||||
*(.sdata2)
|
||||
*(.dynamic)
|
||||
CONSTRUCTORS
|
||||
}
|
||||
_edata = .;
|
||||
PROVIDE (edata = .);
|
||||
|
||||
. = .;
|
||||
__start___ex_table = .;
|
||||
__ex_table : { *(__ex_table) }
|
||||
__stop___ex_table = .;
|
||||
|
||||
. = ALIGN(256);
|
||||
__init_begin = .;
|
||||
.text.init : { *(.text.init) }
|
||||
.data.init : { *(.data.init) }
|
||||
. = ALIGN(256);
|
||||
__init_end = .;
|
||||
|
||||
__bss_start = .;
|
||||
.bss (NOLOAD) :
|
||||
{
|
||||
*(.sbss) *(.scommon)
|
||||
*(.dynbss)
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
}
|
||||
__bss_end = .;
|
||||
|
||||
. = ALIGN(256);
|
||||
|
||||
PROVIDE(__stack_bottom = .);
|
||||
. += 0x100000; /* 1MB */
|
||||
PROVIDE(__stack_top = .);
|
||||
|
||||
. = ALIGN(256);
|
||||
PROVIDE (__heap_start = .);
|
||||
. += 0x500000; /* 5MB */
|
||||
PROVIDE(__heap_end = .);
|
||||
|
||||
_end = . ;
|
||||
PROVIDE (end = .);
|
||||
}
|
||||
|
@ -1,157 +1,157 @@
|
||||
//-------------------------------------------------------------------------
|
||||
// XLINK command file template for V850E microcontroller uPD70F3454.
|
||||
//
|
||||
// This file can be used to link object files from the V850E
|
||||
// Assembler, AV850, and the C/C++ compiler ICCV850.
|
||||
//
|
||||
// This file is generated from the device file:
|
||||
// DF3454.800
|
||||
// Copyright (C) NEC Corporation 2007
|
||||
// Format version 2.20, File version 1.00
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The following segments are defined in this template link file:
|
||||
//
|
||||
// INTVEC -- Interrupt vectors.
|
||||
// TRAPVEC -- Trap vector.
|
||||
// CLTVEC -- Calltable vectors.
|
||||
// CSTART -- The C/C++ startup code.
|
||||
// RCODE -- Code used by C/C++ run-time library.
|
||||
// ICODE -- Code used by interrupt functions.
|
||||
// CLTCODE -- Code of calltable functions.
|
||||
// CODE -- Program code.
|
||||
// DIFUNCT -- Dynamic initialization vector used by C++
|
||||
// CSTACK -- The stack used by C/C++ programs.
|
||||
// HEAP -- The heap used for malloc and free
|
||||
// SADDR7_x -- Variables used by __saddr (128 byte offset).
|
||||
// SADDR8_x -- Variables used by __saddr (256 byte offset).
|
||||
// NEAR_x -- Variables used by __near (must be +- 32KB from address 0).
|
||||
// BREL_x -- Variables used by __brel.
|
||||
// HUGE_x -- Variables used by __huge.
|
||||
//
|
||||
// Where _x could be one of:
|
||||
//
|
||||
// _BASE -- An empty placeholder segment that should be placed
|
||||
// in front of the other segments (SADDR and BREL).
|
||||
// _CBASE -- An empty placeholder segment that should be placed
|
||||
// in front of the other segments (BREL_C).
|
||||
// _Z -- Initialized data (initvalue = 0 or without init value).
|
||||
// _I -- Initialized data (initvalue != 0).
|
||||
// _ID -- The inial values of _I.
|
||||
// _N -- Uninitialized data, used by __no_init.
|
||||
// _C -- Constants.
|
||||
//
|
||||
// NOTE: Be sure to use end values for the defined addresses.
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Define CPU
|
||||
//-------------------------------------------------------------------------
|
||||
-cv850
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Size of the stack.
|
||||
// Remove comment and modify number if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-D_CSTACK_SIZE=400
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Size of the heap.
|
||||
// Remove comment and modify number if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-D_HEAP_SIZE=400
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Define the format functions used by printf/scanf.
|
||||
// Default is full formatting.
|
||||
// Remove appropriate comment(s) to get reduced formatting
|
||||
// if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-e_PrintfTiny=_Printf
|
||||
//-e_PrintfSmall=_Printf
|
||||
//-e_PrintfLarge=_Printf
|
||||
|
||||
//-e_ScanfSmall=_Scanf
|
||||
//-e_ScanfLarge=_Scanf
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Define if row buffering should be used by terminal output.
|
||||
// Default is no buffering.
|
||||
// Remove comment to get buffered terminal output if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-e__write_buffered=__write
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Allocate the read only segments that are mapped to ROM.
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
-Z(CODE)INTVEC=00000000-000007CF
|
||||
-Z(CONST)SECUID=00000070-00000079
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// BREL_CBASE is an empty placeholer segment, it should be placed in
|
||||
// front of the BREL_C segments holding constant data.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(CONST)NEAR_C=000007D0-00007FFF
|
||||
-Z(CONST)BREL_CBASE,BREL_C=000007D0-0000FFFF
|
||||
-Z(CONST)HUGE_C=000007D0-0003FFFB
|
||||
-Z(CODE)CSTART,RCODE,ICODE,TRAPVEC,DIFUNCT=000007D0-0003FFFB
|
||||
-Z(CONST)SADDR7_ID,SADDR8_ID,NEAR_ID,BREL_ID,HUGE_ID=000007D0-0003FFFB
|
||||
-Z(CONST)CLTVEC=000007D0-0003FFFB
|
||||
|
||||
-Z(CODE)CLTCODE,CODE=000007D0-0003FFFB
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The CHECKSUM segment must be defined when ROM checksum should
|
||||
// be generated.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(CONST)CHECKSUM=0003FFFC-0003FFFF
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Allocate the read/write segments that are mapped to RAM.
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Short loads relative from EP with 7 and 8 bit offset.
|
||||
//
|
||||
// SADDR_BASE is an empty segment that mark the beginning of the saddr
|
||||
// data segments.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)SADDR_BASE=FFFFC000
|
||||
-Z(DATA)SADDR7_I,SADDR7_Z,SADDR7_N=FFFFC000-FFFFC07F
|
||||
-Z(DATA)SADDR8_I,SADDR8_Z,SADDR8_N=FFFFC000-FFFFC0FF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// 16-bit access from GP.
|
||||
// BREL_BASE is an empty placeholer segment, it should be placed in
|
||||
// front of the DATA (i.e. RAM) BREL segments.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)BREL_BASE,BREL_I,BREL_Z,BREL_N=FFFFC000-FFFFEFFF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Global and 32-bit offset from GP.
|
||||
// The rest of the external memory (all external memory not used
|
||||
// by BREL segment variables) is addressed with HUGE memory model.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)HUGE_I,HUGE_Z,HUGE_N=FFFFBFFC-FFFFBFFC // No memory availabale
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Data relative from zero with 16 bit offset.
|
||||
// This segment is for TINY data model. All internal memory, SFR,
|
||||
// and CONST variables in area 0000-7FFF may be accessed.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)NEAR_Z,NEAR_I,NEAR_N=FFFFC000-FFFFEFFF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The stack and the heap.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)CSTACK+_CSTACK_SIZE,HEAP+_HEAP_SIZE=FFFFC000-FFFFEFFF
|
||||
|
||||
// Set up near RT_HEAP
|
||||
//fify 20100505 HEAP for RTT
|
||||
-Z(DATA)RT_HEAP+800=FFFFC000-FFFFEFFF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// End of File
|
||||
//-------------------------------------------------------------------------
|
||||
//-------------------------------------------------------------------------
|
||||
// XLINK command file template for V850E microcontroller uPD70F3454.
|
||||
//
|
||||
// This file can be used to link object files from the V850E
|
||||
// Assembler, AV850, and the C/C++ compiler ICCV850.
|
||||
//
|
||||
// This file is generated from the device file:
|
||||
// DF3454.800
|
||||
// Copyright (C) NEC Corporation 2007
|
||||
// Format version 2.20, File version 1.00
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The following segments are defined in this template link file:
|
||||
//
|
||||
// INTVEC -- Interrupt vectors.
|
||||
// TRAPVEC -- Trap vector.
|
||||
// CLTVEC -- Calltable vectors.
|
||||
// CSTART -- The C/C++ startup code.
|
||||
// RCODE -- Code used by C/C++ run-time library.
|
||||
// ICODE -- Code used by interrupt functions.
|
||||
// CLTCODE -- Code of calltable functions.
|
||||
// CODE -- Program code.
|
||||
// DIFUNCT -- Dynamic initialization vector used by C++
|
||||
// CSTACK -- The stack used by C/C++ programs.
|
||||
// HEAP -- The heap used for malloc and free
|
||||
// SADDR7_x -- Variables used by __saddr (128 byte offset).
|
||||
// SADDR8_x -- Variables used by __saddr (256 byte offset).
|
||||
// NEAR_x -- Variables used by __near (must be +- 32KB from address 0).
|
||||
// BREL_x -- Variables used by __brel.
|
||||
// HUGE_x -- Variables used by __huge.
|
||||
//
|
||||
// Where _x could be one of:
|
||||
//
|
||||
// _BASE -- An empty placeholder segment that should be placed
|
||||
// in front of the other segments (SADDR and BREL).
|
||||
// _CBASE -- An empty placeholder segment that should be placed
|
||||
// in front of the other segments (BREL_C).
|
||||
// _Z -- Initialized data (initvalue = 0 or without init value).
|
||||
// _I -- Initialized data (initvalue != 0).
|
||||
// _ID -- The inial values of _I.
|
||||
// _N -- Uninitialized data, used by __no_init.
|
||||
// _C -- Constants.
|
||||
//
|
||||
// NOTE: Be sure to use end values for the defined addresses.
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Define CPU
|
||||
//-------------------------------------------------------------------------
|
||||
-cv850
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Size of the stack.
|
||||
// Remove comment and modify number if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-D_CSTACK_SIZE=400
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Size of the heap.
|
||||
// Remove comment and modify number if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-D_HEAP_SIZE=400
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Define the format functions used by printf/scanf.
|
||||
// Default is full formatting.
|
||||
// Remove appropriate comment(s) to get reduced formatting
|
||||
// if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-e_PrintfTiny=_Printf
|
||||
//-e_PrintfSmall=_Printf
|
||||
//-e_PrintfLarge=_Printf
|
||||
|
||||
//-e_ScanfSmall=_Scanf
|
||||
//-e_ScanfLarge=_Scanf
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Define if row buffering should be used by terminal output.
|
||||
// Default is no buffering.
|
||||
// Remove comment to get buffered terminal output if used from command line.
|
||||
//-------------------------------------------------------------------------
|
||||
//-e__write_buffered=__write
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Allocate the read only segments that are mapped to ROM.
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
-Z(CODE)INTVEC=00000000-000007CF
|
||||
-Z(CONST)SECUID=00000070-00000079
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// BREL_CBASE is an empty placeholer segment, it should be placed in
|
||||
// front of the BREL_C segments holding constant data.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(CONST)NEAR_C=000007D0-00007FFF
|
||||
-Z(CONST)BREL_CBASE,BREL_C=000007D0-0000FFFF
|
||||
-Z(CONST)HUGE_C=000007D0-0003FFFB
|
||||
-Z(CODE)CSTART,RCODE,ICODE,TRAPVEC,DIFUNCT=000007D0-0003FFFB
|
||||
-Z(CONST)SADDR7_ID,SADDR8_ID,NEAR_ID,BREL_ID,HUGE_ID=000007D0-0003FFFB
|
||||
-Z(CONST)CLTVEC=000007D0-0003FFFB
|
||||
|
||||
-Z(CODE)CLTCODE,CODE=000007D0-0003FFFB
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The CHECKSUM segment must be defined when ROM checksum should
|
||||
// be generated.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(CONST)CHECKSUM=0003FFFC-0003FFFF
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Allocate the read/write segments that are mapped to RAM.
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Short loads relative from EP with 7 and 8 bit offset.
|
||||
//
|
||||
// SADDR_BASE is an empty segment that mark the beginning of the saddr
|
||||
// data segments.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)SADDR_BASE=FFFFC000
|
||||
-Z(DATA)SADDR7_I,SADDR7_Z,SADDR7_N=FFFFC000-FFFFC07F
|
||||
-Z(DATA)SADDR8_I,SADDR8_Z,SADDR8_N=FFFFC000-FFFFC0FF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// 16-bit access from GP.
|
||||
// BREL_BASE is an empty placeholer segment, it should be placed in
|
||||
// front of the DATA (i.e. RAM) BREL segments.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)BREL_BASE,BREL_I,BREL_Z,BREL_N=FFFFC000-FFFFEFFF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Global and 32-bit offset from GP.
|
||||
// The rest of the external memory (all external memory not used
|
||||
// by BREL segment variables) is addressed with HUGE memory model.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)HUGE_I,HUGE_Z,HUGE_N=FFFFBFFC-FFFFBFFC // No memory availabale
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Data relative from zero with 16 bit offset.
|
||||
// This segment is for TINY data model. All internal memory, SFR,
|
||||
// and CONST variables in area 0000-7FFF may be accessed.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)NEAR_Z,NEAR_I,NEAR_N=FFFFC000-FFFFEFFF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The stack and the heap.
|
||||
//-------------------------------------------------------------------------
|
||||
-Z(DATA)CSTACK+_CSTACK_SIZE,HEAP+_HEAP_SIZE=FFFFC000-FFFFEFFF
|
||||
|
||||
// Set up near RT_HEAP
|
||||
//fify 20100505 HEAP for RTT
|
||||
-Z(DATA)RT_HEAP+800=FFFFC000-FFFFEFFF
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// End of File
|
||||
//-------------------------------------------------------------------------
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
Ricky Zheng <ricky_gz_zheng@yahoo.co.nz>
|
||||
Ricky Zheng <ricky_gz_zheng@yahoo.co.nz>
|
||||
|
@ -1,339 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
@ -1,275 +1,275 @@
|
||||
# Doxyfile 1.4.1-KDevelop
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = uffs-doc
|
||||
PROJECT_NUMBER = 0.1
|
||||
OUTPUT_DIRECTORY = doc/doxygen-doc
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF = "The $name class" \
|
||||
"The $name widget" \
|
||||
"The $name file" \
|
||||
is \
|
||||
provides \
|
||||
specifies \
|
||||
contains \
|
||||
represents \
|
||||
a \
|
||||
an \
|
||||
the
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = YES
|
||||
STRIP_FROM_PATH = ./
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
TAB_SIZE = 4
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = NO
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = YES
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = YES
|
||||
CASE_SENSE_NAMES = NO
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = YES
|
||||
SORT_BY_SCOPE_NAME = YES
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = YES
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ./src
|
||||
FILE_PATTERNS = *.c \
|
||||
*.cc \
|
||||
*.cxx \
|
||||
*.cpp \
|
||||
*.c++ \
|
||||
*.java \
|
||||
*.ii \
|
||||
*.ixx \
|
||||
*.ipp \
|
||||
*.i++ \
|
||||
*.inl \
|
||||
*.h \
|
||||
*.hh \
|
||||
*.hxx \
|
||||
*.hpp \
|
||||
*.h++ \
|
||||
*.idl \
|
||||
*.odl \
|
||||
*.cs \
|
||||
*.php \
|
||||
*.php3 \
|
||||
*.inc \
|
||||
*.m \
|
||||
*.mm \
|
||||
*.dox \
|
||||
*.C \
|
||||
*.CC \
|
||||
*.C++ \
|
||||
*.II \
|
||||
*.I++ \
|
||||
*.H \
|
||||
*.HH \
|
||||
*.H++ \
|
||||
*.CS \
|
||||
*.PHP \
|
||||
*.PHP3 \
|
||||
*.M \
|
||||
*.MM \
|
||||
*.C \
|
||||
*.H \
|
||||
*.tlh \
|
||||
*.diff \
|
||||
*.patch \
|
||||
*.moc \
|
||||
*.xpm \
|
||||
*.dox
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS = *
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = YES
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE = uffs.tag
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
MAX_DOT_GRAPH_DEPTH = 1000
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
||||
# Doxyfile 1.4.1-KDevelop
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = uffs-doc
|
||||
PROJECT_NUMBER = 0.1
|
||||
OUTPUT_DIRECTORY = doc/doxygen-doc
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF = "The $name class" \
|
||||
"The $name widget" \
|
||||
"The $name file" \
|
||||
is \
|
||||
provides \
|
||||
specifies \
|
||||
contains \
|
||||
represents \
|
||||
a \
|
||||
an \
|
||||
the
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = YES
|
||||
STRIP_FROM_PATH = ./
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
TAB_SIZE = 4
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = NO
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = YES
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = YES
|
||||
CASE_SENSE_NAMES = NO
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = YES
|
||||
SORT_BY_SCOPE_NAME = YES
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = YES
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ./src
|
||||
FILE_PATTERNS = *.c \
|
||||
*.cc \
|
||||
*.cxx \
|
||||
*.cpp \
|
||||
*.c++ \
|
||||
*.java \
|
||||
*.ii \
|
||||
*.ixx \
|
||||
*.ipp \
|
||||
*.i++ \
|
||||
*.inl \
|
||||
*.h \
|
||||
*.hh \
|
||||
*.hxx \
|
||||
*.hpp \
|
||||
*.h++ \
|
||||
*.idl \
|
||||
*.odl \
|
||||
*.cs \
|
||||
*.php \
|
||||
*.php3 \
|
||||
*.inc \
|
||||
*.m \
|
||||
*.mm \
|
||||
*.dox \
|
||||
*.C \
|
||||
*.CC \
|
||||
*.C++ \
|
||||
*.II \
|
||||
*.I++ \
|
||||
*.H \
|
||||
*.HH \
|
||||
*.H++ \
|
||||
*.CS \
|
||||
*.PHP \
|
||||
*.PHP3 \
|
||||
*.M \
|
||||
*.MM \
|
||||
*.C \
|
||||
*.H \
|
||||
*.tlh \
|
||||
*.diff \
|
||||
*.patch \
|
||||
*.moc \
|
||||
*.xpm \
|
||||
*.dox
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS = *
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = YES
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE = uffs.tag
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
MAX_DOT_GRAPH_DEPTH = 1000
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
||||
|
@ -1,275 +1,275 @@
|
||||
UFFS: Ultra-low-cost Flash File System
|
||||
|
||||
Project: http://uffs.sf.net/
|
||||
Blog: http://all-about-uffs.blogspot.com/
|
||||
Q/A: http://groups.google.com/group/uffs/
|
||||
|
||||
Author: Ricky Zheng <ricky_gz_zheng@yahoo.co.nz>
|
||||
|
||||
INTRODUCTION
|
||||
------------
|
||||
|
||||
UFFS is a nand flash file system designed for embedded system.
|
||||
|
||||
UFFS have some unique and advanced features:
|
||||
* Low cost: e.g. it needs only 41K bytes RAM for 64MB NAND flash (page size 2048).
|
||||
|
||||
* Fast booting: it reads only a few spares from each block, typically
|
||||
mounting a fully filled file system (Gbits) within one second.
|
||||
|
||||
* Superb Reliability:
|
||||
- The file system is designed for the embedded system which may
|
||||
frequently lost power/reset without care.
|
||||
- Journal file system, the file system will automatically rollback
|
||||
to the last state when lost power on the middle of flash programing.
|
||||
- When 'write' return without error, the data is guarenteed been
|
||||
saved on flash.
|
||||
|
||||
* Fast file create/read/write/seek.
|
||||
* Bad-block tolerant, ECC enable and good ware-leveling.
|
||||
* There is no garbage collection needed for UFFS.
|
||||
* Support multiple NAND flash class in one system.
|
||||
* Support bare flash hardware, no operating system needed.
|
||||
* Support static memory allocation (works without 'malloc').
|
||||
* Fully simulated on PC (Windows/Linux) platform.
|
||||
|
||||
Disadvantage:
|
||||
* space inefficency for small files: UFFS use at least one
|
||||
'block'(the minial erase unit for NAND flash, e.g. 16K ) for a file.
|
||||
* maximum supported blocks: 2^16 = 65535
|
||||
|
||||
Memory consuming example:
|
||||
For page size = 512:
|
||||
[VARY]Tree nodes: 16 * total_blocks
|
||||
[CONST]Page Bufs: MAX_CACHED_BUFFERS(10) * (40 + pageSize(512)) = 5.4K
|
||||
[CONST]Block Info caches: (24 + 14 * pages_per_block (32)) * MAX_CACHED_BLOCK_INFO (10) = 4.6K
|
||||
|
||||
Example 1: 128M bytes NAND, 8192 blocks, total memory cost:
|
||||
(16 * 8192)128K + 5.4K + 4.6K = 138K bytes.
|
||||
|
||||
Example 2: 32M Bytes NAND, 2048 blocks, total memory cost:
|
||||
(16 * 2048)32K + 5.4K + 4.6K = 42K bytes.
|
||||
|
||||
Example 3: 16M bytes NAND, 1024 blocks, total memory cost:
|
||||
(16 * 1024)16K + 5.4K + 4.6K = 26K bytes.
|
||||
|
||||
For page size = 2048:
|
||||
[VARY]Tree nodes: 16 * total_blocks
|
||||
[CONST]Page Bufs: MAX_CACHED_BUFFERS(10) * (40 + pageSize(2048)) = 20.4K
|
||||
[CONST]Block Info caches: (24 + 14 * pages_per_block (32)) * MAX_CACHED_BLOCK_INFO (10) = 4.6K
|
||||
|
||||
Example 1: 512M bytes NAND, 8192 blocks, total memory cost:
|
||||
(16 * 8192)128K + 20.4K + 4.6K = 153K bytes.
|
||||
|
||||
Example 2: 128M Bytes NAND, 2048 blocks, total memory cost:
|
||||
(16 * 2048)32K + 20.4K + 4.6K = 57K bytes.
|
||||
|
||||
Example 3: 64M bytes NAND, 1024 blocks, total memory cost:
|
||||
(16 * 1024)16K + 20.4K + 4.6K = 41K bytes.
|
||||
|
||||
|
||||
BUILD SIMULATOR REQUIREMENT
|
||||
---------------------------
|
||||
From V1.2.0, build uffs simulator requires 'cmake'.
|
||||
'cmake' can be downloaded from: http://www.cmake.org/
|
||||
|
||||
or, under Debian/Ubuntu:
|
||||
sudo apt-get install cmake
|
||||
|
||||
BUILD SIMULATOR ON LINUX
|
||||
------------------------
|
||||
1) create a 'build' dir:
|
||||
|
||||
mkdir -p ~/build/uffs
|
||||
|
||||
2) create Makefiles and build:
|
||||
cd ~/build/uffs
|
||||
cmake <path_to_uffs>
|
||||
make
|
||||
|
||||
5) run simulator (interactive mode):
|
||||
src/utils/mkuffs
|
||||
|
||||
|
||||
BUILD SIMULATOR ON WINDOWS
|
||||
--------------------------
|
||||
|
||||
1) create a 'build' dir along with uffs source dir,
|
||||
d:\build\uffs
|
||||
|
||||
2) Create VC project files:
|
||||
cd build\uffs
|
||||
cmake <path_to_uffs>
|
||||
|
||||
3) Open uffs.dsw (or uffs.sln for VC > 6 ), compile & run.
|
||||
|
||||
|
||||
LATEST SOURCE CODE
|
||||
------------------
|
||||
You can get the latest source code from git repository:
|
||||
git clone git://uffs.git.sourceforge.net/gitroot/uffs/uffs
|
||||
|
||||
|
||||
CURRENT STATUS
|
||||
--------------
|
||||
UFFS 0.1.x is a working version on PC simulator, also has been ported to
|
||||
uBase embedded OS as a 'real world' product for thousands of copies,
|
||||
it works fine so far.
|
||||
|
||||
UFFS 0.2.0 implementes full directory.
|
||||
|
||||
UFFS 1.0.0 is the first stable release at sf.net.
|
||||
|
||||
UFFS 1.1.0: support NAND flash with large page size (up to 2K).
|
||||
|
||||
UFFS 1.1.1: bug fixes. a tool for making uffs disk image.
|
||||
|
||||
UFFS 1.1.2: bug fixes. add more Flash Class. change Licence from GNU GPLv2 to GNU LGPLv2
|
||||
|
||||
UFFS 1.2.0:
|
||||
- eliminate 'current path' and relatives. Now you should use absolute path in all
|
||||
uffs APIs. For dir, the fullname should end with '/'.
|
||||
- allow using static memory allocation, 'malloc' is no longer needed.
|
||||
- using cmake for building simulator.
|
||||
- bug fixes & minor changes.
|
||||
|
||||
UFFS 1.2.1:
|
||||
- improve bad block management
|
||||
- bug fixes
|
||||
- change Licence to modified GNU GPLv2.
|
||||
|
||||
UFFS 1.3.0:
|
||||
- improved flash interface
|
||||
- support hardware ECC
|
||||
- support user defined spare layout (for customized NAND flash controller)
|
||||
- support 4K page size
|
||||
- no partial page program required, support MLC NAND flash
|
||||
- reduced buffer flushes by grouping buffers
|
||||
- structual improvments and bug fixes
|
||||
|
||||
UFFS v1.3.1:
|
||||
- Tidy up three memory allocators: static, native and system.
|
||||
- Fix bugs in flash interface example.
|
||||
- Fix memory allocation bugs when using static memory allocator.
|
||||
- Add flash driver interface 'WriteFullPage()'.
|
||||
- Fix compilation errors for BlackFin DSP compiler.
|
||||
|
||||
UFFS v1.3.2:
|
||||
- Add POSIX like file system APIs.
|
||||
- Bug fixes.
|
||||
|
||||
UFFS v1.3.3:
|
||||
- Change Flash Interface, simplify interface.
|
||||
- Improved bad block handling.
|
||||
- Better support for MLC NAND flash.
|
||||
- Added hardware ECC and RS-ECC controller emulator.
|
||||
- Bug fixes.
|
||||
|
||||
UFFS v1.3.4
|
||||
- New UO_NOECC option for skipping ECC (fast reading).
|
||||
- POSIX compliance uffs_seek().
|
||||
- Improved unclean page detection (add new 'seal' byte in spare area).
|
||||
- Optional page data CRC.
|
||||
- Bug fixes.
|
||||
- Other improvements.
|
||||
|
||||
LICENCE
|
||||
-------
|
||||
From v1.2.1, UFFS is released under a modified GNU GPLv2. (the same as eCos Licence)
|
||||
The full licence text can be found in the header of source files:
|
||||
|
||||
UFFS is free software; you can redistribute it and/or modify it under
|
||||
the GNU Library General Public License as published by the Free Software
|
||||
Foundation; either version 2 of the License, or (at your option) any
|
||||
later version.
|
||||
|
||||
UFFS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
or GNU Library General Public License, as applicable, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
and GNU Library General Public License along with UFFS; if not, write
|
||||
to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
As a special exception, if other files instantiate templates or use
|
||||
macros or inline functions from this file, or you compile this file
|
||||
and link it with other works to produce a work based on this file,
|
||||
this file does not by itself cause the resulting work to be covered
|
||||
by the GNU General Public License. However the source code for this
|
||||
file must still be made available in accordance with section (3) of
|
||||
the GNU General Public License v2.
|
||||
|
||||
This exception does not invalidate any other reasons why a work based
|
||||
on this file might be covered by the GNU General Public License.
|
||||
|
||||
|
||||
TESTING UFFS WITH SQLITE3 REGRESSION TEST CASES
|
||||
-----------------------------------------------
|
||||
UFFS can be tested with sqlite3 regression test cases (on Linux).
|
||||
|
||||
1) install tcl8.5-dev on host PC:
|
||||
apt-get install tcl8.5 tcl8.5-dev
|
||||
|
||||
# make sure your Linux is using tcl8.5 as the default tclsh:
|
||||
sudo update-alternatives --config tclsh
|
||||
(select "tclsh8.5" from the list.)
|
||||
|
||||
2) build uffs:
|
||||
mkdir -p ~/build/uffs
|
||||
cd ~/build/uffs
|
||||
cmake <path_to_uffs>
|
||||
|
||||
3) build sqlite3:
|
||||
cd <path_to_uffs>/src/test/sqlite3/sqlite-src-3070900
|
||||
./configure # create some build support files
|
||||
git checkout -f Makefile config.h # restore modified Makefile and config.h
|
||||
make test # start build 'testfixture' program.
|
||||
|
||||
# now you'll see something like:
|
||||
Connect: Connection refused
|
||||
Assert (uffs_ret == ret && ret == bak_ret) fail at /home/.../src/test/api_test/os_uffs.c:os_unlink:329: unlink("/home/.../src/test/sqlite3/sqlite-src-3070900/./test.db-journal"), unix return 0, uffs return -1, bak return -1
|
||||
make: *** [test] Error 1
|
||||
|
||||
4) run test cases:
|
||||
Open two terminals.
|
||||
on termional A:
|
||||
cd ~/build/uffs
|
||||
src/utils/mkuffs -t 1024
|
||||
|
||||
#on uffs simulator command line, enter:
|
||||
format /
|
||||
apisrv
|
||||
|
||||
on terminal B:
|
||||
cd <path_to_uffs>/src/test/sqlite3/sqlite-src-3070900
|
||||
./test-uffs.sh
|
||||
|
||||
Note: if you want to run mkuffs on another PC, for example, a Windows PC, you need to specify the IP address in test-uffs.sh.
|
||||
|
||||
The test will take 1~4 hours, depends on how fast your Linux box is.
|
||||
|
||||
|
||||
ACKNOWLEDGMENT
|
||||
---------------
|
||||
Special thanks for your contributions to:
|
||||
(list in no particular order)
|
||||
|
||||
* Chen Jun <chj@nlscan.com>
|
||||
* Michail <digiolog@mail.ru>
|
||||
* Sjpu <sjpu@163.com>
|
||||
* RobertGray <xennex@hotmail.com>
|
||||
* Dongbo <dongbo@ftsafe.com>
|
||||
* Cag <seucag@hotmail.com>
|
||||
* Sergey <s_sazonov@m2m-t.ru>
|
||||
* Chris Conrad <chris.conrad@halliburton.com>
|
||||
* Vladimir <decoder@rambler.ru>
|
||||
* Thien Pham <thienpham2008@yahoo.com>
|
||||
* Emmanuel Blot <eblot.ml@gmail.com>
|
||||
* Michael <yowong2@gmail.com>
|
||||
* Mick D <mick-eng@sourceforge.net>
|
||||
* Paul <paulr227@gmail.com>
|
||||
* Rogerz <rogerz.zhang@gmail.com>
|
||||
|
||||
|
||||
UFFS: Ultra-low-cost Flash File System
|
||||
|
||||
Project: http://uffs.sf.net/
|
||||
Blog: http://all-about-uffs.blogspot.com/
|
||||
Q/A: http://groups.google.com/group/uffs/
|
||||
|
||||
Author: Ricky Zheng <ricky_gz_zheng@yahoo.co.nz>
|
||||
|
||||
INTRODUCTION
|
||||
------------
|
||||
|
||||
UFFS is a nand flash file system designed for embedded system.
|
||||
|
||||
UFFS have some unique and advanced features:
|
||||
* Low cost: e.g. it needs only 41K bytes RAM for 64MB NAND flash (page size 2048).
|
||||
|
||||
* Fast booting: it reads only a few spares from each block, typically
|
||||
mounting a fully filled file system (Gbits) within one second.
|
||||
|
||||
* Superb Reliability:
|
||||
- The file system is designed for the embedded system which may
|
||||
frequently lost power/reset without care.
|
||||
- Journal file system, the file system will automatically rollback
|
||||
to the last state when lost power on the middle of flash programing.
|
||||
- When 'write' return without error, the data is guarenteed been
|
||||
saved on flash.
|
||||
|
||||
* Fast file create/read/write/seek.
|
||||
* Bad-block tolerant, ECC enable and good ware-leveling.
|
||||
* There is no garbage collection needed for UFFS.
|
||||
* Support multiple NAND flash class in one system.
|
||||
* Support bare flash hardware, no operating system needed.
|
||||
* Support static memory allocation (works without 'malloc').
|
||||
* Fully simulated on PC (Windows/Linux) platform.
|
||||
|
||||
Disadvantage:
|
||||
* space inefficency for small files: UFFS use at least one
|
||||
'block'(the minial erase unit for NAND flash, e.g. 16K ) for a file.
|
||||
* maximum supported blocks: 2^16 = 65535
|
||||
|
||||
Memory consuming example:
|
||||
For page size = 512:
|
||||
[VARY]Tree nodes: 16 * total_blocks
|
||||
[CONST]Page Bufs: MAX_CACHED_BUFFERS(10) * (40 + pageSize(512)) = 5.4K
|
||||
[CONST]Block Info caches: (24 + 14 * pages_per_block (32)) * MAX_CACHED_BLOCK_INFO (10) = 4.6K
|
||||
|
||||
Example 1: 128M bytes NAND, 8192 blocks, total memory cost:
|
||||
(16 * 8192)128K + 5.4K + 4.6K = 138K bytes.
|
||||
|
||||
Example 2: 32M Bytes NAND, 2048 blocks, total memory cost:
|
||||
(16 * 2048)32K + 5.4K + 4.6K = 42K bytes.
|
||||
|
||||
Example 3: 16M bytes NAND, 1024 blocks, total memory cost:
|
||||
(16 * 1024)16K + 5.4K + 4.6K = 26K bytes.
|
||||
|
||||
For page size = 2048:
|
||||
[VARY]Tree nodes: 16 * total_blocks
|
||||
[CONST]Page Bufs: MAX_CACHED_BUFFERS(10) * (40 + pageSize(2048)) = 20.4K
|
||||
[CONST]Block Info caches: (24 + 14 * pages_per_block (32)) * MAX_CACHED_BLOCK_INFO (10) = 4.6K
|
||||
|
||||
Example 1: 512M bytes NAND, 8192 blocks, total memory cost:
|
||||
(16 * 8192)128K + 20.4K + 4.6K = 153K bytes.
|
||||
|
||||
Example 2: 128M Bytes NAND, 2048 blocks, total memory cost:
|
||||
(16 * 2048)32K + 20.4K + 4.6K = 57K bytes.
|
||||
|
||||
Example 3: 64M bytes NAND, 1024 blocks, total memory cost:
|
||||
(16 * 1024)16K + 20.4K + 4.6K = 41K bytes.
|
||||
|
||||
|
||||
BUILD SIMULATOR REQUIREMENT
|
||||
---------------------------
|
||||
From V1.2.0, build uffs simulator requires 'cmake'.
|
||||
'cmake' can be downloaded from: http://www.cmake.org/
|
||||
|
||||
or, under Debian/Ubuntu:
|
||||
sudo apt-get install cmake
|
||||
|
||||
BUILD SIMULATOR ON LINUX
|
||||
------------------------
|
||||
1) create a 'build' dir:
|
||||
|
||||
mkdir -p ~/build/uffs
|
||||
|
||||
2) create Makefiles and build:
|
||||
cd ~/build/uffs
|
||||
cmake <path_to_uffs>
|
||||
make
|
||||
|
||||
5) run simulator (interactive mode):
|
||||
src/utils/mkuffs
|
||||
|
||||
|
||||
BUILD SIMULATOR ON WINDOWS
|
||||
--------------------------
|
||||
|
||||
1) create a 'build' dir along with uffs source dir,
|
||||
d:\build\uffs
|
||||
|
||||
2) Create VC project files:
|
||||
cd build\uffs
|
||||
cmake <path_to_uffs>
|
||||
|
||||
3) Open uffs.dsw (or uffs.sln for VC > 6 ), compile & run.
|
||||
|
||||
|
||||
LATEST SOURCE CODE
|
||||
------------------
|
||||
You can get the latest source code from git repository:
|
||||
git clone git://uffs.git.sourceforge.net/gitroot/uffs/uffs
|
||||
|
||||
|
||||
CURRENT STATUS
|
||||
--------------
|
||||
UFFS 0.1.x is a working version on PC simulator, also has been ported to
|
||||
uBase embedded OS as a 'real world' product for thousands of copies,
|
||||
it works fine so far.
|
||||
|
||||
UFFS 0.2.0 implementes full directory.
|
||||
|
||||
UFFS 1.0.0 is the first stable release at sf.net.
|
||||
|
||||
UFFS 1.1.0: support NAND flash with large page size (up to 2K).
|
||||
|
||||
UFFS 1.1.1: bug fixes. a tool for making uffs disk image.
|
||||
|
||||
UFFS 1.1.2: bug fixes. add more Flash Class. change Licence from GNU GPLv2 to GNU LGPLv2
|
||||
|
||||
UFFS 1.2.0:
|
||||
- eliminate 'current path' and relatives. Now you should use absolute path in all
|
||||
uffs APIs. For dir, the fullname should end with '/'.
|
||||
- allow using static memory allocation, 'malloc' is no longer needed.
|
||||
- using cmake for building simulator.
|
||||
- bug fixes & minor changes.
|
||||
|
||||
UFFS 1.2.1:
|
||||
- improve bad block management
|
||||
- bug fixes
|
||||
- change Licence to modified GNU GPLv2.
|
||||
|
||||
UFFS 1.3.0:
|
||||
- improved flash interface
|
||||
- support hardware ECC
|
||||
- support user defined spare layout (for customized NAND flash controller)
|
||||
- support 4K page size
|
||||
- no partial page program required, support MLC NAND flash
|
||||
- reduced buffer flushes by grouping buffers
|
||||
- structual improvments and bug fixes
|
||||
|
||||
UFFS v1.3.1:
|
||||
- Tidy up three memory allocators: static, native and system.
|
||||
- Fix bugs in flash interface example.
|
||||
- Fix memory allocation bugs when using static memory allocator.
|
||||
- Add flash driver interface 'WriteFullPage()'.
|
||||
- Fix compilation errors for BlackFin DSP compiler.
|
||||
|
||||
UFFS v1.3.2:
|
||||
- Add POSIX like file system APIs.
|
||||
- Bug fixes.
|
||||
|
||||
UFFS v1.3.3:
|
||||
- Change Flash Interface, simplify interface.
|
||||
- Improved bad block handling.
|
||||
- Better support for MLC NAND flash.
|
||||
- Added hardware ECC and RS-ECC controller emulator.
|
||||
- Bug fixes.
|
||||
|
||||
UFFS v1.3.4
|
||||
- New UO_NOECC option for skipping ECC (fast reading).
|
||||
- POSIX compliance uffs_seek().
|
||||
- Improved unclean page detection (add new 'seal' byte in spare area).
|
||||
- Optional page data CRC.
|
||||
- Bug fixes.
|
||||
- Other improvements.
|
||||
|
||||
LICENCE
|
||||
-------
|
||||
From v1.2.1, UFFS is released under a modified GNU GPLv2. (the same as eCos Licence)
|
||||
The full licence text can be found in the header of source files:
|
||||
|
||||
UFFS is free software; you can redistribute it and/or modify it under
|
||||
the GNU Library General Public License as published by the Free Software
|
||||
Foundation; either version 2 of the License, or (at your option) any
|
||||
later version.
|
||||
|
||||
UFFS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
or GNU Library General Public License, as applicable, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
and GNU Library General Public License along with UFFS; if not, write
|
||||
to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
As a special exception, if other files instantiate templates or use
|
||||
macros or inline functions from this file, or you compile this file
|
||||
and link it with other works to produce a work based on this file,
|
||||
this file does not by itself cause the resulting work to be covered
|
||||
by the GNU General Public License. However the source code for this
|
||||
file must still be made available in accordance with section (3) of
|
||||
the GNU General Public License v2.
|
||||
|
||||
This exception does not invalidate any other reasons why a work based
|
||||
on this file might be covered by the GNU General Public License.
|
||||
|
||||
|
||||
TESTING UFFS WITH SQLITE3 REGRESSION TEST CASES
|
||||
-----------------------------------------------
|
||||
UFFS can be tested with sqlite3 regression test cases (on Linux).
|
||||
|
||||
1) install tcl8.5-dev on host PC:
|
||||
apt-get install tcl8.5 tcl8.5-dev
|
||||
|
||||
# make sure your Linux is using tcl8.5 as the default tclsh:
|
||||
sudo update-alternatives --config tclsh
|
||||
(select "tclsh8.5" from the list.)
|
||||
|
||||
2) build uffs:
|
||||
mkdir -p ~/build/uffs
|
||||
cd ~/build/uffs
|
||||
cmake <path_to_uffs>
|
||||
|
||||
3) build sqlite3:
|
||||
cd <path_to_uffs>/src/test/sqlite3/sqlite-src-3070900
|
||||
./configure # create some build support files
|
||||
git checkout -f Makefile config.h # restore modified Makefile and config.h
|
||||
make test # start build 'testfixture' program.
|
||||
|
||||
# now you'll see something like:
|
||||
Connect: Connection refused
|
||||
Assert (uffs_ret == ret && ret == bak_ret) fail at /home/.../src/test/api_test/os_uffs.c:os_unlink:329: unlink("/home/.../src/test/sqlite3/sqlite-src-3070900/./test.db-journal"), unix return 0, uffs return -1, bak return -1
|
||||
make: *** [test] Error 1
|
||||
|
||||
4) run test cases:
|
||||
Open two terminals.
|
||||
on termional A:
|
||||
cd ~/build/uffs
|
||||
src/utils/mkuffs -t 1024
|
||||
|
||||
#on uffs simulator command line, enter:
|
||||
format /
|
||||
apisrv
|
||||
|
||||
on terminal B:
|
||||
cd <path_to_uffs>/src/test/sqlite3/sqlite-src-3070900
|
||||
./test-uffs.sh
|
||||
|
||||
Note: if you want to run mkuffs on another PC, for example, a Windows PC, you need to specify the IP address in test-uffs.sh.
|
||||
|
||||
The test will take 1~4 hours, depends on how fast your Linux box is.
|
||||
|
||||
|
||||
ACKNOWLEDGMENT
|
||||
---------------
|
||||
Special thanks for your contributions to:
|
||||
(list in no particular order)
|
||||
|
||||
* Chen Jun <chj@nlscan.com>
|
||||
* Michail <digiolog@mail.ru>
|
||||
* Sjpu <sjpu@163.com>
|
||||
* RobertGray <xennex@hotmail.com>
|
||||
* Dongbo <dongbo@ftsafe.com>
|
||||
* Cag <seucag@hotmail.com>
|
||||
* Sergey <s_sazonov@m2m-t.ru>
|
||||
* Chris Conrad <chris.conrad@halliburton.com>
|
||||
* Vladimir <decoder@rambler.ru>
|
||||
* Thien Pham <thienpham2008@yahoo.com>
|
||||
* Emmanuel Blot <eblot.ml@gmail.com>
|
||||
* Michael <yowong2@gmail.com>
|
||||
* Mick D <mick-eng@sourceforge.net>
|
||||
* Paul <paulr227@gmail.com>
|
||||
* Rogerz <rogerz.zhang@gmail.com>
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
TODO list for v1.3:
|
||||
|
||||
* New API: int uffs_SkipObject(uffs_Object *obj, int size);
|
||||
* Introduce buffer group
|
||||
* Interface to Linux MTD
|
||||
TODO list for v1.3:
|
||||
|
||||
* New API: int uffs_SkipObject(uffs_Object *obj, int size);
|
||||
* Introduce buffer group
|
||||
* Interface to Linux MTD
|
||||
|
2
components/external/freetype/.gitignore
vendored
2
components/external/freetype/.gitignore
vendored
@ -1 +1 @@
|
||||
config.mk
|
||||
config.mk
|
||||
|
15896
components/external/freetype/ChangeLog
vendored
15896
components/external/freetype/ChangeLog
vendored
File diff suppressed because it is too large
Load Diff
5226
components/external/freetype/ChangeLog.20
vendored
5226
components/external/freetype/ChangeLog.20
vendored
File diff suppressed because it is too large
Load Diff
18878
components/external/freetype/ChangeLog.21
vendored
18878
components/external/freetype/ChangeLog.21
vendored
File diff suppressed because it is too large
Load Diff
5674
components/external/freetype/ChangeLog.22
vendored
5674
components/external/freetype/ChangeLog.22
vendored
File diff suppressed because it is too large
Load Diff
142
components/external/freetype/Jamrules
vendored
142
components/external/freetype/Jamrules
vendored
@ -1,71 +1,71 @@
|
||||
# FreeType 2 JamRules.
|
||||
#
|
||||
# Copyright 2001, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# This file contains the Jam rules needed to build the FreeType 2 library.
|
||||
# It is shared by all Jamfiles and is included only once in the build
|
||||
# process.
|
||||
#
|
||||
|
||||
|
||||
# Call SubDirHdrs on a list of directories.
|
||||
#
|
||||
rule AddSubDirHdrs
|
||||
{
|
||||
local x ;
|
||||
|
||||
for x in $(<)
|
||||
{
|
||||
SubDirHdrs $(x) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Determine prefix of library file. We must use "libxxxxx" on Unix systems,
|
||||
# while all other simply use the real name.
|
||||
#
|
||||
if $(UNIX)
|
||||
{
|
||||
LIBPREFIX ?= lib ;
|
||||
}
|
||||
else
|
||||
{
|
||||
LIBPREFIX ?= "" ;
|
||||
}
|
||||
|
||||
# FT2_TOP contains the location of the FreeType source directory. You can
|
||||
# set it to a specific value if you want to compile the library as part of a
|
||||
# larger project.
|
||||
#
|
||||
FT2_TOP ?= $(DOT) ;
|
||||
|
||||
# Define a new rule used to declare a sub directory of the Nirvana source
|
||||
# tree.
|
||||
#
|
||||
rule FT2_SubDir
|
||||
{
|
||||
if $(FT2_TOP) = $(DOT)
|
||||
{
|
||||
return [ FDirName $(<) ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
return [ FDirName $(FT2_TOP) $(<) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
# We also set ALL_LOCATE_TARGET in order to place all object and library
|
||||
# files in "objs".
|
||||
#
|
||||
ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ;
|
||||
|
||||
|
||||
# end of Jamrules
|
||||
# FreeType 2 JamRules.
|
||||
#
|
||||
# Copyright 2001, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# This file contains the Jam rules needed to build the FreeType 2 library.
|
||||
# It is shared by all Jamfiles and is included only once in the build
|
||||
# process.
|
||||
#
|
||||
|
||||
|
||||
# Call SubDirHdrs on a list of directories.
|
||||
#
|
||||
rule AddSubDirHdrs
|
||||
{
|
||||
local x ;
|
||||
|
||||
for x in $(<)
|
||||
{
|
||||
SubDirHdrs $(x) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Determine prefix of library file. We must use "libxxxxx" on Unix systems,
|
||||
# while all other simply use the real name.
|
||||
#
|
||||
if $(UNIX)
|
||||
{
|
||||
LIBPREFIX ?= lib ;
|
||||
}
|
||||
else
|
||||
{
|
||||
LIBPREFIX ?= "" ;
|
||||
}
|
||||
|
||||
# FT2_TOP contains the location of the FreeType source directory. You can
|
||||
# set it to a specific value if you want to compile the library as part of a
|
||||
# larger project.
|
||||
#
|
||||
FT2_TOP ?= $(DOT) ;
|
||||
|
||||
# Define a new rule used to declare a sub directory of the Nirvana source
|
||||
# tree.
|
||||
#
|
||||
rule FT2_SubDir
|
||||
{
|
||||
if $(FT2_TOP) = $(DOT)
|
||||
{
|
||||
return [ FDirName $(<) ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
return [ FDirName $(FT2_TOP) $(<) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
# We also set ALL_LOCATE_TARGET in order to place all object and library
|
||||
# files in "objs".
|
||||
#
|
||||
ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ;
|
||||
|
||||
|
||||
# end of Jamrules
|
||||
|
128
components/external/freetype/README
vendored
128
components/external/freetype/README
vendored
@ -1,64 +1,64 @@
|
||||
Special notes to Unix users
|
||||
===========================
|
||||
|
||||
Please read the file `docs/UPGRADE.UNIX'. It contains important
|
||||
information regarding the installation of FreeType on Unix systems,
|
||||
especially GNU based operating systems like GNU/Linux.
|
||||
|
||||
FreeType 2's library is called `libfreetype', FreeType 1's library
|
||||
is called `libttf'. They are *not* compatible!
|
||||
|
||||
|
||||
FreeType 2.3.12
|
||||
===============
|
||||
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT
|
||||
INFORMATION.
|
||||
|
||||
Read the files `docs/INSTALL' for installation instructions.
|
||||
|
||||
The FreeType 2 API reference is located in `docs/reference'; use the
|
||||
file `ft2-doc.html' as the top entry point. Additional
|
||||
documentation is available as a separate package from our sites. Go
|
||||
to
|
||||
|
||||
http://download.savannah.gnu.org/releases/freetype/
|
||||
|
||||
and download one of the following files.
|
||||
|
||||
freetype-doc-2.3.12.tar.bz2
|
||||
freetype-doc-2.3.12.tar.gz
|
||||
ftdoc2312.zip
|
||||
|
||||
|
||||
Bugs
|
||||
====
|
||||
|
||||
Please report bugs by e-mail to `freetype-devel@nongnu.org'. Don't
|
||||
forget to send a detailed explanation of the problem -- there is
|
||||
nothing worse than receiving a terse message that only says `it
|
||||
doesn't work'.
|
||||
|
||||
Alternatively, you may submit a bug report at
|
||||
|
||||
https://savannah.nongnu.org/bugs/?group=freetype
|
||||
|
||||
|
||||
Enjoy!
|
||||
|
||||
|
||||
The FreeType Team
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README ---
|
||||
Special notes to Unix users
|
||||
===========================
|
||||
|
||||
Please read the file `docs/UPGRADE.UNIX'. It contains important
|
||||
information regarding the installation of FreeType on Unix systems,
|
||||
especially GNU based operating systems like GNU/Linux.
|
||||
|
||||
FreeType 2's library is called `libfreetype', FreeType 1's library
|
||||
is called `libttf'. They are *not* compatible!
|
||||
|
||||
|
||||
FreeType 2.3.12
|
||||
===============
|
||||
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT
|
||||
INFORMATION.
|
||||
|
||||
Read the files `docs/INSTALL' for installation instructions.
|
||||
|
||||
The FreeType 2 API reference is located in `docs/reference'; use the
|
||||
file `ft2-doc.html' as the top entry point. Additional
|
||||
documentation is available as a separate package from our sites. Go
|
||||
to
|
||||
|
||||
http://download.savannah.gnu.org/releases/freetype/
|
||||
|
||||
and download one of the following files.
|
||||
|
||||
freetype-doc-2.3.12.tar.bz2
|
||||
freetype-doc-2.3.12.tar.gz
|
||||
ftdoc2312.zip
|
||||
|
||||
|
||||
Bugs
|
||||
====
|
||||
|
||||
Please report bugs by e-mail to `freetype-devel@nongnu.org'. Don't
|
||||
forget to send a detailed explanation of the problem -- there is
|
||||
nothing worse than receiving a terse message that only says `it
|
||||
doesn't work'.
|
||||
|
||||
Alternatively, you may submit a bug report at
|
||||
|
||||
https://savannah.nongnu.org/bugs/?group=freetype
|
||||
|
||||
|
||||
Enjoy!
|
||||
|
||||
|
||||
The FreeType Team
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README ---
|
||||
|
92
components/external/freetype/README.git
vendored
92
components/external/freetype/README.git
vendored
@ -1,46 +1,46 @@
|
||||
The git archive doesn't contain pre-built configuration scripts for
|
||||
UNIXish platforms. To generate them say
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
which in turn depends on the following packages:
|
||||
|
||||
automake (1.10.1)
|
||||
libtool (2.2.4)
|
||||
autoconf (2.62)
|
||||
|
||||
The versions given in parentheses are known to work. Newer versions
|
||||
should work too, of course. Note that autogen.sh also sets up proper
|
||||
file permissions for the `configure' and auxiliary scripts.
|
||||
|
||||
The autogen.sh script now checks the version of above three packages
|
||||
whether they match the numbers above. Otherwise it will complain and
|
||||
suggest either upgrading or using an environment variable to point to
|
||||
a more recent version of the required tool(s).
|
||||
|
||||
Note that `aclocal' is provided by the `automake' package on Linux,
|
||||
and that `libtoolize' is called `glibtoolize' on Darwin (OS X).
|
||||
|
||||
|
||||
For static builds which don't use platform specific optimizations, no
|
||||
configure script is necessary at all; saying
|
||||
|
||||
make setup ansi
|
||||
make
|
||||
|
||||
should work on all platforms which have GNU make (or makepp).
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2005, 2006, 2007, 2008, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README.CVS ---
|
||||
The git archive doesn't contain pre-built configuration scripts for
|
||||
UNIXish platforms. To generate them say
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
which in turn depends on the following packages:
|
||||
|
||||
automake (1.10.1)
|
||||
libtool (2.2.4)
|
||||
autoconf (2.62)
|
||||
|
||||
The versions given in parentheses are known to work. Newer versions
|
||||
should work too, of course. Note that autogen.sh also sets up proper
|
||||
file permissions for the `configure' and auxiliary scripts.
|
||||
|
||||
The autogen.sh script now checks the version of above three packages
|
||||
whether they match the numbers above. Otherwise it will complain and
|
||||
suggest either upgrading or using an environment variable to point to
|
||||
a more recent version of the required tool(s).
|
||||
|
||||
Note that `aclocal' is provided by the `automake' package on Linux,
|
||||
and that `libtoolize' is called `glibtoolize' on Darwin (OS X).
|
||||
|
||||
|
||||
For static builds which don't use platform specific optimizations, no
|
||||
configure script is necessary at all; saying
|
||||
|
||||
make setup ansi
|
||||
make
|
||||
|
||||
should work on all platforms which have GNU make (or makepp).
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2005, 2006, 2007, 2008, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README.CVS ---
|
||||
|
220
components/external/freetype/builds/amiga/README
vendored
220
components/external/freetype/builds/amiga/README
vendored
@ -1,110 +1,110 @@
|
||||
|
||||
README for the builds/amiga subdirectory.
|
||||
|
||||
Copyright 2005 by
|
||||
Werner Lemberg and Detlef Würkner.
|
||||
|
||||
This file is part of the FreeType project, and may only be used, modified,
|
||||
and distributed under the terms of the FreeType project license,
|
||||
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
indicate that you have read the license and understand and accept it
|
||||
fully.
|
||||
|
||||
|
||||
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
|
||||
"make -f makefile.os4", it produces a link library libft2_ppc.a.
|
||||
|
||||
The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
|
||||
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
|
||||
To use it, type "make assign", then "make"; it produces a link library
|
||||
libft2_ppc.a.
|
||||
|
||||
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
|
||||
latest sold version was 6.50, updates can be found in Aminet). It is
|
||||
based on the version found in the sourcecode of ttf.library 0.83b for
|
||||
FreeType 1.3.1 from Richard Griffith (ragriffi@sprynet.com,
|
||||
http://ragriffi.home.sprynet.com).
|
||||
|
||||
You will also need the latest include files and amiga.lib from the
|
||||
Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
|
||||
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
|
||||
|
||||
To use it, call "smake assign" and then "smake" from the builds/amiga
|
||||
directory. The results are:
|
||||
|
||||
- A link library "ft2_680x0.lib" (where x depends on the setting of
|
||||
the CPU entry in the smakefile) containing all FreeType2 parts
|
||||
except of the init code, debugging code, and the system interface
|
||||
code.
|
||||
|
||||
- ftsystem.o, an object module containing the standard version of the
|
||||
system interface code which uses fopen() fclose() fread() fseek()
|
||||
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
|
||||
|
||||
- ftsystempure.o, an object module containing the pure version of the
|
||||
system interface code which uses Open() Close() Read() Seek()
|
||||
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
|
||||
be used in both normal programs and in Amiga run-time shared system
|
||||
librarys (can be linked with lib:libinit.o, no copying of DATA and
|
||||
BSS hunks for each OpenLibrary() necessary). Source code is in
|
||||
src/base/ftsystem.c.
|
||||
|
||||
- ftdebug.o, an object module containing the standard version of the
|
||||
debugging code which uses vprintf() and exit() (not pure).
|
||||
Debugging can be turned on in FT:include/freetype/config/ftoption.h
|
||||
and with FT_SetTraceLevel().
|
||||
|
||||
- ftdebugpure.o, an object module containing the pure version of the
|
||||
debugging code which uses KVPrintf() from lib:debug.lib and no
|
||||
exit(). For debugging of Amiga run-time shared system libraries.
|
||||
Source code is in src/base/ftdebug.c.
|
||||
|
||||
- NO ftinit.o. Because linking with a link library should result in
|
||||
linking only the needed object modules in it, but standard
|
||||
ftsystem.o would force ALL FreeType2 modules to be linked to your
|
||||
program, I decided to use a different scheme: You must #include
|
||||
FT:src/base/ftinit.c in your sourcecode and specify with #define
|
||||
statements which modules you need. See
|
||||
include/freetype/config/ftmodule.h.
|
||||
|
||||
|
||||
To use in your own programs:
|
||||
|
||||
- Insert the #define and #include statements from top of
|
||||
include/freetype/config/ftmodule.h in your source code and uncomment
|
||||
the #define statements for the FreeType2 modules you need.
|
||||
|
||||
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
|
||||
calling the FreeType2 functions, because the link library and the
|
||||
object files are compiled with PARAMETERS=BOTH.
|
||||
|
||||
- "smake assign" (assign "FT:" to the FreeType2 main directory).
|
||||
|
||||
- Compile your program.
|
||||
|
||||
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
|
||||
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
|
||||
ft2_680x0.lib as link library.
|
||||
|
||||
|
||||
To adapt to other compilers:
|
||||
|
||||
- The standard ANSI C maximum length of 31 significant characters in
|
||||
identifiers is not enough for FreeType2. Check if your compiler has
|
||||
a minimum length of 40 significant characters or can be switched to
|
||||
it. "idlen=40" is the option for SAS/C. Setting #define
|
||||
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
|
||||
|
||||
- Make sure that the include directory in builds/amiga is searched
|
||||
before the normal FreeType2 include directory, so you are able to
|
||||
replace problematic include files with your own version (same may be
|
||||
useful for the src directory).
|
||||
|
||||
- An example of how to replace/workaround a problematic include file
|
||||
is include/config/ftconfig.h; it changes a #define that would
|
||||
prevent SAS/C from generating XDEF's where it should do that and
|
||||
then includes the standard FreeType2 include file.
|
||||
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
|
||||
README for the builds/amiga subdirectory.
|
||||
|
||||
Copyright 2005 by
|
||||
Werner Lemberg and Detlef Würkner.
|
||||
|
||||
This file is part of the FreeType project, and may only be used, modified,
|
||||
and distributed under the terms of the FreeType project license,
|
||||
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
indicate that you have read the license and understand and accept it
|
||||
fully.
|
||||
|
||||
|
||||
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
|
||||
"make -f makefile.os4", it produces a link library libft2_ppc.a.
|
||||
|
||||
The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
|
||||
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
|
||||
To use it, type "make assign", then "make"; it produces a link library
|
||||
libft2_ppc.a.
|
||||
|
||||
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
|
||||
latest sold version was 6.50, updates can be found in Aminet). It is
|
||||
based on the version found in the sourcecode of ttf.library 0.83b for
|
||||
FreeType 1.3.1 from Richard Griffith (ragriffi@sprynet.com,
|
||||
http://ragriffi.home.sprynet.com).
|
||||
|
||||
You will also need the latest include files and amiga.lib from the
|
||||
Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
|
||||
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
|
||||
|
||||
To use it, call "smake assign" and then "smake" from the builds/amiga
|
||||
directory. The results are:
|
||||
|
||||
- A link library "ft2_680x0.lib" (where x depends on the setting of
|
||||
the CPU entry in the smakefile) containing all FreeType2 parts
|
||||
except of the init code, debugging code, and the system interface
|
||||
code.
|
||||
|
||||
- ftsystem.o, an object module containing the standard version of the
|
||||
system interface code which uses fopen() fclose() fread() fseek()
|
||||
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
|
||||
|
||||
- ftsystempure.o, an object module containing the pure version of the
|
||||
system interface code which uses Open() Close() Read() Seek()
|
||||
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
|
||||
be used in both normal programs and in Amiga run-time shared system
|
||||
librarys (can be linked with lib:libinit.o, no copying of DATA and
|
||||
BSS hunks for each OpenLibrary() necessary). Source code is in
|
||||
src/base/ftsystem.c.
|
||||
|
||||
- ftdebug.o, an object module containing the standard version of the
|
||||
debugging code which uses vprintf() and exit() (not pure).
|
||||
Debugging can be turned on in FT:include/freetype/config/ftoption.h
|
||||
and with FT_SetTraceLevel().
|
||||
|
||||
- ftdebugpure.o, an object module containing the pure version of the
|
||||
debugging code which uses KVPrintf() from lib:debug.lib and no
|
||||
exit(). For debugging of Amiga run-time shared system libraries.
|
||||
Source code is in src/base/ftdebug.c.
|
||||
|
||||
- NO ftinit.o. Because linking with a link library should result in
|
||||
linking only the needed object modules in it, but standard
|
||||
ftsystem.o would force ALL FreeType2 modules to be linked to your
|
||||
program, I decided to use a different scheme: You must #include
|
||||
FT:src/base/ftinit.c in your sourcecode and specify with #define
|
||||
statements which modules you need. See
|
||||
include/freetype/config/ftmodule.h.
|
||||
|
||||
|
||||
To use in your own programs:
|
||||
|
||||
- Insert the #define and #include statements from top of
|
||||
include/freetype/config/ftmodule.h in your source code and uncomment
|
||||
the #define statements for the FreeType2 modules you need.
|
||||
|
||||
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
|
||||
calling the FreeType2 functions, because the link library and the
|
||||
object files are compiled with PARAMETERS=BOTH.
|
||||
|
||||
- "smake assign" (assign "FT:" to the FreeType2 main directory).
|
||||
|
||||
- Compile your program.
|
||||
|
||||
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
|
||||
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
|
||||
ft2_680x0.lib as link library.
|
||||
|
||||
|
||||
To adapt to other compilers:
|
||||
|
||||
- The standard ANSI C maximum length of 31 significant characters in
|
||||
identifiers is not enough for FreeType2. Check if your compiler has
|
||||
a minimum length of 40 significant characters or can be switched to
|
||||
it. "idlen=40" is the option for SAS/C. Setting #define
|
||||
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
|
||||
|
||||
- Make sure that the include directory in builds/amiga is searched
|
||||
before the normal FreeType2 include directory, so you are able to
|
||||
replace problematic include files with your own version (same may be
|
||||
useful for the src directory).
|
||||
|
||||
- An example of how to replace/workaround a problematic include file
|
||||
is include/config/ftconfig.h; it changes a #define that would
|
||||
prevent SAS/C from generating XDEF's where it should do that and
|
||||
then includes the standard FreeType2 include file.
|
||||
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
|
@ -1,297 +1,297 @@
|
||||
#
|
||||
# Makefile for FreeType2 link library using gcc 4.0.3 from the
|
||||
# AmigaOS4 SDK
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2005, 2006, 2007, 2009 by
|
||||
# Werner Lemberg and Detlef Würkner.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# to build from the builds/amiga directory call
|
||||
#
|
||||
# make -f makefile.os4
|
||||
#
|
||||
# Your programs source code should start with this
|
||||
# (uncomment the parts you do not need to keep the program small):
|
||||
# ---8<---
|
||||
#define FT_USE_AUTOFIT // autofitter
|
||||
#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
|
||||
#define FT_USE_OTV // opentype validator
|
||||
#define FT_USE_GXV // truetype gx validator
|
||||
#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: assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
|
||||
|
||||
assign:
|
||||
assign FT: //
|
||||
|
||||
CC = ppc-amigaos-gcc
|
||||
AR = ppc-amigaos-ar
|
||||
RANLIB = ppc-amigaos-ranlib
|
||||
|
||||
DIRFLAGS = -Iinclude -I/FT/src -I/FT/include -I/SDK/include
|
||||
|
||||
WARNINGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast \
|
||||
-Waggregate-return -Wwrite-strings -Wshadow
|
||||
|
||||
OPTIONS = -DFT2_BUILD_LIBRARY -DNDEBUG -fno-builtin
|
||||
OPTIMIZE = -O2 -fomit-frame-pointer -fstrength-reduce -finline-functions
|
||||
|
||||
CFLAGS = -mcrt=clib2 $(DIRFLAGS) $(WARNINGS) $(FT2FLAGS) $(OPTIONS) $(OPTIMIZE)
|
||||
|
||||
#
|
||||
# FreeType2 library base
|
||||
#
|
||||
ftbase.ppc.o: FT:src/base/ftbase.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbase.c
|
||||
|
||||
ftinit.ppc.o: FT:src/base/ftinit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftinit.c
|
||||
|
||||
ftsystem.ppc.o: FT:src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsystem.c
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftsystempure.ppc.o: src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ src/base/ftsystem.c
|
||||
|
||||
#
|
||||
# FreeType2 library base extensions
|
||||
#
|
||||
ftbbox.ppc.o: FT:src/base/ftbbox.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbbox.c
|
||||
|
||||
ftbdf.ppc.o: FT:src/base/ftbdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbdf.c
|
||||
|
||||
ftbitmap.ppc.o: FT:src/base/ftbitmap.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
|
||||
|
||||
ftcid.ppc.o: FT:src/base/ftcid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c
|
||||
|
||||
ftdebug.ppc.o: FT:src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftdebugpure.ppc.o: src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
|
||||
|
||||
ftfstype.ppc.o: FT:src/base/ftfstype.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c
|
||||
|
||||
ftgasp.ppc.o: FT:src/base/ftgasp.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c
|
||||
|
||||
ftglyph.ppc.o: FT:src/base/ftglyph.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftglyph.c
|
||||
|
||||
ftgxval.ppc.o: FT:src/base/ftgxval.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgxval.c
|
||||
|
||||
ftlcdfil.ppc.o: FT:src/base/ftlcdfil.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftlcdfil.c
|
||||
|
||||
ftmm.ppc.o: FT:src/base/ftmm.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftmm.c
|
||||
|
||||
ftotval.ppc.o: FT:src/base/ftotval.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
|
||||
|
||||
ftpatent.ppc.o: FT:src/base/ftpatent.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c
|
||||
|
||||
ftpfr.ppc.o: FT:src/base/ftpfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
|
||||
|
||||
ftstroke.ppc.o: FT:src/base/ftstroke.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftstroke.c
|
||||
|
||||
ftsynth.ppc.o: FT:src/base/ftsynth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsynth.c
|
||||
|
||||
fttype1.ppc.o: FT:src/base/fttype1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/fttype1.c
|
||||
|
||||
ftwinfnt.ppc.o: FT:src/base/ftwinfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftwinfnt.c
|
||||
|
||||
ftxf86.ppc.o: FT:src/base/ftxf86.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftxf86.c
|
||||
|
||||
#
|
||||
# FreeType2 library autofitting module
|
||||
#
|
||||
autofit.ppc.o: FT:src/autofit/autofit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/autofit/autofit.c
|
||||
|
||||
#
|
||||
# FreeType2 library postscript hinting module
|
||||
#
|
||||
pshinter.ppc.o: FT:src/pshinter/pshinter.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pshinter/pshinter.c
|
||||
|
||||
#
|
||||
# FreeType2 library PS support module
|
||||
#
|
||||
psaux.ppc.o: FT:src/psaux/psaux.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/psaux/psaux.c
|
||||
|
||||
#
|
||||
# FreeType2 library PS glyph names module
|
||||
#
|
||||
psnames.ppc.o: FT:src/psnames/psnames.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/psnames/psnames.c
|
||||
|
||||
#
|
||||
# FreeType2 library monochrome raster module
|
||||
#
|
||||
raster.ppc.o: FT:src/raster/raster.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/raster/raster.c
|
||||
|
||||
#
|
||||
# FreeType2 library anti-aliasing raster module
|
||||
#
|
||||
smooth.ppc.o: FT:src/smooth/smooth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/smooth/smooth.c
|
||||
|
||||
#
|
||||
# FreeType2 library 'sfnt' module
|
||||
#
|
||||
sfnt.ppc.o: FT:src/sfnt/sfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/sfnt/sfnt.c
|
||||
|
||||
#
|
||||
# FreeType2 library glyph and image caching system
|
||||
#
|
||||
ftcache.ppc.o: FT:src/cache/ftcache.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cache/ftcache.c
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType font driver
|
||||
#
|
||||
cff.ppc.o: FT:src/cff/cff.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cff/cff.c
|
||||
|
||||
#
|
||||
# FreeType2 library TrueType font driver
|
||||
#
|
||||
truetype.ppc.o: FT:src/truetype/truetype.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/truetype/truetype.c
|
||||
|
||||
#
|
||||
# FreeType2 library Type1 font driver
|
||||
#
|
||||
type1.ppc.o: FT:src/type1/type1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/type1/type1.c
|
||||
|
||||
#
|
||||
# FreeType2 library Type42 font driver
|
||||
#
|
||||
type42.ppc.o: FT:src/type42/type42.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/type42/type42.c
|
||||
|
||||
#
|
||||
# FreeType2 library CID-keyed Type1 font driver
|
||||
#
|
||||
type1cid.ppc.o: FT:src/cid/type1cid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cid/type1cid.c
|
||||
|
||||
#
|
||||
# FreeType2 library BDF bitmap font driver
|
||||
#
|
||||
bdf.ppc.o: FT:src/bdf/bdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/bdf/bdf.c
|
||||
|
||||
#
|
||||
# FreeType2 library PCF bitmap font driver
|
||||
#
|
||||
pcf.ppc.o: FT:src/pcf/pcf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pcf/pcf.c
|
||||
|
||||
#
|
||||
# FreeType2 library gzip support for compressed PCF bitmap fonts
|
||||
#
|
||||
gzip.ppc.o: FT:src/gzip/ftgzip.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/gzip/ftgzip.c
|
||||
|
||||
#
|
||||
# FreeType2 library compress support for compressed PCF bitmap fonts
|
||||
#
|
||||
lzw.ppc.o: FT:src/lzw/ftlzw.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/lzw/ftlzw.c
|
||||
|
||||
#
|
||||
# FreeType2 library PFR font driver
|
||||
#
|
||||
pfr.ppc.o: FT:src/pfr/pfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pfr/pfr.c
|
||||
|
||||
#
|
||||
# FreeType2 library Windows FNT/FON bitmap font driver
|
||||
#
|
||||
winfnt.ppc.o: FT:src/winfonts/winfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/winfonts/winfnt.c
|
||||
|
||||
#
|
||||
# FreeType2 library TrueTypeGX Validator
|
||||
#
|
||||
gxvalid.ppc.o: FT:src/gxvalid/gxvalid.c
|
||||
$(CC) -c $(CFLAGS) -Wno-aggregate-return -o $@ /FT/src/gxvalid/gxvalid.c
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType validator
|
||||
#
|
||||
otvalid.ppc.o: FT:src/otvalid/otvalid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
|
||||
|
||||
BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
|
||||
ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o \
|
||||
ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
|
||||
ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o \
|
||||
ftxf86.ppc.o
|
||||
|
||||
DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
|
||||
|
||||
AFIT = autofit.ppc.o
|
||||
|
||||
GXV = gxvalid.ppc.o
|
||||
|
||||
OTV = otvalid.ppc.o
|
||||
|
||||
PS = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
|
||||
|
||||
RASTER = raster.ppc.o smooth.ppc.o
|
||||
|
||||
FONTD = 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: $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||
$(AR) r $@ $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||
$(RANLIB) $@
|
||||
|
||||
#Local Variables:
|
||||
#coding: latin-1
|
||||
#End:
|
||||
#
|
||||
# Makefile for FreeType2 link library using gcc 4.0.3 from the
|
||||
# AmigaOS4 SDK
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2005, 2006, 2007, 2009 by
|
||||
# Werner Lemberg and Detlef Würkner.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# to build from the builds/amiga directory call
|
||||
#
|
||||
# make -f makefile.os4
|
||||
#
|
||||
# Your programs source code should start with this
|
||||
# (uncomment the parts you do not need to keep the program small):
|
||||
# ---8<---
|
||||
#define FT_USE_AUTOFIT // autofitter
|
||||
#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
|
||||
#define FT_USE_OTV // opentype validator
|
||||
#define FT_USE_GXV // truetype gx validator
|
||||
#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: assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
|
||||
|
||||
assign:
|
||||
assign FT: //
|
||||
|
||||
CC = ppc-amigaos-gcc
|
||||
AR = ppc-amigaos-ar
|
||||
RANLIB = ppc-amigaos-ranlib
|
||||
|
||||
DIRFLAGS = -Iinclude -I/FT/src -I/FT/include -I/SDK/include
|
||||
|
||||
WARNINGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast \
|
||||
-Waggregate-return -Wwrite-strings -Wshadow
|
||||
|
||||
OPTIONS = -DFT2_BUILD_LIBRARY -DNDEBUG -fno-builtin
|
||||
OPTIMIZE = -O2 -fomit-frame-pointer -fstrength-reduce -finline-functions
|
||||
|
||||
CFLAGS = -mcrt=clib2 $(DIRFLAGS) $(WARNINGS) $(FT2FLAGS) $(OPTIONS) $(OPTIMIZE)
|
||||
|
||||
#
|
||||
# FreeType2 library base
|
||||
#
|
||||
ftbase.ppc.o: FT:src/base/ftbase.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbase.c
|
||||
|
||||
ftinit.ppc.o: FT:src/base/ftinit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftinit.c
|
||||
|
||||
ftsystem.ppc.o: FT:src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsystem.c
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftsystempure.ppc.o: src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ src/base/ftsystem.c
|
||||
|
||||
#
|
||||
# FreeType2 library base extensions
|
||||
#
|
||||
ftbbox.ppc.o: FT:src/base/ftbbox.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbbox.c
|
||||
|
||||
ftbdf.ppc.o: FT:src/base/ftbdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbdf.c
|
||||
|
||||
ftbitmap.ppc.o: FT:src/base/ftbitmap.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
|
||||
|
||||
ftcid.ppc.o: FT:src/base/ftcid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c
|
||||
|
||||
ftdebug.ppc.o: FT:src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftdebugpure.ppc.o: src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
|
||||
|
||||
ftfstype.ppc.o: FT:src/base/ftfstype.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c
|
||||
|
||||
ftgasp.ppc.o: FT:src/base/ftgasp.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c
|
||||
|
||||
ftglyph.ppc.o: FT:src/base/ftglyph.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftglyph.c
|
||||
|
||||
ftgxval.ppc.o: FT:src/base/ftgxval.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgxval.c
|
||||
|
||||
ftlcdfil.ppc.o: FT:src/base/ftlcdfil.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftlcdfil.c
|
||||
|
||||
ftmm.ppc.o: FT:src/base/ftmm.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftmm.c
|
||||
|
||||
ftotval.ppc.o: FT:src/base/ftotval.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
|
||||
|
||||
ftpatent.ppc.o: FT:src/base/ftpatent.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c
|
||||
|
||||
ftpfr.ppc.o: FT:src/base/ftpfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
|
||||
|
||||
ftstroke.ppc.o: FT:src/base/ftstroke.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftstroke.c
|
||||
|
||||
ftsynth.ppc.o: FT:src/base/ftsynth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsynth.c
|
||||
|
||||
fttype1.ppc.o: FT:src/base/fttype1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/fttype1.c
|
||||
|
||||
ftwinfnt.ppc.o: FT:src/base/ftwinfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftwinfnt.c
|
||||
|
||||
ftxf86.ppc.o: FT:src/base/ftxf86.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftxf86.c
|
||||
|
||||
#
|
||||
# FreeType2 library autofitting module
|
||||
#
|
||||
autofit.ppc.o: FT:src/autofit/autofit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/autofit/autofit.c
|
||||
|
||||
#
|
||||
# FreeType2 library postscript hinting module
|
||||
#
|
||||
pshinter.ppc.o: FT:src/pshinter/pshinter.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pshinter/pshinter.c
|
||||
|
||||
#
|
||||
# FreeType2 library PS support module
|
||||
#
|
||||
psaux.ppc.o: FT:src/psaux/psaux.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/psaux/psaux.c
|
||||
|
||||
#
|
||||
# FreeType2 library PS glyph names module
|
||||
#
|
||||
psnames.ppc.o: FT:src/psnames/psnames.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/psnames/psnames.c
|
||||
|
||||
#
|
||||
# FreeType2 library monochrome raster module
|
||||
#
|
||||
raster.ppc.o: FT:src/raster/raster.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/raster/raster.c
|
||||
|
||||
#
|
||||
# FreeType2 library anti-aliasing raster module
|
||||
#
|
||||
smooth.ppc.o: FT:src/smooth/smooth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/smooth/smooth.c
|
||||
|
||||
#
|
||||
# FreeType2 library 'sfnt' module
|
||||
#
|
||||
sfnt.ppc.o: FT:src/sfnt/sfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/sfnt/sfnt.c
|
||||
|
||||
#
|
||||
# FreeType2 library glyph and image caching system
|
||||
#
|
||||
ftcache.ppc.o: FT:src/cache/ftcache.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cache/ftcache.c
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType font driver
|
||||
#
|
||||
cff.ppc.o: FT:src/cff/cff.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cff/cff.c
|
||||
|
||||
#
|
||||
# FreeType2 library TrueType font driver
|
||||
#
|
||||
truetype.ppc.o: FT:src/truetype/truetype.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/truetype/truetype.c
|
||||
|
||||
#
|
||||
# FreeType2 library Type1 font driver
|
||||
#
|
||||
type1.ppc.o: FT:src/type1/type1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/type1/type1.c
|
||||
|
||||
#
|
||||
# FreeType2 library Type42 font driver
|
||||
#
|
||||
type42.ppc.o: FT:src/type42/type42.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/type42/type42.c
|
||||
|
||||
#
|
||||
# FreeType2 library CID-keyed Type1 font driver
|
||||
#
|
||||
type1cid.ppc.o: FT:src/cid/type1cid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cid/type1cid.c
|
||||
|
||||
#
|
||||
# FreeType2 library BDF bitmap font driver
|
||||
#
|
||||
bdf.ppc.o: FT:src/bdf/bdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/bdf/bdf.c
|
||||
|
||||
#
|
||||
# FreeType2 library PCF bitmap font driver
|
||||
#
|
||||
pcf.ppc.o: FT:src/pcf/pcf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pcf/pcf.c
|
||||
|
||||
#
|
||||
# FreeType2 library gzip support for compressed PCF bitmap fonts
|
||||
#
|
||||
gzip.ppc.o: FT:src/gzip/ftgzip.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/gzip/ftgzip.c
|
||||
|
||||
#
|
||||
# FreeType2 library compress support for compressed PCF bitmap fonts
|
||||
#
|
||||
lzw.ppc.o: FT:src/lzw/ftlzw.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/lzw/ftlzw.c
|
||||
|
||||
#
|
||||
# FreeType2 library PFR font driver
|
||||
#
|
||||
pfr.ppc.o: FT:src/pfr/pfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pfr/pfr.c
|
||||
|
||||
#
|
||||
# FreeType2 library Windows FNT/FON bitmap font driver
|
||||
#
|
||||
winfnt.ppc.o: FT:src/winfonts/winfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/winfonts/winfnt.c
|
||||
|
||||
#
|
||||
# FreeType2 library TrueTypeGX Validator
|
||||
#
|
||||
gxvalid.ppc.o: FT:src/gxvalid/gxvalid.c
|
||||
$(CC) -c $(CFLAGS) -Wno-aggregate-return -o $@ /FT/src/gxvalid/gxvalid.c
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType validator
|
||||
#
|
||||
otvalid.ppc.o: FT:src/otvalid/otvalid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
|
||||
|
||||
BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
|
||||
ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o \
|
||||
ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
|
||||
ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o \
|
||||
ftxf86.ppc.o
|
||||
|
||||
DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
|
||||
|
||||
AFIT = autofit.ppc.o
|
||||
|
||||
GXV = gxvalid.ppc.o
|
||||
|
||||
OTV = otvalid.ppc.o
|
||||
|
||||
PS = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
|
||||
|
||||
RASTER = raster.ppc.o smooth.ppc.o
|
||||
|
||||
FONTD = 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: $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||
$(AR) r $@ $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||
$(RANLIB) $@
|
||||
|
||||
#Local Variables:
|
||||
#coding: latin-1
|
||||
#End:
|
||||
|
594
components/external/freetype/builds/amiga/smakefile
vendored
594
components/external/freetype/builds/amiga/smakefile
vendored
@ -1,297 +1,297 @@
|
||||
#
|
||||
# Makefile for FreeType2 link library using Amiga SAS/C 6.58
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2005,2006, 2007, 2009 by
|
||||
# Werner Lemberg and Detlef Würkner.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# 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_AUTOFIT // autofitter
|
||||
#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
|
||||
#define FT_USE_OTV // opentype validator
|
||||
#define FT_USE_GXV // truetype gx validator
|
||||
#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 ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o \
|
||||
ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpatent.o ftpfr.o \
|
||||
ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
|
||||
|
||||
OBJSYSTEM = ftsystem.o ftsystempure.o
|
||||
|
||||
OBJDEBUG = ftdebug.o ftdebugpure.o
|
||||
|
||||
OBJAFIT = autofit.o
|
||||
|
||||
OBJGXV = gxvalid.o
|
||||
|
||||
OBJOTV = otvalid.o
|
||||
|
||||
OBJPS = psaux.o psnames.o pshinter.o
|
||||
|
||||
OBJRASTER = raster.o smooth.o
|
||||
|
||||
OBJSFNT = sfnt.o
|
||||
|
||||
OBJCACHE = ftcache.o
|
||||
|
||||
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 data=faronly idlen=50 cpu=$(CPU)\
|
||||
idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
|
||||
noicons ignore=79,85,110,306 parameters=both define=FT2_BUILD_LIBRARY
|
||||
|
||||
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) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
|
||||
oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
|
||||
|
||||
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
|
||||
#
|
||||
ftbbox.o: $(CORE)base/ftbbox.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftbdf.o: $(CORE)base/ftbdf.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftbitmap.o: $(CORE)base/ftbitmap.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftcid.o: $(CORE)base/ftcid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftfstype.o: $(CORE)base/ftfstype.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftgasp.o: $(CORE)base/ftgasp.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftglyph.o: $(CORE)base/ftglyph.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftgxval.o: $(CORE)base/ftgxval.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftlcdfil.o: $(CORE)base/ftlcdfil.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftmm.o: $(CORE)base/ftmm.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftotval.o: $(CORE)base/ftotval.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftpatent.o: $(CORE)base/ftpatent.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftpfr.o: $(CORE)base/ftpfr.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftstroke.o: $(CORE)base/ftstroke.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsynth.o: $(CORE)base/ftsynth.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
fttype1.o: $(CORE)base/fttype1.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftwinfnt.o: $(CORE)base/ftwinfnt.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftxf86.o: $(CORE)base/ftxf86.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library autofitter module
|
||||
#
|
||||
autofit.o: $(CORE)autofit/autofit.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) code=far 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 gzip support for compressed PCF bitmap fonts
|
||||
#
|
||||
gzip.o: $(CORE)gzip/ftgzip.c
|
||||
sc $(SCFLAGS) define FAR objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library compress support for compressed PCF bitmap fonts
|
||||
#
|
||||
lzw.o: $(CORE)lzw/ftlzw.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=$@ $<
|
||||
|
||||
#
|
||||
# freetype library TrueTypeGX validator
|
||||
#
|
||||
gxvalid.o: $(CORE)gxvalid/gxvalid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library OpenType validator
|
||||
#
|
||||
otvalid.o: $(CORE)otvalid/otvalid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#Local Variables:
|
||||
#coding: latin-1
|
||||
#End:
|
||||
#
|
||||
# Makefile for FreeType2 link library using Amiga SAS/C 6.58
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2005,2006, 2007, 2009 by
|
||||
# Werner Lemberg and Detlef Würkner.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# 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_AUTOFIT // autofitter
|
||||
#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
|
||||
#define FT_USE_OTV // opentype validator
|
||||
#define FT_USE_GXV // truetype gx validator
|
||||
#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 ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o \
|
||||
ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpatent.o ftpfr.o \
|
||||
ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
|
||||
|
||||
OBJSYSTEM = ftsystem.o ftsystempure.o
|
||||
|
||||
OBJDEBUG = ftdebug.o ftdebugpure.o
|
||||
|
||||
OBJAFIT = autofit.o
|
||||
|
||||
OBJGXV = gxvalid.o
|
||||
|
||||
OBJOTV = otvalid.o
|
||||
|
||||
OBJPS = psaux.o psnames.o pshinter.o
|
||||
|
||||
OBJRASTER = raster.o smooth.o
|
||||
|
||||
OBJSFNT = sfnt.o
|
||||
|
||||
OBJCACHE = ftcache.o
|
||||
|
||||
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 data=faronly idlen=50 cpu=$(CPU)\
|
||||
idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
|
||||
noicons ignore=79,85,110,306 parameters=both define=FT2_BUILD_LIBRARY
|
||||
|
||||
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) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
|
||||
oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
|
||||
|
||||
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
|
||||
#
|
||||
ftbbox.o: $(CORE)base/ftbbox.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftbdf.o: $(CORE)base/ftbdf.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftbitmap.o: $(CORE)base/ftbitmap.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftcid.o: $(CORE)base/ftcid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftfstype.o: $(CORE)base/ftfstype.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftgasp.o: $(CORE)base/ftgasp.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftglyph.o: $(CORE)base/ftglyph.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftgxval.o: $(CORE)base/ftgxval.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftlcdfil.o: $(CORE)base/ftlcdfil.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftmm.o: $(CORE)base/ftmm.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftotval.o: $(CORE)base/ftotval.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftpatent.o: $(CORE)base/ftpatent.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftpfr.o: $(CORE)base/ftpfr.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftstroke.o: $(CORE)base/ftstroke.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsynth.o: $(CORE)base/ftsynth.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
fttype1.o: $(CORE)base/fttype1.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftwinfnt.o: $(CORE)base/ftwinfnt.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftxf86.o: $(CORE)base/ftxf86.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library autofitter module
|
||||
#
|
||||
autofit.o: $(CORE)autofit/autofit.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) code=far 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 gzip support for compressed PCF bitmap fonts
|
||||
#
|
||||
gzip.o: $(CORE)gzip/ftgzip.c
|
||||
sc $(SCFLAGS) define FAR objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library compress support for compressed PCF bitmap fonts
|
||||
#
|
||||
lzw.o: $(CORE)lzw/ftlzw.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=$@ $<
|
||||
|
||||
#
|
||||
# freetype library TrueTypeGX validator
|
||||
#
|
||||
gxvalid.o: $(CORE)gxvalid/gxvalid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library OpenType validator
|
||||
#
|
||||
otvalid.o: $(CORE)otvalid/otvalid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#Local Variables:
|
||||
#coding: latin-1
|
||||
#End:
|
||||
|
@ -1,37 +1,37 @@
|
||||
/* the following changes file names for PureC projects */
|
||||
|
||||
if (argc > 0)
|
||||
{
|
||||
ordner = argv[0];
|
||||
if (basename(ordner) == "") /* ist Ordner */
|
||||
{
|
||||
ChangeFilenames(ordner);
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilenames(folder)
|
||||
local i,entries,directory,file;
|
||||
{
|
||||
entries = filelist(directory,folder);
|
||||
for (i = 0; i < entries; ++i)
|
||||
{
|
||||
file = directory[i,0];
|
||||
if ((directory[i,3]&16) > 0) /* subdirectory */
|
||||
{
|
||||
ChangeFilenames(folder+file+"\\");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
|
||||
ChangeFilename(folder,file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilename(path,datei)
|
||||
local newfile,err;
|
||||
{
|
||||
newfile=datei;
|
||||
newfile[0]=(newfile[0] | 32) ^ 32;
|
||||
err=files.rename("-q",path+datei,newfile);
|
||||
}
|
||||
/* the following changes file names for PureC projects */
|
||||
|
||||
if (argc > 0)
|
||||
{
|
||||
ordner = argv[0];
|
||||
if (basename(ordner) == "") /* ist Ordner */
|
||||
{
|
||||
ChangeFilenames(ordner);
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilenames(folder)
|
||||
local i,entries,directory,file;
|
||||
{
|
||||
entries = filelist(directory,folder);
|
||||
for (i = 0; i < entries; ++i)
|
||||
{
|
||||
file = directory[i,0];
|
||||
if ((directory[i,3]&16) > 0) /* subdirectory */
|
||||
{
|
||||
ChangeFilenames(folder+file+"\\");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
|
||||
ChangeFilename(folder,file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilename(path,datei)
|
||||
local newfile,err;
|
||||
{
|
||||
newfile=datei;
|
||||
newfile[0]=(newfile[0] | 32) ^ 32;
|
||||
err=files.rename("-q",path+datei,newfile);
|
||||
}
|
||||
|
@ -1,32 +1,32 @@
|
||||
;FreeType project file
|
||||
|
||||
FREETYPE.LIB
|
||||
|
||||
.C [-K -P -R -A]
|
||||
.L [-J -V]
|
||||
.S
|
||||
|
||||
=
|
||||
|
||||
..\..\src\base\ftsystem.c
|
||||
..\..\src\base\ftdebug.c
|
||||
|
||||
..\..\src\base\ftinit.c
|
||||
..\..\src\base\ftglyph.c
|
||||
..\..\src\base\ftmm
|
||||
..\..\src\base\ftbbox
|
||||
|
||||
..\..\src\base\ftbase.c
|
||||
..\..\src\autohint\autohint.c
|
||||
;..\..\src\cache\ftcache.c
|
||||
..\..\src\cff\cff.c
|
||||
..\..\src\cid\type1cid.c
|
||||
..\..\src\psaux\psaux.c
|
||||
..\..\src\pshinter\pshinter.c
|
||||
..\..\src\psnames\psnames.c
|
||||
..\..\src\raster\raster.c
|
||||
..\..\src\sfnt\sfnt.c
|
||||
..\..\src\smooth\smooth.c
|
||||
..\..\src\truetype\truetype.c
|
||||
..\..\src\type1\type1.c
|
||||
..\..\src\type42\type42.c
|
||||
;FreeType project file
|
||||
|
||||
FREETYPE.LIB
|
||||
|
||||
.C [-K -P -R -A]
|
||||
.L [-J -V]
|
||||
.S
|
||||
|
||||
=
|
||||
|
||||
..\..\src\base\ftsystem.c
|
||||
..\..\src\base\ftdebug.c
|
||||
|
||||
..\..\src\base\ftinit.c
|
||||
..\..\src\base\ftglyph.c
|
||||
..\..\src\base\ftmm
|
||||
..\..\src\base\ftbbox
|
||||
|
||||
..\..\src\base\ftbase.c
|
||||
..\..\src\autohint\autohint.c
|
||||
;..\..\src\cache\ftcache.c
|
||||
..\..\src\cff\cff.c
|
||||
..\..\src\cid\type1cid.c
|
||||
..\..\src\psaux\psaux.c
|
||||
..\..\src\pshinter\pshinter.c
|
||||
..\..\src\psnames\psnames.c
|
||||
..\..\src\raster\raster.c
|
||||
..\..\src\sfnt\sfnt.c
|
||||
..\..\src\smooth\smooth.c
|
||||
..\..\src\truetype\truetype.c
|
||||
..\..\src\type1\type1.c
|
||||
..\..\src\type42\type42.c
|
||||
|
@ -1,181 +1,181 @@
|
||||
#!/usr/bin/env awk
|
||||
|
||||
|
||||
function shift( array, \
|
||||
junk, elm0, l )
|
||||
{
|
||||
elm0 = array[0]
|
||||
for ( l = 0; l < asorti( array, junk ) - 1; l++ )
|
||||
array[l] = array[l+1];
|
||||
delete array[l]
|
||||
return elm0
|
||||
}
|
||||
|
||||
|
||||
function init_cpp_src_line()
|
||||
{
|
||||
logical_line = ""
|
||||
delete break_pos
|
||||
}
|
||||
|
||||
|
||||
function shift_valid_bp( array, \
|
||||
junk, elm )
|
||||
{
|
||||
elm = -1
|
||||
|
||||
if ( 0 < asorti( array, junk ) )
|
||||
do {
|
||||
elm = shift( array )
|
||||
} while ( 0 > elm );
|
||||
|
||||
return elm
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line_break_pos( \
|
||||
i, junk )
|
||||
{
|
||||
printf( "break_pos:" )
|
||||
for ( i = 0; i < asorti( break_pos, junk ); i++ )
|
||||
printf( " %d", break_pos[i] );
|
||||
printf( "\n" )
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line()
|
||||
{
|
||||
printf( "logical_line[%s]\n", logical_line )
|
||||
check_cpp_src_line_break_pos()
|
||||
}
|
||||
|
||||
|
||||
function append_line( phys_line, \
|
||||
filt_line, bp_len )
|
||||
{
|
||||
filt_line = phys_line
|
||||
sub( /\\$/, " ", filt_line )
|
||||
logical_line = logical_line filt_line
|
||||
bp_len = asorti( break_pos, junk )
|
||||
break_pos[bp_len] = length( logical_line ) - 1
|
||||
}
|
||||
|
||||
|
||||
function print_line( \
|
||||
c0, c1, i, junk, part_str )
|
||||
{
|
||||
c0 = 0
|
||||
|
||||
while( asorti( break_pos, junk ) > 1 )
|
||||
{
|
||||
if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 )
|
||||
{
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
return
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 )
|
||||
gsub( / $/, "\\", part_str )
|
||||
printf( "%s\n", part_str )
|
||||
c0 = c1 + 1
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces( pos, \
|
||||
tail, removed_length, k )
|
||||
{
|
||||
tail = substr( logical_line, pos )
|
||||
sub( /^[ \t]+/, " ", tail )
|
||||
removed_length = length( logical_line ) - pos - length( tail ) + 1
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( ( pos + removed_length ) <= break_pos[k] )
|
||||
break_pos[k] = break_pos[k] - removed_length;
|
||||
else if ( pos <= break_pos[k] )
|
||||
break_pos[k] = -1;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces_to_linebreak( pos, \
|
||||
junk, part_str, removed_length, i )
|
||||
{
|
||||
for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ )
|
||||
;
|
||||
|
||||
if ( break_pos[i] < 1 )
|
||||
return;
|
||||
|
||||
part_str = substr( logical_line, pos, break_pos[i] - pos + 1 )
|
||||
sub( /^[ \t]+/, " ", part_str )
|
||||
removed_length = ( break_pos[i] - pos + 1 ) - length( part_str )
|
||||
|
||||
tail = substr( logical_line, pos + removed_length )
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
for ( ; i < asorti( break_pos, junk ); i++ )
|
||||
break_pos[i] -= removed_length;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function delete_linebreaks_in_2nd_token( \
|
||||
tail, paren_depth, junk, i, j, k, l )
|
||||
{
|
||||
if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ )
|
||||
{
|
||||
tail = logical_line
|
||||
sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail )
|
||||
|
||||
paren_depth = 0
|
||||
l = 0
|
||||
i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren
|
||||
j = i
|
||||
do {
|
||||
if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ )
|
||||
l = shrink_spaces( j );
|
||||
else if ( substr( logical_line, j, 1 ) == "(" )
|
||||
paren_depth += 1;
|
||||
else if ( substr( logical_line, j, 1 ) == ")" )
|
||||
paren_depth -= 1;
|
||||
j += 1
|
||||
} while ( j < length( logical_line ) && paren_depth != 0 )
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( i <= break_pos[k] && break_pos[k] < j )
|
||||
break_pos[k] = -1;
|
||||
|
||||
if ( l > 0 )
|
||||
shrink_spaces_to_linebreak( j );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BEGIN{
|
||||
init_cpp_src_line()
|
||||
}
|
||||
{
|
||||
append_line( $0 )
|
||||
if ( $0 !~ /\\$/ )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
init_cpp_src_line()
|
||||
}
|
||||
}
|
||||
END{
|
||||
if ( 0 < length( logical_line ) )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
}
|
||||
}
|
||||
#!/usr/bin/env awk
|
||||
|
||||
|
||||
function shift( array, \
|
||||
junk, elm0, l )
|
||||
{
|
||||
elm0 = array[0]
|
||||
for ( l = 0; l < asorti( array, junk ) - 1; l++ )
|
||||
array[l] = array[l+1];
|
||||
delete array[l]
|
||||
return elm0
|
||||
}
|
||||
|
||||
|
||||
function init_cpp_src_line()
|
||||
{
|
||||
logical_line = ""
|
||||
delete break_pos
|
||||
}
|
||||
|
||||
|
||||
function shift_valid_bp( array, \
|
||||
junk, elm )
|
||||
{
|
||||
elm = -1
|
||||
|
||||
if ( 0 < asorti( array, junk ) )
|
||||
do {
|
||||
elm = shift( array )
|
||||
} while ( 0 > elm );
|
||||
|
||||
return elm
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line_break_pos( \
|
||||
i, junk )
|
||||
{
|
||||
printf( "break_pos:" )
|
||||
for ( i = 0; i < asorti( break_pos, junk ); i++ )
|
||||
printf( " %d", break_pos[i] );
|
||||
printf( "\n" )
|
||||
}
|
||||
|
||||
|
||||
function check_cpp_src_line()
|
||||
{
|
||||
printf( "logical_line[%s]\n", logical_line )
|
||||
check_cpp_src_line_break_pos()
|
||||
}
|
||||
|
||||
|
||||
function append_line( phys_line, \
|
||||
filt_line, bp_len )
|
||||
{
|
||||
filt_line = phys_line
|
||||
sub( /\\$/, " ", filt_line )
|
||||
logical_line = logical_line filt_line
|
||||
bp_len = asorti( break_pos, junk )
|
||||
break_pos[bp_len] = length( logical_line ) - 1
|
||||
}
|
||||
|
||||
|
||||
function print_line( \
|
||||
c0, c1, i, junk, part_str )
|
||||
{
|
||||
c0 = 0
|
||||
|
||||
while( asorti( break_pos, junk ) > 1 )
|
||||
{
|
||||
if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 )
|
||||
{
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
return
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 )
|
||||
gsub( / $/, "\\", part_str )
|
||||
printf( "%s\n", part_str )
|
||||
c0 = c1 + 1
|
||||
}
|
||||
|
||||
part_str = substr( logical_line, c0 + 1 )
|
||||
printf( "%s\n", part_str )
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces( pos, \
|
||||
tail, removed_length, k )
|
||||
{
|
||||
tail = substr( logical_line, pos )
|
||||
sub( /^[ \t]+/, " ", tail )
|
||||
removed_length = length( logical_line ) - pos - length( tail ) + 1
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( ( pos + removed_length ) <= break_pos[k] )
|
||||
break_pos[k] = break_pos[k] - removed_length;
|
||||
else if ( pos <= break_pos[k] )
|
||||
break_pos[k] = -1;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function shrink_spaces_to_linebreak( pos, \
|
||||
junk, part_str, removed_length, i )
|
||||
{
|
||||
for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ )
|
||||
;
|
||||
|
||||
if ( break_pos[i] < 1 )
|
||||
return;
|
||||
|
||||
part_str = substr( logical_line, pos, break_pos[i] - pos + 1 )
|
||||
sub( /^[ \t]+/, " ", part_str )
|
||||
removed_length = ( break_pos[i] - pos + 1 ) - length( part_str )
|
||||
|
||||
tail = substr( logical_line, pos + removed_length )
|
||||
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||
|
||||
for ( ; i < asorti( break_pos, junk ); i++ )
|
||||
break_pos[i] -= removed_length;
|
||||
|
||||
return removed_length
|
||||
}
|
||||
|
||||
|
||||
function delete_linebreaks_in_2nd_token( \
|
||||
tail, paren_depth, junk, i, j, k, l )
|
||||
{
|
||||
if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ )
|
||||
{
|
||||
tail = logical_line
|
||||
sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail )
|
||||
|
||||
paren_depth = 0
|
||||
l = 0
|
||||
i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren
|
||||
j = i
|
||||
do {
|
||||
if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ )
|
||||
l = shrink_spaces( j );
|
||||
else if ( substr( logical_line, j, 1 ) == "(" )
|
||||
paren_depth += 1;
|
||||
else if ( substr( logical_line, j, 1 ) == ")" )
|
||||
paren_depth -= 1;
|
||||
j += 1
|
||||
} while ( j < length( logical_line ) && paren_depth != 0 )
|
||||
|
||||
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||
if ( i <= break_pos[k] && break_pos[k] < j )
|
||||
break_pos[k] = -1;
|
||||
|
||||
if ( l > 0 )
|
||||
shrink_spaces_to_linebreak( j );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BEGIN{
|
||||
init_cpp_src_line()
|
||||
}
|
||||
{
|
||||
append_line( $0 )
|
||||
if ( $0 !~ /\\$/ )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
init_cpp_src_line()
|
||||
}
|
||||
}
|
||||
END{
|
||||
if ( 0 < length( logical_line ) )
|
||||
{
|
||||
delete_linebreaks_in_2nd_token()
|
||||
print_line()
|
||||
}
|
||||
}
|
||||
|
806
components/external/freetype/builds/mac/README
vendored
806
components/external/freetype/builds/mac/README
vendored
@ -1,403 +1,403 @@
|
||||
This folder contains
|
||||
|
||||
* Makefile skeltons for Apple MPW (Macintosh's Programmers Workshop)
|
||||
|
||||
* Python script to generate MPW makefile from skelton
|
||||
|
||||
* Metrowerks CodeWarrior 9.0 project file in XML format
|
||||
|
||||
------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
The information about MacOS specific API is written in
|
||||
appendix of this document.
|
||||
|
||||
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 CodeWarrior
|
||||
---------------------------
|
||||
|
||||
XML project file is generated and tested by
|
||||
CodeWarrior 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_carbon.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 capable
|
||||
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 maintenance, 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. Building 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.
|
||||
|
||||
|
||||
APPENDIX I
|
||||
----------
|
||||
|
||||
A-1. Framework dependencies
|
||||
---------------------------
|
||||
|
||||
src/base/ftmac.c adds two Mac-specific features to
|
||||
FreeType. These features are based on MacOS libraries.
|
||||
|
||||
* accessing resource-fork font
|
||||
The fonts for classic MacOS store their graphical data
|
||||
in resource forks which cannot be accessed via ANSI C
|
||||
functions. FreeType2 provides functions to handle such
|
||||
resource fork fonts, they are based on File Manager
|
||||
framework of MacOS. In addition, HFS and HFS+ file
|
||||
system driver of Linux is supported. Following
|
||||
functions are for this purpose.
|
||||
|
||||
FT_New_Face_From_Resource()
|
||||
FT_New_Face_From_FSSpec()
|
||||
FT_New_Face_From_FSRef()
|
||||
|
||||
* resolving font name to font file
|
||||
The font menu of MacOS application prefers font name
|
||||
written in FOND resource than sfnt resource. FreeType2
|
||||
provides functions to find font file by name in MacOS
|
||||
application, they are based on QuickDraw Font Manager
|
||||
and Apple Type Service framework of MacOS.
|
||||
|
||||
FT_GetFile_From_Mac_Name()
|
||||
FT_GetFile_From_Mac_ATS_Name()
|
||||
|
||||
Working functions for each MacOS are summarized as
|
||||
following.
|
||||
|
||||
upto MacOS 6:
|
||||
not tested (you have to obtain MPW 2.x)
|
||||
|
||||
MacOS 7.x, 8.x, 9.x (without CarbonLib):
|
||||
FT_GetFile_From_Mac_Name()
|
||||
FT_New_Face_From_Resource()
|
||||
FT_New_Face_From_FSSpec()
|
||||
|
||||
MacOS 9.x (with CarbonLib):
|
||||
FT_GetFile_From_Mac_Name()
|
||||
FT_New_Face_From_Resource()
|
||||
FT_New_Face_From_FSSpec()
|
||||
FT_New_Face_From_FSRef()
|
||||
|
||||
Mac OS X upto 10.4.x:
|
||||
FT_GetFile_From_Mac_Name() deprecated
|
||||
FT_New_Face_From_FSSpec() deprecated
|
||||
FT_GetFile_From_Mac_ATS_Name() deprecated?
|
||||
FT_New_Face_From_FSRef()
|
||||
|
||||
A-2. Deprecated Functions
|
||||
-------------------------
|
||||
|
||||
A-2-1. FileManager
|
||||
------------------
|
||||
|
||||
For convenience to write MacOS application, ftmac.c
|
||||
provides functions to specify a file by FSSpec and FSRef,
|
||||
because the file identification pathname had ever been
|
||||
unrecommended method in MacOS programming.
|
||||
|
||||
Toward to MacOS X 10.4 & 5, Carbon functions using FSSpec
|
||||
datatype is noticed as deprecated, and recommended to
|
||||
migrate to FSRef datatype. The big differences of FSRef
|
||||
against FSSpec are explained in Apple TechNotes 2078.
|
||||
|
||||
http://developer.apple.com/technotes/tn2002/tn2078.html
|
||||
|
||||
- filename length: the max length of file
|
||||
name of FSRef is 255 chars (it is limit of HFS+),
|
||||
that of FSSpec is 31 chars (it is limit of HFS).
|
||||
|
||||
- filename encoding: FSSpec is localized by
|
||||
legacy encoding for each language system,
|
||||
FSRef is Unicode enabled.
|
||||
|
||||
A-2-2. FontManager
|
||||
------------------
|
||||
|
||||
Following functions receive QuickDraw fontname:
|
||||
|
||||
FT_GetFile_From_Mac_Name()
|
||||
|
||||
QuickDraw is deprecated and replaced by Quartz
|
||||
since Mac OS X 10.4. They are still kept for
|
||||
backward compatibility. By undefinition of
|
||||
HAVE_QUICKDRAW in building, you can change these
|
||||
functions to return FT_Err_Unimplemented always.
|
||||
|
||||
Replacement functions are added for migration.
|
||||
|
||||
FT_GetFile_From_Mac_ATS_Name()
|
||||
|
||||
They are usable on Mac OS X only. On older systems,
|
||||
these functions return FT_Err_Unimplemented always.
|
||||
|
||||
The detailed incompatibilities and possibility
|
||||
of FontManager emulation without QuickDraw is
|
||||
explained in
|
||||
|
||||
http://www.gyve.org/~mpsuzuki/ats_benchmark.html
|
||||
|
||||
A-3. Framework Availabilities
|
||||
-----------------------------
|
||||
|
||||
The framework of MacOS are often revised, especially
|
||||
when new format of binary executable is introduced.
|
||||
Following table is the minimum version of frameworks
|
||||
to use functions used in FreeType2. The table is
|
||||
extracted from MPW header files for assembly language.
|
||||
|
||||
*** NOTE ***
|
||||
The conditional definition of available data type
|
||||
in MPW compiler is insufficient. You can compile
|
||||
program using FSRef data type for older systems
|
||||
(MacOS 7, 8) that don't know FSRef data type.
|
||||
|
||||
|
||||
+-------------------+-----------------------------+
|
||||
CPU | mc680x0 | PowerPC |
|
||||
+---------+---------+---------+---------+---------+
|
||||
Binary Executable Format | Classic | 68K-CFM | CFM | CFM | Mach-O |
|
||||
+---------+---------+---------+---------+---------+
|
||||
Framework API | Toolbox | Toolbox | Toolbox | Carbon | Carbon |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
+---------+---------+---------+---------+---------+
|
||||
| ?(*) |Interface|Interface|CarbonLib|Mac OS X |
|
||||
| |Lib |Lib | | |
|
||||
* Files.h +---------+---------+---------+---------+---------+
|
||||
PBGetFCBInfoSync() | o | 7.1- | 7.1- | 1.0- | o |
|
||||
FSMakeFSSpec() | o | 7.1- | 7.1- | 1.0- | o |
|
||||
FSGetForkCBInfo() | o | (**) | 9.0- | 1.0- | o |
|
||||
FSpMakeFSRef() | o | (**) | 9.0- | 1.0- | o |
|
||||
FSGetCatalogInfo() | o | (**) | 9.0- | 1.0- | -10.3 |
|
||||
FSPathMakeRef() | x | x | x | 1.1- | -10.3 |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
+---------+---------+---------+---------+---------+
|
||||
| ?(*) |Font |Font |CarbonLib|Mac OS X |
|
||||
| |Manager |Manager | | |
|
||||
* Fonts.h +---------+---------+---------+---------+---------+
|
||||
FMCreateFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMDisposeFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMGetNextFontFamily() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMGetFontFamilyName() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMCreateFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMDisposeFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMGetNextFontFamilyInstance() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
+---------+---------+---------+---------+---------+
|
||||
| - | - | - |CarbonLib|Mac OS X |
|
||||
* ATSFont.h (***) +---------+---------+---------+---------+---------+
|
||||
ATSFontFindFromName() | x | x | x | x | o |
|
||||
ATSFontGetFileSpecification() | x | x | x | x | o |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
(*)
|
||||
In the "Classic": the original binary executable
|
||||
format, these framework functions are directly
|
||||
transformed to MacOS system call. Therefore, the
|
||||
exact availability should be checked by running
|
||||
system.
|
||||
|
||||
(**)
|
||||
InterfaceLib is bundled to MacOS and its version
|
||||
is usually equal to MacOS. There's no separate
|
||||
update for InterfaceLib. It is supposed that
|
||||
there's no InterfaceLib 9.x for m68k platforms.
|
||||
In fact, these functions are FSRef dependent.
|
||||
|
||||
(***)
|
||||
ATSUI framework is available on ATSUnicode 8.5 on
|
||||
ppc Toolbox CFM, CarbonLib 1.0 too. But its base:
|
||||
ATS font manager is not published in these versions.
|
||||
|
||||
------------------------------------------------------------
|
||||
Last update: 2009-Jul-25.
|
||||
|
||||
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.
|
||||
This folder contains
|
||||
|
||||
* Makefile skeltons for Apple MPW (Macintosh's Programmers Workshop)
|
||||
|
||||
* Python script to generate MPW makefile from skelton
|
||||
|
||||
* Metrowerks CodeWarrior 9.0 project file in XML format
|
||||
|
||||
------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
The information about MacOS specific API is written in
|
||||
appendix of this document.
|
||||
|
||||
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 CodeWarrior
|
||||
---------------------------
|
||||
|
||||
XML project file is generated and tested by
|
||||
CodeWarrior 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_carbon.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 capable
|
||||
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 maintenance, 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. Building 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.
|
||||
|
||||
|
||||
APPENDIX I
|
||||
----------
|
||||
|
||||
A-1. Framework dependencies
|
||||
---------------------------
|
||||
|
||||
src/base/ftmac.c adds two Mac-specific features to
|
||||
FreeType. These features are based on MacOS libraries.
|
||||
|
||||
* accessing resource-fork font
|
||||
The fonts for classic MacOS store their graphical data
|
||||
in resource forks which cannot be accessed via ANSI C
|
||||
functions. FreeType2 provides functions to handle such
|
||||
resource fork fonts, they are based on File Manager
|
||||
framework of MacOS. In addition, HFS and HFS+ file
|
||||
system driver of Linux is supported. Following
|
||||
functions are for this purpose.
|
||||
|
||||
FT_New_Face_From_Resource()
|
||||
FT_New_Face_From_FSSpec()
|
||||
FT_New_Face_From_FSRef()
|
||||
|
||||
* resolving font name to font file
|
||||
The font menu of MacOS application prefers font name
|
||||
written in FOND resource than sfnt resource. FreeType2
|
||||
provides functions to find font file by name in MacOS
|
||||
application, they are based on QuickDraw Font Manager
|
||||
and Apple Type Service framework of MacOS.
|
||||
|
||||
FT_GetFile_From_Mac_Name()
|
||||
FT_GetFile_From_Mac_ATS_Name()
|
||||
|
||||
Working functions for each MacOS are summarized as
|
||||
following.
|
||||
|
||||
upto MacOS 6:
|
||||
not tested (you have to obtain MPW 2.x)
|
||||
|
||||
MacOS 7.x, 8.x, 9.x (without CarbonLib):
|
||||
FT_GetFile_From_Mac_Name()
|
||||
FT_New_Face_From_Resource()
|
||||
FT_New_Face_From_FSSpec()
|
||||
|
||||
MacOS 9.x (with CarbonLib):
|
||||
FT_GetFile_From_Mac_Name()
|
||||
FT_New_Face_From_Resource()
|
||||
FT_New_Face_From_FSSpec()
|
||||
FT_New_Face_From_FSRef()
|
||||
|
||||
Mac OS X upto 10.4.x:
|
||||
FT_GetFile_From_Mac_Name() deprecated
|
||||
FT_New_Face_From_FSSpec() deprecated
|
||||
FT_GetFile_From_Mac_ATS_Name() deprecated?
|
||||
FT_New_Face_From_FSRef()
|
||||
|
||||
A-2. Deprecated Functions
|
||||
-------------------------
|
||||
|
||||
A-2-1. FileManager
|
||||
------------------
|
||||
|
||||
For convenience to write MacOS application, ftmac.c
|
||||
provides functions to specify a file by FSSpec and FSRef,
|
||||
because the file identification pathname had ever been
|
||||
unrecommended method in MacOS programming.
|
||||
|
||||
Toward to MacOS X 10.4 & 5, Carbon functions using FSSpec
|
||||
datatype is noticed as deprecated, and recommended to
|
||||
migrate to FSRef datatype. The big differences of FSRef
|
||||
against FSSpec are explained in Apple TechNotes 2078.
|
||||
|
||||
http://developer.apple.com/technotes/tn2002/tn2078.html
|
||||
|
||||
- filename length: the max length of file
|
||||
name of FSRef is 255 chars (it is limit of HFS+),
|
||||
that of FSSpec is 31 chars (it is limit of HFS).
|
||||
|
||||
- filename encoding: FSSpec is localized by
|
||||
legacy encoding for each language system,
|
||||
FSRef is Unicode enabled.
|
||||
|
||||
A-2-2. FontManager
|
||||
------------------
|
||||
|
||||
Following functions receive QuickDraw fontname:
|
||||
|
||||
FT_GetFile_From_Mac_Name()
|
||||
|
||||
QuickDraw is deprecated and replaced by Quartz
|
||||
since Mac OS X 10.4. They are still kept for
|
||||
backward compatibility. By undefinition of
|
||||
HAVE_QUICKDRAW in building, you can change these
|
||||
functions to return FT_Err_Unimplemented always.
|
||||
|
||||
Replacement functions are added for migration.
|
||||
|
||||
FT_GetFile_From_Mac_ATS_Name()
|
||||
|
||||
They are usable on Mac OS X only. On older systems,
|
||||
these functions return FT_Err_Unimplemented always.
|
||||
|
||||
The detailed incompatibilities and possibility
|
||||
of FontManager emulation without QuickDraw is
|
||||
explained in
|
||||
|
||||
http://www.gyve.org/~mpsuzuki/ats_benchmark.html
|
||||
|
||||
A-3. Framework Availabilities
|
||||
-----------------------------
|
||||
|
||||
The framework of MacOS are often revised, especially
|
||||
when new format of binary executable is introduced.
|
||||
Following table is the minimum version of frameworks
|
||||
to use functions used in FreeType2. The table is
|
||||
extracted from MPW header files for assembly language.
|
||||
|
||||
*** NOTE ***
|
||||
The conditional definition of available data type
|
||||
in MPW compiler is insufficient. You can compile
|
||||
program using FSRef data type for older systems
|
||||
(MacOS 7, 8) that don't know FSRef data type.
|
||||
|
||||
|
||||
+-------------------+-----------------------------+
|
||||
CPU | mc680x0 | PowerPC |
|
||||
+---------+---------+---------+---------+---------+
|
||||
Binary Executable Format | Classic | 68K-CFM | CFM | CFM | Mach-O |
|
||||
+---------+---------+---------+---------+---------+
|
||||
Framework API | Toolbox | Toolbox | Toolbox | Carbon | Carbon |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
+---------+---------+---------+---------+---------+
|
||||
| ?(*) |Interface|Interface|CarbonLib|Mac OS X |
|
||||
| |Lib |Lib | | |
|
||||
* Files.h +---------+---------+---------+---------+---------+
|
||||
PBGetFCBInfoSync() | o | 7.1- | 7.1- | 1.0- | o |
|
||||
FSMakeFSSpec() | o | 7.1- | 7.1- | 1.0- | o |
|
||||
FSGetForkCBInfo() | o | (**) | 9.0- | 1.0- | o |
|
||||
FSpMakeFSRef() | o | (**) | 9.0- | 1.0- | o |
|
||||
FSGetCatalogInfo() | o | (**) | 9.0- | 1.0- | -10.3 |
|
||||
FSPathMakeRef() | x | x | x | 1.1- | -10.3 |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
+---------+---------+---------+---------+---------+
|
||||
| ?(*) |Font |Font |CarbonLib|Mac OS X |
|
||||
| |Manager |Manager | | |
|
||||
* Fonts.h +---------+---------+---------+---------+---------+
|
||||
FMCreateFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMDisposeFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMGetNextFontFamily() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMGetFontFamilyName() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMCreateFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMDisposeFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
FMGetNextFontFamilyInstance() | x | x | 9.0- | 1.0- | -10.3 |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
+---------+---------+---------+---------+---------+
|
||||
| - | - | - |CarbonLib|Mac OS X |
|
||||
* ATSFont.h (***) +---------+---------+---------+---------+---------+
|
||||
ATSFontFindFromName() | x | x | x | x | o |
|
||||
ATSFontGetFileSpecification() | x | x | x | x | o |
|
||||
+---------+---------+---------+---------+---------+
|
||||
|
||||
(*)
|
||||
In the "Classic": the original binary executable
|
||||
format, these framework functions are directly
|
||||
transformed to MacOS system call. Therefore, the
|
||||
exact availability should be checked by running
|
||||
system.
|
||||
|
||||
(**)
|
||||
InterfaceLib is bundled to MacOS and its version
|
||||
is usually equal to MacOS. There's no separate
|
||||
update for InterfaceLib. It is supposed that
|
||||
there's no InterfaceLib 9.x for m68k platforms.
|
||||
In fact, these functions are FSRef dependent.
|
||||
|
||||
(***)
|
||||
ATSUI framework is available on ATSUnicode 8.5 on
|
||||
ppc Toolbox CFM, CarbonLib 1.0 too. But its base:
|
||||
ATS font manager is not published in these versions.
|
||||
|
||||
------------------------------------------------------------
|
||||
Last update: 2009-Jul-25.
|
||||
|
||||
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.
|
||||
|
2
components/external/freetype/builds/newline
vendored
2
components/external/freetype/builds/newline
vendored
@ -1 +1 @@
|
||||
|
||||
|
||||
|
@ -1,142 +1,142 @@
|
||||
//
|
||||
// FreeType 2 makefile for the symbian platform
|
||||
//
|
||||
|
||||
// Copyright 2008, 2009 by
|
||||
// David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
//
|
||||
// This file is part of the FreeType project, and may only be used, modified,
|
||||
// and distributed under the terms of the FreeType project license,
|
||||
// LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
// indicate that you have read the license and understand and accept it
|
||||
// fully.
|
||||
|
||||
target freetype.lib
|
||||
targettype lib
|
||||
|
||||
macro NDEBUG
|
||||
macro FT2_BUILD_LIBRARY
|
||||
|
||||
sourcepath ..\..\src\autofit
|
||||
|
||||
source autofit.c
|
||||
|
||||
sourcepath ..\..\src\base
|
||||
|
||||
source ftbase.c
|
||||
source ftbbox.c
|
||||
source ftbdf.c
|
||||
source ftbitmap.c
|
||||
source ftcid.c
|
||||
source ftfstype.c
|
||||
source ftgasp.c
|
||||
source ftglyph.c
|
||||
source ftgxval.c
|
||||
source ftinit.c
|
||||
source ftlcdfil.c
|
||||
source ftmm.c
|
||||
source ftotval.c
|
||||
source ftpatent.c
|
||||
source ftpfr.c
|
||||
source ftstroke.c
|
||||
source ftsynth.c
|
||||
source ftsystem.c
|
||||
source fttype1.c
|
||||
source ftwinfnt.c
|
||||
|
||||
sourcepath ..\..\src\bdf
|
||||
|
||||
source bdf.c
|
||||
|
||||
sourcepath ..\..\src\cache
|
||||
|
||||
source ftcache.c
|
||||
|
||||
sourcepath ..\..\src\cff
|
||||
|
||||
source cff.c
|
||||
|
||||
sourcepath ..\..\src\cid
|
||||
|
||||
source type1cid.c
|
||||
|
||||
sourcepath ..\..\src\gzip
|
||||
|
||||
source ftgzip.c
|
||||
|
||||
sourcepath ..\..\src\lzw
|
||||
|
||||
source ftlzw.c
|
||||
|
||||
sourcepath ..\..\src\pcf
|
||||
|
||||
source pcf.c
|
||||
|
||||
sourcepath ..\..\src\pfr
|
||||
|
||||
source pfr.c
|
||||
|
||||
sourcepath ..\..\src\psaux
|
||||
|
||||
source psaux.c
|
||||
|
||||
sourcepath ..\..\src\pshinter
|
||||
|
||||
source pshinter.c
|
||||
|
||||
sourcepath ..\..\src\psnames
|
||||
|
||||
source psmodule.c
|
||||
|
||||
sourcepath ..\..\src\raster
|
||||
|
||||
source raster.c
|
||||
|
||||
sourcepath ..\..\src\sfnt
|
||||
|
||||
source sfnt.c
|
||||
|
||||
sourcepath ..\..\src\smooth
|
||||
|
||||
source smooth.c
|
||||
|
||||
sourcepath ..\..\src\truetype
|
||||
|
||||
source truetype.c
|
||||
|
||||
sourcepath ..\..\src\type1
|
||||
|
||||
source type1.c
|
||||
|
||||
sourcepath ..\..\src\type42
|
||||
|
||||
source type42.c
|
||||
|
||||
sourcepath ..\..\src\winfonts
|
||||
|
||||
source winfnt.c
|
||||
|
||||
|
||||
systeminclude ..\..\include
|
||||
systeminclude \epoc32\include\stdapis
|
||||
userinclude ..\..\src\autofit
|
||||
userinclude ..\..\src\bdf
|
||||
userinclude ..\..\src\cache
|
||||
userinclude ..\..\src\cff
|
||||
userinclude ..\..\src\cid
|
||||
userinclude ..\..\src\gxvalid
|
||||
userinclude ..\..\src\gzip
|
||||
userinclude ..\..\src\lzw
|
||||
userinclude ..\..\src\otvalid
|
||||
userinclude ..\..\src\pcf
|
||||
userinclude ..\..\src\pfr
|
||||
userinclude ..\..\src\psaux
|
||||
userinclude ..\..\src\pshinter
|
||||
userinclude ..\..\src\psnames
|
||||
userinclude ..\..\src\raster
|
||||
userinclude ..\..\src\sfnt
|
||||
userinclude ..\..\src\smooth
|
||||
userinclude ..\..\src\truetype
|
||||
userinclude ..\..\src\type1
|
||||
userinclude ..\..\src\type42
|
||||
userinclude ..\..\src\winfonts
|
||||
//
|
||||
// FreeType 2 makefile for the symbian platform
|
||||
//
|
||||
|
||||
// Copyright 2008, 2009 by
|
||||
// David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
//
|
||||
// This file is part of the FreeType project, and may only be used, modified,
|
||||
// and distributed under the terms of the FreeType project license,
|
||||
// LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
// indicate that you have read the license and understand and accept it
|
||||
// fully.
|
||||
|
||||
target freetype.lib
|
||||
targettype lib
|
||||
|
||||
macro NDEBUG
|
||||
macro FT2_BUILD_LIBRARY
|
||||
|
||||
sourcepath ..\..\src\autofit
|
||||
|
||||
source autofit.c
|
||||
|
||||
sourcepath ..\..\src\base
|
||||
|
||||
source ftbase.c
|
||||
source ftbbox.c
|
||||
source ftbdf.c
|
||||
source ftbitmap.c
|
||||
source ftcid.c
|
||||
source ftfstype.c
|
||||
source ftgasp.c
|
||||
source ftglyph.c
|
||||
source ftgxval.c
|
||||
source ftinit.c
|
||||
source ftlcdfil.c
|
||||
source ftmm.c
|
||||
source ftotval.c
|
||||
source ftpatent.c
|
||||
source ftpfr.c
|
||||
source ftstroke.c
|
||||
source ftsynth.c
|
||||
source ftsystem.c
|
||||
source fttype1.c
|
||||
source ftwinfnt.c
|
||||
|
||||
sourcepath ..\..\src\bdf
|
||||
|
||||
source bdf.c
|
||||
|
||||
sourcepath ..\..\src\cache
|
||||
|
||||
source ftcache.c
|
||||
|
||||
sourcepath ..\..\src\cff
|
||||
|
||||
source cff.c
|
||||
|
||||
sourcepath ..\..\src\cid
|
||||
|
||||
source type1cid.c
|
||||
|
||||
sourcepath ..\..\src\gzip
|
||||
|
||||
source ftgzip.c
|
||||
|
||||
sourcepath ..\..\src\lzw
|
||||
|
||||
source ftlzw.c
|
||||
|
||||
sourcepath ..\..\src\pcf
|
||||
|
||||
source pcf.c
|
||||
|
||||
sourcepath ..\..\src\pfr
|
||||
|
||||
source pfr.c
|
||||
|
||||
sourcepath ..\..\src\psaux
|
||||
|
||||
source psaux.c
|
||||
|
||||
sourcepath ..\..\src\pshinter
|
||||
|
||||
source pshinter.c
|
||||
|
||||
sourcepath ..\..\src\psnames
|
||||
|
||||
source psmodule.c
|
||||
|
||||
sourcepath ..\..\src\raster
|
||||
|
||||
source raster.c
|
||||
|
||||
sourcepath ..\..\src\sfnt
|
||||
|
||||
source sfnt.c
|
||||
|
||||
sourcepath ..\..\src\smooth
|
||||
|
||||
source smooth.c
|
||||
|
||||
sourcepath ..\..\src\truetype
|
||||
|
||||
source truetype.c
|
||||
|
||||
sourcepath ..\..\src\type1
|
||||
|
||||
source type1.c
|
||||
|
||||
sourcepath ..\..\src\type42
|
||||
|
||||
source type42.c
|
||||
|
||||
sourcepath ..\..\src\winfonts
|
||||
|
||||
source winfnt.c
|
||||
|
||||
|
||||
systeminclude ..\..\include
|
||||
systeminclude \epoc32\include\stdapis
|
||||
userinclude ..\..\src\autofit
|
||||
userinclude ..\..\src\bdf
|
||||
userinclude ..\..\src\cache
|
||||
userinclude ..\..\src\cff
|
||||
userinclude ..\..\src\cid
|
||||
userinclude ..\..\src\gxvalid
|
||||
userinclude ..\..\src\gzip
|
||||
userinclude ..\..\src\lzw
|
||||
userinclude ..\..\src\otvalid
|
||||
userinclude ..\..\src\pcf
|
||||
userinclude ..\..\src\pfr
|
||||
userinclude ..\..\src\psaux
|
||||
userinclude ..\..\src\pshinter
|
||||
userinclude ..\..\src\psnames
|
||||
userinclude ..\..\src\raster
|
||||
userinclude ..\..\src\sfnt
|
||||
userinclude ..\..\src\smooth
|
||||
userinclude ..\..\src\truetype
|
||||
userinclude ..\..\src\type1
|
||||
userinclude ..\..\src\type42
|
||||
userinclude ..\..\src\winfonts
|
||||
|
@ -1,16 +1,16 @@
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.cache
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
configure.ac
|
||||
freetype2.pc
|
||||
freetype-config
|
||||
ftconfig.h
|
||||
libtool
|
||||
ltmain.sh
|
||||
unix-cc.mk
|
||||
unix-def.mk
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.cache
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
configure.ac
|
||||
freetype2.pc
|
||||
freetype-config
|
||||
ftconfig.h
|
||||
libtool
|
||||
ltmain.sh
|
||||
unix-cc.mk
|
||||
unix-def.mk
|
||||
|
3004
components/external/freetype/builds/unix/config.guess
vendored
3004
components/external/freetype/builds/unix/config.guess
vendored
File diff suppressed because it is too large
Load Diff
3428
components/external/freetype/builds/unix/config.sub
vendored
3428
components/external/freetype/builds/unix/config.sub
vendored
File diff suppressed because it is too large
Load Diff
1368
components/external/freetype/builds/unix/configure.ac
vendored
1368
components/external/freetype/builds/unix/configure.ac
vendored
File diff suppressed because it is too large
Load Diff
1368
components/external/freetype/builds/unix/configure.raw
vendored
1368
components/external/freetype/builds/unix/configure.raw
vendored
File diff suppressed because it is too large
Load Diff
1040
components/external/freetype/builds/unix/install-sh
vendored
1040
components/external/freetype/builds/unix/install-sh
vendored
File diff suppressed because it is too large
Load Diff
@ -1,161 +1,161 @@
|
||||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2006-05-11.19
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain.
|
||||
#
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
errstatus=0
|
||||
dirmode=
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all
|
||||
leading file name components.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "$0 $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
||||
# one will create a, then the other will try to create a and die with
|
||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
||||
# from a parallel make. We use --version in the probe to restrict
|
||||
# ourselves to GNU mkdir, which is thread-safe.
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
else
|
||||
# On NextStep and OpenStep, the `mkdir' command does not
|
||||
# recognize any option. It will interpret all options as
|
||||
# directories to create, and then abort because `.' already
|
||||
# exists.
|
||||
test -d ./-p && rmdir ./-p
|
||||
test -d ./--version && rmdir ./--version
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||
test ! -d ./--version; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
else
|
||||
# Clean up after NextStep and OpenStep mkdir.
|
||||
for d in ./-m ./-p ./--version "./$dirmode";
|
||||
do
|
||||
test -d $d && rmdir $d
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
case $file in
|
||||
/*) pathcomp=/ ;;
|
||||
*) pathcomp= ;;
|
||||
esac
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set fnord $file
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
for d
|
||||
do
|
||||
test "x$d" = x && continue
|
||||
|
||||
pathcomp=$pathcomp$d
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2006-05-11.19
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain.
|
||||
#
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
errstatus=0
|
||||
dirmode=
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all
|
||||
leading file name components.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "$0 $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
||||
# one will create a, then the other will try to create a and die with
|
||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
||||
# from a parallel make. We use --version in the probe to restrict
|
||||
# ourselves to GNU mkdir, which is thread-safe.
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
else
|
||||
# On NextStep and OpenStep, the `mkdir' command does not
|
||||
# recognize any option. It will interpret all options as
|
||||
# directories to create, and then abort because `.' already
|
||||
# exists.
|
||||
test -d ./-p && rmdir ./-p
|
||||
test -d ./--version && rmdir ./--version
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||
test ! -d ./--version; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
else
|
||||
# Clean up after NextStep and OpenStep mkdir.
|
||||
for d in ./-m ./-p ./--version "./$dirmode";
|
||||
do
|
||||
test -d $d && rmdir $d
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
case $file in
|
||||
/*) pathcomp=/ ;;
|
||||
*) pathcomp= ;;
|
||||
esac
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set fnord $file
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
for d
|
||||
do
|
||||
test "x$d" = x && continue
|
||||
|
||||
pathcomp=$pathcomp$d
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
|
@ -1,33 +1,33 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Debug Multithreaded = Debug Multithreaded
|
||||
Debug Singlethreaded = Debug Singlethreaded
|
||||
Release = Release
|
||||
Release Multithreaded = Release Multithreaded
|
||||
Release Singlethreaded = Release Singlethreaded
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.ActiveCfg = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.Build.0 = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.ActiveCfg = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.Build.0 = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.ActiveCfg = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.Build.0 = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.ActiveCfg = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.Build.0 = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.ActiveCfg = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.Build.0 = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.ActiveCfg = Release Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.Build.0 = Release Singlethreaded|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Debug Multithreaded = Debug Multithreaded
|
||||
Debug Singlethreaded = Debug Singlethreaded
|
||||
Release = Release
|
||||
Release Multithreaded = Release Multithreaded
|
||||
Release Singlethreaded = Release Singlethreaded
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.ActiveCfg = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.Build.0 = Debug|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.ActiveCfg = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.Build.0 = Debug Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.ActiveCfg = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.Build.0 = Debug Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.ActiveCfg = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.Build.0 = Release|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.ActiveCfg = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.Build.0 = Release Multithreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.ActiveCfg = Release Singlethreaded|Win32
|
||||
{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.Build.0 = Release Singlethreaded|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
File diff suppressed because it is too large
Load Diff
240
components/external/freetype/configure
vendored
240
components/external/freetype/configure
vendored
@ -1,120 +1,120 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
#
|
||||
# Call the `configure' script located in `builds/unix'.
|
||||
#
|
||||
|
||||
rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
|
||||
|
||||
if test "x$GNUMAKE" = x; then
|
||||
GNUMAKE=make
|
||||
fi
|
||||
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
|
||||
echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
|
||||
echo "Please try" >&2
|
||||
echo " \`GNUMAKE=<GNU make command name> $0'." >&2
|
||||
echo "or >&2"
|
||||
echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get `dirname' functionality. This is taken and adapted from autoconf's
|
||||
# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||
ft_expr=expr
|
||||
else
|
||||
ft_expr=false
|
||||
fi
|
||||
|
||||
ft2_dir=`(dirname "$0") 2>/dev/null ||
|
||||
$ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$0" : 'X\(//\)[^/]' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| \
|
||||
. : '\(.\)' 2>/dev/null ||
|
||||
echo X"$0" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
abs_curr_dir=`pwd`
|
||||
abs_ft2_dir=`cd "$ft2_dir" && pwd`
|
||||
|
||||
# `--srcdir=' option can override abs_ft2_dir
|
||||
|
||||
if test $# -gt 0; then
|
||||
for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=*)
|
||||
abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# build a dummy Makefile if we are not building in the source tree
|
||||
|
||||
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
||||
mkdir reference
|
||||
if test ! -r $abs_curr_dir/modules.cfg; then
|
||||
echo "Copying \`modules.cfg'"
|
||||
cp $abs_ft2_dir/modules.cfg $abs_curr_dir
|
||||
fi
|
||||
echo "Generating \`Makefile'"
|
||||
echo "TOP_DIR := $abs_ft2_dir" > Makefile
|
||||
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
|
||||
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
|
||||
echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
|
||||
echo "LIBTOOL := \$(OBJ_DIR)/libtool" >> Makefile
|
||||
echo "ifndef FT2DEMOS" >> Makefile
|
||||
echo " include \$(TOP_DIR)/Makefile" >> Makefile
|
||||
echo "else" >> Makefile
|
||||
echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
|
||||
echo " PROJECT := freetype" >> Makefile
|
||||
echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
|
||||
echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
|
||||
echo "endif" >> Makefile
|
||||
fi
|
||||
|
||||
# call make
|
||||
|
||||
CFG=
|
||||
# work around zsh bug which doesn't like `${1+"$@"}'
|
||||
case $# in
|
||||
0) ;;
|
||||
*) for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
|
||||
*) CFG="$CFG '$x'" ;;
|
||||
esac
|
||||
done ;;
|
||||
esac
|
||||
CFG=$CFG $GNUMAKE setup unix
|
||||
|
||||
# eof
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
#
|
||||
# Call the `configure' script located in `builds/unix'.
|
||||
#
|
||||
|
||||
rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
|
||||
|
||||
if test "x$GNUMAKE" = x; then
|
||||
GNUMAKE=make
|
||||
fi
|
||||
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
|
||||
if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
|
||||
echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
|
||||
echo "Please try" >&2
|
||||
echo " \`GNUMAKE=<GNU make command name> $0'." >&2
|
||||
echo "or >&2"
|
||||
echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get `dirname' functionality. This is taken and adapted from autoconf's
|
||||
# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||
ft_expr=expr
|
||||
else
|
||||
ft_expr=false
|
||||
fi
|
||||
|
||||
ft2_dir=`(dirname "$0") 2>/dev/null ||
|
||||
$ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$0" : 'X\(//\)[^/]' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| \
|
||||
. : '\(.\)' 2>/dev/null ||
|
||||
echo X"$0" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
abs_curr_dir=`pwd`
|
||||
abs_ft2_dir=`cd "$ft2_dir" && pwd`
|
||||
|
||||
# `--srcdir=' option can override abs_ft2_dir
|
||||
|
||||
if test $# -gt 0; then
|
||||
for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=*)
|
||||
abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# build a dummy Makefile if we are not building in the source tree
|
||||
|
||||
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
||||
mkdir reference
|
||||
if test ! -r $abs_curr_dir/modules.cfg; then
|
||||
echo "Copying \`modules.cfg'"
|
||||
cp $abs_ft2_dir/modules.cfg $abs_curr_dir
|
||||
fi
|
||||
echo "Generating \`Makefile'"
|
||||
echo "TOP_DIR := $abs_ft2_dir" > Makefile
|
||||
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
|
||||
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
|
||||
echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
|
||||
echo "LIBTOOL := \$(OBJ_DIR)/libtool" >> Makefile
|
||||
echo "ifndef FT2DEMOS" >> Makefile
|
||||
echo " include \$(TOP_DIR)/Makefile" >> Makefile
|
||||
echo "else" >> Makefile
|
||||
echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
|
||||
echo " PROJECT := freetype" >> Makefile
|
||||
echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
|
||||
echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
|
||||
echo "endif" >> Makefile
|
||||
fi
|
||||
|
||||
# call make
|
||||
|
||||
CFG=
|
||||
# work around zsh bug which doesn't like `${1+"$@"}'
|
||||
case $# in
|
||||
0) ;;
|
||||
*) for x in "$@"; do
|
||||
case x"$x" in
|
||||
x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
|
||||
*) CFG="$CFG '$x'" ;;
|
||||
esac
|
||||
done ;;
|
||||
esac
|
||||
CFG=$CFG $GNUMAKE setup unix
|
||||
|
||||
# eof
|
||||
|
6792
components/external/freetype/docs/CHANGES
vendored
6792
components/external/freetype/docs/CHANGES
vendored
File diff suppressed because it is too large
Load Diff
300
components/external/freetype/docs/CUSTOMIZE
vendored
300
components/external/freetype/docs/CUSTOMIZE
vendored
@ -1,150 +1,150 @@
|
||||
How to customize the compilation of the library
|
||||
===============================================
|
||||
|
||||
FreeType is highly customizable to fit various needs, and this
|
||||
document describes how it is possible to select options and
|
||||
components at compilation time.
|
||||
|
||||
|
||||
I. Configuration macros
|
||||
|
||||
The file found in `include/freetype/config/ftoption.h' contains a
|
||||
list of commented configuration macros that can be toggled by
|
||||
developers to indicate which features should be active while
|
||||
building the library.
|
||||
|
||||
These options range from debug level to availability of certain
|
||||
features, like native TrueType hinting through a bytecode
|
||||
interpreter.
|
||||
|
||||
We invite you to read this file for more information. You can
|
||||
change the file's content to suit your needs, or override it with
|
||||
one of the techniques described below.
|
||||
|
||||
|
||||
II. Modules list
|
||||
|
||||
If you use GNU make please edit the top-level file `modules.cfg'.
|
||||
It contains a list of available FreeType modules and extensions to
|
||||
be compiled. Change it to suit your own preferences. Be aware that
|
||||
certain modules depend on others, as described in the file. GNU
|
||||
make uses `modules.cfg' to generate `ftmodule.h' (in the object
|
||||
directory).
|
||||
|
||||
If you don't use GNU make you have to manually edit the file
|
||||
`include/freetype/config/ftmodule.h' (which is *not* used with if
|
||||
compiled with GNU make) to add or remove the drivers and components
|
||||
you want to compile into the library. See `INSTALL.ANY' for more
|
||||
information.
|
||||
|
||||
|
||||
III. System interface
|
||||
|
||||
FreeType's default interface to the system (i.e., the parts that
|
||||
deal with memory management and i/o streams) is located in
|
||||
`src/base/ftsystem.c'.
|
||||
|
||||
The current implementation uses standard C library calls to manage
|
||||
memory and to read font files. It is however possible to write
|
||||
custom implementations to suit specific systems.
|
||||
|
||||
To tell the GNU Make-based build system to use a custom system
|
||||
interface, you have to define the environment variable FTSYS_SRC to
|
||||
point to the relevant implementation:
|
||||
|
||||
on Unix:
|
||||
|
||||
./configure <your options>
|
||||
export FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
make install
|
||||
|
||||
on Windows:
|
||||
|
||||
make setup <compiler>
|
||||
set FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
|
||||
|
||||
IV. Overriding default configuration and module headers
|
||||
|
||||
It is possible to override the default configuration and module
|
||||
headers without changing the original files. There are three ways
|
||||
to do that:
|
||||
|
||||
|
||||
1. With GNU make
|
||||
|
||||
[This is actually a combination of method 2 and 3.]
|
||||
|
||||
Just put your custom `ftoption.h' file into the objects directory
|
||||
(normally `<topdir>/objs'), which GNU make prefers over the
|
||||
standard location. No action is needed for `ftmodule.h' because
|
||||
it is generated automatically in the objects directory.
|
||||
|
||||
|
||||
2. Using the C include path
|
||||
|
||||
Use the C include path to ensure that your own versions of the
|
||||
files are used at compile time when the lines
|
||||
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_MODULES_H
|
||||
|
||||
are compiled. Their default values being
|
||||
<freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
|
||||
can do something like:
|
||||
|
||||
custom/
|
||||
freetype/
|
||||
config/
|
||||
ftoption.h => custom options header
|
||||
ftmodule.h => custom modules list
|
||||
|
||||
include/ => normal FreeType 2 include
|
||||
freetype/
|
||||
...
|
||||
|
||||
then change the C include path to always give the path to `custom'
|
||||
before the FreeType 2 `include'.
|
||||
|
||||
|
||||
3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
|
||||
|
||||
Another way to do the same thing is to redefine the macros used to
|
||||
name the configuration headers. To do so, you need a custom
|
||||
`ft2build.h' whose content can be as simple as:
|
||||
|
||||
#ifndef __FT2_BUILD_MY_PLATFORM_H__
|
||||
#define __FT2_BUILD_MY_PLATFORM_H__
|
||||
|
||||
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
|
||||
#define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
|
||||
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2_BUILD_MY_PLATFORM_H__ */
|
||||
|
||||
Place those files in a separate directory, e.g.,
|
||||
|
||||
custom/
|
||||
ft2build.h => custom version described above
|
||||
my-ftoption.h => custom options header
|
||||
my-ftmodule.h => custom modules list header
|
||||
|
||||
and change the C include path to ensure that `custom' is always
|
||||
placed before the FT2 `include' during compilation.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of CUSTOMIZE ---
|
||||
How to customize the compilation of the library
|
||||
===============================================
|
||||
|
||||
FreeType is highly customizable to fit various needs, and this
|
||||
document describes how it is possible to select options and
|
||||
components at compilation time.
|
||||
|
||||
|
||||
I. Configuration macros
|
||||
|
||||
The file found in `include/freetype/config/ftoption.h' contains a
|
||||
list of commented configuration macros that can be toggled by
|
||||
developers to indicate which features should be active while
|
||||
building the library.
|
||||
|
||||
These options range from debug level to availability of certain
|
||||
features, like native TrueType hinting through a bytecode
|
||||
interpreter.
|
||||
|
||||
We invite you to read this file for more information. You can
|
||||
change the file's content to suit your needs, or override it with
|
||||
one of the techniques described below.
|
||||
|
||||
|
||||
II. Modules list
|
||||
|
||||
If you use GNU make please edit the top-level file `modules.cfg'.
|
||||
It contains a list of available FreeType modules and extensions to
|
||||
be compiled. Change it to suit your own preferences. Be aware that
|
||||
certain modules depend on others, as described in the file. GNU
|
||||
make uses `modules.cfg' to generate `ftmodule.h' (in the object
|
||||
directory).
|
||||
|
||||
If you don't use GNU make you have to manually edit the file
|
||||
`include/freetype/config/ftmodule.h' (which is *not* used with if
|
||||
compiled with GNU make) to add or remove the drivers and components
|
||||
you want to compile into the library. See `INSTALL.ANY' for more
|
||||
information.
|
||||
|
||||
|
||||
III. System interface
|
||||
|
||||
FreeType's default interface to the system (i.e., the parts that
|
||||
deal with memory management and i/o streams) is located in
|
||||
`src/base/ftsystem.c'.
|
||||
|
||||
The current implementation uses standard C library calls to manage
|
||||
memory and to read font files. It is however possible to write
|
||||
custom implementations to suit specific systems.
|
||||
|
||||
To tell the GNU Make-based build system to use a custom system
|
||||
interface, you have to define the environment variable FTSYS_SRC to
|
||||
point to the relevant implementation:
|
||||
|
||||
on Unix:
|
||||
|
||||
./configure <your options>
|
||||
export FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
make install
|
||||
|
||||
on Windows:
|
||||
|
||||
make setup <compiler>
|
||||
set FTSYS_SRC=foo/my_ftsystem.c
|
||||
make
|
||||
|
||||
|
||||
IV. Overriding default configuration and module headers
|
||||
|
||||
It is possible to override the default configuration and module
|
||||
headers without changing the original files. There are three ways
|
||||
to do that:
|
||||
|
||||
|
||||
1. With GNU make
|
||||
|
||||
[This is actually a combination of method 2 and 3.]
|
||||
|
||||
Just put your custom `ftoption.h' file into the objects directory
|
||||
(normally `<topdir>/objs'), which GNU make prefers over the
|
||||
standard location. No action is needed for `ftmodule.h' because
|
||||
it is generated automatically in the objects directory.
|
||||
|
||||
|
||||
2. Using the C include path
|
||||
|
||||
Use the C include path to ensure that your own versions of the
|
||||
files are used at compile time when the lines
|
||||
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_MODULES_H
|
||||
|
||||
are compiled. Their default values being
|
||||
<freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
|
||||
can do something like:
|
||||
|
||||
custom/
|
||||
freetype/
|
||||
config/
|
||||
ftoption.h => custom options header
|
||||
ftmodule.h => custom modules list
|
||||
|
||||
include/ => normal FreeType 2 include
|
||||
freetype/
|
||||
...
|
||||
|
||||
then change the C include path to always give the path to `custom'
|
||||
before the FreeType 2 `include'.
|
||||
|
||||
|
||||
3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
|
||||
|
||||
Another way to do the same thing is to redefine the macros used to
|
||||
name the configuration headers. To do so, you need a custom
|
||||
`ft2build.h' whose content can be as simple as:
|
||||
|
||||
#ifndef __FT2_BUILD_MY_PLATFORM_H__
|
||||
#define __FT2_BUILD_MY_PLATFORM_H__
|
||||
|
||||
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
|
||||
#define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
|
||||
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2_BUILD_MY_PLATFORM_H__ */
|
||||
|
||||
Place those files in a separate directory, e.g.,
|
||||
|
||||
custom/
|
||||
ft2build.h => custom version described above
|
||||
my-ftoption.h => custom options header
|
||||
my-ftmodule.h => custom modules list header
|
||||
|
||||
and change the C include path to ensure that `custom' is always
|
||||
placed before the FT2 `include' during compilation.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of CUSTOMIZE ---
|
||||
|
404
components/external/freetype/docs/DEBUG
vendored
404
components/external/freetype/docs/DEBUG
vendored
@ -1,202 +1,202 @@
|
||||
Debugging within the FreeType sources
|
||||
=====================================
|
||||
|
||||
I. Configuration macros
|
||||
-----------------------
|
||||
|
||||
There are several ways to enable debugging features in a FreeType 2
|
||||
builds. This is controlled through the definition of special macros
|
||||
located in the file `ftoptions.h'. The macros are:
|
||||
|
||||
|
||||
FT_DEBUG_LEVEL_ERROR
|
||||
|
||||
#define this macro if you want to compile the FT_ERROR macro calls
|
||||
to print error messages during program execution. This will not
|
||||
stop the program. Very useful to spot invalid fonts during
|
||||
development and to code workarounds for them.
|
||||
|
||||
FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
#define this macro if you want to compile both macros FT_ERROR and
|
||||
FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
|
||||
FT_TRACE2, ..., FT_TRACE7.
|
||||
|
||||
The trace macros are used to send debugging messages when an
|
||||
appropriate `debug level' is configured at runtime through the
|
||||
FT2_DEBUG environment variable (more on this later).
|
||||
|
||||
FT_DEBUG_MEMORY
|
||||
|
||||
If this macro is #defined, the FreeType engine is linked with a
|
||||
small but effective debugging memory manager that tracks all
|
||||
allocations and frees that are performed within the font engine.
|
||||
|
||||
When the FT2_DEBUG_MEMORY environment variable is defined at
|
||||
runtime, a call to FT_Done_FreeType will dump memory statistics,
|
||||
including the list of leaked memory blocks with the source locations
|
||||
where these were allocated. It is always a very good idea to define
|
||||
this in development builds. This works with _any_ program linked to
|
||||
FreeType, but requires a big deal of memory (the debugging memory
|
||||
manager never frees the blocks to the heap in order to detect double
|
||||
frees).
|
||||
|
||||
When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
|
||||
manager is ignored, and performance is unaffected.
|
||||
|
||||
|
||||
II. Debugging macros
|
||||
--------------------
|
||||
|
||||
Several macros can be used within the FreeType sources to help debugging
|
||||
its code:
|
||||
|
||||
|
||||
1. FT_ERROR(( ... ))
|
||||
|
||||
This macro is used to send debug messages that indicate relatively
|
||||
serious errors (like broken font files), but will not stop the
|
||||
execution of the running program. Its code is compiled only when
|
||||
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
|
||||
`ftoption.h'.
|
||||
|
||||
Note that you have to use a printf-like signature, but with double
|
||||
parentheses, like in
|
||||
|
||||
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
2. FT_ASSERT( condition )
|
||||
|
||||
This macro is used to check strong assertions at runtime. If its
|
||||
condition isn't TRUE, the program will abort with a panic message.
|
||||
Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
|
||||
FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses
|
||||
here. For example
|
||||
|
||||
FT_ASSERT( ptr != NULL );
|
||||
|
||||
|
||||
3. FT_TRACE( level, (message...) )
|
||||
|
||||
The FT_TRACE macro is used to send general-purpose debugging
|
||||
messages during program execution. This macro uses an *implicit*
|
||||
macro named FT_COMPONENT used to name the current FreeType component
|
||||
being run.
|
||||
|
||||
The developer should always define FT_COMPONENT as appropriate, for
|
||||
example as in
|
||||
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
The value of the FT_COMPONENT macro is an enumeration named
|
||||
trace_XXXX where XXXX is one of the component names defined in the
|
||||
internal file `freetype/internal/fttrace.h'. If you modify FreeType
|
||||
source and insert new trace_XXXX macro, you must register it in
|
||||
fttrace.h. If you insert or remove many trace macros, you can check
|
||||
the undefined or the unused trace macro by src/tools/chktrcmp.py.
|
||||
|
||||
Each such component is assigned a `debug level', ranging from 0
|
||||
to 7, through the use of the FT2_DEBUG environment variable
|
||||
(described below) when a program linked with FreeType starts.
|
||||
|
||||
When FT_TRACE is called, its level is compared to the one of the
|
||||
corresponding component. Messages with trace levels *higher* than
|
||||
the corresponding component level are filtered and never printed.
|
||||
|
||||
This means that trace messages with level 0 are always printed,
|
||||
those with level 2 are only printed when the component level is *at
|
||||
least* 2.
|
||||
|
||||
The second parameter to FT_TRACE must contain parentheses and
|
||||
correspond to a printf-like call, as in
|
||||
|
||||
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
|
||||
|
||||
The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
|
||||
can be used with constant level indices, and are much cleaner to
|
||||
use, as in
|
||||
|
||||
FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
III. Environment variables
|
||||
--------------------------
|
||||
|
||||
The following environment variables control debugging output and
|
||||
behaviour of FreeType at runtime.
|
||||
|
||||
|
||||
FT2_DEBUG
|
||||
|
||||
This variable is only used when FreeType is built with
|
||||
FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level
|
||||
definitions, following this format:
|
||||
|
||||
component1:level1 component2:level2 component3:level3 ...
|
||||
|
||||
where `componentX' is the name of a tracing component, as defined in
|
||||
`fttrace.h', but without the `trace_' prefix. `levelX' is the
|
||||
corresponding level to use at runtime.
|
||||
|
||||
`any' is a special component name that will be interpreted as
|
||||
`any/all components'. For example, the following definitions
|
||||
|
||||
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
|
||||
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
|
||||
|
||||
both stipulate that all components should have level 2, except for
|
||||
the memory and io components which will be set to trace levels 5 and
|
||||
4, respectively.
|
||||
|
||||
|
||||
FT2_DEBUG_MEMORY
|
||||
|
||||
This environment variable, when defined, tells FreeType to use a
|
||||
debugging memory manager that will track leaking memory blocks as
|
||||
well as other common errors like double frees. It is also capable
|
||||
of reporting _where_ the leaking blocks were allocated, which
|
||||
considerably saves time when debugging new additions to the library.
|
||||
|
||||
This code is only compiled when FreeType is built with the
|
||||
FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
|
||||
ignored in other builds.
|
||||
|
||||
|
||||
FT2_ALLOC_TOTAL_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum heap size for all memory allocations
|
||||
performed by FreeType. This is very useful to test the robustness
|
||||
of the font engine and programs that use it in tight memory
|
||||
conditions.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
|
||||
FT2_ALLOC_COUNT_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum number of memory allocations
|
||||
performed by FreeType before returning the error
|
||||
FT_Err_Out_Of_Memory. This is useful for debugging and testing the
|
||||
engine's robustness.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of DEBUG ---
|
||||
Debugging within the FreeType sources
|
||||
=====================================
|
||||
|
||||
I. Configuration macros
|
||||
-----------------------
|
||||
|
||||
There are several ways to enable debugging features in a FreeType 2
|
||||
builds. This is controlled through the definition of special macros
|
||||
located in the file `ftoptions.h'. The macros are:
|
||||
|
||||
|
||||
FT_DEBUG_LEVEL_ERROR
|
||||
|
||||
#define this macro if you want to compile the FT_ERROR macro calls
|
||||
to print error messages during program execution. This will not
|
||||
stop the program. Very useful to spot invalid fonts during
|
||||
development and to code workarounds for them.
|
||||
|
||||
FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
#define this macro if you want to compile both macros FT_ERROR and
|
||||
FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
|
||||
FT_TRACE2, ..., FT_TRACE7.
|
||||
|
||||
The trace macros are used to send debugging messages when an
|
||||
appropriate `debug level' is configured at runtime through the
|
||||
FT2_DEBUG environment variable (more on this later).
|
||||
|
||||
FT_DEBUG_MEMORY
|
||||
|
||||
If this macro is #defined, the FreeType engine is linked with a
|
||||
small but effective debugging memory manager that tracks all
|
||||
allocations and frees that are performed within the font engine.
|
||||
|
||||
When the FT2_DEBUG_MEMORY environment variable is defined at
|
||||
runtime, a call to FT_Done_FreeType will dump memory statistics,
|
||||
including the list of leaked memory blocks with the source locations
|
||||
where these were allocated. It is always a very good idea to define
|
||||
this in development builds. This works with _any_ program linked to
|
||||
FreeType, but requires a big deal of memory (the debugging memory
|
||||
manager never frees the blocks to the heap in order to detect double
|
||||
frees).
|
||||
|
||||
When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
|
||||
manager is ignored, and performance is unaffected.
|
||||
|
||||
|
||||
II. Debugging macros
|
||||
--------------------
|
||||
|
||||
Several macros can be used within the FreeType sources to help debugging
|
||||
its code:
|
||||
|
||||
|
||||
1. FT_ERROR(( ... ))
|
||||
|
||||
This macro is used to send debug messages that indicate relatively
|
||||
serious errors (like broken font files), but will not stop the
|
||||
execution of the running program. Its code is compiled only when
|
||||
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
|
||||
`ftoption.h'.
|
||||
|
||||
Note that you have to use a printf-like signature, but with double
|
||||
parentheses, like in
|
||||
|
||||
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
2. FT_ASSERT( condition )
|
||||
|
||||
This macro is used to check strong assertions at runtime. If its
|
||||
condition isn't TRUE, the program will abort with a panic message.
|
||||
Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
|
||||
FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses
|
||||
here. For example
|
||||
|
||||
FT_ASSERT( ptr != NULL );
|
||||
|
||||
|
||||
3. FT_TRACE( level, (message...) )
|
||||
|
||||
The FT_TRACE macro is used to send general-purpose debugging
|
||||
messages during program execution. This macro uses an *implicit*
|
||||
macro named FT_COMPONENT used to name the current FreeType component
|
||||
being run.
|
||||
|
||||
The developer should always define FT_COMPONENT as appropriate, for
|
||||
example as in
|
||||
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
The value of the FT_COMPONENT macro is an enumeration named
|
||||
trace_XXXX where XXXX is one of the component names defined in the
|
||||
internal file `freetype/internal/fttrace.h'. If you modify FreeType
|
||||
source and insert new trace_XXXX macro, you must register it in
|
||||
fttrace.h. If you insert or remove many trace macros, you can check
|
||||
the undefined or the unused trace macro by src/tools/chktrcmp.py.
|
||||
|
||||
Each such component is assigned a `debug level', ranging from 0
|
||||
to 7, through the use of the FT2_DEBUG environment variable
|
||||
(described below) when a program linked with FreeType starts.
|
||||
|
||||
When FT_TRACE is called, its level is compared to the one of the
|
||||
corresponding component. Messages with trace levels *higher* than
|
||||
the corresponding component level are filtered and never printed.
|
||||
|
||||
This means that trace messages with level 0 are always printed,
|
||||
those with level 2 are only printed when the component level is *at
|
||||
least* 2.
|
||||
|
||||
The second parameter to FT_TRACE must contain parentheses and
|
||||
correspond to a printf-like call, as in
|
||||
|
||||
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
|
||||
|
||||
The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
|
||||
can be used with constant level indices, and are much cleaner to
|
||||
use, as in
|
||||
|
||||
FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
|
||||
|
||||
|
||||
III. Environment variables
|
||||
--------------------------
|
||||
|
||||
The following environment variables control debugging output and
|
||||
behaviour of FreeType at runtime.
|
||||
|
||||
|
||||
FT2_DEBUG
|
||||
|
||||
This variable is only used when FreeType is built with
|
||||
FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level
|
||||
definitions, following this format:
|
||||
|
||||
component1:level1 component2:level2 component3:level3 ...
|
||||
|
||||
where `componentX' is the name of a tracing component, as defined in
|
||||
`fttrace.h', but without the `trace_' prefix. `levelX' is the
|
||||
corresponding level to use at runtime.
|
||||
|
||||
`any' is a special component name that will be interpreted as
|
||||
`any/all components'. For example, the following definitions
|
||||
|
||||
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
|
||||
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
|
||||
|
||||
both stipulate that all components should have level 2, except for
|
||||
the memory and io components which will be set to trace levels 5 and
|
||||
4, respectively.
|
||||
|
||||
|
||||
FT2_DEBUG_MEMORY
|
||||
|
||||
This environment variable, when defined, tells FreeType to use a
|
||||
debugging memory manager that will track leaking memory blocks as
|
||||
well as other common errors like double frees. It is also capable
|
||||
of reporting _where_ the leaking blocks were allocated, which
|
||||
considerably saves time when debugging new additions to the library.
|
||||
|
||||
This code is only compiled when FreeType is built with the
|
||||
FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
|
||||
ignored in other builds.
|
||||
|
||||
|
||||
FT2_ALLOC_TOTAL_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum heap size for all memory allocations
|
||||
performed by FreeType. This is very useful to test the robustness
|
||||
of the font engine and programs that use it in tight memory
|
||||
conditions.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
|
||||
FT2_ALLOC_COUNT_MAX
|
||||
|
||||
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
|
||||
allows you to specify a maximum number of memory allocations
|
||||
performed by FreeType before returning the error
|
||||
FT_Err_Out_Of_Memory. This is useful for debugging and testing the
|
||||
engine's robustness.
|
||||
|
||||
If it is undefined, or if its value is not strictly positive, then
|
||||
no allocation bounds are checked at runtime.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of DEBUG ---
|
||||
|
182
components/external/freetype/docs/INSTALL
vendored
182
components/external/freetype/docs/INSTALL
vendored
@ -1,91 +1,91 @@
|
||||
|
||||
There are several ways to build the FreeType library, depending on
|
||||
your system and the level of customization you need. Here is a short
|
||||
overview of the documentation available:
|
||||
|
||||
|
||||
I. Normal installation and upgrades
|
||||
===================================
|
||||
|
||||
1. Native TrueType Hinting
|
||||
|
||||
Native TrueType hinting is disabled by default[1]. If you really
|
||||
need it, read the file `TRUETYPE' for information.
|
||||
|
||||
|
||||
2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
|
||||
|
||||
Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
|
||||
upgrade FreeType 2 on a Unix system. Note that you *need* GNU
|
||||
Make for automatic compilation, since other make tools won't work
|
||||
(this includes BSD Make).
|
||||
|
||||
GNU Make VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
3. On VMS with the `mms' build tool
|
||||
|
||||
See `INSTALL.VMS' for installation instructions on this platform.
|
||||
|
||||
|
||||
4. Other systems using GNU Make
|
||||
|
||||
On non-Unix platforms, it is possible to build the library using
|
||||
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
|
||||
This methods supports several compilers on Windows, OS/2, and
|
||||
BeOS, including MinGW, Visual C++, Borland C++, and more.
|
||||
|
||||
Instructions are provided in the file `INSTALL.GNU'.
|
||||
|
||||
|
||||
5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
||||
|
||||
We provide a small number of `project files' for various IDEs to
|
||||
automatically build the library as well. Note that these files
|
||||
are not supported and only sporadically maintained by FreeType
|
||||
developers, so don't expect them to work in each release.
|
||||
|
||||
To find them, have a look at the content of the `builds/<system>'
|
||||
directory, where <system> stands for your OS or environment.
|
||||
|
||||
|
||||
6. From you own IDE, or own Makefiles
|
||||
|
||||
If you want to create your own project file, follow the
|
||||
instructions given in the `INSTALL.ANY' document of this
|
||||
directory.
|
||||
|
||||
|
||||
II. Custom builds of the library
|
||||
================================
|
||||
|
||||
Customizing the compilation of FreeType is easy, and allows you to
|
||||
select only the components of the font engine that you really need.
|
||||
For more details read the file `CUSTOMIZE'.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
[1] More details on: http://www.freetype.org/patents.html
|
||||
|
||||
[2] make++, a make tool written in Perl, has sufficient support of GNU
|
||||
make extensions to build FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL ---
|
||||
|
||||
There are several ways to build the FreeType library, depending on
|
||||
your system and the level of customization you need. Here is a short
|
||||
overview of the documentation available:
|
||||
|
||||
|
||||
I. Normal installation and upgrades
|
||||
===================================
|
||||
|
||||
1. Native TrueType Hinting
|
||||
|
||||
Native TrueType hinting is disabled by default[1]. If you really
|
||||
need it, read the file `TRUETYPE' for information.
|
||||
|
||||
|
||||
2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
|
||||
|
||||
Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
|
||||
upgrade FreeType 2 on a Unix system. Note that you *need* GNU
|
||||
Make for automatic compilation, since other make tools won't work
|
||||
(this includes BSD Make).
|
||||
|
||||
GNU Make VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
3. On VMS with the `mms' build tool
|
||||
|
||||
See `INSTALL.VMS' for installation instructions on this platform.
|
||||
|
||||
|
||||
4. Other systems using GNU Make
|
||||
|
||||
On non-Unix platforms, it is possible to build the library using
|
||||
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
|
||||
This methods supports several compilers on Windows, OS/2, and
|
||||
BeOS, including MinGW, Visual C++, Borland C++, and more.
|
||||
|
||||
Instructions are provided in the file `INSTALL.GNU'.
|
||||
|
||||
|
||||
5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
||||
|
||||
We provide a small number of `project files' for various IDEs to
|
||||
automatically build the library as well. Note that these files
|
||||
are not supported and only sporadically maintained by FreeType
|
||||
developers, so don't expect them to work in each release.
|
||||
|
||||
To find them, have a look at the content of the `builds/<system>'
|
||||
directory, where <system> stands for your OS or environment.
|
||||
|
||||
|
||||
6. From you own IDE, or own Makefiles
|
||||
|
||||
If you want to create your own project file, follow the
|
||||
instructions given in the `INSTALL.ANY' document of this
|
||||
directory.
|
||||
|
||||
|
||||
II. Custom builds of the library
|
||||
================================
|
||||
|
||||
Customizing the compilation of FreeType is easy, and allows you to
|
||||
select only the components of the font engine that you really need.
|
||||
For more details read the file `CUSTOMIZE'.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
[1] More details on: http://www.freetype.org/patents.html
|
||||
|
||||
[2] make++, a make tool written in Perl, has sufficient support of GNU
|
||||
make extensions to build FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL ---
|
||||
|
302
components/external/freetype/docs/INSTALL.ANY
vendored
302
components/external/freetype/docs/INSTALL.ANY
vendored
@ -1,151 +1,151 @@
|
||||
Instructions on how to build FreeType with your own build tool
|
||||
==============================================================
|
||||
|
||||
See the file `CUSTOMIZE' to learn how to customize FreeType to
|
||||
specific environments.
|
||||
|
||||
|
||||
I. Standard procedure
|
||||
---------------------
|
||||
|
||||
* DISABLE PRE-COMPILED HEADERS! This is very important for Visual
|
||||
C++, because FreeType uses lines like:
|
||||
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
which are not correctly supported by this compiler while being ISO
|
||||
C compliant!
|
||||
|
||||
* You need to add the directories `freetype2/include' to your
|
||||
include path when compiling the library.
|
||||
|
||||
* FreeType 2 is made of several components; each of them is located
|
||||
in a subdirectory of `freetype2/src'. For example,
|
||||
`freetype2/src/truetype/' contains the TrueType font driver.
|
||||
|
||||
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
|
||||
|
||||
-- base components (required)
|
||||
|
||||
src/base/ftsystem.c
|
||||
src/base/ftinit.c
|
||||
src/base/ftdebug.c
|
||||
|
||||
src/base/ftbase.c
|
||||
|
||||
src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
|
||||
src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
|
||||
|
||||
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
|
||||
src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
|
||||
src/base/ftcid.c -- optional, see <freetype/ftcid.h>
|
||||
src/base/ftfstype.c -- optional
|
||||
src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
|
||||
src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
|
||||
src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
|
||||
src/base/ftmm.c -- optional, see <freetype/ftmm.h>
|
||||
src/base/ftotval.c -- optional, see <freetype/ftotval.h>
|
||||
src/base/ftpatent.c -- optional
|
||||
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
|
||||
src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
|
||||
src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
|
||||
src/base/fttype1.c -- optional, see <freetype/t1tables.h>
|
||||
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
|
||||
src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
|
||||
|
||||
src/base/ftmac.c -- only on the Macintosh
|
||||
|
||||
-- font drivers (optional; at least one is needed)
|
||||
|
||||
src/bdf/bdf.c -- BDF font driver
|
||||
src/cff/cff.c -- CFF/OpenType font driver
|
||||
src/cid/type1cid.c -- Type 1 CID-keyed font driver
|
||||
src/pcf/pcf.c -- PCF font driver
|
||||
src/pfr/pfr.c -- PFR/TrueDoc font driver
|
||||
src/sfnt/sfnt.c -- SFNT files support
|
||||
(TrueType & OpenType)
|
||||
src/truetype/truetype.c -- TrueType font driver
|
||||
src/type1/type1.c -- Type 1 font driver
|
||||
src/type42/type42.c -- Type 42 font driver
|
||||
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
|
||||
|
||||
-- rasterizers (optional; at least one is needed for vector
|
||||
formats)
|
||||
|
||||
src/raster/raster.c -- monochrome rasterizer
|
||||
src/smooth/smooth.c -- anti-aliasing rasterizer
|
||||
|
||||
-- auxiliary modules (optional)
|
||||
|
||||
src/autofit/autofit.c -- auto hinting module
|
||||
src/cache/ftcache.c -- cache sub-system (in beta)
|
||||
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
|
||||
src/lzw/ftlzw.c -- support for compressed fonts (.Z)
|
||||
src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
|
||||
src/otvalid/otvalid.c -- OpenType table validation
|
||||
src/psaux/psaux.c -- PostScript Type 1 parsing
|
||||
src/pshinter/pshinter.c -- PS hinting module
|
||||
src/psnames/psnames.c -- PostScript glyph names support
|
||||
|
||||
|
||||
Notes:
|
||||
|
||||
`ftcache.c' needs `ftglyph.c'
|
||||
`ftfstype.c' needs `fttype1.c'
|
||||
`ftglyph.c' needs `ftbitmap.c'
|
||||
`ftstroke.c' needs `ftglyph.c'
|
||||
`ftsynth.c' needs `ftbitmap.c'
|
||||
|
||||
`cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
|
||||
`truetype.c' needs `sfnt.c' and `psnames.c'
|
||||
`type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
|
||||
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
|
||||
`type42.c' needs `truetype.c'
|
||||
|
||||
|
||||
Read the file `CUSTOMIZE' in case you want to compile only a subset
|
||||
of the drivers, renderers, and optional modules; a detailed
|
||||
description of the various base extension is given in the top-level
|
||||
file `modules.cfg'.
|
||||
|
||||
You are done. In case of problems, see the archives of the FreeType
|
||||
development mailing list.
|
||||
|
||||
|
||||
II. Support for flat-directory compilation
|
||||
------------------------------------------
|
||||
|
||||
It is possible to put all FreeType 2 source files into a single
|
||||
directory, with the *exception* of the `include' hierarchy.
|
||||
|
||||
1. Copy all files in current directory
|
||||
|
||||
cp freetype2/src/base/*.[hc] .
|
||||
cp freetype2/src/raster1/*.[hc] .
|
||||
cp freetype2/src/smooth/*.[hc] .
|
||||
etc.
|
||||
|
||||
2. Compile sources
|
||||
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
|
||||
etc.
|
||||
|
||||
You don't need to define the FT_FLAT_COMPILATION macro (as this
|
||||
was required in previous releases of FreeType 2).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.ANY ---
|
||||
Instructions on how to build FreeType with your own build tool
|
||||
==============================================================
|
||||
|
||||
See the file `CUSTOMIZE' to learn how to customize FreeType to
|
||||
specific environments.
|
||||
|
||||
|
||||
I. Standard procedure
|
||||
---------------------
|
||||
|
||||
* DISABLE PRE-COMPILED HEADERS! This is very important for Visual
|
||||
C++, because FreeType uses lines like:
|
||||
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
which are not correctly supported by this compiler while being ISO
|
||||
C compliant!
|
||||
|
||||
* You need to add the directories `freetype2/include' to your
|
||||
include path when compiling the library.
|
||||
|
||||
* FreeType 2 is made of several components; each of them is located
|
||||
in a subdirectory of `freetype2/src'. For example,
|
||||
`freetype2/src/truetype/' contains the TrueType font driver.
|
||||
|
||||
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
|
||||
|
||||
-- base components (required)
|
||||
|
||||
src/base/ftsystem.c
|
||||
src/base/ftinit.c
|
||||
src/base/ftdebug.c
|
||||
|
||||
src/base/ftbase.c
|
||||
|
||||
src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
|
||||
src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
|
||||
|
||||
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
|
||||
src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
|
||||
src/base/ftcid.c -- optional, see <freetype/ftcid.h>
|
||||
src/base/ftfstype.c -- optional
|
||||
src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
|
||||
src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
|
||||
src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
|
||||
src/base/ftmm.c -- optional, see <freetype/ftmm.h>
|
||||
src/base/ftotval.c -- optional, see <freetype/ftotval.h>
|
||||
src/base/ftpatent.c -- optional
|
||||
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
|
||||
src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
|
||||
src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
|
||||
src/base/fttype1.c -- optional, see <freetype/t1tables.h>
|
||||
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
|
||||
src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
|
||||
|
||||
src/base/ftmac.c -- only on the Macintosh
|
||||
|
||||
-- font drivers (optional; at least one is needed)
|
||||
|
||||
src/bdf/bdf.c -- BDF font driver
|
||||
src/cff/cff.c -- CFF/OpenType font driver
|
||||
src/cid/type1cid.c -- Type 1 CID-keyed font driver
|
||||
src/pcf/pcf.c -- PCF font driver
|
||||
src/pfr/pfr.c -- PFR/TrueDoc font driver
|
||||
src/sfnt/sfnt.c -- SFNT files support
|
||||
(TrueType & OpenType)
|
||||
src/truetype/truetype.c -- TrueType font driver
|
||||
src/type1/type1.c -- Type 1 font driver
|
||||
src/type42/type42.c -- Type 42 font driver
|
||||
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
|
||||
|
||||
-- rasterizers (optional; at least one is needed for vector
|
||||
formats)
|
||||
|
||||
src/raster/raster.c -- monochrome rasterizer
|
||||
src/smooth/smooth.c -- anti-aliasing rasterizer
|
||||
|
||||
-- auxiliary modules (optional)
|
||||
|
||||
src/autofit/autofit.c -- auto hinting module
|
||||
src/cache/ftcache.c -- cache sub-system (in beta)
|
||||
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
|
||||
src/lzw/ftlzw.c -- support for compressed fonts (.Z)
|
||||
src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
|
||||
src/otvalid/otvalid.c -- OpenType table validation
|
||||
src/psaux/psaux.c -- PostScript Type 1 parsing
|
||||
src/pshinter/pshinter.c -- PS hinting module
|
||||
src/psnames/psnames.c -- PostScript glyph names support
|
||||
|
||||
|
||||
Notes:
|
||||
|
||||
`ftcache.c' needs `ftglyph.c'
|
||||
`ftfstype.c' needs `fttype1.c'
|
||||
`ftglyph.c' needs `ftbitmap.c'
|
||||
`ftstroke.c' needs `ftglyph.c'
|
||||
`ftsynth.c' needs `ftbitmap.c'
|
||||
|
||||
`cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
|
||||
`truetype.c' needs `sfnt.c' and `psnames.c'
|
||||
`type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
|
||||
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
|
||||
`type42.c' needs `truetype.c'
|
||||
|
||||
|
||||
Read the file `CUSTOMIZE' in case you want to compile only a subset
|
||||
of the drivers, renderers, and optional modules; a detailed
|
||||
description of the various base extension is given in the top-level
|
||||
file `modules.cfg'.
|
||||
|
||||
You are done. In case of problems, see the archives of the FreeType
|
||||
development mailing list.
|
||||
|
||||
|
||||
II. Support for flat-directory compilation
|
||||
------------------------------------------
|
||||
|
||||
It is possible to put all FreeType 2 source files into a single
|
||||
directory, with the *exception* of the `include' hierarchy.
|
||||
|
||||
1. Copy all files in current directory
|
||||
|
||||
cp freetype2/src/base/*.[hc] .
|
||||
cp freetype2/src/raster1/*.[hc] .
|
||||
cp freetype2/src/smooth/*.[hc] .
|
||||
etc.
|
||||
|
||||
2. Compile sources
|
||||
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
|
||||
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
|
||||
etc.
|
||||
|
||||
You don't need to define the FT_FLAT_COMPILATION macro (as this
|
||||
was required in previous releases of FreeType 2).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.ANY ---
|
||||
|
270
components/external/freetype/docs/INSTALL.CROSS
vendored
270
components/external/freetype/docs/INSTALL.CROSS
vendored
@ -1,135 +1,135 @@
|
||||
This document contains instructions on how to cross-build the FreeType
|
||||
library on Unix systems, for example, building binaries for Linux/MIPS
|
||||
on FreeBSD/i386. Before reading this document, please consult
|
||||
INSTALL.UNIX for required tools and the basic self-building procedure.
|
||||
|
||||
|
||||
1. Required Tools
|
||||
-----------------
|
||||
|
||||
For self-building the FreeType library on a Unix system, GNU Make
|
||||
3.80 or newer is required. INSTALL.UNIX contains hints how to
|
||||
check the installed `make'.
|
||||
|
||||
The GNU C compiler to cross-build the target system is required.
|
||||
At present, using non-GNU cross compiler is not tested. The cross
|
||||
compiler is expected to be installed with a system prefix. For
|
||||
example, if your building system is FreeBSD/i386 and the target
|
||||
system is Linux/MIPS, the cross compiler should be installed with
|
||||
the name `mips-ip22-linuxelf-gcc'.
|
||||
|
||||
A C compiler for a self-build is required also, to build a tool
|
||||
that is executed during the building procedure. Non-GNU self
|
||||
compilers are acceptable, but such a setup is not tested yet.
|
||||
|
||||
|
||||
2. Configuration
|
||||
----------------
|
||||
|
||||
2.1. Building and target system
|
||||
|
||||
To configure for cross-build, the options `--host=<system>' and
|
||||
`--build=<system>' must be passed to configure. For example, if
|
||||
your building system is FreeBSD/i386 and the target system is
|
||||
Linux/MIPS, say
|
||||
|
||||
./configure \
|
||||
--build=i386-unknown-freebsd \
|
||||
--host=mips-ip22-linuxelf \
|
||||
[other options]
|
||||
|
||||
It should be noted that `--host=<system>' specifies the system
|
||||
where the built binaries will be executed, not the system where
|
||||
the build actually happens. Older versions of GNU autoconf use
|
||||
the option pair `--host=' and `--target='. This is broken and
|
||||
doesn't work. Similarly, an explicit CC specification like
|
||||
|
||||
env CC=mips-ip22-linux-gcc ./configure
|
||||
|
||||
or
|
||||
|
||||
env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
|
||||
|
||||
doesn't work either; such a configuration confuses the
|
||||
`configure' script while trying to find the cross and native C
|
||||
compilers.
|
||||
|
||||
|
||||
2.2. The prefix to install FreeType2
|
||||
|
||||
Setting `--prefix=<prefix>' properly is important. The prefix
|
||||
to install FreeType2 is written into the freetype-config script
|
||||
and freetype2.pc configuration file.
|
||||
|
||||
If the built FreeType 2 library is used as a part of the
|
||||
cross-building system, the prefix is expected to be different
|
||||
from the self-building system. For example, configuration with
|
||||
`--prefix=/usr/local' installs binaries into the system wide
|
||||
`/usr/local' directory which then can't be executed. This
|
||||
causes confusion in configuration of all applications which use
|
||||
FreeType2. Instead, use a prefix to install the cross-build
|
||||
into a separate system tree, for example,
|
||||
`--prefix=/usr/local/mips-ip22-linux/'.
|
||||
|
||||
On the other hand, if the built FreeType2 is used as a part of
|
||||
the target system, the prefix to install should reflect the file
|
||||
system structure of the target system.
|
||||
|
||||
|
||||
3. Building command
|
||||
-------------------
|
||||
|
||||
If the configuration finishes successfully, invoking GNU make
|
||||
builds FreeType2. Just say
|
||||
|
||||
make
|
||||
|
||||
or
|
||||
|
||||
gmake
|
||||
|
||||
depending on the name the GNU make binary actually has.
|
||||
|
||||
|
||||
4. Installation
|
||||
---------------
|
||||
|
||||
Saying
|
||||
|
||||
make install
|
||||
|
||||
as usual to install FreeType2 into the directory tree specified by
|
||||
the argument of the `--prefix' option.
|
||||
|
||||
As noted in section 2.2, FreeType2 is sometimes configured to be
|
||||
installed into the system directory of the target system, and
|
||||
should not be installed in the cross-building system. In such
|
||||
cases, the make variable `DESTDIR' is useful to change the root
|
||||
directory in the installation. For example, after
|
||||
|
||||
make DESTDIR=/mnt/target_system_root/ install
|
||||
|
||||
the built FreeType2 library files are installed into the directory
|
||||
`/mnt/target_system_root/<prefix_in_configure>/lib'.
|
||||
|
||||
|
||||
5. TODO
|
||||
-------
|
||||
|
||||
Cross building between Cygwin (or MSys) and Unix must be tested.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2008 by suzuki toshiya
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.CROSS ---
|
||||
This document contains instructions on how to cross-build the FreeType
|
||||
library on Unix systems, for example, building binaries for Linux/MIPS
|
||||
on FreeBSD/i386. Before reading this document, please consult
|
||||
INSTALL.UNIX for required tools and the basic self-building procedure.
|
||||
|
||||
|
||||
1. Required Tools
|
||||
-----------------
|
||||
|
||||
For self-building the FreeType library on a Unix system, GNU Make
|
||||
3.80 or newer is required. INSTALL.UNIX contains hints how to
|
||||
check the installed `make'.
|
||||
|
||||
The GNU C compiler to cross-build the target system is required.
|
||||
At present, using non-GNU cross compiler is not tested. The cross
|
||||
compiler is expected to be installed with a system prefix. For
|
||||
example, if your building system is FreeBSD/i386 and the target
|
||||
system is Linux/MIPS, the cross compiler should be installed with
|
||||
the name `mips-ip22-linuxelf-gcc'.
|
||||
|
||||
A C compiler for a self-build is required also, to build a tool
|
||||
that is executed during the building procedure. Non-GNU self
|
||||
compilers are acceptable, but such a setup is not tested yet.
|
||||
|
||||
|
||||
2. Configuration
|
||||
----------------
|
||||
|
||||
2.1. Building and target system
|
||||
|
||||
To configure for cross-build, the options `--host=<system>' and
|
||||
`--build=<system>' must be passed to configure. For example, if
|
||||
your building system is FreeBSD/i386 and the target system is
|
||||
Linux/MIPS, say
|
||||
|
||||
./configure \
|
||||
--build=i386-unknown-freebsd \
|
||||
--host=mips-ip22-linuxelf \
|
||||
[other options]
|
||||
|
||||
It should be noted that `--host=<system>' specifies the system
|
||||
where the built binaries will be executed, not the system where
|
||||
the build actually happens. Older versions of GNU autoconf use
|
||||
the option pair `--host=' and `--target='. This is broken and
|
||||
doesn't work. Similarly, an explicit CC specification like
|
||||
|
||||
env CC=mips-ip22-linux-gcc ./configure
|
||||
|
||||
or
|
||||
|
||||
env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
|
||||
|
||||
doesn't work either; such a configuration confuses the
|
||||
`configure' script while trying to find the cross and native C
|
||||
compilers.
|
||||
|
||||
|
||||
2.2. The prefix to install FreeType2
|
||||
|
||||
Setting `--prefix=<prefix>' properly is important. The prefix
|
||||
to install FreeType2 is written into the freetype-config script
|
||||
and freetype2.pc configuration file.
|
||||
|
||||
If the built FreeType 2 library is used as a part of the
|
||||
cross-building system, the prefix is expected to be different
|
||||
from the self-building system. For example, configuration with
|
||||
`--prefix=/usr/local' installs binaries into the system wide
|
||||
`/usr/local' directory which then can't be executed. This
|
||||
causes confusion in configuration of all applications which use
|
||||
FreeType2. Instead, use a prefix to install the cross-build
|
||||
into a separate system tree, for example,
|
||||
`--prefix=/usr/local/mips-ip22-linux/'.
|
||||
|
||||
On the other hand, if the built FreeType2 is used as a part of
|
||||
the target system, the prefix to install should reflect the file
|
||||
system structure of the target system.
|
||||
|
||||
|
||||
3. Building command
|
||||
-------------------
|
||||
|
||||
If the configuration finishes successfully, invoking GNU make
|
||||
builds FreeType2. Just say
|
||||
|
||||
make
|
||||
|
||||
or
|
||||
|
||||
gmake
|
||||
|
||||
depending on the name the GNU make binary actually has.
|
||||
|
||||
|
||||
4. Installation
|
||||
---------------
|
||||
|
||||
Saying
|
||||
|
||||
make install
|
||||
|
||||
as usual to install FreeType2 into the directory tree specified by
|
||||
the argument of the `--prefix' option.
|
||||
|
||||
As noted in section 2.2, FreeType2 is sometimes configured to be
|
||||
installed into the system directory of the target system, and
|
||||
should not be installed in the cross-building system. In such
|
||||
cases, the make variable `DESTDIR' is useful to change the root
|
||||
directory in the installation. For example, after
|
||||
|
||||
make DESTDIR=/mnt/target_system_root/ install
|
||||
|
||||
the built FreeType2 library files are installed into the directory
|
||||
`/mnt/target_system_root/<prefix_in_configure>/lib'.
|
||||
|
||||
|
||||
5. TODO
|
||||
-------
|
||||
|
||||
Cross building between Cygwin (or MSys) and Unix must be tested.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006, 2008 by suzuki toshiya
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.CROSS ---
|
||||
|
318
components/external/freetype/docs/INSTALL.GNU
vendored
318
components/external/freetype/docs/INSTALL.GNU
vendored
@ -1,159 +1,159 @@
|
||||
This document contains instructions how to build the FreeType library
|
||||
on non-Unix systems with the help of GNU Make. Note that if you are
|
||||
running Cygwin or MSys in Windows, you should follow the instructions
|
||||
in the file INSTALL.UNIX instead.
|
||||
|
||||
|
||||
FreeType 2 includes a powerful and flexible build system that allows
|
||||
you to easily compile it on a great variety of platforms from the
|
||||
command line. To do so, just follow these simple instructions.
|
||||
|
||||
1. Install GNU Make
|
||||
-------------------
|
||||
|
||||
Because GNU Make is the only Make tool supported to compile
|
||||
FreeType 2, you should install it on your machine.
|
||||
|
||||
The FreeType 2 build system relies on many features special to GNU
|
||||
Make.
|
||||
|
||||
NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY
|
||||
INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
|
||||
|
||||
Note that make++, a make tool written in Perl, supports enough
|
||||
features of GNU make to compile FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
Make sure that you are invoking GNU Make from the command line, by
|
||||
typing something like:
|
||||
|
||||
make -v
|
||||
|
||||
to display its version number.
|
||||
|
||||
VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
2. Invoke `make'
|
||||
----------------
|
||||
|
||||
Go to the root directory of FreeType 2, then simply invoke GNU
|
||||
Make from the command line. This will launch the FreeType 2 host
|
||||
platform detection routines. A summary will be displayed, for
|
||||
example, on Win32.
|
||||
|
||||
|
||||
==============================================================
|
||||
FreeType build system -- automatic system detection
|
||||
|
||||
The following settings are used:
|
||||
|
||||
platform win32
|
||||
compiler gcc
|
||||
configuration directory .\builds\win32
|
||||
configuration rules .\builds\win32\w32-gcc.mk
|
||||
|
||||
If this does not correspond to your system or settings please
|
||||
remove the file 'config.mk' from this directory then read the
|
||||
INSTALL file for help.
|
||||
|
||||
Otherwise, simply type 'make' again to build the library
|
||||
or 'make refdoc' to build the API reference (the latter needs
|
||||
python).
|
||||
=============================================================
|
||||
|
||||
|
||||
If the detected settings correspond to your platform and compiler,
|
||||
skip to step 5. Note that if your platform is completely alien to
|
||||
the build system, the detected platform will be `ansi'.
|
||||
|
||||
|
||||
3. Configure the build system for a different compiler
|
||||
------------------------------------------------------
|
||||
|
||||
If the build system correctly detected your platform, but you want
|
||||
to use a different compiler than the one specified in the summary
|
||||
(for most platforms, gcc is the default compiler), invoke GNU Make
|
||||
with
|
||||
|
||||
make setup <compiler>
|
||||
|
||||
Examples:
|
||||
|
||||
to use Visual C++ on Win32, type: `make setup visualc'
|
||||
to use Borland C++ on Win32, type `make setup bcc32'
|
||||
to use Watcom C++ on Win32, type `make setup watcom'
|
||||
to use Intel C++ on Win32, type `make setup intelc'
|
||||
to use LCC-Win32 on Win32, type: `make setup lcc'
|
||||
to use Watcom C++ on OS/2, type `make setup watcom'
|
||||
to use VisualAge C++ on OS/2, type `make setup visualage'
|
||||
|
||||
The <compiler> name to use is platform-dependent. The list of
|
||||
available compilers for your system is available in the file
|
||||
`builds/<system>/detect.mk'.
|
||||
|
||||
If you are satisfied by the new configuration summary, skip to
|
||||
step 5.
|
||||
|
||||
|
||||
4. Configure the build system for an unknown platform/compiler
|
||||
--------------------------------------------------------------
|
||||
|
||||
The auto-detection/setup phase of the build system copies a file
|
||||
to the current directory under the name `config.mk'.
|
||||
|
||||
For example, on OS/2+gcc, it would simply copy
|
||||
`builds/os2/os2-gcc.mk' to `./config.mk'.
|
||||
|
||||
If for some reason your platform isn't correctly detected, copy
|
||||
manually the configuration sub-makefile to `./config.mk' and go to
|
||||
step 5.
|
||||
|
||||
Note that this file is a sub-Makefile used to specify Make
|
||||
variables for compiler and linker invocation during the build.
|
||||
You can easily create your own version from one of the existing
|
||||
configuration files, then copy it to the current directory under
|
||||
the name `./config.mk'.
|
||||
|
||||
|
||||
5. Build the library
|
||||
--------------------
|
||||
|
||||
The auto-detection/setup phase should have copied a file in the
|
||||
current directory, called `./config.mk'. This file contains
|
||||
definitions of various Make variables used to invoke the compiler
|
||||
and linker during the build. [It has also generated a file called
|
||||
`ftmodule.h' in the objects directory (which is normally
|
||||
`<toplevel>/objs/'); please read the file `docs/CUSTOMIZE' for
|
||||
customization of FreeType.]
|
||||
|
||||
To launch the build, simply invoke GNU Make again: The top
|
||||
Makefile will detect the configuration file and run the build with
|
||||
it.
|
||||
|
||||
|
||||
Final note
|
||||
|
||||
The build system builds a statically linked library of the font
|
||||
engine in the `objs' directory. It does _not_ support the build
|
||||
of DLLs on Windows and OS/2. If you need these, you have to
|
||||
either use an IDE-specific project file, or follow the
|
||||
instructions in `INSTALL.ANY' to create your own Makefiles.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.GNU ---
|
||||
This document contains instructions how to build the FreeType library
|
||||
on non-Unix systems with the help of GNU Make. Note that if you are
|
||||
running Cygwin or MSys in Windows, you should follow the instructions
|
||||
in the file INSTALL.UNIX instead.
|
||||
|
||||
|
||||
FreeType 2 includes a powerful and flexible build system that allows
|
||||
you to easily compile it on a great variety of platforms from the
|
||||
command line. To do so, just follow these simple instructions.
|
||||
|
||||
1. Install GNU Make
|
||||
-------------------
|
||||
|
||||
Because GNU Make is the only Make tool supported to compile
|
||||
FreeType 2, you should install it on your machine.
|
||||
|
||||
The FreeType 2 build system relies on many features special to GNU
|
||||
Make.
|
||||
|
||||
NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY
|
||||
INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
|
||||
|
||||
Note that make++, a make tool written in Perl, supports enough
|
||||
features of GNU make to compile FreeType. See
|
||||
|
||||
http://makepp.sourceforge.net
|
||||
|
||||
for more information; you need version 1.19 or newer, and you must
|
||||
pass option `--norc-substitution'.
|
||||
|
||||
Make sure that you are invoking GNU Make from the command line, by
|
||||
typing something like:
|
||||
|
||||
make -v
|
||||
|
||||
to display its version number.
|
||||
|
||||
VERSION 3.80 OR NEWER IS NEEDED!
|
||||
|
||||
|
||||
2. Invoke `make'
|
||||
----------------
|
||||
|
||||
Go to the root directory of FreeType 2, then simply invoke GNU
|
||||
Make from the command line. This will launch the FreeType 2 host
|
||||
platform detection routines. A summary will be displayed, for
|
||||
example, on Win32.
|
||||
|
||||
|
||||
==============================================================
|
||||
FreeType build system -- automatic system detection
|
||||
|
||||
The following settings are used:
|
||||
|
||||
platform win32
|
||||
compiler gcc
|
||||
configuration directory .\builds\win32
|
||||
configuration rules .\builds\win32\w32-gcc.mk
|
||||
|
||||
If this does not correspond to your system or settings please
|
||||
remove the file 'config.mk' from this directory then read the
|
||||
INSTALL file for help.
|
||||
|
||||
Otherwise, simply type 'make' again to build the library
|
||||
or 'make refdoc' to build the API reference (the latter needs
|
||||
python).
|
||||
=============================================================
|
||||
|
||||
|
||||
If the detected settings correspond to your platform and compiler,
|
||||
skip to step 5. Note that if your platform is completely alien to
|
||||
the build system, the detected platform will be `ansi'.
|
||||
|
||||
|
||||
3. Configure the build system for a different compiler
|
||||
------------------------------------------------------
|
||||
|
||||
If the build system correctly detected your platform, but you want
|
||||
to use a different compiler than the one specified in the summary
|
||||
(for most platforms, gcc is the default compiler), invoke GNU Make
|
||||
with
|
||||
|
||||
make setup <compiler>
|
||||
|
||||
Examples:
|
||||
|
||||
to use Visual C++ on Win32, type: `make setup visualc'
|
||||
to use Borland C++ on Win32, type `make setup bcc32'
|
||||
to use Watcom C++ on Win32, type `make setup watcom'
|
||||
to use Intel C++ on Win32, type `make setup intelc'
|
||||
to use LCC-Win32 on Win32, type: `make setup lcc'
|
||||
to use Watcom C++ on OS/2, type `make setup watcom'
|
||||
to use VisualAge C++ on OS/2, type `make setup visualage'
|
||||
|
||||
The <compiler> name to use is platform-dependent. The list of
|
||||
available compilers for your system is available in the file
|
||||
`builds/<system>/detect.mk'.
|
||||
|
||||
If you are satisfied by the new configuration summary, skip to
|
||||
step 5.
|
||||
|
||||
|
||||
4. Configure the build system for an unknown platform/compiler
|
||||
--------------------------------------------------------------
|
||||
|
||||
The auto-detection/setup phase of the build system copies a file
|
||||
to the current directory under the name `config.mk'.
|
||||
|
||||
For example, on OS/2+gcc, it would simply copy
|
||||
`builds/os2/os2-gcc.mk' to `./config.mk'.
|
||||
|
||||
If for some reason your platform isn't correctly detected, copy
|
||||
manually the configuration sub-makefile to `./config.mk' and go to
|
||||
step 5.
|
||||
|
||||
Note that this file is a sub-Makefile used to specify Make
|
||||
variables for compiler and linker invocation during the build.
|
||||
You can easily create your own version from one of the existing
|
||||
configuration files, then copy it to the current directory under
|
||||
the name `./config.mk'.
|
||||
|
||||
|
||||
5. Build the library
|
||||
--------------------
|
||||
|
||||
The auto-detection/setup phase should have copied a file in the
|
||||
current directory, called `./config.mk'. This file contains
|
||||
definitions of various Make variables used to invoke the compiler
|
||||
and linker during the build. [It has also generated a file called
|
||||
`ftmodule.h' in the objects directory (which is normally
|
||||
`<toplevel>/objs/'); please read the file `docs/CUSTOMIZE' for
|
||||
customization of FreeType.]
|
||||
|
||||
To launch the build, simply invoke GNU Make again: The top
|
||||
Makefile will detect the configuration file and run the build with
|
||||
it.
|
||||
|
||||
|
||||
Final note
|
||||
|
||||
The build system builds a statically linked library of the font
|
||||
engine in the `objs' directory. It does _not_ support the build
|
||||
of DLLs on Windows and OS/2. If you need these, you have to
|
||||
either use an IDE-specific project file, or follow the
|
||||
instructions in `INSTALL.ANY' to create your own Makefiles.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2008 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.GNU ---
|
||||
|
64
components/external/freetype/docs/INSTALL.MAC
vendored
64
components/external/freetype/docs/INSTALL.MAC
vendored
@ -1,32 +1,32 @@
|
||||
Please follow the instructions in INSTALL.UNIX to install FreeType on
|
||||
Mac OS X.
|
||||
|
||||
Currently FreeType2 functions based on some deprecated Carbon APIs
|
||||
return FT_Err_Unimplemented_Feature always, even if FreeType2 is
|
||||
configured and built on the system that deprecated Carbon APIs are
|
||||
available. To enable deprecated FreeType2 functions as far as possible,
|
||||
replace src/base/ftmac.c by builds/mac/ftmac.c.
|
||||
|
||||
Starting with Mac OS X 10.5, gcc defaults the deployment target
|
||||
to 10.5. In previous versions of Mac OS X, this defaulted to 10.1.
|
||||
If you want your built binaries to run only on 10.5, this change
|
||||
does not concern you. If you want them to also run on older versions
|
||||
of Mac OS X, then you must either set the MACOSX_DEPLOYMENT_TARGET
|
||||
environment variable or pass -mmacosx-version-min to gcc. You should
|
||||
specify the oldest version of Mac OS you want the code to run on.
|
||||
For example, if you use Bourne shell:
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.2
|
||||
|
||||
or, if you use C shell:
|
||||
|
||||
setenv MACOSX_DEPLOYMENT_TARGET 10.2
|
||||
|
||||
Alternatively, you could pass "-mmacosx-version-min=10.2" to gcc.
|
||||
|
||||
Here the number 10.2 is the lowest version that the built binaries
|
||||
can run on. In the cases in above, the built binaries will run on
|
||||
Mac OS X 10.2 and later, but _not_ earlier. If you want to run on
|
||||
earlier, you have to set lower version, e.g. 10.0.
|
||||
|
||||
For classic Mac OS (Mac OS 7, 8, 9) please refer to builds/mac/README.
|
||||
Please follow the instructions in INSTALL.UNIX to install FreeType on
|
||||
Mac OS X.
|
||||
|
||||
Currently FreeType2 functions based on some deprecated Carbon APIs
|
||||
return FT_Err_Unimplemented_Feature always, even if FreeType2 is
|
||||
configured and built on the system that deprecated Carbon APIs are
|
||||
available. To enable deprecated FreeType2 functions as far as possible,
|
||||
replace src/base/ftmac.c by builds/mac/ftmac.c.
|
||||
|
||||
Starting with Mac OS X 10.5, gcc defaults the deployment target
|
||||
to 10.5. In previous versions of Mac OS X, this defaulted to 10.1.
|
||||
If you want your built binaries to run only on 10.5, this change
|
||||
does not concern you. If you want them to also run on older versions
|
||||
of Mac OS X, then you must either set the MACOSX_DEPLOYMENT_TARGET
|
||||
environment variable or pass -mmacosx-version-min to gcc. You should
|
||||
specify the oldest version of Mac OS you want the code to run on.
|
||||
For example, if you use Bourne shell:
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.2
|
||||
|
||||
or, if you use C shell:
|
||||
|
||||
setenv MACOSX_DEPLOYMENT_TARGET 10.2
|
||||
|
||||
Alternatively, you could pass "-mmacosx-version-min=10.2" to gcc.
|
||||
|
||||
Here the number 10.2 is the lowest version that the built binaries
|
||||
can run on. In the cases in above, the built binaries will run on
|
||||
Mac OS X 10.2 and later, but _not_ earlier. If you want to run on
|
||||
earlier, you have to set lower version, e.g. 10.0.
|
||||
|
||||
For classic Mac OS (Mac OS 7, 8, 9) please refer to builds/mac/README.
|
||||
|
192
components/external/freetype/docs/INSTALL.UNIX
vendored
192
components/external/freetype/docs/INSTALL.UNIX
vendored
@ -1,96 +1,96 @@
|
||||
This document contains instructions on how to build the FreeType
|
||||
library on Unix systems. This also works for emulations like Cygwin
|
||||
or MSys on Win32:
|
||||
|
||||
|
||||
1. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make. You
|
||||
will not be able to compile the library with the instructions
|
||||
below using any other alternative (including BSD Make).
|
||||
|
||||
Check that you have GNU make by running the command:
|
||||
|
||||
make -v
|
||||
|
||||
This should dump some text that begins with:
|
||||
|
||||
GNU Make <version number>
|
||||
Copyright (C) <year> Free Software Foundation Inc.
|
||||
|
||||
Note that version 3.80 or higher is *required* or the build will
|
||||
fail.
|
||||
|
||||
It is also fine to have GNU Make under another name (e.g. 'gmake')
|
||||
if you use the GNUMAKE variable as described below.
|
||||
|
||||
As a special exception, 'makepp' can also be used to build
|
||||
FreeType 2. See the file docs/MAKEPP for details.
|
||||
|
||||
|
||||
2. Regenerate the configure script if needed
|
||||
--------------------------------------------
|
||||
|
||||
This only applies if you are building a CVS snapshot or checkout,
|
||||
*not* if you grabbed the sources of an official release.
|
||||
|
||||
You need to invoke the `autogen.sh' script in the top-level
|
||||
directory in order to create the `configure' script for your
|
||||
platform. Normally, this simply means typing:
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
In case of problems, you may need to install or upgrade Automake,
|
||||
Autoconf or Libtool. See README.CVS in the top-level directory
|
||||
for more information.
|
||||
|
||||
|
||||
3. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure [options]
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
The default installation path is `/usr/local'. It can be changed
|
||||
with the `--prefix=<path>' option. Example:
|
||||
|
||||
./configure --prefix=/usr
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure [options]
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
If this still doesn't work, there must be a problem with your
|
||||
system (e.g., you are using a very old version of GNU Make).
|
||||
|
||||
It is possible to compile FreeType in a different directory.
|
||||
Assuming the FreeType source files in directory `/src/freetype' a
|
||||
compilation in directory `foo' works as follows:
|
||||
|
||||
cd foo
|
||||
/src/freetype/configure [options]
|
||||
make
|
||||
make install
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.UNIX ---
|
||||
This document contains instructions on how to build the FreeType
|
||||
library on Unix systems. This also works for emulations like Cygwin
|
||||
or MSys on Win32:
|
||||
|
||||
|
||||
1. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make. You
|
||||
will not be able to compile the library with the instructions
|
||||
below using any other alternative (including BSD Make).
|
||||
|
||||
Check that you have GNU make by running the command:
|
||||
|
||||
make -v
|
||||
|
||||
This should dump some text that begins with:
|
||||
|
||||
GNU Make <version number>
|
||||
Copyright (C) <year> Free Software Foundation Inc.
|
||||
|
||||
Note that version 3.80 or higher is *required* or the build will
|
||||
fail.
|
||||
|
||||
It is also fine to have GNU Make under another name (e.g. 'gmake')
|
||||
if you use the GNUMAKE variable as described below.
|
||||
|
||||
As a special exception, 'makepp' can also be used to build
|
||||
FreeType 2. See the file docs/MAKEPP for details.
|
||||
|
||||
|
||||
2. Regenerate the configure script if needed
|
||||
--------------------------------------------
|
||||
|
||||
This only applies if you are building a CVS snapshot or checkout,
|
||||
*not* if you grabbed the sources of an official release.
|
||||
|
||||
You need to invoke the `autogen.sh' script in the top-level
|
||||
directory in order to create the `configure' script for your
|
||||
platform. Normally, this simply means typing:
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
In case of problems, you may need to install or upgrade Automake,
|
||||
Autoconf or Libtool. See README.CVS in the top-level directory
|
||||
for more information.
|
||||
|
||||
|
||||
3. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure [options]
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
The default installation path is `/usr/local'. It can be changed
|
||||
with the `--prefix=<path>' option. Example:
|
||||
|
||||
./configure --prefix=/usr
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure [options]
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
If this still doesn't work, there must be a problem with your
|
||||
system (e.g., you are using a very old version of GNU Make).
|
||||
|
||||
It is possible to compile FreeType in a different directory.
|
||||
Assuming the FreeType source files in directory `/src/freetype' a
|
||||
compilation in directory `foo' works as follows:
|
||||
|
||||
cd foo
|
||||
/src/freetype/configure [options]
|
||||
make
|
||||
make install
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.UNIX ---
|
||||
|
124
components/external/freetype/docs/INSTALL.VMS
vendored
124
components/external/freetype/docs/INSTALL.VMS
vendored
@ -1,62 +1,62 @@
|
||||
How to build the freetype2 library on VMS
|
||||
-----------------------------------------
|
||||
|
||||
It is actually very straightforward to install the Freetype2 library.
|
||||
Just execute vms_make.com from the toplevel directory to build the
|
||||
library. This procedure currently accepts the following options:
|
||||
|
||||
DEBUG
|
||||
Build the library with debug information and without optimization.
|
||||
|
||||
lopts=<value>
|
||||
Options to pass to the link command e.g. lopts=/traceback
|
||||
|
||||
ccopt=<value>
|
||||
Options to pass to the C compiler e.g. ccopt=/float=ieee
|
||||
|
||||
In case you did download the demos, place them in a separate directory
|
||||
sharing the same toplevel as the directory of Freetype2 and follow the
|
||||
same instructions as above for the demos from there. The build
|
||||
process relies on this to figure the location of the Freetype2 include
|
||||
files.
|
||||
|
||||
|
||||
To rebuild the sources it is necessary to have MMS/MMK installed on
|
||||
the system.
|
||||
|
||||
The library is available in the directory
|
||||
|
||||
[.LIB]
|
||||
|
||||
To compile applications using FreeType 2 you have to define the
|
||||
logical FREETYPE pointing to the directory
|
||||
|
||||
[.INCLUDE.FREETYPE]
|
||||
|
||||
i.e., if the directory in which this INSTALL.VMS file is located is
|
||||
$disk:[freetype] then define the logical with
|
||||
|
||||
define freetype $disk:[freetype.include.freetype]
|
||||
|
||||
This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
|
||||
V7.2-1.
|
||||
|
||||
|
||||
Any problems can be reported to
|
||||
|
||||
Jouk Jansen <joukj@hrem.stm.tudelft.nl> or
|
||||
Martin P.J. Zinser <zinser@zinser.no-ip.info>
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2004 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.VMS ---
|
||||
How to build the freetype2 library on VMS
|
||||
-----------------------------------------
|
||||
|
||||
It is actually very straightforward to install the Freetype2 library.
|
||||
Just execute vms_make.com from the toplevel directory to build the
|
||||
library. This procedure currently accepts the following options:
|
||||
|
||||
DEBUG
|
||||
Build the library with debug information and without optimization.
|
||||
|
||||
lopts=<value>
|
||||
Options to pass to the link command e.g. lopts=/traceback
|
||||
|
||||
ccopt=<value>
|
||||
Options to pass to the C compiler e.g. ccopt=/float=ieee
|
||||
|
||||
In case you did download the demos, place them in a separate directory
|
||||
sharing the same toplevel as the directory of Freetype2 and follow the
|
||||
same instructions as above for the demos from there. The build
|
||||
process relies on this to figure the location of the Freetype2 include
|
||||
files.
|
||||
|
||||
|
||||
To rebuild the sources it is necessary to have MMS/MMK installed on
|
||||
the system.
|
||||
|
||||
The library is available in the directory
|
||||
|
||||
[.LIB]
|
||||
|
||||
To compile applications using FreeType 2 you have to define the
|
||||
logical FREETYPE pointing to the directory
|
||||
|
||||
[.INCLUDE.FREETYPE]
|
||||
|
||||
i.e., if the directory in which this INSTALL.VMS file is located is
|
||||
$disk:[freetype] then define the logical with
|
||||
|
||||
define freetype $disk:[freetype.include.freetype]
|
||||
|
||||
This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
|
||||
V7.2-1.
|
||||
|
||||
|
||||
Any problems can be reported to
|
||||
|
||||
Jouk Jansen <joukj@hrem.stm.tudelft.nl> or
|
||||
Martin P.J. Zinser <zinser@zinser.no-ip.info>
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2000, 2004 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of INSTALL.VMS ---
|
||||
|
10
components/external/freetype/docs/MAKEPP
vendored
10
components/external/freetype/docs/MAKEPP
vendored
@ -1,5 +1,5 @@
|
||||
As a special exception, FreeType can also be built with the 'makepp'
|
||||
build tool, available from http://makepp.sourceforge.net.
|
||||
|
||||
Note, however. that you will need at least version 1.19 and pass the
|
||||
option --norc-substitution to have it work correctly.
|
||||
As a special exception, FreeType can also be built with the 'makepp'
|
||||
build tool, available from http://makepp.sourceforge.net.
|
||||
|
||||
Note, however. that you will need at least version 1.19 and pass the
|
||||
option --norc-substitution to have it work correctly.
|
||||
|
54
components/external/freetype/docs/PATENTS
vendored
54
components/external/freetype/docs/PATENTS
vendored
@ -1,27 +1,27 @@
|
||||
|
||||
FreeType Patents Disclaimer
|
||||
August 1999
|
||||
|
||||
|
||||
|
||||
WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE
|
||||
RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF
|
||||
FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER
|
||||
COUNTRIES, BE IT IN PROPRIETARY OR FREE SOFTWARE PRODUCTS.
|
||||
|
||||
FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE
|
||||
PATENTS PAGE AT THE FOLLOWING WEB ADDRESS:
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL
|
||||
UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE
|
||||
CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR
|
||||
ANSWER ON THE SUBJECT.
|
||||
|
||||
PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S
|
||||
BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE
|
||||
COST OF RENDERING QUALITY.
|
||||
|
||||
|
||||
--- end of PATENTS ---
|
||||
|
||||
FreeType Patents Disclaimer
|
||||
August 1999
|
||||
|
||||
|
||||
|
||||
WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE
|
||||
RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF
|
||||
FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER
|
||||
COUNTRIES, BE IT IN PROPRIETARY OR FREE SOFTWARE PRODUCTS.
|
||||
|
||||
FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE
|
||||
PATENTS PAGE AT THE FOLLOWING WEB ADDRESS:
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL
|
||||
UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE
|
||||
CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR
|
||||
ANSWER ON THE SUBJECT.
|
||||
|
||||
PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S
|
||||
BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE
|
||||
COST OF RENDERING QUALITY.
|
||||
|
||||
|
||||
--- end of PATENTS ---
|
||||
|
154
components/external/freetype/docs/PROBLEMS
vendored
154
components/external/freetype/docs/PROBLEMS
vendored
@ -1,77 +1,77 @@
|
||||
This file describes various problems that have been encountered in
|
||||
compiling, installing and running FreeType 2. Suggestions for
|
||||
additions or other improvements to this file are welcome.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Running Problems
|
||||
================
|
||||
|
||||
|
||||
* Some Type 1, Multiple Masters, and CID-keyed PostScript fonts aren't
|
||||
handled correctly.
|
||||
|
||||
-----
|
||||
|
||||
Of course, there might be bugs in FreeType, but some fonts based on
|
||||
the PostScript format can't behandled indeed. The reason is that
|
||||
FreeType doesn't contain a full PostScript interpreter but applies
|
||||
pattern matching instead. In case a font doesn't follow the standard
|
||||
structure of the given font format, FreeType fails. A typical example
|
||||
is Adobe's `Optima' font family which contains extra code to switch
|
||||
between low and high resolution versions of the glyphs.
|
||||
|
||||
It might be possible to patch FreeType in some situations, though.
|
||||
Please report failing fonts so that we investigate the problem and set
|
||||
up a list of such problematic fonts.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
Compilation Problems
|
||||
====================
|
||||
|
||||
|
||||
* I get an `internal compilation error' (ICE) while compiling FreeType
|
||||
2.2.1 with Intel C++.
|
||||
|
||||
This has been reported for the following compiler version:
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
|
||||
|
||||
-----
|
||||
|
||||
The best solution is to update the compiler to version
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022
|
||||
|
||||
or newer. If this isn't feasible, apply the following patch.
|
||||
|
||||
|
||||
--- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20
|
||||
+++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000
|
||||
@@ -252,7 +252,7 @@
|
||||
*/
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
+ FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
{
|
||||
{
|
||||
sizeof ( FTC_BasicFamilyRec ),
|
||||
@@ -266,7 +266,7 @@
|
||||
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
+ FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
{
|
||||
{
|
||||
ftc_inode_new,
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
--- end of PROBLEMS ---
|
||||
This file describes various problems that have been encountered in
|
||||
compiling, installing and running FreeType 2. Suggestions for
|
||||
additions or other improvements to this file are welcome.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Running Problems
|
||||
================
|
||||
|
||||
|
||||
* Some Type 1, Multiple Masters, and CID-keyed PostScript fonts aren't
|
||||
handled correctly.
|
||||
|
||||
-----
|
||||
|
||||
Of course, there might be bugs in FreeType, but some fonts based on
|
||||
the PostScript format can't behandled indeed. The reason is that
|
||||
FreeType doesn't contain a full PostScript interpreter but applies
|
||||
pattern matching instead. In case a font doesn't follow the standard
|
||||
structure of the given font format, FreeType fails. A typical example
|
||||
is Adobe's `Optima' font family which contains extra code to switch
|
||||
between low and high resolution versions of the glyphs.
|
||||
|
||||
It might be possible to patch FreeType in some situations, though.
|
||||
Please report failing fonts so that we investigate the problem and set
|
||||
up a list of such problematic fonts.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
Compilation Problems
|
||||
====================
|
||||
|
||||
|
||||
* I get an `internal compilation error' (ICE) while compiling FreeType
|
||||
2.2.1 with Intel C++.
|
||||
|
||||
This has been reported for the following compiler version:
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
|
||||
|
||||
-----
|
||||
|
||||
The best solution is to update the compiler to version
|
||||
|
||||
Intel(R) C++ Compiler for 32-bit applications,
|
||||
Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022
|
||||
|
||||
or newer. If this isn't feasible, apply the following patch.
|
||||
|
||||
|
||||
--- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20
|
||||
+++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000
|
||||
@@ -252,7 +252,7 @@
|
||||
*/
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
+ FTC_IFamilyClassRec ftc_basic_image_family_class =
|
||||
{
|
||||
{
|
||||
sizeof ( FTC_BasicFamilyRec ),
|
||||
@@ -266,7 +266,7 @@
|
||||
|
||||
|
||||
FT_CALLBACK_TABLE_DEF
|
||||
- const FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
+ FTC_GCacheClassRec ftc_basic_image_cache_class =
|
||||
{
|
||||
{
|
||||
ftc_inode_new,
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
--- end of PROBLEMS ---
|
||||
|
80
components/external/freetype/docs/TODO
vendored
80
components/external/freetype/docs/TODO
vendored
@ -1,40 +1,40 @@
|
||||
Here is a list of items that need to be addressed in FreeType 2
|
||||
---------------------------------------------------------------
|
||||
|
||||
* Implement stem3/counter hints properly in the Postscript hinter.
|
||||
|
||||
* Add CIDCMap support to the CID driver.
|
||||
|
||||
* Add track kerning support to the PFR driver.
|
||||
|
||||
* Add kerning (AFM file) support to the CID driver.
|
||||
|
||||
|
||||
Here is a list of bugs which should be handled
|
||||
----------------------------------------------
|
||||
|
||||
Other bugs have been registered at the savannah bugzilla of FreeType.
|
||||
|
||||
* CID driver:
|
||||
Handle the case where a CID font has a top-level font matrix also
|
||||
(see PLRM, 5.11.3, Type 0 CIDFonts). Since CID_FaceInfoRec lacks
|
||||
a font_matrix entry we have to directly apply it to all subfont
|
||||
matrices.
|
||||
|
||||
* CID driver:
|
||||
Use top-level font matrix entry for setting the upem value, not the
|
||||
entries in the FDarray. If absent, use 1000.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TODO ---
|
||||
Here is a list of items that need to be addressed in FreeType 2
|
||||
---------------------------------------------------------------
|
||||
|
||||
* Implement stem3/counter hints properly in the Postscript hinter.
|
||||
|
||||
* Add CIDCMap support to the CID driver.
|
||||
|
||||
* Add track kerning support to the PFR driver.
|
||||
|
||||
* Add kerning (AFM file) support to the CID driver.
|
||||
|
||||
|
||||
Here is a list of bugs which should be handled
|
||||
----------------------------------------------
|
||||
|
||||
Other bugs have been registered at the savannah bugzilla of FreeType.
|
||||
|
||||
* CID driver:
|
||||
Handle the case where a CID font has a top-level font matrix also
|
||||
(see PLRM, 5.11.3, Type 0 CIDFonts). Since CID_FaceInfoRec lacks
|
||||
a font_matrix entry we have to directly apply it to all subfont
|
||||
matrices.
|
||||
|
||||
* CID driver:
|
||||
Use top-level font matrix entry for setting the upem value, not the
|
||||
entries in the FDarray. If absent, use 1000.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TODO ---
|
||||
|
80
components/external/freetype/docs/TRUETYPE
vendored
80
components/external/freetype/docs/TRUETYPE
vendored
@ -1,40 +1,40 @@
|
||||
How to enable the TrueType native hinter if you need it
|
||||
-------------------------------------------------------
|
||||
|
||||
The TrueType bytecode interpreter is disabled in all public releases
|
||||
of the FreeType packages for patents reasons; see
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
for more details.
|
||||
|
||||
However, many Linux distributions do enable the interpreter in the
|
||||
FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
|
||||
you are using TrueType fonts on your system, you most probably want to
|
||||
enable it manually by doing the following:
|
||||
|
||||
- open the file `include/freetype/config/ftoption.h'
|
||||
|
||||
- locate a line that says:
|
||||
|
||||
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||
|
||||
- change it to:
|
||||
|
||||
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
These steps must be done _before_ compiling the library.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TRUETYPE ---
|
||||
How to enable the TrueType native hinter if you need it
|
||||
-------------------------------------------------------
|
||||
|
||||
The TrueType bytecode interpreter is disabled in all public releases
|
||||
of the FreeType packages for patents reasons; see
|
||||
|
||||
http://www.freetype.org/patents.html
|
||||
|
||||
for more details.
|
||||
|
||||
However, many Linux distributions do enable the interpreter in the
|
||||
FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
|
||||
you are using TrueType fonts on your system, you most probably want to
|
||||
enable it manually by doing the following:
|
||||
|
||||
- open the file `include/freetype/config/ftoption.h'
|
||||
|
||||
- locate a line that says:
|
||||
|
||||
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||
|
||||
- change it to:
|
||||
|
||||
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
These steps must be done _before_ compiling the library.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of TRUETYPE ---
|
||||
|
274
components/external/freetype/docs/UPGRADE.UNIX
vendored
274
components/external/freetype/docs/UPGRADE.UNIX
vendored
@ -1,137 +1,137 @@
|
||||
|
||||
SPECIAL NOTE FOR UNIX USERS
|
||||
===========================
|
||||
|
||||
If you are installing this release of FreeType on a system that
|
||||
already uses release 2.0.5 (or even an older version), you have to
|
||||
perform a few special steps to ensure that everything goes well.
|
||||
|
||||
|
||||
1. Enable the TrueType bytecode hinter if you need it
|
||||
-----------------------------------------------------
|
||||
|
||||
See the instructions in the file `TRUETYPE' of this directory.
|
||||
|
||||
Note that FreeType supports TrueType fonts without the bytecode
|
||||
interpreter through its auto-hinter, which now generates relatively
|
||||
good results with most fonts.
|
||||
|
||||
|
||||
2. Determine the correct installation path
|
||||
------------------------------------------
|
||||
|
||||
By default, the configure script installs the library in
|
||||
`/usr/local'. However, many Unix distributions now install the
|
||||
library in `/usr', since FreeType is becoming a critical system
|
||||
component.
|
||||
|
||||
If FreeType is already installed on your system, type
|
||||
|
||||
freetype-config --prefix
|
||||
|
||||
on the command line. This should return the installation path
|
||||
(e.g., `/usr' or `/usr/local'). To avoid problems of parallel
|
||||
FreeType versions, use this path for the --prefix option of the
|
||||
configure script.
|
||||
|
||||
Otherwise, simply use `/usr' (or whatever you think is adequate for
|
||||
your installation).
|
||||
|
||||
|
||||
3. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make (as an
|
||||
exception you can use make++ which emulates GNU Make sufficiently;
|
||||
see http://makepp.sourceforge.net). You will not be able to compile
|
||||
the library with the instructions below using any other alternative
|
||||
(including BSD Make).
|
||||
|
||||
Trying to compile the library with a different Make tool prints a
|
||||
message like:
|
||||
|
||||
Sorry, GNU make is required to build FreeType2.
|
||||
|
||||
and the build process is aborted. If this happens, install GNU Make
|
||||
on your system, and use the GNUMAKE environment variable to name it.
|
||||
|
||||
|
||||
4. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure --prefix=<yourprefix>
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
where `<yourprefix>' must be replaced by the prefix returned by the
|
||||
`freetype-config' command.
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure --prefix=<yourprefix>
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
|
||||
5. Take care of XFree86 version 4
|
||||
---------------------------------
|
||||
|
||||
Certain Linux distributions install _several_ versions of FreeType
|
||||
on your system. For example, on a fresh Mandrake 8.1 system, you
|
||||
can find the following files:
|
||||
|
||||
/usr/lib/libfreetype.so which links to
|
||||
/usr/lib/libfreetype.6.1.0.so
|
||||
|
||||
and
|
||||
|
||||
/usr/X11R6/lib/libfreetype.so which links to
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
Note that these files correspond to two distinct versions of the
|
||||
library! It seems that this surprising issue is due to the install
|
||||
scripts of recent XFree86 servers (from 4.1.0) which install their
|
||||
own (dated) version of the library in `/usr/X11R6/lib'.
|
||||
|
||||
In certain _rare_ cases you may experience minor problems if you
|
||||
install this release of the library in `/usr' only, namely, that
|
||||
certain applications do not benefit from the bug fixes and rendering
|
||||
improvements you would expect.
|
||||
|
||||
There are two good ways to deal with this situation:
|
||||
|
||||
- Install the library _twice_, in `/usr' and in `/usr/X11R6' (you
|
||||
have to do that each time you install a new FreeType release
|
||||
though).
|
||||
|
||||
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
|
||||
|
||||
/usr/lib/libfreetype.so,
|
||||
|
||||
and get rid of
|
||||
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
The FreeType Team is not responsible for this problem, so please
|
||||
contact either the XFree86 development team or your Linux
|
||||
distributor to help clear this issue in case the information given
|
||||
here doesn't help.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
---- end of UPGRADE.UNIX ---
|
||||
|
||||
SPECIAL NOTE FOR UNIX USERS
|
||||
===========================
|
||||
|
||||
If you are installing this release of FreeType on a system that
|
||||
already uses release 2.0.5 (or even an older version), you have to
|
||||
perform a few special steps to ensure that everything goes well.
|
||||
|
||||
|
||||
1. Enable the TrueType bytecode hinter if you need it
|
||||
-----------------------------------------------------
|
||||
|
||||
See the instructions in the file `TRUETYPE' of this directory.
|
||||
|
||||
Note that FreeType supports TrueType fonts without the bytecode
|
||||
interpreter through its auto-hinter, which now generates relatively
|
||||
good results with most fonts.
|
||||
|
||||
|
||||
2. Determine the correct installation path
|
||||
------------------------------------------
|
||||
|
||||
By default, the configure script installs the library in
|
||||
`/usr/local'. However, many Unix distributions now install the
|
||||
library in `/usr', since FreeType is becoming a critical system
|
||||
component.
|
||||
|
||||
If FreeType is already installed on your system, type
|
||||
|
||||
freetype-config --prefix
|
||||
|
||||
on the command line. This should return the installation path
|
||||
(e.g., `/usr' or `/usr/local'). To avoid problems of parallel
|
||||
FreeType versions, use this path for the --prefix option of the
|
||||
configure script.
|
||||
|
||||
Otherwise, simply use `/usr' (or whatever you think is adequate for
|
||||
your installation).
|
||||
|
||||
|
||||
3. Ensure that you are using GNU Make
|
||||
-------------------------------------
|
||||
|
||||
The FreeType build system _exclusively_ works with GNU Make (as an
|
||||
exception you can use make++ which emulates GNU Make sufficiently;
|
||||
see http://makepp.sourceforge.net). You will not be able to compile
|
||||
the library with the instructions below using any other alternative
|
||||
(including BSD Make).
|
||||
|
||||
Trying to compile the library with a different Make tool prints a
|
||||
message like:
|
||||
|
||||
Sorry, GNU make is required to build FreeType2.
|
||||
|
||||
and the build process is aborted. If this happens, install GNU Make
|
||||
on your system, and use the GNUMAKE environment variable to name it.
|
||||
|
||||
|
||||
4. Build and install the library
|
||||
--------------------------------
|
||||
|
||||
The following should work on all Unix systems where the `make'
|
||||
command invokes GNU Make:
|
||||
|
||||
./configure --prefix=<yourprefix>
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
where `<yourprefix>' must be replaced by the prefix returned by the
|
||||
`freetype-config' command.
|
||||
|
||||
When using a different command to invoke GNU Make, use the GNUMAKE
|
||||
variable. For example, if `gmake' is the command to use on your
|
||||
system, do something like:
|
||||
|
||||
GNUMAKE=gmake ./configure --prefix=<yourprefix>
|
||||
gmake
|
||||
gmake install (as root)
|
||||
|
||||
|
||||
5. Take care of XFree86 version 4
|
||||
---------------------------------
|
||||
|
||||
Certain Linux distributions install _several_ versions of FreeType
|
||||
on your system. For example, on a fresh Mandrake 8.1 system, you
|
||||
can find the following files:
|
||||
|
||||
/usr/lib/libfreetype.so which links to
|
||||
/usr/lib/libfreetype.6.1.0.so
|
||||
|
||||
and
|
||||
|
||||
/usr/X11R6/lib/libfreetype.so which links to
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
Note that these files correspond to two distinct versions of the
|
||||
library! It seems that this surprising issue is due to the install
|
||||
scripts of recent XFree86 servers (from 4.1.0) which install their
|
||||
own (dated) version of the library in `/usr/X11R6/lib'.
|
||||
|
||||
In certain _rare_ cases you may experience minor problems if you
|
||||
install this release of the library in `/usr' only, namely, that
|
||||
certain applications do not benefit from the bug fixes and rendering
|
||||
improvements you would expect.
|
||||
|
||||
There are two good ways to deal with this situation:
|
||||
|
||||
- Install the library _twice_, in `/usr' and in `/usr/X11R6' (you
|
||||
have to do that each time you install a new FreeType release
|
||||
though).
|
||||
|
||||
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
|
||||
|
||||
/usr/lib/libfreetype.so,
|
||||
|
||||
and get rid of
|
||||
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
The FreeType Team is not responsible for this problem, so please
|
||||
contact either the XFree86 development team or your Linux
|
||||
distributor to help clear this issue in case the information given
|
||||
here doesn't help.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
---- end of UPGRADE.UNIX ---
|
||||
|
276
components/external/freetype/docs/VERSION.DLL
vendored
276
components/external/freetype/docs/VERSION.DLL
vendored
@ -1,138 +1,138 @@
|
||||
Due to our use of `libtool' to generate and install the FreeType 2
|
||||
libraries on Unix systems, as well as other historical events, it is
|
||||
generally very difficult to know precisely which release of the font
|
||||
engine is installed on a given system.
|
||||
|
||||
This file tries to explain why and to document ways to properly detect
|
||||
FreeType on Unix.
|
||||
|
||||
|
||||
1. Version and Release numbers
|
||||
------------------------------
|
||||
|
||||
For each new public release of FreeType 2, there are generally *three*
|
||||
distinct `version' numbers to consider:
|
||||
|
||||
* The official FreeType 2 release number, like 2.0.9 or 2.1.3.
|
||||
|
||||
* The libtool (and Unix) specific version number, like 9.2.3. This is
|
||||
what `freetype-config --version' returns.
|
||||
|
||||
* The platform-specific shared object number, used for example when
|
||||
the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
|
||||
|
||||
The platform-specific number is, unsurprisingly, platform-specific and
|
||||
varies with the operating system you are using (several variants of
|
||||
Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
|
||||
for simple tests.
|
||||
|
||||
The libtool-specific number does not equal the release number but is
|
||||
tied to it.
|
||||
|
||||
The release number is available at *compile* time through the following
|
||||
macros defined in FT_FREETYPE_H:
|
||||
|
||||
- FREETYPE_MAJOR: major release number
|
||||
- FREETYPE_MINOR: minor release number
|
||||
- FREETYPE_PATCH: patch release number
|
||||
|
||||
See below for a small autoconf fragment.
|
||||
|
||||
The release number is also available at *runtime* through the
|
||||
`FT_Library_Version' API. Unfortunately, this one wasn't available or
|
||||
working correctly before the 2.1.3 official release.
|
||||
|
||||
|
||||
2. History
|
||||
----------
|
||||
|
||||
The following table gives, for each official release, the corresponding
|
||||
libtool number, as well as the shared object number found on _most_
|
||||
systems, but not all of them:
|
||||
|
||||
|
||||
release libtool so
|
||||
-------------------------------
|
||||
2.3.12 10.0.4 6.4.0
|
||||
2.3.11 9.22.3 6.3.22
|
||||
2.3.10 9.21.3 6.3.21
|
||||
2.3.9 9.20.3 6.3.20
|
||||
2.3.8 9.19.3 6.3.19
|
||||
2.3.7 9.18.3 6.3.18
|
||||
2.3.6 9.17.3 6.3.17
|
||||
2.3.5 9.16.3 6.3.16
|
||||
2.3.4 9.15.3 6.3.15
|
||||
2.3.3 9.14.3 6.3.14
|
||||
2.3.2 9.13.3 6.3.13
|
||||
2.3.1 9.12.3 6.3.12
|
||||
2.3.0 9.11.3 6.3.11
|
||||
2.2.1 9.10.3 6.3.10
|
||||
2.2.0 9.9.3 6.3.9
|
||||
2.1.10 9.8.3 6.3.8
|
||||
2.1.9 9.7.3 6.3.7
|
||||
2.1.8 9.6.3 6.3.6
|
||||
2.1.7 9.5.3 6.3.5
|
||||
2.1.6 9.5.3 6.3.5
|
||||
2.1.5 9.4.3 6.3.4
|
||||
2.1.4 9.3.3 6.3.3
|
||||
2.1.3 9.2.3 6.3.2
|
||||
2.1.2 9.1.3 6.3.1
|
||||
2.1.1 9.0.3 ?
|
||||
2.1.0 8.0.2 ?
|
||||
2.0.9 9.0.3 ?
|
||||
2.0.8 8.0.2 ?
|
||||
2.0.4 7.0.1 ?
|
||||
2.0.1 6.1.0 ?
|
||||
|
||||
The libtool numbers are a bit inconsistent due to the library's history:
|
||||
|
||||
- 2.1.0 was created as a development branch from 2.0.8 (hence the same
|
||||
libtool numbers).
|
||||
|
||||
- 2.0.9 was a bug-fix release of the `stable' branch, and we
|
||||
incorrectly increased its libtool number.
|
||||
|
||||
- 2.1.4 was a development version, however it was stable enough to be
|
||||
the basis of the 2.2.0 release.
|
||||
|
||||
|
||||
3. Autoconf Code Fragment
|
||||
-------------------------
|
||||
|
||||
Lars Clausen contributed the following autoconf fragment to detect which
|
||||
version of FreeType is installed on a system. This one tests for a
|
||||
version that is at least 2.0.9; you should change it to check against
|
||||
other release numbers.
|
||||
|
||||
|
||||
AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
|
||||
old_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS=`freetype-config --cflags`
|
||||
AC_TRY_CPP([
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
|
||||
#error Freetype version too low.
|
||||
#endif
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
FREETYPE_LIBS=`freetype-config --libs`
|
||||
AC_SUBST(FREETYPE_LIBS)
|
||||
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
|
||||
CPPFLAGS="$old_CPPFLAGS"],
|
||||
[AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of VERSION.DLL ---
|
||||
Due to our use of `libtool' to generate and install the FreeType 2
|
||||
libraries on Unix systems, as well as other historical events, it is
|
||||
generally very difficult to know precisely which release of the font
|
||||
engine is installed on a given system.
|
||||
|
||||
This file tries to explain why and to document ways to properly detect
|
||||
FreeType on Unix.
|
||||
|
||||
|
||||
1. Version and Release numbers
|
||||
------------------------------
|
||||
|
||||
For each new public release of FreeType 2, there are generally *three*
|
||||
distinct `version' numbers to consider:
|
||||
|
||||
* The official FreeType 2 release number, like 2.0.9 or 2.1.3.
|
||||
|
||||
* The libtool (and Unix) specific version number, like 9.2.3. This is
|
||||
what `freetype-config --version' returns.
|
||||
|
||||
* The platform-specific shared object number, used for example when
|
||||
the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
|
||||
|
||||
The platform-specific number is, unsurprisingly, platform-specific and
|
||||
varies with the operating system you are using (several variants of
|
||||
Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
|
||||
for simple tests.
|
||||
|
||||
The libtool-specific number does not equal the release number but is
|
||||
tied to it.
|
||||
|
||||
The release number is available at *compile* time through the following
|
||||
macros defined in FT_FREETYPE_H:
|
||||
|
||||
- FREETYPE_MAJOR: major release number
|
||||
- FREETYPE_MINOR: minor release number
|
||||
- FREETYPE_PATCH: patch release number
|
||||
|
||||
See below for a small autoconf fragment.
|
||||
|
||||
The release number is also available at *runtime* through the
|
||||
`FT_Library_Version' API. Unfortunately, this one wasn't available or
|
||||
working correctly before the 2.1.3 official release.
|
||||
|
||||
|
||||
2. History
|
||||
----------
|
||||
|
||||
The following table gives, for each official release, the corresponding
|
||||
libtool number, as well as the shared object number found on _most_
|
||||
systems, but not all of them:
|
||||
|
||||
|
||||
release libtool so
|
||||
-------------------------------
|
||||
2.3.12 10.0.4 6.4.0
|
||||
2.3.11 9.22.3 6.3.22
|
||||
2.3.10 9.21.3 6.3.21
|
||||
2.3.9 9.20.3 6.3.20
|
||||
2.3.8 9.19.3 6.3.19
|
||||
2.3.7 9.18.3 6.3.18
|
||||
2.3.6 9.17.3 6.3.17
|
||||
2.3.5 9.16.3 6.3.16
|
||||
2.3.4 9.15.3 6.3.15
|
||||
2.3.3 9.14.3 6.3.14
|
||||
2.3.2 9.13.3 6.3.13
|
||||
2.3.1 9.12.3 6.3.12
|
||||
2.3.0 9.11.3 6.3.11
|
||||
2.2.1 9.10.3 6.3.10
|
||||
2.2.0 9.9.3 6.3.9
|
||||
2.1.10 9.8.3 6.3.8
|
||||
2.1.9 9.7.3 6.3.7
|
||||
2.1.8 9.6.3 6.3.6
|
||||
2.1.7 9.5.3 6.3.5
|
||||
2.1.6 9.5.3 6.3.5
|
||||
2.1.5 9.4.3 6.3.4
|
||||
2.1.4 9.3.3 6.3.3
|
||||
2.1.3 9.2.3 6.3.2
|
||||
2.1.2 9.1.3 6.3.1
|
||||
2.1.1 9.0.3 ?
|
||||
2.1.0 8.0.2 ?
|
||||
2.0.9 9.0.3 ?
|
||||
2.0.8 8.0.2 ?
|
||||
2.0.4 7.0.1 ?
|
||||
2.0.1 6.1.0 ?
|
||||
|
||||
The libtool numbers are a bit inconsistent due to the library's history:
|
||||
|
||||
- 2.1.0 was created as a development branch from 2.0.8 (hence the same
|
||||
libtool numbers).
|
||||
|
||||
- 2.0.9 was a bug-fix release of the `stable' branch, and we
|
||||
incorrectly increased its libtool number.
|
||||
|
||||
- 2.1.4 was a development version, however it was stable enough to be
|
||||
the basis of the 2.2.0 release.
|
||||
|
||||
|
||||
3. Autoconf Code Fragment
|
||||
-------------------------
|
||||
|
||||
Lars Clausen contributed the following autoconf fragment to detect which
|
||||
version of FreeType is installed on a system. This one tests for a
|
||||
version that is at least 2.0.9; you should change it to check against
|
||||
other release numbers.
|
||||
|
||||
|
||||
AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
|
||||
old_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS=`freetype-config --cflags`
|
||||
AC_TRY_CPP([
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
|
||||
#error Freetype version too low.
|
||||
#endif
|
||||
],
|
||||
[AC_MSG_RESULT(yes)
|
||||
FREETYPE_LIBS=`freetype-config --libs`
|
||||
AC_SUBST(FREETYPE_LIBS)
|
||||
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
|
||||
CPPFLAGS="$old_CPPFLAGS"],
|
||||
[AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
||||
file you indicate that you have read the license and understand and
|
||||
accept it fully.
|
||||
|
||||
|
||||
--- end of VERSION.DLL ---
|
||||
|
@ -1 +1 @@
|
||||
*.html
|
||||
*.html
|
||||
|
@ -1,5 +1,5 @@
|
||||
After saying `make refdoc' this directory contains the FreeType API
|
||||
reference. You need python to make this target.
|
||||
|
||||
This also works with Jam: Just type `jam refdoc' in the main directory.
|
||||
|
||||
After saying `make refdoc' this directory contains the FreeType API
|
||||
reference. You need python to make this target.
|
||||
|
||||
This also works with Jam: Just type `jam refdoc' in the main directory.
|
||||
|
||||
|
390
components/external/freetype/docs/release
vendored
390
components/external/freetype/docs/release
vendored
@ -1,195 +1,195 @@
|
||||
How to prepare a new release
|
||||
----------------------------
|
||||
|
||||
. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
|
||||
and FREETYPE_PATCH.
|
||||
|
||||
. Update version numbers in all files where necessary (for example, do
|
||||
a grep for both `2.3.1' and `231' for release 2.3.1).
|
||||
|
||||
. builds/unix/configure.raw: Update `version_info'.
|
||||
|
||||
. docs/CHANGES: Document differences to last release.
|
||||
|
||||
. README: Update.
|
||||
|
||||
. docs/VERSION.DLL: Document changed `version_info'.
|
||||
|
||||
. ChangeLog: Announce new release (both in the freetype2 and
|
||||
freetype2-demos modules).
|
||||
|
||||
. Clone the git archive to another directory with
|
||||
|
||||
git clone -l -s . ../freetype2.test
|
||||
|
||||
or something like this and run
|
||||
|
||||
make distclean; make devel; make
|
||||
make distclean; make devel; make multi
|
||||
make distclean; make devel CC=g++; make CC=g++
|
||||
make distclean; make devel CC=g++; make multi CC=g++
|
||||
|
||||
sh autogen.sh
|
||||
make distclean; ./configure; make
|
||||
make distclean; ./configure CC=g++; make
|
||||
|
||||
in the cloned repository to test compilation with both gcc and g++.
|
||||
|
||||
. Test C++ compilation for freetype2-demos too (using `git clone' as
|
||||
above).
|
||||
|
||||
. Run src/tools/chktrcmp.py and check that there are no undefined
|
||||
trace_XXXX macros.
|
||||
|
||||
. Tag the git repositories (freetype2, freetype2-demos) with
|
||||
|
||||
git tag VER-<version> -m "" -u <committer>
|
||||
|
||||
and push the tags with
|
||||
|
||||
git push --tags
|
||||
|
||||
TODO: Tag the home page CVS on savannah.nongnu.org.
|
||||
|
||||
. Say `make dist' in both the freetype2 and freetype2-demos modules
|
||||
to generate the .tar.gz, .tar.bz2, and .zip files.
|
||||
|
||||
. Create the doc bundles (freetype-doc-<version>.tar.gz,
|
||||
freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
|
||||
everything below
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
|
||||
|
||||
except the `reference' subdirectory. Do *not* use option `-l' from
|
||||
zip!
|
||||
|
||||
. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
|
||||
and $SOURCEFORGE_USER variables) to sign and upload the bundles to
|
||||
both Savannah and SourceForge. The signing code has been taken from
|
||||
the `gnupload' script (part of the automake bundle).
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
VERSION=2.3.11
|
||||
SAVANNAH_USER=wl
|
||||
SOURCEFORGE_USER=wlemb
|
||||
|
||||
#####################################################################
|
||||
|
||||
GPG='/usr/bin/gpg --batch --no-tty'
|
||||
|
||||
version=`echo $VERSION | sed "s/\\.//g"`
|
||||
|
||||
FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
|
||||
freetype-$VERSION.tar.bz2 \
|
||||
ft$version.zip"
|
||||
FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
|
||||
ft2demos-$VERSION.tar.bz2 \
|
||||
ftdmo$version.zip"
|
||||
FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
|
||||
freetype-doc-$VERSION.tar.bz2 \
|
||||
ftdoc$version.zip"
|
||||
|
||||
PACKAGE_LIST="$FREETYPE_PACKAGES \
|
||||
$FT2DEMOS_PACKAGES \
|
||||
$FTDOC_PACKAGES"
|
||||
|
||||
set -e
|
||||
unset passphrase
|
||||
|
||||
PATH=/empty echo -n "Enter GPG passphrase: "
|
||||
stty -echo
|
||||
read -r passphrase
|
||||
stty echo
|
||||
echo
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
if test ! -f $f; then
|
||||
echo "$0: Cannot find \`$f'" 1>&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
done
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
echo "Signing $f..."
|
||||
rm -f $f.sig
|
||||
echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
|
||||
done
|
||||
|
||||
FREETYPE_SIGNATURES=
|
||||
for i in $FREETYPE_PACKAGES; do
|
||||
FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FT2DEMOS_SIGNATURES=
|
||||
for i in $FT2DEMOS_PACKAGES; do
|
||||
FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FTDOC_SIGNATURES=
|
||||
for i in $FTDOC_PACKAGES; do
|
||||
FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
SIGNATURE_LIST="$FREETYPE_SIGNATURES \
|
||||
$FT2DEMOS_SIGNATURES \
|
||||
$FTDOC_SIGNATURES"
|
||||
|
||||
scp $PACKAGE_LIST $SIGNATURE_LIST \
|
||||
$SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
|
||||
|
||||
rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
|
||||
rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
|
||||
rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
|
||||
|
||||
# EOF
|
||||
|
||||
. While files on savannah.gnu.org are automatically moved to the right
|
||||
directory, it must be done manually on SourceForge. Do that now.
|
||||
|
||||
. Update the FreeType release notes on SourceForge.
|
||||
|
||||
. Copy the reference files (generated by `make dist') to
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
|
||||
|
||||
and
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
|
||||
|
||||
TODO: Create FreeType home page CVS on savannah.nongnu.org and
|
||||
update it accordingly.
|
||||
|
||||
Write script to automatically do this.
|
||||
|
||||
Mirror FreeType's savannah home page everywhere.
|
||||
|
||||
. Update
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
|
||||
|
||||
and copy it to
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
|
||||
|
||||
. Announce new release on freetype-announce@nongnu.org and to relevant
|
||||
newsgroups.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2007, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of release ---
|
||||
How to prepare a new release
|
||||
----------------------------
|
||||
|
||||
. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
|
||||
and FREETYPE_PATCH.
|
||||
|
||||
. Update version numbers in all files where necessary (for example, do
|
||||
a grep for both `2.3.1' and `231' for release 2.3.1).
|
||||
|
||||
. builds/unix/configure.raw: Update `version_info'.
|
||||
|
||||
. docs/CHANGES: Document differences to last release.
|
||||
|
||||
. README: Update.
|
||||
|
||||
. docs/VERSION.DLL: Document changed `version_info'.
|
||||
|
||||
. ChangeLog: Announce new release (both in the freetype2 and
|
||||
freetype2-demos modules).
|
||||
|
||||
. Clone the git archive to another directory with
|
||||
|
||||
git clone -l -s . ../freetype2.test
|
||||
|
||||
or something like this and run
|
||||
|
||||
make distclean; make devel; make
|
||||
make distclean; make devel; make multi
|
||||
make distclean; make devel CC=g++; make CC=g++
|
||||
make distclean; make devel CC=g++; make multi CC=g++
|
||||
|
||||
sh autogen.sh
|
||||
make distclean; ./configure; make
|
||||
make distclean; ./configure CC=g++; make
|
||||
|
||||
in the cloned repository to test compilation with both gcc and g++.
|
||||
|
||||
. Test C++ compilation for freetype2-demos too (using `git clone' as
|
||||
above).
|
||||
|
||||
. Run src/tools/chktrcmp.py and check that there are no undefined
|
||||
trace_XXXX macros.
|
||||
|
||||
. Tag the git repositories (freetype2, freetype2-demos) with
|
||||
|
||||
git tag VER-<version> -m "" -u <committer>
|
||||
|
||||
and push the tags with
|
||||
|
||||
git push --tags
|
||||
|
||||
TODO: Tag the home page CVS on savannah.nongnu.org.
|
||||
|
||||
. Say `make dist' in both the freetype2 and freetype2-demos modules
|
||||
to generate the .tar.gz, .tar.bz2, and .zip files.
|
||||
|
||||
. Create the doc bundles (freetype-doc-<version>.tar.gz,
|
||||
freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
|
||||
everything below
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
|
||||
|
||||
except the `reference' subdirectory. Do *not* use option `-l' from
|
||||
zip!
|
||||
|
||||
. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
|
||||
and $SOURCEFORGE_USER variables) to sign and upload the bundles to
|
||||
both Savannah and SourceForge. The signing code has been taken from
|
||||
the `gnupload' script (part of the automake bundle).
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
VERSION=2.3.11
|
||||
SAVANNAH_USER=wl
|
||||
SOURCEFORGE_USER=wlemb
|
||||
|
||||
#####################################################################
|
||||
|
||||
GPG='/usr/bin/gpg --batch --no-tty'
|
||||
|
||||
version=`echo $VERSION | sed "s/\\.//g"`
|
||||
|
||||
FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
|
||||
freetype-$VERSION.tar.bz2 \
|
||||
ft$version.zip"
|
||||
FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
|
||||
ft2demos-$VERSION.tar.bz2 \
|
||||
ftdmo$version.zip"
|
||||
FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
|
||||
freetype-doc-$VERSION.tar.bz2 \
|
||||
ftdoc$version.zip"
|
||||
|
||||
PACKAGE_LIST="$FREETYPE_PACKAGES \
|
||||
$FT2DEMOS_PACKAGES \
|
||||
$FTDOC_PACKAGES"
|
||||
|
||||
set -e
|
||||
unset passphrase
|
||||
|
||||
PATH=/empty echo -n "Enter GPG passphrase: "
|
||||
stty -echo
|
||||
read -r passphrase
|
||||
stty echo
|
||||
echo
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
if test ! -f $f; then
|
||||
echo "$0: Cannot find \`$f'" 1>&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
done
|
||||
|
||||
for f in $PACKAGE_LIST; do
|
||||
echo "Signing $f..."
|
||||
rm -f $f.sig
|
||||
echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
|
||||
done
|
||||
|
||||
FREETYPE_SIGNATURES=
|
||||
for i in $FREETYPE_PACKAGES; do
|
||||
FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FT2DEMOS_SIGNATURES=
|
||||
for i in $FT2DEMOS_PACKAGES; do
|
||||
FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
FTDOC_SIGNATURES=
|
||||
for i in $FTDOC_PACKAGES; do
|
||||
FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
|
||||
done
|
||||
|
||||
SIGNATURE_LIST="$FREETYPE_SIGNATURES \
|
||||
$FT2DEMOS_SIGNATURES \
|
||||
$FTDOC_SIGNATURES"
|
||||
|
||||
scp $PACKAGE_LIST $SIGNATURE_LIST \
|
||||
$SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
|
||||
|
||||
rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
|
||||
rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
|
||||
rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
|
||||
$SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
|
||||
|
||||
# EOF
|
||||
|
||||
. While files on savannah.gnu.org are automatically moved to the right
|
||||
directory, it must be done manually on SourceForge. Do that now.
|
||||
|
||||
. Update the FreeType release notes on SourceForge.
|
||||
|
||||
. Copy the reference files (generated by `make dist') to
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
|
||||
|
||||
and
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
|
||||
|
||||
TODO: Create FreeType home page CVS on savannah.nongnu.org and
|
||||
update it accordingly.
|
||||
|
||||
Write script to automatically do this.
|
||||
|
||||
Mirror FreeType's savannah home page everywhere.
|
||||
|
||||
. Update
|
||||
|
||||
freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
|
||||
|
||||
and copy it to
|
||||
|
||||
shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
|
||||
|
||||
. Announce new release on freetype-announce@nongnu.org and to relevant
|
||||
newsgroups.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2007, 2009 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of release ---
|
||||
|
500
components/external/freetype/modules.cfg
vendored
500
components/external/freetype/modules.cfg
vendored
@ -1,250 +1,250 @@
|
||||
# modules.cfg
|
||||
#
|
||||
# Copyright 2005, 2006, 2007, 2009 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
#
|
||||
# In case you compile the FreeType library with GNU make or makepp, this
|
||||
# file controls which components are built into the library. Otherwise,
|
||||
# please read this file for information on the various modules and its
|
||||
# dependencies, then follow the instructions in the file `docs/INSTALL.ANY'.
|
||||
#
|
||||
# To deactivate a module, simply comment out the corresponding line. To
|
||||
# activate a module, remove the comment character.
|
||||
#
|
||||
# Note that many modules and components are further controlled with macros
|
||||
# in the file `include/freetype/config/ftoption.h'.
|
||||
|
||||
|
||||
####
|
||||
#### font modules -- at least one is required
|
||||
####
|
||||
#### The order given here (from top to down) is the order used for testing
|
||||
#### font formats in the compiled library.
|
||||
####
|
||||
|
||||
# TrueType font driver.
|
||||
#
|
||||
# This driver needs the `sfnt' module.
|
||||
FONT_MODULES += truetype
|
||||
|
||||
# PostScript Type 1 font driver.
|
||||
#
|
||||
# This driver needs the `psaux', `pshinter', and `psnames' modules.
|
||||
FONT_MODULES += type1
|
||||
|
||||
# CFF/OpenType font driver.
|
||||
#
|
||||
# This driver needs the `sfnt', `pshinter', and `psnames' modules.
|
||||
FONT_MODULES += cff
|
||||
|
||||
# Type 1 CID-keyed font driver.
|
||||
#
|
||||
# This driver needs the `psaux', `pshinter', and `psnames' modules.
|
||||
FONT_MODULES += cid
|
||||
|
||||
# PFR/TrueDoc font driver. See optional extension ftpfr.c below also.
|
||||
FONT_MODULES += pfr
|
||||
|
||||
# PostScript Type 42 font driver.
|
||||
#
|
||||
# This driver needs the `truetype' module.
|
||||
FONT_MODULES += type42
|
||||
|
||||
# Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
|
||||
# also.
|
||||
FONT_MODULES += winfonts
|
||||
|
||||
# PCF font driver.
|
||||
FONT_MODULES += pcf
|
||||
|
||||
# BDF font driver. See optional extension ftbdf.c below also.
|
||||
FONT_MODULES += bdf
|
||||
|
||||
# SFNT files support. If used without `truetype' or `cff', it supports
|
||||
# bitmap-only fonts within an SFNT wrapper.
|
||||
#
|
||||
# This driver needs the `psnames' module.
|
||||
FONT_MODULES += sfnt
|
||||
|
||||
|
||||
####
|
||||
#### hinting modules
|
||||
####
|
||||
|
||||
# FreeType's auto hinter.
|
||||
HINTING_MODULES += autofit
|
||||
|
||||
# PostScript hinter.
|
||||
HINTING_MODULES += pshinter
|
||||
|
||||
# The TrueType hinting engine doesn't have a module of its own but is
|
||||
# controlled in file include/freetype/config/ftoption.h
|
||||
# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
|
||||
|
||||
|
||||
####
|
||||
#### raster modules -- at least one is required for vector font formats
|
||||
####
|
||||
|
||||
# Monochrome rasterizer.
|
||||
RASTER_MODULES += raster
|
||||
|
||||
# Anti-aliasing rasterizer.
|
||||
RASTER_MODULES += smooth
|
||||
|
||||
|
||||
####
|
||||
#### auxiliary modules
|
||||
####
|
||||
|
||||
# FreeType's cache sub-system (quite stable but still in beta -- this means
|
||||
# that its public API is subject to change if necessary). See
|
||||
# include/freetype/ftcache.h. Needs ftglyph.c.
|
||||
AUX_MODULES += cache
|
||||
|
||||
# TrueType GX/AAT table validation. Needs ftgxval.c below.
|
||||
# AUX_MODULES += gxvalid
|
||||
|
||||
# Support for streams compressed with gzip (files with suffix .gz).
|
||||
#
|
||||
# See include/freetype/ftgzip.h for the API.
|
||||
AUX_MODULES += gzip
|
||||
|
||||
# Support for streams compressed with LZW (files with suffix .Z).
|
||||
#
|
||||
# See include/freetype/ftlzw.h for the API.
|
||||
AUX_MODULES += lzw
|
||||
|
||||
# OpenType table validation. Needs ftotval.c below.
|
||||
#
|
||||
# AUX_MODULES += otvalid
|
||||
|
||||
# Auxiliary PostScript driver component to share common code.
|
||||
#
|
||||
# This module depends on `psnames'.
|
||||
AUX_MODULES += psaux
|
||||
|
||||
# Support for PostScript glyph names.
|
||||
#
|
||||
# This module can be controlled in ftconfig.h
|
||||
# (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
|
||||
AUX_MODULES += psnames
|
||||
|
||||
|
||||
####
|
||||
#### base module extensions
|
||||
####
|
||||
|
||||
# Exact bounding box calculation.
|
||||
#
|
||||
# See include/freetype/ftbbox.h for the API.
|
||||
BASE_EXTENSIONS += ftbbox.c
|
||||
|
||||
# Access BDF-specific strings. Needs BDF font driver.
|
||||
#
|
||||
# See include/freetype/ftbdf.h for the API.
|
||||
BASE_EXTENSIONS += ftbdf.c
|
||||
|
||||
# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
|
||||
# 8bpp format, and for emboldening of bitmap glyphs.
|
||||
#
|
||||
# See include/freetype/ftbitmap.h for the API.
|
||||
BASE_EXTENSIONS += ftbitmap.c
|
||||
|
||||
# Access CID font information.
|
||||
#
|
||||
# See include/freetype/ftcid.h for the API.
|
||||
BASE_EXTENSIONS += ftcid.c
|
||||
|
||||
# Access FSType information. Needs fttype1.c.
|
||||
#
|
||||
# See include/freetype/freetype.h for the API.
|
||||
BASE_EXTENSIONS += ftfstype.c
|
||||
|
||||
# Support for GASP table queries.
|
||||
#
|
||||
# See include/freetype/ftgasp.h for the API.
|
||||
BASE_EXTENSIONS += ftgasp.c
|
||||
|
||||
# Convenience functions to handle glyphs. Needs ftbitmap.c.
|
||||
#
|
||||
# See include/freetype/ftglyph.h for the API.
|
||||
BASE_EXTENSIONS += ftglyph.c
|
||||
|
||||
# Interface for gxvalid module.
|
||||
#
|
||||
# See include/freetype/ftgxval.h for the API.
|
||||
BASE_EXTENSIONS += ftgxval.c
|
||||
|
||||
# Support for LCD color filtering of subpixel bitmaps.
|
||||
#
|
||||
# See include/freetype/ftlcdfil.h for the API.
|
||||
BASE_EXTENSIONS += ftlcdfil.c
|
||||
|
||||
# Multiple Master font interface.
|
||||
#
|
||||
# See include/freetype/ftmm.h for the API.
|
||||
BASE_EXTENSIONS += ftmm.c
|
||||
|
||||
# Interface for otvalid module.
|
||||
#
|
||||
# See include/freetype/ftotval.h for the API.
|
||||
BASE_EXTENSIONS += ftotval.c
|
||||
|
||||
# Support for FT_Face_CheckTrueTypePatents.
|
||||
#
|
||||
# See include/freetype/freetype.h for the API.
|
||||
BASE_EXTENSIONS += ftpatent.c
|
||||
|
||||
# Interface for accessing PFR-specific data. Needs PFR font driver.
|
||||
#
|
||||
# See include/freetype/ftpfr.h for the API.
|
||||
BASE_EXTENSIONS += ftpfr.c
|
||||
|
||||
# Path stroker. Needs ftglyph.c.
|
||||
#
|
||||
# See include/freetype/ftstroke.h for the API.
|
||||
BASE_EXTENSIONS += ftstroke.c
|
||||
|
||||
# Support for synthetic embolding and slanting of fonts. Needs ftbitmap.c.
|
||||
#
|
||||
# See include/freetype/ftsynth.h for the API.
|
||||
BASE_EXTENSIONS += ftsynth.c
|
||||
|
||||
# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
|
||||
# fonts.
|
||||
#
|
||||
# See include/freetype/t1tables.h for the API.
|
||||
BASE_EXTENSIONS += fttype1.c
|
||||
|
||||
# Interface for accessing data specific to Windows FNT files. Needs winfnt
|
||||
# driver.
|
||||
#
|
||||
# See include/freetype/ftwinfnt.h for the API.
|
||||
BASE_EXTENSIONS += ftwinfnt.c
|
||||
|
||||
# Support functions for X11.
|
||||
#
|
||||
# See include/freetype/ftxf86.h for the API.
|
||||
BASE_EXTENSIONS += ftxf86.c
|
||||
|
||||
####
|
||||
#### The components `ftsystem.c' (for memory allocation and stream I/O
|
||||
#### management) and `ftdebug.c' (for emitting debug messages to the user)
|
||||
#### are controlled with the following variables.
|
||||
####
|
||||
#### ftsystem.c: $(FTSYS_SRC)
|
||||
#### ftdebug.c: $(FTDEBUG_SRC)
|
||||
####
|
||||
#### Please refer to docs/CUSTOMIZE for details.
|
||||
####
|
||||
|
||||
|
||||
# EOF
|
||||
# modules.cfg
|
||||
#
|
||||
# Copyright 2005, 2006, 2007, 2009 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
#
|
||||
# In case you compile the FreeType library with GNU make or makepp, this
|
||||
# file controls which components are built into the library. Otherwise,
|
||||
# please read this file for information on the various modules and its
|
||||
# dependencies, then follow the instructions in the file `docs/INSTALL.ANY'.
|
||||
#
|
||||
# To deactivate a module, simply comment out the corresponding line. To
|
||||
# activate a module, remove the comment character.
|
||||
#
|
||||
# Note that many modules and components are further controlled with macros
|
||||
# in the file `include/freetype/config/ftoption.h'.
|
||||
|
||||
|
||||
####
|
||||
#### font modules -- at least one is required
|
||||
####
|
||||
#### The order given here (from top to down) is the order used for testing
|
||||
#### font formats in the compiled library.
|
||||
####
|
||||
|
||||
# TrueType font driver.
|
||||
#
|
||||
# This driver needs the `sfnt' module.
|
||||
FONT_MODULES += truetype
|
||||
|
||||
# PostScript Type 1 font driver.
|
||||
#
|
||||
# This driver needs the `psaux', `pshinter', and `psnames' modules.
|
||||
FONT_MODULES += type1
|
||||
|
||||
# CFF/OpenType font driver.
|
||||
#
|
||||
# This driver needs the `sfnt', `pshinter', and `psnames' modules.
|
||||
FONT_MODULES += cff
|
||||
|
||||
# Type 1 CID-keyed font driver.
|
||||
#
|
||||
# This driver needs the `psaux', `pshinter', and `psnames' modules.
|
||||
FONT_MODULES += cid
|
||||
|
||||
# PFR/TrueDoc font driver. See optional extension ftpfr.c below also.
|
||||
FONT_MODULES += pfr
|
||||
|
||||
# PostScript Type 42 font driver.
|
||||
#
|
||||
# This driver needs the `truetype' module.
|
||||
FONT_MODULES += type42
|
||||
|
||||
# Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
|
||||
# also.
|
||||
FONT_MODULES += winfonts
|
||||
|
||||
# PCF font driver.
|
||||
FONT_MODULES += pcf
|
||||
|
||||
# BDF font driver. See optional extension ftbdf.c below also.
|
||||
FONT_MODULES += bdf
|
||||
|
||||
# SFNT files support. If used without `truetype' or `cff', it supports
|
||||
# bitmap-only fonts within an SFNT wrapper.
|
||||
#
|
||||
# This driver needs the `psnames' module.
|
||||
FONT_MODULES += sfnt
|
||||
|
||||
|
||||
####
|
||||
#### hinting modules
|
||||
####
|
||||
|
||||
# FreeType's auto hinter.
|
||||
HINTING_MODULES += autofit
|
||||
|
||||
# PostScript hinter.
|
||||
HINTING_MODULES += pshinter
|
||||
|
||||
# The TrueType hinting engine doesn't have a module of its own but is
|
||||
# controlled in file include/freetype/config/ftoption.h
|
||||
# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
|
||||
|
||||
|
||||
####
|
||||
#### raster modules -- at least one is required for vector font formats
|
||||
####
|
||||
|
||||
# Monochrome rasterizer.
|
||||
RASTER_MODULES += raster
|
||||
|
||||
# Anti-aliasing rasterizer.
|
||||
RASTER_MODULES += smooth
|
||||
|
||||
|
||||
####
|
||||
#### auxiliary modules
|
||||
####
|
||||
|
||||
# FreeType's cache sub-system (quite stable but still in beta -- this means
|
||||
# that its public API is subject to change if necessary). See
|
||||
# include/freetype/ftcache.h. Needs ftglyph.c.
|
||||
AUX_MODULES += cache
|
||||
|
||||
# TrueType GX/AAT table validation. Needs ftgxval.c below.
|
||||
# AUX_MODULES += gxvalid
|
||||
|
||||
# Support for streams compressed with gzip (files with suffix .gz).
|
||||
#
|
||||
# See include/freetype/ftgzip.h for the API.
|
||||
AUX_MODULES += gzip
|
||||
|
||||
# Support for streams compressed with LZW (files with suffix .Z).
|
||||
#
|
||||
# See include/freetype/ftlzw.h for the API.
|
||||
AUX_MODULES += lzw
|
||||
|
||||
# OpenType table validation. Needs ftotval.c below.
|
||||
#
|
||||
# AUX_MODULES += otvalid
|
||||
|
||||
# Auxiliary PostScript driver component to share common code.
|
||||
#
|
||||
# This module depends on `psnames'.
|
||||
AUX_MODULES += psaux
|
||||
|
||||
# Support for PostScript glyph names.
|
||||
#
|
||||
# This module can be controlled in ftconfig.h
|
||||
# (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
|
||||
AUX_MODULES += psnames
|
||||
|
||||
|
||||
####
|
||||
#### base module extensions
|
||||
####
|
||||
|
||||
# Exact bounding box calculation.
|
||||
#
|
||||
# See include/freetype/ftbbox.h for the API.
|
||||
BASE_EXTENSIONS += ftbbox.c
|
||||
|
||||
# Access BDF-specific strings. Needs BDF font driver.
|
||||
#
|
||||
# See include/freetype/ftbdf.h for the API.
|
||||
BASE_EXTENSIONS += ftbdf.c
|
||||
|
||||
# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
|
||||
# 8bpp format, and for emboldening of bitmap glyphs.
|
||||
#
|
||||
# See include/freetype/ftbitmap.h for the API.
|
||||
BASE_EXTENSIONS += ftbitmap.c
|
||||
|
||||
# Access CID font information.
|
||||
#
|
||||
# See include/freetype/ftcid.h for the API.
|
||||
BASE_EXTENSIONS += ftcid.c
|
||||
|
||||
# Access FSType information. Needs fttype1.c.
|
||||
#
|
||||
# See include/freetype/freetype.h for the API.
|
||||
BASE_EXTENSIONS += ftfstype.c
|
||||
|
||||
# Support for GASP table queries.
|
||||
#
|
||||
# See include/freetype/ftgasp.h for the API.
|
||||
BASE_EXTENSIONS += ftgasp.c
|
||||
|
||||
# Convenience functions to handle glyphs. Needs ftbitmap.c.
|
||||
#
|
||||
# See include/freetype/ftglyph.h for the API.
|
||||
BASE_EXTENSIONS += ftglyph.c
|
||||
|
||||
# Interface for gxvalid module.
|
||||
#
|
||||
# See include/freetype/ftgxval.h for the API.
|
||||
BASE_EXTENSIONS += ftgxval.c
|
||||
|
||||
# Support for LCD color filtering of subpixel bitmaps.
|
||||
#
|
||||
# See include/freetype/ftlcdfil.h for the API.
|
||||
BASE_EXTENSIONS += ftlcdfil.c
|
||||
|
||||
# Multiple Master font interface.
|
||||
#
|
||||
# See include/freetype/ftmm.h for the API.
|
||||
BASE_EXTENSIONS += ftmm.c
|
||||
|
||||
# Interface for otvalid module.
|
||||
#
|
||||
# See include/freetype/ftotval.h for the API.
|
||||
BASE_EXTENSIONS += ftotval.c
|
||||
|
||||
# Support for FT_Face_CheckTrueTypePatents.
|
||||
#
|
||||
# See include/freetype/freetype.h for the API.
|
||||
BASE_EXTENSIONS += ftpatent.c
|
||||
|
||||
# Interface for accessing PFR-specific data. Needs PFR font driver.
|
||||
#
|
||||
# See include/freetype/ftpfr.h for the API.
|
||||
BASE_EXTENSIONS += ftpfr.c
|
||||
|
||||
# Path stroker. Needs ftglyph.c.
|
||||
#
|
||||
# See include/freetype/ftstroke.h for the API.
|
||||
BASE_EXTENSIONS += ftstroke.c
|
||||
|
||||
# Support for synthetic embolding and slanting of fonts. Needs ftbitmap.c.
|
||||
#
|
||||
# See include/freetype/ftsynth.h for the API.
|
||||
BASE_EXTENSIONS += ftsynth.c
|
||||
|
||||
# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
|
||||
# fonts.
|
||||
#
|
||||
# See include/freetype/t1tables.h for the API.
|
||||
BASE_EXTENSIONS += fttype1.c
|
||||
|
||||
# Interface for accessing data specific to Windows FNT files. Needs winfnt
|
||||
# driver.
|
||||
#
|
||||
# See include/freetype/ftwinfnt.h for the API.
|
||||
BASE_EXTENSIONS += ftwinfnt.c
|
||||
|
||||
# Support functions for X11.
|
||||
#
|
||||
# See include/freetype/ftxf86.h for the API.
|
||||
BASE_EXTENSIONS += ftxf86.c
|
||||
|
||||
####
|
||||
#### The components `ftsystem.c' (for memory allocation and stream I/O
|
||||
#### management) and `ftdebug.c' (for emitting debug messages to the user)
|
||||
#### are controlled with the following variables.
|
||||
####
|
||||
#### ftsystem.c: $(FTSYS_SRC)
|
||||
#### ftdebug.c: $(FTDEBUG_SRC)
|
||||
####
|
||||
#### Please refer to docs/CUSTOMIZE for details.
|
||||
####
|
||||
|
||||
|
||||
# EOF
|
||||
|
18
components/external/freetype/objs/.gitignore
vendored
18
components/external/freetype/objs/.gitignore
vendored
@ -1,9 +1,9 @@
|
||||
apinames
|
||||
freetype.def
|
||||
freetype.lib
|
||||
ftexport.sym
|
||||
ftmodule.h
|
||||
ftoption.h
|
||||
libfreetype.la
|
||||
.libs
|
||||
*.lo
|
||||
apinames
|
||||
freetype.def
|
||||
freetype.lib
|
||||
ftexport.sym
|
||||
ftmodule.h
|
||||
ftoption.h
|
||||
libfreetype.la
|
||||
.libs
|
||||
*.lo
|
||||
|
4
components/external/freetype/objs/README
vendored
4
components/external/freetype/objs/README
vendored
@ -1,2 +1,2 @@
|
||||
This directory contains all the object files created when building the
|
||||
library.
|
||||
This directory contains all the object files created when building the
|
||||
library.
|
||||
|
296
components/external/freetype/src/bdf/README
vendored
296
components/external/freetype/src/bdf/README
vendored
@ -1,148 +1,148 @@
|
||||
FreeType font driver for BDF fonts
|
||||
|
||||
Francesco Zappa Nardelli
|
||||
<francesco.zappa.nardelli@ens.fr>
|
||||
|
||||
|
||||
Introduction
|
||||
************
|
||||
|
||||
BDF (Bitmap Distribution Format) is a bitmap font format defined by Adobe,
|
||||
which is intended to be easily understood by both humans and computers.
|
||||
This code implements a BDF driver for the FreeType library, following the
|
||||
Adobe Specification V 2.2. The specification of the BDF font format is
|
||||
available from Adobe's web site:
|
||||
|
||||
http://partners.adobe.com/asn/developer/PDFS/TN/5005.BDF_Spec.pdf
|
||||
|
||||
Many good bitmap fonts in bdf format come with XFree86 (www.XFree86.org).
|
||||
They do not define vertical metrics, because the X Consortium BDF
|
||||
specification has removed them.
|
||||
|
||||
|
||||
Encodings
|
||||
*********
|
||||
|
||||
The variety of encodings that accompanies bdf fonts appears to encompass the
|
||||
small set defined in freetype.h. On the other hand, two properties that
|
||||
specify encoding and registry are usually defined in bdf fonts.
|
||||
|
||||
I decided to make these two properties directly accessible, leaving to the
|
||||
client application the work of interpreting them. For instance:
|
||||
|
||||
|
||||
#include FT_INTERNAL_BDF_TYPES_H
|
||||
|
||||
FT_Face face;
|
||||
BDF_Public_Face bdfface;
|
||||
|
||||
|
||||
FT_New_Face( library, ..., &face );
|
||||
|
||||
bdfface = (BDF_Public_Face)face;
|
||||
|
||||
if ( ( bdfface->charset_registry == "ISO10646" ) &&
|
||||
( bdfface->charset_encoding == "1" ) )
|
||||
[..]
|
||||
|
||||
|
||||
Thus the driver always exports `ft_encoding_none' as face->charmap.encoding.
|
||||
FT_Get_Char_Index's behavior is unmodified, that is, it converts the ULong
|
||||
value given as argument into the corresponding glyph number.
|
||||
|
||||
If the two properties are not available, Adobe Standard Encoding should be
|
||||
assumed.
|
||||
|
||||
|
||||
Anti-Aliased Bitmaps
|
||||
********************
|
||||
|
||||
The driver supports an extension to the BDF format as used in Mark Leisher's
|
||||
xmbdfed bitmap font editor. Microsoft's SBIT tool expects bitmap fonts in
|
||||
that format for adding anti-aliased them to TrueType fonts. It introduces a
|
||||
fourth field to the `SIZE' keyword which gives the bpp value (bits per
|
||||
pixel) of the glyph data in the font. Possible values are 1 (the default),
|
||||
2 (four gray levels), 4 (16 gray levels), and 8 (256 gray levels). The
|
||||
driver returns either a bitmap with 1 bit per pixel or a pixmap with 8bits
|
||||
per pixel (using 4, 16, and 256 gray levels, respectively).
|
||||
|
||||
|
||||
Known problems
|
||||
**************
|
||||
|
||||
- A font is entirely loaded into memory. Obviously, this is not the Right
|
||||
Thing(TM). If you have big fonts I suggest you convert them into PCF
|
||||
format (using the bdftopcf utility): the PCF font drive of FreeType can
|
||||
perform incremental glyph loading.
|
||||
|
||||
When I have some time, I will implement on-demand glyph parsing.
|
||||
|
||||
- Except for encodings properties, client applications have no visibility of
|
||||
the PCF_Face object. This means that applications cannot directly access
|
||||
font tables and must trust FreeType.
|
||||
|
||||
- Currently, glyph names are ignored.
|
||||
|
||||
I plan to give full visibility of the BDF_Face object in an upcoming
|
||||
revision of the driver, thus implementing also glyph names.
|
||||
|
||||
- As I have never seen a BDF font that defines vertical metrics, vertical
|
||||
metrics are (parsed and) discarded. If you own a BDF font that defines
|
||||
vertical metrics, please let me know (I will implement them in 5-10
|
||||
minutes).
|
||||
|
||||
|
||||
License
|
||||
*******
|
||||
|
||||
Copyright (C) 2001-2002 by Francesco Zappa Nardelli
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
*** Portions of the driver (that is, bdflib.c and bdf.h):
|
||||
|
||||
Copyright 2000 Computing Research Labs, New Mexico State University
|
||||
Copyright 2001-2002 Francesco Zappa Nardelli
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
|
||||
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
Credits
|
||||
*******
|
||||
|
||||
This driver is based on excellent Mark Leisher's bdf library. If you
|
||||
find something good in this driver you should probably thank him, not
|
||||
me.
|
||||
FreeType font driver for BDF fonts
|
||||
|
||||
Francesco Zappa Nardelli
|
||||
<francesco.zappa.nardelli@ens.fr>
|
||||
|
||||
|
||||
Introduction
|
||||
************
|
||||
|
||||
BDF (Bitmap Distribution Format) is a bitmap font format defined by Adobe,
|
||||
which is intended to be easily understood by both humans and computers.
|
||||
This code implements a BDF driver for the FreeType library, following the
|
||||
Adobe Specification V 2.2. The specification of the BDF font format is
|
||||
available from Adobe's web site:
|
||||
|
||||
http://partners.adobe.com/asn/developer/PDFS/TN/5005.BDF_Spec.pdf
|
||||
|
||||
Many good bitmap fonts in bdf format come with XFree86 (www.XFree86.org).
|
||||
They do not define vertical metrics, because the X Consortium BDF
|
||||
specification has removed them.
|
||||
|
||||
|
||||
Encodings
|
||||
*********
|
||||
|
||||
The variety of encodings that accompanies bdf fonts appears to encompass the
|
||||
small set defined in freetype.h. On the other hand, two properties that
|
||||
specify encoding and registry are usually defined in bdf fonts.
|
||||
|
||||
I decided to make these two properties directly accessible, leaving to the
|
||||
client application the work of interpreting them. For instance:
|
||||
|
||||
|
||||
#include FT_INTERNAL_BDF_TYPES_H
|
||||
|
||||
FT_Face face;
|
||||
BDF_Public_Face bdfface;
|
||||
|
||||
|
||||
FT_New_Face( library, ..., &face );
|
||||
|
||||
bdfface = (BDF_Public_Face)face;
|
||||
|
||||
if ( ( bdfface->charset_registry == "ISO10646" ) &&
|
||||
( bdfface->charset_encoding == "1" ) )
|
||||
[..]
|
||||
|
||||
|
||||
Thus the driver always exports `ft_encoding_none' as face->charmap.encoding.
|
||||
FT_Get_Char_Index's behavior is unmodified, that is, it converts the ULong
|
||||
value given as argument into the corresponding glyph number.
|
||||
|
||||
If the two properties are not available, Adobe Standard Encoding should be
|
||||
assumed.
|
||||
|
||||
|
||||
Anti-Aliased Bitmaps
|
||||
********************
|
||||
|
||||
The driver supports an extension to the BDF format as used in Mark Leisher's
|
||||
xmbdfed bitmap font editor. Microsoft's SBIT tool expects bitmap fonts in
|
||||
that format for adding anti-aliased them to TrueType fonts. It introduces a
|
||||
fourth field to the `SIZE' keyword which gives the bpp value (bits per
|
||||
pixel) of the glyph data in the font. Possible values are 1 (the default),
|
||||
2 (four gray levels), 4 (16 gray levels), and 8 (256 gray levels). The
|
||||
driver returns either a bitmap with 1 bit per pixel or a pixmap with 8bits
|
||||
per pixel (using 4, 16, and 256 gray levels, respectively).
|
||||
|
||||
|
||||
Known problems
|
||||
**************
|
||||
|
||||
- A font is entirely loaded into memory. Obviously, this is not the Right
|
||||
Thing(TM). If you have big fonts I suggest you convert them into PCF
|
||||
format (using the bdftopcf utility): the PCF font drive of FreeType can
|
||||
perform incremental glyph loading.
|
||||
|
||||
When I have some time, I will implement on-demand glyph parsing.
|
||||
|
||||
- Except for encodings properties, client applications have no visibility of
|
||||
the PCF_Face object. This means that applications cannot directly access
|
||||
font tables and must trust FreeType.
|
||||
|
||||
- Currently, glyph names are ignored.
|
||||
|
||||
I plan to give full visibility of the BDF_Face object in an upcoming
|
||||
revision of the driver, thus implementing also glyph names.
|
||||
|
||||
- As I have never seen a BDF font that defines vertical metrics, vertical
|
||||
metrics are (parsed and) discarded. If you own a BDF font that defines
|
||||
vertical metrics, please let me know (I will implement them in 5-10
|
||||
minutes).
|
||||
|
||||
|
||||
License
|
||||
*******
|
||||
|
||||
Copyright (C) 2001-2002 by Francesco Zappa Nardelli
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
*** Portions of the driver (that is, bdflib.c and bdf.h):
|
||||
|
||||
Copyright 2000 Computing Research Labs, New Mexico State University
|
||||
Copyright 2001-2002 Francesco Zappa Nardelli
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
|
||||
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
Credits
|
||||
*******
|
||||
|
||||
This driver is based on excellent Mark Leisher's bdf library. If you
|
||||
find something good in this driver you should probably thank him, not
|
||||
me.
|
||||
|
1064
components/external/freetype/src/gxvalid/README
vendored
1064
components/external/freetype/src/gxvalid/README
vendored
File diff suppressed because it is too large
Load Diff
228
components/external/freetype/src/pcf/README
vendored
228
components/external/freetype/src/pcf/README
vendored
@ -1,114 +1,114 @@
|
||||
FreeType font driver for PCF fonts
|
||||
|
||||
Francesco Zappa Nardelli
|
||||
<francesco.zappa.nardelli@ens.fr>
|
||||
|
||||
|
||||
Introduction
|
||||
************
|
||||
|
||||
PCF (Portable Compiled Format) is a binary bitmap font format, largely used
|
||||
in X world. This code implements a PCF driver for the FreeType library.
|
||||
Glyph images are loaded into memory only on demand, thus leading to a small
|
||||
memory footprint.
|
||||
|
||||
Information on the PCF font format can only be worked out from
|
||||
`pcfread.c', and `pcfwrite.c', to be found, for instance, in the XFree86
|
||||
(www.xfree86.org) source tree (xc/lib/font/bitmap/).
|
||||
|
||||
Many good bitmap fonts in bdf format come with XFree86: they can be
|
||||
compiled into the pcf format using the `bdftopcf' utility.
|
||||
|
||||
|
||||
Supported hardware
|
||||
******************
|
||||
|
||||
The driver has been tested on linux/x86 and sunos5.5/sparc. In both
|
||||
cases the compiler was gcc. When back in Paris, I will test it also
|
||||
on linux/alpha.
|
||||
|
||||
|
||||
Encodings
|
||||
*********
|
||||
|
||||
The variety of encodings that accompanies pcf fonts appears to encompass the
|
||||
small set defined in freetype.h. On the other hand, each pcf font defines
|
||||
two properties that specify encoding and registry.
|
||||
|
||||
I decided to make these two properties directly accessible, leaving to the
|
||||
client application the work of interpreting them. For instance:
|
||||
|
||||
#include "pcftypes.h" /* include/freetype/internal/pcftypes.h */
|
||||
|
||||
FT_Face face;
|
||||
PCF_Public_Face pcfface;
|
||||
|
||||
FT_New_Face( library,..., &face );
|
||||
|
||||
pcfface = (PCF_Public_Face)face;
|
||||
|
||||
if ((pcfface->charset_registry == "ISO10646") &&
|
||||
(pcfface->charset_encoding) == "1")) [..]
|
||||
|
||||
Thus the driver always export `ft_encoding_none' as
|
||||
face->charmap.encoding. FT_Get_Char_Index() behavior is unmodified, that
|
||||
is, it converts the ULong value given as argument into the corresponding
|
||||
glyph number.
|
||||
|
||||
|
||||
Known problems
|
||||
**************
|
||||
|
||||
- dealing explicitly with encodings breaks the uniformity of freetype2
|
||||
api.
|
||||
|
||||
- except for encodings properties, client applications have no
|
||||
visibility of the PCF_Face object. This means that applications
|
||||
cannot directly access font tables and are obliged to trust
|
||||
FreeType.
|
||||
|
||||
- currently, glyph names and ink_metrics are ignored.
|
||||
|
||||
I plan to give full visibility of the PCF_Face object in the next
|
||||
release of the driver, thus implementing also glyph names and
|
||||
ink_metrics.
|
||||
|
||||
- height is defined as (ascent - descent). Is this correct?
|
||||
|
||||
- if unable to read size information from the font, PCF_Init_Face
|
||||
sets available_size->width and available_size->height to 12.
|
||||
|
||||
- too many english grammar errors in the readme file :-(
|
||||
|
||||
|
||||
License
|
||||
*******
|
||||
|
||||
Copyright (C) 2000 by Francesco Zappa Nardelli
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
Credits
|
||||
*******
|
||||
|
||||
Keith Packard wrote the pcf driver found in XFree86. His work is at
|
||||
the same time the specification and the sample implementation of the
|
||||
PCF format. Undoubtedly, this driver is inspired from his work.
|
||||
FreeType font driver for PCF fonts
|
||||
|
||||
Francesco Zappa Nardelli
|
||||
<francesco.zappa.nardelli@ens.fr>
|
||||
|
||||
|
||||
Introduction
|
||||
************
|
||||
|
||||
PCF (Portable Compiled Format) is a binary bitmap font format, largely used
|
||||
in X world. This code implements a PCF driver for the FreeType library.
|
||||
Glyph images are loaded into memory only on demand, thus leading to a small
|
||||
memory footprint.
|
||||
|
||||
Information on the PCF font format can only be worked out from
|
||||
`pcfread.c', and `pcfwrite.c', to be found, for instance, in the XFree86
|
||||
(www.xfree86.org) source tree (xc/lib/font/bitmap/).
|
||||
|
||||
Many good bitmap fonts in bdf format come with XFree86: they can be
|
||||
compiled into the pcf format using the `bdftopcf' utility.
|
||||
|
||||
|
||||
Supported hardware
|
||||
******************
|
||||
|
||||
The driver has been tested on linux/x86 and sunos5.5/sparc. In both
|
||||
cases the compiler was gcc. When back in Paris, I will test it also
|
||||
on linux/alpha.
|
||||
|
||||
|
||||
Encodings
|
||||
*********
|
||||
|
||||
The variety of encodings that accompanies pcf fonts appears to encompass the
|
||||
small set defined in freetype.h. On the other hand, each pcf font defines
|
||||
two properties that specify encoding and registry.
|
||||
|
||||
I decided to make these two properties directly accessible, leaving to the
|
||||
client application the work of interpreting them. For instance:
|
||||
|
||||
#include "pcftypes.h" /* include/freetype/internal/pcftypes.h */
|
||||
|
||||
FT_Face face;
|
||||
PCF_Public_Face pcfface;
|
||||
|
||||
FT_New_Face( library,..., &face );
|
||||
|
||||
pcfface = (PCF_Public_Face)face;
|
||||
|
||||
if ((pcfface->charset_registry == "ISO10646") &&
|
||||
(pcfface->charset_encoding) == "1")) [..]
|
||||
|
||||
Thus the driver always export `ft_encoding_none' as
|
||||
face->charmap.encoding. FT_Get_Char_Index() behavior is unmodified, that
|
||||
is, it converts the ULong value given as argument into the corresponding
|
||||
glyph number.
|
||||
|
||||
|
||||
Known problems
|
||||
**************
|
||||
|
||||
- dealing explicitly with encodings breaks the uniformity of freetype2
|
||||
api.
|
||||
|
||||
- except for encodings properties, client applications have no
|
||||
visibility of the PCF_Face object. This means that applications
|
||||
cannot directly access font tables and are obliged to trust
|
||||
FreeType.
|
||||
|
||||
- currently, glyph names and ink_metrics are ignored.
|
||||
|
||||
I plan to give full visibility of the PCF_Face object in the next
|
||||
release of the driver, thus implementing also glyph names and
|
||||
ink_metrics.
|
||||
|
||||
- height is defined as (ascent - descent). Is this correct?
|
||||
|
||||
- if unable to read size information from the font, PCF_Init_Face
|
||||
sets available_size->width and available_size->height to 12.
|
||||
|
||||
- too many english grammar errors in the readme file :-(
|
||||
|
||||
|
||||
License
|
||||
*******
|
||||
|
||||
Copyright (C) 2000 by Francesco Zappa Nardelli
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
Credits
|
||||
*******
|
||||
|
||||
Keith Packard wrote the pcf driver found in XFree86. His work is at
|
||||
the same time the specification and the sample implementation of the
|
||||
PCF format. Undoubtedly, this driver is inspired from his work.
|
||||
|
@ -1 +1 @@
|
||||
*.pyc
|
||||
*.pyc
|
||||
|
@ -1,48 +1,48 @@
|
||||
ftrandom
|
||||
--------
|
||||
|
||||
This program expects a set of directories containing good fonts, and a set
|
||||
of extensions of fonts to be tested. It will randomly pick a font, copy it,
|
||||
introduce and error and then test it.
|
||||
|
||||
The FreeType tests are quite basic:
|
||||
|
||||
For each erroneous font it
|
||||
forks off a new tester;
|
||||
initializes the library;
|
||||
opens each font in the file;
|
||||
loads each glyph;
|
||||
(optionally reviewing the contours of the glyph)
|
||||
(optionally rasterizing)
|
||||
closes the face.
|
||||
|
||||
If the tester exits with a signal, or takes longer than 20 seconds then
|
||||
ftrandom saves the erroneous font and continues. If the tester exits
|
||||
normally or with an error, then the superstructure removes the test font and
|
||||
continues.
|
||||
|
||||
Arguments are:
|
||||
|
||||
--all Test every font in the directory(ies) no matter
|
||||
what its extension (some CID-keyed fonts have no
|
||||
extension).
|
||||
--check-outlines Call FT_Outline_Decompose on each glyph.
|
||||
--dir <dir> Append <dir> to the list of directories to search
|
||||
for good fonts.
|
||||
--error-count <cnt> Introduce <cnt> single-byte errors into the
|
||||
erroneous fonts.
|
||||
--error-fraction <frac> Multiply the file size of the font by <frac> and
|
||||
introduce that many errors into the erroneous
|
||||
font file.
|
||||
--ext <ext> Add <ext> to the set of font types tested. Known
|
||||
extensions are `ttf', `otf', `ttc', `cid', `pfb',
|
||||
`pfa', `bdf', `pcf', `pfr', `fon', `otb', and
|
||||
`cff'.
|
||||
--help Print out this list of options.
|
||||
--nohints Specify FT_LOAD_NO_HINTING when loading glyphs.
|
||||
--rasterize Call FT_Render_Glyph as well as loading it.
|
||||
--result <dir> This is the directory in which test files are
|
||||
placed.
|
||||
--test <file> Run a single test on a pre-generated testcase.
|
||||
Done in the current process so it can be debugged
|
||||
more easily.
|
||||
ftrandom
|
||||
--------
|
||||
|
||||
This program expects a set of directories containing good fonts, and a set
|
||||
of extensions of fonts to be tested. It will randomly pick a font, copy it,
|
||||
introduce and error and then test it.
|
||||
|
||||
The FreeType tests are quite basic:
|
||||
|
||||
For each erroneous font it
|
||||
forks off a new tester;
|
||||
initializes the library;
|
||||
opens each font in the file;
|
||||
loads each glyph;
|
||||
(optionally reviewing the contours of the glyph)
|
||||
(optionally rasterizing)
|
||||
closes the face.
|
||||
|
||||
If the tester exits with a signal, or takes longer than 20 seconds then
|
||||
ftrandom saves the erroneous font and continues. If the tester exits
|
||||
normally or with an error, then the superstructure removes the test font and
|
||||
continues.
|
||||
|
||||
Arguments are:
|
||||
|
||||
--all Test every font in the directory(ies) no matter
|
||||
what its extension (some CID-keyed fonts have no
|
||||
extension).
|
||||
--check-outlines Call FT_Outline_Decompose on each glyph.
|
||||
--dir <dir> Append <dir> to the list of directories to search
|
||||
for good fonts.
|
||||
--error-count <cnt> Introduce <cnt> single-byte errors into the
|
||||
erroneous fonts.
|
||||
--error-fraction <frac> Multiply the file size of the font by <frac> and
|
||||
introduce that many errors into the erroneous
|
||||
font file.
|
||||
--ext <ext> Add <ext> to the set of font types tested. Known
|
||||
extensions are `ttf', `otf', `ttc', `cid', `pfb',
|
||||
`pfa', `bdf', `pcf', `pfr', `fon', `otb', and
|
||||
`cff'.
|
||||
--help Print out this list of options.
|
||||
--nohints Specify FT_LOAD_NO_HINTING when loading glyphs.
|
||||
--rasterize Call FT_Render_Glyph as well as loading it.
|
||||
--result <dir> This is the directory in which test files are
|
||||
placed.
|
||||
--test <file> Run a single test on a pre-generated testcase.
|
||||
Done in the current process so it can be debugged
|
||||
more easily.
|
||||
|
10
components/external/freetype/version.sed
vendored
10
components/external/freetype/version.sed
vendored
@ -1,5 +1,5 @@
|
||||
#! /usr/bin/sed -nf
|
||||
|
||||
s/^#define *FREETYPE_MAJOR *\([^ ][^ ]*\).*$/freetype_major="\1" ;/p
|
||||
s/^#define *FREETYPE_MINOR *\([^ ][^ ]*\).*$/freetype_minor=".\1" ;/p
|
||||
s/^#define *FREETYPE_PATCH *\([^ ][^ ]*\).*$/freetype_patch=".\1" ;/p
|
||||
#! /usr/bin/sed -nf
|
||||
|
||||
s/^#define *FREETYPE_MAJOR *\([^ ][^ ]*\).*$/freetype_major="\1" ;/p
|
||||
s/^#define *FREETYPE_MINOR *\([^ ][^ ]*\).*$/freetype_minor=".\1" ;/p
|
||||
s/^#define *FREETYPE_PATCH *\([^ ][^ ]*\).*$/freetype_patch=".\1" ;/p
|
||||
|
Loading…
x
Reference in New Issue
Block a user