Precompiled C Cross-Toolchain

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 22:37, 31 August 2007 by Ramuk (Talk | contribs)

Jump to: navigation, search


This article based on work done by Frontalot on Linkstationwiki.org

300px-Heckert_GNU_white.svg.png

Contents

Projects / Cross Toolchains

General Information

Compiling programs on the LinkStation (native compiling) can take a very, very long time. A much faster method is to cross-compile programs using a cross-toolchain. A cross-toolchain allows you to compile code for the LinkStation on a faster computer with a different architecture, usually an i386/i686 desktop.

The cross-toolchains were built using the GPL source code provided by Buffalo Technology, custom kernel .configs, custom build scripts, and Dan Kegel’s crosstool scripts [1]. Three different toolchains are provided: (1) stock, (2) stable, and (3) unstable. See CHANGES for details.

Please be aware the cross-toolchains only come with the glibc library. You may need to install additional libraries and headers to be able to compile some programs. You can grab the additional libraries and headers from the OpenLink filesystem or from the LinkStationWiki [ipkg repository]. The first architecture is the build system while the second architecture is the target system.


PowerPC-HDHLAN

i686-pc-cygwin_powerpc-hdhlan-linux-2.0

stock toolchain:

  • FAILS UNDER CYGWIN

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.17_mvl21-sandpoint

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.17_mvl21-sandpoint

i686-pc-linux_powerpc-hdhlan-linux-2.0

stock toolchain:

  • binutils 2.11.2
  • gcc 2.95.3
  • glibc 2.2.3
  • linux-2.4.17_mvl21-sandpoint

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.17_mvl21-sandpoint

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.17_mvl21-sandpoint

powerpc-osx-10.4_powerpc-hdhlan-linux-0.2

stock toolchain:

  • TODO

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.17_mvl21-sandpoint

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.17_mvl21-sandpoint

Mipsel-HDHLAN

i686-pc-cygwin_mipsel-hdhlan-linux-2.0

stock toolchain:

  • binutils 2.14
  • gcc 3.3.1
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_mipsel_linkstation

i686-pc-linux_mipsel-hdhlan-linux-2.0

stock toolchain:

  • binutils 2.14
  • gcc 3.3.1
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_mipsel_linkstation

ppc-osx-10.4_mipsel-hdhlan-linux-0.2

stock toolchain:

  • TODO

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_mipsel_linkstation

PowerPC-HDHGLAN

i686-pc-cygwin_powerpc-hdhglan-linux-2.0

stock toolchain:

  • FAILS UNDER CYGWIN

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_hglan_htgl

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_hglan_htgl

i686-pc-linux_powerpc-hdhglan-linux-2.0

stock toolchain:

  • binutils 2.11.2
  • gcc 2.95.3
  • glibc 2.2.3
  • linux-2.4.20_hglan_htgl

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_hglan_htgl

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_hglan_htgl

powerpc-osx-10.4_powerpc-hdhglan-linux-0.2

stock toolchain:

  • TODO

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_hglan_htgl

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_hglan_htgl

ppc64-pc-linux_powerpc-hdhglan-linux

This paragraph is currently a stub.

Feel free to add content to it.

ARM9-LS-GL

Cross Toolchain

Todo: Import information from forum.

ScratchBox

Scratchbox is a cross-compilation toolkit designed to make embedded Linux application development easier. This sandboxed environment allows you to do a simple ./configure; ./make; ./make install without specifying any additional --host or --target parameters when starting configure. Please consult the ScratchBox installation manual for more information. Scratchbox makes use of the cross compiler mentioned above to compile and link ARM binaries for the LS Pro. Make sure to download the so called "legacy" version.

Native Toolchain

  • Yugi has managed to get a working native toolchain. It is available here
  • An updated native toolchain containing gcc-4.1.1 is currently being developed.

Todo: Import information from forum here.



Build your own toolchain

You can build your own cross-toolchain using the appropriate source code and the configuration files I have posted in the downloads area. Please see Build (and use) a cross-toolchain using Dan Kegel's crosstool 0.38 for complete directions.