summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-20 03:37:44 +0000
committerwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-20 03:37:44 +0000
commit730e1e976fcaea99aecf7e75ef966e8fa223d897 (patch)
treeb50ed1558898f2be8aaed56e6e4afdc72200b8d5
parent0c59f6437a955c21c2c9fc9ec7818564b06406ac (diff)
add lcd4version. compiles now, but i have no clue if it will work with some lcd displays
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@402 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/Config.in1
-rw-r--r--package/Makefile1
-rw-r--r--package/lcd4linux/Config.in7
-rw-r--r--package/lcd4linux/Makefile66
-rw-r--r--package/lcd4linux/lcd4linux.control9
-rw-r--r--package/lcd4linux/patches/patch-drv_RouterBoard_c11
-rw-r--r--package/lcd4linux/patches/patch-drv_generic_parport_c109
-rw-r--r--package/lcd4linux/patches/patch-ucdelay_h11
8 files changed, 215 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 3c0db1de16..2cfaf371c2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -12,6 +12,7 @@ comment "Applications"
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"
diff --git a/package/Makefile b/package/Makefile
index 9fcdb6a055..4018631a4e 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -26,6 +26,7 @@ package-$(BR2_PACKAGE_MICROPERL) += microperl
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
diff --git a/package/lcd4linux/Config.in b/package/lcd4linux/Config.in
new file mode 100644
index 0000000000..797e4947f7
--- /dev/null
+++ b/package/lcd4linux/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LCD4LINUX
+ tristate "lcd4linux"
+ select BR2_PACKAGE_NCURSES
+ default m
+ help
+ LCD4Linux
+ https://ssl.bulix.org/projects/lcd4linux/wiki/Howto
diff --git a/package/lcd4linux/Makefile b/package/lcd4linux/Makefile
new file mode 100644
index 0000000000..c283a61e87
--- /dev/null
+++ b/package/lcd4linux/Makefile
@@ -0,0 +1,66 @@
+#############################################################
+#
+# 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)
diff --git a/package/lcd4linux/lcd4linux.control b/package/lcd4linux/lcd4linux.control
new file mode 100644
index 0000000000..54c9a558ec
--- /dev/null
+++ b/package/lcd4linux/lcd4linux.control
@@ -0,0 +1,9 @@
+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
diff --git a/package/lcd4linux/patches/patch-drv_RouterBoard_c b/package/lcd4linux/patches/patch-drv_RouterBoard_c
new file mode 100644
index 0000000000..fc9cbb43a9
--- /dev/null
+++ b/package/lcd4linux/patches/patch-drv_RouterBoard_c
@@ -0,0 +1,11 @@
+--- 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"
diff --git a/package/lcd4linux/patches/patch-drv_generic_parport_c b/package/lcd4linux/patches/patch-drv_generic_parport_c
new file mode 100644
index 0000000000..f029ffb17e
--- /dev/null
+++ b/package/lcd4linux/patches/patch-drv_generic_parport_c
@@ -0,0 +1,109 @@
+--- 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;
+ }
+
diff --git a/package/lcd4linux/patches/patch-ucdelay_h b/package/lcd4linux/patches/patch-ucdelay_h
new file mode 100644
index 0000000000..619594b626
--- /dev/null
+++ b/package/lcd4linux/patches/patch-ucdelay_h
@@ -0,0 +1,11 @@
+--- 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");
+ }
+
+