142 lines
5.4 KiB
Plaintext
142 lines
5.4 KiB
Plaintext
# Copyright 2005 Adam Jackson.
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
# copy of this software and associated documentation files (the "Software"),
|
|
# to deal in the Software without restriction, including without limitation
|
|
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
|
# license, and/or sell copies of the Software, and to permit persons to whom
|
|
# the Software is furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice (including the next
|
|
# paragraph) shall be included in all copies or substantial portions of the
|
|
# Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
|
# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
#
|
|
# Process this file with autoconf to produce a configure script
|
|
|
|
# Initialize Autoconf
|
|
AC_PREREQ([2.60])
|
|
AC_INIT([xf86-input-joystick],
|
|
[1.6.2],
|
|
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
|
|
[xf86-input-joystick])
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_AUX_DIR(.)
|
|
|
|
# Initialize Automake
|
|
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
|
AM_MAINTAINER_MODE
|
|
|
|
# Initialize libtool
|
|
AC_DISABLE_STATIC
|
|
AC_PROG_LIBTOOL
|
|
|
|
# Initialize X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
|
|
m4_ifndef([XORG_MACROS_VERSION],
|
|
[m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
|
|
XORG_MACROS_VERSION(1.8)
|
|
XORG_DEFAULT_OPTIONS
|
|
|
|
# Checks for extensions
|
|
XORG_DRIVER_CHECK_EXT(XINPUT, inputproto)
|
|
XORG_DRIVER_CHECK_EXT(XKB, kbproto)
|
|
|
|
# Checks for pkg-config packages
|
|
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.9.99.2] xproto $REQUIRED_MODULES)
|
|
|
|
DRIVER_NAME=joystick
|
|
AC_SUBST([DRIVER_NAME])
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Configuration options
|
|
# -----------------------------------------------------------------------------
|
|
# Define a configure option for an alternate input module directory
|
|
AC_ARG_WITH(xorg-module-dir,
|
|
AS_HELP_STRING([--with-xorg-module-dir=DIR],
|
|
[Default xorg module directory [[default=$libdir/xorg/modules]]]),
|
|
[moduledir="$withval"],
|
|
[moduledir="$libdir/xorg/modules"])
|
|
inputdir=${moduledir}/input
|
|
AC_SUBST(inputdir)
|
|
|
|
# Define a configure option for an alternate X Server SDK Headers
|
|
# X Server SDK location is required to install joystick header files
|
|
AC_ARG_WITH(sdkdir,
|
|
AS_HELP_STRING([--with-sdkdir=<path>],
|
|
[Xorg X Server sdk headers (default is autodetected)]),
|
|
[sdkdir="$withval"],
|
|
[sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`])
|
|
AC_SUBST(sdkdir)
|
|
|
|
# Define a configure option to enable code debugging
|
|
AC_ARG_ENABLE(debug, AS_HELP_STRING([--disable-debug],
|
|
[Disable debugging code (default: enabled)]),
|
|
[DEBUGGING=$enableval], [DEBUGGING=yes])
|
|
if test "x$DEBUGGING" = xyes; then
|
|
AC_DEFINE(DEBUG, 1, [Enable debugging code])
|
|
fi
|
|
AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Determine which joystick backend to build
|
|
# -----------------------------------------------------------------------------
|
|
linux_backend=yes
|
|
AC_CHECK_HEADERS([linux/joystick.h],, [linux_backend=no])
|
|
AM_CONDITIONAL(LINUX_BACKEND, [test "x$linux_backend" = xyes])
|
|
if test "x$linux_backend" = xyes; then
|
|
AC_DEFINE(LINUX_BACKEND, 1, [Compile Linux joystick backend])
|
|
fi
|
|
|
|
bsd_backend=yes
|
|
AC_CHECK_HEADERS([dev/usb/usb.h])
|
|
AC_CHECK_HEADERS([usbhid.h dev/usb/usbhid.h],, [bsd_backend=no],
|
|
[[#if HAVE_DEV_USB_USB_H
|
|
#include <dev/usb/usb.h>
|
|
#endif
|
|
]])
|
|
AC_CHECK_LIB([usbhid],[hid_get_item],, [bsd_backend=no])
|
|
AM_CONDITIONAL(BSD_BACKEND, [test "x$bsd_backend" = xyes])
|
|
if test "x$bsd_backend" = xyes; then
|
|
AC_CHECK_HEADERS([dev/usb/usb_ioctl.h])
|
|
AC_DEFINE(BSD_BACKEND, 1, [Compile BSD usbhid backend])
|
|
fi
|
|
|
|
evdev_backend=yes
|
|
AC_CHECK_HEADERS([linux/input.h],, [evdev_backend=no])
|
|
AM_CONDITIONAL(EVDEV_BACKEND, [test "x$evdev_backend" = xyes])
|
|
if test "x$evdev_backend" = xyes; then
|
|
AC_DEFINE(EVDEV_BACKEND, 1, [Compile Linux evdev backend])
|
|
fi
|
|
# -----------------------------------------------------------------------------
|
|
|
|
AC_CONFIG_FILES([Makefile
|
|
src/Makefile
|
|
man/Makefile
|
|
config/Makefile
|
|
include/Makefile
|
|
xorg-joystick.pc])
|
|
AC_OUTPUT
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
AS_ECHO()
|
|
AS_ECHO("Building Linux joystick backend: $linux_backend")
|
|
AS_ECHO("Building Linux evdev backend: $evdev_backend")
|
|
AS_ECHO("Building BSD usbhid backend: $bsd_backend")
|
|
|
|
if test "x$linux_backend" != "xyes" -a \
|
|
"x$bsd_backend" != "xyes" -a \
|
|
"x$evdev_backend" != "xyes"; then
|
|
AC_MSG_ERROR([No backends were found. Your operating system is not
|
|
supported by the joystick driver. Contact
|
|
xorg@lists.freedesktop.org if you are interested in
|
|
porting it.])
|
|
fi
|