aboutsummaryrefslogtreecommitdiff
path: root/libX11
diff options
context:
space:
mode:
Diffstat (limited to 'libX11')
-rw-r--r--libX11/cpprules.mak19
-rw-r--r--libX11/include/X11/Xlib.h4
-rw-r--r--libX11/include/X11/Xregion.h2
-rw-r--r--libX11/modules/im/ximcp/imInt.c1
-rw-r--r--libX11/modules/im/ximcp/imLcLkup.c2
-rw-r--r--libX11/modules/im/ximcp/imRm.c1
-rw-r--r--libX11/modules/im/ximcp/imTrans.c2
-rw-r--r--libX11/modules/im/ximcp/makefile34
-rw-r--r--libX11/modules/lc/Utf8/makefile6
-rw-r--r--libX11/modules/lc/def/makefile5
-rw-r--r--libX11/modules/lc/gen/makefile6
-rw-r--r--libX11/modules/lc/xlocale/makefile8
-rw-r--r--libX11/modules/om/generic/makefile15
-rw-r--r--libX11/modules/om/generic/omGeneric.c1
-rw-r--r--libX11/nls/makefile85
-rw-r--r--libX11/src/ConvSel.c2
-rw-r--r--libX11/src/CrGlCur.c10
-rw-r--r--libX11/src/CrWindow.c4
-rw-r--r--libX11/src/FSWrap.c2
-rw-r--r--libX11/src/GetDflt.c10
-rw-r--r--libX11/src/InitExt.c1
-rw-r--r--libX11/src/OpenDis.c1
-rw-r--r--libX11/src/QuColors.c4
-rw-r--r--libX11/src/RdBitF.c33
-rw-r--r--libX11/src/SetLocale.c1
-rw-r--r--libX11/src/StrKeysym.c4
-rw-r--r--libX11/src/Window.c4
-rw-r--r--libX11/src/XlibInt.c21
-rw-r--r--libX11/src/config.h243
-rw-r--r--libX11/src/genhextable.py39
-rw-r--r--libX11/src/makefile276
-rw-r--r--libX11/src/util/makefile6
-rw-r--r--libX11/src/util/makekeys.c3
-rw-r--r--libX11/src/xcb_io.c3
-rw-r--r--libX11/src/xcms/config.h2
-rw-r--r--libX11/src/xcms/makefile71
-rw-r--r--libX11/src/xkb/Makefile27
-rw-r--r--libX11/src/xkb/XKB.c5
-rw-r--r--libX11/src/xkb/XKBBind.c28
-rw-r--r--libX11/src/xkb/XKBGAlloc.c5
-rw-r--r--libX11/src/xkb/XKBGeom.c4
-rw-r--r--libX11/src/xkb/XKBGetMap.c28
-rw-r--r--libX11/src/xkb/XKBMisc.c1
-rw-r--r--libX11/src/xkb/XKBSetGeom.c4
-rw-r--r--libX11/src/xkb/XKBUse.c28
-rw-r--r--libX11/src/xlibi18n/XDefaultIMIF.c1
-rw-r--r--libX11/src/xlibi18n/XDefaultOMIF.c2
-rw-r--r--libX11/src/xlibi18n/XimProto.h7
-rw-r--r--libX11/src/xlibi18n/lcDB.c3
-rw-r--r--libX11/src/xlibi18n/lcDynamic.c2
-rw-r--r--libX11/src/xlibi18n/lcFile.c2
-rw-r--r--libX11/src/xlibi18n/lcGeneric.c1
-rw-r--r--libX11/src/xlibi18n/lcPublic.c1
-rw-r--r--libX11/src/xlibi18n/makefile80
54 files changed, 1121 insertions, 39 deletions
diff --git a/libX11/cpprules.mak b/libX11/cpprules.mak
new file mode 100644
index 000000000..9f485ac0d
--- /dev/null
+++ b/libX11/cpprules.mak
@@ -0,0 +1,19 @@
+
+ifdef x11thislocaledir
+
+$(x11thislocaledir)\%: %.pre
+ cl /nologo /EP $< -DXCOMM\#\# > $@
+
+$(x11thislocaledir):
+ $(CREATEDIR)
+
+all: $(x11thislocaledir)
+endif
+
+$(eval $(locales:%=$(X11_LOCALEDATADIR)\%\XLC_LOCALE : %\XLC_LOCALE.pre$n cl /nologo /EP $$< -DXCOMM\#\# > $$@$n))
+
+$(eval $(locales:%=$(X11_LOCALEDATADIR)\%\Compose : %\Compose.pre$n cl /nologo /EP $$< -DXCOMM\#\# > $$@$n))
+
+$(eval $(locales:%=$(X11_LOCALEDATADIR)\%\XI18N_OBJS : $(X11_LOCALEDATADIR)\% %\XI18N_OBJS$n copy %\XI18N_OBJS $$@$n))
+
+$(eval $(locales:%=$(X11_LOCALEDATADIR)\% :$n mkdir $$@$n ))
diff --git a/libX11/include/X11/Xlib.h b/libX11/include/X11/Xlib.h
index dd4c7c443..3a73d7b83 100644
--- a/libX11/include/X11/Xlib.h
+++ b/libX11/include/X11/Xlib.h
@@ -83,8 +83,8 @@ _Xmblen(
typedef char *XPointer;
-#define Bool int
-#define Status int
+typedef int Bool;
+typedef int Status;
#define True 1
#define False 0
diff --git a/libX11/include/X11/Xregion.h b/libX11/include/X11/Xregion.h
index b441312dc..1ae16c487 100644
--- a/libX11/include/X11/Xregion.h
+++ b/libX11/include/X11/Xregion.h
@@ -58,8 +58,10 @@ typedef struct {
#define TRUE 1
#define FALSE 0
+#ifndef MAXSHORT
#define MAXSHORT 32767
#define MINSHORT -MAXSHORT
+#endif
#ifndef MAX
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#endif
diff --git a/libX11/modules/im/ximcp/imInt.c b/libX11/modules/im/ximcp/imInt.c
index 26f4991a2..9e8c426c3 100644
--- a/libX11/modules/im/ximcp/imInt.c
+++ b/libX11/modules/im/ximcp/imInt.c
@@ -29,6 +29,7 @@ PERFORMANCE OF THIS SOFTWARE.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <unistd.h>
#include <X11/Xatom.h>
#include <X11/Xlib.h>
#include <X11/Xmd.h>
diff --git a/libX11/modules/im/ximcp/imLcLkup.c b/libX11/modules/im/ximcp/imLcLkup.c
index 8e4111a6a..ad96ea25c 100644
--- a/libX11/modules/im/ximcp/imLcLkup.c
+++ b/libX11/modules/im/ximcp/imLcLkup.c
@@ -61,7 +61,7 @@ _XimLocalMbLookupString(XIC xic, XKeyEvent *ev, char *buffer, int bytes,
||(ic->private.local.brl_committed != 0))) {
if (ic->private.local.brl_committed != 0) { /* Braille Event */
unsigned char pattern = ic->private.local.brl_committed;
- char mb[XLC_PUBLIC(ic->core.im->core.lcd, mb_cur_max)];
+ char *mb=alloca(XLC_PUBLIC(ic->core.im->core.lcd, mb_cur_max));
ret = _Xlcwctomb(ic->core.im->core.lcd, mb, BRL_UC_ROW | pattern);
if(ret > bytes) {
if(status) *status = XBufferOverflow;
diff --git a/libX11/modules/im/ximcp/imRm.c b/libX11/modules/im/ximcp/imRm.c
index 01e74c2d1..56c470b9f 100644
--- a/libX11/modules/im/ximcp/imRm.c
+++ b/libX11/modules/im/ximcp/imRm.c
@@ -34,6 +34,7 @@ PERFORMANCE OF THIS SOFTWARE.
#include <config.h>
#endif
#include <stdio.h>
+#include <unistd.h>
#include <X11/Xlib.h>
#include "Xlibint.h"
#include "Xlcint.h"
diff --git a/libX11/modules/im/ximcp/imTrans.c b/libX11/modules/im/ximcp/imTrans.c
index 0ac08aa60..5c23211a5 100644
--- a/libX11/modules/im/ximcp/imTrans.c
+++ b/libX11/modules/im/ximcp/imTrans.c
@@ -53,9 +53,11 @@ PERFORMANCE OF THIS SOFTWARE.
#include <config.h>
#endif
#include <stdio.h>
+#include <unistd.h>
#include <X11/Xatom.h>
#include <X11/Xmd.h>
#include "Xlibint.h"
+#include <X11/Xwindows.h>
#include <X11/Xtrans/Xtrans.h>
#include "Xlcint.h"
#include "Ximint.h"
diff --git a/libX11/modules/im/ximcp/makefile b/libX11/modules/im/ximcp/makefile
new file mode 100644
index 000000000..ca80ad90e
--- /dev/null
+++ b/libX11/modules/im/ximcp/makefile
@@ -0,0 +1,34 @@
+DEFINES += XIM_t TRANS_CLIENT
+
+LIBRARY=libximcp
+
+CSRCS = \
+ imCallbk.c \
+ imDefFlt.c \
+ imDefIc.c \
+ imDefIm.c \
+ imDefLkup.c \
+ imDispch.c \
+ imEvToWire.c \
+ imExten.c \
+ imImSw.c \
+ imInsClbk.c \
+ imInt.c \
+ imLcFlt.c \
+ imLcGIc.c \
+ imLcIc.c \
+ imLcIm.c \
+ imLcLkup.c \
+ imLcPrs.c \
+ imLcSIc.c \
+ imRmAttr.c \
+ imRm.c \
+ imThaiFlt.c \
+ imThaiIc.c \
+ imThaiIm.c \
+ imTrans.c \
+ imTransR.c \
+ imTrX.c
+
+INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n
+
diff --git a/libX11/modules/lc/Utf8/makefile b/libX11/modules/lc/Utf8/makefile
new file mode 100644
index 000000000..6f814c760
--- /dev/null
+++ b/libX11/modules/lc/Utf8/makefile
@@ -0,0 +1,6 @@
+LIBRARY = libxlcUTF8Load
+
+CSRCS=lcUTF8Load.c
+
+INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src
+
diff --git a/libX11/modules/lc/def/makefile b/libX11/modules/lc/def/makefile
new file mode 100644
index 000000000..b89ce455d
--- /dev/null
+++ b/libX11/modules/lc/def/makefile
@@ -0,0 +1,5 @@
+LIBRARY = libxlcDef
+CSRCS = lcDefConv.c
+
+INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src
+
diff --git a/libX11/modules/lc/gen/makefile b/libX11/modules/lc/gen/makefile
new file mode 100644
index 000000000..8fe90a5e6
--- /dev/null
+++ b/libX11/modules/lc/gen/makefile
@@ -0,0 +1,6 @@
+LIBRARY = liblcGenConvLoad
+
+CSRCS=lcGenConv.c
+
+INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src
+
diff --git a/libX11/modules/lc/xlocale/makefile b/libX11/modules/lc/xlocale/makefile
new file mode 100644
index 000000000..9649982bd
--- /dev/null
+++ b/libX11/modules/lc/xlocale/makefile
@@ -0,0 +1,8 @@
+LIBRARY = libxlocale
+
+CSRCS = \
+ lcEuc.c \
+ lcJis.c \
+ lcSjis.c
+
+INCLUDES += ..\..\..\include ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src\xkb ..\..\..\src\xcms ..\..\..\src
diff --git a/libX11/modules/om/generic/makefile b/libX11/modules/om/generic/makefile
new file mode 100644
index 000000000..cb8e59dfe
--- /dev/null
+++ b/libX11/modules/om/generic/makefile
@@ -0,0 +1,15 @@
+LIBRARY = libxomGeneric
+
+CSRCS = \
+ omDefault.c \
+ omGeneric.c \
+ omImText.c \
+ omText.c \
+ omTextEsc.c \
+ omTextExt.c \
+ omTextPer.c \
+ omXChar.c
+
+INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src ..\..\..\src\xlibi18n
+
+
diff --git a/libX11/modules/om/generic/omGeneric.c b/libX11/modules/om/generic/omGeneric.c
index 7f02c8565..d34928784 100644
--- a/libX11/modules/om/generic/omGeneric.c
+++ b/libX11/modules/om/generic/omGeneric.c
@@ -56,6 +56,7 @@
#include <X11/Xos.h>
#include <X11/Xatom.h>
#include <stdio.h>
+#include <unistd.h>
#include <string.h>
#include <ctype.h>
diff --git a/libX11/nls/makefile b/libX11/nls/makefile
new file mode 100644
index 000000000..e6bf47297
--- /dev/null
+++ b/libX11/nls/makefile
@@ -0,0 +1,85 @@
+X11_LOCALEDATADIR = ..\..\xorg-server\locale
+
+x11localedir = $(X11_LOCALEDATADIR)
+x11locale_DATA = locale.alias locale.dir compose.dir
+locales = \
+ am_ET.UTF-8 \
+ armscii-8 \
+ C \
+ el_GR.UTF-8 \
+ en_US.UTF-8 \
+ fi_FI.UTF-8 \
+ georgian-academy \
+ georgian-ps \
+ ibm-cp1133 \
+ iscii-dev \
+ isiri-3342 \
+ iso8859-1 \
+ iso8859-10 \
+ iso8859-11 \
+ iso8859-13 \
+ iso8859-14 \
+ iso8859-15 \
+ iso8859-2 \
+ iso8859-3 \
+ iso8859-4 \
+ iso8859-5 \
+ iso8859-6 \
+ iso8859-7 \
+ iso8859-8 \
+ iso8859-9 \
+ iso8859-9e \
+ ja \
+ ja.JIS \
+ ja_JP.UTF-8 \
+ ja.S90 \
+ ja.SJIS \
+ ja.U90 \
+ ko \
+ koi8-c \
+ koi8-r \
+ koi8-u \
+ ko_KR.UTF-8 \
+ microsoft-cp1251 \
+ microsoft-cp1255 \
+ microsoft-cp1256 \
+ mulelao-1 \
+ nokhchi-1 \
+ pt_BR.UTF-8 \
+ ru_RU.UTF-8 \
+ tatar-cyr \
+ th_TH \
+ th_TH.UTF-8 \
+ tscii-0 \
+ vi_VN.tcvn \
+ vi_VN.viscii \
+ zh_CN \
+ zh_CN.gb18030 \
+ zh_CN.gbk \
+ zh_CN.UTF-8 \
+ zh_HK.big5 \
+ zh_HK.big5hkscs \
+ zh_HK.UTF-8 \
+ zh_TW \
+ zh_TW.big5 \
+ zh_TW.UTF-8
+
+include ../cpprules.mak
+
+
+$(X11_LOCALEDATADIR)\%: %.pre
+ cl /nologo /EP $< -DXCOMM\#\# > $<.l1
+ sed -e "/^[^\#][^ ]*:/s/://" -e "/^[^\#].*[ ].*:/d" < $<.l1 > $<.l2
+ type $<.l2 $<.l1 > $@
+ del $<.l1
+ del $<.l2
+
+# Per-locale data files
+
+nobase_dist_x11locale_DATA = $(locales:%=%\XI18N_OBJS)
+
+nobase_x11locale_DATA = $(locales:%=%\XLC_LOCALE) $(locales:%=%\Compose)
+
+all_DATA = $(nobase_dist_x11locale_DATA) $(nobase_x11locale_DATA) $(x11locale_DATA)
+
+all: $(all_DATA:%=$(X11_LOCALEDATADIR)\%)
diff --git a/libX11/src/ConvSel.c b/libX11/src/ConvSel.c
index fb6e8e338..2dece58b5 100644
--- a/libX11/src/ConvSel.c
+++ b/libX11/src/ConvSel.c
@@ -49,5 +49,5 @@ XConvertSelection(
req->time = time;
UnlockDisplay(dpy);
SyncHandle();
- return 1;
+ return Success;
}
diff --git a/libX11/src/CrGlCur.c b/libX11/src/CrGlCur.c
index 460660f81..510ff5d75 100644
--- a/libX11/src/CrGlCur.c
+++ b/libX11/src/CrGlCur.c
@@ -51,8 +51,14 @@ in this Software without prior written authorization from The Open Group.
#if defined(hpux)
typedef shl_t XModuleType;
#else
+#ifdef _MSC_VER
+#include <X11/XWindows.h>
+typedef HANDLE XModuleType;
+#define dlsym GetProcAddress
+#else
typedef void *XModuleType;
#endif
+#endif
#ifndef LIBXCURSOR
#define LIBXCURSOR "libXcursor.so.1"
@@ -71,8 +77,12 @@ open_library (void)
#if defined(hpux)
module = shl_load(library, BIND_DEFERRED, 0L);
#else
+#ifdef _MSC_VER
+ module = LoadLibrary(library);
+#else
module = dlopen(library, RTLD_LAZY);
#endif
+#endif
if (module)
return module;
dot = strrchr (library, '.');
diff --git a/libX11/src/CrWindow.c b/libX11/src/CrWindow.c
index 23f7ddce0..347e9a022 100644
--- a/libX11/src/CrWindow.c
+++ b/libX11/src/CrWindow.c
@@ -29,6 +29,10 @@ in this Software without prior written authorization from The Open Group.
#endif
#include "Xlibint.h"
+#ifdef _MSC_VER
+#undef CreateWindow
+#endif
+
Window XCreateSimpleWindow(
register Display *dpy,
Window parent,
diff --git a/libX11/src/FSWrap.c b/libX11/src/FSWrap.c
index 910e602f4..63ca00e05 100644
--- a/libX11/src/FSWrap.c
+++ b/libX11/src/FSWrap.c
@@ -63,7 +63,7 @@ from The Open Group.
#include "Xlcint.h"
#include <ctype.h>
#include <X11/Xos.h>
-
+#include <unistd.h>
#define XMAXLIST 256
diff --git a/libX11/src/GetDflt.c b/libX11/src/GetDflt.c
index dfda1c64d..0443e2d1a 100644
--- a/libX11/src/GetDflt.c
+++ b/libX11/src/GetDflt.c
@@ -160,9 +160,13 @@ InitDefaults(
* ~/.Xdefaults. Next, if there is an XENVIRONMENT environment variable,
* then load that file.
*/
-
+
if (dpy->xdefaults == NULL) {
+ #ifdef _MSC_VER
+ const char *slashDotXdefaults = ".Xdefaults";
+ #else
const char *slashDotXdefaults = "/.Xdefaults";
+ #endif
(void) GetHomeDir (fname, PATH_MAX - strlen (slashDotXdefaults) - 1);
(void) strcat (fname, slashDotXdefaults);
@@ -172,7 +176,11 @@ InitDefaults(
}
if (!(xenv = getenv ("XENVIRONMENT"))) {
+ #ifdef _MSC_VER
+ const char *slashDotXdefaultsDash = ".Xdefaults-";
+ #else
const char *slashDotXdefaultsDash = "/.Xdefaults-";
+ #endif
int len;
(void) GetHomeDir (fname, PATH_MAX - strlen (slashDotXdefaultsDash) - 1);
diff --git a/libX11/src/InitExt.c b/libX11/src/InitExt.c
index 19515ccd0..53c2dbe90 100644
--- a/libX11/src/InitExt.c
+++ b/libX11/src/InitExt.c
@@ -32,6 +32,7 @@ from The Open Group.
#include <X11/Xlibint.h>
#include <X11/Xos.h>
#include <stdio.h>
+#include <unistd.h>
/*
* This routine is used to link a extension in so it will be called
diff --git a/libX11/src/OpenDis.c b/libX11/src/OpenDis.c
index 9379fec83..2e5181811 100644
--- a/libX11/src/OpenDis.c
+++ b/libX11/src/OpenDis.c
@@ -32,6 +32,7 @@ in this Software without prior written authorization from The Open Group.
#include <X11/Xatom.h>
#include <X11/Xresource.h>
#include <stdio.h>
+#include <unistd.h>
#include "Xintconn.h"
#ifdef XKB
diff --git a/libX11/src/QuColors.c b/libX11/src/QuColors.c
index 237b8bf03..d02958eca 100644
--- a/libX11/src/QuColors.c
+++ b/libX11/src/QuColors.c
@@ -73,8 +73,8 @@ _XQueryColors(
int
XQueryColors(
- register Display * const dpy,
- const Colormap cmap,
+ register Display * dpy,
+ Colormap cmap,
XColor *defs, /* RETURN */
int ncolors)
{
diff --git a/libX11/src/RdBitF.c b/libX11/src/RdBitF.c
index ab7d800d3..afdaee7fc 100644
--- a/libX11/src/RdBitF.c
+++ b/libX11/src/RdBitF.c
@@ -54,22 +54,23 @@ from The Open Group.
#define MAX_SIZE 255
/* shared data for the image read/parse logic */
-static const short hexTable[256] = {
- ['0'] = 0, ['1'] = 1,
- ['2'] = 2, ['3'] = 3,
- ['4'] = 4, ['5'] = 5,
- ['6'] = 6, ['7'] = 7,
- ['8'] = 8, ['9'] = 9,
- ['A'] = 10, ['B'] = 11,
- ['C'] = 12, ['D'] = 13,
- ['E'] = 14, ['F'] = 15,
- ['a'] = 10, ['b'] = 11,
- ['c'] = 12, ['d'] = 13,
- ['e'] = 14, ['f'] = 15,
-
- [' '] = -1, [','] = -1,
- ['}'] = -1, ['\n'] = -1,
- ['\t'] = -1
+static const signed char hexTable[256] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ ,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0
+ , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0
+ , 0, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
/*
diff --git a/libX11/src/SetLocale.c b/libX11/src/SetLocale.c
index c49cb2e4e..64166bda0 100644
--- a/libX11/src/SetLocale.c
+++ b/libX11/src/SetLocale.c
@@ -63,6 +63,7 @@ from The Open Group.
#include <X11/Xlocale.h>
#include <X11/Xos.h>
#include "XlcPubI.h"
+#include <unistd.h>
#define MAXLOCALE 64 /* buffer size of locale name */
diff --git a/libX11/src/StrKeysym.c b/libX11/src/StrKeysym.c
index 6e9c427f8..907db507b 100644
--- a/libX11/src/StrKeysym.c
+++ b/libX11/src/StrKeysym.c
@@ -39,12 +39,14 @@ in this Software without prior written authorization from The Open Group.
#ifndef KEYSYMDB
#ifndef XKEYSYMDB
-#define KEYSYMDB "/usr/lib/X11/XKeysymDB"
+#define KEYSYMDB "XKeysymDB"
#else
#define KEYSYMDB XKEYSYMDB
#endif
#endif
+#include <unistd.h>
+
static Bool initialized;
static XrmDatabase keysymdb;
static XrmQuark Qkeysym[2];
diff --git a/libX11/src/Window.c b/libX11/src/Window.c
index 85a28f372..341efee0f 100644
--- a/libX11/src/Window.c
+++ b/libX11/src/Window.c
@@ -29,6 +29,10 @@ in this Software without prior written authorization from The Open Group.
#endif
#include "Xlibint.h"
+#ifdef _MSC_VER
+#undef CreateWindow
+#endif
+
void _XProcessWindowAttributes (
register Display *dpy,
xChangeWindowAttributesReq *req,
diff --git a/libX11/src/XlibInt.c b/libX11/src/XlibInt.c
index a8f5d0844..bd34bbeff 100644
--- a/libX11/src/XlibInt.c
+++ b/libX11/src/XlibInt.c
@@ -33,6 +33,7 @@ from The Open Group.
#ifdef WIN32
#define _XLIBINT_
+#include <X11\Xw32defs.h>
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -145,6 +146,19 @@ xthread_t (*_Xthread_self_fn)(void) = NULL;
#define POLLFD_CACHE_SIZE 5
+#if _WIN32_WINNT < _WIN32_WINNT_VISTA
+struct pollfd {
+
+ SOCKET fd;
+ SHORT events;
+ SHORT revents;
+
+};
+#define POLLRDNORM 0x0100
+#define POLLRDBAND 0x0200
+#define POLLIN (POLLRDNORM | POLLRDBAND)
+#endif
+
/* initialize the struct array passed to poll() below */
Bool _XPollfdCacheInit(
Display *dpy)
@@ -198,6 +212,11 @@ void _XPollfdCacheDel(
#endif
}
+#ifdef _MSC_VER
+#undef min
+#define min __min
+#endif
+
static int sync_hazard(Display *dpy)
{
unsigned long span = dpy->request - dpy->last_request_read;
@@ -239,7 +258,7 @@ void _XSeqSyncFunction(
static int
_XPrivSyncFunction (Display *dpy)
{
-#if XTHREADS
+#ifdef XTHREADS
assert(!dpy->lock_fns);
#endif
assert(dpy->synchandler == _XPrivSyncFunction);
diff --git a/libX11/src/config.h b/libX11/src/config.h
new file mode 100644
index 000000000..abbac6e3b
--- /dev/null
+++ b/libX11/src/config.h
@@ -0,0 +1,243 @@
+/* src/config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if `struct sockaddr_in' has a `sin_len' member */
+/* #undef BSD44SOCKETS */
+
+/* Include compose table cache support */
+#define COMPOSECACHE 1
+
+/* Has getresuid() & getresgid() functions */
+/* #undef HASGETRESUID */
+
+/* Has issetugid() function */
+/* #undef HASSETUGID */
+
+/* Has shm*() functions */
+//MH#define HAS_SHM 1
+
+/* Define to 1 if you have the `authdes_create' function. */
+/* #undef HAVE_AUTHDES_CREATE */
+
+/* Define to 1 if you have the `authdes_seccreate' function. */
+/* #undef HAVE_AUTHDES_SECCREATE */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <endian.h> header file. */
+#define HAVE_ENDIAN_H 1
+
+/* Use dlopen to load shared libraries */
+#define HAVE_DLOPEN 1
+
+/* Define to 1 if you have the <dl.h> header file. */
+/* #undef HAVE_DL_H */
+
+/* Define to 1 if you have the `getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* launchd support available */
+/* #undef HAVE_LAUNCHD */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `poll' function. */
+#define HAVE_POLL 1
+
+/* Define to 1 if you have a working `mmap' system call. */
+#define HAVE_MMAP 1
+
+/* Use shl_load to load shared libraries */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define to 1 if the system has the type `socklen_t'. */
+#define HAVE_SOCKLEN_T 0
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#define HAVE_SYS_POLL_H 1
+
+/* Define to 1 if you have the `strtol' function. */
+#define HAVE_STRTOL 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Support IPv6 for TCP connections */
+/* #undef IPv6 */
+
+/* Support dynamically loaded font modules */
+#define LOADABLEFONTS 1
+
+/* Support os-specific local connections */
+/* #undef LOCALCONN */
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#define LT_OBJDIR ".libs/"
+
+/* Disable XLOCALEDIR environment variable */
+#define NO_XLOCALEDIR 1
+
+/* Name of package */
+#define PACKAGE "libX11"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "libX11"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "libX11 1.1.5"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "libX11"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "1.1.5"
+
+/* Major version of this package */
+#define PACKAGE_VERSION_MAJOR 1
+
+/* Minor version of this package */
+#define PACKAGE_VERSION_MINOR 1
+
+/* Patch version of this package */
+#define PACKAGE_VERSION_PATCHLEVEL 5
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+/* #undef RETSIGTYPE */
+
+/* Support Secure RPC ("SUN-DES-1") authentication for X11 clients */
+/* #undef SECURE_RPC */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Support TCP socket connections */
+#define TCPCONN 1
+
+/* launchd support available */
+/* #undef TRANS_REOPEN */
+
+/* Support UNIX socket connections */
+#define UNIXCONN 1
+
+/* Split some i18n functions into loadable modules */
+/* #undef USE_DYNAMIC_LC */
+
+/* Use the X cursor library to load cursors */
+#define USE_DYNAMIC_XCURSOR 1
+
+/* poll() function is available */
+#define USE_POLL 1
+
+/* Use XCB for low-level protocol implementation */
+#define USE_XCB 1
+
+/* Version number of package */
+#define VERSION "1.1.5"
+
+/* Support bdf format bitmap font files */
+#define XFONT_BDFFORMAT 1
+
+/* Location of libX11 data */
+#define X11_DATADIR "/usr/share/X11"
+
+/* Location of libX11 library data */
+#define X11_LIBDIR "/usr/lib/X11"
+
+/* Include support for XCMS */
+#define XCMS 1
+
+/* Location of error message database */
+#define XERRORDB "XErrorDB"
+
+/* Enable XF86BIGFONT extension */
+/* #undef XF86BIGFONT */
+
+/* Use XKB */
+#define XKB 1
+
+/* Location of keysym database */
+#define XKEYSYMDB "XKeysymDB"
+
+/* support for X Locales */
+#define XLOCALE 1
+
+/* Location of libX11 locale data */
+#define XLOCALEDATADIR "locale"
+
+/* Location of libX11 locale data */
+#define XLOCALEDIR "locale"
+
+/* Location of libX11 locale libraries */
+#define XLOCALELIBDIR "locale"
+
+/* Whether libX11 is compiled with thread support */
+#define XTHREADS /**/
+
+/* Whether libX11 needs to use MT safe API's */
+#define XUSE_MTSAFE_API /**/
+
+/* Enable GNU and other extensions to the C environment for glibc */
+/* #undef _GNU_SOURCE */
+
+/* Support bitmap font files */
+#define XFONT_BITMAP 1
+
+/* Support built-in fonts */
+#define XFONT_BUILTINS 1
+
+/* Support the X Font Services Protocol */
+#define XFONT_FC 1
+
+/* Support fonts in files */
+#define XFONT_FONTFILE 1
+
+/* Support FreeType rasterizer for nearly all font file formats */
+#define XFONT_FREETYPE 1
+
+/* Support pcf format bitmap font files */
+#define XFONT_PCFFORMAT 1
+
+/* Support snf format bitmap font files */
+#define XFONT_SNFFORMAT 1
+
+/* Support Speedo font files */
+#define XFONT_SPEEDO 1
+
+/* Support IBM Type 1 rasterizer for Type1 font files */
+#define XFONT_TYPE1 1
+
+/* Support bzip2 for bitmap fonts */
+/* #undef X_BZIP2_FONT_COMPRESSION */
+
+/* Support gzip for bitmap fonts */
+#define X_GZIP_FONT_COMPRESSION 1
+
+#define INCL_WINSOCK_API_TYPEDEFS 1
+#include <X11/Xwinsock.h>
+#include <X11/Xwindows.h>
diff --git a/libX11/src/genhextable.py b/libX11/src/genhextable.py
new file mode 100644
index 000000000..2a45a9e83
--- /dev/null
+++ b/libX11/src/genhextable.py
@@ -0,0 +1,39 @@
+import sys
+
+HexTable={
+ '0' : 0, '1' : 1,
+ '2' : 2, '3' : 3,
+ '4' : 4, '5' : 5,
+ '6' : 6, '7' : 7,
+ '8' : 8, '9' : 9,
+ 'A' : 10, 'B' : 11,
+ 'C' : 12, 'D' : 13,
+ 'E' : 14, 'F' : 15,
+ 'a' : 10, 'b' : 11,
+ 'c' : 12, 'd' : 13,
+ 'e' : 14, 'f' : 15,
+
+ ' ' : -1, ',' : -1,
+ '}' : -1, '\n' : -1,
+ '\t' : -1
+}
+
+OutHexTable=[0]*256
+
+for Char,Val in HexTable.iteritems():
+ OutHexTable[ord(Char)]=Val
+
+print "static const short hexTable[256] = {"
+i=0
+for Item in OutHexTable:
+ if i==0:
+ PreFix=" "
+ elif i%16 == 0:
+ PreFix="\n ,"
+ else:
+ PreFix=", "
+ i+=1
+ Val="%d"%Item
+ if len(Val)==1: Val = " "+Val
+ sys.stdout.write("%s%s"%(PreFix,Val))
+print "\n};" \ No newline at end of file
diff --git a/libX11/src/makefile b/libX11/src/makefile
new file mode 100644
index 000000000..6d87da17e
--- /dev/null
+++ b/libX11/src/makefile
@@ -0,0 +1,276 @@
+LIBRARY=libx11
+
+DEFINES += X11_t TRANS_CLIENT
+
+CSRCS = \
+ AllCells.c \
+ AllowEv.c \
+ AllPlanes.c \
+ AutoRep.c \
+ Backgnd.c \
+ BdrWidth.c \
+ Bell.c \
+ Border.c \
+ ChAccCon.c \
+ ChActPGb.c \
+ ChClMode.c \
+ ChCmap.c \
+ ChGC.c \
+ ChKeyCon.c \
+ ChkIfEv.c \
+ ChkMaskEv.c \
+ ChkTypEv.c \
+ ChkTypWEv.c \
+ ChkWinEv.c \
+ ChPntCon.c \
+ ChProp.c \
+ ChSaveSet.c \
+ ChWAttrs.c \
+ ChWindow.c \
+ CirWin.c \
+ CirWinDn.c \
+ CirWinUp.c \
+ ClDisplay.c \
+ ClearArea.c \
+ Clear.c \
+ ConfWind.c \
+ Context.c \
+ ConvSel.c \
+ CopyArea.c \
+ CopyCmap.c \
+ CopyGC.c \
+ CopyPlane.c \
+ CrBFData.c \
+ CrCmap.c \
+ CrCursor.c \
+ CrGC.c \
+ CrGlCur.c \
+ CrPFBData.c \
+ CrPixmap.c \
+ CrWindow.c \
+ Cursor.c \
+ DefCursor.c \
+ DelProp.c \
+ Depths.c \
+ DestSubs.c \
+ DestWind.c \
+ DisName.c \
+ DrArc.c \
+ DrArcs.c \
+ DrLine.c \
+ DrLines.c \
+ DrPoint.c \
+ DrPoints.c \
+ DrRect.c \
+ DrRects.c \
+ DrSegs.c \
+ ErrDes.c \
+ ErrHndlr.c \
+ evtomask.c \
+ EvToWire.c \
+ FetchName.c \
+ FillArc.c \
+ FillArcs.c \
+ FillPoly.c \
+ FillRct.c \
+ FillRcts.c \
+ FilterEv.c \
+ Flush.c \
+ Font.c \
+ FontInfo.c \
+ FontNames.c \
+ FreeCmap.c \
+ FreeCols.c \
+ FreeCurs.c \
+ FreeEData.c \
+ FreeEventData.c \
+ FreeGC.c \
+ FreePix.c \
+ FSSaver.c \
+ FSWrap.c \
+ GCMisc.c \
+ Geom.c \
+ GetAtomNm.c \
+ GetColor.c \
+ GetDflt.c \
+ GetEventData.c \
+ GetFPath.c \
+ GetFProp.c \
+ GetGCVals.c \
+ GetGeom.c \
+ GetHColor.c \
+ GetHints.c \
+ GetIFocus.c \
+ GetImage.c \
+ GetKCnt.c \
+ GetMoEv.c \
+ GetNrmHint.c \
+ GetPCnt.c \
+ GetPntMap.c \
+ GetProp.c \
+ GetRGBCMap.c \
+ GetSOwner.c \
+ GetSSaver.c \
+ GetStCmap.c \
+ GetTxtProp.c \
+ GetWAttrs.c \
+ GetWMCMapW.c \
+ GetWMProto.c \
+ globals.c \
+ GrButton.c \
+ GrKeybd.c \
+ GrKey.c \
+ GrPointer.c \
+ GrServer.c \
+ Host.c \
+ Iconify.c \
+ IfEvent.c \
+ imConv.c \
+ ImText16.c \
+ ImText.c \
+ ImUtil.c \
+ InitExt.c \
+ InsCmap.c \
+ IntAtom.c \
+ KeyBind.c \
+ KeysymStr.c \
+ KillCl.c \
+ LiHosts.c \
+ LiICmaps.c \
+ LiProps.c \
+ ListExt.c \
+ LoadFont.c \
+ LockDis.c \
+ locking.c \
+ LookupCol.c \
+ LowerWin.c \
+ Macros.c \
+ MapRaised.c \
+ MapSubs.c \
+ MapWindow.c \
+ MaskEvent.c \
+ Misc.c \
+ ModMap.c \
+ MoveWin.c \
+ NextEvent.c \
+ OCWrap.c \
+ OMWrap.c \
+ OpenDis.c \
+ ParseCmd.c \
+ ParseCol.c \
+ ParseGeom.c \
+ PeekEvent.c \
+ PeekIfEv.c \
+ Pending.c \
+ PixFormats.c \
+ PmapBgnd.c \
+ PmapBord.c \
+ PolyReg.c \
+ PolyTxt16.c \
+ PolyTxt.c \
+ PropAlloc.c \
+ PutBEvent.c \
+ PutImage.c \
+ Quarks.c \
+ QuBest.c \
+ QuColor.c \
+ QuColors.c \
+ QuCurShp.c \
+ QuExt.c \
+ QuKeybd.c \
+ QuPntr.c \
+ QuStipShp.c \
+ QuTextE16.c \
+ QuTextExt.c \
+ QuTileShp.c \
+ QuTree.c \
+ RaiseWin.c \
+ RdBitF.c \
+ RecolorC.c \
+ ReconfWin.c \
+ ReconfWM.c \
+ Region.c \
+ RegstFlt.c \
+ RepWindow.c \
+ RestackWs.c \
+ RotProp.c \
+ ScrResStr.c \
+ SelInput.c \
+ SendEvent.c \
+ SetBack.c \
+ SetClMask.c \
+ SetClOrig.c \
+ SetCRects.c \
+ SetDashes.c \
+ SetFont.c \
+ SetFore.c \
+ SetFPath.c \
+ SetFunc.c \
+ SetHints.c \
+ SetIFocus.c \
+ SetLocale.c \
+ SetLStyle.c \
+ SetNrmHint.c \
+ SetPMask.c \
+ SetPntMap.c \
+ SetRGBCMap.c \
+ SetSOwner.c \
+ SetSSaver.c \
+ SetState.c \
+ SetStCmap.c \
+ SetStip.c \
+ SetTile.c \
+ SetTSOrig.c \
+ SetTxtProp.c \
+ SetWMCMapW.c \
+ SetWMProto.c \
+ StBytes.c \
+ StColor.c \
+ StColors.c \
+ StName.c \
+ StNColor.c \
+ StrKeysym.c \
+ StrToText.c \
+ Sync.c \
+ Synchro.c \
+ Text16.c \
+ Text.c \
+ TextExt16.c \
+ TextExt.c \
+ TextToStr.c \
+ TrCoords.c \
+ UndefCurs.c \
+ UngrabBut.c \
+ UngrabKbd.c \
+ UngrabKey.c \
+ UngrabPtr.c \
+ UngrabSvr.c \
+ UninsCmap.c \
+ UnldFont.c \
+ UnmapSubs.c \
+ UnmapWin.c \
+ VisUtil.c \
+ WarpPtr.c \
+ Window.c \
+ WinEvent.c \
+ Withdraw.c \
+ WMGeom.c \
+ WMProps.c \
+ WrBitF.c \
+ xcb_disp.c \
+ xcb_io.c \
+ XlibAsync.c \
+ XlibInt.c \
+ Xrm.c \
+
+
+INCLUDES := . xcms xlibi18n xkb $(MHMAKECONF)\X11 $(OBJDIR) $(INCLUDES)
+
+KEYSYMDEF = $(MHMAKECONF)/X11/keysymdef.h
+
+load_makefile util\makefile MAKESERVER=$(MAKESERVER) DEBUG=$(DEBUG)
+
+$(OBJDIR)\ks_tables.h: $(KEYSYMDEF) util\$(OBJDIR)\makekeys.exe
+ util\$(OBJDIR)\makekeys $(relpath $<) > $(relpath $@)
+
+
diff --git a/libX11/src/util/makefile b/libX11/src/util/makefile
new file mode 100644
index 000000000..27da68335
--- /dev/null
+++ b/libX11/src/util/makefile
@@ -0,0 +1,6 @@
+TTYAPP=makekeys
+
+DEFINES += X11_t TRANS_CLIENT
+
+CSRCS = makekeys.c
+
diff --git a/libX11/src/util/makekeys.c b/libX11/src/util/makekeys.c
index 5613e42ff..f1fabaadf 100644
--- a/libX11/src/util/makekeys.c
+++ b/libX11/src/util/makekeys.c
@@ -34,6 +34,7 @@ from The Open Group.
#include <X11/keysymdef.h>
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
#include "../Xresinternal.h"
@@ -158,7 +159,7 @@ main(int argc, char *argv[])
num_found = 0;
for (z = ksnum; z < KTNUM; z++) {
max_rehash = 0;
- for (name = tab, i = z; --i >= 0;)
+ for (name = &tab[0], i = z; --i >= 0;)
*name++ = 0;
for (i = 0; i < ksnum; i++) {
name = info[i].name;
diff --git a/libX11/src/xcb_io.c b/libX11/src/xcb_io.c
index 300ef571f..fa43cfa15 100644
--- a/libX11/src/xcb_io.c
+++ b/libX11/src/xcb_io.c
@@ -22,6 +22,9 @@
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
+#include <sys/time.h>
+
+#include <X11/Xtrans/Xtrans.h>
#define xcb_fail_assert(_message, _var) { \
unsigned int _var = 1; \
diff --git a/libX11/src/xcms/config.h b/libX11/src/xcms/config.h
new file mode 100644
index 000000000..a01921855
--- /dev/null
+++ b/libX11/src/xcms/config.h
@@ -0,0 +1,2 @@
+#include <string.h>
+#include <unistd.h>
diff --git a/libX11/src/xcms/makefile b/libX11/src/xcms/makefile
new file mode 100644
index 000000000..00fab124a
--- /dev/null
+++ b/libX11/src/xcms/makefile
@@ -0,0 +1,71 @@
+LIBRARY = libxcms
+
+DEFINES += HAVE_CONFIG_H
+
+CSRCS = \
+ AddDIC.c \
+ AddSF.c \
+ CCC.c \
+ CvColW.c \
+ CvCols.c \
+ HVC.c \
+ HVCGcC.c \
+ HVCGcV.c \
+ HVCGcVC.c \
+ HVCMnV.c \
+ HVCMxC.c \
+ HVCMxV.c \
+ HVCMxVC.c \
+ HVCMxVs.c \
+ HVCWpAj.c \
+ IdOfPr.c \
+ LRGB.c \
+ Lab.c \
+ LabGcC.c \
+ LabGcL.c \
+ LabGcLC.c \
+ LabMnL.c \
+ LabMxC.c \
+ LabMxL.c \
+ LabMxLC.c \
+ LabWpAj.c \
+ Luv.c \
+ LuvGcC.c \
+ LuvGcL.c \
+ LuvGcLC.c \
+ LuvMnL.c \
+ LuvMxC.c \
+ LuvMxL.c \
+ LuvMxLC.c \
+ LuvWpAj.c \
+ OfCCC.c \
+ PrOfId.c \
+ QBlack.c \
+ QBlue.c \
+ QGreen.c \
+ QRed.c \
+ QWhite.c \
+ QuCol.c \
+ QuCols.c \
+ SetCCC.c \
+ SetGetCols.c \
+ StCol.c \
+ StCols.c \
+ UNDEFINED.c \
+ XRGB.c \
+ XYZ.c \
+ cmsAllCol.c \
+ cmsAllNCol.c \
+ cmsCmap.c \
+ cmsColNm.c \
+ cmsGlobls.c \
+ cmsInt.c \
+ cmsLkCol.c \
+ cmsMath.c \
+ cmsProp.c \
+ cmsTrig.c \
+ uvY.c \
+ xyY.c
+
+INCLUDES += ..\..\include\X11 ..\..\src\xlibi18n ..\..\src
+
diff --git a/libX11/src/xkb/Makefile b/libX11/src/xkb/Makefile
new file mode 100644
index 000000000..0f6b7e859
--- /dev/null
+++ b/libX11/src/xkb/Makefile
@@ -0,0 +1,27 @@
+LIBRARY = libxkb
+
+CSRCS = \
+ XKB.c \
+ XKBBind.c \
+ XKBCompat.c \
+ XKBCtrls.c \
+ XKBCvt.c \
+ XKBGetMap.c \
+ XKBGetByName.c \
+ XKBNames.c \
+ XKBRdBuf.c \
+ XKBSetMap.c \
+ XKBUse.c \
+ XKBleds.c \
+ XKBBell.c \
+ XKBGeom.c \
+ XKBSetGeom.c \
+ XKBExtDev.c \
+ XKBList.c \
+ XKBMisc.c \
+ XKBMAlloc.c \
+ XKBGAlloc.c \
+ XKBAlloc.c
+
+INCLUDES += ..\..\include\X11 ..\..\src\xlibi18n
+
diff --git a/libX11/src/xkb/XKB.c b/libX11/src/xkb/XKB.c
index f926cb997..374e27d2d 100644
--- a/libX11/src/xkb/XKB.c
+++ b/libX11/src/xkb/XKB.c
@@ -28,6 +28,11 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <config.h>
#endif
#include <stdio.h>
+
+#ifdef XKB_IN_SERVER
+#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
+#endif
+
#include "Xlibint.h"
#include <X11/extensions/XKBproto.h>
#include "XKBlibint.h"
diff --git a/libX11/src/xkb/XKBBind.c b/libX11/src/xkb/XKBBind.c
index 2e4b1fe68..4904b461f 100644
--- a/libX11/src/xkb/XKBBind.c
+++ b/libX11/src/xkb/XKBBind.c
@@ -31,6 +31,34 @@ from The Open Group.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
+#ifdef XKB_IN_SERVER
+#define XkbAllocClientMap SrvXkbAllocClientMap
+#define XkbAllocServerMap SrvXkbAllocServerMap
+#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
+#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
+#define XkbFreeClientMap SrvXkbFreeClientMap
+#define XkbFreeServerMap SrvXkbFreeServerMap
+#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
+#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
+#define XkbResizeKeyActions SrvXkbResizeKeyActions
+#define XkbResizeKeySyms SrvXkbResizeKeySyms
+#define XkbResizeKeyType SrvXkbResizeKeyType
+#define XkbAllocCompatMap SrvXkbAllocCompatMap
+#define XkbAllocControls SrvXkbAllocControls
+#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
+#define XkbAllocKeyboard SrvXkbAllocKeyboard
+#define XkbAllocNames SrvXkbAllocNames
+#define XkbFreeCompatMap SrvXkbFreeCompatMap
+#define XkbFreeKeyboard SrvXkbFreeKeyboard
+#define XkbFreeNames SrvXkbFreeNames
+#define XkbLatchModifiers SrvXkbLatchModifiers
+#define XkbLatchGroup SrvXkbLatchGroup
+#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
+#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
+#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
+#endif
+
#include "XKBlib.h"
#include <X11/Xlibint.h>
#include <X11/Xutil.h>
diff --git a/libX11/src/xkb/XKBGAlloc.c b/libX11/src/xkb/XKBGAlloc.c
index 7679496e3..3f4f49670 100644
--- a/libX11/src/xkb/XKBGAlloc.c
+++ b/libX11/src/xkb/XKBGAlloc.c
@@ -30,9 +30,11 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <config.h>
#endif
+#include <stdio.h>
+#include <unistd.h>
+
#ifndef XKB_IN_SERVER
-#include <stdio.h>
#include "Xlibint.h"
#include "XKBlibint.h"
#include <X11/extensions/XKBgeom.h>
@@ -40,7 +42,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#else
-#include <stdio.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include "misc.h"
diff --git a/libX11/src/xkb/XKBGeom.c b/libX11/src/xkb/XKBGeom.c
index 7594a3de4..283bc6426 100644
--- a/libX11/src/xkb/XKBGeom.c
+++ b/libX11/src/xkb/XKBGeom.c
@@ -37,12 +37,8 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/extensions/XKBproto.h>
#include "XKBlibint.h"
-#ifndef MINSHORT
#define MINSHORT -32768
-#endif
-#ifndef MAXSHORT
#define MAXSHORT 32767
-#endif
/***====================================================================***/
diff --git a/libX11/src/xkb/XKBGetMap.c b/libX11/src/xkb/XKBGetMap.c
index eff088341..96370c6d3 100644
--- a/libX11/src/xkb/XKBGetMap.c
+++ b/libX11/src/xkb/XKBGetMap.c
@@ -28,6 +28,34 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
+#ifdef XKB_IN_SERVER
+#define XkbAllocClientMap SrvXkbAllocClientMap
+#define XkbAllocServerMap SrvXkbAllocServerMap
+#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
+#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
+#define XkbFreeClientMap SrvXkbFreeClientMap
+#define XkbFreeServerMap SrvXkbFreeServerMap
+#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
+#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
+#define XkbResizeKeyActions SrvXkbResizeKeyActions
+#define XkbResizeKeySyms SrvXkbResizeKeySyms
+#define XkbResizeKeyType SrvXkbResizeKeyType
+#define XkbAllocCompatMap SrvXkbAllocCompatMap
+#define XkbAllocControls SrvXkbAllocControls
+#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
+#define XkbAllocKeyboard SrvXkbAllocKeyboard
+#define XkbAllocNames SrvXkbAllocNames
+#define XkbFreeCompatMap SrvXkbFreeCompatMap
+#define XkbFreeKeyboard SrvXkbFreeKeyboard
+#define XkbFreeNames SrvXkbFreeNames
+#define XkbLatchModifiers SrvXkbLatchModifiers
+#define XkbLatchGroup SrvXkbLatchGroup
+#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
+#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
+#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
+#endif
+
#include "Xlibint.h"
#include <X11/extensions/XKBproto.h>
#include "XKBlibint.h"
diff --git a/libX11/src/xkb/XKBMisc.c b/libX11/src/xkb/XKBMisc.c
index 4aa1f733a..ac1e8c062 100644
--- a/libX11/src/xkb/XKBMisc.c
+++ b/libX11/src/xkb/XKBMisc.c
@@ -42,6 +42,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <stdio.h>
#include <X11/X.h>
+#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
#include <X11/Xproto.h>
#include "misc.h"
#include "inputstr.h"
diff --git a/libX11/src/xkb/XKBSetGeom.c b/libX11/src/xkb/XKBSetGeom.c
index 439b75e01..5b9f5887c 100644
--- a/libX11/src/xkb/XKBSetGeom.c
+++ b/libX11/src/xkb/XKBSetGeom.c
@@ -36,12 +36,8 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/extensions/XKBgeom.h>
#include <X11/extensions/XKBproto.h>
-#ifndef MINSHORT
#define MINSHORT -32768
-#endif
-#ifndef MAXSHORT
#define MAXSHORT 32767
-#endif
/***====================================================================***/
diff --git a/libX11/src/xkb/XKBUse.c b/libX11/src/xkb/XKBUse.c
index efca018f6..a16d6963a 100644
--- a/libX11/src/xkb/XKBUse.c
+++ b/libX11/src/xkb/XKBUse.c
@@ -29,6 +29,34 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#endif
#include <stdio.h>
#include <ctype.h>
+
+#ifdef XKB_IN_SERVER
+#define XkbAllocClientMap SrvXkbAllocClientMap
+#define XkbAllocServerMap SrvXkbAllocServerMap
+#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
+#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
+#define XkbFreeClientMap SrvXkbFreeClientMap
+#define XkbFreeServerMap SrvXkbFreeServerMap
+#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
+#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
+#define XkbResizeKeyActions SrvXkbResizeKeyActions
+#define XkbResizeKeySyms SrvXkbResizeKeySyms
+#define XkbResizeKeyType SrvXkbResizeKeyType
+#define XkbAllocCompatMap SrvXkbAllocCompatMap
+#define XkbAllocControls SrvXkbAllocControls
+#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
+#define XkbAllocKeyboard SrvXkbAllocKeyboard
+#define XkbAllocNames SrvXkbAllocNames
+#define XkbFreeCompatMap SrvXkbFreeCompatMap
+#define XkbFreeKeyboard SrvXkbFreeKeyboard
+#define XkbFreeNames SrvXkbFreeNames
+#define XkbLatchModifiers SrvXkbLatchModifiers
+#define XkbLatchGroup SrvXkbLatchGroup
+#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
+#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
+#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
+#endif
+
#include "Xlibint.h"
#include <X11/extensions/XKBproto.h>
#include "XKBlibint.h"
diff --git a/libX11/src/xlibi18n/XDefaultIMIF.c b/libX11/src/xlibi18n/XDefaultIMIF.c
index e97d2f444..36a457ea5 100644
--- a/libX11/src/xlibi18n/XDefaultIMIF.c
+++ b/libX11/src/xlibi18n/XDefaultIMIF.c
@@ -64,6 +64,7 @@ Sun Microsystems, Inc. or its licensors is granted.
#include <config.h>
#endif
#include <stdio.h>
+#include <unistd.h>
#include "Xlibint.h"
#include "Xlcint.h"
#include "XlcGeneric.h"
diff --git a/libX11/src/xlibi18n/XDefaultOMIF.c b/libX11/src/xlibi18n/XDefaultOMIF.c
index b1dc66df6..953475d37 100644
--- a/libX11/src/xlibi18n/XDefaultOMIF.c
+++ b/libX11/src/xlibi18n/XDefaultOMIF.c
@@ -69,6 +69,8 @@ Sun Microsystems, Inc. or its licensors is granted.
#include <X11/Xos.h>
#include <X11/Xatom.h>
#include <stdio.h>
+#include <unistd.h>
+#include <stdint.h>
#define MAXFONTS 100
diff --git a/libX11/src/xlibi18n/XimProto.h b/libX11/src/xlibi18n/XimProto.h
index 6b0096dd6..9551301a2 100644
--- a/libX11/src/xlibi18n/XimProto.h
+++ b/libX11/src/xlibi18n/XimProto.h
@@ -143,6 +143,13 @@ PERFORMANCE OF THIS SOFTWARE.
/*
* byte order
*/
+#ifdef BIGENDIAN
+#undef BIGENDIAN
+#endif
+#ifdef LITTLEENDIAN
+#undef LITTLEENDIAN
+#endif
+
#define BIGENDIAN (CARD8)0x42 /* MSB first */
#define LITTLEENDIAN (CARD8)0x6c /* LSB first */
diff --git a/libX11/src/xlibi18n/lcDB.c b/libX11/src/xlibi18n/lcDB.c
index 97b22ac44..7f13cc3e2 100644
--- a/libX11/src/xlibi18n/lcDB.c
+++ b/libX11/src/xlibi18n/lcDB.c
@@ -48,6 +48,8 @@
#endif /* NOT_X_ENV */
+#include <stdint.h>
+
/* specifying NOT_X_ENV allows users to just use
the database parsing routine. */
/* For UDC/VW */
@@ -63,6 +65,7 @@
#endif
#include <stdio.h>
+#include <unistd.h>
typedef struct _DatabaseRec {
char *category;
diff --git a/libX11/src/xlibi18n/lcDynamic.c b/libX11/src/xlibi18n/lcDynamic.c
index f6df94cbb..8d022d885 100644
--- a/libX11/src/xlibi18n/lcDynamic.c
+++ b/libX11/src/xlibi18n/lcDynamic.c
@@ -51,7 +51,7 @@ from The Open Group.
#include "Xlcint.h"
#ifndef XLOCALEDIR
-#define XLOCALEDIR "/usr/lib/X11/locale"
+#define XLOCALEDIR "locale"
#endif
#define LCLIBNAME "xi18n.so"
diff --git a/libX11/src/xlibi18n/lcFile.c b/libX11/src/xlibi18n/lcFile.c
index 2c06fa2d7..576a61124 100644
--- a/libX11/src/xlibi18n/lcFile.c
+++ b/libX11/src/xlibi18n/lcFile.c
@@ -214,7 +214,7 @@ _XlcParsePath(
}
#ifndef XLOCALEDIR
-#define XLOCALEDIR "/usr/lib/X11/locale"
+#define XLOCALEDIR "locale"
#endif
void
diff --git a/libX11/src/xlibi18n/lcGeneric.c b/libX11/src/xlibi18n/lcGeneric.c
index 619cb47f9..bf85bfdbc 100644
--- a/libX11/src/xlibi18n/lcGeneric.c
+++ b/libX11/src/xlibi18n/lcGeneric.c
@@ -32,6 +32,7 @@
#include <config.h>
#endif
#include <stdio.h>
+#include <unistd.h>
#include "Xlibint.h"
#include "XlcGeneric.h"
diff --git a/libX11/src/xlibi18n/lcPublic.c b/libX11/src/xlibi18n/lcPublic.c
index 1b1fb548a..12a344272 100644
--- a/libX11/src/xlibi18n/lcPublic.c
+++ b/libX11/src/xlibi18n/lcPublic.c
@@ -27,6 +27,7 @@
#include <config.h>
#endif
#include <stdio.h>
+#include <unistd.h>
#include "Xlibint.h"
#include "XlcPubI.h"
diff --git a/libX11/src/xlibi18n/makefile b/libX11/src/xlibi18n/makefile
new file mode 100644
index 000000000..5be81d350
--- /dev/null
+++ b/libX11/src/xlibi18n/makefile
@@ -0,0 +1,80 @@
+#AM_CFLAGS= \
+# -I$(top_srcdir)/include \
+# -I$(top_srcdir)/include/X11 \
+# -I$(top_builddir)/include \
+# -I$(top_builddir)/include/X11 \
+# -I$(top_srcdir)/src/xcms \
+# -I$(top_srcdir)/src/xkb \
+# -I$(top_srcdir)/src/xlibi18n \
+# -I$(top_srcdir)/src \
+# $(X11_CFLAGS) \
+# $(BIGFONT_CFLAGS) \
+# $(XDMCP_CFLAGS) \
+# -D_BSD_SOURCE \
+# $(XMALLOC_ZERO_CFLAGS)
+
+LIBRARY = libi18n
+
+
+#
+# Dynamic loading code for i18n modules
+#
+#if XLIB_LOADABLE_I18N
+#XI18N_DL_SOURCES = \
+# XlcDL.c \
+# XlcSL.c
+#else
+#
+# Static interfaces to input/output methods
+#
+#IM_LIBS = \
+# ${top_builddir}/modules/im/ximcp/libximcp.la
+
+#LC_LIBS = \
+# ${top_builddir}/modules/lc/def/libxlcDef.la \
+# ${top_builddir}/modules/lc/gen/libxlibi18n.la \
+# ${top_builddir}/modules/lc/Utf8/libxlcUTF8Load.la \
+# ${top_builddir}/modules/lc/xlocale/libxlocale.la
+
+#OM_LIBS = \
+# ${top_builddir}/modules/om/generic/libxomGeneric.la
+#endif
+
+#libi18n_la_LIBADD = \
+# $(IM_LIBS) $(LC_LIBS) $(OM_LIBS)
+
+INCLUDES += ..\..\include\X11
+DEFINES += XLOCALELIBDIR="\".\""
+
+CSRCS = \
+ $(XI18N_DL_SOURCES) \
+ XDefaultIMIF.c \
+ XDefaultOMIF.c \
+ xim_trans.c\
+ ICWrap.c\
+ IMWrap.c\
+ imKStoUCS.c\
+ lcCT.c\
+ lcCharSet.c\
+ lcConv.c\
+ lcDB.c\
+ lcDynamic.c\
+ lcFile.c\
+ lcGeneric.c\
+ lcInit.c\
+ lcPrTxt.c\
+ lcPubWrap.c\
+ lcPublic.c\
+ lcRM.c\
+ lcStd.c\
+ lcTxtPr.c\
+ lcUTF8.c\
+ lcUtil.c\
+ lcWrap.c\
+ mbWMProps.c\
+ mbWrap.c\
+ utf8WMProps.c\
+ utf8Wrap.c\
+ wcWrap.c
+
+