diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
| commit | 5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch) | |
| tree | 8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/hidapi/configure.ac | |
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/hidapi/configure.ac')
| -rw-r--r-- | contrib/SDL-3.2.8/src/hidapi/configure.ac | 256 |
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 @@ | |||
| 1 | AC_PREREQ(2.63) | ||
| 2 | |||
| 3 | AC_INIT([hidapi],[m4_normalize(m4_builtin([include], VERSION))],[https://github.com/libusb/hidapi/issues]) | ||
| 4 | |||
| 5 | echo "This build script for HIDAPI is deprecated." | ||
| 6 | echo "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 | ||
| 12 | lt_current="0" | ||
| 13 | lt_revision="0" | ||
| 14 | lt_age="0" | ||
| 15 | LTLDFLAGS="-version-info ${lt_current}:${lt_revision}:${lt_age}" | ||
| 16 | |||
| 17 | AC_CONFIG_MACRO_DIR([m4]) | ||
| 18 | AM_INIT_AUTOMAKE([foreign -Wall -Werror]) | ||
| 19 | |||
| 20 | m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) | ||
| 21 | LT_INIT | ||
| 22 | |||
| 23 | AC_PROG_CC | ||
| 24 | AC_PROG_CXX | ||
| 25 | AC_PROG_OBJC | ||
| 26 | PKG_PROG_PKG_CONFIG | ||
| 27 | |||
| 28 | |||
| 29 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
| 30 | |||
| 31 | hidapi_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 | |||
| 39 | hidapi_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 | |||
| 48 | AC_MSG_CHECKING([operating system]) | ||
| 49 | AC_MSG_RESULT($host) | ||
| 50 | case $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]) | ||
| 145 | esac | ||
| 146 | |||
| 147 | LIBS_HIDRAW="${LIBS} ${LIBS_HIDRAW_PR}" | ||
| 148 | LIBS_LIBUSB="${LIBS} ${LIBS_LIBUSB_PRIVATE}" | ||
| 149 | AC_SUBST([LIBS_HIDRAW]) | ||
| 150 | AC_SUBST([LIBS_LIBUSB]) | ||
| 151 | AC_SUBST([CFLAGS_LIBUSB]) | ||
| 152 | AC_SUBST([CFLAGS_HIDRAW]) | ||
| 153 | |||
| 154 | if 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}" | ||
| 159 | fi | ||
| 160 | |||
| 161 | if 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 | ||
| 178 | fi | ||
| 179 | |||
| 180 | # Test GUI | ||
| 181 | AC_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']) | ||
| 186 | AM_CONDITIONAL([BUILD_TESTGUI], [test "x$testgui_enabled" != "xno"]) | ||
| 187 | |||
| 188 | # Configure the MacOS TestGUI app bundle | ||
| 189 | rm -Rf testgui/TestGUI.app | ||
| 190 | mkdir -p testgui/TestGUI.app | ||
| 191 | cp -R ${srcdir}/testgui/TestGUI.app.in/* testgui/TestGUI.app | ||
| 192 | chmod -R u+w testgui/TestGUI.app | ||
| 193 | mkdir testgui/TestGUI.app/Contents/MacOS/ | ||
| 194 | |||
| 195 | if 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 | ||
| 225 | fi | ||
| 226 | AC_SUBST([LIBS_TESTGUI]) | ||
| 227 | AC_SUBST([CFLAGS_TESTGUI]) | ||
| 228 | AC_SUBST([backend]) | ||
| 229 | |||
| 230 | # OS info for Automake | ||
| 231 | AM_CONDITIONAL(OS_LINUX, test "x$os" = xlinux) | ||
| 232 | AM_CONDITIONAL(OS_DARWIN, test "x$os" = xdarwin) | ||
| 233 | AM_CONDITIONAL(OS_FREEBSD, test "x$os" = xfreebsd) | ||
| 234 | AM_CONDITIONAL(OS_KFREEBSD, test "x$os" = xkfreebsd) | ||
| 235 | AM_CONDITIONAL(OS_HAIKU, test "x$os" = xhaiku) | ||
| 236 | AM_CONDITIONAL(OS_WINDOWS, test "x$os" = xwindows) | ||
| 237 | |||
| 238 | AC_CONFIG_HEADERS([config.h]) | ||
| 239 | |||
| 240 | if test "x$os" = "xlinux"; then | ||
| 241 | AC_CONFIG_FILES([pc/hidapi-hidraw.pc]) | ||
| 242 | AC_CONFIG_FILES([pc/hidapi-libusb.pc]) | ||
| 243 | else | ||
| 244 | AC_CONFIG_FILES([pc/hidapi.pc]) | ||
| 245 | fi | ||
| 246 | |||
| 247 | AC_SUBST(LTLDFLAGS) | ||
| 248 | |||
| 249 | AC_CONFIG_FILES([Makefile \ | ||
| 250 | hidtest/Makefile \ | ||
| 251 | libusb/Makefile \ | ||
| 252 | linux/Makefile \ | ||
| 253 | mac/Makefile \ | ||
| 254 | testgui/Makefile \ | ||
| 255 | windows/Makefile]) | ||
| 256 | AC_OUTPUT | ||
