[ECOS]How to run testprograms for lwip

Sergei Gavrikov sergei.gavrikov@gmail.com
Thu Jul 30 11:02:00 GMT 2009


On Thu, Jul 30, 2009 at 10:10:53AM +0100, David Fernandez wrote:
> May be I'm wrong, but I think that the macro CYG_FUN_LWIP_IP_FORWARD
> is not only defined, but defined as 1 if the option is enabled. May be
> that what you want is to use the macro directly instead of the
> preprocessor operator applied to it.

As fae as I remember, that depends on CDL flavor type. The value can be
either not defined at all, or it can be defined as 

#define CYG_FOO 1

or it can be defined as

#define CYG_FOO 1
#define CYG_FOO_1

> That is simpler than defining another macro, and if the option is
> disabled, the macro would be defined, but its value would be 0.

Sure. But goal is do not tweak the ported sources, so there are the same
odd wrappers.

> You might want to check it this way though, in case the lwip is
> included, but those CDL options are not active for some reason...
> which may be impossible, but here you are.
> 
> #ifndef CYG_FUN_LWIP_IP_FORWARD
> #define IP_FORWARD 0
> #else
> #define IP_FORWARD CYG_FUN_LWIP_IP_FORWARD
> #endif

It's resonable. And I would prefer yet another way (CDL way):

cdl_package CYGPKG_BAR {
    ...
    cdl_option CYGOPT_HAVE_FOO {
        display         "Foo feature"
        flavor          bool
        default_value   1
        # Original bar sources want it:
        define          HAVE_FOO
        description     "
            Enable this option to use foo feature."
    }
    ...
}

Then in <pkgconf/bar.h>

will apear or won't

#define CYGOPT_HAVE_FOO 1
#define HAVE_FOO 1

In our case we would include at the end of lwipopts.h an inclusion

#ifdef __ECOS__
# include <pkgconf/net_lwip.h>
#endif

and it will be contain, e.g.

#define CYGFUN_IP_FORWARD 1
#define IP_FORWARD 1

or nothing. Etc.

May be I wrong too. So, it seems for me it's a time to re-read CDL guide
:-)

Sergei

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list