freebsd-dev/usr.bin/localedef
Alex Richardson 00c61a3b43 Allow bootstrapping localdef on non-FreeBSD systems
The current localedef simply assumes that the locale headers on build system
are compatible with those on the target system which is not necessarily true.
It generally works on FreeBSD (as long as we don't change the locale headers),
but Linux and macOS provide completely different locale headers.

This change adds new bootstrap headers that namespace certain xlocale
structures defined or used by in the headers that localdef needs.
This is required since system headers *must* be able to include the "real"
locale headers for printf(), etc., but we also want to access the target
systems's internal locale structures.

Reviewed By: yuripv, brooks
Differential Revision: https://reviews.freebsd.org/D25229
2020-07-15 12:07:59 +00:00
..
bootstrap Allow bootstrapping localdef on non-FreeBSD systems 2020-07-15 12:07:59 +00:00
charmap.c localedef(1): remove duplicated includes. 2018-07-09 20:38:47 +00:00
collate.c Allow bootstrapping localdef on non-FreeBSD systems 2020-07-15 12:07:59 +00:00
ctype.c Allow bootstrapping localdef on non-FreeBSD systems 2020-07-15 12:07:59 +00:00
localedef.1 Add -b/-l options to localedef(1) to specify output endianness and use 2018-10-20 20:51:05 +00:00
localedef.c Fix build with recent byacc. 2020-06-24 02:08:08 +00:00
localedef.h Fix build with recent byacc. 2020-06-24 02:08:08 +00:00
Makefile Allow bootstrapping localdef on non-FreeBSD systems 2020-07-15 12:07:59 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
messages.c localedef(1): Add comment markings for license. 2017-03-10 16:12:16 +00:00
monetary.c localedef(1): Add comment markings for license. 2017-03-10 16:12:16 +00:00
numeric.c localedef(1): Add comment markings for license. 2017-03-10 16:12:16 +00:00
parser.y localedef(1): Add comment markings for license. 2017-03-10 16:12:16 +00:00
README
scanner.c localedef(1): Add comment markings for license. 2017-03-10 16:12:16 +00:00
time.c localedef(1): Add comment markings for license. 2017-03-10 16:12:16 +00:00
wide.c Mark errf _Noreturn, and mark errf and warn __printflike 2017-05-14 18:47:09 +00:00

While there are tools called "localedef" in Solaris and Linux, this
tool does not share heritage with any other implementation.  It was
written independently by Garrett D'Amore while employed at Nexenta
Systems, and thus carries the Nexenta Copyright.

It was initially released under the CDDL license, but on 4 July 2014,
Nexenta reissued the source under the BSD 2-clause license.  This
code is part of the Illumos project.

see:
https://github.com/Nexenta/illumos-nexenta/commit/cf17542a37fc83d0ae093777e30d480423858c29