[En-Nut-Discussion] Runtime library dependencies

Harald Kipp harald.kipp at egnite.de
Fri Sep 28 13:16:17 CEST 2012

Hi developers,

the changes introduced to the 8-bit AVR parts of our code recently require avr-libc. Previous versions didn't include this dependency and were working fine with ImageCraft's runtime library.

I know, that the number of ImageCraft users for Nut/OS never reached any noticeable figure, that ImageCraft is closed source and that the company promotes and supports Salvo OS, not Nut/OS. But that's not the point.

In general, I do not think that it is a good idea to stick to a specific runtime library. If a some runtime libraries provide useful functions, we should use them, no question. But please, do not remove the independent code parts. Keep them as a fallback alternative. For avr-libc use

#if defined(__AVR_LIBC_VERSION__)
/* Code that requires avr-libc. */
/* Code for other libs or stand-alone code. */

My reason for trying each final version with Imagecraft is to make sure, that we do not run into dependencies, which we may later regret.

I never got Nut/OS implemented for ImageCraft (although Richard kindly provided a free version). I'm aware, that the ARM code makes some use of newlib specific features. But that shouldn't be an invitation to replace already standalone working code with newlib features. At least the very first Nut/OS for ARM implementation worked without any C library at all. May be I should re-awake this feature, which is still available in the Configurator.

As usual, I'm open to discussions.



More information about the En-Nut-Discussion mailing list