Add --without-kdrive-{kbd,mouse,evdev} configure options disabling
Linux keyboard driver, Linux mouse drivers (ps2, bus,ms),
and Linux evdev driver.Build all drivers by default as before. Signed-off-by: Mikhail Gusarov <[email protected]> --- configure.ac | 17 +++++++++++++++++ hw/kdrive/ephyr/ephyrinit.c | 9 +++++++-- hw/kdrive/linux/Makefile.am | 31 +++++++++++++++++-------------- hw/kdrive/linux/linux.c | 24 +++++++++++++++++++++++- hw/kdrive/src/kdrive.h | 14 -------------- include/kdrive-config.h.in | 9 +++++++++ 6 files changed, 73 insertions(+), 31 deletions(-) diff --git a/configure.ac b/configure.ac index 7e2c6a5..ee9fa7c 100644 --- a/configure.ac +++ b/configure.ac @@ -640,6 +640,10 @@ AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive se AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto]) AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto]) AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto]) +dnl kdrive options +AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd driver for kdrive (default: enabled)]), [KDRIVE_KBD=$enableval], [KDRIVE_KBD=yes]) +AC_ARG_ENABLE(kdrive-mouse, AC_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: enabled)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=yes]) +AC_ARG_ENABLE(kdrive-evdev, AC_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: enabled)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=yes]) dnl chown/chmod to be setuid root as part of build @@ -2023,6 +2027,19 @@ if test "$KDRIVE" = yes; then fi fi + AM_CONDITIONAL(KDRIVE_KBD, test x$KDRIVE_KBD = xyes) + if test x$KDRIVE_KBD = xyes; then + AC_DEFINE(KDRIVE_KBD, 1, [Enable KDrive kbd driver]) + fi + AM_CONDITIONAL(KDRIVE_EVDEV, test x$KDRIVE_EVDEV = xyes) + if test x$KDRIVE_EVDEV = xyes; then + AC_DEFINE(KDRIVE_EVDEV, 1, [Enable KDrive evdev driver]) + fi + AM_CONDITIONAL(KDRIVE_MOUSE, test x$KDRIVE_MOUSE = xyes) + if test x$KDRIVE_MOUSE = xyes; then + AC_DEFINE(KDRIVE_MOUSE, 1, [Enable KDrive mouse driver]) + fi + XEPHYR_REQUIRED_LIBS="x11 $LIBXEXT xfont xau xdmcp" if test "x$XV" = xyes; then XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv" diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c index 2f4e632..c7bfb5b 100644 --- a/hw/kdrive/ephyr/ephyrinit.c +++ b/hw/kdrive/ephyr/ephyrinit.c @@ -40,6 +40,11 @@ extern Bool noGlxVisualInit; #endif extern Bool ephyrNoXV; +#ifdef KDRIVE_EVDEV +extern KdPointerDriver LinuxEvdevMouseDriver; +extern KdKeyboardDriver LinuxEvdevKeyboardDriver; +#endif + void processScreenArg (char *screen_size, char *parent_id) ; void @@ -62,11 +67,11 @@ InitInput (int argc, char **argv) KdPointerInfo *pi; KdAddKeyboardDriver(&EphyrKeyboardDriver); -#ifdef linux +#ifdef KDRIVE_EVDEV KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver); #endif KdAddPointerDriver(&EphyrMouseDriver); -#ifdef linux +#ifdef KDRIVE_EVDEV KdAddPointerDriver(&LinuxEvdevMouseDriver); #endif diff --git a/hw/kdrive/linux/Makefile.am b/hw/kdrive/linux/Makefile.am index 13df142..2f89b8f 100644 --- a/hw/kdrive/linux/Makefile.am +++ b/hw/kdrive/linux/Makefile.am @@ -6,19 +6,22 @@ AM_CFLAGS = -DHAVE_DIX_CONFIG_H noinst_LTLIBRARIES = liblinux.la -if TSLIB -TSLIB_C = tslib.c +liblinux_la_SOURCES = + +liblinux_la_SOURCES += linux.c klinux.h + +if KDRIVE_KBD +liblinux_la_SOURCES += keyboard.c +endif + +if KDRIVE_EVDEV +liblinux_la_SOURCES += evdev.c endif -KDRIVE_HW_SOURCES = \ - evdev.c \ - keyboard.c \ - linux.c - -liblinux_la_SOURCES = \ - bus.c \ - mouse.c \ - ms.c \ - ps2.c \ - $(KDRIVE_HW_SOURCES) \ - $(TSLIB_C) +if KDRIVE_MOUSE +liblinux_la_SOURCES += mouse.c bus.c ms.c ps2.c +endif + +if TSLIB +liblinux_la_SOURCES += tslib.c +endif diff --git a/hw/kdrive/linux/linux.c b/hw/kdrive/linux/linux.c index e56ffb4..9863c14 100644 --- a/hw/kdrive/linux/linux.c +++ b/hw/kdrive/linux/linux.c @@ -33,6 +33,22 @@ #include <X11/keysym.h> #include <linux/apm_bios.h> +#ifdef KDRIVE_MOUSE +extern KdPointerDriver LinuxMouseDriver; +extern KdPointerDriver Ps2MouseDriver; +extern KdPointerDriver MsMouseDriver; +#endif +#ifdef TSLIB +extern KdPointerDriver TsDriver; +#endif +#ifdef KDRIVE_EVDEV +extern KdPointerDriver LinuxEvdevMouseDriver; +extern KdKeyboardDriver LinuxEvdevKeyboardDriver; +#endif +#ifdef KDRIVE_KBD +extern KdKeyboardDriver LinuxKeyboardDriver; +#endif + static int vtno; int LinuxConsoleFd; int LinuxApmFd = -1; @@ -345,15 +361,21 @@ LinuxFini (void) void KdOsAddInputDrivers (void) { +#ifdef KDRIVE_MOUSE KdAddPointerDriver(&LinuxMouseDriver); KdAddPointerDriver(&MsMouseDriver); KdAddPointerDriver(&Ps2MouseDriver); +#endif #ifdef TSLIB KdAddPointerDriver(&TsDriver); #endif +#ifdef KDRIVE_EVDEV KdAddPointerDriver(&LinuxEvdevMouseDriver); - KdAddKeyboardDriver(&LinuxKeyboardDriver); KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver); +#endif +#ifdef KDRIVE_KBD + KdAddKeyboardDriver(&LinuxKeyboardDriver); +#endif } static void diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index 9f8465f..252616a 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -584,20 +584,6 @@ KdRingBell (KdKeyboardInfo *ki, int pitch, int duration); -extern KdPointerDriver LinuxMouseDriver; -extern KdPointerDriver LinuxEvdevMouseDriver; -extern KdPointerDriver Ps2MouseDriver; -extern KdPointerDriver BusMouseDriver; -extern KdPointerDriver MsMouseDriver; -extern KdPointerDriver TsDriver; -extern KdKeyboardDriver LinuxKeyboardDriver; -extern KdKeyboardDriver LinuxEvdevKeyboardDriver; -extern KdOsFuncs LinuxFuncs; - -extern KdPointerDriver VxWorksMouseDriver; -extern KdKeyboardDriver VxWorksKeyboardDriver; -extern KdOsFuncs VxWorksFuncs; - /* kmap.c */ #define KD_MAPPED_MODE_REGISTERS 0 diff --git a/include/kdrive-config.h.in b/include/kdrive-config.h.in index 14efb56..0e54aa1 100644 --- a/include/kdrive-config.h.in +++ b/include/kdrive-config.h.in @@ -19,6 +19,15 @@ /* Support tslib touchscreen abstraction library */ #undef TSLIB +/* Support KDrive kbd driver */ +#undef KDRIVE_KBD + +/* Support KDrive mouse driver */ +#undef KDRIVE_MOUSE + +/* Support KDrive evdev driver */ +#undef KDRIVE_EVDEV + /* Verbose debugging output hilarity */ #undef DEBUG -- 1.6.3.3 _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
