[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