diff options
Diffstat (limited to 'recipes/microwindows')
-rw-r--r-- | recipes/microwindows/files/defconfig | 381 | ||||
-rw-r--r-- | recipes/microwindows/files/makefilerules.patch | 14 | ||||
-rw-r--r-- | recipes/microwindows/files/nochown.patch | 17 | ||||
-rw-r--r-- | recipes/microwindows/files/pagesize.patch | 10 | ||||
-rw-r--r-- | recipes/microwindows/files/staticwin.patch | 11 | ||||
-rw-r--r-- | recipes/microwindows/files/varargs.patch | 11 | ||||
-rw-r--r-- | recipes/microwindows/microwindows-snapshot.bb | 10 | ||||
-rw-r--r-- | recipes/microwindows/microwindows.inc | 55 | ||||
-rw-r--r-- | recipes/microwindows/microwindows_0.90.bb | 10 | ||||
-rw-r--r-- | recipes/microwindows/microwindows_0.91.bb | 10 | ||||
-rw-r--r-- | recipes/microwindows/nxlib_0.45.bb | 24 |
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 +#} + |