NetBSD/distrib/utils/libhack/Makefile
tnozaki 52ed7b035f Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format.
ok'ed by core and releng.
(thanks for agc@, snj@ and i'm sorry for long time patience).

[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
  new locale-db implementation using citrus_db backend,
  see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
  internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].

[tools]
- mklocale(1): add new option ``-t'' that generates new style
  LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().

[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
    en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
    zh_CN.eucCN -> zh_CN.GB18030
    and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
  for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.

i tested release-build following arch:
  i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<

old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
2009-01-02 00:20:18 +00:00

36 lines
839 B
Makefile

# $NetBSD: Makefile,v 1.22 2009/01/02 00:20:18 tnozaki Exp $
#
# Stubs to kill off some things from libc:
# This save space on a boot system.
# (See Makefile.inc also.)
.PATH.c: ${.CURDIR}/../../../lib/libc/gen ${.CURDIR}/../../../lib/libc/locale
CPPFLAGS+= -DSMALL
CPPFLAGS.runetable.c+= -I${HACKSRC}/../../../lib/libc/citrus \
-DALL_80_TO_FF_SW1
LIB= hack
SRCS= getcap.c getgrent.c getnet.c getnetgr.c getpwent.c \
localeconv.c multibyte.c perror.c runetable.c setlocale.c \
strerror.c strsignal.c syslog.c utmp.c yplib.c
WARNS= 1
NOLINKLIB= # defined
NOLINT= # defined
NOPIC= # defined
NOPROFILE= # defined
realall: libhack.o
libhack.o: libhack.a
${LD} -r -o $@ --whole-archive libhack.a
CLEANFILES+= libhack.o
tpwent: getpwent.c
${CC} -g -o $@.o -DTEST_MAIN -c getpwent.c
${CC} -o $@ $@.o
.include <bsd.lib.mk>