Ignore:
Timestamp:
2010-04-16T00:58:05+02:00 (6 years ago)
Author:
nico
Message:

[packages] lcd4linux: rework drivers/plugins configuration and dependencies (closes: #5932)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • packages/utils/lcd4linux/Makefile

    r20804 r20891  
    11# 
    2 # Copyright (C) 2007-2009 OpenWrt.org 
     2# Copyright (C) 2007-2010 OpenWrt.org 
    33# 
    44# This is free software, licensed under the GNU General Public License v2. 
     
    1111PKG_REV:=1116 
    1212PKG_VERSION:=r$(PKG_REV) 
    13 PKG_RELEASE:=1 
     13PKG_RELEASE:=2 
    1414 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 
     
    2222PKG_INSTALL:=1 
    2323 
     24PKG_BUILD_DEPENDS:= \ 
     25        libdbus \ 
     26        libgd \ 
     27        libiconv \ 
     28        libmysqlclient \ 
     29        libncurses \ 
     30        libnmeap \ 
     31        libsqlite3 \ 
     32        libvncserver \ 
     33        ppp \ 
     34        serdisplib \ 
     35        st2205tool \ 
     36#       libftdi \ 
     37#       libmpdclient \ 
     38#       libX11 \ 
     39#       python \ 
     40 
    2441include $(INCLUDE_DIR)/package.mk 
    2542 
     
    2744  SECTION:=utils 
    2845  CATEGORY:=Utilities 
    29   DEPENDS:=+libusb 
     46  DEPENDS:= \ 
     47        +LCD4LINUX_NEEDS_libdbus:libdbus \ 
     48        +LCD4LINUX_NEEDS_libgd:libgd \ 
     49        +LCD4LINUX_NEEDS_libiconv:libiconv \ 
     50        +LCD4LINUX_NEEDS_libmysqlclient:libmysqlclient \ 
     51        +LCD4LINUX_NEEDS_libncurses:libncurses \ 
     52        +LCD4LINUX_NEEDS_libnmeap:libnmeap \ 
     53        +LCD4LINUX_NEEDS_libsqlite3:libsqlite3 \ 
     54        +LCD4LINUX_NEEDS_libusb:libusb \ 
     55        +LCD4LINUX_NEEDS_libvncserver:libvncserver \ 
     56        +LCD4LINUX_NEEDS_serdisplib:serdisplib \ 
     57        +LCD4LINUX_NEEDS_st2205tool:st2205tool \ 
     58#       +LCD4LINUX_NEEDS_libftdi:libftdi \ 
     59#       +LCD4LINUX_NEEDS_libmpdclient:libmpdclient \ 
     60#       +LCD4LINUX_NEEDS_libX11:libX11 \ 
     61#       +LCD4LINUX_NEEDS_python:python 
    3062  TITLE:=LCD display utility 
    3163  URL:=http://lcd4linux.bulix.org/ 
     
    3567define Package/lcd4linux/config 
    3668        menu "Configuration" 
    37         depends on PACKAGE_lcd4linux 
    38         source "$(SOURCE)/Config.in" 
     69                depends on PACKAGE_lcd4linux 
     70                source "$(SOURCE)/Config.in" 
    3971        endmenu 
    4072endef 
    4173 
    4274define Package/lcd4linux/description 
    43         LCD4Linux is a small program that grabs information from the kernel and  
    44         some subsystems and displays it on an external liquid crystal display. 
     75 LCD4Linux is a small program that grabs information from the kernel and  
     76 some subsystems and displays it on an external liquid crystal display. 
    4577endef 
    4678 
     
    5688        Cwlinux \ 
    5789        D4D \ 
     90        EA232graphic \ 
    5891        G15 \ 
    5992        GLCD2USB \ 
    6093        IRLCD \ 
    6194        HD44780 \ 
     95        HD44780-I2C \ 
    6296        LCD2USB \ 
    6397        LCDLinux \ 
    6498        LCDTerm \ 
     99        LEDMatrix \ 
    65100        LPH7508 \ 
    66101        LUIse \ 
     102        LW_ABP \ 
    67103        M50530 \ 
    68104        MatrixOrbital \ 
     
    71107        Noritake \ 
    72108        NULL \ 
     109        Pertelian \ 
     110        PHAnderson \ 
     111        PICGraphic \ 
     112        picoLCD \ 
     113        picoLCDGraphic \ 
    73114        PNG \ 
    74115        PPM \ 
    75         Pertelian \ 
    76         PHAnderson \ 
    77         picoLCD \ 
    78         picoLCDGraphic \ 
    79116        RouterBoard \ 
    80117        serdisplib \ 
     
    84121        T6963 \ 
    85122        Trefon \ 
     123        ULA200 \ 
     124        USBHUB \ 
    86125        USBLCD \ 
    87         USBHUB \ 
    88         ULA200 \ 
    89126        VNC \ 
    90127        WincorNixdorf \ 
     
    96133        button_exec \ 
    97134        cpuinfo \ 
     135        dbus \ 
    98136        diskstats \ 
    99137        dvb \ 
     138        event \ 
    100139        exec \ 
    101140        fifo \ 
     
    140179        ) 
    141180 
    142 ifneq ($(CONFIG_LCD4LINUX_DRV_PNG),) 
    143 PKG_BUILD_DEPENDS += libgd 
    144 endif 
    145  
    146 ifneq ($(CONFIG_LCD4LINUX_DRV_PPM),) 
    147 PKG_BUILD_DEPENDS += libgd 
    148 endif 
    149  
    150 ifneq ($(CONFIG_LCD4LINUX_DRV_G15),) 
    151 PKG_BUILD_DEPENDS += libgd 
    152 endif 
    153  
    154 ifneq ($(CONFIG_LCD4LINUX_DRV_LPH7508),) 
    155 PKG_BUILD_DEPENDS += libgd 
    156 endif 
    157  
    158 ifneq ($(CONFIG_LCD4LINUX_DRV_LUIse),) 
    159 PKG_BUILD_DEPENDS += libgd 
    160 endif 
    161  
    162 ifneq ($(CONFIG_LCD4LINUX_DRV_Noritake),) 
    163 PKG_BUILD_DEPENDS += libgd 
    164 endif 
    165  
    166 ifneq ($(CONFIG_LCD4LINUX_DRV_serdisplib),) 
    167 PKG_BUILD_DEPENDS += libgd, serdisplib 
    168 endif 
    169  
    170 ifneq ($(CONFIG_LCD4LINUX_DRV_st2205),) 
    171 PKG_BUILD_DEPENDS += libgd, st2205tool 
    172 endif 
    173  
    174 ifneq ($(CONFIG_LCD4LINUX_DRV_T6963),) 
    175 PKG_BUILD_DEPENDS += libgd 
    176 endif 
    177  
    178 ifneq ($(CONFIG_LCD4LINUX_DRV_Curses),) 
    179 PKG_BUILD_DEPENDS += libncurses 
    180 endif 
    181  
    182 ifneq ($(CONFIG_LCD4LINUX_DRV_VNC),) 
    183 PKG_BUILD_DEPENDS += libvncserver 
    184 endif 
    185  
    186 ifneq ($(CONFIG_LCD4LINUX_DRV_X11),) 
    187 PKG_BUILD_DEPENDS += libgd, libX11 
    188 endif 
    189  
    190 ifneq ($(CONFIG_LCD4LINUX_PLUGIN_gps),) 
    191 PKG_BUILD_DEPENDS += libnmeap 
    192 endif 
    193  
    194 ifneq ($(CONFIG_LCD4LINUX_PLUGIN_iconv),) 
    195 PKG_BUILD_DEPENDS += libiconv 
    196 endif 
    197  
    198 ifneq ($(CONFIG_LCD4LINUX_PLUGIN_mysql),) 
    199 PKG_BUILD_DEPENDS += libmysqlclient 
    200 endif 
    201  
    202 # XXX: lcd4linux needs at least one driver and one plugin, if none are selected, build'em all 
    203 ifeq ($(strip $(LCD4LINUX_CONFIGURE_DRIVERS)),) 
    204   LCD4LINUX_CONFIGURE_DRIVERS:=all 
    205 endif   
    206 ifeq ($(strip $(LCD4LINUX_CONFIGURE_PLUGINS)),) 
    207   LCD4LINUX_CONFIGURE_PLUGINS:=all 
    208 endif   
    209    
    210 ## TODO PYTHON PLUGIN, DEPENDS on ver >= '2.1.0' 
    211  
    212  
    213 EXTRA_CFLAGS+= $(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/lib/libiconv/include 
    214 EXTRA_LDFLAGS+= $(TARGET_LDFLAGS) -Wl,-rpath-link,$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/usr/lib/libiconv/lib 
    215  
    216 TARGET_CONFIGURE_OPTS+=\ 
    217         CC="$(TARGET_CC) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)" 
    218  
    219 CONFIGURE_ARGS += \ 
    220         --without-x \ 
    221         --without-python \ 
     181ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_DRIVER),) 
     182  LCD4LINUX_CONFIGURE_DRIVERS:=Sample 
     183endif 
     184 
     185ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_PLUGIN),) 
     186  LCD4LINUX_CONFIGURE_PLUGINS:=sample 
     187endif 
     188 
     189CONFIGURE_ARGS+= \ 
    222190        --disable-rpath \ 
    223191        --with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \ 
    224192        --with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \ 
    225193 
     194EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib 
     195 
     196ifneq ($(CONFIG_LCD4LINUX_NEEDS_libiconv),) 
     197  CONFIGURE_ARGS+= \ 
     198        --with-libiconv-prefix="$(STAGING_DIR)/usr/lib/libiconv" 
     199else 
     200  CONFIGURE_ARGS+= \ 
     201        --without-libiconv-prefix 
     202endif 
     203 
     204ifneq ($(CONFIG_LCD4LINUX_NEEDS_libmysqlclient),) 
     205  EXTRA_LDFLAGS+= -L$(STAGING_DIR)/usr/lib/mysql 
     206endif 
     207 
     208ifneq ($(CONFIG_LCD4LINUX_NEEDS_python),) 
     209  CONFIGURE_ARGS+= --with-python 
     210else 
     211  CONFIGURE_ARGS+= --without-python 
     212endif 
     213 
     214ifneq ($(CONFIG_LCD4LINUX_NEEDS_libX11),) 
     215  CONFIGURE_ARGS+= --with-x 
     216else 
     217  CONFIGURE_ARGS+= --without-x 
     218endif 
     219 
    226220 
    227221define Package/lcd4linux/install 
    228222        $(INSTALL_DIR) $(1)/usr/bin 
    229         $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/bin/ 
     223        $(CP) $(PKG_INSTALL_DIR)/usr/bin/lcd4linux $(1)/usr/bin/ 
    230224        $(INSTALL_DIR) $(1)/etc 
    231         $(INSTALL_CONF) ./files/$(PKG_NAME).conf $(1)/etc/$(PKG_NAME).conf 
     225        $(INSTALL_CONF) ./files/lcd4linux.conf $(1)/etc/ 
    232226        $(INSTALL_DIR) $(1)/etc/init.d 
    233         $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME) 
     227        $(INSTALL_BIN) ./files/lcd4linux.init $(1)/etc/init.d/lcd4linux 
    234228endef 
    235229 
Note: See TracChangeset for help on using the changeset viewer.