Files
haikuports/dev-libs/hidapi/patches/hidapi-20160919.patchset
2017-06-16 22:33:07 -04:00

140 lines
3.5 KiB
Plaintext

From 0e6ebfe2cee9ea675ebc175fb95830cc1ecf5ef8 Mon Sep 17 00:00:00 2001
From: CodeforEvolution <themysterymail555@gmail.com>
Date: Mon, 26 Dec 2016 16:59:41 +0000
Subject: Changes to Build System for Haiku
diff --git a/Makefile.am b/Makefile.am
index 196c991..48e522d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -31,6 +31,10 @@ if OS_KFREEBSD
SUBDIRS += libusb
endif
+if OS_HAIKU
+SUBDIRS += libusb
+endif
+
if OS_WINDOWS
SUBDIRS += windows
endif
diff --git a/configure.ac b/configure.ac
index c6747f9..dd5249a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -107,6 +107,18 @@ case $host in
AC_CHECK_LIB([usb], [libusb_init], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -lusb"], [hidapi_lib_error libusb])
echo libs_priv: $LIBS_LIBUSB_PRIVATE
;;
+*-*-haiku)
+ AC_MSG_RESULT([ (Haiku back-end)])
+ AC_DEFINE(OS_HAIKU, 1, [Haiku implementation])
+ AC_SUBST(OS_HAIKU)
+ backend="libusb"
+ os="haiku"
+ threads="pthreads"
+
+ PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.9], true, [hidapi_lib_error libusb-1.0])
+ LIBS_LIBUSB_PRIVATE+=" $libusb_LIBS"
+ CFLAGS_LIBUSB+=" $libusb_CFLAGS"
+ ;;
*-mingw*)
AC_MSG_RESULT([ (Windows back-end, using MinGW)])
backend="windows"
@@ -213,6 +225,7 @@ AM_CONDITIONAL(OS_LINUX, test "x$os" = xlinux)
AM_CONDITIONAL(OS_DARWIN, test "x$os" = xdarwin)
AM_CONDITIONAL(OS_FREEBSD, test "x$os" = xfreebsd)
AM_CONDITIONAL(OS_KFREEBSD, test "x$os" = xkfreebsd)
+AM_CONDITIONAL(OS_HAIKU, test "x$os" = xhaiku)
AM_CONDITIONAL(OS_WINDOWS, test "x$os" = xwindows)
AC_CONFIG_HEADERS([config.h])
diff --git a/libusb/Makefile-manual b/libusb/Makefile-manual
index c0fe868..0acf707 100644
--- a/libusb/Makefile-manual
+++ b/libusb/Makefile-manual
@@ -10,6 +10,10 @@ ifeq ($(OS), FreeBSD)
FILE=Makefile.freebsd
endif
+ifeq ($(OS), Haiku)
+ FILE=Makefile.haiku
+endif
+
ifeq ($(FILE), )
all:
$(error Your platform ${OS} is not supported by hidapi/libusb at this time.)
diff --git a/libusb/Makefile.am b/libusb/Makefile.am
index 13c9d35..1da06bc 100644
--- a/libusb/Makefile.am
+++ b/libusb/Makefile.am
@@ -21,6 +21,13 @@ libhidapi_la_LDFLAGS = $(LTLDFLAGS)
libhidapi_la_LIBADD = $(LIBS_LIBUSB)
endif
+if OS_HAIKU
+lib_LTLIBRARIES = libhidapi.la
+libhidapi_la_SOURCES = hid.c
+libhidapi_la_LDFLAGS = $(LTLDFLAGS)
+libhidapi_la_LIBADD = $(LIBS_LIBUSB)
+endif
+
hdrdir = $(includedir)/hidapi
hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h
diff --git a/libusb/Makefile.haiku b/libusb/Makefile.haiku
new file mode 100644
index 0000000..6ddd172
--- /dev/null
+++ b/libusb/Makefile.haiku
@@ -0,0 +1,46 @@
+###########################################
+# Simple Makefile for HIDAPI test program
+#
+# Alan Ott
+# Signal 11 Software
+# 2010-06-01
+###########################################
+
+all: hidtest libs
+
+libs: libhidapi.so
+
+CC ?= cc
+CFLAGS ?= -Wall -g -fPIC
+
+CXX ?= c++
+CXXFLAGS ?= -Wall -g
+
+COBJS = hid.o
+CPPOBJS = ../hidtest/hidtest.o
+OBJS = $(COBJS) $(CPPOBJS)
+INCLUDES = -I../hidapi -I$(shell finddir B_SYSTEM_HEADERS_DIRECTORY)
+LDFLAGS = -L$(shell finddir B_SYSTEM_LIB_DIRECTORY)
+LIBS = -lusb-1.0
+
+
+# Console Test Program
+hidtest: $(OBJS)
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
+
+# Shared Libs
+libhidapi.so: $(COBJS)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname,$@.0 $^ -o $@ $(LIBS)
+
+# Objects
+$(COBJS): %.o: %.c
+ $(CC) $(CFLAGS) -c $(INCLUDES) $< -o $@
+
+$(CPPOBJS): %.o: %.cpp
+ $(CXX) $(CXXFLAGS) -c $(INCLUDES) $< -o $@
+
+
+clean:
+ rm -f $(OBJS) hidtest libhidapi.so ../hidtest/hidtest.o
+
+.PHONY: clean libs
--
2.2.2