diff -urNp microwindows-080127/src/config microwindows-080127.elpa/src/config --- microwindows-080127/src/config 2008-01-07 00:15:02.000000000 +0100 +++ microwindows-080127.elpa/src/config 2010-08-05 21:09:25.000000000 +0200 @@ -37,7 +37,7 @@ # note: ELKS can't build client/server nano-X, nor widget lib # #################################################################### -ARCH = LINUX-NATIVE +ARCH = LINUX-ARM BIGENDIAN = N NATIVETOOLSPREFIX = ARMTOOLSPREFIX = arm-linux- @@ -46,6 +46,9 @@ POWERPCTOOLSPREFIX = powerpc-linux SHTOOLSPREFIX = sh-linux-gnu RTEMSTOOLSPREFIX = i386-rtemself- +INCROOT = /usr/local/include +LIBROOT = /usr/local/lib + #################################################################### # # Compiling options @@ -53,7 +56,7 @@ RTEMSTOOLSPREFIX = i386-rtemself #################################################################### OPTIMIZE = Y DEBUG = N -VERBOSE = N +VERBOSE = Y THREADSAFE = Y GPROF = N @@ -62,7 +65,7 @@ GPROF = N # Libraries to build: microwin, nano-X, nanowidget, object frameworks # #################################################################### -MICROWIN = Y +MICROWIN = N NANOX = Y SHAREDLIBS = Y OBJFRAMEWORK = N @@ -73,15 +76,15 @@ OBJFRAMEWORK = N # Demos to build # #################################################################### -MICROWINDEMO = Y -NANOXDEMO = Y +MICROWINDEMO = N +NANOXDEMO = N #################################################################### # # Applications to build # #################################################################### -NANOWM = Y +NANOWM = N #################################################################### # @@ -113,7 +116,7 @@ LINK_APP_INTO_SERVER = N #################################################################### # Shared memory support for Nano-X client/server protocol speedup #################################################################### -HAVE_SHAREDMEM_SUPPORT = N +HAVE_SHAREDMEM_SUPPORT = Y #################################################################### # @@ -135,56 +138,54 @@ HAVE_XPM_SUPPORT = Y # JPEG support through libjpeg, see README.txt in contrib/jpeg #################################################################### HAVE_JPEG_SUPPORT = Y -INCJPEG = . -LIBJPEG = /usr/lib/libjpeg.so +INCJPEG = $(INCROOT) +LIBJPEG = $(LIBROOT)/libjpeg.a #################################################################### # PNG support via libpng and libz #################################################################### -HAVE_PNG_SUPPORT = N -INCPNG = . -LIBPNG = /usr/lib/libpng.a -INCZ = . -LIBZ = /usr/lib/libz.a +HAVE_PNG_SUPPORT = Y +INCPNG = $(INCROOT)/libpng14 +LIBPNG = $(LIBROOT)/libpng.a +INCZ = $(INCROOT) +LIBZ = $(LIBROOT)/libz.a #################################################################### # TIFF support through libtiff #################################################################### -HAVE_TIFF_SUPPORT = N -INCTIFF = . -LIBTIFF = /usr/lib/libtiff.a +HAVE_TIFF_SUPPORT = Y +INCTIFF = $(INCROOT) +LIBTIFF = $(LIBROOT)/libtiff.a #################################################################### # native .fnt loadable font support #################################################################### -HAVE_FNT_SUPPORT = Y -HAVE_FNTGZ_SUPPORT = Y +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 = /usr/include -LIBT1LIB = /usr/local/lib/libt1.a +#INCT1LIB = $(INCROOT) +LIBT1LIB = $(LIBROOT)/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" +#INCFTLIB = $(INCROOT)/freetype +LIBFTLIB = $(LIBROOT)/libttf.a +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 = Y -xINCFT2LIB = /usr/include -xLIBFT2LIB = /usr/lib/libfreetype.a -INCFT2LIB = /usr/local/include -LIBFT2LIB = /usr/local/lib/libfreetype.a +INCFT2LIB = $(INCROOT)/freetype2 +LIBFT2LIB = $(LIBROOT)/libfreetype.a #################################################################### # PCF font support @@ -272,29 +273,28 @@ X11 = N ifeq ($(X11), Y) # startup screen width, height, (depth for palette mode only) -SCREEN_WIDTH = 640 -SCREEN_HEIGHT = 480 -SCREEN_DEPTH = 4 +SCREEN_WIDTH = 320 +SCREEN_HEIGHT = 240 +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 +USE_EXPOSURE = N 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) +FBVGA = N FRAMEBUFFER = Y -FBVGA = Y -VTSWITCH = Y +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 = Y +HAVETEXTMODE = N # svgalib screen driver VGALIB = N @@ -310,6 +310,7 @@ HWVGA = N # NOMOUSE no mouse driver # # Touchscreen drivers +# EVENTMOUSE Standard event interface (/dev/input/event0) # IPAQMOUSE Compaq iPAQ, Intel Assabet (/dev/h3600_tsraw) # ZAURUSMOUSE Sharp Zaurus (/dev/sharp_ts) # TUXMOUSE TuxScreen (/dev/ucb1x00-ts) @@ -323,9 +324,10 @@ HWVGA = N # HARRIERMOUSE NEC Harrier (/dev/tpanel) #################################################################### GPMMOUSE = N -SERMOUSE = Y +SERMOUSE = N SUNMOUSE = N NOMOUSE = N +EVENTMOUSE = Y IPAQMOUSE = N ZAURUSMOUSE = N TUXMOUSE = N @@ -340,12 +342,13 @@ HARRIERMOUSE = N LIRCMOUSE = N # keyboard or null kbd driver +EVENTKBD = N TTYKBD = N -SCANKBD = Y +SCANKBD = N PIPEKBD = N IPAQKBD = N LIRCKBD = N -NOKBD = N +NOKBD = Y endif diff -urNp microwindows-080127/src/demos/mwin/mine.c microwindows-080127.elpa/src/demos/mwin/mine.c --- microwindows-080127/src/demos/mwin/mine.c 2005-06-17 01:42:11.000000000 +0200 +++ microwindows-080127.elpa/src/demos/mwin/mine.c 2008-02-04 14:01:23.000000000 +0100 @@ -16,6 +16,7 @@ extern int mwCurrentButtons; /* FIXME */ #define MWINCLUDECOLORS #include "windows.h" #include "wintools.h" +#include "wintern.h" typedef struct { int flag; @@ -117,7 +118,7 @@ static int sg_boxnumy = 18; static int bombnum = 99; #endif -#if 1 +#if 0 static int winwidth = WIDTH_MIDDLEWIN; /* change this for startup mine size */ static int winheight = HEIGHT_MIDDLEWIN; static int sg_boxnumx = 16; @@ -125,7 +126,7 @@ static int sg_boxnumy = 16; static int bombnum = 40; #endif -#if 0 +#if 1 static int winwidth = WIDTH_SMALLWIN; /* change this for startup mine size */ static int winheight = HEIGHT_SMALLWIN; static int sg_boxnumx = 8; @@ -1049,6 +1050,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { + MwSetTextCoding ( MWTF_ASCII ); TestMyWindow (NULL); return 0; } diff -urNp microwindows-080127/src/demos/nxroach/Makefile microwindows-080127.elpa/src/demos/nxroach/Makefile --- microwindows-080127/src/demos/nxroach/Makefile 2003-09-25 04:15:01.000000000 +0200 +++ microwindows-080127.elpa/src/demos/nxroach/Makefile 2008-02-04 14:01:23.000000000 +0100 @@ -49,9 +49,9 @@ include $(MW_DIR_SRC)/Makefile.rules ifeq ($(SHAREDLIBS), Y) $(MW_DIR_BIN)/nxroach: $(OBJS) $(NANOXCLIENTLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(CCNANOXCLIENTLIBS) + $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $@ $(CCNANOXCLIENTLIBS) else $(MW_DIR_BIN)/nxroach: $(OBJS) $(NANOXCLIENTLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(NANOXCLIENTLIBS) + $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $@ $(NANOXCLIENTLIBS) endif diff -urNp microwindows-080127/src/drivers/kbd_event.c microwindows-080127.elpa/src/drivers/kbd_event.c --- microwindows-080127/src/drivers/kbd_event.c 1970-01-01 01:00:00.000000000 +0100 +++ microwindows-080127.elpa/src/drivers/kbd_event.c 2008-04-09 16:38:13.000000000 +0200 @@ -0,0 +1,226 @@ +/* + * Copyright (c) 2008 Davide Rizzo + * + * Keyboard Driver, standard input events version + */ + +#include +#include +#include +#include +#include +#include "device.h" +#include "keymap_standard.h" + +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) + +static int fd = -1; +static MWKEYMOD curmodif = 0, allmodif = 0; + +/* + * Open the keyboard. + */ +static int KBD_Open(KBDDEVICE *pkd) +{ + int i, r; + char fname[64]; + for (i = 0; i < 32; i++) + { + sprintf(fname, "/sys/class/input/event%d/device/capabilities/abs", i); + fd = open(fname, O_RDONLY); + if (fd < 0) + continue; + r = read(fd, fname, sizeof(fname)); + close(fd); + if (r <= 0) + continue; + fname[r] = '\0'; + if (strtoul(fname, NULL, 16) != 0) + continue; + sprintf(fname, "/sys/class/input/event%d/device/capabilities/rel", i); + fd = open(fname, O_RDONLY); + if (fd < 0) + continue; + r = read(fd, fname, sizeof(fname)); + close(fd); + if (r <= 0) + continue; + fname[r] = '\0'; + if (strtoul(fname, NULL, 16) != 0) + continue; + sprintf(fname, "/sys/class/input/event%d/device/capabilities/ev", i); + fd = open(fname, O_RDONLY); + if (fd < 0) + continue; + r = read(fd, fname, sizeof(fname)); + close(fd); + if (r <= 0) + continue; + fname[r] = '\0'; + if ((strtoul(fname, NULL, 16) & (1 << EV_KEY)) == 0) + continue; + sprintf(fname, "/dev/input/event%d", i); + fd = open(fname, O_RDONLY | O_NONBLOCK); + if (fd < 0) + continue; + curmodif = 0; + /* TODO: Assign allmodif */ + allmodif = MWKMOD_LSHIFT | MWKMOD_RSHIFT| MWKMOD_LCTRL | + MWKMOD_RCTRL | MWKMOD_LALT | MWKMOD_RALT | + MWKMOD_LMETA | MWKMOD_RMETA | MWKMOD_NUM | + MWKMOD_CAPS | MWKMOD_ALTGR | MWKMOD_SCR; + return fd; + } + EPRINTF("Error %d opening keyboard input device\n", errno); + return errno; +} + +/* + * Close the keyboard. + */ +static void KBD_Close(void) +{ + if(fd >= 0) + close(fd); + fd = -1; +} + +/* + * Return the possible modifiers for the keyboard. + */ +static void KBD_GetModifierInfo(MWKEYMOD *modifiers, MWKEYMOD *curmodifiers) +{ + curmodif &= allmodif; + if (modifiers) + *modifiers = allmodif; + if (curmodifiers) + *curmodifiers = curmodif; +} + +/* + * This reads one keystroke from the keyboard, and the current state of + * the mode keys (ALT, SHIFT, CTRL). Returns -1 on error, 0 if no data + * is ready, and 1 if data was read. This is a non-blocking call. + */ +static int KBD_Read(MWKEY *buf, MWKEYMOD *modifiers, MWSCANCODE *pscancode) +{ + struct input_event event; + int bytes_read; + /* read a data point */ + while ((bytes_read = read(fd, &event, sizeof(event))) == sizeof(event)) + { + if (event.type == EV_KEY) + { + if (event.value) + { + switch (event.code) + { + case KEY_LEFTSHIFT: + curmodif |= MWKMOD_LSHIFT; + break; + case KEY_RIGHTSHIFT: + curmodif |= MWKMOD_RSHIFT; + break; + case KEY_LEFTCTRL: + curmodif |= MWKMOD_LCTRL; + break; + case KEY_RIGHTCTRL: + curmodif |= MWKMOD_RCTRL; + break; + case KEY_LEFTALT: + curmodif |= MWKMOD_LALT; + break; + case KEY_RIGHTALT: + curmodif |= MWKMOD_RALT; + break; + case KEY_LEFTMETA: + curmodif |= MWKMOD_LMETA; + break; + case KEY_RIGHTMETA: + curmodif |= MWKMOD_RMETA; + break; + case KEY_NUMLOCK: + curmodif |= MWKMOD_NUM; + break; + case KEY_CAPSLOCK: + curmodif |= MWKMOD_CAPS; + break; + case KEY_SCROLLLOCK: + curmodif |= MWKMOD_SCR; + break; + } + } + else + { + switch (event.code) + { + case KEY_LEFTSHIFT: + curmodif &= ~MWKMOD_LSHIFT; + break; + case KEY_RIGHTSHIFT: + curmodif &= ~MWKMOD_RSHIFT; + break; + case KEY_LEFTCTRL: + curmodif &= ~MWKMOD_LCTRL; + break; + case KEY_RIGHTCTRL: + curmodif &= ~MWKMOD_RCTRL; + break; + case KEY_LEFTALT: + curmodif &= ~MWKMOD_LALT; + break; + case KEY_RIGHTALT: + curmodif &= ~MWKMOD_RALT; + break; + case KEY_LEFTMETA: + curmodif &= ~MWKMOD_LMETA; + break; + case KEY_RIGHTMETA: + curmodif &= ~MWKMOD_RMETA; + break; + case KEY_NUMLOCK: + curmodif &= ~MWKMOD_NUM; + break; + case KEY_CAPSLOCK: + curmodif &= ~MWKMOD_CAPS; + break; + case KEY_SCROLLLOCK: + curmodif &= ~MWKMOD_SCR; + break; + } + } + if (*modifiers) + *modifiers = curmodif; + if (event.code < ARRAY_SIZE(keymap)) + { + *buf = keymap[event.code]; + *pscancode = event.code; + if (*buf == MWKEY_ESCAPE) + return -2; + return event.value ? 1 : 2; + } + } + } + if(bytes_read == -1) + { + if (errno == EINTR || errno == EAGAIN) return 0; + EPRINTF("Error %d reading from keyboard\n", errno); + return -1; + } + if(bytes_read != 0) + { + EPRINTF("Wrong number of bytes %d read from keyboard " + "(expected %d)\n", bytes_read, sizeof(event)); + return -1; + } + return 0; +} + +KBDDEVICE kbddev = { + KBD_Open, + KBD_Close, + KBD_GetModifierInfo, + KBD_Read, + NULL +}; + diff -urNp microwindows-080127/src/drivers/keymap_standard.h microwindows-080127.elpa/src/drivers/keymap_standard.h --- microwindows-080127/src/drivers/keymap_standard.h 2003-05-11 00:03:27.000000000 +0200 +++ microwindows-080127.elpa/src/drivers/keymap_standard.h 2008-04-05 20:47:54.000000000 +0200 @@ -6,7 +6,7 @@ MWKEY_UNKNOWN, MWKEY_ESCAPE, '1', '2', ' '9', '0', '-', '=', MWKEY_BACKSPACE, /* 10*/ MWKEY_TAB, 'q', 'w', 'e', 'r', /* 15*/ 't', 'y', 'u', 'i', 'o', /* 20*/ -'o', '[', ']', MWKEY_ENTER, MWKEY_LCTRL, /* 25*/ +'p', '[', ']', MWKEY_ENTER, MWKEY_LCTRL, /* 25*/ 'a', 's', 'd', 'f', 'g', /* 30*/ 'h', 'j', 'k', 'l', ';', /* 35*/ '\'', '`', MWKEY_LSHIFT, '\\', 'z', /* 40*/ diff -urNp microwindows-080127/src/drivers/mou_event.c microwindows-080127.elpa/src/drivers/mou_event.c --- microwindows-080127/src/drivers/mou_event.c 1970-01-01 01:00:00.000000000 +0100 +++ microwindows-080127.elpa/src/drivers/mou_event.c 2008-04-09 15:49:16.000000000 +0200 @@ -0,0 +1,127 @@ +/* + * Generic event touchscreen driver + * + * Copyright (c) 2008, ELPA sas + * Written by Davide Rizzo + */ + +#include +#include +#include +#include +#include +#include "device.h" + +#define AXIS_MASK ((1 << ABS_X) || (1 << ABS_Y)) + +extern SCREENDEVICE scrdev; +static int fd = -1; + +static int Open(MOUSEDEVICE *pmd) +{ + int i, r; + char fname[64]; + for (i = 0; i < 32; i++) + { + sprintf(fname, "/sys/class/input/event%d/device/capabilities/abs", i); + fd = open(fname, O_RDONLY); + if (fd < 0) + continue; + r = read(fd, fname, sizeof(fname)); + close(fd); + if (r <= 0) + continue; + fname[r] = '\0'; + if ((strtoul(fname, NULL, 16) & AXIS_MASK) != AXIS_MASK) + continue; + sprintf(fname, "/dev/input/event%d", i); + fd = open(fname, O_NONBLOCK); + if (fd >= 0) + { + GdHideCursor(&scrdev); + return fd; + } + } + EPRINTF("Error %d opening touchscreen input device\n", errno); + return errno; +} + +static void Close(void) +{ + if(fd >= 0) + close(fd); + fd = -1; +} + +static int GetButtonInfo(void) +{ + /* get "mouse" buttons supported */ + return MWBUTTON_L; +} + +static void GetDefaultAccel(int *pscale,int *pthresh) +{ + *pscale = 3; + *pthresh = 5; +} + +static int Read(MWCOORD *px, MWCOORD *py, MWCOORD *pz, int *pb) +{ + struct input_event event; + int bytes_read; + static int x,y,z; + /* read a data point */ + while ((bytes_read = read(fd, &event, sizeof(event))) == sizeof(event)) + { + switch (event.type) + { + case EV_ABS: + switch (event.code) + { + case ABS_X: + x = event.value; + break; + case ABS_Y: + y = event.value; + break; + } + break; + case EV_KEY: + if (event.code == BTN_TOUCH) + z = event.value; + break; + case EV_SYN: + *px = x; + *py = y; + *pb = z ? MWBUTTON_L : 0; + *pz = z; + if(!*pb) + return 3; + return 2; + break; + } + } + if(bytes_read == -1) + { + if (errno == EINTR || errno == EAGAIN) return 0; + EPRINTF("Error %d reading from touch panel\n", errno); + return -1; + } + if(bytes_read != 0) + { + EPRINTF("Wrong number of bytes %d read from touch panel " + "(expected %d)\n", bytes_read, sizeof(event)); + return -1; + } + return 0; +} + +MOUSEDEVICE mousedev = { + Open, + Close, + GetButtonInfo, + GetDefaultAccel, + Read, + NULL, + MOUSE_TRANSFORM /* Input filter flags */ +}; diff -urNp microwindows-080127/src/drivers/Objects.rules microwindows-080127.elpa/src/drivers/Objects.rules --- microwindows-080127/src/drivers/Objects.rules 2005-06-15 18:38:19.000000000 +0200 +++ microwindows-080127.elpa/src/drivers/Objects.rules 2008-04-09 15:30:06.000000000 +0200 @@ -170,6 +170,11 @@ CFLAGS += -DTOUCHSCREEN_ADS7846=1 MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/mou_touchscreen.o endif +ifeq ($(EVENTMOUSE), Y) +CFLAGS += -DTOUCHSCREEN_EVENT=1 +MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/mou_event.o +endif + ifeq ($(IPAQMOUSE), Y) CFLAGS += -DTOUCHSCREEN_IPAQ=1 MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/mou_touchscreen.o @@ -234,6 +239,10 @@ endif # ifneq ($(PIPEKBD), Y) +ifeq ($(EVENTKBD), Y) +MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/kbd_event.o +endif + ifeq ($(TTYKBD), Y) MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/kbd_tty.o endif diff -urNp microwindows-080127/src/engine/devmouse.c microwindows-080127.elpa/src/engine/devmouse.c --- microwindows-080127/src/engine/devmouse.c 2005-06-23 07:00:00.000000000 +0200 +++ microwindows-080127.elpa/src/engine/devmouse.c 2008-02-06 16:40:36.000000000 +0100 @@ -523,7 +523,7 @@ GdFixCursor(PSD psd) } /* Input filter routines - global mouse filtering is cool */ -#define JITTER_SHIFT_BITS 2 +#define JITTER_SHIFT_BITS 0 #define JITTER_DEPTH (1 << (JITTER_SHIFT_BITS)) static MWTRANSFORM g_trans; /* current transform*/ @@ -636,7 +636,7 @@ filter_absrotate(int state, int *xpos, i break; case MWPORTRAIT_DOWN: - *xpos = x; + *xpos = scrdev.xres - x - 1; *ypos = scrdev.yres - y - 1; break; diff -urNp microwindows-080127/src/Makefile.rules microwindows-080127.elpa/src/Makefile.rules --- microwindows-080127/src/Makefile.rules 2008-01-07 01:01:31.000000000 +0100 +++ microwindows-080127.elpa/src/Makefile.rules 2010-08-05 21:59:16.000000000 +0200 @@ -15,7 +15,7 @@ SHELL = /bin/sh endif # install directories for headers and libraries -INSTALL_PREFIX = /usr +INSTALL_PREFIX = /usr/local INSTALL_OWNER1 = -o root -g root INSTALL_OWNER2 = -o root -g bin HDRINSTALLDIR = $(INSTALL_PREFIX)/include/microwin @@ -32,7 +32,7 @@ INSTALL_BIN = install -c -m 755 $(INST ############################################################################## # Defines -DEFINES += -DMWPIXEL_FORMAT=$(SCREEN_PIXTYPE) +DEFINES += -DMWPIXEL_FORMAT=$(SCREEN_PIXTYPE) -D_GNU_SOURCE # Includes INCLUDEDIRS += -I. -I$(MW_DIR_SRC)/include @@ -339,6 +339,8 @@ endif # Note: Do not set defines, includes or libraries here! ############################################################################## +CFLAGS += -static + # Some drivers use outb macro, requires -O optimization ifneq ($(ARCH), LINUX-TCC) ifneq ($(ARCH), DJGPP) diff -urNp microwindows-080127/src/mwin/winevent.c microwindows-080127.elpa/src/mwin/winevent.c --- microwindows-080127/src/mwin/winevent.c 2005-06-23 07:00:00.000000000 +0200 +++ microwindows-080127.elpa/src/mwin/winevent.c 2008-02-04 14:01:23.000000000 +0100 @@ -19,7 +19,7 @@ static LPFN_KEYBTRANSLATE mwPtrKeyboardTranslator = NULL; -#if !(DOS_TURBOC | DOS_QUICKC | _MINIX | VXWORKS) +#if !(DOS_TURBOC | DOS_QUICKC | _MINIX | VXWORKS | LINUX) static int abs(int n) { diff -urNp microwindows-080127/src/nanox/Makefile microwindows-080127.elpa/src/nanox/Makefile --- microwindows-080127/src/nanox/Makefile 2005-06-15 18:38:19.000000000 +0200 +++ microwindows-080127.elpa/src/nanox/Makefile 2010-08-05 22:02:06.000000000 +0200 @@ -84,7 +84,7 @@ include $(MW_DIR_SRC)/Makefile.rules ifeq ($(SHAREDLIBS), Y) $(MW_DIR_BIN)/nano-X: $(NANOXFILES) $(NANOXSERVERLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(NANOXFILES) $(CCNANOXSERVERLIBS) + $(CC) $(CFLAGS) -o $@ $(NANOXFILES) $(CCNANOXSERVERLIBS) $(LDFLAGS) else $(MW_DIR_BIN)/nano-X.o: $(OBJS) $(NANOXFILES) $(NANOXSERVERLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." @@ -95,5 +95,5 @@ $(MW_DIR_BIN)/nano-X.o: $(OBJS) $(NANOXF $(MW_DIR_BIN)/nano-X: $(NANOXFILES) $(NANOXSERVERLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(NANOXFILES) $(NANOXSERVERLIBS) + $(CC) $(CFLAGS) -o $@ $(NANOXFILES) $(NANOXSERVERLIBS) $(LDFLAGS) endif