mirror of
https://github.com/RPCS3/hidapi.git
synced 2026-07-19 13:34:37 -04:00
Autotools on Windows
This commit is contained in:
+5
-1
@@ -1,10 +1,10 @@
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
if OS_FREEBSD
|
||||
pkgconfigdir=$(prefix)/libdata/pkgconfig
|
||||
else
|
||||
pkgconfigdir=$(libdir)/pkgconfig
|
||||
echo $pkgconfigdir
|
||||
endif
|
||||
|
||||
if OS_LINUX
|
||||
@@ -28,6 +28,10 @@ if OS_FREEBSD
|
||||
SUBDIRS += libusb
|
||||
endif
|
||||
|
||||
if OS_WINDOWS
|
||||
SUBDIRS += windows
|
||||
endif
|
||||
|
||||
if BUILD_TESTGUI
|
||||
SUBDIRS += testgui
|
||||
endif
|
||||
|
||||
+32
-3
@@ -2,9 +2,9 @@ AC_PREREQ([2.65])
|
||||
AC_INIT([hidapi], [0.8], [alan@signal11.us])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
LT_INIT
|
||||
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AC_PROG_OBJC
|
||||
@@ -63,6 +63,16 @@ case $host in
|
||||
AC_CHECK_LIB([iconv], [iconv_open], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -liconv"], [hidapi_lib_error libiconv])
|
||||
echo libs_priv: $LIBS_LIBUSB_PRIVATE
|
||||
;;
|
||||
*-mingw*)
|
||||
AC_MSG_RESULT([ (Windows back-end, using MinGW)])
|
||||
backend="windows"
|
||||
win_implementation="mingw"
|
||||
;;
|
||||
*-cygwin*)
|
||||
AC_MSG_RESULT([ (Windows back-end, using Cygwin)])
|
||||
backend="windows"
|
||||
win_implementation="cygwin"
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([HIDAPI is not supported on your operating system yet])
|
||||
esac
|
||||
@@ -74,6 +84,14 @@ AC_SUBST([LIBS_LIBUSB])
|
||||
AC_SUBST([CFLAGS_LIBUSB])
|
||||
AC_SUBST([CFLAGS_HIDRAW])
|
||||
|
||||
if test "x$backend" = xwindows; then
|
||||
AC_DEFINE(OS_WINDOWS, 1, [Windows implementations])
|
||||
AC_SUBST(OS_WINDOWS)
|
||||
LDFLAGS="${LDFLAGS} -no-undefined"
|
||||
LIBS="${LIBS} -lsetupapi"
|
||||
fi
|
||||
|
||||
|
||||
# Test GUI
|
||||
AC_ARG_ENABLE([testgui],
|
||||
[AS_HELP_STRING([--enable-testgui],
|
||||
@@ -89,8 +107,18 @@ if test "x$testgui_enabled" != "xno"; then
|
||||
LIBS_TESTGUI+=" -framework Cocoa"
|
||||
CFLAGS_TESTGUI+=`/opt/local/bin/fox-config --cflags`
|
||||
OBJCFLAGS+=" -x objective-c++"
|
||||
elif test "x$backend" = xwindows; then
|
||||
# On Windows, just set the paths for Fox toolkit
|
||||
if test "x$win_implementation" = xmingw; then
|
||||
CFLAGS_TESTGUI="-I\$(srcdir)/../../hidapi-externals/fox/include -g -c"
|
||||
LIBS_TESTGUI=" -mwindows \$(srcdir)/../../hidapi-externals/fox/lib/libFOX-1.6.a -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32"
|
||||
else
|
||||
# Cygwin
|
||||
CFLAGS_TESTGUI="-DWIN32 -I\$(srcdir)/../../hidapi-externals/fox/include -g -c"
|
||||
LIBS_TESTGUI="\$(srcdir)/../../hidapi-externals/fox/lib/libFOX-cygwin-1.6.a -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32"
|
||||
fi
|
||||
else
|
||||
# On non-Mac platforms, use pkg-config to find fox.
|
||||
# On Linux and FreeBSD platforms, use pkg-config to find fox.
|
||||
PKG_CHECK_MODULES([fox], [fox])
|
||||
LIBS_TESTGUI="${LIBS_TESTGUI} $fox_LIBS"
|
||||
if test "x$backend" = xfreebsd; then
|
||||
@@ -106,6 +134,7 @@ AC_SUBST([CFLAGS_TESTGUI])
|
||||
AM_CONDITIONAL(OS_LINUX, test "x$backend" = xlinux)
|
||||
AM_CONDITIONAL(OS_DARWIN, test "x$backend" = xdarwin)
|
||||
AM_CONDITIONAL(OS_FREEBSD, test "x$backend" = xfreebsd)
|
||||
AM_CONDITIONAL(OS_WINDOWS, test "x$backend" = xwindows)
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
@@ -116,5 +145,5 @@ else
|
||||
AC_CONFIG_FILES([pc/hidapi.pc])
|
||||
fi
|
||||
|
||||
AC_CONFIG_FILES([Makefile linux/Makefile libusb/Makefile mac/Makefile testgui/Makefile])
|
||||
AC_CONFIG_FILES([Makefile linux/Makefile libusb/Makefile mac/Makefile windows/Makefile testgui/Makefile])
|
||||
AC_OUTPUT
|
||||
|
||||
@@ -34,3 +34,11 @@ bin_PROGRAMS = hidapi-testgui
|
||||
hidapi_testgui_SOURCES = test.cpp
|
||||
hidapi_testgui_LDADD = $(srcdir)/../libusb/libhidapi.la $(LIBS_TESTGUI)
|
||||
endif
|
||||
|
||||
## Windows
|
||||
if OS_WINDOWS
|
||||
bin_PROGRAMS = hidapi-testgui
|
||||
|
||||
hidapi_testgui_SOURCES = test.cpp
|
||||
hidapi_testgui_LDADD = $(srcdir)/../windows/libhidapi.la $(LIBS_TESTGUI)
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
lib_LTLIBRARIES = libhidapi.la
|
||||
libhidapi_la_SOURCES = hid.c
|
||||
libhidapi_la_LDFLAGS = -version-info 0:0:0
|
||||
AM_CPPFLAGS = -I$(srcdir)/../hidapi/
|
||||
libhidapi_la_LIBADD = $(LIBS)
|
||||
|
||||
hdrdir = $(includedir)/hidapi
|
||||
hdr_HEADERS = $(srcdir)/../hidapi/hidapi.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
ddk_build \
|
||||
hidapi.vcproj \
|
||||
hidtest.vcproj \
|
||||
Makefile.mingw \
|
||||
hidapi.sln
|
||||
@@ -6,7 +6,7 @@
|
||||
# 2010-06-01
|
||||
###########################################
|
||||
|
||||
all: hidtest
|
||||
all: hidtest libhidapi.dll
|
||||
|
||||
CC=gcc
|
||||
CXX=g++
|
||||
@@ -15,11 +15,14 @@ CPPOBJS=../hidtest/hidtest.o
|
||||
OBJS=$(COBJS) $(CPPOBJS)
|
||||
CFLAGS=-I../hidapi -g -c
|
||||
LIBS= -lsetupapi
|
||||
|
||||
DLL_LDFLAGS = -mwindows -lsetupapi
|
||||
|
||||
hidtest: $(OBJS)
|
||||
g++ -g $^ $(LIBS) -o hidtest
|
||||
|
||||
libhidapi.dll: $(OBJS)
|
||||
$(CC) -g $^ $(DLL_LDFLAGS) -o libhidapi.dll
|
||||
|
||||
$(COBJS): %.o: %.c
|
||||
$(CC) $(CFLAGS) $< -o $@
|
||||
|
||||
|
||||
Reference in New Issue
Block a user