diff options
Diffstat (limited to 'sources/STLport-4.5.3.patch')
| -rw-r--r-- | sources/STLport-4.5.3.patch | 106 | 
1 files changed, 72 insertions, 34 deletions
| diff --git a/sources/STLport-4.5.3.patch b/sources/STLport-4.5.3.patch index 3f8328267..fee65f920 100644 --- a/sources/STLport-4.5.3.patch +++ b/sources/STLport-4.5.3.patch @@ -22,7 +22,7 @@ diff -urN STLport-4.5.3/Makefile STLport-4.5.3-devel/Makefile  +  +ARCH:=i386  +PREFIX:=/usr/$(ARCH)-linux-uclibc -+CROSS:= $(PREFIX)/bin/$(ARCH)-uclibc- ++CROSS:= $(PREFIX)/../bin/$(ARCH)-linux-uclibc-  +CC=$(CROSS)gcc  +CXX=$(CROSS)g++  +AR = $(CROSS)ar @@ -267,12 +267,65 @@ diff -urN STLport-4.5.3/stlport/stl/_config.h STLport-4.5.3-devel/stlport/stl/_c  diff -urN STLport-4.5.3/stlport/stl/_stdio_file.h STLport-4.5.3-devel/stlport/stl/_stdio_file.h  --- STLport-4.5.3/stlport/stl/_stdio_file.h	Fri Jan 18 15:07:00 2002  +++ STLport-4.5.3-devel/stlport/stl/_stdio_file.h	Tue Jan  7 15:28:08 2003 -@@ -634,6 +634,57 @@ +@@ -634,6 +634,112 @@   }   # define _STLP_FILE_I_O_IDENTICAL  +#elif defined(_STLP_USE_UCLIBC)  + ++#if defined(__MASK_READING) ++ ++inline int   _FILE_fd(const FILE *__f) { return __f->__filedes; } ++ ++//       Returns a pointer to the beginning of the buffer. ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->__bufstart; } ++ ++//       Returns the current read/write position within the buffer. ++inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->__bufpos; } ++ ++//       Returns a pointer immediately past the end of the buffer. ++inline char* _FILE_I_end(const FILE *__f) { return (char*)__f->__bufend; } ++ ++//       Returns the number of characters remaining in the buffer, i.e. ++//       _FILE_[IO]_end(__f) - _FILE_[IO]_next(__f). ++inline ptrdiff_t _FILE_I_avail(const FILE *__f)  ++  { return __f->__bufgetc_u - __f->__bufpos; } ++ ++//       Increments the current read/write position by 1, returning the  ++//       character at the old position. ++inline char& _FILE_I_preincr(FILE *__f)  { return *(char*)(++__f->__bufpos); } ++ ++//       Increments the current read/write position by 1, returning the  ++//       character at the old position. ++inline char& _FILE_I_postincr(FILE *__f)  { return *(char*)(__f->__bufpos++); } ++ ++//       Decrements the current read/write position by 1, returning the  ++//       character at the old position. ++inline char& _FILE_I_predecr(FILE *__f)  { return *(char*)(--__f->__bufpos); } ++ ++//       Decrements the current read/write position by 1, returning the  ++//       character at the old position. ++inline char& _FILE_I_postdecr(FILE *__f)  { return *(char*)(__f->__bufpos--); } ++ ++//       Increments the current read/write position by __n. ++inline void  _FILE_I_bump(FILE *__f, int __n) { __f->__bufpos += __n; } ++ ++//       Sets the beginning of the bufer to __begin, the current read/write ++//       position to __next, and the buffer's past-the-end pointer to __end. ++//       If any of those pointers is null, then all of them must be null. ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) ++{ ++	__f->__bufstart = (unsigned char*)__begin; ++	__f->__bufpos  =  (unsigned char*)__next; ++	__f->__bufend  =  (unsigned char*)__end; ++	__f->__bufgetc_u = (unsigned char*)__begin; ++	__f->__bufputc_u = (unsigned char*)__end; ++} ++ ++# define _STLP_FILE_I_O_IDENTICAL ++ ++#else    // Support old stdio for a little while. ++  +inline int   _FILE_fd(const FILE *__f) { return __f->filedes; }  +  +//       Returns a pointer to the beginning of the buffer. @@ -316,52 +369,37 @@ diff -urN STLport-4.5.3/stlport/stl/_stdio_file.h STLport-4.5.3-devel/stlport/st  +	__f->bufstart = (unsigned char*)__begin;  +	__f->bufpos  =  (unsigned char*)__next;  +	__f->bufend  =  (unsigned char*)__end; -+	__f->bufgetc  = (unsigned char*)__begin; ++	__f->bufgetc = (unsigned char*)__begin;  +	__f->bufputc = (unsigned char*)__end;  +}  +  +# define _STLP_FILE_I_O_IDENTICAL  + ++#endif ++   #else  /* A C library that we don't have an implementation for. */   # error The C++ I/O library is not configured for this compiler  diff -urN STLport-4.5.3/stlport/stl/c_locale.h STLport-4.5.3-devel/stlport/stl/c_locale.h  --- STLport-4.5.3/stlport/stl/c_locale.h	Fri Jan 18 15:07:00 2002  +++ STLport-4.5.3-devel/stlport/stl/c_locale.h	Wed Jan  8 10:58:10 2003 -@@ -326,6 +326,29 @@ - # define _Locale_PRINT _R - # define _Locale_ALPHA _A -  -+# elif defined (_STLP_USE_UCLIBC) -+  -+//# include <linux/ctype.h> -+ -+#define _U      0x01    /* upper */ -+#define _L      0x02    /* lower */ -+#define _D      0x04    /* digit */ -+#define _C      0x08    /* cntrl */ -+#define _P      0x10    /* punct */ -+#define _S      0x20    /* white space (space/lf/tab) */ -+#define _X      0x40    /* hex digit */ -+#define _SP     0x80    /* hard space (0x20) */ -+ -+# define _Locale_CNTRL _C -+# define _Locale_UPPER _U -+# define _Locale_LOWER _L -+# define _Locale_DIGIT _D -+# define _Locale_XDIGIT _X -+# define _Locale_PUNCT _P -+# define _Locale_SPACE _S -+# define _Locale_PRINT (_P|_U|_L|_D|_SP) -+# define _Locale_ALPHA (_U|_L) -+ - # elif defined (__hpux) || defined (__osf__) -   - #   if defined(__HP_aCC) && !defined(_INCLUDE_HPUX_SOURCE) -@@ -401,6 +424,8 @@ +@@ -401,6 +401,21 @@   #  define _Locale_SPACE _S   #  define _Locale_PRINT (_P | _U | _L | _N | _B)   #  define _Locale_ALPHA (_U | _L) ++ ++# elif defined(_STLP_USE_UCLIBC) /* linux, using the gnu compiler */ ++ ++#  define _Locale_CNTRL  _IScntrl ++#  define _Locale_UPPER  _ISupper ++#  define _Locale_LOWER  _ISlower ++#  define _Locale_DIGIT  _ISdigit ++#  define _Locale_XDIGIT _ISxdigit ++#  define _Locale_PUNCT  _ISpunct ++#  define _Locale_SPACE  _ISspace ++#  define _Locale_PRINT  _ISprint ++#  define _Locale_ALPHA  _ISalpha ++  +#else  +#  error Unknown Locale   #endif | 
