Mail Archives: cygwin/2002/05/01/22:13:37
Hello Charles,
I'll just mention, since I've been thinking a lot about
pkg-config lately, that I wondered whether the buggy m4
macro code that makes it work (theoretically) with
autoconf, has been fixed. I'll download the source along
with the updated package and look for a changelog or
something. But in case I run out of time: the primary
thing I am referring is that the shell code written out
to a `configure' file due to the inclusion of the macro
call PKG_CHECK_MODULES(LIBPNG, libpng10 >= 1.0.13, [blah
blah]) is VERY odd stuff, even for `configure'.
The shell script code looks like this (this is one
*section* of a huge file, NOT meant to be clear,
complete, stand-alone, or anything else, and *I*
basically didn't write it but rather it was written
by "autoconf" -- so if you see something you don't like
then before you sound off about my bad shell scripting
style, please get it STRAIGHT about what this IS and
where it comes from and why I am bringing it up!)
==== watch for miswrapping ========
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user
override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
test -z "$as_dir" && as_dir=.
if ! test -d $as_dir; then continue 1; fi
for ac_exec_ext in '' $ac_executable_extensions; do
if eval $as_executable_p "$as_dir/
$ac_word$ac_exec_ext"; then
ac_cv_path_PKG_CONFIG="$as_dir/
$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/
$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_path_PKG_CONFIG" &&
ac_cv_path_PKG_CONFIG="no"
;;
esac
fi #RINGWALD
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
==== end of shell code excerpt from `configure' ===
The part I mean to bring to your attention is this line:
if eval $as_executable_p "$as_dir/
$ac_word$ac_exec_ext"; then
The 'eval' is my modification because on my system at
least (Cygwin running in Win98SE), that is a syntax
error without the "eval". $as_executable_p resolves
to "test -f" I believe and the shell sees as a single
argument, not as a call to "test" followed by an
argument flag "-f".
All that above is just to detect whether pkg-config is
installed on the system ,BTW. It seems very bizarre to
me that this baroque code is invoked when a simple test
for a non-zero return value from a shell call to `pkg-
config --version >/dev/null' would do.
I know I know, nobody understands what I am talking
about ;-).
Regards,
Soren Andersen
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -