From d07fdf8b9ece2c4339b325921add50792077bf97 Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Mon, 6 May 2002 07:37:32 +0000 Subject: New locale support (in development). Supports LC_CTYPE, LC_NUMERIC, LC_TIME, LC_MONETARY, and LC_MESSAGES for the SUSv3 items. Also, nl_langinfo() when real locale support is enabled. New implementation of ctype.h. New implementation of wctype.h. New implementation of most of the string functions (smaller). New implementation of the wcs/wmem functions. These are untested, but they're also just preprocessor-modified versions ot the corresponding str/mem functions. Tweaked qsort and new bsearch. Stuff still pending: stdlib.h and wchar.h mb<->wc functions. I actually have working versions of the stdlib ones, but the reentrant versions from wchar.h require some reworking. Basic replacement and translit support for wc->mb conversions. (groundwork laid). Simple-minded collate support such as was provided by the previous locale implementation. (mostly done -- 8-bit codesets only) Shared mmaping of the locale data and strerror message text. --- libc/string/Makefile | 55 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 13 deletions(-) (limited to 'libc/string/Makefile') diff --git a/libc/string/Makefile b/libc/string/Makefile index c7a4c128a..0d034d1d6 100644 --- a/libc/string/Makefile +++ b/libc/string/Makefile @@ -24,27 +24,48 @@ TOPDIR=../../ include $(TOPDIR)Rules.mak +MSRCW= wstring.c +MOBJW= basename.o bcopy.o bzero.o dirname.o ffs.o memccpy.o memchr.o memcmp.o \ + memcpy.o memmove.o mempcpy.o memrchr.o memset.o rawmemchr.o stpcpy.o \ + stpncpy.o strcasecmp.o strcasestr.o strcat.o strchrnul.o strchr.o \ + strcmp.o strcpy.o strcspn.o strdup.o strlen.o strncasecmp.o strncat.o \ + strncmp.o strncpy.o strndup.o strnlen.o strpbrk.o strrchr.o strsep.o \ + strspn.o strstr.o strtok.o strtok_r.o \ + __xpg_basename.o # strcoll.o strerror.o strxfrm.o + +MOBJW2= wcscasecmp.o wcscat.o wcschrnul.o wcschr.o wcscmp.o wcscpy.o wcscspn.o \ + wcsdup.o wcslen.o wcsncasecmp.o wcsncat.o wcsncmp.o wcsncpy.o \ + wcsnlen.o wcspbrk.o wcsrchr.o wcsspn.o wcsstr.o wcstok.o wmemchr.o \ + wmemcmp.o wmemcpy.o wmemmove.o wmempcpy.o wmemset.o + MSRC=string.c -MOBJ=strlen.o strcat.o strcpy.o strchr.o strcmp.o strncat.o strncpy.o \ - strncmp.o strrchr.o strdup.o strndup.o memcpy.o memccpy.o memset.o \ - memmove.o memcmp.o memchr.o ffs.o strnlen.o strxfrm.o stpcpy.o \ - stpncpy.o memrchr.o mempcpy.o +# MOBJ=strlen.o strcat.o strcpy.o strchr.o strcmp.o strncat.o strncpy.o \ +# strncmp.o strrchr.o strdup.o strndup.o memcpy.o memccpy.o memset.o \ +# memmove.o memcmp.o memchr.o ffs.o strnlen.o strxfrm.o stpcpy.o \ +# stpncpy.o memrchr.o mempcpy.o +MOBJ=strxfrm.o -ifeq ($(HAS_LOCALE),true) - MOBJ += strcoll.o -endif +# ifeq ($(HAS_LOCALE),true) +# MOBJ += strcoll.o +# endif MSRC1=strsignal.c MOBJ1=strsignal.o psignal.o -MSRC2=strstr.c -MOBJ2=strstr.o strcasestr.o +MOBJ2= +#MSRC2=strstr.c +#MOBJ2=strstr.o strcasestr.o -CSRC=strpbrk.c strsep.c strtok.c strtok_r.c strcspn.c \ - strspn.c strcasecmp.c strncasecmp.c strerror.c bcopy.c bzero.c \ - bcmp.c sys_errlist.c dirname.c basename.c +# CSRC=strpbrk.c strsep.c strtok.c strtok_r.c strcspn.c \ +# strspn.c strcasecmp.c strncasecmp.c strerror.c bcopy.c bzero.c \ +# bcmp.c sys_errlist.c dirname.c basename.c +CSRC=strerror.c sys_errlist.c COBJS=$(patsubst %.c,%.o, $(CSRC)) -OBJS=$(MOBJ) $(MOBJ1) $(MOBJ2) $(COBJS) +OBJS=$(MOBJ) $(MOBJ1) $(MOBJ2) $(COBJS) $(MOBJW) + +ifeq ($(HAS_WCHAR),true) + OBJS += $(MOBJW2) +endif all: $(OBJS) $(LIBC) @@ -53,6 +74,14 @@ $(LIBC): ar-target ar-target: $(OBJS) $(AR) $(ARFLAGS) $(LIBC) $(OBJS) +$(MOBJW): $(MSRCW) + $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o + $(STRIPTOOL) -x -R .note -R .comment $*.o + +$(MOBJW2): $(MSRCW) + $(CC) $(CFLAGS) -DWANT_WIDE -DL_$* $< -c -o $*.o + $(STRIPTOOL) -x -R .note -R .comment $*.o + $(MOBJ): $(MSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(STRIPTOOL) -x -R .note -R .comment $*.o -- cgit v1.2.3