File.........: A - Credits.txt
Copyright....: (C) 2010 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
License......: Creative Commons Attribution Share Alike (CC-by-sa), v2.5


Credits  /
________/


I would like to thank these fine people for making crosstool-NG possible:

  Dan KEGEL, the original author of crosstool: http://www.kegel.com/
    Dan was very helpfull and willing to help when I build my first toolchains.
    I owe him one. Thank you Dan!
    Some crosstool-NG scripts have code snippets coming almost as-is from the
    original work by Dan.

And in order of appearance on the crossgcc ML:

  Allan CLARK for his investigations on building toolchains on MacOS-X.
    Allan made extensive tests of the first alpha of crosstool-NG on his
    MacOS-X, and unveiled some bash-2.05 weirdness.

  Enrico WEIGELT
    - some improvements to the build procedure
    - cxa_atexit disabling for C libraries not supporting it (old uClibc)
    - misc suggestions (restartable build, ...)
    - get rid of some bashisms in ./configure
    - contributed OpenRISC or32 support

  Robert P. J. DAY:
    - some small improvements to the configurator, misc prompting glitches
    - 'sanitised' patches for binutils-2.17
    - patches for glibc-2.5
    - misc patches, typos and eye candy
    - too many to list any more!

  Al Stone:
    - initial ia64 support
    - some cosmetics

  Szilveszter Ordog:
    - a uClibc floating point fix
    - initial support for ARM EABI

  Mark Jonas:
    - initiated Super-H port

  Michael Abbott:
    - make it build with ancient findutils

  Willy Tarreau:
    - a patch to glibc to build on 'ancient' shells
    - reported mis-use of $CT_CC_NATIVE

  Matthias Kaehlcke:
    - fix building glibc-2.7 (and 2.6.1) with newer kernels

  Daniel Dittmann:
    - PowerPC support

  Ioannis E. Venetis:
    - preliminary Alpha support
    - intense gcc-4.3 brainstorming

  Thomas Jourdan:
    - intense gcc-4.3 brainstorming
    - eglibc support

  Many others have contributed, either in form of patches, suggestions,
  comments, or testing... Thank you to all of you!

Special dedication to the buildroot people for maintaining a set of patches I
happily and shamelessly vampirise from time to time... :-)


20100530: Status of this file

It's been about a year now that we've moved the repository to Mercurial.
The repository now has proper authorship for each changeset, and this is
used to build the changelog at each release. This file will probably no
longer be updated, and is here to credit people prior to the Mercurial
migration, or for people discussing ideas or otherwise helping without
code.

If you think you deserve being cited in this file, do yell at me! ;-)
