[En-Nut-Discussion] qnuconf feature required

Ulrich Prinz uprinz2 at netscape.net
Tue Jul 19 22:32:39 CEST 2011



On 19.07.2011 09:46, Harald Kipp wrote:
> Hi Ulrich,
> 
> On 7/18/2011 11:40 PM, Ulrich Prinz wrote:
>> Can we add a line edit field in qnutconf Settings/Tools page that
>> enables the user to define the toolchain name?
>>
>> It could be preset with "arm-none-eabi-" or "arm-elf-" but as everything
>> is pretty much automated, this toolchain selection is always a horror as
>> you have to find the right Make*.* to put your things in, or you have to
>> open a console window and export or set something that overrides the
>> makefile settings.
> 
> I'm not able to follow. The Makefile selection is done on the "Build"
> page by selecting the "Platform". The selection list is created
> automatically by scanning the source directory nut for Makedefs.

Yep, that is a good idea, but is the root cause for our problems with
arm-elf/arm-none-eabi and yes, I have another one armel-unkown-gnueabi.

So making the selection by selecting the compiler is a good idea, but if
you use a slightly different one, you have to add another one to the
selection.
> 
> It is however required, that your current directory is the parent
> directory of the source tree, typically ~/ethernut/.
> 
That is no problem.
> 
>> And for alinux user it is very unusual to use TRGT as the toolchain
>> variable.
> 
> Obviously a Windows user introduced this. ;-) IMHO this setting
> shouldn't be required at all. Look to Ole's arm-eCross implementation in
> the trunk. He did it the right way by simply adding a few Make* files.
> 
Not sure, I modified the Makefiles a lot in the devnut_m3n to generalize
and unify them. There is only one point left where the toolchain related
things are set up.

> Although I'm wondering, why he (Ole) always uses upper-case letters in
> filenames, which is _most_ unusual for Linux users. ;-) Be prepared,
> that I'll rename these.

Fine for me.
> 
> Btw., could it be that you are experiencing those problems in the m3
> branch only? Often the Configurator is highly depended on the right set
> of configuration and make files.
> 
No, for new compilers and toolchain things I always try trunk first,
then whatever I need.
> 
>> So offering this as a edit field would make life easy for everyone.
> 
> I think that the way Ole did it offers greater flexibility in the
> current state of the project and is easy to implement.

Hm, no it is far more easy for normal user that doesn't to bother with
compilers and toolchains. Therefore my suggestion to preset the fields
by the selection but offer to modify them manually.

Oh, may be I check something else. If you define TRGT and other
variables of the makefile, you may define them in the exports too. So
setting export(Linux) or set (DOS/WIN) TRGT=arm-none-eabi- should
override the things set in the Makefile.
> 
> In long term we may end up with too many Makedefs and would need an
> explicit configuration of certain compiler options. But this requires
> some more effort than just a new entry field.

This I don't see. We only need about 5 tools of the toolchain. And in
devnut_m3n I already have one single file (was it Makevars.cm3gcc) that
defines everything like
CC=arm-none-eabi-gcc
LD=arm-none-eabi-ld
AS=arm-none-eabi-as
AR=arm-none-eabi-ar
RM=rm -f

Here you could go and say TARGET=arm-none-eabi-
and
CC=$(TARGET)gcc

So in linux then export TARGET=arm-elf-
will override the Makevar.cm3gcc automatically.

But then you are able to add lets say MIPS32 architecture. If you use
gcc, everything is still the same in all those other makefiles, you
simply test the compiler with export TARGET=mipsel-unknown-eabi- (or set
in windows).

Regards,
Ulrich



More information about the En-Nut-Discussion mailing list