bug-gnulib
[Top][All Lists]
Advanced

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

Re: Help with create_pipe_bidi


From: Eric Blake
Subject: Re: Help with create_pipe_bidi
Date: Fri, 17 Jul 2009 06:31:28 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.22) Gecko/20090605 Thunderbird/2.0.0.22 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Eric Blake on 7/17/2009 6:25 AM:
> make: *** No rule to make target `spawn.h', needed by `all'.  Stop.
> 
> In lib/gnulib.mk, I see lines like:
> 
> BUILT_SOURCES += $(SPAWN_H)
> BUILT_SOURCES += $(STDBOOL_H)
> 
> In the corresponding Makefile, I see:
> 
> SPAWN_H = spawn.h
> STDBOOL_H = lib/
> 
> This looks suspicious.  My <stdbool.h> does not need replacing, yet this
> is ending up with a directory name (rather than a file name); meanwhile,
> since <spawn.h> DOES need replacing, but is not being spelled as
> lib/spawn.h, it is killing the entire make process.  I don't know if the
> bug is in gnulib-tool or in bison, but somehow the conversion from
> lib/gnulib.mk into inclusion from a top-level Makefile is failing to put
> built sources in the appropriate subdirectory.

Aha.  Bison is doing this in configure.ac:

# We use gnulib, but from lib/local.mk instead of lib/Makefile.am.
# So prefix paths with lib/.  See also etc/prefix-gnulib-mk.
gl_LIBOBJS=`echo "$gl_LIBOBJS" | sed -e 's, , lib/,g'`
for ac_var in ALLOCA_H ERRNO_H FCNTL_H GETOPT_H INTTYPES_H \
              STDBOOL_H STDINT_H SYS_WAIT_H WCHAR_H WCTYPE_H
do
  eval "$ac_var=lib/\$$ac_var"
done

gnulib-tool could make this part easier by automating it somehow (a new
command line option to state whether the gnulib.mk fragment will be used
in the current directory [default], or included from some other directory
where all relative paths need an extra prefix [as in bison's case]).
Meanwhile, bison needs to update this list of updated shell variables any
time it imports a new gnulib module; in this case, SPAWN_H is missing from
the list.  Also, bison should NOT do the replacement if the shell variable
is empty, so that we don't end up with entries like STDBOOL_H=lib/.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpgbx8ACgkQ84KuGfSFAYAPLwCgv8bNLFt88vaBlqteRxMFI83U
YvIAoMnG1vf2xhmuNVIGjD3v1jk8962p
=/dEG
-----END PGP SIGNATURE-----




reply via email to

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