Rule for libqblock.la will be included if it is enabled, and
will be added to 'all' to be automatically built.
  Only support Linux now, to save trouble in building on windows.

Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com>
---
 Makefile           |    3 +++
 configure          |   34 ++++++++++++++++++++++++++++++++++
 libqblock/Makefile |    4 ++++
 3 files changed, 41 insertions(+), 0 deletions(-)
 create mode 100644 libqblock/Makefile

diff --git a/Makefile b/Makefile
index b2d7798..a472fd3 100644
--- a/Makefile
+++ b/Makefile
@@ -114,6 +114,9 @@ endif
 ifeq ($(CONFIG_SMARTCARD_NSS),y)
 include $(SRC_PATH)/libcacard/Makefile
 endif
+ifeq ($(CONFIG_LIBQBLOCK),y)
+include $(SRC_PATH)/libqblock/Makefile
+endif
 
 all: $(DOCS) $(TOOLS) $(HELPERS-y) recurse-all
 
diff --git a/configure b/configure
index 64bde7b..3ce9166 100755
--- a/configure
+++ b/configure
@@ -226,6 +226,8 @@ coroutine=""
 seccomp=""
 glusterfs=""
 virtio_blk_data_plane=""
+libqblock=""
+libqblock_requires_y=""
 
 # parse CC options first
 for opt do
@@ -898,6 +900,10 @@ for opt do
   ;;
   --enable-virtio-blk-data-plane) virtio_blk_data_plane="yes"
   ;;
+  --disable-libqblock) libqblock="no"
+  ;;
+  --enable-libqblock) libqblock="yes"
+  ;;
   *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;
   esac
@@ -1147,6 +1153,8 @@ echo "  --enable-glusterfs       enable GlusterFS backend"
 echo "  --disable-glusterfs      disable GlusterFS backend"
 echo "  --enable-gcov            enable test coverage analysis with gcov"
 echo "  --gcov=GCOV              use specified gcov [$gcov_tool]"
+echo "  --enable-libqblock       enable shared library libqblock"
+echo "  --disable-libqblock      disable shared library libqblock"
 echo ""
 echo "NOTE: The object files are built at the place where configure is 
launched"
 exit 1
@@ -2445,6 +2453,25 @@ EOF
   fi
 fi
 
+##########################################
+# libqblock probe
+if test "$libqblock" != "no"; then
+    if test -n "$libtool" &&
+            $pkg_config --atleast-version=$glib_req_ver glib-2.0 > /dev/null 
2>&1 && \
+            $pkg_config --atleast-version=$glib_req_ver gthread-2.0 > 
/dev/null 2>&1 && \
+            test "$linux" = "yes" \
+            ; then
+            # Only support Linux now, check for librt and libz are missing, 
add it later.
+        libqblock="yes"
+        libqblock_requires_y="gthread-2.0 glib-2.0 rt z"
+    else
+        if test "$libqblock" = "yes"; then
+            feature_not_found "libqblock"
+        fi
+        libqblock="no"
+    fi
+fi
+
 #
 # Check for xxxat() functions when we are building linux-user
 # emulator.  This is done because older glibc versions don't
@@ -3361,6 +3388,7 @@ echo "GlusterFS support $glusterfs"
 echo "virtio-blk-data-plane $virtio_blk_data_plane"
 echo "gcov              $gcov_tool"
 echo "gcov enabled      $gcov"
+echo "libqblock support $libqblock"
 
 if test "$sdl_too_old" = "yes"; then
 echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -3717,6 +3745,11 @@ if test "$virtio_blk_data_plane" = "yes" ; then
   echo "CONFIG_VIRTIO_BLK_DATA_PLANE=y" >> $config_host_mak
 fi
 
+if test "$libqblock" = "yes" ; then
+  echo "CONFIG_LIBQBLOCK=y" >> $config_host_mak
+  echo "libqblock-requires-y=$libqblock_requires_y" >> $config_host_mak
+fi
+
 # USB host support
 case "$usb" in
 linux)
@@ -4301,6 +4334,7 @@ DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
 DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas"
 DIRS="$DIRS roms/seabios roms/vgabios"
 DIRS="$DIRS qapi-generated"
+DIRS="$DIRS libqblock"
 FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
 FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
 FILES="$FILES tests/tcg/lm32/Makefile"
diff --git a/libqblock/Makefile b/libqblock/Makefile
new file mode 100644
index 0000000..8173da7
--- /dev/null
+++ b/libqblock/Makefile
@@ -0,0 +1,4 @@
+all: libqblock.la
+
+libqblock.la:
+       @true
-- 
1.7.1



Reply via email to