[package] update lcd4linux to r1116, added huawei module (#7097)
[openwrt/svn-archive/archive.git] / utils / lcd4linux / Makefile
index 50e39ddead895d2304438b905a78382b127ebc2e..653f9b3c053fc309a7c5db87e8a52c8f2d948305 100644 (file)
@@ -1,15 +1,14 @@
 #
-# Copyright (C) 2007 OpenWrt.org
+# Copyright (C) 2007-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lcd4linux
-PKG_REV:=877
+PKG_REV:=1116
 PKG_VERSION:=r$(PKG_REV)
 PKG_RELEASE:=1
 
@@ -19,16 +18,25 @@ PKG_SOURCE_SUBDIR:=lcd4linux-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=$(PKG_REV)
 PKG_SOURCE_PROTO:=svn
 
-PKG_FIXUP = libtool
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/lcd4linux
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=+libncurses +libusb +libiconv +libgd
+  DEPENDS:=+libusb
   TITLE:=LCD display utility
   URL:=http://lcd4linux.bulix.org/
+  MENU:=1
+endef
+
+define Package/lcd4linux/config
+       menu "Configuration"
+       depends on PACKAGE_lcd4linux
+       source "$(SOURCE)/Config.in"
+       endmenu
 endef
 
 define Package/lcd4linux/description
@@ -40,26 +48,181 @@ define Package/lcd4linux/conffiles
 /etc/lcd4linux.conf
 endef
 
-# commas are interpreted by the $(call ...) macro, so define an intermediate variable holding our drivers and plugins spec
-PKG_CONFIGURE_DRIVERS:=all,!PNG,!PPM,!RouterBoard,!X11,!serdisplib,!G15
-PKG_CONFIGURE_PLUGINS:=wireless,mpd,iconv,cpuinfo,loadavg,meminfo,proc_stat,uname,uptime
+LCD4LINUX_DRIVERS:= \
+       BeckmannEgle \
+       BWCT \
+       CrystalFontz \
+       Curses \
+       Cwlinux \
+       D4D \
+       G15 \
+       GLCD2USB \
+       IRLCD \
+       HD44780 \
+       LCD2USB \
+       LCDLinux \
+       LCDTerm \
+       LPH7508 \
+       LUIse \
+       M50530 \
+       MatrixOrbital \
+       MatrixOrbitalGX \
+       MilfordInstruments \
+       Noritake \
+       NULL \
+       PNG \
+       PPM \
+       Pertelian \
+       PHAnderson \
+       picoLCD \
+       picoLCDGraphic \
+       RouterBoard \
+       serdisplib \
+       ShuttleVFD \
+       SimpleLCD \
+       st2205 \
+       T6963 \
+       Trefon \
+       USBLCD \
+       USBHUB \
+       ULA200 \
+       VNC \
+       WincorNixdorf \
+       X11 \
+
+LCD4LINUX_PLUGINS:= \
+       apm \
+       asterisk \
+       button_exec \
+       cpuinfo \
+       diskstats \
+       dvb \
+       exec \
+       fifo \
+       file \
+       gps \
+       hddtemp \
+       huawei \
+       i2c_sensors \
+       iconv \
+       imon \
+       isdn \
+       kvv \
+       loadavg \
+       netdev \
+       netinfo \
+       meminfo \
+       mpd \
+       mpris_dbus \
+       mysql \
+       netdev \
+       pop3 \
+       ppp \
+       proc_stat \
+       python \
+       qnaplog \
+       seti \
+       statfs \
+       uname \
+       uptime \
+       w1retap \
+       wireless \
+       xmms \
+
+LCD4LINUX_CONFIGURE_DRIVERS:= \
+       $(foreach c, $(LCD4LINUX_DRIVERS), \
+           $(if $(CONFIG_LCD4LINUX_DRV_$(c)),$(c),) \
+       )
+
+LCD4LINUX_CONFIGURE_PLUGINS:= \
+       $(foreach c, $(LCD4LINUX_PLUGINS), \
+           $(if $(CONFIG_LCD4LINUX_PLUGIN_$(c)),$(c),) \
+       )
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_PNG),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_PPM),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_G15),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_LPH7508),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_LUIse),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_Noritake),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_serdisplib),)
+PKG_BUILD_DEPENDS += libgd, serdisplib
+endif
 
-EXTRA_CFLAGS+=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/lib/libiconv/include
-EXTRA_LDFLAGS+=-L$(STAGING_DIR)/usr/lib -Wl,-rpath-link,$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/usr/lib/libiconv/lib
+ifneq ($(CONFIG_LCD4LINUX_DRV_st2205),)
+PKG_BUILD_DEPENDS += libgd, st2205tool
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_T6963),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_Curses),)
+PKG_BUILD_DEPENDS += libncurses
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_VNC),)
+PKG_BUILD_DEPENDS += libvncserver
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_X11),)
+PKG_BUILD_DEPENDS += libgd, libX11
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_PLUGIN_gps),)
+PKG_BUILD_DEPENDS += libnmeap
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_PLUGIN_iconv),)
+PKG_BUILD_DEPENDS += libiconv
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_PLUGIN_mysql),)
+PKG_BUILD_DEPENDS += libmysqlclient
+endif
+
+# XXX: lcd4linux needs at least one driver and one plugin, if none are selected, build'em all
+ifeq ($(strip $(LCD4LINUX_CONFIGURE_DRIVERS)),)
+  LCD4LINUX_CONFIGURE_DRIVERS:=all
+endif  
+ifeq ($(strip $(LCD4LINUX_CONFIGURE_PLUGINS)),)
+  LCD4LINUX_CONFIGURE_PLUGINS:=all
+endif  
+  
+## TODO PYTHON PLUGIN, DEPENDS on ver >= '2.1.0'
+
+
+EXTRA_CFLAGS+= $(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/lib/libiconv/include
+EXTRA_LDFLAGS+= $(TARGET_LDFLAGS) -Wl,-rpath-link,$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/usr/lib/libiconv/lib
 
 TARGET_CONFIGURE_OPTS+=\
-        CC="$(TARGET_CC) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)"
+       CC="$(TARGET_CC) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)"
 
 CONFIGURE_ARGS += \
        --without-x \
        --without-python \
-       --with-drivers="$(PKG_CONFIGURE_DRIVERS)" \
-       --with-plugins="$(PKG_CONFIGURE_PLUGINS)" \
        --disable-rpath \
+       --with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
+       --with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
 
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install
-endef
 
 define Package/lcd4linux/install
        $(INSTALL_DIR) $(1)/usr/bin