gnustep-dev
[Top][All Lists]
Advanced

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

Re: gnustep-make experiment


From: Matt Rice
Subject: Re: gnustep-make experiment
Date: Fri, 09 Feb 2007 03:07:37 -0800
User-agent: GNUMail (Version 1.2.0)

On 2007-02-08 20:29:50 -0800 Nicola Pero <address@hidden> wrote:


If we had gnustep-make depend on pkg-config, then you wouldn't be able to use GNUstep unless you installed pkg-config first.

That's not entirely correct. GNUstep can be taught how to read pkgconfig-format-file, such as GNUstep.pc, thus eliminating the need for GNUstep.conf entirely,

We designed the GNUstep.conf syntax so that it can be very efficiently read
from makefiles, shells, and C/ObjC code.

The 'pkg-config' meta-file format can not be read easily from makefiles without firing off a subprocess. We'd then need to fire off an additional subprocess
for each invocation of make, which, performance-wise, is bad.


a quick test of a makefile executing pkg-config 1000 times takes about 6 seconds.. say there are 5 invocations of pkg-config per invocation of make... thats 200 make processes.
This is a drop in the bucket.

all that make does is execute subprocesses. And this seems to be an argument against
-config in general.


PS: I must be missing your point completely because I don't really understand what you're trying to say. Technically, you're suggesting we depend on the gnome/gtk config tools (which were not designed for us, so the integration would be massively painful)
just for the sake of "being more similar to gnome/gtk".


pkg-config is not strictly a gnome/gtk tool (it may have originated there i'm not sure) it is used by many non-gnome projects openssl and xorg are not gnome/gtk

-config files in general have been embraced by libraries in general long before pkg-config came about, and it saves libraries from polluting the path with a ton of, -config scripts and generally provides a better -config than software creating their own.

if we want a decent -config system, we're going to reimplement pkg-config... on my system i have over 300 pkg-config enabled libraries... and i'm glad I don't have
300 foo-config scripts in my $PATH.

in fact theres libxml2, openssl, cairo, libpng, libxslt, audiofile, portaudio,
libart, freetype all possible gnustep dependencies from our howto page
all which have embraced pkg-config.

so out of the 16 potential deps listed there, more than half support pkg-config.

But I suspect what you'd really want to discuss is how to compile things without using gnustep-make. Which is a perfectly valid discussion, and in that context pkg-config might make sense. If you want to build using the autoconf/automake/pkg-config toolchain, then using pkg-config is an interesting option.


No I believe that he is saying is that pkg-config can be a dependency for gnustep-make and at runtime gnustep can read the .pc file directly. and avoid a runtime dependency
on pkg-config.

the patch I posted also only had a gnustep-make dependency on pkg-config but since it kept gnustep.conf if you wanted to modify gnustep.conf you also had to modify gnustep.pc

The most obvious option is provide a gnustep-config tool that will output the gcc flags for the various stages/types of compilation, and provide some basic indication of where to install things, then you could at least compile and install tools and libraries without gnustep-make. We could make it reasonably similar to the traditional xxx-config gnome/gtk tools if you think that would make it easier to use. We can think about that.

I think this would be a step in the right direction but everybody has already been down
that road and since then switched to pkg-config.





reply via email to

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