From 91f48f87206d59ffc602d5fe172cff8ac67f936d Mon Sep 17 00:00:00 2001 From: marschap Date: Thu, 1 Nov 2007 16:46:17 +0000 Subject: [PATCH] clean up build system (T. Jarosch, with tests/fixes by M. Dolze) --- CREDITS | 1 + ChangeLog | 1 + acinclude.m4 | 47 ++++----------- configure.in | 119 +++++++++---------------------------- server/drivers/Makefile.am | 24 ++++---- 5 files changed, 55 insertions(+), 137 deletions(-) diff --git a/CREDITS b/CREDITS index ca5622b..8b4e27c 100644 --- a/CREDITS +++ b/CREDITS @@ -238,6 +238,7 @@ Thien Vu Thomas Jarosch - support reporting in hd44780's ConnectionType functions + - build-system clean up: use pkg-config for some libs diff --git a/ChangeLog b/ChangeLog index c6a87c3..387f879 100644 --- a/ChangeLog +++ b/ChangeLog @@ -39,6 +39,7 @@ v.0.5dev (ongoing development) + hd44780 driver: new ConnectionType mplay + hd44780 driver: get/set contrast & brightness support for lcd2usb (M. Dolze) + hd44780 driver: reporting in ConnectionType functions (Thomas Jarosch) + * clean up build system (T. Jarosch, with tests/fixes by M. Dolze) v.0.5.2 * fix switching on/off the Load screen in lcdproc client using the menu diff --git a/acinclude.m4 b/acinclude.m4 index f0b2228..7646432 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,5 +1,5 @@ AC_DEFUN([LCD_DRIVERS_SELECT], [ -AC_CHECKING(for which drivers to compile) +AC_CHECKING(which drivers to compile) AC_ARG_ENABLE(drivers, [ --enable-drivers= compile drivers for LCDs in ,] @@ -257,27 +257,11 @@ dnl else ]) ;; lis) - AC_CHECK_HEADERS([usb.h ftdi.h],[ - AC_CHECK_LIB(ftdi, main,[ - LIBFTDI="-lusb -lftdi" - DRIVERS="$DRIVERS lis${SO}" - actdrivers=["$actdrivers lis"] - ],[ -dnl else - AC_MSG_WARN([The lis driver needs the ftdi library]) - ]) - ],[ -dnl else - AC_MSG_WARN([The lis driver needs ftdi.h and usb.h]) - ]) - AC_CACHE_CHECK([for ftdi_setdtr() in libftdi], ac_cv_ftdi_setdtr, - [oldlibs="$LIBS" - LIBS="$LIBS $LIBFTDI" - AC_TRY_LINK_FUNC(ftdi_setdtr, ac_cv_ftdi_setdtr=yes, ac_cv_ftdi_setdtr=no) - LIBS="$oldlibs" - ]) - if test "$ac_cv_ftdi_setdtrt" = no; then - AC_MSG_WARN([Upgrade to libftdi >= version 0.8]) + if test "$enable_libftdi" = yes ; then + DRIVERS="$DRIVERS lis${SO}" + actdrivers=["$actdrivers lis"] + else + AC_MSG_WARN([The lis driver needs the ftdi library]) fi ;; MD8800) @@ -392,19 +376,12 @@ dnl else actdrivers=["$actdrivers tyan"] ;; ula200) - AC_CHECK_HEADERS([usb.h ftdi.h],[ - AC_CHECK_LIB(ftdi, ftdi_set_line_property,[ - LIBFTDI="-lusb -lftdi" - DRIVERS="$DRIVERS ula200${SO}" - actdrivers=["$actdrivers ula200"] - ],[ -dnl else - AC_MSG_WARN([The ula200 driver needs the ftdi library in version 0.7]) - ]) - ],[ -dnl else - AC_MSG_WARN([The ula200 driver needs ftdi.h and usb.h]) - ]) + if test "$enable_libftdi" = yes ; then + DRIVERS="$DRIVERS ula200${SO}" + actdrivers=["$actdrivers ula200"] + else + AC_MSG_WARN([The ula200 driver needs the ftdi library]) + fi ;; xosd) AC_CHECK_HEADERS([xosd.h],[ diff --git a/configure.in b/configure.in index ca45bd2..bd4981e 100644 --- a/configure.in +++ b/configure.in @@ -225,20 +225,14 @@ AC_DEFINE_UNQUOTED(API_VERSION, "0.5", [Define version of lcdproc API]) dnl Check compiler flags to dynamically load modules AC_MODULES_INFO - dnl ###################################################################### -dnl USB support -dnl -dnl not all options have effect at the moment - -AC_SUBST(libusb_libs) -AC_SUBST(libusb_cflags) - +dnl libusb support +dnl ###################################################################### AC_MSG_CHECKING([if libusb support has been enabled]); AC_ARG_ENABLE( libusb, - [ --enable-libusb compile with USB support using libusb. ], - [ + [AS_HELP_STRING([--disable-libusb],[disable USB support using libusb])], + [ if test "$enableval" != "no"; then enable_libusb="yes" fi @@ -248,91 +242,34 @@ AC_ARG_ENABLE( AC_MSG_RESULT($enable_libusb) if test "$enable_libusb" = "yes"; then - AC_PATH_PROG(libusb_config, libusb-config, :) - - AC_ARG_WITH( - libusb-includes, - [ --with-libusb-includes=DIR - libusb include files are in DIR - (default: found by libusb-config). ], - [ - if test "$withval" != "no"; then - libusb_includepath="$withval" - libusb_cflags="-I$withval" - fi - ], - [ - AC_MSG_CHECKING(libusb CFLAGS) - if test "x$libusb_config" != x ; then - libusb_cflags=`$libusb_config --cflags` - else - for libusb_includepath in /usr/include /usr/local/include \ - /usr/include/libusb /usr/local/include/libusb \ - /usr/include/usb /usr/local/include/usb ; do \ - if test -f "${libusb_includepath}/usb.h" ; then - libusb_cflags="-I$libusb_includepath" - break - fi - done - fi - AC_MSG_RESULT($libusb_cflags) - ] - ) - - if test x$libusb_includepath != x ; then - AC_CHECK_FILE( - $libusb_includepath/usb.h, - [ : ] , - [ enable_libusb="no" ] - ) - fi + PKG_CHECK_MODULES(LIBUSB, libusb, AC_DEFINE([HAVE_LIBUSB], [1], [Define to 1 if you have libusb]), enable_libusb=no) fi +AC_SUBST(LIBUSB_LIBS) +AC_SUBST(LIBUSB_CFLAGS) -if test "$enable_libusb" = "yes"; then - AC_ARG_WITH( - libusb-libraries, - [ --with-libusb-libraries=DIR - libusb library files are in DIR - (default: found by libusb-config). ], - [ - if test "$withval" != "no"; then - libusb_libs="-L$withval -lusb" - fi - ], - [ - AC_MSG_CHECKING(libusb library path) - if test "x$libusb_config" != x ; then - libusb_libs=`$libusb_config --libs` - else - for libusb_libpath in /lib /usr/lib /usr/local/lib \ - /lib/libusb /usr/lib/libusb /usr/local/lib/libusb \ - /lib/usb /usr/lib/usb /usr/local/lib/usb ; do - if test -f "${libusb_libpath}/libusb.a" -o -f "${libusb_libpath}/libusb.so"; then - libusb_libs="-L$libusb_libpath -lusb" - break - fi - done - fi - AC_MSG_RESULT($libusb_libs) - ] - ) +dnl ###################################################################### +dnl libftdi support +dnl ###################################################################### +AC_MSG_CHECKING([if libftdi support has been enabled]); +AC_ARG_ENABLE( + libftdi, + [AS_HELP_STRING([--disable-libftdi],[disable FTDI support using libftdi])], + [ + if test "$enableval" != "no"; then + enable_libftdi="yes" + fi + ], + [ + enable_libftdi="yes" + ] +) +AC_MSG_RESULT($enable_libftdi) - AC_CHECK_LIB( - usb, - main, - [ : ], - [ enable_libusb="no" ], - $libusb_libs - ) +if test "$enable_libftdi" = "yes"; then + PKG_CHECK_MODULES(LIBFTDI, libftdi >= 0.8, AC_DEFINE([HAVE_LIBFTDI], [1], [Define to 1 if you have libftdi]), enable_libftdi=no) fi - -if test "$enable_libusb" = "yes"; then - AC_DEFINE(HAVE_LIBUSB,[1],[Define to 1 if you have the libusb library]) -else - libusb_libs=""; - libusb_cflags=""; -fi - +AC_SUBST(LIBFTDI_LIBS) +AC_SUBST(LIBFTDI_CFLAGS) dnl Select drivers to build LCD_DRIVERS_SELECT diff --git a/server/drivers/Makefile.am b/server/drivers/Makefile.am index 23f8e75..98b8e6d 100644 --- a/server/drivers/Makefile.am +++ b/server/drivers/Makefile.am @@ -22,11 +22,13 @@ pkglib_PROGRAMS = @DRIVERS@ EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 ms6931 mtc_s16209x MtxOrb NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 svga t6963 text tyan sli ula200 xosd noinst_LIBRARIES = libLCD.a libbignum.a -IOWarrior_CFLAGS = @libusb_cflags@ $(AM_CFLAGS) -hd44780_CFLAGS = @libusb_cflags@ $(AM_CFLAGS) -g15_CFLAGS = @libusb_cflags@ $(AM_CFLAGS) -picolcd_CFLAGS = @libusb_cflags@ $(AM_CFLAGS) -shuttleVFD_CFLAGS = @libusb_cflags@ $(AM_CFLAGS) +IOWarrior_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS) +hd44780_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS) +g15_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS) +lis_CFLAGS = @LIBFTDI_CFLAGS@ $(AM_CFLAGS) +picolcd_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS) +shuttleVFD_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS) +ula200_CFLAGS = @LIBFTDI_CFLAGS@ $(AM_CFLAGS) CFontz_LDADD = libLCD.a libbignum.a CFontz633_LDADD = libLCD.a libbignum.a @@ -35,28 +37,28 @@ curses_LDADD = @LIBCURSES@ CwLnx_LDADD = libLCD.a libbignum.a g15_LDADD = libLCD.a @LIBG15@ glcdlib_LDADD = libLCD.a @LIBGLCD@ -hd44780_LDADD = libLCD.a @HD44780_DRIVERS@ @libusb_libs@ libbignum.a +hd44780_LDADD = libLCD.a @HD44780_DRIVERS@ @LIBUSB_LIBS@ libbignum.a hd44780_DEPENDENCIES = @HD44780_DRIVERS@ icp_a106_LDADD = libLCD.a imon_LDADD = libLCD.a -IOWarrior_LDADD = @libusb_libs@ libLCD.a libbignum.a +IOWarrior_LDADD = @LIBUSB_LIBS@ libLCD.a libbignum.a irman_LDADD = @LIBIRMAN@ lcterm_LDADD = libLCD.a lirc_LDADD = @LIBLIRC_CLIENT@ -lis_LDADD = libLCD.a @LIBFTDI@ libbignum.a +lis_LDADD = libLCD.a @LIBFTDI_LIBS@ libbignum.a MD8800_LDADD = libLCD.a mtc_s16209x_LDADD = libLCD.a MtxOrb_LDADD = libLCD.a libbignum.a NoritakeVFD_LDADD = libLCD.a libbignum.a -picolcd_LDADD = @libusb_libs@ libLCD.a libbignum.a +picolcd_LDADD = @LIBUSB_LIBS@ libLCD.a libbignum.a pyramid_LDADD = libLCD.a serialPOS_LDADD = libLCD.a libbignum.a serialVFD_LDADD = libLCD.a libbignum.a -shuttleVFD_LDADD = @libusb_libs@ libLCD.a libbignum.a +shuttleVFD_LDADD = @LIBUSB_LIBS@ libLCD.a libbignum.a svga_LDADD = @LIBSVGA@ t6963_LDADD = libLCD.a tyan_LDADD = libLCD.a libbignum.a -ula200_LDADD = libLCD.a @LIBFTDI@ +ula200_LDADD = libLCD.a @LIBFTDI_LIBS@ sli_LDADD = libLCD.a xosd_LDADD = @LIBXOSD@