summaryrefslogtreecommitdiff
path: root/recipes/microwindows
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/microwindows')
-rw-r--r--recipes/microwindows/files/defconfig381
-rw-r--r--recipes/microwindows/files/makefilerules.patch14
-rw-r--r--recipes/microwindows/files/nochown.patch17
-rw-r--r--recipes/microwindows/files/pagesize.patch10
-rw-r--r--recipes/microwindows/files/staticwin.patch11
-rw-r--r--recipes/microwindows/files/varargs.patch11
-rw-r--r--recipes/microwindows/microwindows-snapshot.bb10
-rw-r--r--recipes/microwindows/microwindows.inc55
-rw-r--r--recipes/microwindows/microwindows_0.90.bb10
-rw-r--r--recipes/microwindows/microwindows_0.91.bb10
-rw-r--r--recipes/microwindows/nxlib_0.45.bb24
11 files changed, 553 insertions, 0 deletions
diff --git a/recipes/microwindows/files/defconfig b/recipes/microwindows/files/defconfig
new file mode 100644
index 0000000000..4b3607f3e8
--- /dev/null
+++ b/recipes/microwindows/files/defconfig
@@ -0,0 +1,381 @@
+####################################################################
+# Microwindows and Nano-X configuration file
+#
+# This package can be configured to run on Linux (MIPS, ARM, POWERPC or x86)
+# UNIX, ELKS, DJGPP, or RTEMS.
+# On Linux, we've got drivers for Linux 2.x framebuffers, X11, or,
+# svgalib for VGA hardware.
+# In addition, a gpm or direct serial mouse driver can be configured.
+# On ELKS, the bios screen driver and serial mouse driver are always used.
+#
+# Either Microwindows and/or Nano-X can be built.
+# Microwindows and Nano-X have several demos.
+#
+# For MSDOS makes, see mcmwin.mak and mcnanox.mak
+####################################################################
+
+####################################################################
+#
+# build target platform
+#
+# Valid ARCH values are:
+#
+# LINUX-NATIVE
+# LINUX-TCC
+# LINUX-ARM
+# LINUX-MIPS
+# LINUX-POWERPC (BIGENDIAN=Y)
+# LINUX-SPARC (BIGENDIAN=Y)
+# LINUX-SH
+# FREEBSD-X86
+# SOLARIS (BIGENDIAN=Y)
+# TRIMEDIA
+# RTEMS
+# DJGPP
+# ELKS
+#
+# note: ELKS can't build client/server nano-X, nor widget lib
+#
+####################################################################
+ARCH = LINUX-ARM
+BIGENDIAN = N
+NATIVETOOLSPREFIX =
+
+####################################################################
+#
+# Compiling options
+#
+####################################################################
+OPTIMIZE = Y
+DEBUG = N
+VERBOSE = N
+THREADSAFE = Y
+GPROF = N
+
+####################################################################
+#
+# Libraries to build: microwin, nano-X, nanowidget, object frameworks
+#
+####################################################################
+MICROWIN = N
+NANOX = Y
+SHAREDLIBS = Y
+OBJFRAMEWORK = N
+
+
+####################################################################
+#
+# Demos to build
+#
+####################################################################
+MICROWINDEMO = N
+NANOXDEMO = Y
+
+####################################################################
+#
+# Applications to build
+#
+####################################################################
+NANOWM = Y
+
+####################################################################
+#
+# The pixeltype of the native hardware or underlying graphics library.
+# This definition defines the PIXELVAL to be 32, 16 or 8 bits wide.
+# If using Linux framebuffer, set to MWPF_TRUECOLOR0888, and use fbset.
+# It also enables GdArea/GrArea for this particular pixel packing format.
+#
+# define MWPF_PALETTE /* pixel is packed 8 bits 1, 4 or 8 pal index*/
+# define MWPF_TRUECOLOR8888 /* pixel is packed 32 bits 8/8/8/8 truecolor w/alpha*/
+# define MWPF_TRUECOLOR0888 /* pixel is packed 32 bits 8/8/8 truecolor*/
+# define MWPF_TRUECOLOR888 /* pixel is packed 24 bits 8/8/8 truecolor*/
+# define MWPF_TRUECOLOR565 /* pixel is packed 16 bits 5/6/5 truecolor*/
+# define MWPF_TRUECOLOR555 /* pixel is packed 16 bits 5/5/5 truecolor*/
+# define MWPF_TRUECOLOR332 /* pixel is packed 8 bits 3/3/2 truecolor*/
+#
+####################################################################
+SCREEN_PIXTYPE = MWPF_TRUECOLOR565
+
+####################################################################
+#
+# NanoX: Put Y to the following line to link the nano-X application
+# with the server. This is required for ELKS, if no network is present,
+# or for speed or debugging. This affects the nano-X server only.
+#
+####################################################################
+LINK_APP_INTO_SERVER = N
+
+####################################################################
+# Shared memory support for Nano-X client/server protocol speedup
+####################################################################
+HAVE_SHAREDMEM_SUPPORT = N
+
+####################################################################
+#
+# File I/O support
+# Supporting either below drags in libc stdio, which may not be wanted
+#
+####################################################################
+HAVE_FILEIO = Y
+
+####################################################################
+# BMP, GIF reading support
+####################################################################
+HAVE_BMP_SUPPORT = Y
+HAVE_GIF_SUPPORT = Y
+HAVE_PNM_SUPPORT = N
+HAVE_XPM_SUPPORT = N
+
+####################################################################
+# JPEG support through libjpeg, see README.txt in contrib/jpeg
+####################################################################
+HAVE_JPEG_SUPPORT = Y
+INCJPEG =
+LIBJPEG =
+
+####################################################################
+# PNG support via libpng and libz
+####################################################################
+HAVE_PNG_SUPPORT = N
+INCPNG =
+LIBPNG =
+LIBZ =
+
+####################################################################
+# TIFF support through libtiff
+####################################################################
+HAVE_TIFF_SUPPORT = N
+INCTIFF = .
+LIBTIFF = /usr/lib/libtiff.a
+
+####################################################################
+# native .fnt loadable font support
+####################################################################
+HAVE_FNT_SUPPORT = N
+HAVE_FNTGZ_SUPPORT = N
+FNT_FONT_DIR = "fonts/bdf"
+
+####################################################################
+# T1 adobe type1 font support thru t1lib
+####################################################################
+HAVE_T1LIB_SUPPORT = N
+INCT1LIB = .
+LIBT1LIB = /usr/lib/libt1.a
+
+####################################################################
+# TrueType font support thru FreeType 1.x
+####################################################################
+HAVE_FREETYPE_SUPPORT = N
+INCFTLIB = /usr/include/freetype1
+LIBFTLIB = /usr/lib/libttf.so
+FREETYPE_FONT_DIR = "fonts/truetype"
+
+####################################################################
+# Support for many kinds of font thru FreeType 2.x
+# Must also set FREETYPE_FONT_DIR in the Freetype 1.x section
+####################################################################
+HAVE_FREETYPE_2_SUPPORT = N
+INCFT2LIB = .
+LIBFT2LIB = /gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/usr/lib/libfreetype.a
+
+####################################################################
+# PCF font support
+# Selecting HAVE_PCFGZ_SUPPORT will allow you to directly read
+# .pcf.gz files, but it will add libz to the size of the server
+####################################################################
+HAVE_PCF_SUPPORT = N
+HAVE_PCFGZ_SUPPORT = N
+PCF_FONT_DIR = "fonts/pcf"
+
+####################################################################
+# Chinese Han Zi Ku loadable font support
+####################################################################
+HAVE_HZK_SUPPORT = N
+HZK_FONT_DIR = "fonts/chinese"
+
+####################################################################
+# Chinese BIG5 compiled in font support (big5font.c)
+####################################################################
+HAVE_BIG5_SUPPORT = N
+
+####################################################################
+# Chinese GB2312 compiled in font support (gb2312font.c)
+####################################################################
+HAVE_GB2312_SUPPORT = N
+
+####################################################################
+# Japanese JISX0213 compiled in font support (jisx0213-12x12.c)
+####################################################################
+HAVE_JISX0213_SUPPORT = N
+
+####################################################################
+# Korean HANGUL font support (jo16x16.c)
+####################################################################
+HAVE_KSC5601_SUPPORT = N
+
+####################################################################
+# Japanese EUC-JP support using loadable MGL font
+####################################################################
+HAVE_EUCJP_SUPPORT = N
+EUCJP_FONT_DIR = "fonts/japanese"
+
+####################################################################
+# Generate screen driver interface only with no fonts or clipping
+####################################################################
+NOFONTSORCLIPPING = N
+
+####################################################################
+#
+# Window move algorithms for Microwindows
+# Change for tradeoff between cpu speed and looks
+# ERASEMOVE repaints only backgrounds while window dragging, quicker.
+# Otherwise an XOR redraw is used for window moves only after button up,
+# quickest (should set for ELKS)
+# UPDATEREGIONS paints in update clipping region only for better look and feel
+#
+####################################################################
+ERASEMOVE = Y
+UPDATEREGIONS = Y
+
+####################################################################
+#
+# Link with Gray Palette (valid only for 4bpp modes)
+#
+####################################################################
+GRAYPALETTE = N
+
+####################################################################
+#
+# If the platform is running UNIX, Linux or RTEMS...
+#
+####################################################################
+ifneq ($(ARCH), ELKS)
+
+# X Window screen, mouse and kbd drivers
+X11 = N
+
+ifeq ($(X11), Y)
+# startup screen width, height, (depth for palette mode only)
+SCREEN_WIDTH = 480
+SCREEN_HEIGHT = 640
+SCREEN_DEPTH = 16
+
+# You may want to turn this on for XFree86 4.x or if your backing store
+# isn't functioning properly
+USE_EXPOSURE = Y
+
+else
+
+# framebuffer screen driver (linear and/or vga 4 planes)
+# set VTSWITCH to include virtual terminal switch code
+# set FBREVERSE to reverse bit orders in 1,2,4 bpp
+# set FBVGA=N for all systems without VGA hardware (for MIPS must=N)
+FRAMEBUFFER = Y
+FBVGA = N
+VTSWITCH = N
+FBREVERSE = N
+
+# set HAVETEXTMODE=Y for systems that can switch between text & graphics.
+# On a graphics-only embedded system, such as Osprey and Embedded
+# Planet boards, set HAVETEXTMODE=N
+HAVETEXTMODE = N
+
+# svgalib screen driver
+VGALIB = N
+
+# direct VGA hardware access screen driver
+HWVGA = N
+
+####################################################################
+# Mouse drivers
+# GPMMOUSE gpm mouse
+# SERMOUSE serial Microsoft, PC, Logitech, PS/2 mice (/dev/psaux)
+# SUNMOUSE Sun Workstation mouse (/dev/sunmouse)
+# NOMOUSE no mouse driver
+#
+# Touchscreen drivers
+# IPAQMOUSE Compaq iPAQ, Intel Assabet (/dev/h3600_tsraw)
+# ZAURUSMOUSE Sharp Zaurus (/dev/sharp_ts)
+# TUXMOUSE TuxScreen (/dev/ucb1x00-ts)
+# ADSMOUSE Applied Data Systems GC+ (/dev/ts)
+# ADS7846MOUSE ADS7846 chip, PSI OMAP Innovator (/dev/innnovator_ts)
+# EPMOUSE Embedded Planet (/dev/tpanel)
+# VHMOUSE Vtech Helio (/dev/tpanel)
+# MTMOUSE MicroTouch serial (/dev/ttyS1)
+# PSIONMOUSE Psion 5 (/dev/touch_psion)
+# YOPYMOUSE Yopy (/dev/yopy-ts)
+# HARRIERMOUSE NEC Harrier (/dev/tpanel)
+####################################################################
+GPMMOUSE = N
+SERMOUSE = Y
+SUNMOUSE = N
+NOMOUSE = N
+IPAQMOUSE = N
+ZAURUSMOUSE = N
+TUXMOUSE = N
+ADSMOUSE = N
+ADS7846MOUSE = N
+EPMOUSE = N
+VHMOUSE = N
+MTMOUSE = N
+PSIONMOUSE = N
+YOPYMOUSE = N
+HARRIERMOUSE = N
+LIRCMOUSE = N
+
+# keyboard or null kbd driver
+TTYKBD = N
+SCANKBD = N
+PIPEKBD = N
+IPAQKBD = N
+LIRCKBD = N
+NOKBD = Y
+
+endif
+
+# Secondary keyboard drivers.
+# You may have a normal keyboard driver in addition to these
+# drivers, e.g. for both normal keyboard and IR input.
+LIRCKBD2 = N
+
+####################################################################
+# Screen driver specific configuration
+# SA1100_LCD_LTLEND 4bpp driver with arm SA1100 LCD controller
+# INVERT4BPP 4bpp inverted pixel driver for VTech Helio
+####################################################################
+SA1100_LCD_LTLEND = N
+INVERT4BPP = N
+
+####################################################################
+#
+# If the platform is a RTEMS box ....
+#
+####################################################################
+ifeq ($(ARCH), RTEMS)
+
+# Location & BSP information of the RTEMS build
+RTEMS_BUILD = /tools/build-i386-elf-rtems
+RTEMS_BSP = pc386
+LINK_APP_INTO_SERVER = Y
+
+endif
+
+endif
+
+####################################################################
+#
+# If the platform is an ELKS box ...
+#
+####################################################################
+ifeq ($(ARCH), ELKS)
+
+# Higher speed asm driver, c driver of hercules screen driver
+ASMVGADRIVER = Y
+CVGADRIVER = N
+HERCDRIVER = N
+DBGDRIVER = N
+
+# Mouse support
+SERMOUSE = Y
+
+endif
diff --git a/recipes/microwindows/files/makefilerules.patch b/recipes/microwindows/files/makefilerules.patch
new file mode 100644
index 0000000000..67b8e2e0d2
--- /dev/null
+++ b/recipes/microwindows/files/makefilerules.patch
@@ -0,0 +1,14 @@
+--- microwindows-0.92/src/Makefile.rules-orig 2008-02-13 21:21:18.000000000 -0800
++++ microwindows-0.92/src/Makefile.rules 2008-02-13 21:20:55.000000000 -0800
+@@ -569,9 +569,11 @@
+ # If a shared object library name is specified, link this object
+ #
+ ifeq ($(SHAREDLIBS), Y)
++ifneq ($(LIBNAMESO),)
+ $(MW_DIR_LIB)/$(LIBNAMESO): $(MW_DIR_LIB)/$(LIBNAME)
+ @echo "Creating shared library $(patsubst $(MW_DIR_LIB)/%,%,$@) ..."
+ $(CC) -shared -o $@ -Wl,--whole-archive $^ -Wl,--no-whole-archive
++endif
+ endif
+
+ #
diff --git a/recipes/microwindows/files/nochown.patch b/recipes/microwindows/files/nochown.patch
new file mode 100644
index 0000000000..7512c446a3
--- /dev/null
+++ b/recipes/microwindows/files/nochown.patch
@@ -0,0 +1,17 @@
+--- microwindows-0.90/src/Makefile-orig.rules 2008-02-08 23:08:38.000000000 -0800
++++ microwindows-0.90/src/Makefile.rules 2008-02-08 23:09:15.000000000 -0800
+@@ -23,10 +23,10 @@
+ LIBINSTALLDIR = $(INSTALL_PREFIX)/lib
+ BININSTALLDIR = $(INSTALL_PREFIX)/bin
+
+-INSTALL_DIR = install -c -m 755 -o $(INSTALL_USER) -g $(INSTALL_GROUP) -d
+-INSTALL_HDR = install -c -m 644 -o $(INSTALL_USER) -g $(INSTALL_GROUP_2)
+-INSTALL_LIB = install -c -m 644 -o $(INSTALL_USER) -g $(INSTALL_GROUP_2)
+-INSTALL_BIN = install -c -m 755 -o $(INSTALL_USER) -g $(INSTALL_GROUP_2)
++INSTALL_DIR = install -c -m 755 -d
++INSTALL_HDR = install -c -m 644
++INSTALL_LIB = install -c -m 644
++INSTALL_BIN = install -c -m 755
+
+ ##############################################################################
+ # Defines, includes, and core libraries. Controlled by the config file.
diff --git a/recipes/microwindows/files/pagesize.patch b/recipes/microwindows/files/pagesize.patch
new file mode 100644
index 0000000000..951ab27cce
--- /dev/null
+++ b/recipes/microwindows/files/pagesize.patch
@@ -0,0 +1,10 @@
+--- microwindows-0.90/src/nanox/clientfb-orig.c 2008-02-08 20:27:09.000000000 -0800
++++ microwindows-0.90/src/nanox/clientfb.c 2008-02-08 20:24:49.000000000 -0800
+@@ -16,6 +16,7 @@
+ #include "nano-X.h"
+ #include "lock.h"
+
++#define PAGE_SIZE (1UL << 12)
+ #define CG6_RAM 0x70016000 /* for Sun systems*/
+
+ LOCK_EXTERN(nxGlobalLock); /* global lock for threads safety*/
diff --git a/recipes/microwindows/files/staticwin.patch b/recipes/microwindows/files/staticwin.patch
new file mode 100644
index 0000000000..6d4ba2bb45
--- /dev/null
+++ b/recipes/microwindows/files/staticwin.patch
@@ -0,0 +1,11 @@
+--- microwindows-0.91/src/demos/nanowm/wlist-orig.c 2001-11-15 14:49:18.000000000 -0800
++++ microwindows-0.91/src/demos/nanowm/wlist.c 2008-02-12 09:56:59.000000000 -0800
+@@ -13,7 +13,7 @@
+
+ #include "nanowm.h"
+
+-static win *windows = NULL;
++win *windows = NULL;
+
+ /*
+ * Find the windowlist entry for the specified window ID and return a pointer
diff --git a/recipes/microwindows/files/varargs.patch b/recipes/microwindows/files/varargs.patch
new file mode 100644
index 0000000000..1218e494cc
--- /dev/null
+++ b/recipes/microwindows/files/varargs.patch
@@ -0,0 +1,11 @@
+--- nxlib-0.45/Xlcint.h-orig 2008-02-13 20:46:56.000000000 -0800
++++ nxlib-0.45/Xlcint.h 2008-02-13 20:47:16.000000000 -0800
+@@ -71,7 +71,7 @@
+ #include "Xresource.h"
+ #include "Xutil.h"
+ /*#include "Xvarargs.h"*/
+-#include "varargs.h"
++#include "stdarg.h"
+
+ typedef Bool (*XFilterEventProc)(
+ #if NeedFunctionPrototypes
diff --git a/recipes/microwindows/microwindows-snapshot.bb b/recipes/microwindows/microwindows-snapshot.bb
new file mode 100644
index 0000000000..e5f2314bb6
--- /dev/null
+++ b/recipes/microwindows/microwindows-snapshot.bb
@@ -0,0 +1,10 @@
+require microwindows.inc
+
+SRC_URI = " \
+ ftp://ftp.microwindows.org/pub/microwindows/microwindows-src-snapshot.tar.gz \
+ file://defconfig \
+ file://pagesize.patch;patch=1 \
+ file://makefilerules.patch;patch=1 \
+ "
+
+S=${WORKDIR}/microwin
diff --git a/recipes/microwindows/microwindows.inc b/recipes/microwindows/microwindows.inc
new file mode 100644
index 0000000000..6ddc141936
--- /dev/null
+++ b/recipes/microwindows/microwindows.inc
@@ -0,0 +1,55 @@
+DESCRIPTION = "Microwindows Graphical Engine"
+SECTION = "x11/wm"
+PRIORITY = "optional"
+DEPENDS = "libpng jpeg zlib"
+LICENSE = "GPL"
+
+PR="r2"
+
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE = " \
+ -C ${S}/src \
+ ARMTOOLSPREFIX=${TARGET_PREFIX} \
+ INCJPEG=${STAGING_INCDIR} \
+ LIBJPEG=${STAGING_LIBDIR}/libjpeg.so \
+ INCPNG=${STAGING_INCDIR} \
+ LIBPNG=${STAGING_LIBDIR}/libpng.so \
+ LIBZ=${STAGING_LIBDIR}/libz.so \
+ INSTALL_PREFIX=${D}${prefix} \
+ INSTALL_OWNER1= \
+ INSTALL_OWNER2= \
+ "
+
+do_compile() {
+ cp ${WORKDIR}/defconfig ${S}/src/config
+ oe_runmake
+}
+
+do_stage() {
+ install -m 0644 ${S}/src/include/nano-X.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/src/include/mwtypes.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/src/include/nxcolors.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/src/include/nxdraw.h ${STAGING_INCDIR}/
+ install -m 0755 ${S}/src/lib/*.so ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/src/lib/*.a ${STAGING_LIBDIR}/
+}
+
+do_install() {
+ oe_runmake install all
+
+# the next 3 lines are necessary for snapshot build since it has CVS cruft in the tarball
+ rm -rf ${S}/src/lib/CVS
+ rm -rf ${S}/src/bin/CVS
+ rm -f ${S}/src/bin/fonts
+
+# convbdf is a host tool - don't install it
+ mkdir ${S}/src/hostbin
+ mv ${S}/src/bin/convbdf ${S}/src/hostbin
+
+ install -d ${D}${bindir} ${D}$bindir}/fonts ${D}${libdir}
+ install -m 0755 ${S}/src/lib/* ${D}${libdir}/
+ install -m 0755 ${S}/src/bin/* ${D}${bindir}/
+}
+
+FILES_${PN}="${bindir}/* ${libdir}/*"
diff --git a/recipes/microwindows/microwindows_0.90.bb b/recipes/microwindows/microwindows_0.90.bb
new file mode 100644
index 0000000000..6fb76a92f1
--- /dev/null
+++ b/recipes/microwindows/microwindows_0.90.bb
@@ -0,0 +1,10 @@
+require microwindows.inc
+
+SRC_URI = " \
+ ftp://ftp.microwindows.org/pub/microwindows/microwindows-${PV}.tar.gz \
+ file://defconfig \
+ file://pagesize.patch;patch=1 \
+ file://nochown.patch;patch=1 \
+ "
+
+
diff --git a/recipes/microwindows/microwindows_0.91.bb b/recipes/microwindows/microwindows_0.91.bb
new file mode 100644
index 0000000000..4103ffad32
--- /dev/null
+++ b/recipes/microwindows/microwindows_0.91.bb
@@ -0,0 +1,10 @@
+require microwindows.inc
+
+SRC_URI = " \
+ ftp://ftp.microwindows.org/pub/microwindows/microwindows-src-${PV}.tar.gz \
+ file://defconfig \
+ file://pagesize.patch;patch=1 \
+ file://staticwin.patch;patch=1 \
+ "
+
+
diff --git a/recipes/microwindows/nxlib_0.45.bb b/recipes/microwindows/nxlib_0.45.bb
new file mode 100644
index 0000000000..a7a8d79fd9
--- /dev/null
+++ b/recipes/microwindows/nxlib_0.45.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "NXLIB X11 Emulation Library for Nano-X"
+PRIORITY = "optional"
+LICENSE = "GPL"
+PROVIDES = "virtual/libx11"
+DEPENDS = "microwindows-snapshot"
+
+PR="r0"
+
+SRC_URI = " \
+ ftp://ftp.microwindows.org/pub/microwindows/nxlib-${PV}.tar.gz \
+ file://varargs.patch;patch=1 \
+ "
+
+EXTRA_OEMAKE = ' \
+ CC="${CC}" \
+ MWIN=${STAGING_DIR}/${HOST_SYS} \
+ X11=${STAGING_DIR}/${HOST_SYS} \
+ '
+
+# not sure yet about installation -- uncommenting below over-writes libX11 in staging
+#do_install() {
+# oe_runmake install
+#}
+