xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] autoconf: add missing compression checks for libxc
@ 2012-02-22 19:45 Roger Pau Monne
  2012-03-06 14:30 ` Jan Beulich
  0 siblings, 1 reply; 15+ messages in thread
From: Roger Pau Monne @ 2012-02-22 19:45 UTC (permalink / raw)
  To: xen-devel; +Cc: ian.jackson, JBeulich

# HG changeset patch
# User Roger Pau Monne <roger.pau@entel.upc.edu>
# Date 1329939885 -3600
# Node ID a6f28f44a11c63f7f4a94ab49397c17279506442
# Parent  9e72215b0ee2d73b6b60b1e155067595294dc2df
autoconf: add missing compression checks for libxc

Move missing checks from tools/libxc/Makefile to configure script.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>

diff -r 9e72215b0ee2 -r a6f28f44a11c config/Tools.mk.in
--- a/config/Tools.mk.in	Wed Feb 22 17:49:27 2012 +0100
+++ b/config/Tools.mk.in	Wed Feb 22 20:44:45 2012 +0100
@@ -43,6 +43,7 @@ CONFIG_LOMOUNT      := @lomount@
 
 #System options
 CONFIG_SYSTEM_LIBAIO:= @system_aio@
+ZLIB                := @zlib@
 CONFIG_LIBICONV     := @libiconv@
 CONFIG_GCRYPT       := @libgcrypt@
 CONFIG_EXT2FS       := @libext2fs@
diff -r 9e72215b0ee2 -r a6f28f44a11c tools/configure
--- a/tools/configure	Wed Feb 22 17:49:27 2012 +0100
+++ b/tools/configure	Wed Feb 22 20:44:45 2012 +0100
@@ -605,6 +605,7 @@ libiconv
 libgcrypt
 libext2fs
 system_aio
+zlib
 LIB_PATH
 glib_LIBS
 glib_CFLAGS
@@ -6728,6 +6729,127 @@ fi
 
 
 # Checks for libraries.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzDecompressInit in -lbz2" >&5
+$as_echo_n "checking for BZ2_bzDecompressInit in -lbz2... " >&6; }
+if test "${ac_cv_lib_bz2_BZ2_bzDecompressInit+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbz2  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char BZ2_bzDecompressInit ();
+int
+main ()
+{
+return BZ2_bzDecompressInit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_bz2_BZ2_bzDecompressInit=yes
+else
+  ac_cv_lib_bz2_BZ2_bzDecompressInit=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzDecompressInit" >&5
+$as_echo "$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&6; }
+if test "x$ac_cv_lib_bz2_BZ2_bzDecompressInit" = x""yes; then :
+  zlib="$zlib -DHAVE_BZLIB -lbz2"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzma_stream_decoder in -llzma" >&5
+$as_echo_n "checking for lzma_stream_decoder in -llzma... " >&6; }
+if test "${ac_cv_lib_lzma_lzma_stream_decoder+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-llzma  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char lzma_stream_decoder ();
+int
+main ()
+{
+return lzma_stream_decoder ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_lzma_lzma_stream_decoder=yes
+else
+  ac_cv_lib_lzma_lzma_stream_decoder=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_stream_decoder" >&5
+$as_echo "$ac_cv_lib_lzma_lzma_stream_decoder" >&6; }
+if test "x$ac_cv_lib_lzma_lzma_stream_decoder" = x""yes; then :
+  zlib="$zlib -DHAVE_LZMA -llzma"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_decompress in -llzo2" >&5
+$as_echo_n "checking for lzo1x_decompress in -llzo2... " >&6; }
+if test "${ac_cv_lib_lzo2_lzo1x_decompress+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-llzo2  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char lzo1x_decompress ();
+int
+main ()
+{
+return lzo1x_decompress ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_lzo2_lzo1x_decompress=yes
+else
+  ac_cv_lib_lzo2_lzo1x_decompress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo2_lzo1x_decompress" >&5
+$as_echo "$ac_cv_lib_lzo2_lzo1x_decompress" >&6; }
+if test "x$ac_cv_lib_lzo2_lzo1x_decompress" = x""yes; then :
+  zlib="$zlib -DHAVE_LZO1X -llzo2"
+fi
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for io_setup in -laio" >&5
 $as_echo_n "checking for io_setup in -laio... " >&6; }
 if test "${ac_cv_lib_aio_io_setup+set}" = set; then :
diff -r 9e72215b0ee2 -r a6f28f44a11c tools/configure.ac
--- a/tools/configure.ac	Wed Feb 22 17:49:27 2012 +0100
+++ b/tools/configure.ac	Wed Feb 22 20:44:45 2012 +0100
@@ -110,6 +110,10 @@ PKG_CHECK_MODULES(glib, glib-2.0)
 AX_DEFAULT_LIB
 
 # Checks for libraries.
+AC_CHECK_LIB([bz2], [BZ2_bzDecompressInit], [zlib="$zlib -DHAVE_BZLIB -lbz2"])
+AC_CHECK_LIB([lzma], [lzma_stream_decoder], [zlib="$zlib -DHAVE_LZMA -llzma"])
+AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"])
+AC_SUBST(zlib)
 AC_CHECK_LIB([aio], [io_setup], [system_aio="y"], [system_aio="n"])
 AC_SUBST(system_aio)
 AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find libcrypto])])
diff -r 9e72215b0ee2 -r a6f28f44a11c tools/libxc/Makefile
--- a/tools/libxc/Makefile	Wed Feb 22 17:49:27 2012 +0100
+++ b/tools/libxc/Makefile	Wed Feb 22 20:44:45 2012 +0100
@@ -171,20 +171,7 @@ libxenguest.so.$(MAJOR): libxenguest.so.
 ifeq ($(CONFIG_MiniOS),y)
 zlib-options =
 else
-zlib-options = $(shell					\
-	(. ../check/funcs.sh;				\
-	 if has_header bzlib.h; then			\
-           echo "-DHAVE_BZLIB";				\
-	   echo "-lbz2";				\
-	 fi;						\
-	 if has_header lzma.h; then			\
-	   echo "-DHAVE_LZMA";				\
-	   echo "-llzma";				\
-	 fi;						\
-	 if has_header lzo/lzo1x.h; then		\
-	   echo "-DHAVE_LZO1X";				\
-	   echo "-llzo2";				\
-	 fi) | grep $(1))
+zlib-options = $(ZLIB)
 endif
 
 xc_dom_bzimageloader.o: CFLAGS += $(call zlib-options,D)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-02-22 19:45 [PATCH] autoconf: add missing compression checks for libxc Roger Pau Monne
@ 2012-03-06 14:30 ` Jan Beulich
  2012-03-06 15:01   ` Roger Pau Monné
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Beulich @ 2012-03-06 14:30 UTC (permalink / raw)
  To: Roger Pau Monne; +Cc: ian.jackson, xen-devel

>>> On 22.02.12 at 20:45, Roger Pau Monne <roger.pau@entel.upc.edu> wrote:
> # HG changeset patch
> # User Roger Pau Monne <roger.pau@entel.upc.edu>
> # Date 1329939885 -3600
> # Node ID a6f28f44a11c63f7f4a94ab49397c17279506442
> # Parent  9e72215b0ee2d73b6b60b1e155067595294dc2df
> autoconf: add missing compression checks for libxc
> 
> Move missing checks from tools/libxc/Makefile to configure script.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>

Wow, that was fast indeed! However, ...

> --- a/tools/configure.ac	Wed Feb 22 17:49:27 2012 +0100
> +++ b/tools/configure.ac	Wed Feb 22 20:44:45 2012 +0100
> @@ -110,6 +110,10 @@ PKG_CHECK_MODULES(glib, glib-2.0)
>  AX_DEFAULT_LIB
>  
>  # Checks for libraries.
> +AC_CHECK_LIB([bz2], [BZ2_bzDecompressInit], [zlib="$zlib -DHAVE_BZLIB -lbz2"])
> +AC_CHECK_LIB([lzma], [lzma_stream_decoder], [zlib="$zlib -DHAVE_LZMA -llzma"])
> +AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"])

... are you certain that checking for these symbols in the respective
libraries suffices? The old check really was verifying corresponding
header files' presence.

Jan

> +AC_SUBST(zlib)
>  AC_CHECK_LIB([aio], [io_setup], [system_aio="y"], [system_aio="n"])
>  AC_SUBST(system_aio)
>  AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find 
> libcrypto])])

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-06 14:30 ` Jan Beulich
@ 2012-03-06 15:01   ` Roger Pau Monné
  2012-03-06 15:08     ` Jan Beulich
                       ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Roger Pau Monné @ 2012-03-06 15:01 UTC (permalink / raw)
  To: Jan Beulich; +Cc: ian.jackson, xen-devel

2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>> On 22.02.12 at 20:45, Roger Pau Monne <roger.pau@entel.upc.edu> wrote:
>> # HG changeset patch
>> # User Roger Pau Monne <roger.pau@entel.upc.edu>
>> # Date 1329939885 -3600
>> # Node ID a6f28f44a11c63f7f4a94ab49397c17279506442
>> # Parent  9e72215b0ee2d73b6b60b1e155067595294dc2df
>> autoconf: add missing compression checks for libxc
>>
>> Move missing checks from tools/libxc/Makefile to configure script.
>>
>> Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
>
> Wow, that was fast indeed! However, ...
>
>> --- a/tools/configure.ac      Wed Feb 22 17:49:27 2012 +0100
>> +++ b/tools/configure.ac      Wed Feb 22 20:44:45 2012 +0100
>> @@ -110,6 +110,10 @@ PKG_CHECK_MODULES(glib, glib-2.0)
>>  AX_DEFAULT_LIB
>>
>>  # Checks for libraries.
>> +AC_CHECK_LIB([bz2], [BZ2_bzDecompressInit], [zlib="$zlib -DHAVE_BZLIB -lbz2"])
>> +AC_CHECK_LIB([lzma], [lzma_stream_decoder], [zlib="$zlib -DHAVE_LZMA -llzma"])
>> +AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"])
>
> ... are you certain that checking for these symbols in the respective
> libraries suffices? The old check really was verifying corresponding
> header files' presence.

I think it's best to do it this way, what this tests do is try to
compile a sample program that uses the library, which is much more
closer to the reality than just checking for a header existence. In a
strange case you might have the header files, but maybe the library is
broken, so we can not use it. What I can do if you want is check for
the header files also, something like this?

8<----------------------------

autoconf: add missing compression checks for libxc

Move missing checks from tools/libxc/Makefile to configure script.

Changes since v1:

 * Check for header files.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>

diff -r 9e72215b0ee2 config/Tools.mk.in
--- a/config/Tools.mk.in	Wed Feb 22 17:49:27 2012 +0100
+++ b/config/Tools.mk.in	Wed Feb 22 21:53:27 2012 +0100
@@ -43,6 +43,7 @@ CONFIG_LOMOUNT      := @lomount@

 #System options
 CONFIG_SYSTEM_LIBAIO:= @system_aio@
+ZLIB                := @zlib@
 CONFIG_LIBICONV     := @libiconv@
 CONFIG_GCRYPT       := @libgcrypt@
 CONFIG_EXT2FS       := @libext2fs@
diff -r 9e72215b0ee2 tools/configure
--- a/tools/configure	Wed Feb 22 17:49:27 2012 +0100
+++ b/tools/configure	Wed Feb 22 21:53:27 2012 +0100
@@ -605,6 +605,7 @@ libiconv
 libgcrypt
 libext2fs
 system_aio
+zlib
 LIB_PATH
 glib_LIBS
 glib_CFLAGS
@@ -6728,6 +6729,148 @@ fi


 # Checks for libraries.
+ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h"
"ac_cv_header_bzlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_bzlib_h" = x""yes; then :
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for
BZ2_bzDecompressInit in -lbz2" >&5
+$as_echo_n "checking for BZ2_bzDecompressInit in -lbz2... " >&6; }
+if test "${ac_cv_lib_bz2_BZ2_bzDecompressInit+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbz2  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char BZ2_bzDecompressInit ();
+int
+main ()
+{
+return BZ2_bzDecompressInit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_bz2_BZ2_bzDecompressInit=yes
+else
+  ac_cv_lib_bz2_BZ2_bzDecompressInit=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&5
+$as_echo "$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&6; }
+if test "x$ac_cv_lib_bz2_BZ2_bzDecompressInit" = x""yes; then :
+  zlib="$zlib -DHAVE_BZLIB -lbz2"
+fi
+
+
+fi
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "lzma.h" "ac_cv_header_lzma_h"
"$ac_includes_default"
+if test "x$ac_cv_header_lzma_h" = x""yes; then :
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for
lzma_stream_decoder in -llzma" >&5
+$as_echo_n "checking for lzma_stream_decoder in -llzma... " >&6; }
+if test "${ac_cv_lib_lzma_lzma_stream_decoder+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-llzma  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char lzma_stream_decoder ();
+int
+main ()
+{
+return lzma_stream_decoder ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_lzma_lzma_stream_decoder=yes
+else
+  ac_cv_lib_lzma_lzma_stream_decoder=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_lzma_lzma_stream_decoder" >&5
+$as_echo "$ac_cv_lib_lzma_lzma_stream_decoder" >&6; }
+if test "x$ac_cv_lib_lzma_lzma_stream_decoder" = x""yes; then :
+  zlib="$zlib -DHAVE_LZMA -llzma"
+fi
+
+
+fi
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "lzo/lzo1x.h"
"ac_cv_header_lzo_lzo1x_h" "$ac_includes_default"
+if test "x$ac_cv_header_lzo_lzo1x_h" = x""yes; then :
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for
lzo1x_decompress in -llzo2" >&5
+$as_echo_n "checking for lzo1x_decompress in -llzo2... " >&6; }
+if test "${ac_cv_lib_lzo2_lzo1x_decompress+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-llzo2  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char lzo1x_decompress ();
+int
+main ()
+{
+return lzo1x_decompress ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_lzo2_lzo1x_decompress=yes
+else
+  ac_cv_lib_lzo2_lzo1x_decompress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_lzo2_lzo1x_decompress" >&5
+$as_echo "$ac_cv_lib_lzo2_lzo1x_decompress" >&6; }
+if test "x$ac_cv_lib_lzo2_lzo1x_decompress" = x""yes; then :
+  zlib="$zlib -DHAVE_LZO1X -llzo2"
+fi
+
+
+fi
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for io_setup in -laio" >&5
 $as_echo_n "checking for io_setup in -laio... " >&6; }
 if test "${ac_cv_lib_aio_io_setup+set}" = set; then :
diff -r 9e72215b0ee2 tools/configure.ac
--- a/tools/configure.ac	Wed Feb 22 17:49:27 2012 +0100
+++ b/tools/configure.ac	Wed Feb 22 21:53:27 2012 +0100
@@ -110,6 +110,16 @@ PKG_CHECK_MODULES(glib, glib-2.0)
 AX_DEFAULT_LIB

 # Checks for libraries.
+AC_CHECK_HEADER([bzlib.h], [
+AC_CHECK_LIB([bz2], [BZ2_bzDecompressInit], [zlib="$zlib -DHAVE_BZLIB -lbz2"])
+])
+AC_CHECK_HEADER([lzma.h], [
+AC_CHECK_LIB([lzma], [lzma_stream_decoder], [zlib="$zlib -DHAVE_LZMA -llzma"])
+])
+AC_CHECK_HEADER([lzo/lzo1x.h], [
+AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"])
+])
+AC_SUBST(zlib)
 AC_CHECK_LIB([aio], [io_setup], [system_aio="y"], [system_aio="n"])
 AC_SUBST(system_aio)
 AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find libcrypto])])
diff -r 9e72215b0ee2 tools/libxc/Makefile
--- a/tools/libxc/Makefile	Wed Feb 22 17:49:27 2012 +0100
+++ b/tools/libxc/Makefile	Wed Feb 22 21:53:27 2012 +0100
@@ -171,20 +171,7 @@ libxenguest.so.$(MAJOR): libxenguest.so.
 ifeq ($(CONFIG_MiniOS),y)
 zlib-options =
 else
-zlib-options = $(shell					\
-	(. ../check/funcs.sh;				\
-	 if has_header bzlib.h; then			\
-           echo "-DHAVE_BZLIB";				\
-	   echo "-lbz2";				\
-	 fi;						\
-	 if has_header lzma.h; then			\
-	   echo "-DHAVE_LZMA";				\
-	   echo "-llzma";				\
-	 fi;						\
-	 if has_header lzo/lzo1x.h; then		\
-	   echo "-DHAVE_LZO1X";				\
-	   echo "-llzo2";				\
-	 fi) | grep $(1))
+zlib-options = $(ZLIB)
 endif

 xc_dom_bzimageloader.o: CFLAGS += $(call zlib-options,D)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-06 15:01   ` Roger Pau Monné
@ 2012-03-06 15:08     ` Jan Beulich
  2012-03-06 17:27       ` Roger Pau Monné
  2012-03-12 11:17     ` Ian Jackson
  2012-03-14 11:12     ` Ian Jackson
  2 siblings, 1 reply; 15+ messages in thread
From: Jan Beulich @ 2012-03-06 15:08 UTC (permalink / raw)
  To: Roger Pau Monné; +Cc: ian.jackson, xen-devel

>>> On 06.03.12 at 16:01, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>> ... are you certain that checking for these symbols in the respective
>> libraries suffices? The old check really was verifying corresponding
>> header files' presence.
> 
> I think it's best to do it this way, what this tests do is try to
> compile a sample program that uses the library, which is much more
> closer to the reality than just checking for a header existence. In a
> strange case you might have the header files, but maybe the library is
> broken, so we can not use it. What I can do if you want is check for
> the header files also, something like this?

Hmm, no - I was rather thinking of a real usability test (which implies
existence), i.e. include the header in the test source snippet. This is
what really matches reality.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-06 15:08     ` Jan Beulich
@ 2012-03-06 17:27       ` Roger Pau Monné
  2012-03-07  7:49         ` Jan Beulich
  0 siblings, 1 reply; 15+ messages in thread
From: Roger Pau Monné @ 2012-03-06 17:27 UTC (permalink / raw)
  To: Jan Beulich; +Cc: ian.jackson, xen-devel

2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>> On 06.03.12 at 16:01, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
>> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>> ... are you certain that checking for these symbols in the respective
>>> libraries suffices? The old check really was verifying corresponding
>>> header files' presence.
>>
>> I think it's best to do it this way, what this tests do is try to
>> compile a sample program that uses the library, which is much more
>> closer to the reality than just checking for a header existence. In a
>> strange case you might have the header files, but maybe the library is
>> broken, so we can not use it. What I can do if you want is check for
>> the header files also, something like this?
>
> Hmm, no - I was rather thinking of a real usability test (which implies
> existence), i.e. include the header in the test source snippet. This is
> what really matches reality.

The last patch does this more or less, it's just that not on the same
test. If headers are found and are usable then we perform a library
check, basically it does the same as the previous test found in
tools/libxc/Makefile but also checks that the library is usable for
linking.

> Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-06 17:27       ` Roger Pau Monné
@ 2012-03-07  7:49         ` Jan Beulich
  2012-03-07  9:02           ` Roger Pau Monné
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Beulich @ 2012-03-07  7:49 UTC (permalink / raw)
  To: Roger Pau Monné; +Cc: ian.jackson, xen-devel

>>> On 06.03.12 at 18:27, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>>> On 06.03.12 at 16:01, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
>>> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>> ... are you certain that checking for these symbols in the respective
>>>> libraries suffices? The old check really was verifying corresponding
>>>> header files' presence.
>>>
>>> I think it's best to do it this way, what this tests do is try to
>>> compile a sample program that uses the library, which is much more
>>> closer to the reality than just checking for a header existence. In a
>>> strange case you might have the header files, but maybe the library is
>>> broken, so we can not use it. What I can do if you want is check for
>>> the header files also, something like this?
>>
>> Hmm, no - I was rather thinking of a real usability test (which implies
>> existence), i.e. include the header in the test source snippet. This is
>> what really matches reality.
> 
> The last patch does this more or less, it's just that not on the same
> test. If headers are found and are usable then we perform a library
> check, basically it does the same as the previous test found in
> tools/libxc/Makefile but also checks that the library is usable for
> linking.

Not really - this is an example of what is being tried to get compiled
and linked:

#ifdef __cplusplus
extern "C"
#endif
char BZ2_bzDecompressInit ();
int
main ()
{
return BZ2_bzDecompressInit ();
  ;
  return 0;
}

- no inclusion of the header in question, using a bogus prototype
instead.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-07  7:49         ` Jan Beulich
@ 2012-03-07  9:02           ` Roger Pau Monné
  2012-03-07  9:26             ` Jan Beulich
  0 siblings, 1 reply; 15+ messages in thread
From: Roger Pau Monné @ 2012-03-07  9:02 UTC (permalink / raw)
  To: Jan Beulich; +Cc: ian.jackson, xen-devel

2012/3/7 Jan Beulich <JBeulich@suse.com>:
>>>> On 06.03.12 at 18:27, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
>> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>>>> On 06.03.12 at 16:01, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
>>>> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>>> ... are you certain that checking for these symbols in the respective
>>>>> libraries suffices? The old check really was verifying corresponding
>>>>> header files' presence.
>>>>
>>>> I think it's best to do it this way, what this tests do is try to
>>>> compile a sample program that uses the library, which is much more
>>>> closer to the reality than just checking for a header existence. In a
>>>> strange case you might have the header files, but maybe the library is
>>>> broken, so we can not use it. What I can do if you want is check for
>>>> the header files also, something like this?
>>>
>>> Hmm, no - I was rather thinking of a real usability test (which implies
>>> existence), i.e. include the header in the test source snippet. This is
>>> what really matches reality.
>>
>> The last patch does this more or less, it's just that not on the same
>> test. If headers are found and are usable then we perform a library
>> check, basically it does the same as the previous test found in
>> tools/libxc/Makefile but also checks that the library is usable for
>> linking.
>
> Not really - this is an example of what is being tried to get compiled
> and linked:
>
> #ifdef __cplusplus
> extern "C"
> #endif
> char BZ2_bzDecompressInit ();
> int
> main ()
> {
> return BZ2_bzDecompressInit ();
>  ;
>  return 0;
> }
>
> - no inclusion of the header in question, using a bogus prototype
> instead.

This is done by AC_CHECK_LIB, the AC_CHECK_HEADER macro, which calls
the function "ac_fn_c_check_header_mongrel", tries to compile a sample
test that includes the requested header. So I think both tests are
done, it's just that not at the same time.

> Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-07  9:02           ` Roger Pau Monné
@ 2012-03-07  9:26             ` Jan Beulich
  2012-03-13 17:04               ` Ian Jackson
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Beulich @ 2012-03-07  9:26 UTC (permalink / raw)
  To: Roger Pau Monné; +Cc: ian.jackson, xen-devel

>>> On 07.03.12 at 10:02, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
> 2012/3/7 Jan Beulich <JBeulich@suse.com>:
>>>>> On 06.03.12 at 18:27, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
>>> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>>>>> On 06.03.12 at 16:01, Roger Pau Monné<roger.pau@entel.upc.edu> wrote:
>>>>> 2012/3/6 Jan Beulich <JBeulich@suse.com>:
>>>>>> ... are you certain that checking for these symbols in the respective
>>>>>> libraries suffices? The old check really was verifying corresponding
>>>>>> header files' presence.
>>>>>
>>>>> I think it's best to do it this way, what this tests do is try to
>>>>> compile a sample program that uses the library, which is much more
>>>>> closer to the reality than just checking for a header existence. In a
>>>>> strange case you might have the header files, but maybe the library is
>>>>> broken, so we can not use it. What I can do if you want is check for
>>>>> the header files also, something like this?
>>>>
>>>> Hmm, no - I was rather thinking of a real usability test (which implies
>>>> existence), i.e. include the header in the test source snippet. This is
>>>> what really matches reality.
>>>
>>> The last patch does this more or less, it's just that not on the same
>>> test. If headers are found and are usable then we perform a library
>>> check, basically it does the same as the previous test found in
>>> tools/libxc/Makefile but also checks that the library is usable for
>>> linking.
>>
>> Not really - this is an example of what is being tried to get compiled
>> and linked:
>>
>> #ifdef __cplusplus
>> extern "C"
>> #endif
>> char BZ2_bzDecompressInit ();
>> int
>> main ()
>> {
>> return BZ2_bzDecompressInit ();
>>  ;
>>  return 0;
>> }
>>
>> - no inclusion of the header in question, using a bogus prototype
>> instead.
> 
> This is done by AC_CHECK_LIB, the AC_CHECK_HEADER macro, which calls
> the function "ac_fn_c_check_header_mongrel", tries to compile a sample
> test that includes the requested header. So I think both tests are
> done, it's just that not at the same time.

Okay - ac_fn_c_check_header_mongrel just doesn't tell me anything.
Sorry for being dense.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-06 15:01   ` Roger Pau Monné
  2012-03-06 15:08     ` Jan Beulich
@ 2012-03-12 11:17     ` Ian Jackson
  2012-03-14 11:12     ` Ian Jackson
  2 siblings, 0 replies; 15+ messages in thread
From: Ian Jackson @ 2012-03-12 11:17 UTC (permalink / raw)
  To: Roger Pau Monné; +Cc: Jan Beulich, xen-devel@lists.xen.org

Roger Pau Monné writes ("Re: [PATCH] autoconf: add missing compression checks for libxc"):
> autoconf: add missing compression checks for libxc

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Ian.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-07  9:26             ` Jan Beulich
@ 2012-03-13 17:04               ` Ian Jackson
  2012-03-14  7:30                 ` Jan Beulich
  0 siblings, 1 reply; 15+ messages in thread
From: Ian Jackson @ 2012-03-13 17:04 UTC (permalink / raw)
  To: Jan Beulich; +Cc: xen-devel

Jan Beulich writes ("Re: [Xen-devel] [PATCH] autoconf: add missing compression checks for libxc"):
> Okay - ac_fn_c_check_header_mongrel just doesn't tell me anything.
> Sorry for being dense.

Roger's patch (the 2nd version) looks good to me.  Just to clarify,
are you happy with it as well ?

Ian.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-13 17:04               ` Ian Jackson
@ 2012-03-14  7:30                 ` Jan Beulich
  0 siblings, 0 replies; 15+ messages in thread
From: Jan Beulich @ 2012-03-14  7:30 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Roger Pau Monné, xen-devel

>>> On 13.03.12 at 18:04, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> Jan Beulich writes ("Re: [Xen-devel] [PATCH] autoconf: add missing compression 
> checks for libxc"):
>> Okay - ac_fn_c_check_header_mongrel just doesn't tell me anything.
>> Sorry for being dense.
> 
> Roger's patch (the 2nd version) looks good to me.  Just to clarify,
> are you happy with it as well ?

Yes, looked okay to me (taking also into account the subsequent
explanation).

Jan

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-06 15:01   ` Roger Pau Monné
  2012-03-06 15:08     ` Jan Beulich
  2012-03-12 11:17     ` Ian Jackson
@ 2012-03-14 11:12     ` Ian Jackson
  2012-03-14 13:45       ` Roger Pau Monné
  2 siblings, 1 reply; 15+ messages in thread
From: Ian Jackson @ 2012-03-14 11:12 UTC (permalink / raw)
  To: Roger Pau Monné; +Cc: Jan Beulich, xen-devel

Roger Pau Monné writes ("Re: [Xen-devel] [PATCH] autoconf: add missing compression checks for libxc"):
> autoconf: add missing compression checks for libxc

Sadly:

patching file config/Tools.mk.in
Hunk #1 succeeded at 40 (offset -3 lines).
patching file tools/configure
patch: **** malformed patch at line 84: "ac_cv_header_bzlib_h" "$ac_includes_default"

Ian.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-14 11:12     ` Ian Jackson
@ 2012-03-14 13:45       ` Roger Pau Monné
  2012-03-14 14:13         ` Ian Jackson
  0 siblings, 1 reply; 15+ messages in thread
From: Roger Pau Monné @ 2012-03-14 13:45 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Jan Beulich, xen-devel

2012/3/14 Ian Jackson <Ian.Jackson@eu.citrix.com>:
> Roger Pau Monné writes ("Re: [Xen-devel] [PATCH] autoconf: add missing compression checks for libxc"):
>> autoconf: add missing compression checks for libxc
>
> Sadly:
>
> patching file config/Tools.mk.in
> Hunk #1 succeeded at 40 (offset -3 lines).
> patching file tools/configure
> patch: **** malformed patch at line 84: "ac_cv_header_bzlib_h" "$ac_includes_default"

Could you remove the tools/configure part of the patch and run
autogen.sh before committing?

Thanks, Roger.

> Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-14 13:45       ` Roger Pau Monné
@ 2012-03-14 14:13         ` Ian Jackson
  2012-03-14 14:15           ` Roger Pau Monné
  0 siblings, 1 reply; 15+ messages in thread
From: Ian Jackson @ 2012-03-14 14:13 UTC (permalink / raw)
  To: Roger Pau Monné; +Cc: Jan Beulich, xen-devel@lists.xen.org

Roger Pau Monné writes ("Re: [Xen-devel] [PATCH] autoconf: add missing compression checks for libxc"):
> 2012/3/14 Ian Jackson <Ian.Jackson@eu.citrix.com>:
> > Hunk #1 succeeded at 40 (offset -3 lines).
> > patching file tools/configure
> > patch: **** malformed patch at line 84: "ac_cv_header_bzlib_h" "$ac_includes_default"
> 
> Could you remove the tools/configure part of the patch and run
> autogen.sh before committing?

I didn't check but I assume that this is a linewrap problem like with
the other patch.

Ian.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] autoconf: add missing compression checks for libxc
  2012-03-14 14:13         ` Ian Jackson
@ 2012-03-14 14:15           ` Roger Pau Monné
  0 siblings, 0 replies; 15+ messages in thread
From: Roger Pau Monné @ 2012-03-14 14:15 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Jan Beulich, xen-devel@lists.xen.org

2012/3/14 Ian Jackson <Ian.Jackson@eu.citrix.com>:
> Roger Pau Monné writes ("Re: [Xen-devel] [PATCH] autoconf: add missing compression checks for libxc"):
>> 2012/3/14 Ian Jackson <Ian.Jackson@eu.citrix.com>:
>> > Hunk #1 succeeded at 40 (offset -3 lines).
>> > patching file tools/configure
>> > patch: **** malformed patch at line 84: "ac_cv_header_bzlib_h" "$ac_includes_default"
>>
>> Could you remove the tools/configure part of the patch and run
>> autogen.sh before committing?
>
> I didn't check but I assume that this is a linewrap problem like with
> the other patch.

Probably, I'm going to resend it, just like the other. Thanks and sorry.

> Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-03-14 14:15 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-22 19:45 [PATCH] autoconf: add missing compression checks for libxc Roger Pau Monne
2012-03-06 14:30 ` Jan Beulich
2012-03-06 15:01   ` Roger Pau Monné
2012-03-06 15:08     ` Jan Beulich
2012-03-06 17:27       ` Roger Pau Monné
2012-03-07  7:49         ` Jan Beulich
2012-03-07  9:02           ` Roger Pau Monné
2012-03-07  9:26             ` Jan Beulich
2012-03-13 17:04               ` Ian Jackson
2012-03-14  7:30                 ` Jan Beulich
2012-03-12 11:17     ` Ian Jackson
2012-03-14 11:12     ` Ian Jackson
2012-03-14 13:45       ` Roger Pau Monné
2012-03-14 14:13         ` Ian Jackson
2012-03-14 14:15           ` Roger Pau Monné

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).