[PD-dev] pd buildsys: libdir / etags and the existing template

dmotd dmotd at gmx.net
Mon Sep 14 03:57:07 CEST 2009


Hans-Christoph Steiner wrote:
>
> On Sep 13, 2009, at 5:14 AM, dmotd wrote:
>
>> i'm not familiar with etags, i understand that
>> they allow emacs to to search through relevant
>> code, am i off the mark and is just globbing
>> source code enough?
>
> yes, its not just emacs, I think many other editors use them too.   
> 'etags' is my name for it, I suppose there is a more proper name for the 
> target.

okay, i don't have the 'etags' program on my 
system, so i just wanted to confirm that.. 

>> obviously this template needs to be twisted a
>> little for existing libs, but i was also thinking
>> that there should be some extra vars for
>> additional cflags / ldflags / etc.. as it seems
>> a little too simplistic in its current state?
>
> I wouldn't add anything that there isn't a direct use case for, what do 
> you have in mind? The idea is to keep it as simple as possible so its 
> easy to understand.  People rarely spend time thinking about build  
> systems, so its good to have them as simple as possible.  Then if people 
> want to have more complicated ones, they can add things.  For example, 
> once we get a Makefile template, then I think it would be good to have a 
> configure.in/Makefile.in template for more complicated build needs.

that's fine, i was just wondering if it should be 
more explicit - even if it is just blank, so that 
devs know where to put their own custom vars 
should they need to. 

>
>> in addition, as the buildsys i'm writing is
>> non-recursive, so the top level builder knows a
>> lot more about the externals tree than previously.
>> there is potential to gather information during
>> the build process, if you have any ideas please
>> let me know.
>
> 'make' and autotools build systems should be recursive, that is how  
> 'make' is supposed to work.  It has the big advantage of being more  
> modular, i.e. a library's Makefile easily can work standalone or part of 
> a bigger whole.

'make' was designed for small projects and has 
since been employed in much larger ones, the 
recursive make is not how its 'supposed to work', 
its a feature - with its own set of flaws. 

the argument against recursive makefiles is well 
stated here:

http://miller.emu.id.au/pmiller/books/rmch/

its not my intention to make anything less 
'modular', i have addressed the need for each lib 
to be to be self contained and if its desirable a 
recursive system could easily be reemployed. in 
fact it should be easier for individuals to 
maintain their own code and builder scripts 
without having to worry too much about the parent 
builder scripts.

in any case, where it is necessary (autotools / 
sophisticated build mechanisms) the recursive 
technique is taken up again.

there are numerous benefits of employing a 
non-recursive technique, it makes the buildsystem 
more aware of the codebase, it avoids duplication 
of code across many makefiles (and the maintanence 
issues that causes), it allows writing macros and 
functions that are standard across each library, 
and it is the first step towards a nice menu 
driven configuration system - which is the next 
phase of my developments on the buildsys.

please rest assured that i am not planning to just 
dump this on the svn and expect immediate take up, 
i will provide you with a test case so that you 
can inspect the changes and provide feedback 
before anything is commited.

i think you will understand better when you see 
something concrete. i'll endeavour to finish up 
asap!

cheers, 

dmotd




More information about the Pd-dev mailing list