[libvirt] [PATCHv2 2/2] build: fix some mingw issues

Eric Blake eblake at redhat.com
Wed Jun 9 20:49:36 UTC 2010


On Fedora 13 with sufficient mingw32-* packages installed, running
./autobuild.sh failed to cross-compile to mingw because
mingw32-pthreads installed a broken <pthread.h>.  With that
issue fixed, the build still failed due to use of O_SYNC.

Meanwhile, recent .spec.in changes got out of sync, and running
./autobuild.sh generates some leftover files worth ignoring.

* bootstrap.conf (gnulib_modules): Add fcntl-h, for O_SYNC.
* .gnulib: Update to latest, to work around buggy pthreads-win32
library.
* bootstrap: Import latest from gnulib.
* mingw32-libvirt.spec.in: Distribute new file.
* .gitignore: Ignore files built by ./autobuild.sh.
---

Changes from v1: update .gnulib to yet a newer date
(16 new upstream patches).  Drop .gitignore change;
the 'make cov' droppings are now covered in a separate
patch.

 .gnulib                 |    2 +-
 bootstrap               |   14 ++++++++------
 bootstrap.conf          |    1 +
 mingw32-libvirt.spec.in |    1 +
 4 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/.gnulib b/.gnulib
index 28e5820..1629006 160000
--- a/.gnulib
+++ b/.gnulib
@@ -1 +1 @@
-Subproject commit 28e58203a7ab14264f8fa450884a89e9ae48025c
+Subproject commit 1629006348e1f66f07ce3ddcf3ebd2d14556cfce
diff --git a/bootstrap b/bootstrap
index 365a3d9..2422549 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2010-02-24.17; # UTC
+scriptversion=2010-05-17.18; # UTC

 # Bootstrap this package from checked-out sources.

@@ -409,6 +409,7 @@ git_modules_config () {
 }

 gnulib_path=`git_modules_config submodule.gnulib.path`
+: ${gnulib_path=gnulib}

 # Get gnulib files.

@@ -424,7 +425,8 @@ case ${GNULIB_SRCDIR--} in

     trap cleanup_gnulib 1 2 13 15

-    git clone --help|grep depth > /dev/null && shallow='--depth 2' || shallow=
+    shallow=
+    git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
     git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
       cleanup_gnulib

@@ -437,7 +439,7 @@ case ${GNULIB_SRCDIR--} in
   if test -d "$GNULIB_SRCDIR"/.git && \
         git_modules_config submodule.gnulib.url >/dev/null; then
     echo "$0: getting gnulib files..."
-    if git submodule --help|grep reference > /dev/null; then
+    if git submodule -h|grep -- --reference > /dev/null; then
       # Prefer the one-liner available in git 1.6.4 or newer.
       git submodule update --init --reference "$GNULIB_SRCDIR" \
         "$gnulib_path" || exit $?
@@ -488,7 +490,7 @@ update_po_files() {
   test -d $ref_po_dir || mkdir $ref_po_dir || return
   download_po_files $ref_po_dir $domain \
     && ls "$ref_po_dir"/*.po 2>/dev/null |
-      sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS"
+      sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return

   langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'`
   test "$langs" = '*' && langs=x
@@ -819,7 +821,7 @@ if test $with_gettext = yes; then
       a\
           '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
     }
-  ' po/Makevars.template >po/Makevars
+  ' po/Makevars.template >po/Makevars || exit 1

   if test -d runtime-po; then
     # Similarly for runtime-po/Makevars, but not quite the same.
@@ -833,7 +835,7 @@ if test $with_gettext = yes; then
         a\
             '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
       }
-    ' <po/Makevars.template >runtime-po/Makevars
+    ' po/Makevars.template >runtime-po/Makevars || exit 1

     # Copy identical files from po to runtime-po.
     (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
diff --git a/bootstrap.conf b/bootstrap.conf
index 1e193d9..44d6d0e 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -27,6 +27,7 @@ close
 connect
 count-one-bits
 dirname-lgpl
+fcntl-h
 getaddrinfo
 gethostname
 getpass
diff --git a/mingw32-libvirt.spec.in b/mingw32-libvirt.spec.in
index fc90203..6b2b5c6 100644
--- a/mingw32-libvirt.spec.in
+++ b/mingw32-libvirt.spec.in
@@ -91,6 +91,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_mingw32_datadir}/libvirt/
 %dir %{_mingw32_datadir}/libvirt/schemas/
 %{_mingw32_datadir}/libvirt/schemas/domain.rng
+%{_mingw32_datadir}/libvirt/schemas/domainsnapshot.rng
 %{_mingw32_datadir}/libvirt/schemas/network.rng
 %{_mingw32_datadir}/libvirt/schemas/storagepool.rng
 %{_mingw32_datadir}/libvirt/schemas/storagevol.rng
-- 
1.7.0.1




More information about the libvir-list mailing list