lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-devel] Converting to git


From: Wojciech A. Koszek
Subject: Re: [lwip-devel] Converting to git
Date: Fri, 29 Jul 2011 11:57:15 +0100
User-agent: Opera Mail/11.50 (Linux)

Dnia 28-07-2011 o 15:40:08 Kieran Mansley <address@hidden> napisał(a):

On Thu, 2011-07-28 at 15:07 +0100, Wojciech A. Koszek wrote:
Dnia 28-07-2011 o 12:39:18 Kieran Mansley <address@hidden> napisał(a):

> On Thu, 2011-07-28 at 12:23 +0100, Wojciech A. Koszek wrote:
>> Reconsider bringing this stuff as discussed with Simon above.
>
> I've not yet seen a strong argument in favour of putting contrib into
> the main lwIP repository.  Can you make one?

My arguments were present above.

I wanted to make lwIP similar to other projects:

        git clone <proj_repo>
        cd proj
        make

OK, thanks for explaining.  I think this is really a different issue to
whether the contrib module is separate.  What you're asking for is a top
level makefile.

That is something I am actively against for lwIP.  lwIP isn't designed
or intended to be used "out of the box".  It has to first be ported to
your device or OS, so which port of lwIP would the top level make build?

Kieran,

That's pretty easy:

% make
usage:
        make win32      -- build lwIP test application for Windows (VC++)
        make cygwin     -- build lwIP test application for Windows (Cygwin)
        make unix       -- build lwIP test application for UNIX

(for VC++ you'd call 'nmake')

In the ideal world we'd make common case fast and pick the proper default
automatically (Windows user on lwIP hitting 'make' would get .exe), but
I't technically hard, due to "nmake" vs "make".

There are some example ports that do have their own make files, and if
you cd to those and type make it will build that port, so your set of
commands above becomes:

git clone <lwip_repo>
git clone <contrib_repo>
cd contrib/ports/unix/proj/lib (or whichever target you want to build)
make

Perhaps this could be better documented to make it easier for someone
new to lwIP to discover these examples.

So:

1) The reason why lwIP doesn't have its own make files is that it will
almost always be used as part of some other project, and so be built by
that project's make files.  I don't think it is often (if ever) used as
a stand-alone bit of code that could be built separately (e.g. like a
shared library in unix would)

Top level makefile doesn't cause problems here. I don't know how you develop things in lwIP-land. I prefer to debug as many things in user-land as possible.
That's where lwIP as an application is actually very useful.

2) The reason that lwIP has a separate contrib repository is to make it
very clear which code is lwIP, and which is just other stuff that can be
used with it.  This avoids confusion about which code is being developed
and released by us and which code is developed as part of a port of
lwIP.  The example applications are I think conceptually quite separate,
so it's not those that I'm worried about, it's the distinction between
"lwIP" and "a port of lwIP to a particular system" that needs to be
made.

Just call it "tools" or "examples" or whatever. "contrib" is fine enough
for me. Anyway, no matter what the name is, we could just insert 1 paragraph
explaining what each directory does. That's it.

--
Wojciech A. Koszek
address@hidden
http://FreeBSD.czest.pl/~wkoszek/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]