autoconf trouble

Shawn Starr shawn.starr at rogers.com
Sun Sep 11 02:14:02 PDT 2005


On September 10, 2005 10:18, Enrico Weigelt wrote:
<snip>
> What's exactly is wrong with imake ?

As someone who wrote an Imake build system for a previous company I can tell 
you. HELL. Sure, it works but writing macros for different platforms ment a 
lot of work nevermind the existing imake macros.

>
>
> Well, of course it doesn't go far enough. It's still rule based.
> The optimal model for such buildfiles should be some lightweight
> and strictly descriptive, which only contains exactly the required
> information - and, of course, completely platform / toolchain
> independent.
>
> For example the build information for libXcmcp could be something like:
> (here in some XML presentation - but that's syntactic sugar)
>
>
> <library name="Xdmcp" include-prefix="./include/"
>     <description>
> 	X Display Manager Control Protocol Library
>     </description>
>     <include name="X11/Xdmcp.h" />
>     <include name="X11/Xdmcpconf.h" />
>     <source name="AA8.c" lang="c"/>
>     <source name="A8Eq.c" lang="c" />
>     ...
> </library>

Exactly why is Automake not easier then bloating things with XML? I like to 
hand edit my .am files without worrying about missing > or /'s.

>
> That's all what's individial for libXdmcp. Evrything else is strictly
> derived from that and implemented by an universal library build tool:
>
> + pathes (include, libpath, etc)
> + compiling the sources to objects
> + linking the objects to shared / static library
> + generating .pc file
> + installing all files into appropriate locations
> + ...

We have this already and its rather easy to make a m4 macro to generate a .pc 
file.

> There are only a few points where the package is interested in platform
> dependent stuff, ie. endianess, type sizes, etc. For that we simply
> define some standardized symbols - this is also done by the buildsystem.

I'd say there's rather more then just a 'few'.

Shawn.


More information about the xorg-modular mailing list