• E
    build: shipped files must not depend on BUILT_SOURCES · cd3fa762
    Eric Blake 提交于
    'make distcheck' was failing with:
    make[3]: Entering directory `/home/eblake/libvirt-tmp2/libvirt-1.1.1/_build/docs'
    perl ../../docs/genaclperms.pl ../../src/access/viraccessperm.h > ../../docs/aclperms.htmlinc
    /bin/sh: ../../docs/aclperms.htmlinc: Permission denied
    
    when simulating the case of a user doing a VPATH build from a
    read-only source tree.  The culprit?  BUILT_SOURCES are _always_
    built, and so must NOT be built into srcdir and need not be part
    of the tarball.  On the other hand, shipped files must never
    depend on files in the builddir.  While it would be possible to
    fix the problem by generating aclperms.htmlinc into builddir,
    we then have the problem that we ship acl.html - we'd have to
    rejigger a lot of things to not ship pre-built html.  So this
    patch goes the other direction - we don't need BUILT_SOURCES,
    but instead ensure that we have proper dependencies so that
    all files in srcdir are up-to-date at the time the tarball is
    created.  And because we ship html files in the tarball, that
    implies we don't expect users to be able to rebuild them, so
    we must not clean any files that would trigger a rebuild except
    under the maintainer rules.
    
    * docs/Makefile.am (BUILT_SOURCES): Delete.
    (CLEANFILES): Downgrade aclperms.htmlinc cleanup...
    (maintainer-clean-local): ...and move hvsupport.html.in...
    (MAINTAINERCLEANFILES): ...to a maintainer action.
    (hvsupport.html.in): Write into srcdir.
    (hvsupport.html): Ensure files are built in order.
    (aclperms.htmlinc): Honor silent make.
    (EXTRA_DIST): Ship aclperms.htmlinc.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    cd3fa762
Makefile.am 10.2 KB