NetBSD/distrib/utils/libhack/Makefile.inc
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

49 lines
1.4 KiB
Makefile

# $NetBSD: Makefile.inc,v 1.23 2009/01/02 00:20:18 tnozaki Exp $
#
# Include this fragment to build libhack.o
# It is .o and not .a to make sure these are the
# objects you get (and not the ones in libc.a)
#
#
# Required variables:
# HACKSRC This directory
#
# Optional variables:
# HACKOBJS Extra objects to build.
# The following extra objects are available:
# gethost.o cut-down gethostby{name,addr}()
# that only supports /etc/hosts
#
CPPFLAGS+= -DSMALL
HACKOBJS+= getcap.o getgrent.o getnet.o getnetgr.o getpwent.o \
localeconv.o multibyte.o perror.o runetable.o setlocale.o \
strerror.o strsignal.o syslog.o utmp.o yplib.o
CPPFLAGS.runetable.c+= -I${HACKSRC}/../../../lib/libc/citrus \
-DALL_80_TO_FF_SW1
libhack.o: ${HACKOBJS}
${LD} -r -o $@ ${HACKOBJS}
# XXX .PATH won't work here, because of crunchgen used by various builds
getcap.o: ${HACKSRC}/../../../lib/libc/gen/getcap.c
getgrent.o: ${HACKSRC}/getgrent.c
gethost.o: ${HACKSRC}/gethost.c
getnet.o: ${HACKSRC}/getnet.c
getnetgr.o: ${HACKSRC}/getnetgr.c
getpwent.o: ${HACKSRC}/getpwent.c
localeconv.o: ${HACKSRC}/localeconv.c
multibyte.o: ${HACKSRC}/multibyte.c
perror.o: ${HACKSRC}/perror.c
runetable.o: ${HACKSRC}/../../../lib/libc/locale/runetable.c
setlocale.o: ${HACKSRC}/setlocale.c
strerror.o: ${HACKSRC}/strerror.c
strsignal.o: ${HACKSRC}/strsignal.c
syslog.o: ${HACKSRC}/syslog.c
utmp.o: ${HACKSRC}/utmp.c
yplib.o: ${HACKSRC}/yplib.c