summaryrefslogtreecommitdiff
path: root/sources/STLport-4.5.3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sources/STLport-4.5.3.patch')
-rw-r--r--sources/STLport-4.5.3.patch106
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