[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4 of 8 v2] autoconf: run libuuid test under Linux only
On Fri, 2012-03-02 at 09:35 +0000, Roger Pau Monnà wrote: > 2012/3/1 Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>: > > Roger Pau Monne writes ("[Xen-devel] [PATCH 4 of 8 v2] autoconf: run > > libuuid test under Linux only"): > >> autoconf: run libuuid test under Linux only > >> +AS_IF([test "x$host_os" == "xlinux-gnu"], [ > >> + AC_CHECK_LIB([uuid], [uuid_clear], [], > >> + [AC_MSG_ERROR([Could not find libuuid])]) > >> +]) > > > > This seems odd to me. Where does this linux-specificity come > > from ? > > -luuid is only used when building under Linux (see > tools/libxl/Makefile for example), NetBSD uuid lib is different from > linux, and doesn't require the -luuid flag to link, it doesn't even > have the same API. Since we already check for different uuid headers > in Linux/NetBSD, what about this: Shouldn't this test also be checking for "Linux-like" or "BSD-like" UUID interfaces, rather than checking specifically for those OSes directly. We don't really care what the OS is, just which of the uuid interfaces it happens to provide. Such a change may well propagate to more than the configure script though and your patch seems like a valid fix to the status quo so: Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> (note that IanJ is away until 12 March) > > 8<-------------------------------------------- > > autoconf: run libuuid test under Linux only > > libuuid is only required to compile Xen tools under Linux, move the > lib check together with the headers check. Also fixed a couple of hard > tabs in tools/m4/uuid.m4. > > Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> > > diff -r a41d13f080d9 tools/configure > --- a/tools/configure Wed Feb 22 04:15:33 2012 +0100 > +++ b/tools/configure Wed Feb 22 14:54:22 2012 +0100 > @@ -6330,6 +6330,53 @@ else > fi > > > + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear > in -luuid" >&5 > +$as_echo_n "checking for uuid_clear in -luuid... " >&6; } > +if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then : > + $as_echo_n "(cached) " >&6 > +else > + ac_check_lib_save_LIBS=$LIBS > +LIBS="-luuid $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 uuid_clear (); > +int > +main () > +{ > +return uuid_clear (); > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_link "$LINENO"; then : > + ac_cv_lib_uuid_uuid_clear=yes > +else > + ac_cv_lib_uuid_uuid_clear=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_uuid_uuid_clear" >&5 > +$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; } > +if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then : > + cat >>confdefs.h <<_ACEOF > +#define HAVE_LIBUUID 1 > +_ACEOF > + > + LIBS="-luuid $LIBS" > + > +else > + as_fn_error $? "cannot find libuuid" "$LINENO" 5 > +fi > + > else > ac_fn_c_check_header_mongrel "$LINENO" "uuid.h" > "ac_cv_header_uuid_h" "$ac_includes_default" > if test "x$ac_cv_header_uuid_h" = x""yes; then : > @@ -6826,53 +6873,6 @@ if test "x$ac_cv_lib_rt_clock_gettime" = > > fi > > -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" > >&5 > -$as_echo_n "checking for uuid_clear in -luuid... " >&6; } > -if test "${ac_cv_lib_uuid_uuid_clear+set}" = set; then : > - $as_echo_n "(cached) " >&6 > -else > - ac_check_lib_save_LIBS=$LIBS > -LIBS="-luuid $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 uuid_clear (); > -int > -main () > -{ > -return uuid_clear (); > - ; > - return 0; > -} > -_ACEOF > -if ac_fn_c_try_link "$LINENO"; then : > - ac_cv_lib_uuid_uuid_clear=yes > -else > - ac_cv_lib_uuid_uuid_clear=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_uuid_uuid_clear" >&5 > -$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; } > -if test "x$ac_cv_lib_uuid_uuid_clear" = x""yes; then : > - cat >>confdefs.h <<_ACEOF > -#define HAVE_LIBUUID 1 > -_ACEOF > - > - LIBS="-luuid $LIBS" > - > -else > - as_fn_error $? "Could not find libuuid" "$LINENO" 5 > -fi > - > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" > >&5 > $as_echo_n "checking for yajl_alloc in -lyajl... " >&6; } > if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then : > diff -r a41d13f080d9 tools/configure.ac > --- a/tools/configure.ac Wed Feb 22 04:15:33 2012 +0100 > +++ b/tools/configure.ac Wed Feb 22 14:54:22 2012 +0100 > @@ -118,8 +118,6 @@ AC_SUBST(libgcrypt) > AC_CHECK_LIB([pthread], [pthread_create], [] , > [AC_MSG_ERROR([Could not find libpthread])]) > AC_CHECK_LIB([rt], [clock_gettime]) > -AC_CHECK_LIB([uuid], [uuid_clear], [], > - [AC_MSG_ERROR([Could not find libuuid])]) > AC_CHECK_LIB([yajl], [yajl_alloc], [], > [AC_MSG_ERROR([Could not find yajl])]) > AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])]) > diff -r a41d13f080d9 tools/m4/uuid.m4 > --- a/tools/m4/uuid.m4 Wed Feb 22 04:15:33 2012 +0100 > +++ b/tools/m4/uuid.m4 Wed Feb 22 14:54:22 2012 +0100 > @@ -2,9 +2,11 @@ AC_DEFUN([AX_CHECK_UUID], > [if test "x$host_os" == "xlinux-gnu" > then > AC_CHECK_HEADER([uuid/uuid.h],, > - [AC_MSG_ERROR([cannot find uuid headers])]) > + [AC_MSG_ERROR([cannot find uuid headers])]) > + AC_CHECK_LIB([uuid], [uuid_clear], [], > + [AC_MSG_ERROR([cannot find libuuid])]) > else > AC_CHECK_HEADER([uuid.h],, > - [AC_MSG_ERROR([cannot find uuid headers])]) > + [AC_MSG_ERROR([cannot find uuid headers])]) > fi > ]) > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |