cross-compilation documentation
Dan Kegel
dank@kegel.com
Mon Jun 23 12:20:00 GMT 2003
Peter Barada wrote:
> glibc1: ${GLIBC_BUILDDIR1} glibc1-fix
> export PATH=${INSTALL_DIR}/bin:${HOST_INSTALL_DIR}/bin:$$PATH; \
> cd ${GLIBC_BUILDDIR1}; \
> CC=${TARGET}-gcc AR=${TARGET}-ar RANLIB=${TARGET}-ranlib \
> ${GLIBC_SOURCE_PATH}/configure --host=${TARGET} \
> --prefix=/usr --without-cvs --disable-sanity-checks \
> --with-headers=${INSTALL_DIR}/${TARGET}/include ; \
> make cross-compiling=yes install_root=${INSTALL_DIR}/${TARGET} prefix="" install-headers
>
> glibc1-fix:
> mkdir -p ${INSTALL_DIR}/${TARGET}/include/gnu ; \
> touch ${INSTALL_DIR}/${TARGET}/include/gnu/stubs.h ; \
> cp -f ${GLIBC_SOURCE_PATH}/include/features.h ${INSTALL_DIR}/include/features.h
>
>
> But this fragment *requires* a cross-compiler to build it.
Hmm. That's odd. I do almost the same thing, but I don't require a cross-compiler.
Maybe the step you're missing is the following kludge:
make sysdeps/gnu/errlist.c
mkdir -p stdio-common
touch stdio-common/errlist-compat.c
That goes between the configure and the make of glibc, and keeps anything
real from being compiled by the install-headers.
> ... I'm hoping people see that there *is* a
> problem making blanket statements that "its perfectly normal to insist
> that the system headers be installed when building the bootstrap".
Indeed.
> I don't know what the solution is, but I trying to figure out the
> minimal set of changes necessary to make a(or most/if not
> all -linux toolchains). That way hopefully with the next release of
> gcc/glibc I won't have to go through this mess all over again...
I think the powers that be are suggesting that the fix for gcc-3.5
might be to separate out the building of libgcc from the building of
gcc. Hmm, and then separate out the building of anything in glibc
that requires libgcc into a separate target. Then we could do
make bootstrap gcc without libgcc
make whatever parts of glibc that don't depend on libgcc
make real gcc including libgcc
make whatever parts of glibc that depend on libgcc
- Dan
--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045
More information about the Gcc
mailing list