diff options
Diffstat (limited to 'scripts/README.cdn-X')
-rw-r--r-- | scripts/README.cdn-X | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/scripts/README.cdn-X b/scripts/README.cdn-X deleted file mode 100644 index 6393195961..0000000000 --- a/scripts/README.cdn-X +++ /dev/null @@ -1,122 +0,0 @@ -Applying RTEMS-toolchain RPM-specs for Canadian Cross Compilation -================================================================= - -Example: Building a Cygwin-based xxx-rtems toolchain under Linux: - -Quickstart ----------- -The command to invoke rpm for building RTEMS's gnu toolchain cdn. cross -under Linux is: -rpmbuild -ba xxx-rtems-yyy.spec \ ---define='_build i686-pc-linux-gnu' ---define='_host i686-pc-cygwin' \ ---target=i686-pc-cygwin - -[If using rpm < 4.1, use "rpm" instead of "rpmbuild".] - - -If you don't understand this, read on ... :-) - -1. Prerequisites ----------------- -* a native Linux-toolchain (eg. gcc, binutils). -Prebuild binaries should come with any Linux distribution. -We further on assume this toolchain to be installed in /usr, such that -/usr/bin/gcc is supposed to be your native CC. - -* a Linux -> Cygwin cross-toolchain -RPM-specs are available in the contrib/cygwin directory in RTEMS's sourcetree. -Prebuild binaries should be available from - ftp://ftp.OARCorp.com - http://packman.links2linux.de - -We further on assume this toolchain to be installed in /opt/i686-pc-cygwin, -i.e. /opt/i686-pc-cygwin/bin/i686-pc-cygwin-gcc is assumed to be the linux->cygwin -cross compiler. - -2. Preparations ---------------- - -* Make sure to have /usr/bin and /opt/i686-pc-cygwin/bin in $PATH. - -* Download the source-tarballs and patches. Put them into a directory where -rpm can pick them up (/usr/src/redhat/SOURCES under RH) - -* configure this directory -./configure -[Many files being generated] - -Among these files the rpm.specs will be generated, one per tool in its -corresponding subdirectory. - -The spec-files you are looking for are: -binutils/xxx-rtems-binutils.spec -gccnewlib/xxx-rtems-gccnewlib.spec -gdb/xxx-rtems-gdb.spec - -[You must have appropriate versions of autoconf and -automake installed.] - -3. Building ------------ - -rpmbuild -ba binutils/xxx-rtems-binutils-<binutilsvers>.spec \ ---define='_build=i686-pc-linux-gnu' \ ---define='_host=i686-pc-cygwin' \ ---target=i686-pc-cygwin - -rpmbuild -ba gccnewlib/xxx-rtems-gcc-<gccvers>-newlib-<newlibvers>.spec \ ---define='_build=i686-pc-linux-gnu' \ ---define='_host=i686-pc-cygwin' \ ---target=i686-pc-cygwin - -rpmbuild -ba -gdb/xxx-rtems-gdb-<gdbvers>.spec \ ---define='_build=i686-pc-linux-gnu' \ ---define='_host=i686-pc-cygwin' \ ---target=i686-pc-cygwin - -Each of these commands builds several corresponding rpms. -[Beware: This can take several hours.] - -NOTE: These packages will be packaged as Linux' rpms, but contain Cygwin -binaries. If using the default rpm-directories, this will put the rpms into -your linux RPM-directories, i.e. pollute these directories with foreign -RPMs. - -To avoid this, I recommend to set up RPM's internal variable %_rpmdir to -point to a different directory than the default or to use a different root for the cygwin -RPM directory tree, i.e. to set %_topdir. [1] - -4. Repackaging the RPMS into tarballs -------------------------------------- - -Basically, there exist two ways: - -* Applying "alien". -I highly recommend using this, but unfortunately alien is not -shipped with all Linux distributions. -[alien can also be applied to repackage the rpms into other packaging -formats.] - -* Manual unpacking and tar-ing -cd <empty-directory> -rpmcpio xxx-rtems-yyy.<arch>.rpm | cpio -i --make-directories -tar cjvf <where-ever>/xxx-rtems-yyy.<arch>.tar.bz2 opt/rtems -rm -rf opt/rtems - -NOTE: You might want to consider performing repackaging as root to avoid -loosing file permissions. - -5. Other platforms ------------------- -The procedure to build for other platforms (Solaris, ...) is analogous. Just -replace i686-pc-cygwin with your target, eg sun-sparc-solaris2.8 - -Ralf Corsepius 2003-01-31 - -[1] Setting up an rpm variable can be done: -* on the command line: -rpmbuild --define='_topdir /home/user/src/cygwin' ... -* from a user's ~/.rpmmacros -_topdir /home/user/src/cygwin |