46632c18bd
As I looked through the C library, I noticed the FreeBSD MIPS port has a hand-written version of index(). This is nice, if it weren't for the fact that most applications call strchr() instead. Also, on the other architectures index() and strchr() are identical, meaning we have two identical pieces of code in the C library and statically linked applications. Solve this by naming the actual file strchr.[cS] and let it use __strong_reference()/STRONG_ALIAS() to provide the index() routine. Do the same for rindex()/strrchr(). This seems to make the C libraries and static binaries slightly smaller, but this reduction in size seems negligible.
87 lines
2.6 KiB
Makefile
87 lines
2.6 KiB
Makefile
# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
|
|
# $FreeBSD$
|
|
|
|
.PATH: ${.CURDIR}/${LIBC_ARCH}/string ${.CURDIR}/string
|
|
|
|
CFLAGS+= -I${.CURDIR}/locale
|
|
|
|
# machine-independent string sources
|
|
MISRCS+=bcmp.c bcopy.c bzero.c ffs.c ffsl.c ffsll.c fls.c flsl.c flsll.c \
|
|
memccpy.c memchr.c memrchr.c memcmp.c \
|
|
memcpy.c memmem.c memmove.c memset.c \
|
|
stpcpy.c stpncpy.c strcasecmp.c \
|
|
strcat.c strcasestr.c strchr.c strcmp.c strcoll.c strcpy.c strcspn.c \
|
|
strdup.c strerror.c strlcat.c strlcpy.c strlen.c strmode.c strncat.c \
|
|
strncmp.c strncpy.c strndup.c strnlen.c strnstr.c \
|
|
strpbrk.c strrchr.c strsep.c strsignal.c strspn.c strstr.c strtok.c \
|
|
strxfrm.c swab.c wcpcpy.c wcpncpy.c wcscasecmp.c wcscat.c \
|
|
wcschr.c wcscmp.c wcscoll.c wcscpy.c wcscspn.c wcsdup.c \
|
|
wcslcat.c wcslcpy.c wcslen.c wcsncasecmp.c wcsncat.c wcsncmp.c \
|
|
wcsncpy.c wcsnlen.c wcspbrk.c \
|
|
wcsrchr.c wcsspn.c wcsstr.c wcstok.c wcswidth.c wcsxfrm.c wmemchr.c \
|
|
wmemcmp.c \
|
|
wmemcpy.c wmemmove.c wmemset.c
|
|
|
|
SYM_MAPS+= ${.CURDIR}/string/Symbol.map
|
|
|
|
|
|
# machine-dependent string sources
|
|
.sinclude "${.CURDIR}/${LIBC_ARCH}/string/Makefile.inc"
|
|
|
|
MAN+= bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 memccpy.3 memchr.3 \
|
|
memcmp.3 memcpy.3 memmem.3 memmove.3 memset.3 strcasecmp.3 strcat.3 \
|
|
strchr.3 strcmp.3 strcoll.3 strcpy.3 strcspn.3 strdup.3 strerror.3 \
|
|
string.3 strlcpy.3 strlen.3 strmode.3 strpbrk.3 strsep.3 \
|
|
strspn.3 strstr.3 strtok.3 strxfrm.3 swab.3 wcscoll.3 wcstok.3 \
|
|
wcswidth.3 wcsxfrm.3 wmemchr.3
|
|
|
|
MLINKS+=ffs.3 ffsl.3 \
|
|
ffs.3 ffsll.3 \
|
|
ffs.3 fls.3 \
|
|
ffs.3 flsl.3 \
|
|
ffs.3 flsll.3
|
|
MLINKS+=index.3 rindex.3
|
|
MLINKS+=memchr.3 memrchr.3
|
|
MLINKS+=strcasecmp.3 strncasecmp.3
|
|
MLINKS+=strcat.3 strncat.3
|
|
MLINKS+=strchr.3 strrchr.3
|
|
MLINKS+=strcmp.3 strncmp.3
|
|
MLINKS+=strcpy.3 stpcpy.3 \
|
|
strcpy.3 stpncpy.3 \
|
|
strcpy.3 strncpy.3
|
|
MLINKS+=strdup.3 strndup.3
|
|
MLINKS+=strerror.3 perror.3 \
|
|
strerror.3 strerror_r.3 \
|
|
strerror.3 sys_errlist.3 \
|
|
strerror.3 sys_nerr.3
|
|
MLINKS+=strlcpy.3 strlcat.3
|
|
MLINKS+=strlen.3 strnlen.3
|
|
MLINKS+=strstr.3 strcasestr.3 \
|
|
strstr.3 strnstr.3
|
|
MLINKS+=strtok.3 strtok_r.3
|
|
MLINKS+=wmemchr.3 wcpcpy.3 \
|
|
wmemchr.3 wcpncpy.3 \
|
|
wmemchr.3 wcscasecmp.3 \
|
|
wmemchr.3 wcscat.3 \
|
|
wmemchr.3 wcschr.3 \
|
|
wmemchr.3 wcscmp.3 \
|
|
wmemchr.3 wcscpy.3 \
|
|
wmemchr.3 wcscspn.3 \
|
|
wmemchr.3 wcsdup.3 \
|
|
wmemchr.3 wcslcat.3 \
|
|
wmemchr.3 wcslcpy.3 \
|
|
wmemchr.3 wcslen.3 \
|
|
wmemchr.3 wcsncasecmp.3 \
|
|
wmemchr.3 wcsncat.3 \
|
|
wmemchr.3 wcsncmp.3 \
|
|
wmemchr.3 wcsncpy.3 \
|
|
wmemchr.3 wcsnlen.3 \
|
|
wmemchr.3 wcspbrk.3 \
|
|
wmemchr.3 wcsrchr.3 \
|
|
wmemchr.3 wcsspn.3 \
|
|
wmemchr.3 wcsstr.3 \
|
|
wmemchr.3 wmemcmp.3 \
|
|
wmemchr.3 wmemcpy.3 \
|
|
wmemchr.3 wmemmove.3 \
|
|
wmemchr.3 wmemset.3
|