This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Why tests in CDL are 'calculated'.


>>>>> "Sergei" == Sergei Organov <osv@javad.ru> writes:

Sergei> To solve the problem I've changed all the definitions of tests
Sergei> to have 'default_value' instead of 'calculated', and now I
Sergei> just change the strings in the 'ecos.ecc'. This works
Sergei> perfectly for me, but apparently there is some reason behind
Sergei> the current status of these options that I don't see. So I've
Sergei> decided to ask.

Sergei> BTW, the fact that setting CFLAGS to something simple as -O2
Sergei> doesn't work is a little bit confusing for those who worked a
Sergei> lot with sources being configured by automake/autoconf. Wasn't
Sergei> it considered to put most of the required compiler flags to
Sergei> another make variables to leave CFLAGS, CXXFLAGS, and LDFLAGS
Sergei> available for simple modification in the command line?

IMHO the current build system isn't very good for the CLI-user. It's
hard to change compiler flags for one thing, tests are built in a
baroque way and it isn't safe to use 'make -j'.

But that's mostly because there hasn't been time to work out proper
ways yet for how to handle most of these things. I'm sure it'll get
fixed eventually, and it'll be _way_ better than what we had before
(!CDL). 

In particular I'm looking forward to the tests build rule magic to get
redesigned; we spend a fair amount of time building tests. In the
future only tests that are relevant for a given configuration will get
built (that is, tests that now just report NA when run will not get
built at all).

Meanwhile we have to live with the way things are (i.e, suffering
slightly from catering for a GUI). Which isn't too bad, really. We
have CDL at our disposal now - we can tweak things if necessary.

Another hint: I'm using a 'jskov' template which contains:

-----------------------------------------------------------------------------
cdl_savefile_version 1;
cdl_savefile_command cdl_savefile_version {};
cdl_savefile_command cdl_savefile_command {};
cdl_savefile_command cdl_configuration { description hardware template package }
;
cdl_savefile_command cdl_package { value_source user_value wizard_value inferred
_value };
cdl_savefile_command cdl_component { value_source user_value wizard_value inferr
ed_value };
cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_
value };
cdl_savefile_command cdl_interface { value_source user_value wizard_value inferr
ed_value };

cdl_configuration template_default {
    description "
This is a default eCos configuration. It contains the infrastructure,
kernel, C and maths libraries, plus their support packages." ;
    package     CYGPKG_HAL current ;
    package     CYGPKG_IO current ;
    package     CYGPKG_IO_SERIAL current ;
    package     CYGPKG_INFRA current ;
    package     CYGPKG_KERNEL current ;
    package     CYGPKG_IO_WALLCLOCK current ;
    package     CYGPKG_ERROR current ;
};

cdl_option CYGPKG_KERNEL_CFLAGS_ADD {
    user_value -pipe ;
};

cdl_option CYGPKG_INFRA_CFLAGS_ADD {
    user_value -pipe ;
};
-----------------------------------------------------------------------------

The CFLAGS controls don't exists in all packages (e.g., I only added
the INFRA one today). I'm not even sure if they're here to stay - but
it's a way for me to ease the use of eCos from the CLI - so I use it
(or abuse it, depending on your POV).

Jesper

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]