[libvirt] [PATCH] Don't link with -lrt on OpenBSD

2012-09-04 Thread Jasper Lievisse Adriaanse
From bdf3bce37531ec346474bc5c4f37a5d2985d1d35 Mon Sep 17 00:00:00 2001
From: Jasper Lievisse Adriaanse jas...@humppa.nl
Date: Tue, 4 Sep 2012 17:03:43 +0200
Subject: [PATCH] Don't link with -lrt on OpenBSD

---
 configure.ac |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index e0d00d5..54d049d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -188,7 +188,13 @@ RT_LIBS=
 LIBS=$LIBS $LIB_PTHREAD -lrt
 AC_CHECK_FUNC([clock_gettime],[
  AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Defined if clock_gettime() exists in 
librt.so])
- RT_LIBS=-lrt
+ case $host in
+   *-*-openbsd*)
+ ;;
+   *)
+ RT_LIBS=-lrt
+ ;;
+ esac
 ])
 LIBS=$old_libs
 AC_SUBST(RT_LIBS)
-- 
1.7.6


-- 
Cheers,
Jasper

Stay Hungry. Stay Foolish

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH] Don't link with -lrt on OpenBSD

2012-09-04 Thread Eric Blake
On 09/04/2012 09:04 AM, Jasper Lievisse Adriaanse wrote:
From bdf3bce37531ec346474bc5c4f37a5d2985d1d35 Mon Sep 17 00:00:00 2001
 From: Jasper Lievisse Adriaanse jas...@humppa.nl
 Date: Tue, 4 Sep 2012 17:03:43 +0200
 Subject: [PATCH] Don't link with -lrt on OpenBSD
 
 ---
  configure.ac |8 +++-
  1 files changed, 7 insertions(+), 1 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
 index e0d00d5..54d049d 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -188,7 +188,13 @@ RT_LIBS=
  LIBS=$LIBS $LIB_PTHREAD -lrt
  AC_CHECK_FUNC([clock_gettime],[
   AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Defined if clock_gettime() exists in 
 librt.so])
 - RT_LIBS=-lrt
 + case $host in
 +   *-*-openbsd*)
 + ;;
 +   *)
 + RT_LIBS=-lrt
 + ;;
 + esac

I'd much rather write this as a probe to see if linking with -rt makes a
difference, and only add it when it matters, than trying to blindly add
it (the pre-patch version) or to blindly exclude it for some platforms
(the post-patch version).  I also wonder if gnulib has some help on this
front.  NACK to this version while I investigate.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH] Don't link with -lrt on OpenBSD

2012-09-04 Thread Eric Blake
On 09/04/2012 09:26 AM, Eric Blake wrote:
 On 09/04/2012 09:04 AM, Jasper Lievisse Adriaanse wrote:
 From bdf3bce37531ec346474bc5c4f37a5d2985d1d35 Mon Sep 17 00:00:00 2001
 From: Jasper Lievisse Adriaanse jas...@humppa.nl
 Date: Tue, 4 Sep 2012 17:03:43 +0200
 Subject: [PATCH] Don't link with -lrt on OpenBSD

 ---
  configure.ac |8 +++-
  1 files changed, 7 insertions(+), 1 deletions(-)

 
 I'd much rather write this as a probe to see if linking with -rt makes a
 difference, and only add it when it matters, than trying to blindly add
 it (the pre-patch version) or to blindly exclude it for some platforms
 (the post-patch version).  I also wonder if gnulib has some help on this
 front.  NACK to this version while I investigate.

In fact, gnulib already provides the LGPLv2+ clock-time module for
clock_gettime and clock_settime, with an appropriate link library
$(LIB_CLOCK_GETTIME) that is set to -lrt when necessary.  Does this
patch work for you?

From d74e5a4dfc434d3a1d01856d013a7f50d910fa95 Mon Sep 17 00:00:00 2001
From: Eric Blake ebl...@redhat.com
Date: Tue, 4 Sep 2012 10:57:25 -0600
Subject: [PATCH] build: use correct libraries for clock_gettime

On OpenBSD, clock_gettime() exists in libc rather than librt, and
blindly linking with -lrt made the build fail.  Gnulib already
did the work for determining which libraries to use, so we should
reuse that work rather than doing it ourselves.

* bootstrap.conf (gnulib_modules): Pull in clock-time.
* configure.ac (RT_LIBS): Drop.
* src/Makefile.am (libvirt_util_la_LIBADD): Use gnulib variable
instead.
* src/util/virtime.c (includes): Simplify.
---
 bootstrap.conf |  1 +
 configure.ac   | 10 --
 src/Makefile.am|  2 +-
 src/util/virtime.c |  6 ++
 4 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/bootstrap.conf b/bootstrap.conf
index a6cfe24..7fefb69 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -30,6 +30,7 @@ c-strcasestr
 calloc-posix
 canonicalize-lgpl
 chown
+clock-time
 close
 connect
 configmake
diff --git a/configure.ac b/configure.ac
index e0d00d5..cb91e7d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -183,16 +183,6 @@ LIBS=$LIBS $LIB_PTHREAD $LIBMULTITHREAD
 AC_CHECK_FUNCS([pthread_mutexattr_init])
 LIBS=$old_libs

-old_LIBS=$LIBS
-RT_LIBS=
-LIBS=$LIBS $LIB_PTHREAD -lrt
-AC_CHECK_FUNC([clock_gettime],[
- AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Defined if clock_gettime()
exists in librt.so])
- RT_LIBS=-lrt
-])
-LIBS=$old_libs
-AC_SUBST(RT_LIBS)
-
 dnl Availability of various common headers (non-fatal if missing).
 AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/un.h \
   sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
diff --git a/src/Makefile.am b/src/Makefile.am
index 95e1bea..39adeac 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -668,7 +668,7 @@ libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS)
$(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
$(DBUS_CFLAGS) $(LDEXP_LIBM)
 libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
-   $(RT_LIBS) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS)
+   $(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS)


 noinst_LTLIBRARIES += libvirt_conf.la
diff --git a/src/util/virtime.c b/src/util/virtime.c
index 926bb50..d34e8ab 100644
--- a/src/util/virtime.c
+++ b/src/util/virtime.c
@@ -1,7 +1,7 @@
 /*
  * virtime.c: Time handling functions
  *
- * Copyright (C) 2006-2011 Red Hat, Inc.
+ * Copyright (C) 2006-2012 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -34,9 +34,7 @@
 #include config.h

 #include stdio.h
-#ifndef HAVE_CLOCK_GETTIME
-# include sys/time.h
-#endif
+#include sys/time.h

 #include virtime.h
 #include util.h
-- 
1.7.11.4

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH] Don't link with -lrt on OpenBSD

2012-09-04 Thread Jasper Lievisse Adriaanse
On Tue, Sep 04, 2012 at 10:59:05AM -0600, Eric Blake wrote:
 On 09/04/2012 09:26 AM, Eric Blake wrote:
  On 09/04/2012 09:04 AM, Jasper Lievisse Adriaanse wrote:
  From bdf3bce37531ec346474bc5c4f37a5d2985d1d35 Mon Sep 17 00:00:00 2001
  From: Jasper Lievisse Adriaanse jas...@humppa.nl
  Date: Tue, 4 Sep 2012 17:03:43 +0200
  Subject: [PATCH] Don't link with -lrt on OpenBSD
 
  ---
   configure.ac |8 +++-
   1 files changed, 7 insertions(+), 1 deletions(-)
 
  
  I'd much rather write this as a probe to see if linking with -rt makes a
  difference, and only add it when it matters, than trying to blindly add
  it (the pre-patch version) or to blindly exclude it for some platforms
  (the post-patch version).  I also wonder if gnulib has some help on this
  front.  NACK to this version while I investigate.
 
 In fact, gnulib already provides the LGPLv2+ clock-time module for
 clock_gettime and clock_settime, with an appropriate link library
 $(LIB_CLOCK_GETTIME) that is set to -lrt when necessary.  Does this
 patch work for you?
Yep, this seems to work just fine.
 
 From d74e5a4dfc434d3a1d01856d013a7f50d910fa95 Mon Sep 17 00:00:00 2001
 From: Eric Blake ebl...@redhat.com
 Date: Tue, 4 Sep 2012 10:57:25 -0600
 Subject: [PATCH] build: use correct libraries for clock_gettime
 
 On OpenBSD, clock_gettime() exists in libc rather than librt, and
 blindly linking with -lrt made the build fail.  Gnulib already
 did the work for determining which libraries to use, so we should
 reuse that work rather than doing it ourselves.
 
 * bootstrap.conf (gnulib_modules): Pull in clock-time.
 * configure.ac (RT_LIBS): Drop.
 * src/Makefile.am (libvirt_util_la_LIBADD): Use gnulib variable
 instead.
 * src/util/virtime.c (includes): Simplify.
 ---
  bootstrap.conf |  1 +
  configure.ac   | 10 --
  src/Makefile.am|  2 +-
  src/util/virtime.c |  6 ++
  4 files changed, 4 insertions(+), 15 deletions(-)
 
 diff --git a/bootstrap.conf b/bootstrap.conf
 index a6cfe24..7fefb69 100644
 --- a/bootstrap.conf
 +++ b/bootstrap.conf
 @@ -30,6 +30,7 @@ c-strcasestr
  calloc-posix
  canonicalize-lgpl
  chown
 +clock-time
  close
  connect
  configmake
 diff --git a/configure.ac b/configure.ac
 index e0d00d5..cb91e7d 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -183,16 +183,6 @@ LIBS=$LIBS $LIB_PTHREAD $LIBMULTITHREAD
  AC_CHECK_FUNCS([pthread_mutexattr_init])
  LIBS=$old_libs
 
 -old_LIBS=$LIBS
 -RT_LIBS=
 -LIBS=$LIBS $LIB_PTHREAD -lrt
 -AC_CHECK_FUNC([clock_gettime],[
 - AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Defined if clock_gettime()
 exists in librt.so])
 - RT_LIBS=-lrt
 -])
 -LIBS=$old_libs
 -AC_SUBST(RT_LIBS)
 -
  dnl Availability of various common headers (non-fatal if missing).
  AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/un.h \
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
 diff --git a/src/Makefile.am b/src/Makefile.am
 index 95e1bea..39adeac 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
 @@ -668,7 +668,7 @@ libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS)
 $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
   $(DBUS_CFLAGS) $(LDEXP_LIBM)
  libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
   $(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
 - $(RT_LIBS) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS)
 + $(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS)
 
 
  noinst_LTLIBRARIES += libvirt_conf.la
 diff --git a/src/util/virtime.c b/src/util/virtime.c
 index 926bb50..d34e8ab 100644
 --- a/src/util/virtime.c
 +++ b/src/util/virtime.c
 @@ -1,7 +1,7 @@
  /*
   * virtime.c: Time handling functions
   *
 - * Copyright (C) 2006-2011 Red Hat, Inc.
 + * Copyright (C) 2006-2012 Red Hat, Inc.
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
 @@ -34,9 +34,7 @@
  #include config.h
 
  #include stdio.h
 -#ifndef HAVE_CLOCK_GETTIME
 -# include sys/time.h
 -#endif
 +#include sys/time.h
 
  #include virtime.h
  #include util.h
 -- 
 1.7.11.4
 
 -- 
 Eric Blake   ebl...@redhat.com+1-919-301-3266
 Libvirt virtualization library http://libvirt.org
 



-- 
Cheers,
Jasper

Stay Hungry. Stay Foolish

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH] Don't link with -lrt on OpenBSD

2012-09-04 Thread Eric Blake
On 09/04/2012 11:20 AM, Jasper Lievisse Adriaanse wrote:
 In fact, gnulib already provides the LGPLv2+ clock-time module for
 clock_gettime and clock_settime, with an appropriate link library
 $(LIB_CLOCK_GETTIME) that is set to -lrt when necessary.  Does this
 patch work for you?
 Yep, this seems to work just fine.
  
 From d74e5a4dfc434d3a1d01856d013a7f50d910fa95 Mon Sep 17 00:00:00 2001
 From: Eric Blake ebl...@redhat.com
 Date: Tue, 4 Sep 2012 10:57:25 -0600
 Subject: [PATCH] build: use correct libraries for clock_gettime

 On OpenBSD, clock_gettime() exists in libc rather than librt, and
 blindly linking with -lrt made the build fail.  Gnulib already
 did the work for determining which libraries to use, so we should
 reuse that work rather than doing it ourselves.

Thanks; I've pushed this one.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list