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