According to Sam Steingold on 2/23/2010 2:05 PM: > Hi, > I updated gnulib in clisp and gnulib-tool installed arg-nonnull.h & > warn-on-use.h in src/build-aux. > why aren't these files in the usual place (src/gllib), together with all > the other headers?
Because the versions in src/build-aux are templates, which get further modified by a sed script during make, such that you end up using the modified contents as the inline portion merged with *.in.h header templates to form replacement headers in build/gllib. > > now, I am getting this error when building modules which use gnulib: > > make[2]: *** No rule to make target > `CLISP-HOME/modules/syscalls/src/build-aux/arg-nonnull.h', needed by > `arg-nonnull.h'. Stop. It seems like your problem is that top_srcdir is pointing to CLISP-HOME/modules/syscalls/src instead of CLISP-HOME? But why is that happening? > this is no good - I need to be able to specify the location of the > build-aux directory (since it could be coming from an existing clisp > installation, not a build directory). I'm not sure I follow? The build-aux directory is part of the source tree, and does not get installed. But you are correct that it is not part of the build tree (unless you build in-tree, with srcdir==builddir). > > so, how do I specify the location of these files? > > this patch would help a lot: > > diff --git a/modules/warn-on-use b/modules/warn-on-use > index f0ee83b..75346a7 100644 > --- a/modules/warn-on-use > +++ b/modules/warn-on-use > @@ -16,10 +16,10 @@ Makefile.am: > BUILT_SOURCES += warn-on-use.h > # The warn-on-use.h that gets inserted into generated .h files is the > same as > # build-aux/warn-on-use.h, except that it has the copyright header cut > off. > -warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h > +warn-on-use.h: $(build_aux)/warn-on-use.h > $(AM_V_GEN)rm -f $...@-t $@ && \ > sed -n -e '/^.ifndef/,$$p' \ > - < $(top_srcdir)/build-aux/warn-on-use.h \ > + < $(build_aux)/warn-on-use.h \ > > $...@-t && \ > mv $...@-t $@ > MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t > > (and a similar one for arg-nonnull) > > one would also need to somehow convince automake to add > build_aux = $(top_srcdir)/build-aux That just looks like a factorization - I'm not sure I see any difference between: build_aux=$(top_srcdir)/build-aux $(build_aux)/file and $(top_srcdir)/build-aux How is it supposed to help matters? -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature