summaryrefslogtreecommitdiffstats
path: root/README.cdn-X
diff options
context:
space:
mode:
Diffstat (limited to 'README.cdn-X')
-rw-r--r--README.cdn-X78
1 files changed, 78 insertions, 0 deletions
diff --git a/README.cdn-X b/README.cdn-X
new file mode 100644
index 0000000000..4f514e578f
--- /dev/null
+++ b/README.cdn-X
@@ -0,0 +1,78 @@
+Building RTEMS Canadian Cross
+=============================
+
+RTEMS now contains experimental and yet incomplete support for building
+it Canadian Cross.
+
+1. Introduction
+---------------
+If you don't know what Canadian Cross Building means, you probably don't want
+to apply it and should consider stop reading here.
+
+Interested readers might want to read Ian Lance Taylor's article at
+http://www.airs.com/ian/configure for underlaying details and working
+principles.
+
+2. RTEMS
+--------
+Example: Building RTEMS for sparc-rtems under i386-pc-linux-gnu to be hosted
+on a i386-cygwin platform.
+
+2.1 Required tools
+------------------
+* A i386-pc-linux-gnu cross sparc-rtems toolchain.
+* A i386-pc-linux-gnu cross i386-cygwin toolchain.
+* A i386-pc-linux-gnu native toolchain.
+
+We further on assume these to be installed to these locations:
+/opt/rtems .. linux cross sparc-rtems toolchain
+/opt/i386-cygwin .. linux cross i386-cygwin cross toolchain
+/usr .. linux native toolchain and further tools.
+
+2.2 Building sparc-rtems
+------------------------
+The first step is to build RTEMS for sparc-rtems under linux.
+
+mkdir build
+cd build
+<path>/rtems/configure [options] \
+--target=sparc-rtems \
+--prefix=/opt/i386-cygwin/rtems/sparc-rtems
+make
+make install
+
+This will build a standard sparc-rtems RTEMS to the given PREFIX.
+
+
+2.3 Building i386-cygwin host support
+-------------------------------------
+The next step is to build RTEMS host support for i386-cygwin.
+This basically means to cross-build the host tools contained in RTEMS.
+
+mkdir host
+cd host
+<path>/rtems/configure [options] \
+--target=sparc-rtems \
+--build=`<path>/rtems/config.guess` \
+--host=i386-cygwin \
+--prefix=/opt/i386-cygwin/rtems
+
+3. Known issues
+---------------
+
+* At present time, building RTEMS Canadian Cross is known to be immature, and
+to require additional work. Do not expect this to work.
+
+* The configure scripts expect to find a native c-compiler called "cc". If
+your host doesn't have such a "cc" (e.g. Cygwin) or has a non-functional
+"cc" (eg. Solaris) try introducing a symlink <functional-cc> -> cc.
+(Eg. ln -s <path-to>/gcc /opt/rtems/bin/cc) and make sure this cc can be
+found on $PATH.
+
+* It will *not* work for all targets requiring BSP-specific host-tools
+(Unfortunately, this comprizes i386-rtems/pcx86 and all powerpc BSPs).
+
+* Incomplete support for *_FOR_TARGET, *_FOR_HOST, *_FOR_BUILD environment
+variables.
+
+* The <toplevel>/make/ directory hierarchy is not treated correctly.