[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V17 03/10] libqblock: build: add configure support
From: |
Wenchao Xia |
Subject: |
[Qemu-devel] [PATCH V17 03/10] libqblock: build: add configure support |
Date: |
Thu, 31 Jan 2013 16:53:43 +0800 |
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 <address@hidden>
---
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
- [Qemu-devel] [PATCH V17 00/10] libqblock qemu block layer library, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 01/10] build: add command check-clean, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 04/10] libqblock: build: add rule for libqblock.la, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 05/10] libqblock: build: add packaging support, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 06/10] block: export function path_has_protocol(), Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 02/10] build: hide symbols in *.lo, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 03/10] libqblock: build: add configure support,
Wenchao Xia <=
- [Qemu-devel] [PATCH V17 09/10] libqblock: build: add rules for test case, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 07/10] libqblock: libqblock API design and type defines, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 10/10] libqblock: test: libqblock test example, Wenchao Xia, 2013/01/31
- [Qemu-devel] [PATCH V17 08/10] libqblock: libqblock API implement, Wenchao Xia, 2013/01/31