Since the merge of file 5.21 in r276415 and r276416, stable/9 and

stable/10 cannot be built from FreeBSD 8.x.  This is because the
build-tools stage requires libmagic, but lib/libmagic/config.h was
generated on head, and it now enables using the xlocale.h APIs, which
are not supported on 8.x (and on 9.x before __FreeBSD_version 900506).

See also the start of this thread on -stable:
https://lists.freebsd.org/pipermail/freebsd-stable/2015-January/081521.html

To fix this, conditionalize the use of xlocale.h APIs to make
bootstrapping from older FreeBSD versions work correctly.

Reviewed by:	delphij
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D1518
This commit is contained in:
Dimitry Andric 2015-01-13 20:37:57 +00:00
parent 8028b78dbf
commit 39a9ae0f39

View File

@ -1,5 +1,13 @@
/* $FreeBSD$ */
/* Get __FreeBSD_version. */
#include <osreldate.h>
/* Only specific versions of FreeBSD support xlocale */
#if __FreeBSD_version >= 1000002 || (__FreeBSD_version < 1000000 && __FreeBSD_version >= 900506)
#define FREEBSD_XLOCALE_SUPPORT 1
#endif
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
@ -48,7 +56,9 @@
#define HAVE_FORK 1
/* Define to 1 if you have the `freelocale' function. */
#ifdef FREEBSD_XLOCALE_SUPPORT
#define HAVE_FREELOCALE 1
#endif
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
@ -102,7 +112,9 @@
#define HAVE_MMAP 1
/* Define to 1 if you have the `newlocale' function. */
#ifdef FREEBSD_XLOCALE_SUPPORT
#define HAVE_NEWLOCALE 1
#endif
/* Define to 1 if you have the `pread' function. */
#define HAVE_PREAD 1
@ -195,7 +207,9 @@
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `uselocale' function. */
#ifdef FREEBSD_XLOCALE_SUPPORT
#define HAVE_USELOCALE 1
#endif
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
@ -235,7 +249,9 @@
#define HAVE_WORKING_VFORK 1
/* Define to 1 if you have the <xlocale.h> header file. */
#ifdef FREEBSD_XLOCALE_SUPPORT
#define HAVE_XLOCALE_H 1
#endif
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1