Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Apr 2016 21:25:37 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   11.0: head/lib/libsysdecode/Makefile for . . ./libsoft/usr/include uses CPP when XCPP needed?
Message-ID:  <D8803949-18C1-4B17-981F-DAD5A2DEDCE8@dsl-only.net>

next in thread | raw e-mail | index | archive | help
For an amd64 -> armv7a (rpi2 targeting) cross-compile the code

> # $FreeBSD: head/lib/libsysdecode/Makefile 295931 2016-02-23 20:00:55Z =
jhb $
>=20
> . . .
> ioctl.c: mkioctls
>         env MACHINE=3D${MACHINE} CPP=3D"${CPP}" \
>                 /bin/sh ${.CURDIR}/mkioctls ${DESTDIR}${INCLUDEDIR} > =
${.TARGET}

(with its use of CPP instead of the XCPP) got:

> --- all_subdir_lib/libsysdecode ---
> --- ioctl.c ---
> env MACHINE=3Darm CPP=3D"/usr/bin/clang-cpp"  /bin/sh =
/usr/src/lib/libsysdecode/mkioctls =
/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include > ioctl.c
> . . .
> --- all_subdir_lib/libsysdecode ---
> In file included from <stdin>:17:
> In file included from =
/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/dev/nvme/nvme.h:36:
> In file included from =
/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/sys/param.h:135:
> In file included from =
/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/machine/param.h:49:
> =
/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/machine/acle-compat.h=
:182:4: error: Unable to determine architecture version.
> #  error Unable to determine architecture version.
>    ^

In my case I had the following in the in-use src.conf in order to =
control the cross compile specifics:

> XCC=3D/usr/bin/clang -target ${TO_TYPE}--freebsd11.0-gnueabi =
-march=3Darmv7a -mcpu=3Dcortex-a7 -mno-unaligned-access
> XCXX=3D/usr/bin/clang++ -target ${TO_TYPE}--freebsd11.0-gnueabi =
-march=3Darmv7a -mcpu=3Dcortex-a7 -mno-unaligned-access
> XCPP=3D/usr/bin/clang-cpp -target ${TO_TYPE}--freebsd11.0-gnueabi =
-march=3Darmv7a -mcpu=3Dcortex-a7 -mno-unaligned-access


(I've been doing such for a long time but only just progressed to a 11.0 =
source vintage with libsoft involved.)

Even if I'm out of bounds for technique in some way I expect that

> ioctl.c: mkioctls
>         env MACHINE=3D${MACHINE} CPP=3D"${CPP}" \
>                 /bin/sh ${.CURDIR}/mkioctls ${DESTDIR}${INCLUDEDIR} > =
${.TARGET}

is not doing everything it should to have the full context needed for . =
. ./machine/acle-compat.h .

=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D8803949-18C1-4B17-981F-DAD5A2DEDCE8>