> On Tue, 2008-02-12 at 10:37 +1300, Amos Jeffries wrote:
>> > When we get a better VCS, we should discuss moving include/ and lib/
>> > stuff into src/ with the exception of 3rd party code. This would avoid
>> > problems created by that artificial boundary.
>>
>> What I have been mulling over after seeing code heirarchy like this:
>>
>> /include + /lib == C library functions for portability (autotools
>> requires these here).
>
> In my experience, autotools do not require them to be there or those
> requirements can be relaxed as needed. Our portability wrappers may
> still use Squid-specific code so placing them outside of src/ is not a
> good idea, IMO. There got to be a better reason to place something
> outside of src/ than "autotools" :-).
My reading of the AC_REPLACE_FUNCS(...) is that it when it detects a
portability issue it adds include/missing-function.h and
lib/missing-function.c to the build list.
We are using that for several library functions.
>
>> ?somewhere? == third party additions (currently /lib/<name>/*
>
> /lib/name is not too bad. We can even do src/3rdparty/name or something
> like that, but perhaps keeping that stuff outside of src/ is a good idea
> even though it is also "source".
I'm not disagreeing on lib/name/. Just splitting the so its kept seperate
from the raw portability files.
>
>> /src/ == core code at lowest level
>
> I would move it to src/base or src/backend or something like that. And
> there should not be really many files there.
/src/common ?? (I think you were against a /src/core earlier)
>
>> /src/<module> == 'independant' module code. namely the files like
>> existing
>> ICAP, FS, Auth code. But making sure that all the other independant code
>> gets its own sub-dirs too (thinking each server-side gateway, pinger,
>> DNS?, ESI, Others?)
>
> Yes, but "module" and "independent" should be treated loosely. For
> example, logging may not be a "module" or "independent", but may need
> its own directory. Same for memory management.
>
> In short, when you have or want to have a bunch of Something*.{cc,h}
> files, place them into src/Something/ directory.
Exactly.
Amos
Received on Mon Feb 11 2008 - 15:19:55 MST
This archive was generated by hypermail pre-2.1.9 : Sat Mar 01 2008 - 12:00:09 MST