pkg-config 0.22 does not deal correctly with embedded blanks in directory names (fwd)
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Sat Feb 20 10:09:49 PST 2010
Hi Tollef:
My understanding is you are the developer of pkg-config.
I am a Linux developer, but I feel dealing with embedded blanks in directory
names is an important issue. Thus, I am still hoping for a reply
from you about an embedded blanks issue I found in pkg-config.
(1) To take a specific example, for
Libs: -L/home/software/plplot svn/installcmake/lib
is there a current way (quotes or escapes or something else?)
to force the correct output result from -libs (i.e.,
-L/home/software/plplot svn/installcmake/lib
rather than the incorrect result that is actually obtained,
svn/installcmake/lib -L/home/software/plplot
?
(2) If not, then I hope you have plans to deal with this bug.
Alan
---------- Forwarded message ----------
Date: Wed, 13 Jan 2010 21:53:31 -0800 (PST)
From: Alan W. Irwin <irwin at beluga.phys.uvic.ca>
To: pkg-config at lists.freedesktop.org
Subject: pkg-config 0.22 does not deal correctly with embedded blanks in
directory names
My use case is I am testing Linux (Debian Lenny) pkg-config (version 0.22-1)
builds of PLplot examples with embedded blanks in the PLplot installation
prefix in anticipation that PLplot Windows users will tend to use embedded
blanks in directory names. However, pkg-config is having difficulty
handling those blanks.
Here are the specifics. The PLplot install prefix is
/home/software/plplot svn/installcmake. Note the embedded blank.
The corresponding plplotd.pc file (simplified for illustrative purposes) is
libdir=/home/software/plplot svn/installcmake/lib
includedir=/home/software/plplot svn/installcmake/include/plplot
drvdir=/home/software/plplot svn/installcmake/lib/plplot5.9.5/driversd
Name: PLplot
Description: Scientific plotting library (double precision)
Requires:
Version: 5.9.5
Libs: -L${libdir} -lplplotd
Cflags: -I${includedir}
I get the following inconsistent results with the above plplotd.pc file.
software at raven> pkg-config --variable=includedir plplotd
/home/software/plplot svn/installcmake/lib
software at raven> pkg-config --cflags plplotd
svn/installcmake/include/plplot -I/home/software/plplot
software at raven> pkg-config --variable=libdir plplotd
/home/software/plplot svn/installcmake/lib
software at raven> pkg-config --libs plplotd
svn/installcmake/lib -L/home/software/plplot -lplplotd
That is, the embedded blank in ${includedir} and ${libdir} is simply passed
back for the --variable case which is the correct result. However, the
pkg-config parsing of Libs: and Cflags: treats the variable that contains
the embedded blank as two separate blank-delimited items.
Can you recommend some way to work around this limitation of pkg-config? I
have tried putting both double quotes and single quotes around ${libdir} and
also replaced ${libdir} in the Libs: line with a string with an escaped
embedded blank, i.e.,
Libs: -L/home/software/plplot\ svn/installcmake/lib -lplplotd
but nothing works.
If there is no current way to convince pkg-config to ignore embedded blanks
when parsing Libs: and Cflags: then please consider this post to be a
wishlist bug item to have a way (perhaps using quotes and/or escaped blank
as in the bash command line) to specify a non-parsed blank for Libs: and
Cflags:. This ability is going to be important on the Unix side of things
for those developers who have escaped from Windows but who still tend to use
embedded blanks in directory names. (This is exactly how this PLplot issue
first came up.) This ability is also obviously important on the Windows side
of things as well.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
_______________________________________________
pkg-config mailing list
pkg-config at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pkg-config
More information about the pkg-config
mailing list