Message ID | 1414589891-32736-2-git-send-email-den@openvz.org |
---|---|
State | New |
Headers | show |
29.10.2014 16:38, Denis V. Lunev wrote: > This dependency is required for adequate Parallels images support. > Typically the disk consists of several images which are glued by > XML disk descriptor. Also XML hides inside several important parameters > which are not available in the image header. [] > +# check for libxml2 > +if test "$libxml2" != "no" ; then > + if $pkg_config --exists libxml-2.0; then > + libxml2="yes" > + libxml2_cflags=$($pkg_config --cflags libxml-2.0) > + libxml2_libs=$($pkg_config --libs libxml-2.0) > + QEMU_CFLAGS="$QEMU_CFLAGS $libxml2_cflags" > + libs_softmmu="$libs_softmmu $libxml2_libs" > + libs_tools="$libs_tools $libxml2_libs" Please NO. NO NO NO NO :) Create a separate make variable, $LIBXML or something, and add it as a parallels.o dependency, not libs_softmmu etc. Ditto for the cflags. See examples -- libiscsi, libcurl, librbd - in block/Makefile.objs. After that, I think we'll move parallels.o to be a module ;) (Cc'ing Fam) Thanks, /mjt
On 05/11/14 10:32, Michael Tokarev wrote: > 29.10.2014 16:38, Denis V. Lunev wrote: >> This dependency is required for adequate Parallels images support. >> Typically the disk consists of several images which are glued by >> XML disk descriptor. Also XML hides inside several important parameters >> which are not available in the image header. > [] >> +# check for libxml2 >> +if test "$libxml2" != "no" ; then >> + if $pkg_config --exists libxml-2.0; then >> + libxml2="yes" >> + libxml2_cflags=$($pkg_config --cflags libxml-2.0) >> + libxml2_libs=$($pkg_config --libs libxml-2.0) >> + QEMU_CFLAGS="$QEMU_CFLAGS $libxml2_cflags" >> + libs_softmmu="$libs_softmmu $libxml2_libs" >> + libs_tools="$libs_tools $libxml2_libs" > Please NO. NO NO NO NO :) > > Create a separate make variable, $LIBXML or something, > and add it as a parallels.o dependency, not libs_softmmu > etc. Ditto for the cflags. See examples -- libiscsi, > libcurl, librbd - in block/Makefile.objs. no prob > After that, I think we'll move parallels.o to be a module ;) > > (Cc'ing Fam) what does it mean for me? Could you point out the place to read/understand the difference. Thank you in advance, Den
diff --git a/configure b/configure index a9e4d49..5426752 100755 --- a/configure +++ b/configure @@ -335,6 +335,7 @@ libssh2="" vhdx="" quorum="" numa="" +libxml2="" # parse CC options first for opt do @@ -1129,6 +1130,10 @@ for opt do ;; --enable-numa) numa="yes" ;; + --disable-libxml2) libxml2="no" + ;; + --enable-libxml2) libxml2="yes" + ;; *) echo "ERROR: unknown option $opt" echo "Try '$0 --help' for more information" @@ -1400,6 +1405,8 @@ Advanced options (experts only): --enable-quorum enable quorum block filter support --disable-numa disable libnuma support --enable-numa enable libnuma support + --disable-libxml2 disable libxml2 (for Parallels image format) + --enable-libxml2 enable libxml2 (for Parallels image format) NOTE: The object files are built at the place where configure is launched EOF @@ -4097,6 +4104,23 @@ if test -z "$zero_malloc" ; then fi fi +# check for libxml2 +if test "$libxml2" != "no" ; then + if $pkg_config --exists libxml-2.0; then + libxml2="yes" + libxml2_cflags=$($pkg_config --cflags libxml-2.0) + libxml2_libs=$($pkg_config --libs libxml-2.0) + QEMU_CFLAGS="$QEMU_CFLAGS $libxml2_cflags" + libs_softmmu="$libs_softmmu $libxml2_libs" + libs_tools="$libs_tools $libxml2_libs" + else + if test "$libxml2" = "yes"; then + feature_not_found "libxml2" "Install libxml2 devel" + fi + libxml2="no" + fi +fi + # Now we've finished running tests it's OK to add -Werror to the compiler flags if test "$werror" = "yes"; then QEMU_CFLAGS="-Werror $QEMU_CFLAGS" @@ -4340,6 +4364,7 @@ echo "Quorum $quorum" echo "lzo support $lzo" echo "snappy support $snappy" echo "NUMA host support $numa" +echo "libxml2 $libxml2" if test "$sdl_too_old" = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" @@ -4846,6 +4871,10 @@ if test "$rdma" = "yes" ; then echo "CONFIG_RDMA=y" >> $config_host_mak fi +if test "$libxml2" = "yes" ; then + echo "CONFIG_LIBXML2=y" >> $config_host_mak +fi + # Hold two types of flag: # CONFIG_THREAD_SETNAME_BYTHREAD - we've got a way of setting the name on # a thread we have a handle to diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 053e432..3ddb097 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -242,6 +242,7 @@ our @typeList = ( qr{${Ident}_t}, qr{${Ident}_handler}, qr{${Ident}_handler_fn}, + qr{xml${Ident}}, ); our @modifierList = ( qr{fastcall},