nanogui: compile nano-x cvs for ecos in NONETWORK mode


Previous by date: 31 Oct 2008 16:36:57 -0000 found problem with applyOp makros (located in drivers/fb.h), Klatt Uwe
Next by date: 31 Oct 2008 16:36:57 -0000 update client.c nano-X.h ecos_app.c from nano-X cvs for eCos, Lecordier, Guy
Previous in thread: 31 Oct 2008 16:36:57 -0000 compile nano-x cvs for ecos in NONETWORK mode, Lecordier, Guy
Next in thread:

Subject: compile nano-x cvs for ecos in NONETWORK mode
From: "Lecordier, Guy" ####@####.####
Date: 31 Oct 2008 16:36:57 -0000
Message-Id: <427FC27C2ABCC042A7FB4E17D3F893B7FB146F@lauescmx01.ROPERIND.NET>

Hello all,

The previous proposal, to deactivate the mapping table in NONETWORK mode, introduces some complexity in the reading of the sources.
Here below another proposition at the cost of a new file.
The goal is to remap the server functions when the client server mode is used for ecos and of course to disable the mapping table in NONETWORK mode.

So the new proposed modifications are:
To move the mapping table of the serv.h in a separate file (srvmapping.h).
Then to include this file in the server side modules only (srvxxxxx.c) before #include serv.h
And to activate the mapping table when it is ecos and client server mode.

The modification in the server functions will be more readable:
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include serv.h

The condition in srvmapping.h will be:
#if defined(__ECOS) && !defined (NONETWORK)
            Mapping table
#endif

The _NO_SVR_MAPPING will no longer be used. 

In addition the mapping table (srvmapping.h) is updated with some missing functions (put at the end of the table).


[patch]
Index: src/nanox/serv.h
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/serv.h,v
retrieving revision 1.24
diff -u -r1.24 serv.h
--- src/nanox/serv.h	23 Jun 2005 05:00:00 -0000	1.24
+++ src/nanox/serv.h	31 Oct 2008 08:45:37 -0000
@@ -11,124 +11,6 @@
  */
 
 #include "mwsystem.h"
-
-
-#if defined(__ECOS) && !defined(_NO_SVR_MAPPING)
-/*
- * Since eCos is a single task, multi-threaded environment, the
- * server and the client code share the same namespace.  This means
- * that server functions which are represented by dispatchers in
- * the client code need to have unique names, thus this remapping.
- */
-#define nxErrorStrings		SVR_nxErrorStrings
-#define GrArcAngle              SVR_GrArcAngle
-#define GrArc                   SVR_GrArc
-#define GrArea                  SVR_GrArea
-#define GrBell                  SVR_GrBell
-#define GrBitmap                SVR_GrBitmap
-#define GrCheckNextEvent        SVR_GrCheckNextEvent
-#define GrClearArea             SVR_GrClearArea
-#define GrClose                 SVR_GrClose
-#define GrCloseWindow           SVR_GrCloseWindow
-#define GrCopyArea              SVR_GrCopyArea
-#define GrCopyGC                SVR_GrCopyGC
-#define GrCreateFont            SVR_GrCreateFont
-#define GrCreateTimer		SVR_GrCreateTimer        
-#define GrDelay			SVR_GrDelay
-#define GrDestroyCursor		SVR_GrDestroyCursor      
-#define GrDestroyFont           SVR_GrDestroyFont
-#define GrDestroyGC             SVR_GrDestroyGC
-#define GrDestroyRegion         SVR_GrDestroyRegion
-#define GrDestroyTimer		SVR_GrDestroyTimer       
-#define GrDestroyWindow         SVR_GrDestroyWindow
-#define GrDrawImageBits         SVR_GrDrawImageBits
-#define GrDrawImageFromBuffer	SVR_GrDrawImageFromBuffer
-#define GrDrawImageFromFile     SVR_GrDrawImageFromFile
-#define GrDrawImageToFit        SVR_GrDrawImageToFit
-#define GrEllipse               SVR_GrEllipse
-#define GrEmptyRegion           SVR_GrEmptyRegion
-#define GrEqualRegion           SVR_GrEqualRegion
-#define GrFillEllipse           SVR_GrFillEllipse
-#define GrFillPoly              SVR_GrFillPoly
-#define GrFillRect              SVR_GrFillRect
-#define GrFindColor             SVR_GrFindColor
-#define GrFreeFontList		SVR_GrFreeFontList       
-#define GrFreeImage             SVR_GrFreeImage
-#define GrGetFocus              SVR_GrGetFocus
-#define GrGetFontInfo           SVR_GrGetFontInfo
-#define GrGetFontList		SVR_GrGetFontList        
-#define GrGetGCInfo             SVR_GrGetGCInfo
-#define GrGetGCTextSize         SVR_GrGetGCTextSize
-#define GrGetImageInfo          SVR_GrGetImageInfo
-#define GrGetRegionBox          SVR_GrGetRegionBox
-#define GrGetScreenInfo         SVR_GrGetScreenInfo
-#define GrGetSelectionOwner     SVR_GrGetSelectionOwner
-#define GrGetSysColor           SVR_GrGetSysColor
-#define GrGetSystemPalette      SVR_GrGetSystemPalette
-#define GrGetWindowInfo         SVR_GrGetWindowInfo
-#define GrGetWMProperties       SVR_GrGetWMProperties
-#define GrInjectKeyboardEvent   SVR_GrInjectKeyboardEvent
-#define GrInjectPointerEvent    SVR_GrInjectPointerEvent
-#define GrIntersectRegion       SVR_GrIntersectRegion
-#define GrKillWindow            SVR_GrKillWindow
-#define GrLine                  SVR_GrLine
-#define GrLoadImageFromFile     SVR_GrLoadImageFromFile
-#define GrLowerWindow           SVR_GrLowerWindow
-#define GrMapWindow             SVR_GrMapWindow
-#define GrMoveCursor            SVR_GrMoveCursor
-#define GrMoveWindow            SVR_GrMoveWindow
-#define GrNewCursor		SVR_GrNewCursor          
-#define GrNewGC                 SVR_GrNewGC
-#define GrNewInputWindow        SVR_GrNewInputWindow
-#define GrNewPixmap             SVR_GrNewPixmap
-#define GrNewPolygonRegion      SVR_GrNewPolygonRegion
-#define GrNewRegion             SVR_GrNewRegion
-#define GrNewWindow             SVR_GrNewWindow
-#define GrOffsetRegion          SVR_GrOffsetRegion
-#define GrOpen                  SVR_GrOpen
-#define GrPeekEvent             SVR_GrPeekEvent
-#define GrPointInRegion         SVR_GrPointInRegion
-#define GrPoints                SVR_GrPoints
-#define GrPoint                 SVR_GrPoint
-#define GrPoly                  SVR_GrPoly
-#define GrQueryTree		SVR_GrQueryTree          
-#define GrRaiseWindow           SVR_GrRaiseWindow
-#define GrReadArea              SVR_GrReadArea
-#define GrRectInRegion          SVR_GrRectInRegion
-#define GrRect                  SVR_GrRect
-#define GrReparentWindow        SVR_GrReparentWindow
-#define GrRequestClientData     SVR_GrRequestClientData
-#define GrResizeWindow          SVR_GrResizeWindow
-#define GrSelectEvents          SVR_GrSelectEvents
-#define GrSendClientData        SVR_GrSendClientData
-#define GrSetBackgroundPixmap   SVR_GrSetBackgroundPixmap
-#define GrSetCursor             SVR_GrSetCursor
-#define GrSetFocus              SVR_GrSetFocus
-#define GrSetFontAttr           SVR_GrSetFontAttr
-#define GrSetFontRotation       SVR_GrSetFontRotation
-#define GrSetFontSize           SVR_GrSetFontSize
-#define GrSetGCBackground       SVR_GrSetGCBackground
-#define GrSetGCClipOrigin	SVR_GrSetGCClipOrigin
-#define GrSetGCFont             SVR_GrSetGCFont
-#define GrSetGCForeground       SVR_GrSetGCForeground
-#define GrSetGCGraphicsExposure	SVR_GrSetGCGraphicsExposure
-#define GrSetGCMode             SVR_GrSetGCMode
-#define GrSetGCRegion           SVR_GrSetGCRegion
-#define GrSetGCUseBackground    SVR_GrSetGCUseBackground
-#define GrSetPortraitMode	SVR_GrSetPortraitMode
-#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout
-#define GrSetSelectionOwner     SVR_GrSetSelectionOwner
-#define GrSetSystemPalette      SVR_GrSetSystemPalette
-#define GrSetWindowCursor	SVR_GrSetWindowCursor    
-#define GrSetWMProperties       SVR_GrSetWMProperties
-#define GrSubtractRegion        SVR_GrSubtractRegion
-#define GrText                  SVR_GrText
-#define GrUnionRectWithRegion   SVR_GrUnionRectWithRegion
-#define GrUnionRegion           SVR_GrUnionRegion
-#define GrUnmapWindow           SVR_GrUnmapWindow
-#define GrXorRegion             SVR_GrXorRegion
-#endif
-
 #include "nano-X.h"
 #include "device.h"
 
Index: src/nanox/srvclip1.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvclip1.c,v
retrieving revision 1.2
diff -u -r1.2 srvclip1.c
--- src/nanox/srvclip1.c	23 Jun 2005 05:00:00 -0000	1.2
+++ src/nanox/srvclip1.c	31 Oct 2008 08:45:37 -0000
@@ -4,6 +4,7 @@
  */
 #include <stdio.h>
 #include <stdlib.h>
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include "serv.h"
 
 /*
Index: src/nanox/srvclip2.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvclip2.c,v
retrieving revision 1.4
diff -u -r1.4 srvclip2.c
--- src/nanox/srvclip2.c	23 Jun 2005 05:00:00 -0000	1.4
+++ src/nanox/srvclip2.c	31 Oct 2008 08:45:37 -0000
@@ -6,6 +6,7 @@
  */
 #include <stdio.h>
 #include <stdlib.h>
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include "serv.h"
 
 /*
Index: src/nanox/srvfunc.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvfunc.c,v
retrieving revision 1.47
diff -u -r1.47 srvfunc.c
--- src/nanox/srvfunc.c	7 Jan 2008 00:01:31 -0000	1.47
+++ src/nanox/srvfunc.c	31 Oct 2008 08:45:38 -0000
@@ -8,6 +8,7 @@
 #include <stdlib.h>
 #include <string.h>
 #define MWINCLUDECOLORS
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include "serv.h"
 
 static int	nextid = GR_ROOT_WINDOW_ID + 1;
Index: src/nanox/srvevent.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvevent.c,v
retrieving revision 1.18
diff -u -r1.18 srvevent.c
--- src/nanox/srvevent.c	24 Jun 2005 00:26:57 -0000	1.18
+++ src/nanox/srvevent.c	31 Oct 2008 08:45:37 -0000
@@ -7,6 +7,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include "serv.h"
 
 #if HAVE_VNCSERVER && VNCSERVER_PTHREADED
Index: src/nanox/srvmain.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvmain.c,v
retrieving revision 1.27
diff -u -r1.27 srvmain.c
--- src/nanox/srvmain.c	24 Jun 2005 00:26:57 -0000	1.27
+++ src/nanox/srvmain.c	31 Oct 2008 08:45:39 -0000
@@ -22,6 +22,7 @@
 #endif
 
 #define MWINCLUDECOLORS
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include "serv.h"
 #if UNIX | DOS_DJGPP
 #include <unistd.h>
Index: src/nanox/srvnet.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvnet.c,v
retrieving revision 1.30
diff -u -r1.30 srvnet.c
--- src/nanox/srvnet.c	7 Jan 2008 00:01:31 -0000	1.30
+++ src/nanox/srvnet.c	31 Oct 2008 08:45:39 -0000
@@ -34,6 +34,7 @@
 #include <sys/un.h>
 #endif
 #endif
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include "serv.h"
 #include "nxproto.h"
 
Index: src/nanox/srvutil.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvutil.c,v
retrieving revision 1.18
diff -u -r1.18 srvutil.c
--- src/nanox/srvutil.c	7 Jan 2008 00:01:31 -0000	1.18
+++ src/nanox/srvutil.c	31 Oct 2008 08:45:39 -0000
@@ -12,6 +12,7 @@
 #include <fcntl.h>
 #endif
 
+#include "servmapping.h"  //eCos server function mapping for client server mode
 #include "serv.h"
 
 /*
Index: src/nanox/servmapping.h
===================================================================
RCS file: src/nanox/servmapping.h
diff -N src/nanox/servmapping.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ src/nanox/servmapping.h	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,149 @@
+#ifndef	_SERVMAPPING_H
+#define	_SERVMAPPING_H
+/*
+ * Copyright (c) 2000, 2003 Greg Haerr ####@####.####
+ * Portions Copyright (c) 2002 by Koninklijke Philips Electronics N.V.
+ * Copyright (c) 2000 Alex Holden ####@####.####
+ * Copyright (c) 1991 David I. Bell
+ *
+ * Since eCos is a single task, multi-threaded environment, the
+ * server and the client code share the same namespace.  This means
+ * that server functions which are represented by dispatchers in
+ * the client code need to have unique names, thus this remapping.
+ */
+
+
+
+#if defined(__ECOS) && !defined(NONETWORK)
+/*
+ * To remap the server functions in the client server mode for eCos
+ */
+#define nxErrorStrings            SVR_nxErrorStrings
+#define GrArcAngle                SVR_GrArcAngle
+#define GrArc                     SVR_GrArc
+#define GrArea                    SVR_GrArea
+#define GrBell                    SVR_GrBell
+#define GrBitmap                  SVR_GrBitmap
+#define GrCheckNextEvent          SVR_GrCheckNextEvent
+#define GrClearArea               SVR_GrClearArea
+#define GrClose                   SVR_GrClose
+#define GrCloseWindow             SVR_GrCloseWindow
+#define GrCopyArea                SVR_GrCopyArea
+#define GrCopyGC                  SVR_GrCopyGC
+#define GrCreateFont              SVR_GrCreateFont
+#define GrCreateTimer             SVR_GrCreateTimer
+#define GrDelay                   SVR_GrDelay
+#define GrDestroyCursor           SVR_GrDestroyCursor
+#define GrDestroyFont             SVR_GrDestroyFont
+#define GrDestroyGC               SVR_GrDestroyGC
+#define GrDestroyRegion           SVR_GrDestroyRegion
+#define GrDestroyTimer            SVR_GrDestroyTimer
+#define GrDestroyWindow           SVR_GrDestroyWindow
+#define GrDrawImageBits           SVR_GrDrawImageBits
+#define GrDrawImageFromBuffer     SVR_GrDrawImageFromBuffer
+#define GrDrawImageFromFile       SVR_GrDrawImageFromFile
+#define GrDrawImageToFit          SVR_GrDrawImageToFit
+#define GrEllipse                 SVR_GrEllipse
+#define GrEmptyRegion             SVR_GrEmptyRegion
+#define GrEqualRegion             SVR_GrEqualRegion
+#define GrFillEllipse             SVR_GrFillEllipse
+#define GrFillPoly                SVR_GrFillPoly
+#define GrFillRect                SVR_GrFillRect
+#define GrFindColor               SVR_GrFindColor
+#define GrFreeFontList            SVR_GrFreeFontList
+#define GrFreeImage               SVR_GrFreeImage
+#define GrGetFocus                SVR_GrGetFocus
+#define GrGetFontInfo             SVR_GrGetFontInfo
+#define GrGetFontList             SVR_GrGetFontList
+#define GrGetGCInfo               SVR_GrGetGCInfo
+#define GrGetGCTextSize           SVR_GrGetGCTextSize
+#define GrGetImageInfo            SVR_GrGetImageInfo
+#define GrGetRegionBox            SVR_GrGetRegionBox
+#define GrGetScreenInfo           SVR_GrGetScreenInfo
+#define GrGetSelectionOwner       SVR_GrGetSelectionOwner
+#define GrGetSysColor             SVR_GrGetSysColor
+#define GrGetSystemPalette        SVR_GrGetSystemPalette
+#define GrGetWindowInfo           SVR_GrGetWindowInfo
+#define GrGetWMProperties         SVR_GrGetWMProperties
+#define GrInjectKeyboardEvent     SVR_GrInjectKeyboardEvent
+#define GrInjectPointerEvent      SVR_GrInjectPointerEvent
+#define GrIntersectRegion         SVR_GrIntersectRegion
+#define GrKillWindow              SVR_GrKillWindow
+#define GrLine                    SVR_GrLine
+#define GrLoadImageFromFile       SVR_GrLoadImageFromFile
+#define GrLowerWindow             SVR_GrLowerWindow
+#define GrMapWindow               SVR_GrMapWindow
+#define GrMoveCursor              SVR_GrMoveCursor
+#define GrMoveWindow              SVR_GrMoveWindow
+#define GrNewCursor               SVR_GrNewCursor
+#define GrNewGC                   SVR_GrNewGC
+#define GrNewInputWindow          SVR_GrNewInputWindow
+#define GrNewPixmap               SVR_GrNewPixmap
+#define GrNewPolygonRegion        SVR_GrNewPolygonRegion
+#define GrNewRegion               SVR_GrNewRegion
+#define GrNewWindow               SVR_GrNewWindow
+#define GrOffsetRegion            SVR_GrOffsetRegion
+#define GrOpen                    SVR_GrOpen
+#define GrPeekEvent               SVR_GrPeekEvent
+#define GrPointInRegion           SVR_GrPointInRegion
+#define GrPoints                  SVR_GrPoints
+#define GrPoint                   SVR_GrPoint
+#define GrPoly                    SVR_GrPoly
+#define GrQueryTree               SVR_GrQueryTree
+#define GrRaiseWindow             SVR_GrRaiseWindow
+#define GrReadArea                SVR_GrReadArea
+#define GrRectInRegion            SVR_GrRectInRegion
+#define GrRect                    SVR_GrRect
+#define GrReparentWindow          SVR_GrReparentWindow
+#define GrRequestClientData       SVR_GrRequestClientData
+#define GrResizeWindow            SVR_GrResizeWindow
+#define GrSelectEvents            SVR_GrSelectEvents
+#define GrSendClientData          SVR_GrSendClientData
+#define GrSetBackgroundPixmap     SVR_GrSetBackgroundPixmap
+#define GrSetCursor               SVR_GrSetCursor
+#define GrSetFocus                SVR_GrSetFocus
+#define GrSetFontAttr             SVR_GrSetFontAttr
+#define GrSetFontRotation         SVR_GrSetFontRotation
+#define GrSetFontSize             SVR_GrSetFontSize
+#define GrSetGCBackground         SVR_GrSetGCBackground
+#define GrSetGCClipOrigin         SVR_GrSetGCClipOrigin
+#define GrSetGCFont               SVR_GrSetGCFont
+#define GrSetGCForeground         SVR_GrSetGCForeground
+#define GrSetGCGraphicsExposure   SVR_GrSetGCGraphicsExposure
+#define GrSetGCMode               SVR_GrSetGCMode
+#define GrSetGCRegion             SVR_GrSetGCRegion
+#define GrSetGCUseBackground      SVR_GrSetGCUseBackground
+#define GrSetPortraitMode         SVR_GrSetPortraitMode
+#define GrSetScreenSaverTimeout   SVR_GrSetScreenSaverTimeout
+#define GrSetSelectionOwner       SVR_GrSetSelectionOwner
+#define GrSetSystemPalette        SVR_GrSetSystemPalette
+#define GrSetWindowCursor         SVR_GrSetWindowCursor
+#define GrSetWMProperties         SVR_GrSetWMProperties
+#define GrSubtractRegion          SVR_GrSubtractRegion
+#define GrText                    SVR_GrText
+#define GrUnionRectWithRegion     SVR_GrUnionRectWithRegion
+#define GrUnionRegion             SVR_GrUnionRegion
+#define GrUnmapWindow             SVR_GrUnmapWindow
+#define GrXorRegion               SVR_GrXorRegion
+
+#define GrSetGCForegroundPixelVal SVR_GrSetGCForegroundPixelVal 
+#define GrSetGCBackgroundPixelVal SVR_GrSetGCBackgroundPixelVal 
+#define GrSetGCLineAttributes     SVR_GrSetGCLineAttributes
+#define GrSetGCDash               SVR_GrSetGCDash
+#define GrSetGCFillMode           SVR_GrSetGCFillMode
+#define GrSetGCStipple            SVR_GrSetGCStipple
+#define GrSetGCTile               SVR_GrSetGCTile
+#define GrSetGCTSOffset           SVR_GrSetGCTSOffset
+#define GrLoadImageFromBuffer     SVR_GrLoadImageFromBuffer
+#define GrStretchArea             SVR_GrStretchArea
+#define GrQueryPointer            SVR_GrQueryPointer
+#define GrSetWindowRegion         SVR_GrSetWindowRegion
+#define GrSetTransform            SVR_GrSetTransform 
+#define GrGrabKey                 SVR_GrGrabKey
+#define GrUngrabKey               SVR_GrUngrabKey
+#define GrNewBitmapRegion         SVR_GrNewBitmapRegion
+#define GrDrawImagePartToFit      SVR_GrDrawImagePartToFit
+
+#endif
+
+#endif /* _SERVMAPPING_H*/


Any comments?
Regards,

Guy



Previous by date: 31 Oct 2008 16:36:57 -0000 found problem with applyOp makros (located in drivers/fb.h), Klatt Uwe
Next by date: 31 Oct 2008 16:36:57 -0000 update client.c nano-X.h ecos_app.c from nano-X cvs for eCos, Lecordier, Guy
Previous in thread: 31 Oct 2008 16:36:57 -0000 compile nano-x cvs for ecos in NONETWORK mode, Lecordier, Guy
Next in thread:


Powered by ezmlm-browse 0.20.