[ECOS]How to run testprograms for lwip
Simon Kallweit
simon.kallweit@intefo.ch
Wed Jul 29 12:32:00 GMT 2009
Sergei Gavrikov wrote:
> Hi Simon,
>
> Thank you for your contribution. I tried to built lwIP's with SNMP
> support using your snapshot. Unfortunately, I ran in a problem with CPP
> defines for eCos (lwipopts.h).
Glad there are people starting to test the port :)
> mib2.c:70:
> #define SNMP_SYSSERVICES ((1 << 6) | (1 << 3) | ((IP_FORWARD) << 2))
>
> mib2.c:766:
> static const s32_t sysservices = SNMP_SYSSERVICES;
>
> lwipopts.h:102:
> #define IP_FORWARD defined(CYGFUN_LWIP_IP_FORWARD)
>
> So, the above init will become itself:
>
> static const s32_t sysservices = ((1 << 6) | (1 << 3) | ((defined(CYGFUN_LWIP_IP_FORWARD)) << 2))
>
> May be the below should be used in lwipopts.h?
>
> #if defined(CYGFUN_LWIP_IP_FORWARD)
> # define IP_FORWARD 1
> #else
> # define IP_FORWARD 0
> #endif
That's exactly the right fix. There are already some other defines which
use that scheme in lwipopts.h (CYGFUN_LWIP_PAP_SUPPORT is such an example).
> FYI: There are a few defines like this
>
> #define FOO defined(CYG_FOO)
>
> in lwipopts.h. Small testcase:
>
> #define CYG_FOO 1
> #define FOO defined(CYG_FOO)
>
> main ()
> {
> int foo = FOO;
> }
>
> It cannot be linked. FOO is not boolean ;-) I can check the same
> "rvalues" then and send a patch if you want.
As I have not used SNMP myself yet, it had to be expected that there are
some issues left. If you can provide a patch that'd be great!
Simon
--
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