diff --git a/doc/cross-compiling.txt b/doc/cross-compiling.txt index 47713410c3b24132c767ec3e6d76959e6f578f43..22b0d9751ac6bb2545fd7059a72e027f59356658 100644 --- a/doc/cross-compiling.txt +++ b/doc/cross-compiling.txt @@ -14,3 +14,69 @@ RHL90-XSCALE-CROSS disk image should do the trick: The "--host" argument tells configure what CPU/OS we want the code to run on and the "--build" argument tells it what CPU/OS we are building on. Both arguments must be given for this to work. + + +XXX ... more junk ... clean up later ... can't talk in detail now ... + + +The magic incantations needed to build the testbed client side for the +stargates. I've put most of the results in: + + /proj/testbed/src/ + +To do it from scratch, you'll need to allocate a node with the +RHL90-XSCALE-CROSS images. I went after libelvin and elvind first, +they needed a quick hack on their configure scripts to ignore some +tests... + +libelvin: (not sure if the without/disable flags are all right...) + + env PATH=/usr/local/arm/3.4.1/bin:${PATH} \ + CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib \ + ./configure --prefix=/tmp/elvin-install \ + --without-x --without-xt --without-gtk --disable-http \ + --disable-cluster --disable-mgmt + +!! Note the elvin-install dir for the prefix, we need to use this +because that is what elvin-config will report, and we don't want it +talking about the x86 config !! + + env PATH=/usr/local/arm/3.4.1/bin:${PATH} gmake + + env PATH=/usr/local/arm/3.4.1/bin:${PATH} gmake install + + +elvind: (not sure if the without/disable flags are all right...) + + env PATH=/usr/local/arm/3.4.1/bin:${PATH} \ + CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib \ + ./configure --with-elvin=/tmp/elvin-install/ \ + --disable-mgmt --disable-cluster + + env PATH=/usr/local/arm/3.4.1/bin:${PATH} gmake + + env PATH=/usr/local/arm/3.4.1/bin:${PATH} gmake install \ + DESTDIR=/tmp/stargate-install + + +Cross-compiling openssl for arm: + + http://dudu.dyn.2-h.org/nist/qt-notes.php#ccSsl + + env PATH=/usr/local/arm/3.4.1/bin:${PATH} gmake install_sw \ + INSTALL_PREFIX=/tmp/stargate-install + + +Finally, build the testbed tree: + + env ELVIN_CONFIG=/tmp/elvin-install/bin/elvin-config \ + LDFLAGS=-L/tmp/stargate-install/usr/local/lib \ + CPPFLAGS=-I/tmp/stargate-install/usr/local/include \ + ../testbed/configure --host=arm-linux --build=i686-linux \ + --with-brainstem=/proj/testbed/src/brainstem + +!! Add LDFLAGS and CPPFLAGS to pickup openssl !! + + gmake client + + gmake client-install DESTDIR=/tmp/stargate-install