Hi,

we now have at least two parts of the build system depend on CROSSDIR to
check for a cross-compile environment (ld.so + binutils).  Unfortunately
we never really exported CROSSDIR for those so the checks never worked.

This diff exports CROSSDIR for binutils, moves the CROSSDIR define
around in the GCC case so that it looks like the rest of the Makefile,
and it exports CROSSDIR in the CROSSENV, which is used for all binaries
including ld.so.

ok?

Patrick

diff --git a/Makefile.cross b/Makefile.cross
index 3f2d251acc4..e79ac07a5c0 100644
--- a/Makefile.cross
+++ b/Makefile.cross
@@ -62,7 +62,8 @@ CROSSENV=     AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \
                HOSTLDFLAGS=\"${LDFLAGS}\" \
                CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \
                CXXFLAGS=\"${CROSSCXXFLAGS}\" \
-               LDFLAGS=\"${CROSSLDFLAGS}\"
+               LDFLAGS=\"${CROSSLDFLAGS}\" \
+               CROSSDIR=\"${CROSSDIR}\"
 CROSSADDPATH=:${CROSSDIR}/usr/${TARGET_CANON}/bin
 CROSSPATH=     /usr/bin:/bin:/usr/sbin:/sbin${CROSSADDPATH}
 CROSSLANGS?=   c c++
@@ -181,19 +182,21 @@ ${CROSSINCLUDES}: ${CROSSOBJ}
 
 ${CROSSBINUTILS}:      ${CROSSINCLUDES}
        (cd ${.CURDIR}/${BINUTILS_DIR}; \
+           env CROSSDIR=${CROSSDIR} \
            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
            PIE_DEFAULT=${PIE_DEFAULT} \
            TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
            PATH=${CROSSPATH} \
            ${MAKE} -f Makefile.bsd-wrapper depend && \
+           env CROSSDIR=${CROSSDIR} \
            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
            PIE_DEFAULT=${PIE_DEFAULT} \
            TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
            ${MAKE} -f Makefile.bsd-wrapper all && \
-           DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
+           env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \
            COMPILER_VERSION=${COMPILER_VERSION} \
-           PIE_DEFAULT=${PIE_DEFAULT} \
            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
+           PIE_DEFAULT=${PIE_DEFAULT} \
            TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
            ${MAKE} -f Makefile.bsd-wrapper install)
        @for cmd in ${BINUTILS}; do \
@@ -274,17 +277,17 @@ ${CROSSGCC}:              ${CROSSBINUTILS}
        ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp
 .else
        (cd ${.CURDIR}/gnu/usr.bin/cc; \
+           env CROSSDIR=${CROSSDIR} \
            PIE_DEFAULT=${PIE_DEFAULT} \
            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
            TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
-           CROSSDIR=${CROSSDIR} \
            MACHINE=${TARGET} \
            PATH=${CROSSPATH} ${MAKE} depend  )
        (cd ${.CURDIR}/gnu/usr.bin/cc; \
+           env CROSSDIR=${CROSSDIR} \
            PIE_DEFAULT=${PIE_DEFAULT} \
            MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
            TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
-           CROSSDIR=${CROSSDIR} \
            MACHINE=${TARGET} \
            ${MAKE} all )
        (cd ${.CURDIR}/gnu/usr.bin/cc; \

Reply via email to