Upgrade of prehistoric tool chain

Hi Arduino-Users,

I just stumbled across this description on how to get rid of the old originally delivered Windows tool chain:

Since also the official original Arduino mega256 boards are suffered from this issues of an since years
outdated toolchain, I hope that somebody of the maintainers takes this action item and updates the tool
chain on the next release.

Axel

Recently I was replacing WinAVR in the ide and I had to modify a lot of files from the ide because the new avr-g++ didn't worked (new one required working directory set on the process creation). I am not sure if I did all the things from that doc but magically the same sketches from original 1.0.1 turned out smaller in my modded 1.0.1.

Also I found something very nice to add: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1224729260/all to enhance all the experience of having an updated winavr-avrdude

And noticed again, how efficient is the new compilator. Trying to match similar text to avoid wasting ram :smiley: I will keep making tests and eventually release a fully tested 1.0.1 with the new winavr :slight_smile: but anyway it will be nice to see that in the official version one day.

OK! As I said I didn't followed the guide you posted (looks very complete), mainly I just modified:

And finally added an etc folder with the config from the "bin" path of the last version of WinAVR. I am not sure if all boards will be supported, I only have Uno and Mega to test, but hex size is now couple bytes smaller always.

Also full size is now 39 mb now! including java (too much crap in the original winavr directory)

eried wrote:

I had to modify a lot of files from the ide because the new avr-g++ didn't worked

IDE tweaking is a time consuming process, normally all the compiler stuff should be in a config file similiar to boards.txt in the
hardware directory.

I recently found a tool named Arscons. It mimics the Arduino build process with the tool scons. With this tool it is easier to switch
between toolchains, check out compiler settings and make comparissions about the compiler performance and code sizes. Since it uses
the automatic dependency tracker of scons, the build speed after the first run increases dramatically. I was needed to make some
patches to the script in order to fix some bugs, Homin, the maintainer of Arscons, integrated some of this patches.

Well, I am more oriented to GUI rather than command prompt (haha should I say 'prehistoric interface'?), the IDE can be polished a lot more :slight_smile: for the moment I am pretty happy with the result.

The main issue was how the old arduino ide handled the "working directory" when calling avrgcc, so newer versions of avrgcc didn't found any of the required dependencies due the way they were called.

(haha should I say 'prehistoric interface'?)

You can if you like. I prefer 'more efficient'. Microsoft seem, at last, to be acknowledging the fact with Server Core.

Oops, I don't want to start a flame war of GUI vs. command line.

But from my point of view the IDE should separate a bit more the frontend from the backend.
Since the IDE is made of Java, 'ant' could be used instead of the hard coded build rules in the code.
I feel that GNU/make and Scons would not look so java-ish then ant.