This directory contains spec files and scripts used for creating rpms of the
latest 4.x gcc releases for openSUSE 12.3.

http://volker.top.geek.nz/arduino/tools/suse12.3/

The packages are compiled for prefix /usr.
Package building was on openSUSE 12.3 using rpmbuild.

Steps:
  * Remove all AVR packages.
  * Install cross-avr-binutils from the OSS(!!!!) repo.
  * Build + install avr-gcc-482.
  * Build avr-libc.
  * Uninstall all avr-gcc-X, avr-libc, and build the other compiler versions.

I don't know whether the compilers can be built with any avr-gcc found in PATH,
so it's safer not to.

Notes:
  * Building avr-gcc does NOT depend on avr-libc.
  * The "cross-" package name prefix is silly, serves no useful purpose and is
    just a PITA.
  * The avr-binutils get their "cross-" prefix from the maintainer in the OSS
    repo.
  * Using wrapper scripts (see
    https://bugzilla.novell.com/show_bug.cgi?id=767294) is a bad headache, and
    not required.
  * A goal is to be able to install multiple avr-gcc versions in parallel.
  * All these compilers are vanilla gcc packages, no patches.
  * I am getting substantially smaller binaries with the later gcc versions, and
    the avr-gcc maintainer says the latest are the best optimised and the least
    buggy (fixes are not backported). I don't know why the Arduino people hold
    on to this massively obsolete 4.3.2.
  * The avr-gcc maintainer says LTO is not expected to work with AVR, but it
    works for me and the additional (over non-LTO)code space saving is also
    substantial. YMMV, but it's definitely worth a try!

Issues to decide:
  * One of the compiler packages should be built with noversion_symlink set to
    1, so avr-gcc etc. symlinks are created in /usr/bin. Only one such package
    can be installed.
  * The AVR repo contains an avr-gcc 4.3.3 version with several patches applied.
    I don't know to what extent these patches are required or useful. The
    Arduino IDE 1.0.5 ships with avr-gcc 4.3.2 and I don't know how many patches
    to that. If the aim was to have the default compiler in the AVR repo match
    what the Arduino official IDE uses then that's a fail.

Volker Kuhlmann, 23 Oct 2013
Icon  Name                                 Last modified      Size  Description
[DIR] Parent Directory - [   ] run-avr-gcc 05-Sep-2013 23:15 1.4K Wrapper script for running gcc [   ] avr-libc-rpmlintrc 30-Nov-2010 01:51 438 Needed with the spec file [TXT] avr-libc-1.8.0-9.x86_64.log.lzma 23-Oct-2013 16:26 63K Log file, compressed [   ] avr-libc-1.8.0-9.spec 23-Oct-2013 15:18 13K Spec files for rpm [   ] avr-gcc-482-rpmlintrc 16-Nov-2011 22:14 375 Needed with the spec file [TXT] avr-gcc-482-4.8.2-18.x86_64.log.lzma 23-Oct-2013 16:06 123K Log file, compressed [   ] avr-gcc-482-4.8.2-18.spec 23-Oct-2013 15:10 23K Spec files for rpm [   ] avr-gcc-473-rpmlintrc 16-Nov-2011 22:14 375 Needed with the spec file [   ] avr-gcc-473-4.7.3-18.spec 23-Oct-2013 15:11 23K Spec files for rpm [   ] avr-gcc-464-rpmlintrc 16-Nov-2011 22:14 375 Needed with the spec file [   ] avr-gcc-464-4.6.4-18.spec 23-Oct-2013 15:12 23K Spec files for rpm [   ] avr-gcc-454-rpmlintrc 16-Nov-2011 22:14 375 Needed with the spec file [   ] avr-gcc-454-4.5.4-18.spec 24-Oct-2013 20:57 23K Spec files for rpm [   ] avr-gcc-436-rpmlintrc 16-Nov-2011 22:14 375 Needed with the spec file [   ] avr-gcc-436-4.3.6-18.spec 23-Oct-2013 15:16 23K Spec files for rpm [   ] 00-README 23-Oct-2013 17:53 2.1K README file
Apache/2.2.29 (Linux/SUSE) Server at volker.top.geek.nz Port 80