Steven Chamberlain wrote: > We can just do the same in kfreebsd.mk, using multiarch headers if > they're found, or the old locations as a fallback. Turns out this was not backward-compatible, because other packages (libc0.1-dev) may create /usr/include/$(DEB_HOST_ARCH)/sys, having some but not all the required headers. Doing the opposite works though - look for /usr/include/sys (or the dpkg-cross location); if it's not there, try looking at the new multiarch location instead. This is the same ordering used by gcc's default include paths already. Revised patch attached. Thanks, Regards, -- Steven Chamberlain steven@pyro.eu.org
--- debian/sysdeps/kfreebsd.mk.orig 2015-07-09 12:28:06.000000000 +0000
+++ debian/sysdeps/kfreebsd.mk 2015-09-05 16:29:00.655101849 +0000
@@ -16,6 +16,7 @@
else
KFREEBSD_HEADERS := /usr/$(DEB_HOST_GNU_TYPE)/include
endif
+ KFREEBSD_ARCH_HEADERS := /usr/include/$(DEB_HOST_MULTIARCH)
else
KFREEBSD_HEADERS := $(KFREEBSD_SOURCE)/sys
endif
@@ -27,18 +28,14 @@
$(stamp)mkincludedir:
rm -rf debian/include
mkdir debian/include
- for file in bsm net netatalk netipx nfs osreldate.h sys x86 vm ; do \
- if test -e $(KFREEBSD_HEADERS)/$$file ; then \
+ for file in bsm machine machine-i386 net netatalk netipx nfs osreldate.h sys x86 vm ; do \
+ if test -e $(KFREEBSD_HEADERS)/$$file ; then \
+ ln -s $(KFREEBSD_HEADERS)/$$file debian/include ; \
+ elif test -e $(KFREEBSD_ARCH_HEADERS)/$$file ; then \
ln -s $(KFREEBSD_ARCH_HEADERS)/$$file debian/include ; \
fi ; \
done
- # Link all machine directories. We can't just link machine
- # because of explicit references to <machine-amd64/*> and
- # <machine-i386/*>.
- find $(KFREEBSD_HEADERS) -maxdepth 1 -xtype d -name machine\* \
- -exec ln -s '{}' debian/include ';'
-
# To make configure happy if libc0.1-dev is not installed.
touch debian/include/assert.h
Attachment:
signature.asc
Description: Digital signature