Remove $FreeBSD$: two-line .h patternRemove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
localedef: Fix bootstrapping on Ubuntu 16.04Glibc's stdlib.h defines various prototypes for GNU extensions that takea locale_t. Newer versions use locale_t directly and include an internalbits/ty
localedef: Fix bootstrapping on Ubuntu 16.04Glibc's stdlib.h defines various prototypes for GNU extensions that takea locale_t. Newer versions use locale_t directly and include an internalbits/types/locale_t.h in order to get its definition, but older versionsinclude xlocale.h for that, for which our bootstrap version is empty.Moreover it expects to use the glibc-specific __locale_t type. Thus,provide dummy definitions of both types in order to ensure theprototypes don't give any errors, and guard against the header beinginadvertently included between the bootstrapping namespace.h andun-namespace.h, where locale_t is #define'd.This header is not used when bootstrapping on FreeBSD and exists solelyto stub out glibc's, so this should have no impact on FreeBSD hosts.Reviewed by: arichardson, emaste (comment only)Differential Revision: https://reviews.freebsd.org/D28317
show more ...
Add collation version support to querylocale(3).Provide a way to ask for an opaque version string for a locale_t, sothat potential changes in sort order can be detected. Similar toICU's ucol_get
Add collation version support to querylocale(3).Provide a way to ask for an opaque version string for a locale_t, sothat potential changes in sort order can be detected. Similar toICU's ucol_getVersion() and Windows' GetNLSVersionEx(), this API isintended to allow databases to detect when text order-based indexesmight need to be rebuilt.The CLDR version is extracted from CLDR source data by the Makefileunder tools/tools/locale, written into the machine-generated Makefileunder shared/colldef, passed to localedef -V, and then written intoLC_COLLATE file headers. The initial version is 34.0.tools/tools/locale was recently updated to pull down 35.0, but theoutput hasn't been committed under share/colldef yet, so that willprovide the first observable change when it happens. Other versioningschemes are possible in future, because the format is unspecified.Reviewed by: bapt, 0mp, kib, yuripv (albeit a long time ago)Differential Revision: https://reviews.freebsd.org/D17166
Allow bootstrapping localdef on non-FreeBSD systemsThe current localedef simply assumes that the locale headers on build systemare compatible with those on the target system which is not necessari
Allow bootstrapping localdef on non-FreeBSD systemsThe current localedef simply assumes that the locale headers on build systemare 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 xlocalestructures 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 targetsystems's internal locale structures.Reviewed By: yuripv, brooksDifferential Revision: https://reviews.freebsd.org/D25229