> >>> One problem however: If I define LWIP_CHKSUM in my sys_arch.h, > >>> inet_chksum.c doesn't know about it. I had to add #include > >>> "sys_arch.h" to inet_chksum.c. In order to override LWIP_CHKSUM > >>> without changing source code, shouldn't include sys_arch.h? > >>> > >>> > >> I don't think so: sys_arch.h is supposed to provide things needed for > >> the sys layer (like threads, mboxes and semaphores). When compiling > >> with NO_SYS=1, the whole stack should still be compilable without the > >> whole sys_arch.h file. You will have to put the definition somewhere else. > >> > > OK. I see. This define (LWIP_CHKSUM) belongs in lwipopts.h not > > sys_arch.h as per the comment. The question becomes where to put the > > prototype for the replacement function. If it's in sys_arch.h to > > match sys_arch.c where the function definition is, then lwipopts.h or > > inet_chksum.c need sys_arch.h added to get the prototype pulled in. > > > In my opinion, the comment is wrong. Also the place you want > to put it seems wrong. The files sys_arch.c and sys_arch.h > are supposed to be an architecture-dependent extension for > sys.c. And sys.c's purpose is to provide OS abstraction > functions. Like you already stated, the LWIP_CHKSUM function > is needed regardless of the NO_SYS setting (in fact, that's > what I meant in my last mail) so you have to put it somwhere > else, not in sys_arch.c: sys.c and sys_arch.c don't have to > be included in your build when compiling with NO_SYS=1!
Yes, you're right, it doesn't belong there. I see your point on NO_SYS. > You can just put the definition into cc.h or lwipopts.h and > create your own c file with the function in it. I tried lwipopts.h and it doesn't know about types so it belongs in cc.h. > And perhaps > we should include an example in the contrib folder to clarify > this for the future...? Sure. Or clarify the comments in inet_chksum.c since they are the only reference I've seen to mention performance gains by optimizing the checksum routine and it already provides a hint about how to go about it. I don't mind doing this if you can tell me quickly how are you generating patch files that I've seen others submit. Bill _______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
