summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/hidapi/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/SDL-3.2.8/src/hidapi/configure.ac')
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/configure.ac256
1 files changed, 256 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/hidapi/configure.ac b/contrib/SDL-3.2.8/src/hidapi/configure.ac
new file mode 100644
index 0000000..1b20510
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/configure.ac
@@ -0,0 +1,256 @@
1AC_PREREQ(2.63)
2
3AC_INIT([hidapi],[m4_normalize(m4_builtin([include], VERSION))],[https://github.com/libusb/hidapi/issues])
4
5echo "This build script for HIDAPI is deprecated."
6echo "Consider using CMake instead."
7
8# Library soname version
9# Follow the following rules (particularly the ones in the second link):
10# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
11# http://sourceware.org/autobook/autobook/autobook_91.html
12lt_current="0"
13lt_revision="0"
14lt_age="0"
15LTLDFLAGS="-version-info ${lt_current}:${lt_revision}:${lt_age}"
16
17AC_CONFIG_MACRO_DIR([m4])
18AM_INIT_AUTOMAKE([foreign -Wall -Werror])
19
20m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
21LT_INIT
22
23AC_PROG_CC
24AC_PROG_CXX
25AC_PROG_OBJC
26PKG_PROG_PKG_CONFIG
27
28
29m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
30
31hidapi_lib_error() {
32 echo ""
33 echo " Library $1 was not found on this system."
34 echo " Please install it and re-run ./configure"
35 echo ""
36 exit 1
37}
38
39hidapi_prog_error() {
40 echo ""
41 echo " Program $1 was not found on this system."
42 echo " This program is part of $2."
43 echo " Please install it and re-run ./configure"
44 echo ""
45 exit 1
46}
47
48AC_MSG_CHECKING([operating system])
49AC_MSG_RESULT($host)
50case $host in
51*-linux*)
52 AC_MSG_RESULT([ (Linux back-end)])
53 AC_DEFINE(OS_LINUX, 1, [Linux implementations])
54 AC_SUBST(OS_LINUX)
55 backend="linux"
56 os="linux"
57 threads="pthreads"
58
59 # HIDAPI/hidraw libs
60 PKG_CHECK_MODULES([libudev], [libudev], true, [hidapi_lib_error libudev])
61 LIBS_HIDRAW_PR="${LIBS_HIDRAW_PR} $libudev_LIBS"
62 CFLAGS_HIDRAW="${CFLAGS_HIDRAW} $libudev_CFLAGS"
63
64 # HIDAPI/libusb libs
65 AC_CHECK_LIB([rt], [clock_gettime], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -lrt"], [hidapi_lib_error librt])
66 PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.9], true, [hidapi_lib_error libusb-1.0])
67 LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} $libusb_LIBS"
68 CFLAGS_LIBUSB="${CFLAGS_LIBUSB} $libusb_CFLAGS"
69 ;;
70*-darwin*)
71 AC_MSG_RESULT([ (Mac OS X back-end)])
72 AC_DEFINE(OS_DARWIN, 1, [Mac implementation])
73 AC_SUBST(OS_DARWIN)
74 backend="mac"
75 os="darwin"
76 threads="pthreads"
77 LIBS="${LIBS} -framework IOKit -framework CoreFoundation"
78 ;;
79*-freebsd*)
80 AC_MSG_RESULT([ (FreeBSD back-end)])
81 AC_DEFINE(OS_FREEBSD, 1, [FreeBSD implementation])
82 AC_SUBST(OS_FREEBSD)
83 backend="libusb"
84 os="freebsd"
85 threads="pthreads"
86
87 CFLAGS="$CFLAGS -I/usr/local/include"
88 LDFLAGS="$LDFLAGS -L/usr/local/lib"
89 LIBS="${LIBS}"
90 PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.9], true, [hidapi_lib_error libusb-1.0])
91 LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} $libusb_LIBS"
92 CFLAGS_LIBUSB="${CFLAGS_LIBUSB} $libusb_CFLAGS"
93 AC_CHECK_LIB([iconv], [iconv_open], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -liconv"], [hidapi_lib_error libiconv])
94 ;;
95*-kfreebsd*)
96 AC_MSG_RESULT([ (kFreeBSD back-end)])
97 AC_DEFINE(OS_KFREEBSD, 1, [kFreeBSD implementation])
98 AC_SUBST(OS_KFREEBSD)
99 backend="libusb"
100 os="kfreebsd"
101 threads="pthreads"
102
103 PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.9], true, [hidapi_lib_error libusb-1.0])
104 LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} $libusb_LIBS"
105 CFLAGS_LIBUSB="${CFLAGS_LIBUSB} $libusb_CFLAGS"
106 ;;
107*-*-haiku)
108 AC_MSG_RESULT([ (Haiku back-end)])
109 AC_DEFINE(OS_HAIKU, 1, [Haiku implementation])
110 AC_SUBST(OS_HAIKU)
111 backend="libusb"
112 os="haiku"
113 threads="pthreads"
114
115 PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.9], true, [hidapi_lib_error libusb-1.0])
116 LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} $libusb_LIBS"
117 CFLAGS_LIBUSB="${CFLAGS_LIBUSB} $libusb_CFLAGS"
118 AC_CHECK_LIB([iconv], [libiconv_open], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -liconv"], [hidapi_lib_error libiconv])
119 ;;
120*-mingw*)
121 AC_MSG_RESULT([ (Windows back-end, using MinGW)])
122 backend="windows"
123 os="windows"
124 threads="windows"
125 win_implementation="mingw"
126 LDFLAGS="${LDFLAGS} -static-libgcc"
127 ;;
128*-msys*)
129 AC_MSG_RESULT([ (Windows back-end, using MSYS2)])
130 backend="windows"
131 os="windows"
132 threads="windows"
133 win_implementation="mingw"
134 LDFLAGS="${LDFLAGS} -static-libgcc"
135 ;;
136*-cygwin*)
137 AC_MSG_RESULT([ (Windows back-end, using Cygwin)])
138 backend="windows"
139 os="windows"
140 threads="windows"
141 win_implementation="cygwin"
142 ;;
143*)
144 AC_MSG_ERROR([HIDAPI is not supported on your operating system yet])
145esac
146
147LIBS_HIDRAW="${LIBS} ${LIBS_HIDRAW_PR}"
148LIBS_LIBUSB="${LIBS} ${LIBS_LIBUSB_PRIVATE}"
149AC_SUBST([LIBS_HIDRAW])
150AC_SUBST([LIBS_LIBUSB])
151AC_SUBST([CFLAGS_LIBUSB])
152AC_SUBST([CFLAGS_HIDRAW])
153
154if test "x$os" = xwindows; then
155 AC_DEFINE(OS_WINDOWS, 1, [Windows implementations])
156 AC_SUBST(OS_WINDOWS)
157 LDFLAGS="${LDFLAGS} -no-undefined"
158 LIBS="${LIBS}"
159fi
160
161if test "x$threads" = xpthreads; then
162 AX_PTHREAD([found_pthreads=yes], [found_pthreads=no])
163
164 if test "x$found_pthreads" = xyes; then
165 if test "x$os" = xlinux; then
166 # Only use pthreads for libusb implementation on Linux.
167 LIBS_LIBUSB="$PTHREAD_LIBS $LIBS_LIBUSB"
168 CFLAGS_LIBUSB="$CFLAGS_LIBUSB $PTHREAD_CFLAGS"
169 # There's no separate CC on Linux for threading,
170 # so it's ok that both implementations use $PTHREAD_CC
171 CC="$PTHREAD_CC"
172 else
173 LIBS="$PTHREAD_LIBS $LIBS"
174 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
175 CC="$PTHREAD_CC"
176 fi
177 fi
178fi
179
180# Test GUI
181AC_ARG_ENABLE([testgui],
182 [AS_HELP_STRING([--enable-testgui],
183 [enable building of test GUI (default n)])],
184 [testgui_enabled=$enableval],
185 [testgui_enabled='no'])
186AM_CONDITIONAL([BUILD_TESTGUI], [test "x$testgui_enabled" != "xno"])
187
188# Configure the MacOS TestGUI app bundle
189rm -Rf testgui/TestGUI.app
190mkdir -p testgui/TestGUI.app
191cp -R ${srcdir}/testgui/TestGUI.app.in/* testgui/TestGUI.app
192chmod -R u+w testgui/TestGUI.app
193mkdir testgui/TestGUI.app/Contents/MacOS/
194
195if test "x$testgui_enabled" != "xno"; then
196 if test "x$os" = xdarwin; then
197 # On Mac OS, do not use pkg-config.
198 AC_CHECK_PROG([foxconfig], [fox-config], [fox-config], false)
199 if test "x$foxconfig" = "xfalse"; then
200 hidapi_prog_error fox-config "FOX Toolkit"
201 fi
202 LIBS_TESTGUI="${LIBS_TESTGUI} `$foxconfig --libs`"
203 LIBS_TESTGUI="${LIBS_TESTGUI} -framework Cocoa -L/usr/X11R6/lib"
204 CFLAGS_TESTGUI="${CFLAGS_TESTGUI} `$foxconfig --cflags`"
205 OBJCFLAGS="${OBJCFLAGS} -x objective-c++"
206 elif test "x$os" = xwindows; then
207 # On Windows, just set the paths for Fox toolkit
208 if test "x$win_implementation" = xmingw; then
209 CFLAGS_TESTGUI="-I\$(srcdir)/../../hidapi-externals/fox/include -g -c"
210 LIBS_TESTGUI=" -mwindows \$(srcdir)/../../hidapi-externals/fox/lib/libFOX-1.6.a -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32"
211 else
212 # Cygwin
213 CFLAGS_TESTGUI="-DWIN32 -I\$(srcdir)/../../hidapi-externals/fox/include -g -c"
214 LIBS_TESTGUI="\$(srcdir)/../../hidapi-externals/fox/lib/libFOX-cygwin-1.6.a -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32"
215 fi
216 else
217 # On Linux and FreeBSD platforms, use pkg-config to find fox.
218 PKG_CHECK_MODULES([fox], [fox17], [], [PKG_CHECK_MODULES([fox], [fox])])
219 LIBS_TESTGUI="${LIBS_TESTGUI} $fox_LIBS"
220 if test "x$os" = xfreebsd; then
221 LIBS_TESTGUI="${LIBS_TESTGUI} -L/usr/local/lib"
222 fi
223 CFLAGS_TESTGUI="${CFLAGS_TESTGUI} $fox_CFLAGS"
224 fi
225fi
226AC_SUBST([LIBS_TESTGUI])
227AC_SUBST([CFLAGS_TESTGUI])
228AC_SUBST([backend])
229
230# OS info for Automake
231AM_CONDITIONAL(OS_LINUX, test "x$os" = xlinux)
232AM_CONDITIONAL(OS_DARWIN, test "x$os" = xdarwin)
233AM_CONDITIONAL(OS_FREEBSD, test "x$os" = xfreebsd)
234AM_CONDITIONAL(OS_KFREEBSD, test "x$os" = xkfreebsd)
235AM_CONDITIONAL(OS_HAIKU, test "x$os" = xhaiku)
236AM_CONDITIONAL(OS_WINDOWS, test "x$os" = xwindows)
237
238AC_CONFIG_HEADERS([config.h])
239
240if test "x$os" = "xlinux"; then
241 AC_CONFIG_FILES([pc/hidapi-hidraw.pc])
242 AC_CONFIG_FILES([pc/hidapi-libusb.pc])
243else
244 AC_CONFIG_FILES([pc/hidapi.pc])
245fi
246
247AC_SUBST(LTLDFLAGS)
248
249AC_CONFIG_FILES([Makefile \
250 hidtest/Makefile \
251 libusb/Makefile \
252 linux/Makefile \
253 mac/Makefile \
254 testgui/Makefile \
255 windows/Makefile])
256AC_OUTPUT