Patchwork [V20,03/10] libqblock: build: add configure support

login
register
mail settings
Submitter Wayne Xia
Date Feb. 27, 2013, 3:10 a.m.
Message ID <1361934618-32026-4-git-send-email-xiawenc@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/223483/
State New
Headers show

Comments

Wayne Xia - Feb. 27, 2013, 3:10 a.m.
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 <xiawenc@linux.vnet.ibm.com>
---
 Makefile           |    3 +++
 configure          |   32 ++++++++++++++++++++++++++++++++
 libqblock/Makefile |    4 ++++
 3 files changed, 39 insertions(+), 0 deletions(-)
 create mode 100644 libqblock/Makefile

Patch

diff --git a/Makefile b/Makefile
index 7457005..a63abbf 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 2bda2d5..dc53fa8 100755
--- a/configure
+++ b/configure
@@ -228,6 +228,8 @@  glusterfs=""
 virtio_blk_data_plane=""
 gtk=""
 gtkabi="2.0"
+libqblock=""
+libqblock_requires_y=""
 
 # parse CC options first
 for opt do
@@ -906,6 +908,10 @@  for opt do
   ;;
   --with-gtkabi=*) gtkabi="$optarg"
   ;;
+  --disable-libqblock) libqblock="no"
+  ;;
+  --enable-libqblock) libqblock="yes"
+  ;;
   *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;
   esac
@@ -1157,6 +1163,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
@@ -2485,6 +2493,23 @@  EOF
   fi
 fi
 
+##########################################
+# libqblock probe
+if test "$libqblock" != "no"; then
+    if test -n "$libtool" && test -n "$glib_libs" && \
+            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
@@ -3426,6 +3451,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"
@@ -3792,6 +3818,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)
@@ -4376,6 +4407,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 po/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