tools/build: Provide FreeBSD's bitstring API when cross-building

This is needed for building makefs as a cross-tool since the ZFS code
uses these APIs.

Reviewed by:	emaste
Fixes:		240afd8c1f ("makefs: Add ZFS support")
Differential Revision:	https://reviews.freebsd.org/D36133
This commit is contained in:
Jessica Clarke 2022-08-18 02:46:27 +01:00
parent 92fc50b496
commit e9ba1fd5ed
2 changed files with 13 additions and 0 deletions

View File

@ -153,6 +153,15 @@ SYSINCS+= ${SRCTOP}/sys/sys/nlist_aout.h
.if ${.MAKE.OS} != "FreeBSD"
.PATH: ${.CURDIR}/cross-build
# Needed by our sys/types.h wrapper
SYSINCS+= ${SRCTOP}/sys/sys/bitcount.h
# macOS's bitstring lacks FreeBSD-specific additions used by makefs's ZFS code
# and Linux doesn't have it at all.
INCS+= ${SRCTOP}/include/bitstring.h
SYSINCS+= ${SRCTOP}/sys/sys/bitstring.h
# dbopen() behaves differently on Linux and FreeBSD so we ensure that we
# bootstrap the FreeBSD db code. The cross-build headers #define dbopen() to
# __freebsd_dbopen() so that we don't ever use the host version

View File

@ -68,4 +68,8 @@ typedef unsigned long cap_ioctl_t;
struct cap_rights;
typedef struct cap_rights cap_rights_t;
/* Needed for bitstring */
#include <sys/bitcount.h>
#endif