Fwd: 11.0: head/lib/libsysdecode/Makefile for . . ./libsoft/usr/include uses CPP when XCPP needed? [Makefile.libcompat issue]

Mark Millard markmi at dsl-only.net
Wed Apr 6 20:14:48 UTC 2016


The below forwards an example of a possibly more general issue not necessarily limited to arm context of the example: in a cross compile context the host CPP is in use via Makefile.libcompat not involving "${XCPP}" and so various macro checks for the target context fail to work.

[The below and the material leading up to it was originally posted to freebsd-arm.]

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

On 2016-Apr-4, at 2:02 PM, Mark Millard <markmi at dsl-only.net> wrote:

As a fix for

>> --- 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.
>>  ^

I tested building an amd64 -> arm cross-build based on

> # svnlite diff Makefile.libcompat
> Index: Makefile.libcompat
> ===================================================================
> --- Makefile.libcompat	(revision 297514)
> +++ Makefile.libcompat	(working copy)
> @@ -90,6 +90,7 @@
>  		DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
>  LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
>  		CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \
> +		CPP="${XCPP}" \
>  		DESTDIR=${LIBCOMPATTMP} \
>  		-DNO_CPU_CFLAGS \
>  		MK_CTF=no \

and it completed without getting an "error:". So this addition to Makefile.libcompat may be one option for a fix.

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




More information about the freebsd-ppc mailing list