On 10/7/19 3:43 PM, Daniel P. Berrangé wrote:
On Mon, Oct 07, 2019 at 03:03:51PM +0200, Michal Privoznik wrote:
On 10/3/19 12:51 PM, Daniel P. Berrangé wrote:
Our syntax-check rule relies in various files imported during the gnulib
bootstrap process. As we switch to meson & try to eliminate gnulib, we
need to take ownership of syntax-check.

This patch series follows the approach taken for libosinfo & other
projects wrt syntax-check rules, but goes a step further and eliminates
alot of baggage we don't care about & merges all logic into one file.

Daniel P. Berrangé (4):
    build: import gnulib's syntax-check make rules
    build: remove all logic unrelated to syntax-check
    build: delete all syntax check rules we're skipping
    build: merge all syntax-check logic into one file

   Makefile.am                         |    7 +-
   bootstrap.conf                      |    4 -
   cfg.mk => build-aux/syntax-check.mk | 1141 +++++++++++++++++++++++++--
   build-aux/useless-if-before-free    |  226 ++++++
   build-aux/vc-list-files             |  113 +++
   5 files changed, 1411 insertions(+), 80 deletions(-)
   rename cfg.mk => build-aux/syntax-check.mk (52%)
   create mode 100755 build-aux/useless-if-before-free
   create mode 100755 build-aux/vc-list-files


Problem I'm seeing with these patches is that when I "make -j10 all
syntax-check check" (which is how I usually compile libvirt) then make does
not order targets properly and:

That's odd. There's no dependancy between 'syntax-check' and 'all' that
I know of even in current git master. We can run a syntax-check without
forcing an 'all' build. 'check' has a dep on 'all' obviously so those
two are ordered.

IOW, I would have expect make to parallelize 'syntax-check' with execution
of 'all' and 'check' already.

I wonder what black magic is preventing this....

1) I can see syntax-check output interleaved with 'all' output (or even
'check'), but which is worse:

2) there must be a dependency missing somewhere, because after 'git clean
-fxd; ./autogen.sh --system' I see the following error:


make[4]: Entering directory
'/home/zippy/work/libvirt/libvirt.git/gnulib/lib'
   GEN      sys/ioctl.h
   GEN      arpa/inet.h
   GEN      sys/select.h
   GEN      pthread.h
   GEN      sys/socket.h
   GEN      sched.h
   GEN      stdio.h
   GEN      sys/stat.h
   GEN      string.h
   GEN      stdlib.h
   GEN      sys/time.h
   GEN      sys/socket.h
   GEN      sys/stat.h
   GEN      sys/types.h
mv: cannot stat 'string.h-t': No such file or directory
   GEN      sys/uio.h
make[4]: *** [Makefile:4311: string.h] Error 1
make[4]: *** Waiting for unfinished jobs....

What distro do you get this on ?  I can't reproduce that problem yet

This is gentoo, but I'm able to reproduce on rawhide too. The important part is to enable parallel build (make -j10 or so).

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to