[packages] lcd4linux: rework drivers/plugins configuration and dependencies (closes: #5932)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@20891 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2007-2009 OpenWrt.org
|
||||
# Copyright (C) 2007-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=lcd4linux
|
||||
PKG_REV:=1116
|
||||
PKG_VERSION:=r$(PKG_REV)
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://ssl.bulix.org/svn/lcd4linux/trunk/
|
||||
@ -21,12 +21,44 @@ PKG_SOURCE_PROTO:=svn
|
||||
PKG_FIXUP:=libtool
|
||||
PKG_INSTALL:=1
|
||||
|
||||
PKG_BUILD_DEPENDS:= \
|
||||
libdbus \
|
||||
libgd \
|
||||
libiconv \
|
||||
libmysqlclient \
|
||||
libncurses \
|
||||
libnmeap \
|
||||
libsqlite3 \
|
||||
libvncserver \
|
||||
ppp \
|
||||
serdisplib \
|
||||
st2205tool \
|
||||
# libftdi \
|
||||
# libmpdclient \
|
||||
# libX11 \
|
||||
# python \
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lcd4linux
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS:=+libusb
|
||||
DEPENDS:= \
|
||||
+LCD4LINUX_NEEDS_libdbus:libdbus \
|
||||
+LCD4LINUX_NEEDS_libgd:libgd \
|
||||
+LCD4LINUX_NEEDS_libiconv:libiconv \
|
||||
+LCD4LINUX_NEEDS_libmysqlclient:libmysqlclient \
|
||||
+LCD4LINUX_NEEDS_libncurses:libncurses \
|
||||
+LCD4LINUX_NEEDS_libnmeap:libnmeap \
|
||||
+LCD4LINUX_NEEDS_libsqlite3:libsqlite3 \
|
||||
+LCD4LINUX_NEEDS_libusb:libusb \
|
||||
+LCD4LINUX_NEEDS_libvncserver:libvncserver \
|
||||
+LCD4LINUX_NEEDS_serdisplib:serdisplib \
|
||||
+LCD4LINUX_NEEDS_st2205tool:st2205tool \
|
||||
# +LCD4LINUX_NEEDS_libftdi:libftdi \
|
||||
# +LCD4LINUX_NEEDS_libmpdclient:libmpdclient \
|
||||
# +LCD4LINUX_NEEDS_libX11:libX11 \
|
||||
# +LCD4LINUX_NEEDS_python:python
|
||||
TITLE:=LCD display utility
|
||||
URL:=http://lcd4linux.bulix.org/
|
||||
MENU:=1
|
||||
@ -34,14 +66,14 @@ endef
|
||||
|
||||
define Package/lcd4linux/config
|
||||
menu "Configuration"
|
||||
depends on PACKAGE_lcd4linux
|
||||
source "$(SOURCE)/Config.in"
|
||||
depends on PACKAGE_lcd4linux
|
||||
source "$(SOURCE)/Config.in"
|
||||
endmenu
|
||||
endef
|
||||
|
||||
define Package/lcd4linux/description
|
||||
LCD4Linux is a small program that grabs information from the kernel and
|
||||
some subsystems and displays it on an external liquid crystal display.
|
||||
LCD4Linux is a small program that grabs information from the kernel and
|
||||
some subsystems and displays it on an external liquid crystal display.
|
||||
endef
|
||||
|
||||
define Package/lcd4linux/conffiles
|
||||
@ -55,27 +87,32 @@ LCD4LINUX_DRIVERS:= \
|
||||
Curses \
|
||||
Cwlinux \
|
||||
D4D \
|
||||
EA232graphic \
|
||||
G15 \
|
||||
GLCD2USB \
|
||||
IRLCD \
|
||||
HD44780 \
|
||||
HD44780-I2C \
|
||||
LCD2USB \
|
||||
LCDLinux \
|
||||
LCDTerm \
|
||||
LEDMatrix \
|
||||
LPH7508 \
|
||||
LUIse \
|
||||
LW_ABP \
|
||||
M50530 \
|
||||
MatrixOrbital \
|
||||
MatrixOrbitalGX \
|
||||
MilfordInstruments \
|
||||
Noritake \
|
||||
NULL \
|
||||
PNG \
|
||||
PPM \
|
||||
Pertelian \
|
||||
PHAnderson \
|
||||
PICGraphic \
|
||||
picoLCD \
|
||||
picoLCDGraphic \
|
||||
PNG \
|
||||
PPM \
|
||||
RouterBoard \
|
||||
serdisplib \
|
||||
ShuttleVFD \
|
||||
@ -83,9 +120,9 @@ LCD4LINUX_DRIVERS:= \
|
||||
st2205 \
|
||||
T6963 \
|
||||
Trefon \
|
||||
USBLCD \
|
||||
USBHUB \
|
||||
ULA200 \
|
||||
USBHUB \
|
||||
USBLCD \
|
||||
VNC \
|
||||
WincorNixdorf \
|
||||
X11 \
|
||||
@ -95,8 +132,10 @@ LCD4LINUX_PLUGINS:= \
|
||||
asterisk \
|
||||
button_exec \
|
||||
cpuinfo \
|
||||
dbus \
|
||||
diskstats \
|
||||
dvb \
|
||||
event \
|
||||
exec \
|
||||
fifo \
|
||||
file \
|
||||
@ -139,98 +178,53 @@ LCD4LINUX_CONFIGURE_PLUGINS:= \
|
||||
$(if $(CONFIG_LCD4LINUX_PLUGIN_$(c)),$(c),) \
|
||||
)
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_DRV_PNG),)
|
||||
PKG_BUILD_DEPENDS += libgd
|
||||
ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_DRIVER),)
|
||||
LCD4LINUX_CONFIGURE_DRIVERS:=Sample
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_DRV_PPM),)
|
||||
PKG_BUILD_DEPENDS += libgd
|
||||
ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_PLUGIN),)
|
||||
LCD4LINUX_CONFIGURE_PLUGINS:=sample
|
||||
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
|
||||
|
||||
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)"
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--without-x \
|
||||
--without-python \
|
||||
CONFIGURE_ARGS+= \
|
||||
--disable-rpath \
|
||||
--with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
|
||||
--with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
|
||||
|
||||
EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_libiconv),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-libiconv-prefix="$(STAGING_DIR)/usr/lib/libiconv"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-libiconv-prefix
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_libmysqlclient),)
|
||||
EXTRA_LDFLAGS+= -L$(STAGING_DIR)/usr/lib/mysql
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_python),)
|
||||
CONFIGURE_ARGS+= --with-python
|
||||
else
|
||||
CONFIGURE_ARGS+= --without-python
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_libX11),)
|
||||
CONFIGURE_ARGS+= --with-x
|
||||
else
|
||||
CONFIGURE_ARGS+= --without-x
|
||||
endif
|
||||
|
||||
|
||||
define Package/lcd4linux/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/bin/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/lcd4linux $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(INSTALL_CONF) ./files/$(PKG_NAME).conf $(1)/etc/$(PKG_NAME).conf
|
||||
$(INSTALL_CONF) ./files/lcd4linux.conf $(1)/etc/
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
|
||||
$(INSTALL_BIN) ./files/lcd4linux.init $(1)/etc/init.d/lcd4linux
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lcd4linux))
|
||||
|
Reference in New Issue
Block a user