mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
[FREETYPE]
- Cleanup old files - Remove setjmplongjmp.s - Correction to last commit message: the conversion patch was already applied svn path=/trunk/; revision=47361
This commit is contained in:
-50
@@ -1,50 +0,0 @@
|
||||
The CVS 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.9.6)
|
||||
libtool (1.5.22)
|
||||
autoconf (2.59c)
|
||||
|
||||
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.
|
||||
|
||||
A very common problem is that this script complains that the `aclocal'
|
||||
program doesn't accept a `--force' option:
|
||||
|
||||
generating `configure.ac'
|
||||
running `aclocal -I . --force'
|
||||
aclocal: unrecognized option -- `--force'
|
||||
Try `aclocal --help' for more information.
|
||||
error while running `aclocal -I . --force'
|
||||
|
||||
This means that your version of the automake package is too old.
|
||||
Please update it before trying to build FreeType.
|
||||
|
||||
|
||||
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 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 ---
|
||||
@@ -10,11 +10,6 @@
|
||||
<if property="NSWPAT" value="1">
|
||||
<define name="TT_CONFIG_OPTION_BYTECODE_INTERPRETER" />
|
||||
</if>
|
||||
<if property="ARCH" value="i386">
|
||||
<directory name="i386">
|
||||
<file>setjmplongjmp.s</file>
|
||||
</directory>
|
||||
</if>
|
||||
<directory name="src">
|
||||
<directory name="base">
|
||||
<file>ftbase.c</file>
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: FreeType implementation for ReactOS
|
||||
* PURPOSE: Implementation of _setjmp/longjmp
|
||||
* FILE: thirdparty/freetype/i386/setjmplongjmp.s
|
||||
* PROGRAMMER: Ge van Geldorp (ge@gse.nl)
|
||||
* NOTES: Copied from glibc.
|
||||
* I have the feeling this could be implemented using the SEH
|
||||
* routines, but if it's good enough for glibc it's propably
|
||||
* good enough for me...
|
||||
* The MingW headers define jmp_buf to be an array of 16 ints,
|
||||
* based on the jmp_buf used by MSCVRT. We're using only 6 of
|
||||
* them, so plenty of space.
|
||||
*/
|
||||
|
||||
#define JB_BX 0
|
||||
#define JB_SI 1
|
||||
#define JB_DI 2
|
||||
#define JB_BP 3
|
||||
#define JB_SP 4
|
||||
#define JB_PC 5
|
||||
|
||||
#define PCOFF 0
|
||||
|
||||
#define JMPBUF 4
|
||||
|
||||
/*
|
||||
* int
|
||||
* _setjmp(jmp_buf env);
|
||||
*
|
||||
* Parameters:
|
||||
* [ESP+04h] - jmp_buf env
|
||||
* Registers:
|
||||
* None
|
||||
* Returns:
|
||||
* 0
|
||||
* Notes:
|
||||
* Sets up the jmp_buf
|
||||
*/
|
||||
.globl __setjmp
|
||||
__setjmp:
|
||||
xorl %eax, %eax
|
||||
movl JMPBUF(%esp), %edx
|
||||
|
||||
/* Save registers. */
|
||||
movl %ebx, (JB_BX*4)(%edx)
|
||||
movl %esi, (JB_SI*4)(%edx)
|
||||
movl %edi, (JB_DI*4)(%edx)
|
||||
leal JMPBUF(%esp), %ecx /* Save SP as it will be after we return. */
|
||||
movl %ecx, (JB_SP*4)(%edx)
|
||||
movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */
|
||||
movl %ecx, (JB_PC*4)(%edx)
|
||||
movl %ebp, (JB_BP*4)(%edx) /* Save caller's frame pointer. */
|
||||
ret
|
||||
|
||||
#define VAL 8
|
||||
|
||||
/*
|
||||
* void
|
||||
* longjmp(jmp_buf env, int value);
|
||||
*
|
||||
* Parameters:
|
||||
* [ESP+04h] - jmp_buf setup by _setjmp
|
||||
* [ESP+08h] - int value to return
|
||||
* Registers:
|
||||
* None
|
||||
* Returns:
|
||||
* Doesn't return
|
||||
* Notes:
|
||||
* Non-local goto
|
||||
*/
|
||||
.globl _longjmp
|
||||
_longjmp:
|
||||
movl JMPBUF(%esp), %ecx /* User's jmp_buf in %ecx. */
|
||||
|
||||
movl VAL(%esp), %eax /* Second argument is return value. */
|
||||
testl %eax, %eax
|
||||
jnz 0f
|
||||
incl %eax
|
||||
0:
|
||||
/* Save the return address now. */
|
||||
movl (JB_PC*4)(%ecx), %edx
|
||||
/* Restore registers. */
|
||||
movl (JB_BX*4)(%ecx), %ebx
|
||||
movl (JB_SI*4)(%ecx), %esi
|
||||
movl (JB_DI*4)(%ecx), %edi
|
||||
movl (JB_BP*4)(%ecx), %ebp
|
||||
movl (JB_SP*4)(%ecx), %esp
|
||||
/* Jump to saved PC. */
|
||||
jmp *%edx
|
||||
@@ -1,42 +0,0 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftbase.c */
|
||||
/* */
|
||||
/* Single object library component (body only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
||||
#define FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
||||
#define FT_MulFix FT_MulFix_wrong
|
||||
#include "ftcalc.c"
|
||||
#undef FT_MulFix
|
||||
#include "_ftmulfix_ros.c"
|
||||
|
||||
#include "ftdbgmem.c"
|
||||
#include "ftgloadr.c"
|
||||
#include "ftnames.c"
|
||||
#include "ftobjs.c"
|
||||
#include "ftoutln.c"
|
||||
#include "ftrfork.c"
|
||||
#include "ftstream.c"
|
||||
#include "fttrigon.c"
|
||||
#include "ftutil.c"
|
||||
|
||||
#if defined( __APPLE__ ) && !defined ( DARWIN_NO_CARBON )
|
||||
#include <ftmac.c>
|
||||
#endif
|
||||
|
||||
/* END */
|
||||
@@ -1,92 +0,0 @@
|
||||
FT_EXPORT_DEF( FT_Long )
|
||||
FT_MulFix( FT_Long a,
|
||||
FT_Long b )
|
||||
{
|
||||
/* use inline assembly to speed up things a bit */
|
||||
|
||||
#if defined( __GNUC__ ) && defined( i386 )
|
||||
|
||||
FT_Long result;
|
||||
|
||||
|
||||
__asm__ __volatile__ (
|
||||
"imul %%edx\n"
|
||||
"movl %%edx, %%ecx\n"
|
||||
"sarl $31, %%ecx\n"
|
||||
"addl $0x8000, %%ecx\n"
|
||||
"addl %%ecx, %%eax\n"
|
||||
"adcl $0, %%edx\n"
|
||||
"shrl $16, %%eax\n"
|
||||
"shll $16, %%edx\n"
|
||||
"addl %%edx, %%eax\n"
|
||||
"mov %%eax, %0\n"
|
||||
: "=r"(result), "=d"(b)
|
||||
: "a"(a), "d"(b)
|
||||
: "%ecx"
|
||||
);
|
||||
return result;
|
||||
|
||||
#elif 1
|
||||
|
||||
FT_Long sa, sb;
|
||||
FT_ULong ua, ub;
|
||||
|
||||
|
||||
if ( a == 0 || b == 0x10000L )
|
||||
return a;
|
||||
|
||||
sa = ( a >> ( sizeof ( a ) * 8 - 1 ) );
|
||||
a = ( a ^ sa ) - sa;
|
||||
sb = ( b >> ( sizeof ( b ) * 8 - 1 ) );
|
||||
b = ( b ^ sb ) - sb;
|
||||
|
||||
ua = (FT_ULong)a;
|
||||
ub = (FT_ULong)b;
|
||||
|
||||
if ( ua <= 2048 && ub <= 1048576L )
|
||||
ua = ( ua * ub + 0x8000U ) >> 16;
|
||||
else
|
||||
{
|
||||
FT_ULong al = ua & 0xFFFFU;
|
||||
|
||||
|
||||
ua = ( ua >> 16 ) * ub + al * ( ub >> 16 ) +
|
||||
( ( al * ( ub & 0xFFFFU ) + 0x8000U ) >> 16 );
|
||||
}
|
||||
|
||||
sa ^= sb,
|
||||
ua = (FT_ULong)(( ua ^ sa ) - sa);
|
||||
|
||||
return (FT_Long)ua;
|
||||
|
||||
#else /* 0 */
|
||||
|
||||
FT_Long s;
|
||||
FT_ULong ua, ub;
|
||||
|
||||
|
||||
if ( a == 0 || b == 0x10000L )
|
||||
return a;
|
||||
|
||||
s = a; a = FT_ABS( a );
|
||||
s ^= b; b = FT_ABS( b );
|
||||
|
||||
ua = (FT_ULong)a;
|
||||
ub = (FT_ULong)b;
|
||||
|
||||
if ( ua <= 2048 && ub <= 1048576L )
|
||||
ua = ( ua * ub + 0x8000UL ) >> 16;
|
||||
else
|
||||
{
|
||||
FT_ULong al = ua & 0xFFFFUL;
|
||||
|
||||
|
||||
ua = ( ua >> 16 ) * ub + al * ( ub >> 16 ) +
|
||||
( ( al * ( ub & 0xFFFFUL ) + 0x8000UL ) >> 16 );
|
||||
}
|
||||
|
||||
return ( s < 0 ? -(FT_Long)ua : (FT_Long)ua );
|
||||
|
||||
#endif /* 0 */
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user