source "package/haserl/Config.in"
source "package/microperl/Config.in"
source "package/strace/Config.in"
+source "package/lcd4linux/Config.in"
comment "Networking"
source "package/tcpdump/Config.in"
package-$(BR2_PACKAGE_LIBELF) += libelf
package-$(BR2_PACKAGE_STRACE) += strace
package-$(BR2_PACKAGE_TCPDUMP) += tcpdump
+package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
all: compile install
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m)) linux-clean
--- /dev/null
+config BR2_PACKAGE_LCD4LINUX
+ tristate "lcd4linux"
+ select BR2_PACKAGE_NCURSES
+ default m
+ help
+ LCD4Linux
+ https://ssl.bulix.org/projects/lcd4linux/wiki/Howto
--- /dev/null
+#############################################################
+#
+# lcd4linux
+#
+#############################################################
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=lcd4linux
+PKG_VERSION:=0.10.0-RC1
+PKG_RELEASE:=1
+PKG_MD5SUM:=bab64ac01ebdce7e46ab367351af839f
+PKG_SOURCE_URL:=@SF/lcd4linux/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_CAT:=zcat
+PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
+
+$(DL_DIR)/$(PKG_SOURCE):
+ $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
+
+$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
+ $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ touch $(PKG_BUILD_DIR)/.unpacked
+
+$(PKG_BUILD_DIR)/.patched: $(PKG_BUILD_DIR)/.unpacked
+ $(PATCH) $(PKG_BUILD_DIR) ./patches
+ touch $(PKG_BUILD_DIR)/.patched
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
+ (cd $(PKG_BUILD_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-drivers='all,!RouterBoard,!X11' \
+ --with-plugins=wireless )
+ touch $(PKG_BUILD_DIR)/.configured
+
+$(PKG_BUILD_DIR)/lcd4linux: $(PKG_BUILD_DIR)/.configured
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
+ CFLAGS="$(TARGET_CFLAGS) -O2 -Wall -L$(STAGING_DIR)/usr/lib -I$(STAGING_DIR)/usr/include"
+
+$(PKG_IPK): $(PKG_BUILD_DIR)/lcd4linux
+ $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
+ mkdir -p $(PKG_IPK_DIR)/usr/bin
+ cp $(PKG_BUILD_DIR)/lcd4linux $(PKG_IPK_DIR)/usr/bin/
+ mkdir -p $(PACKAGE_DIR)
+ $(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
+
+$(IPKG_STATE_DIR)/info/lcd4linux.list: $(PKG_IPK)
+ $(IPKG) install $(PKG_IPK)
+
+source: $(DL_DIR)/$(PKG_SOURCE)
+prepare: $(PKG_BUILD_DIR)/.unpacked
+compile: $(PKG_IPK)
+install: $(IPKG_STATE_DIR)/info/lcd4linux.list
+
+clean:
+ rm -rf $(PKG_BUILD_DIR)
+ rm -f $(PKG_IPK)
--- /dev/null
+Package: lcd4linux
+Priority: optional
+Section: apps
+Version: 0.10.0
+Architecture: mipsel
+Maintainer: Waldemar Brodkorb <wbx@dass-it.de>
+Source: buildroot internal
+Description: lcd software
+Depends: ncurses
--- /dev/null
+--- lcd4linux-0.10.0-RC1/drv_RouterBoard.c 2004-08-30 15:20:45.000000000 +0200
++++ lcd-patched/drv_RouterBoard.c 2005-03-19 16:03:26.849650830 +0100
+@@ -113,7 +113,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
+-#include <sys/io.h>
++#include <asm/io.h>
+
+ #include "debug.h"
+ #include "cfg.h"
--- /dev/null
+--- lcd4linux-0.10.0-RC1/drv_generic_parport.c 2005-01-06 17:54:54.000000000 +0100
++++ lcd/drv_generic_parport.c 2005-03-20 01:20:48.052255953 +0100
+@@ -359,13 +359,12 @@
+ #ifdef WITH_PPDEV
+ if (PPdev) {
+ ioctl (PPfd, PPDATADIR, &direction);
+- } else
++ }
++#else
++ /* code stolen from linux/parport_pc.h */
++ ctr = (ctr & ~0x20) ^ (direction?0x20:0x00);
++ outb (ctr, Port+2);
+ #endif
+- {
+- /* code stolen from linux/parport_pc.h */
+- ctr = (ctr & ~0x20) ^ (direction?0x20:0x00);
+- outb (ctr, Port+2);
+- }
+ }
+
+
+@@ -383,11 +382,10 @@
+ #ifdef WITH_PPDEV
+ if (PPdev) {
+ ioctl (PPfd, PPRSTATUS, &data);
+- } else
++ }
++#else
++ data = inb (Port+1);
+ #endif
+- {
+- data = inb (Port+1);
+- }
+
+ /* clear unused bits */
+ data &= mask;
+@@ -413,13 +411,12 @@
+ frob.mask=mask;
+ frob.val=val;
+ ioctl (PPfd, PPFCONTROL, &frob);
+- } else
++ }
++#else
++ /* code stolen from linux/parport_pc.h */
++ ctr = (ctr & ~mask) ^ val;
++ outb (ctr, Port+2);
+ #endif
+- {
+- /* code stolen from linux/parport_pc.h */
+- ctr = (ctr & ~mask) ^ val;
+- outb (ctr, Port+2);
+- }
+ }
+
+
+@@ -456,9 +453,9 @@
+ frob.val = value2;
+ ioctl (PPfd, PPFCONTROL, &frob);
+
+- } else
+-#endif
+- {
++ }
++#else
++
+ /* rise */
+ ctr = (ctr & ~bits) ^ value1;
+ outb (ctr, Port+2);
+@@ -469,7 +466,8 @@
+ /* lower */
+ ctr = (ctr & ~bits) ^ value2;
+ outb (ctr, Port+2);
+- }
++
++#endif
+ }
+
+
+@@ -478,11 +476,11 @@
+ #ifdef WITH_PPDEV
+ if (PPdev) {
+ ioctl(PPfd, PPWDATA, &data);
+- } else
++ }
++#else
++ outb (data, Port);
+ #endif
+- {
+- outb (data, Port);
+- }
++
+ }
+
+ unsigned char drv_generic_parport_read (void)
+@@ -492,11 +490,10 @@
+ #ifdef WITH_PPDEV
+ if (PPdev) {
+ ioctl (PPfd, PPRDATA, &data);
+- } else
++ }
++#else
++ data=inb (Port);
+ #endif
+- {
+- data=inb (Port);
+- }
+ return data;
+ }
+
--- /dev/null
+--- lcd4linux-0.10.0-RC1/udelay.h 2004-06-26 14:05:00.000000000 +0200
++++ lcd-patched/udelay.h 2005-03-19 15:00:54.835892666 +0100
+@@ -69,7 +69,7 @@
+ /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
+ static inline void rep_nop (void)
+ {
+- __asm__ __volatile__("rep; nop");
++ __asm__ __volatile__("nop");
+ }
+
+