With a few matters out of the way, let's try to get back to business
(provided SF.net fixed their mail issue with gmail servers).
The proposed attached patch adds experimental NetBSD support.
It's basically a merge of 3 NetBSD related patches that have already
been added to libusb.git, with some minor improvements, such as adding a
threads="windows" for MinGW, which, while not necessary, should make our
intent clearer.
Regards,
/Pete
>From 968df1244673e1e2b0e1acfffa9375d092d2c26d Mon Sep 17 00:00:00 2001
From: Pete Batard <p...@akeo.ie>
Date: Thu, 19 Apr 2012 18:01:04 +0100
Subject: [PATCH] BSD: add NetBSD experimental support
* also improve OS/backend selection in configure.ac
* original libusb patches from Peter Stuge and Xiaofan Chen
---
configure.ac | 69 +++++++++++++++++++++++++++++++++--------------------
libusb-1.0.pc.in | 2 +-
libusb/version.h | 2 +-
3 files changed, 45 insertions(+), 28 deletions(-)
diff --git a/configure.ac b/configure.ac
index 69b30ce..db5c534 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,47 +45,32 @@ AC_DEFINE([_GNU_SOURCE], 1, [Use GNU extensions])
LTLDFLAGS="${LTLDFLAGS} -no-undefined"
AC_MSG_CHECKING([operating system])
+
case $host in
*-linux*)
- AC_DEFINE(OS_LINUX, 1, [Linux backend])
- AC_SUBST(OS_LINUX)
AC_MSG_RESULT([Linux])
backend="linux"
- AC_CHECK_LIB(rt, clock_gettime, PC_LIBS_PRIVATE="-lrt")
threads="posix"
- THREAD_CFLAGS="-pthread"
- PC_LIBS_PRIVATE="${PC_LIBS_PRIVATE} -pthread"
- AC_CHECK_HEADERS([poll.h])
- AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll() argument])
;;
*-darwin*)
- AC_DEFINE(OS_DARWIN, 1, [Darwin backend])
- AC_SUBST(OS_DARWIN)
AC_MSG_RESULT([Darwin/Mac OS X])
backend="darwin"
threads="posix"
- PC_LIBS_PRIVATE="-lobjc -Wl,-framework,IOKit
-Wl,-framework,CoreFoundation"
- LTLDFLAGS="${LTLDFLAGS} -Wl,-prebind"
- AC_CHECK_HEADERS([poll.h])
- AC_CHECK_TYPE([nfds_t],
- [AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll()
argument])],
- [AC_DEFINE([POLL_NFDS_TYPE],[unsigned int],[type of second
poll() argument])],
- [#include <poll.h>])
;;
*-openbsd*)
- AC_DEFINE(OS_OPENBSD, 1, [OpenBSD backend])
- AC_SUBST(OS_OPENBSD)
AC_MSG_RESULT([OpenBSD])
- backend="openbsd"
+ backend="bsd"
+ threads="posix"
+ ;;
+*-netbsd*)
+ AC_MSG_RESULT([NetBSD (using OpenBSD backend)])
+ backend="bsd"
threads="posix"
- THREAD_CFLAGS="-pthread"
- PC_LIBS_PRIVATE="-pthread"
- AC_CHECK_HEADERS([poll.h])
- AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll() argument])
;;
*-mingw*)
AC_MSG_RESULT([Windows])
backend="windows"
+ threads="windows"
;;
*-cygwin*)
AC_MSG_RESULT([Cygwin (using Windows backend)])
@@ -95,20 +80,52 @@ case $host in
*)
AC_MSG_ERROR([unsupported operating system])
esac
-if test "$backend" = windows; then
+
+case $backend in
+linux)
+ AC_DEFINE(OS_LINUX, 1, [Linux backend])
+ AC_SUBST(OS_LINUX)
+ AC_CHECK_LIB(rt, clock_gettime, PC_LIBS_PRIVATE="-lrt")
+ THREAD_CFLAGS="-pthread"
+ PC_LIBS_PRIVATE="${PC_LIBS_PRIVATE} -pthread"
+ AC_CHECK_HEADERS([poll.h])
+ AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll() argument])
+ ;;
+darwin)
+ AC_DEFINE(OS_DARWIN, 1, [Darwin backend])
+ AC_SUBST(OS_DARWIN)
+ PC_LIBS_PRIVATE="-lobjc -Wl,-framework,IOKit
-Wl,-framework,CoreFoundation"
+ LTLDFLAGS="${LTLDFLAGS} -Wl,-prebind"
+ AC_CHECK_HEADERS([poll.h])
+ AC_CHECK_TYPE([nfds_t],
+ [AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll()
argument])],
+ [AC_DEFINE([POLL_NFDS_TYPE],[unsigned int],[type of second
poll() argument])],
+ [#include <poll.h>])
+ ;;
+bsd)
+ AC_DEFINE(OS_OPENBSD, 1, [OpenBSD/NetBSD backend])
+ AC_SUBST(OS_OPENBSD)
+ THREAD_CFLAGS="-pthread"
+ PC_LIBS_PRIVATE="-pthread"
+ AC_CHECK_HEADERS([poll.h])
+ AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll() argument])
+ ;;
+windows)
AC_DEFINE(OS_WINDOWS, 1, [Windows backend])
AC_SUBST(OS_WINDOWS)
PC_LIBS_PRIVATE=""
LTLDFLAGS="${LTLDFLAGS} -avoid-version -Wl,--add-stdcall-alias"
AC_DEFINE([POLL_NFDS_TYPE],[unsigned int],[type of second poll()
argument])
-fi
+ ;;
+esac
+
AC_SUBST(THREAD_CFLAGS)
AC_SUBST(PC_LIBS_PRIVATE)
LIBS="${LIBS} ${PC_LIBS_PRIVATE}"
AM_CONDITIONAL(OS_LINUX, test "x$backend" = xlinux)
AM_CONDITIONAL(OS_DARWIN, test "x$backend" = xdarwin)
-AM_CONDITIONAL(OS_OPENBSD, test "x$backend" = xopenbsd)
+AM_CONDITIONAL(OS_OPENBSD, test "x$backend" = xbsd)
AM_CONDITIONAL(OS_WINDOWS, test "x$backend" = xwindows)
AM_CONDITIONAL(THREADS_POSIX, test "x$threads" = xposix)
if test "$threads" = posix; then
diff --git a/libusb-1.0.pc.in b/libusb-1.0.pc.in
index 645c978..8e403b8 100644
--- a/libusb-1.0.pc.in
+++ b/libusb-1.0.pc.in
@@ -4,7 +4,7 @@ libdir=@libdir@
includedir=@includedir@
Name: libusbx-1.0
-Description: C API for USB device access from Linux, Mac OS X, Windows and
OpenBSD userspace
+Description: C API for USB device access from Linux, Mac OS X, Windows and
OpenBSD/NetBSD userspace
Version: @VERSION@
Libs: -L${libdir} -lusb-1.0
Libs.private: @PC_LIBS_PRIVATE@
diff --git a/libusb/version.h b/libusb/version.h
index 958fd11..f7715e3 100644
--- a/libusb/version.h
+++ b/libusb/version.h
@@ -9,7 +9,7 @@
#define LIBUSB_MICRO 10
#endif
#ifndef LIBUSB_NANO
-#define LIBUSB_NANO 10476
+#define LIBUSB_NANO 10477
#endif
/* LIBUSB_RC is the release candidate suffix. Should normally be empty. */
#ifndef LIBUSB_RC
--
1.7.9.msysgit.0
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel